diff --git a/po/documentation.fr.po b/po/documentation.fr.po index aa102cd19a9ae81a1a840acb6a77ea7b4b19f09e..2446dddf9cbadd499b931b358604e6771a77b246 100644 --- a/po/documentation.fr.po +++ b/po/documentation.fr.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: git documentation\n" -"POT-Creation-Date: 2018-12-22 17:08+0100\n" -"PO-Revision-Date: 2018-12-22 17:16+0100\n" +"POT-Creation-Date: 2019-01-03 17:18+0100\n" +"PO-Revision-Date: 2019-01-03 18:48+0100\n" "Last-Translator: Jean-No챘l Avila <jn.avila@free.fr>\n" "Language-Team: Jean-No챘l Avila <jn.avila@free.fr>\n" "Language: fr\n" @@ -15,73635 +15,73030 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2\n" -#. type: Title = -#: en/git.txt:2 -#, no-wrap -msgid "git(1)" -msgstr "git(1)" - -#. type: Title - -#: en/git.txt:5 en/git-add.txt:5 en/git-am.txt:5 en/git-annotate.txt:5 -#: en/git-apply.txt:5 en/git-archimport.txt:5 en/git-archive.txt:5 -#: en/git-bisect.txt:5 en/git-blame.txt:5 en/git-branch.txt:5 -#: en/git-bundle.txt:5 en/git-cat-file.txt:5 en/git-check-attr.txt:5 -#: en/git-check-ignore.txt:5 en/git-check-mailmap.txt:5 -#: en/git-checkout-index.txt:5 en/git-checkout.txt:5 -#: en/git-check-ref-format.txt:5 en/git-cherry-pick.txt:5 en/git-cherry.txt:5 -#: en/git-citool.txt:5 en/git-clean.txt:5 en/git-clone.txt:5 -#: en/git-column.txt:5 en/git-commit.txt:5 en/git-commit-tree.txt:5 -#: en/git-config.txt:5 en/git-count-objects.txt:5 -#: en/git-credential-cache--daemon.txt:5 en/git-credential-cache.txt:5 -#: en/git-credential-store.txt:5 en/git-credential.txt:5 -#: en/git-cvsexportcommit.txt:5 en/git-cvsimport.txt:5 en/git-cvsserver.txt:5 -#: en/git-daemon.txt:5 en/git-describe.txt:5 en/git-diff-files.txt:5 -#: en/git-diff-index.txt:5 en/git-difftool.txt:5 en/git-diff-tree.txt:5 -#: en/git-diff.txt:5 en/git-fast-export.txt:5 en/git-fast-import.txt:5 -#: en/git-fetch-pack.txt:5 en/git-fetch.txt:5 en/git-filter-branch.txt:5 -#: en/git-fmt-merge-msg.txt:5 en/git-for-each-ref.txt:5 -#: en/git-format-patch.txt:5 en/git-fsck-objects.txt:5 en/git-fsck.txt:5 -#: en/git-gc.txt:5 en/git-get-tar-commit-id.txt:5 en/git-grep.txt:5 -#: en/git-gui.txt:5 en/git-hash-object.txt:5 en/git-help.txt:5 -#: en/git-http-backend.txt:5 en/git-http-fetch.txt:5 en/git-http-push.txt:5 -#: en/git-imap-send.txt:5 en/git-index-pack.txt:5 en/git-init-db.txt:5 -#: en/git-init.txt:5 en/git-instaweb.txt:5 en/git-interpret-trailers.txt:5 -#: en/git-log.txt:5 en/git-ls-files.txt:5 en/git-ls-remote.txt:5 -#: en/git-ls-tree.txt:5 en/git-mailinfo.txt:5 en/git-mailsplit.txt:5 -#: en/git-merge-base.txt:5 en/git-merge-file.txt:5 en/git-merge-index.txt:5 -#: en/git-merge-one-file.txt:5 en/git-mergetool--lib.txt:5 -#: en/git-mergetool.txt:5 en/git-merge-tree.txt:5 en/git-merge.txt:5 -#: en/git-mktag.txt:5 en/git-mktree.txt:5 en/git-mv.txt:5 en/git-name-rev.txt:5 -#: en/git-notes.txt:5 en/git-p4.txt:5 en/git-pack-objects.txt:5 -#: en/git-pack-redundant.txt:5 en/git-pack-refs.txt:5 en/git-parse-remote.txt:5 -#: en/git-patch-id.txt:5 en/git-prune-packed.txt:5 en/git-prune.txt:5 -#: en/git-pull.txt:5 en/git-push.txt:5 en/git-quiltimport.txt:5 -#: en/git-read-tree.txt:5 en/git-rebase.txt:5 en/git-receive-pack.txt:5 -#: en/git-reflog.txt:5 en/git-remote-ext.txt:5 en/git-remote-fd.txt:5 -#: en/git-remote-testgit.txt:5 en/git-remote.txt:5 en/git-repack.txt:5 -#: en/git-replace.txt:5 en/git-request-pull.txt:5 en/git-rerere.txt:5 -#: en/git-reset.txt:5 en/git-revert.txt:5 en/git-rev-list.txt:5 -#: en/git-rev-parse.txt:5 en/git-rm.txt:5 en/git-send-email.txt:5 -#: en/git-send-pack.txt:5 en/git-shell.txt:5 en/git-sh-i18n--envsubst.txt:5 -#: en/git-sh-i18n.txt:5 en/git-shortlog.txt:5 en/git-show-branch.txt:5 -#: en/git-show-index.txt:5 en/git-show-ref.txt:5 en/git-show.txt:5 -#: en/git-sh-setup.txt:5 en/git-stage.txt:5 en/git-stash.txt:5 -#: en/git-status.txt:5 en/git-stripspace.txt:5 en/git-submodule.txt:5 -#: en/git-svn.txt:5 en/git-symbolic-ref.txt:5 en/git-tag.txt:5 -#: en/git-unpack-file.txt:5 en/git-unpack-objects.txt:5 -#: en/git-update-index.txt:5 en/git-update-ref.txt:5 -#: en/git-update-server-info.txt:5 en/git-upload-archive.txt:5 -#: en/git-upload-pack.txt:5 en/git-var.txt:5 en/git-verify-commit.txt:5 -#: en/git-verify-pack.txt:5 en/git-verify-tag.txt:5 en/git-web--browse.txt:5 -#: en/git-whatchanged.txt:5 en/git-worktree.txt:5 en/git-write-tree.txt:5 +#. type: Labeled list +#: en/blame-options.txt:1 en/diff-options.txt:525 en/git-instaweb.txt:44 +#: en/git-mailinfo.txt:47 en/git-mailsplit.txt:35 en/git-repack.txt:116 +#: en/git-status.txt:31 en/git-submodule.txt:279 #, no-wrap -msgid "NAME" -msgstr "NAME" +msgid "-b" +msgstr "" #. type: Plain text -#: en/git.txt:7 -msgid "git - the stupid content tracker" +#: en/blame-options.txt:4 +msgid "" +"Show blank SHA-1 for boundary commits. This can also be controlled via the " +"`blame.blankboundary` config option." msgstr "" -#. type: Title - -#: en/git.txt:10 en/git-add.txt:9 en/git-am.txt:10 en/git-annotate.txt:9 -#: en/git-apply.txt:10 en/git-archimport.txt:10 en/git-archive.txt:10 -#: en/git-bisect.txt:10 en/git-blame.txt:9 en/git-branch.txt:9 -#: en/git-bundle.txt:10 en/git-cat-file.txt:10 en/git-check-attr.txt:10 -#: en/git-check-ignore.txt:10 en/git-check-mailmap.txt:10 -#: en/git-checkout-index.txt:10 en/git-checkout.txt:9 -#: en/git-check-ref-format.txt:9 en/git-cherry-pick.txt:9 en/git-cherry.txt:9 -#: en/git-citool.txt:9 en/git-clean.txt:9 en/git-clone.txt:10 -#: en/git-column.txt:9 en/git-commit.txt:9 en/git-commit-tree.txt:10 -#: en/git-config.txt:10 en/git-count-objects.txt:9 -#: en/git-credential-cache--daemon.txt:9 en/git-credential-cache.txt:9 -#: en/git-credential-store.txt:9 en/git-credential.txt:9 -#: en/git-cvsexportcommit.txt:10 en/git-cvsimport.txt:10 en/git-cvsserver.txt:9 -#: en/git-daemon.txt:9 en/git-describe.txt:10 en/git-diff-files.txt:10 -#: en/git-diff-index.txt:10 en/git-difftool.txt:9 en/git-diff-tree.txt:10 -#: en/git-diff.txt:10 en/git-fast-export.txt:10 en/git-fast-import.txt:10 -#: en/git-fetch-pack.txt:10 en/git-fetch.txt:10 en/git-filter-branch.txt:9 -#: en/git-fmt-merge-msg.txt:10 en/git-for-each-ref.txt:9 -#: en/git-format-patch.txt:10 en/git-fsck-objects.txt:10 en/git-fsck.txt:10 -#: en/git-gc.txt:10 en/git-get-tar-commit-id.txt:10 en/git-grep.txt:10 -#: en/git-gui.txt:9 en/git-hash-object.txt:10 en/git-help.txt:9 -#: en/git-http-backend.txt:9 en/git-http-fetch.txt:10 en/git-http-push.txt:10 -#: en/git-imap-send.txt:10 en/git-index-pack.txt:10 en/git-init-db.txt:10 -#: en/git-init.txt:10 en/git-instaweb.txt:9 en/git-interpret-trailers.txt:9 -#: en/git-log.txt:10 en/git-ls-files.txt:10 en/git-ls-remote.txt:10 -#: en/git-ls-tree.txt:10 en/git-mailinfo.txt:10 en/git-mailsplit.txt:9 -#: en/git-merge-base.txt:10 en/git-merge-file.txt:10 en/git-merge-index.txt:10 -#: en/git-merge-one-file.txt:10 en/git-mergetool--lib.txt:9 -#: en/git-mergetool.txt:9 en/git-merge-tree.txt:10 en/git-merge.txt:10 -#: en/git-mktag.txt:10 en/git-mktree.txt:10 en/git-mv.txt:10 -#: en/git-name-rev.txt:10 en/git-notes.txt:9 en/git-p4.txt:10 -#: en/git-pack-objects.txt:10 en/git-pack-redundant.txt:10 -#: en/git-pack-refs.txt:9 en/git-parse-remote.txt:10 en/git-patch-id.txt:9 -#: en/git-prune-packed.txt:10 en/git-prune.txt:10 en/git-pull.txt:10 -#: en/git-push.txt:10 en/git-quiltimport.txt:10 en/git-read-tree.txt:10 -#: en/git-rebase.txt:9 en/git-receive-pack.txt:10 en/git-reflog.txt:10 -#: en/git-remote-ext.txt:9 en/git-remote-fd.txt:9 en/git-remote-testgit.txt:10 -#: en/git-remote.txt:10 en/git-repack.txt:10 en/git-replace.txt:9 -#: en/git-request-pull.txt:9 en/git-rerere.txt:9 en/git-reset.txt:9 -#: en/git-revert.txt:9 en/git-rev-list.txt:10 en/git-rev-parse.txt:10 -#: en/git-rm.txt:9 en/git-send-email.txt:10 en/git-send-pack.txt:10 -#: en/git-shell.txt:10 en/git-sh-i18n--envsubst.txt:9 en/git-sh-i18n.txt:9 -#: en/git-shortlog.txt:9 en/git-show-branch.txt:9 en/git-show-index.txt:10 -#: en/git-show-ref.txt:9 en/git-show.txt:10 en/git-sh-setup.txt:9 -#: en/git-stage.txt:10 en/git-stash.txt:9 en/git-status.txt:10 -#: en/git-stripspace.txt:10 en/git-submodule.txt:10 en/git-svn.txt:9 -#: en/git-symbolic-ref.txt:9 en/git-tag.txt:10 en/git-unpack-file.txt:11 -#: en/git-unpack-objects.txt:10 en/git-update-index.txt:10 -#: en/git-update-ref.txt:9 en/git-update-server-info.txt:10 -#: en/git-upload-archive.txt:10 en/git-upload-pack.txt:10 en/git-var.txt:10 -#: en/git-verify-commit.txt:9 en/git-verify-pack.txt:10 en/git-verify-tag.txt:9 -#: en/git-web--browse.txt:9 en/git-whatchanged.txt:10 en/git-worktree.txt:10 -#: en/git-write-tree.txt:10 +#. type: Labeled list +#: en/blame-options.txt:5 en/git-diff-tree.txt:45 en/git-format-patch.txt:279 +#: en/git-fsck.txt:38 en/git-rebase.txt:415 #, no-wrap -msgid "SYNOPSIS" -msgstr "SYNOPSIS" +msgid "--root" +msgstr "" #. type: Plain text -#: en/git.txt:18 -#, no-wrap +#: en/blame-options.txt:8 msgid "" -"'git' [--version] [--help] [-C <path>] [-c <name>=<value>]\n" -" [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n" -" [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]\n" -" [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n" -" [--super-prefix=<path>]\n" -" <command> [<args>]\n" +"Do not treat root commits as boundaries. This can also be controlled via " +"the `blame.showRoot` config option." msgstr "" -#. type: Title - -#: en/git.txt:20 en/git-add.txt:17 en/git-am.txt:22 en/git-annotate.txt:14 -#: en/git-apply.txt:22 en/git-archimport.txt:16 en/git-archive.txt:18 -#: en/git-bisect.txt:15 en/git-blame.txt:17 en/git-branch.txt:24 -#: en/git-bundle.txt:18 en/git-cat-file.txt:16 en/git-check-attr.txt:16 -#: en/git-check-ignore.txt:16 en/git-check-mailmap.txt:16 -#: en/git-checkout-index.txt:19 en/git-checkout.txt:19 -#: en/git-check-ref-format.txt:17 en/git-cherry-pick.txt:18 -#: en/git-cherry.txt:14 en/git-citool.txt:14 en/git-clean.txt:14 -#: en/git-clone.txt:21 en/git-column.txt:15 en/git-commit.txt:19 -#: en/git-commit-tree.txt:18 en/git-config.txt:29 en/git-count-objects.txt:14 -#: en/git-credential-cache--daemon.txt:14 en/git-credential-cache.txt:15 -#: en/git-credential-store.txt:15 en/git-credential.txt:15 -#: en/git-cvsexportcommit.txt:17 en/git-cvsimport.txt:20 -#: en/git-cvsserver.txt:61 en/git-daemon.txt:26 en/git-describe.txt:16 -#: en/git-diff-files.txt:15 en/git-diff-index.txt:15 en/git-difftool.txt:14 -#: en/git-diff-tree.txt:17 en/git-diff.txt:19 en/git-fast-export.txt:15 -#: en/git-fast-import.txt:15 en/git-fetch-pack.txt:18 en/git-fetch.txt:19 -#: en/git-filter-branch.txt:20 en/git-fmt-merge-msg.txt:16 -#: en/git-for-each-ref.txt:17 en/git-format-patch.txt:30 -#: en/git-fsck-objects.txt:15 en/git-fsck.txt:18 en/git-gc.txt:15 -#: en/git-get-tar-commit-id.txt:16 en/git-grep.txt:34 en/git-gui.txt:14 -#: en/git-hash-object.txt:16 en/git-help.txt:15 en/git-http-backend.txt:14 -#: en/git-http-fetch.txt:15 en/git-http-push.txt:15 en/git-imap-send.txt:16 -#: en/git-index-pack.txt:18 en/git-init-db.txt:16 en/git-init.txt:18 -#: en/git-instaweb.txt:16 en/git-interpret-trailers.txt:14 en/git-log.txt:15 -#: en/git-ls-files.txt:25 en/git-ls-remote.txt:17 en/git-ls-tree.txt:17 -#: en/git-mailinfo.txt:16 en/git-mailsplit.txt:15 en/git-merge-base.txt:19 -#: en/git-merge-file.txt:18 en/git-merge-index.txt:15 -#: en/git-merge-one-file.txt:15 en/git-mergetool--lib.txt:14 -#: en/git-mergetool.txt:14 en/git-merge-tree.txt:15 en/git-merge.txt:21 -#: en/git-mktag.txt:15 en/git-mktree.txt:15 en/git-mv.txt:15 -#: en/git-name-rev.txt:16 en/git-notes.txt:26 en/git-p4.txt:19 -#: en/git-pack-objects.txt:20 en/git-pack-redundant.txt:15 -#: en/git-pack-refs.txt:14 en/git-parse-remote.txt:15 en/git-patch-id.txt:14 -#: en/git-prune-packed.txt:16 en/git-prune.txt:15 en/git-pull.txt:16 -#: en/git-push.txt:20 en/git-quiltimport.txt:17 en/git-read-tree.txt:19 -#: en/git-rebase.txt:18 en/git-receive-pack.txt:15 en/git-reflog.txt:15 -#: en/git-remote-ext.txt:14 en/git-remote-fd.txt:13 -#: en/git-remote-testgit.txt:15 en/git-remote.txt:27 en/git-repack.txt:15 -#: en/git-replace.txt:18 en/git-request-pull.txt:14 en/git-rerere.txt:14 -#: en/git-reset.txt:16 en/git-revert.txt:17 en/git-rev-list.txt:64 -#: en/git-rev-parse.txt:15 en/git-rm.txt:14 en/git-send-email.txt:17 -#: en/git-send-pack.txt:18 en/git-shell.txt:17 en/git-sh-i18n--envsubst.txt:19 -#: en/git-sh-i18n.txt:14 en/git-shortlog.txt:15 en/git-show-branch.txt:19 -#: en/git-show-index.txt:16 en/git-show-ref.txt:17 en/git-show.txt:15 -#: en/git-sh-setup.txt:14 en/git-stage.txt:16 en/git-stash.txt:26 -#: en/git-status.txt:15 en/git-stripspace.txt:16 en/git-submodule.txt:24 -#: en/git-svn.txt:14 en/git-symbolic-ref.txt:16 en/git-tag.txt:21 -#: en/git-unpack-file.txt:16 en/git-unpack-objects.txt:16 -#: en/git-update-index.txt:29 en/git-update-ref.txt:14 -#: en/git-update-server-info.txt:15 en/git-upload-archive.txt:15 -#: en/git-var.txt:15 en/git-verify-commit.txt:14 en/git-verify-pack.txt:16 -#: en/git-verify-tag.txt:14 en/git-web--browse.txt:14 en/git-whatchanged.txt:15 -#: en/git-worktree.txt:19 en/git-write-tree.txt:15 +#. type: Labeled list +#: en/blame-options.txt:9 #, no-wrap -msgid "DESCRIPTION" -msgstr "DESCRIPTION" +msgid "--show-stats" +msgstr "" #. type: Plain text -#: en/git.txt:24 -msgid "" -"Git is a fast, scalable, distributed revision control system with an " -"unusually rich command set that provides both high-level operations and full " -"access to internals." +#: en/blame-options.txt:11 +msgid "Include additional statistics at the end of blame output." msgstr "" -#. type: Plain text -#: en/git.txt:29 -msgid "" -"See linkgit:gittutorial[7] to get started, then see linkgit:giteveryday[7] " -"for a useful minimum set of commands. The link:user-manual.html[Git User's " -"Manual] has a more in-depth introduction." +#. type: Labeled list +#: en/blame-options.txt:12 +#, no-wrap +msgid "-L <start>,<end>" msgstr "" -#. type: Plain text -#: en/git.txt:34 -msgid "" -"After you mastered the basic concepts, you can come back to this page to " -"learn what commands Git offers. You can learn more about individual Git " -"commands with \"git help command\". linkgit:gitcli[7] manual page gives you " -"an overview of the command-line command syntax." +#. type: Labeled list +#: en/blame-options.txt:13 +#, no-wrap +msgid "-L :<funcname>" msgstr "" #. type: Plain text -#: en/git.txt:37 +#: en/blame-options.txt:16 msgid "" -"A formatted and hyperlinked copy of the latest Git documentation can be " -"viewed at `https://git.github.io/htmldocs/git.html`." +"Annotate only the given line range. May be specified multiple times. " +"Overlapping ranges are allowed." msgstr "" -#. type: delimited block = -#: en/git.txt:46 +#. type: Plain text +#: en/blame-options.txt:19 msgid "" -"You are reading the documentation for the latest (possibly unreleased) " -"version of Git, that is available from the 'master' branch of the `git.git` " -"repository. Documentation for older releases are available here:" +"<start> and <end> are optional. ``-L <start>'' or ``-L <start>,'' spans from " +"<start> to end of file. ``-L ,<end>'' spans from start of file to <end>." msgstr "" -#. type: delimited block = -#: en/git.txt:48 -msgid "link:v2.12.1/git.html[documentation for release 2.12.1]" +#. type: Labeled list +#: en/blame-options.txt:22 en/git-archive.txt:43 en/git-branch.txt:87 +#: en/git-checkout.txt:174 en/git-clone.txt:44 en/git-config.txt:159 +#: en/git-grep.txt:176 en/git-instaweb.txt:23 en/git-ls-tree.txt:51 +#: en/git-repack.txt:61 en/git-svn.txt:228 en/git-var.txt:20 +#, no-wrap +msgid "-l" msgstr "" -#. type: delimited block = -#: en/git.txt:52 -msgid "" -"release notes for link:RelNotes/2.12.1.txt[2.12.1]. link:RelNotes/2.12.0." -"txt[2.12]." +#. type: Plain text +#: en/blame-options.txt:24 +msgid "Show long rev (Default: off)." msgstr "" -#. type: delimited block = -#: en/git.txt:54 -msgid "link:v2.11.1/git.html[documentation for release 2.11.1]" +#. type: Labeled list +#: en/blame-options.txt:25 en/fetch-options.txt:98 en/git-branch.txt:170 +#: en/git-cat-file.txt:36 en/git-checkout.txt:155 en/git-diff-tree.txt:42 +#: en/git-http-fetch.txt:29 en/git-ls-files.txt:112 en/git-ls-remote.txt:26 +#: en/git-ls-tree.txt:47 en/git-svn.txt:296 en/rev-list-options.txt:890 +#, no-wrap +msgid "-t" msgstr "" -#. type: delimited block = -#: en/git.txt:58 -msgid "" -"release notes for link:RelNotes/2.11.1.txt[2.11.1], link:RelNotes/2.11.0." -"txt[2.11]." +#. type: Plain text +#: en/blame-options.txt:27 +msgid "Show raw timestamp (Default: off)." msgstr "" -#. type: delimited block = -#: en/git.txt:60 -msgid "link:v2.10.2/git.html[documentation for release 2.10.2]" +#. type: Labeled list +#: en/blame-options.txt:28 +#, no-wrap +msgid "-S <revs-file>" msgstr "" -#. type: delimited block = -#: en/git.txt:65 +#. type: Plain text +#: en/blame-options.txt:30 msgid "" -"release notes for link:RelNotes/2.10.2.txt[2.10.2], link:RelNotes/2.10.1." -"txt[2.10.1], link:RelNotes/2.10.0.txt[2.10]." +"Use revisions from revs-file instead of calling linkgit:git-rev-list[1]." msgstr "" -#. type: delimited block = -#: en/git.txt:67 -msgid "link:v2.9.3/git.html[documentation for release 2.9.3]" +#. type: Labeled list +#: en/blame-options.txt:31 +#, no-wrap +msgid "--reverse <rev>..<rev>" msgstr "" -#. type: delimited block = -#: en/git.txt:73 +#. type: Plain text +#: en/blame-options.txt:38 msgid "" -"release notes for link:RelNotes/2.9.3.txt[2.9.3], link:RelNotes/2.9.2." -"txt[2.9.2], link:RelNotes/2.9.1.txt[2.9.1], link:RelNotes/2.9.0.txt[2.9]." -msgstr "" - -#. type: delimited block = -#: en/git.txt:75 -msgid "link:v2.8.4/git.html[documentation for release 2.8.4]" +"Walk history forward instead of backward. Instead of showing the revision in " +"which a line appeared, this shows the last revision in which a line has " +"existed. This requires a range of revision like START..END where the path to " +"blame exists in START. `git blame --reverse START` is taken as `git blame --" +"reverse START..HEAD` for convenience." msgstr "" -#. type: delimited block = -#: en/git.txt:82 -msgid "" -"release notes for link:RelNotes/2.8.4.txt[2.8.4], link:RelNotes/2.8.3." -"txt[2.8.3], link:RelNotes/2.8.2.txt[2.8.2], link:RelNotes/2.8.1.txt[2.8.1], " -"link:RelNotes/2.8.0.txt[2.8]." +#. type: Labeled list +#: en/blame-options.txt:39 en/diff-options.txt:16 en/diff-options.txt:22 +#: en/fetch-options.txt:67 en/git-add.txt:85 en/git-cat-file.txt:48 +#: en/git-checkout.txt:242 en/git-commit.txt:66 en/git-cvsexportcommit.txt:41 +#: en/git-grep.txt:222 en/git-instaweb.txt:40 en/git-merge-file.txt:63 +#: en/git-rebase.txt:383 en/git-request-pull.txt:29 en/git-svn.txt:504 +#: en/git-svn.txt:641 en/git.txt:591 +#, no-wrap +msgid "-p" msgstr "" -#. type: delimited block = -#: en/git.txt:84 -msgid "link:v2.7.3/git.html[documentation for release 2.7.3]" +#. type: Labeled list +#: en/blame-options.txt:40 en/git-commit.txt:109 en/git-push.txt:121 +#: en/git-worktree.txt:115 +#, no-wrap +msgid "--porcelain" msgstr "" -#. type: delimited block = -#: en/git.txt:90 -msgid "" -"release notes for link:RelNotes/2.7.3.txt[2.7.3], link:RelNotes/2.7.2." -"txt[2.7.2], link:RelNotes/2.7.1.txt[2.7.1], link:RelNotes/2.7.0.txt[2.7]." +#. type: Plain text +#: en/blame-options.txt:42 +msgid "Show in a format designed for machine consumption." msgstr "" -#. type: delimited block = -#: en/git.txt:92 -msgid "link:v2.6.6/git.html[documentation for release 2.6.6]" +#. type: Labeled list +#: en/blame-options.txt:43 +#, no-wrap +msgid "--line-porcelain" msgstr "" -#. type: delimited block = -#: en/git.txt:101 +#. type: Plain text +#: en/blame-options.txt:47 msgid "" -"release notes for link:RelNotes/2.6.6.txt[2.6.6], link:RelNotes/2.6.5." -"txt[2.6.5], link:RelNotes/2.6.4.txt[2.6.4], link:RelNotes/2.6.3.txt[2.6.3], " -"link:RelNotes/2.6.2.txt[2.6.2], link:RelNotes/2.6.1.txt[2.6.1], link:" -"RelNotes/2.6.0.txt[2.6]." +"Show the porcelain format, but output commit information for each line, not " +"just the first time a commit is referenced. Implies --porcelain." msgstr "" -#. type: delimited block = -#: en/git.txt:103 -msgid "link:v2.5.5/git.html[documentation for release 2.5.5]" +#. type: Labeled list +#: en/blame-options.txt:48 en/git-pack-objects.txt:123 en/git-svn.txt:357 +#, no-wrap +msgid "--incremental" msgstr "" -#. type: delimited block = -#: en/git.txt:111 +#. type: Plain text +#: en/blame-options.txt:51 msgid "" -"release notes for link:RelNotes/2.5.5.txt[2.5.5], link:RelNotes/2.5.4." -"txt[2.5.4], link:RelNotes/2.5.3.txt[2.5.3], link:RelNotes/2.5.2.txt[2.5.2], " -"link:RelNotes/2.5.1.txt[2.5.1], link:RelNotes/2.5.0.txt[2.5]." +"Show the result incrementally in a format designed for machine consumption." msgstr "" -#. type: delimited block = -#: en/git.txt:113 -msgid "link:v2.4.11/git.html[documentation for release 2.4.11]" +#. type: Labeled list +#: en/blame-options.txt:52 en/git-mailinfo.txt:62 en/pretty-options.txt:35 +#, no-wrap +msgid "--encoding=<encoding>" msgstr "" -#. type: delimited block = -#: en/git.txt:127 +#. type: Plain text +#: en/blame-options.txt:58 msgid "" -"release notes for link:RelNotes/2.4.11.txt[2.4.11], link:RelNotes/2.4.10." -"txt[2.4.10], link:RelNotes/2.4.9.txt[2.4.9], link:RelNotes/2.4.8.txt[2.4.8], " -"link:RelNotes/2.4.7.txt[2.4.7], link:RelNotes/2.4.6.txt[2.4.6], link:" -"RelNotes/2.4.5.txt[2.4.5], link:RelNotes/2.4.4.txt[2.4.4], link:" -"RelNotes/2.4.3.txt[2.4.3], link:RelNotes/2.4.2.txt[2.4.2], link:" -"RelNotes/2.4.1.txt[2.4.1], link:RelNotes/2.4.0.txt[2.4]." +"Specifies the encoding used to output author names and commit summaries. " +"Setting it to `none` makes blame output unconverted data. For more " +"information see the discussion about encoding in the linkgit:git-log[1] " +"manual page." msgstr "" -#. type: delimited block = -#: en/git.txt:129 -msgid "link:v2.3.10/git.html[documentation for release 2.3.10]" +#. type: Labeled list +#: en/blame-options.txt:59 +#, no-wrap +msgid "--contents <file>" msgstr "" -#. type: delimited block = -#: en/git.txt:142 +#. type: Plain text +#: en/blame-options.txt:65 msgid "" -"release notes for link:RelNotes/2.3.10.txt[2.3.10], link:RelNotes/2.3.9." -"txt[2.3.9], link:RelNotes/2.3.8.txt[2.3.8], link:RelNotes/2.3.7.txt[2.3.7], " -"link:RelNotes/2.3.6.txt[2.3.6], link:RelNotes/2.3.5.txt[2.3.5], link:" -"RelNotes/2.3.4.txt[2.3.4], link:RelNotes/2.3.3.txt[2.3.3], link:" -"RelNotes/2.3.2.txt[2.3.2], link:RelNotes/2.3.1.txt[2.3.1], link:" -"RelNotes/2.3.0.txt[2.3]." +"When <rev> is not specified, the command annotates the changes starting " +"backwards from the working tree copy. This flag makes the command pretend " +"as if the working tree copy has the contents of the named file (specify `-` " +"to make the command read from the standard input)." msgstr "" -#. type: delimited block = -#: en/git.txt:144 -msgid "link:v2.2.3/git.html[documentation for release 2.2.3]" -msgstr "" +#. type: Labeled list +#: en/blame-options.txt:66 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--date <format>" +msgstr "Configuration" -#. type: delimited block = -#: en/git.txt:150 +#. type: Plain text +#: en/blame-options.txt:72 msgid "" -"release notes for link:RelNotes/2.2.3.txt[2.2.3], link:RelNotes/2.2.2." -"txt[2.2.2], link:RelNotes/2.2.1.txt[2.2.1], link:RelNotes/2.2.0.txt[2.2]." +"Specifies the format used to output dates. If --date is not provided, the " +"value of the blame.date config variable is used. If the blame.date config " +"variable is also not set, the iso format is used. For supported values, see " +"the discussion of the --date option at linkgit:git-log[1]." msgstr "" -#. type: delimited block = -#: en/git.txt:152 -msgid "link:v2.1.4/git.html[documentation for release 2.1.4]" +#. type: Labeled list +#: en/blame-options.txt:73 en/git-checkout.txt:110 en/git-fsck.txt:92 +#, no-wrap +msgid "--[no-]progress" msgstr "" -#. type: delimited block = -#: en/git.txt:159 +#. type: Plain text +#: en/blame-options.txt:79 msgid "" -"release notes for link:RelNotes/2.1.4.txt[2.1.4], link:RelNotes/2.1.3." -"txt[2.1.3], link:RelNotes/2.1.2.txt[2.1.2], link:RelNotes/2.1.1.txt[2.1.1], " -"link:RelNotes/2.1.0.txt[2.1]." +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal. This flag enables progress reporting even if not " +"attached to a terminal. Can't use `--progress` together with `--porcelain` " +"or `--incremental`." msgstr "" -#. type: delimited block = -#: en/git.txt:161 -msgid "link:v2.0.5/git.html[documentation for release 2.0.5]" +#. type: Labeled list +#: en/blame-options.txt:80 +#, no-wrap +msgid "-M[<num>]" msgstr "" -#. type: delimited block = -#: en/git.txt:169 +#. type: Plain text +#: en/blame-options.txt:90 msgid "" -"release notes for link:RelNotes/2.0.5.txt[2.0.5], link:RelNotes/2.0.4." -"txt[2.0.4], link:RelNotes/2.0.3.txt[2.0.3], link:RelNotes/2.0.2.txt[2.0.2], " -"link:RelNotes/2.0.1.txt[2.0.1], link:RelNotes/2.0.0.txt[2.0.0]." -msgstr "" - -#. type: delimited block = -#: en/git.txt:171 -msgid "link:v1.9.5/git.html[documentation for release 1.9.5]" +"Detect moved or copied lines within a file. When a commit moves or copies a " +"block of lines (e.g. the original file has A and then B, and the commit " +"changes it to B and then A), the traditional 'blame' algorithm notices only " +"half of the movement and typically blames the lines that were moved up (i.e. " +"B) to the parent and assigns blame to the lines that were moved down (i.e. " +"A) to the child commit. With this option, both groups of lines are blamed " +"on the parent by running extra passes of inspection." msgstr "" -#. type: delimited block = -#: en/git.txt:179 +#. type: Plain text +#: en/blame-options.txt:95 msgid "" -"release notes for link:RelNotes/1.9.5.txt[1.9.5], link:RelNotes/1.9.4." -"txt[1.9.4], link:RelNotes/1.9.3.txt[1.9.3], link:RelNotes/1.9.2.txt[1.9.2], " -"link:RelNotes/1.9.1.txt[1.9.1], link:RelNotes/1.9.0.txt[1.9.0]." +"<num> is optional but it is the lower bound on the number of alphanumeric " +"characters that Git must detect as moving/copying within a file for it to " +"associate those lines with the parent commit. The default value is 20." msgstr "" -#. type: delimited block = -#: en/git.txt:181 -msgid "link:v1.8.5.6/git.html[documentation for release 1.8.5.6]" +#. type: Labeled list +#: en/blame-options.txt:96 +#, no-wrap +msgid "-C[<num>]" msgstr "" -#. type: delimited block = -#: en/git.txt:190 +#. type: Plain text +#: en/blame-options.txt:105 msgid "" -"release notes for link:RelNotes/1.8.5.6.txt[1.8.5.6], link:RelNotes/1.8.5.5." -"txt[1.8.5.5], link:RelNotes/1.8.5.4.txt[1.8.5.4], link:RelNotes/1.8.5.3." -"txt[1.8.5.3], link:RelNotes/1.8.5.2.txt[1.8.5.2], link:RelNotes/1.8.5.1." -"txt[1.8.5.1], link:RelNotes/1.8.5.txt[1.8.5]." -msgstr "" - -#. type: delimited block = -#: en/git.txt:192 -msgid "link:v1.8.4.5/git.html[documentation for release 1.8.4.5]" +"In addition to `-M`, detect lines moved or copied from other files that were " +"modified in the same commit. This is useful when you reorganize your " +"program and move code around across files. When this option is given twice, " +"the command additionally looks for copies from other files in the commit " +"that creates the file. When this option is given three times, the command " +"additionally looks for copies from other files in any commit." msgstr "" -#. type: delimited block = -#: en/git.txt:200 +#. type: Plain text +#: en/blame-options.txt:112 msgid "" -"release notes for link:RelNotes/1.8.4.5.txt[1.8.4.5], link:RelNotes/1.8.4.4." -"txt[1.8.4.4], link:RelNotes/1.8.4.3.txt[1.8.4.3], link:RelNotes/1.8.4.2." -"txt[1.8.4.2], link:RelNotes/1.8.4.1.txt[1.8.4.1], link:RelNotes/1.8.4." -"txt[1.8.4]." +"<num> is optional but it is the lower bound on the number of alphanumeric " +"characters that Git must detect as moving/copying between files for it to " +"associate those lines with the parent commit. And the default value is 40. " +"If there are more than one `-C` options given, the <num> argument of the " +"last `-C` will take effect." msgstr "" -#. type: delimited block = -#: en/git.txt:202 -msgid "link:v1.8.3.4/git.html[documentation for release 1.8.3.4]" +#. type: Labeled list +#: en/blame-options.txt:113 en/git-archimport.txt:70 en/git-cvsimport.txt:184 +#: en/git-cvsserver.txt:48 en/git-grep.txt:141 en/git-ls-remote.txt:24 +#, no-wrap +msgid "-h" msgstr "" -#. type: delimited block = -#: en/git.txt:209 -msgid "" -"release notes for link:RelNotes/1.8.3.4.txt[1.8.3.4], link:RelNotes/1.8.3.3." -"txt[1.8.3.3], link:RelNotes/1.8.3.2.txt[1.8.3.2], link:RelNotes/1.8.3.1." -"txt[1.8.3.1], link:RelNotes/1.8.3.txt[1.8.3]." +#. type: Plain text +#: en/blame-options.txt:114 +msgid "Show help message." msgstr "" -#. type: delimited block = -#: en/git.txt:211 -msgid "link:v1.8.2.3/git.html[documentation for release 1.8.2.3]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:1 en/git-blame.txt:234 +#, no-wrap +msgid "linkgit:git-annotate[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:217 -msgid "" -"release notes for link:RelNotes/1.8.2.3.txt[1.8.2.3], link:RelNotes/1.8.2.2." -"txt[1.8.2.2], link:RelNotes/1.8.2.1.txt[1.8.2.1], link:RelNotes/1.8.2." -"txt[1.8.2]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:3 +msgid "Annotate file lines with commit information." msgstr "" -#. type: delimited block = -#: en/git.txt:219 -msgid "link:v1.8.1.6/git.html[documentation for release 1.8.1.6]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:4 en/git-annotate.txt:31 +#, no-wrap +msgid "linkgit:git-blame[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:228 -msgid "" -"release notes for link:RelNotes/1.8.1.6.txt[1.8.1.6], link:RelNotes/1.8.1.5." -"txt[1.8.1.5], link:RelNotes/1.8.1.4.txt[1.8.1.4], link:RelNotes/1.8.1.3." -"txt[1.8.1.3], link:RelNotes/1.8.1.2.txt[1.8.1.2], link:RelNotes/1.8.1.1." -"txt[1.8.1.1], link:RelNotes/1.8.1.txt[1.8.1]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:6 +msgid "Show what revision and author last modified each line of a file." msgstr "" -#. type: delimited block = -#: en/git.txt:230 -msgid "link:v1.8.0.3/git.html[documentation for release 1.8.0.3]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-cherry[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:236 -msgid "" -"release notes for link:RelNotes/1.8.0.3.txt[1.8.0.3], link:RelNotes/1.8.0.2." -"txt[1.8.0.2], link:RelNotes/1.8.0.1.txt[1.8.0.1], link:RelNotes/1.8.0." -"txt[1.8.0]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:9 +msgid "Find commits yet to be applied to upstream." msgstr "" -#. type: delimited block = -#: en/git.txt:238 -msgid "link:v1.7.12.4/git.html[documentation for release 1.7.12.4]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-count-objects[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:245 -msgid "" -"release notes for link:RelNotes/1.7.12.4.txt[1.7.12.4], link:" -"RelNotes/1.7.12.3.txt[1.7.12.3], link:RelNotes/1.7.12.2.txt[1.7.12.2], link:" -"RelNotes/1.7.12.1.txt[1.7.12.1], link:RelNotes/1.7.12.txt[1.7.12]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:12 +msgid "Count unpacked number of objects and their disk consumption." msgstr "" -#. type: delimited block = -#: en/git.txt:247 -msgid "link:v1.7.11.7/git.html[documentation for release 1.7.11.7]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:13 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-difftool[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:257 -msgid "" -"release notes for link:RelNotes/1.7.11.7.txt[1.7.11.7], link:" -"RelNotes/1.7.11.6.txt[1.7.11.6], link:RelNotes/1.7.11.5.txt[1.7.11.5], link:" -"RelNotes/1.7.11.4.txt[1.7.11.4], link:RelNotes/1.7.11.3.txt[1.7.11.3], link:" -"RelNotes/1.7.11.2.txt[1.7.11.2], link:RelNotes/1.7.11.1.txt[1.7.11.1], link:" -"RelNotes/1.7.11.txt[1.7.11]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:15 +msgid "Show changes using common diff tools." msgstr "" -#. type: delimited block = -#: en/git.txt:259 -msgid "link:v1.7.10.5/git.html[documentation for release 1.7.10.5]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:16 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-fsck[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:267 -msgid "" -"release notes for link:RelNotes/1.7.10.5.txt[1.7.10.5], link:" -"RelNotes/1.7.10.4.txt[1.7.10.4], link:RelNotes/1.7.10.3.txt[1.7.10.3], link:" -"RelNotes/1.7.10.2.txt[1.7.10.2], link:RelNotes/1.7.10.1.txt[1.7.10.1], link:" -"RelNotes/1.7.10.txt[1.7.10]." -msgstr "" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:18 en/git-fsck.txt:20 +msgid "Verifies the connectivity and validity of the objects in the database." +msgstr "V챕rifie la connectivit챕 et la validit챕 des objets en base de donn챕es." -#. type: delimited block = -#: en/git.txt:269 -msgid "link:v1.7.9.7/git.html[documentation for release 1.7.9.7]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:19 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-get-tar-commit-id[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:279 -msgid "" -"release notes for link:RelNotes/1.7.9.7.txt[1.7.9.7], link:RelNotes/1.7.9.6." -"txt[1.7.9.6], link:RelNotes/1.7.9.5.txt[1.7.9.5], link:RelNotes/1.7.9.4." -"txt[1.7.9.4], link:RelNotes/1.7.9.3.txt[1.7.9.3], link:RelNotes/1.7.9.2." -"txt[1.7.9.2], link:RelNotes/1.7.9.1.txt[1.7.9.1], link:RelNotes/1.7.9." -"txt[1.7.9]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:21 +msgid "Extract commit ID from an archive created using git-archive." msgstr "" -#. type: delimited block = -#: en/git.txt:281 -msgid "link:v1.7.8.6/git.html[documentation for release 1.7.8.6]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:22 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-help[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:290 -msgid "" -"release notes for link:RelNotes/1.7.8.6.txt[1.7.8.6], link:RelNotes/1.7.8.5." -"txt[1.7.8.5], link:RelNotes/1.7.8.4.txt[1.7.8.4], link:RelNotes/1.7.8.3." -"txt[1.7.8.3], link:RelNotes/1.7.8.2.txt[1.7.8.2], link:RelNotes/1.7.8.1." -"txt[1.7.8.1], link:RelNotes/1.7.8.txt[1.7.8]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:24 +msgid "Display help information about Git." msgstr "" -#. type: delimited block = -#: en/git.txt:292 -msgid "link:v1.7.7.7/git.html[documentation for release 1.7.7.7]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:25 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-instaweb[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:302 -msgid "" -"release notes for link:RelNotes/1.7.7.7.txt[1.7.7.7], link:RelNotes/1.7.7.6." -"txt[1.7.7.6], link:RelNotes/1.7.7.5.txt[1.7.7.5], link:RelNotes/1.7.7.4." -"txt[1.7.7.4], link:RelNotes/1.7.7.3.txt[1.7.7.3], link:RelNotes/1.7.7.2." -"txt[1.7.7.2], link:RelNotes/1.7.7.1.txt[1.7.7.1], link:RelNotes/1.7.7." -"txt[1.7.7]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:27 +msgid "Instantly browse your working repository in gitweb." msgstr "" -#. type: delimited block = -#: en/git.txt:304 -msgid "link:v1.7.6.6/git.html[documentation for release 1.7.6.6]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:28 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-merge-tree[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:313 -msgid "" -"release notes for link:RelNotes/1.7.6.6.txt[1.7.6.6], link:RelNotes/1.7.6.5." -"txt[1.7.6.5], link:RelNotes/1.7.6.4.txt[1.7.6.4], link:RelNotes/1.7.6.3." -"txt[1.7.6.3], link:RelNotes/1.7.6.2.txt[1.7.6.2], link:RelNotes/1.7.6.1." -"txt[1.7.6.1], link:RelNotes/1.7.6.txt[1.7.6]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:30 +msgid "Show three-way merge without touching index." msgstr "" -#. type: delimited block = -#: en/git.txt:315 -msgid "link:v1.7.5.4/git.html[documentation for release 1.7.5.4]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:31 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-rerere[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:322 -msgid "" -"release notes for link:RelNotes/1.7.5.4.txt[1.7.5.4], link:RelNotes/1.7.5.3." -"txt[1.7.5.3], link:RelNotes/1.7.5.2.txt[1.7.5.2], link:RelNotes/1.7.5.1." -"txt[1.7.5.1], link:RelNotes/1.7.5.txt[1.7.5]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:33 +msgid "Reuse recorded resolution of conflicted merges." msgstr "" -#. type: delimited block = -#: en/git.txt:324 -msgid "link:v1.7.4.5/git.html[documentation for release 1.7.4.5]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:34 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-rev-parse[1]" +msgstr "git-add(1)" -#. type: delimited block = -#: en/git.txt:332 -msgid "" -"release notes for link:RelNotes/1.7.4.5.txt[1.7.4.5], link:RelNotes/1.7.4.4." -"txt[1.7.4.4], link:RelNotes/1.7.4.3.txt[1.7.4.3], link:RelNotes/1.7.4.2." -"txt[1.7.4.2], link:RelNotes/1.7.4.1.txt[1.7.4.1], link:RelNotes/1.7.4." -"txt[1.7.4]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:36 +msgid "Pick out and massage parameters." msgstr "" -#. type: delimited block = -#: en/git.txt:334 -msgid "link:v1.7.3.5/git.html[documentation for release 1.7.3.5]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:37 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-show-branch[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:342 -msgid "" -"release notes for link:RelNotes/1.7.3.5.txt[1.7.3.5], link:RelNotes/1.7.3.4." -"txt[1.7.3.4], link:RelNotes/1.7.3.3.txt[1.7.3.3], link:RelNotes/1.7.3.2." -"txt[1.7.3.2], link:RelNotes/1.7.3.1.txt[1.7.3.1], link:RelNotes/1.7.3." -"txt[1.7.3]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:39 +msgid "Show branches and their commits." msgstr "" -#. type: delimited block = -#: en/git.txt:344 -msgid "link:v1.7.2.5/git.html[documentation for release 1.7.2.5]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:40 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-verify-commit[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:352 -msgid "" -"release notes for link:RelNotes/1.7.2.5.txt[1.7.2.5], link:RelNotes/1.7.2.4." -"txt[1.7.2.4], link:RelNotes/1.7.2.3.txt[1.7.2.3], link:RelNotes/1.7.2.2." -"txt[1.7.2.2], link:RelNotes/1.7.2.1.txt[1.7.2.1], link:RelNotes/1.7.2." -"txt[1.7.2]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:42 +msgid "Check the GPG signature of commits." msgstr "" -#. type: delimited block = -#: en/git.txt:354 -msgid "link:v1.7.1.4/git.html[documentation for release 1.7.1.4]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:43 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-verify-tag[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:361 -msgid "" -"release notes for link:RelNotes/1.7.1.4.txt[1.7.1.4], link:RelNotes/1.7.1.3." -"txt[1.7.1.3], link:RelNotes/1.7.1.2.txt[1.7.1.2], link:RelNotes/1.7.1.1." -"txt[1.7.1.1], link:RelNotes/1.7.1.txt[1.7.1]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:45 +msgid "Check the GPG signature of tags." msgstr "" -#. type: delimited block = -#: en/git.txt:363 -msgid "link:v1.7.0.9/git.html[documentation for release 1.7.0.9]" -msgstr "" +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:46 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-whatchanged[1]" +msgstr "git-add(1)" -#. type: delimited block = -#: en/git.txt:375 -msgid "" -"release notes for link:RelNotes/1.7.0.9.txt[1.7.0.9], link:RelNotes/1.7.0.8." -"txt[1.7.0.8], link:RelNotes/1.7.0.7.txt[1.7.0.7], link:RelNotes/1.7.0.6." -"txt[1.7.0.6], link:RelNotes/1.7.0.5.txt[1.7.0.5], link:RelNotes/1.7.0.4." -"txt[1.7.0.4], link:RelNotes/1.7.0.3.txt[1.7.0.3], link:RelNotes/1.7.0.2." -"txt[1.7.0.2], link:RelNotes/1.7.0.1.txt[1.7.0.1], link:RelNotes/1.7.0." -"txt[1.7.0]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:48 +msgid "Show logs with difference each commit introduces." msgstr "" -#. type: delimited block = -#: en/git.txt:377 -msgid "link:v1.6.6.3/git.html[documentation for release 1.6.6.3]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:49 en/git-instaweb.txt:90 +#, no-wrap +msgid "linkgit:gitweb[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:383 -msgid "" -"release notes for link:RelNotes/1.6.6.3.txt[1.6.6.3], link:RelNotes/1.6.6.2." -"txt[1.6.6.2], link:RelNotes/1.6.6.1.txt[1.6.6.1], link:RelNotes/1.6.6." -"txt[1.6.6]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:51 +msgid "Git web interface (web frontend to Git repositories)." msgstr "" -#. type: delimited block = -#: en/git.txt:385 -msgid "link:v1.6.5.9/git.html[documentation for release 1.6.5.9]" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:1 en/git-difftool.txt:142 +#, no-wrap +msgid "linkgit:git-config[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:397 -msgid "" -"release notes for link:RelNotes/1.6.5.9.txt[1.6.5.9], link:RelNotes/1.6.5.8." -"txt[1.6.5.8], link:RelNotes/1.6.5.7.txt[1.6.5.7], link:RelNotes/1.6.5.6." -"txt[1.6.5.6], link:RelNotes/1.6.5.5.txt[1.6.5.5], link:RelNotes/1.6.5.4." -"txt[1.6.5.4], link:RelNotes/1.6.5.3.txt[1.6.5.3], link:RelNotes/1.6.5.2." -"txt[1.6.5.2], link:RelNotes/1.6.5.1.txt[1.6.5.1], link:RelNotes/1.6.5." -"txt[1.6.5]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:3 +msgid "Get and set repository or global options." msgstr "" -#. type: delimited block = -#: en/git.txt:399 -msgid "link:v1.6.4.5/git.html[documentation for release 1.6.4.5]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:4 en/git-fast-import.txt:1472 +#, no-wrap +msgid "linkgit:git-fast-export[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:407 -msgid "" -"release notes for link:RelNotes/1.6.4.5.txt[1.6.4.5], link:RelNotes/1.6.4.4." -"txt[1.6.4.4], link:RelNotes/1.6.4.3.txt[1.6.4.3], link:RelNotes/1.6.4.2." -"txt[1.6.4.2], link:RelNotes/1.6.4.1.txt[1.6.4.1], link:RelNotes/1.6.4." -"txt[1.6.4]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:6 +msgid "Git data exporter." msgstr "" -#. type: delimited block = -#: en/git.txt:409 -msgid "link:v1.6.3.4/git.html[documentation for release 1.6.3.4]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:7 en/git-fast-export.txt:215 +#, no-wrap +msgid "linkgit:git-fast-import[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:416 -msgid "" -"release notes for link:RelNotes/1.6.3.4.txt[1.6.3.4], link:RelNotes/1.6.3.3." -"txt[1.6.3.3], link:RelNotes/1.6.3.2.txt[1.6.3.2], link:RelNotes/1.6.3.1." -"txt[1.6.3.1], link:RelNotes/1.6.3.txt[1.6.3]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:9 +msgid "Backend for fast Git data importers." msgstr "" -#. type: delimited block = -#: en/git.txt:424 -msgid "" -"release notes for link:RelNotes/1.6.2.5.txt[1.6.2.5], link:RelNotes/1.6.2.4." -"txt[1.6.2.4], link:RelNotes/1.6.2.3.txt[1.6.2.3], link:RelNotes/1.6.2.2." -"txt[1.6.2.2], link:RelNotes/1.6.2.1.txt[1.6.2.1], link:RelNotes/1.6.2." -"txt[1.6.2]." -msgstr "" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-filter-branch[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:426 -msgid "link:v1.6.1.3/git.html[documentation for release 1.6.1.3]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:12 +msgid "Rewrite branches." msgstr "" -#. type: delimited block = -#: en/git.txt:432 -msgid "" -"release notes for link:RelNotes/1.6.1.3.txt[1.6.1.3], link:RelNotes/1.6.1.2." -"txt[1.6.1.2], link:RelNotes/1.6.1.1.txt[1.6.1.1], link:RelNotes/1.6.1." -"txt[1.6.1]." +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:13 en/git-difftool.txt:139 +#, no-wrap +msgid "linkgit:git-mergetool[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:434 -msgid "link:v1.6.0.6/git.html[documentation for release 1.6.0.6]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:15 +msgid "Run merge conflict resolution tools to resolve merge conflicts." msgstr "" -#. type: delimited block = -#: en/git.txt:443 -msgid "" -"release notes for link:RelNotes/1.6.0.6.txt[1.6.0.6], link:RelNotes/1.6.0.5." -"txt[1.6.0.5], link:RelNotes/1.6.0.4.txt[1.6.0.4], link:RelNotes/1.6.0.3." -"txt[1.6.0.3], link:RelNotes/1.6.0.2.txt[1.6.0.2], link:RelNotes/1.6.0.1." -"txt[1.6.0.1], link:RelNotes/1.6.0.txt[1.6.0]." -msgstr "" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:16 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-pack-refs[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:445 -msgid "link:v1.5.6.6/git.html[documentation for release 1.5.6.6]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:18 +msgid "Pack heads and tags for efficient repository access." msgstr "" -#. type: delimited block = -#: en/git.txt:454 -msgid "" -"release notes for link:RelNotes/1.5.6.6.txt[1.5.6.6], link:RelNotes/1.5.6.5." -"txt[1.5.6.5], link:RelNotes/1.5.6.4.txt[1.5.6.4], link:RelNotes/1.5.6.3." -"txt[1.5.6.3], link:RelNotes/1.5.6.2.txt[1.5.6.2], link:RelNotes/1.5.6.1." -"txt[1.5.6.1], link:RelNotes/1.5.6.txt[1.5.6]." -msgstr "" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:19 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-prune[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:456 -msgid "link:v1.5.5.6/git.html[documentation for release 1.5.5.6]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:21 +msgid "Prune all unreachable objects from the object database." msgstr "" -#. type: delimited block = -#: en/git.txt:465 -msgid "" -"release notes for link:RelNotes/1.5.5.6.txt[1.5.5.6], link:RelNotes/1.5.5.5." -"txt[1.5.5.5], link:RelNotes/1.5.5.4.txt[1.5.5.4], link:RelNotes/1.5.5.3." -"txt[1.5.5.3], link:RelNotes/1.5.5.2.txt[1.5.5.2], link:RelNotes/1.5.5.1." -"txt[1.5.5.1], link:RelNotes/1.5.5.txt[1.5.5]." -msgstr "" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:22 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-reflog[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:467 -msgid "link:v1.5.4.7/git.html[documentation for release 1.5.4.7]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:24 +msgid "Manage reflog information." msgstr "" -#. type: delimited block = -#: en/git.txt:477 -msgid "" -"release notes for link:RelNotes/1.5.4.7.txt[1.5.4.7], link:RelNotes/1.5.4.6." -"txt[1.5.4.6], link:RelNotes/1.5.4.5.txt[1.5.4.5], link:RelNotes/1.5.4.4." -"txt[1.5.4.4], link:RelNotes/1.5.4.3.txt[1.5.4.3], link:RelNotes/1.5.4.2." -"txt[1.5.4.2], link:RelNotes/1.5.4.1.txt[1.5.4.1], link:RelNotes/1.5.4." -"txt[1.5.4]." -msgstr "" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:25 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-remote[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:479 -msgid "link:v1.5.3.8/git.html[documentation for release 1.5.3.8]" -msgstr "" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:27 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Manage set of tracked repositories." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" -#. type: delimited block = -#: en/git.txt:490 -msgid "" -"release notes for link:RelNotes/1.5.3.8.txt[1.5.3.8], link:RelNotes/1.5.3.7." -"txt[1.5.3.7], link:RelNotes/1.5.3.6.txt[1.5.3.6], link:RelNotes/1.5.3.5." -"txt[1.5.3.5], link:RelNotes/1.5.3.4.txt[1.5.3.4], link:RelNotes/1.5.3.3." -"txt[1.5.3.3], link:RelNotes/1.5.3.2.txt[1.5.3.2], link:RelNotes/1.5.3.1." -"txt[1.5.3.1], link:RelNotes/1.5.3.txt[1.5.3]." -msgstr "" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:28 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-repack[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:492 -msgid "link:v1.5.2.5/git.html[documentation for release 1.5.2.5]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:30 +msgid "Pack unpacked objects in a repository." msgstr "" -#. type: delimited block = -#: en/git.txt:500 -msgid "" -"release notes for link:RelNotes/1.5.2.5.txt[1.5.2.5], link:RelNotes/1.5.2.4." -"txt[1.5.2.4], link:RelNotes/1.5.2.3.txt[1.5.2.3], link:RelNotes/1.5.2.2." -"txt[1.5.2.2], link:RelNotes/1.5.2.1.txt[1.5.2.1], link:RelNotes/1.5.2." -"txt[1.5.2]." -msgstr "" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:31 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-replace[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:502 -msgid "link:v1.5.1.6/git.html[documentation for release 1.5.1.6]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:33 +msgid "Create, list, delete refs to replace objects." msgstr "" -#. type: delimited block = -#: en/git.txt:511 -msgid "" -"release notes for link:RelNotes/1.5.1.6.txt[1.5.1.6], link:RelNotes/1.5.1.5." -"txt[1.5.1.5], link:RelNotes/1.5.1.4.txt[1.5.1.4], link:RelNotes/1.5.1.3." -"txt[1.5.1.3], link:RelNotes/1.5.1.2.txt[1.5.1.2], link:RelNotes/1.5.1.1." -"txt[1.5.1.1], link:RelNotes/1.5.1.txt[1.5.1]." -msgstr "" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:1 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-archimport[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:513 -msgid "link:v1.5.0.7/git.html[documentation for release 1.5.0.7]" +#. type: Plain text +#: en/cmds-foreignscminterface.txt:3 +msgid "Import an Arch repository into Git." msgstr "" -#. type: delimited block = -#: en/git.txt:522 -msgid "" -"release notes for link:RelNotes/1.5.0.7.txt[1.5.0.7], link:RelNotes/1.5.0.6." -"txt[1.5.0.6], link:RelNotes/1.5.0.5.txt[1.5.0.5], link:RelNotes/1.5.0.3." -"txt[1.5.0.3], link:RelNotes/1.5.0.2.txt[1.5.0.2], link:RelNotes/1.5.0.1." -"txt[1.5.0.1], link:RelNotes/1.5.0.txt[1.5.0]." -msgstr "" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:4 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-cvsexportcommit[1]" +msgstr "git-commit(1)" -#. type: delimited block = -#: en/git.txt:527 -msgid "" -"documentation for release link:v1.4.4.4/git.html[1.4.4.4], link:v1.3.3/git." -"html[1.3.3], link:v1.2.6/git.html[1.2.6], link:v1.0.13/git.html[1.0.13]." +#. type: Plain text +#: en/cmds-foreignscminterface.txt:6 +msgid "Export a single commit to a CVS checkout." msgstr "" -#. type: Title - -#: en/git.txt:533 en/git-add.txt:51 en/git-am.txt:28 en/git-annotate.txt:24 -#: en/git-apply.txt:36 en/git-archimport.txt:68 en/git-archive.txt:34 -#: en/git-bisect.txt:357 en/git-blame.txt:49 en/git-branch.txt:77 -#: en/git-bundle.txt:34 en/git-cat-file.txt:30 en/git-check-attr.txt:21 -#: en/git-check-ignore.txt:27 en/git-check-mailmap.txt:25 -#: en/git-checkout-index.txt:24 en/git-checkout.txt:105 -#: en/git-check-ref-format.txt:87 en/git-cherry-pick.txt:44 -#: en/git-cherry.txt:28 en/git-clean.txt:27 en/git-clone.txt:42 -#: en/git-column.txt:19 en/git-commit.txt:59 en/git-commit-tree.txt:42 -#: en/git-config.txt:72 en/git-count-objects.txt:20 -#: en/git-credential-cache.txt:27 en/git-credential-store.txt:30 -#: en/git-cvsexportcommit.txt:35 en/git-cvsimport.txt:51 -#: en/git-cvsserver.txt:28 en/git-daemon.txt:47 en/git-describe.txt:28 -#: en/git-diff-files.txt:22 en/git-diff-index.txt:23 en/git-difftool.txt:21 -#: en/git-diff-tree.txt:26 en/git-diff.txt:96 en/git-fast-export.txt:25 -#: en/git-fast-import.txt:35 en/git-fetch-pack.txt:34 en/git-fetch.txt:46 -#: en/git-filter-branch.txt:83 en/git-fmt-merge-msg.txt:25 -#: en/git-for-each-ref.txt:27 en/git-format-patch.txt:81 en/git-fsck.txt:22 -#: en/git-gc.txt:34 en/git-grep.txt:71 en/git-hash-object.txt:26 -#: en/git-help.txt:40 en/git-http-fetch.txt:22 en/git-http-push.txt:24 -#: en/git-imap-send.txt:30 en/git-index-pack.txt:26 en/git-init.txt:39 -#: en/git-instaweb.txt:21 en/git-interpret-trailers.txt:69 en/git-log.txt:25 -#: en/git-ls-files.txt:34 en/git-ls-remote.txt:23 en/git-ls-tree.txt:37 -#: en/git-mailinfo.txt:26 en/git-mailsplit.txt:23 en/git-merge-base.txt:70 -#: en/git-merge-file.txt:53 en/git-merge-index.txt:22 en/git-mergetool.txt:26 -#: en/git-merge.txt:69 en/git-mktree.txt:22 en/git-mv.txt:30 -#: en/git-name-rev.txt:22 en/git-notes.txt:126 en/git-p4.txt:162 -#: en/git-pack-objects.txt:48 en/git-pack-redundant.txt:29 -#: en/git-pack-refs.txt:46 en/git-patch-id.txt:31 en/git-prune-packed.txt:30 -#: en/git-prune.txt:34 en/git-pull.txt:75 en/git-quiltimport.txt:32 -#: en/git-read-tree.txt:33 en/git-rebase.txt:226 en/git-receive-pack.txt:40 -#: en/git-reflog.txt:61 en/git-remote.txt:33 en/git-repack.txt:29 -#: en/git-replace.txt:58 en/git-request-pull.txt:28 en/git-reset.txt:94 -#: en/git-revert.txt:34 en/git-rev-list.txt:112 en/git-rev-parse.txt:26 -#: en/git-rm.txt:28 en/git-send-email.txt:43 en/git-send-pack.txt:27 -#: en/git-shortlog.txt:27 en/git-show-branch.txt:32 en/git-show-ref.txt:34 -#: en/git-show.txt:36 en/git-stash.txt:49 en/git-status.txt:25 -#: en/git-stripspace.txt:37 en/git-submodule.txt:270 en/git-svn.txt:544 -#: en/git-symbolic-ref.txt:33 en/git-tag.txt:58 en/git-unpack-file.txt:22 -#: en/git-unpack-objects.txt:29 en/git-update-index.txt:41 -#: en/git-update-server-info.txt:24 en/git-upload-archive.txt:56 -#: en/git-var.txt:19 en/git-verify-commit.txt:18 en/git-verify-pack.txt:22 -#: en/git-verify-tag.txt:18 en/git-web--browse.txt:43 en/git-worktree.txt:83 -#: en/git-write-tree.txt:29 -#, no-wrap -msgid "OPTIONS" -msgstr "OPTIONS" - #. type: Labeled list -#: en/git.txt:534 en/git-cvsserver.txt:45 -#, no-wrap -msgid "--version" -msgstr "" +#: en/cmds-foreignscminterface.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-cvsimport[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:536 -msgid "Prints the Git suite version that the 'git' program came from." +#: en/cmds-foreignscminterface.txt:9 +msgid "Salvage your data out of another SCM people love to hate." msgstr "" #. type: Labeled list -#: en/git.txt:537 en/git-cvsserver.txt:50 -#, no-wrap -msgid "--help" -msgstr "" +#: en/cmds-foreignscminterface.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-cvsserver[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:542 -msgid "" -"Prints the synopsis and a list of the most commonly used commands. If the " -"option `--all` or `-a` is given then all available commands are printed. If " -"a Git command is named this option will bring up the manual page for that " -"command." +#: en/cmds-foreignscminterface.txt:12 +msgid "A CVS server emulator for Git." msgstr "" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:13 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-imap-send[1]" +msgstr "git-add(1)" + #. type: Plain text -#: en/git.txt:547 -msgid "" -"Other options are available to control how the manual page is displayed. See " -"linkgit:git-help[1] for more information, because `git --help ...` is " -"converted internally into `git help ...`." +#: en/cmds-foreignscminterface.txt:15 +msgid "Send a collection of patches from stdin to an IMAP folder." msgstr "" #. type: Labeled list -#: en/git.txt:548 +#: en/cmds-foreignscminterface.txt:16 #, fuzzy, no-wrap -#| msgid "patch" -msgid "-C <path>" -msgstr "patch" +#| msgid "git-commit(1)" +msgid "linkgit:git-p4[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:553 -msgid "" -"Run as if git was started in '<path>' instead of the current working " -"directory. When multiple `-C` options are given, each subsequent non-" -"absolute `-C <path>` is interpreted relative to the preceding `-C <path>`." -msgstr "" +#: en/cmds-foreignscminterface.txt:18 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Import from and submit to Perforce repositories." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" + +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:19 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-quiltimport[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:558 -msgid "" -"This option affects options that expect path name like `--git-dir` and `--" -"work-tree` in that their interpretations of the path names would be made " -"relative to the working directory caused by the `-C` option. For example the " -"following invocations are equivalent:" +#: en/cmds-foreignscminterface.txt:21 +msgid "Applies a quilt patchset onto the current branch." msgstr "" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:22 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-request-pull[1]" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git.txt:561 -#, no-wrap -msgid "" -" git --git-dir=a.git --work-tree=b -C c status\n" -" git --git-dir=c/a.git --work-tree=c/b status\n" +#: en/cmds-foreignscminterface.txt:24 +msgid "Generates a summary of pending changes." msgstr "" #. type: Labeled list -#: en/git.txt:562 -#, no-wrap -msgid "-c <name>=<value>" -msgstr "" +#: en/cmds-foreignscminterface.txt:25 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-send-email[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:567 -msgid "" -"Pass a configuration parameter to the command. The value given will override " -"values from configuration files. The <name> is expected in the same format " -"as listed by 'git config' (subkeys separated by dots)." +#: en/cmds-foreignscminterface.txt:27 +msgid "Send a collection of patches as emails." msgstr "" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:28 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-svn[1]" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git.txt:572 -msgid "" -"Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets `foo." -"bar` to the boolean true value (just like `[foo]bar` would in a config " -"file). Including the equals but with an empty value (like `git -c foo." -"bar= ...`) sets `foo.bar` to the empty string." +#: en/cmds-foreignscminterface.txt:30 +msgid "Bidirectional operation between a Subversion repository and Git." msgstr "" -#. type: Labeled list -#: en/git.txt:573 +#. type: Plain text +#: en/cmds-mainporcelain.txt:1 en/git-rm.txt:185 #, no-wrap -msgid "--exec-path[=<path>]" +msgid "linkgit:git-add[1]" msgstr "" +# #. type: Plain text -#: en/git.txt:578 -msgid "" -"Path to wherever your core Git programs are installed. This can also be " -"controlled by setting the GIT_EXEC_PATH environment variable. If no path is " -"given, 'git' will print the current setting and then exit." -msgstr "" +#: en/cmds-mainporcelain.txt:3 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Add file contents to the index." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Labeled list -#: en/git.txt:579 -#, no-wrap -msgid "--html-path" -msgstr "" +#: en/cmds-mainporcelain.txt:4 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-am[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:582 -msgid "" -"Print the path, without trailing slash, where Git's HTML documentation is " -"installed and exit." +#: en/cmds-mainporcelain.txt:6 +msgid "Apply a series of patches from a mailbox." msgstr "" #. type: Labeled list -#: en/git.txt:583 -#, no-wrap -msgid "--man-path" -msgstr "" +#: en/cmds-mainporcelain.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-archive[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:586 -msgid "" -"Print the manpath (see `man(1)`) for the man pages for this version of Git " -"and exit." +#: en/cmds-mainporcelain.txt:9 +msgid "Create an archive of files from a named tree." msgstr "" #. type: Labeled list -#: en/git.txt:587 -#, no-wrap -msgid "--info-path" -msgstr "" +#: en/cmds-mainporcelain.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-bisect[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:590 -msgid "" -"Print the path where the Info files documenting this version of Git are " -"installed and exit." +#: en/cmds-mainporcelain.txt:12 +msgid "Use binary search to find the commit that introduced a bug." msgstr "" #. type: Labeled list -#: en/git.txt:591 en/git-add.txt:85 en/git-cat-file.txt:48 -#: en/git-checkout.txt:242 en/git-commit.txt:66 en/git-cvsexportcommit.txt:41 -#: en/git-grep.txt:222 en/git-instaweb.txt:40 en/git-merge-file.txt:63 -#: en/git-rebase.txt:383 en/git-request-pull.txt:29 en/git-svn.txt:504 -#: en/git-svn.txt:641 en/blame-options.txt:39 en/diff-options.txt:16 -#: en/diff-options.txt:22 en/fetch-options.txt:67 -#, no-wrap -msgid "-p" +#: en/cmds-mainporcelain.txt:13 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-branch[1]" +msgstr "git-add(1)" + +#. type: Plain text +#: en/cmds-mainporcelain.txt:15 +msgid "List, create, or delete branches." msgstr "" #. type: Labeled list -#: en/git.txt:592 -#, no-wrap -msgid "--paginate" -msgstr "" +#: en/cmds-mainporcelain.txt:16 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-bundle[1]" +msgstr "git-add(1)" #. type: Plain text -#: en/git.txt:597 -msgid "" -"Pipe all output into 'less' (or if set, $PAGER) if standard output is a " -"terminal. This overrides the `pager.<cmd>` configuration options (see the " -"\"Configuration Mechanism\" section below)." +#: en/cmds-mainporcelain.txt:18 +msgid "Move objects and refs by archive." msgstr "" #. type: Labeled list -#: en/git.txt:598 -#, no-wrap -msgid "--no-pager" -msgstr "--no-pager" +#: en/cmds-mainporcelain.txt:19 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-checkout[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:600 -msgid "Do not pipe Git output into a pager." +#: en/cmds-mainporcelain.txt:21 +msgid "Switch branches or restore working tree files." msgstr "" -#. type: Labeled list -#: en/git.txt:601 +#. type: Plain text +#: en/cmds-mainporcelain.txt:22 en/git-revert.txt:126 #, no-wrap -msgid "--git-dir=<path>" +msgid "linkgit:git-cherry-pick[1]" msgstr "" #. type: Plain text -#: en/git.txt:605 -msgid "" -"Set the path to the repository. This can also be controlled by setting the " -"`GIT_DIR` environment variable. It can be an absolute path or relative path " -"to current working directory." +#: en/cmds-mainporcelain.txt:24 +msgid "Apply the changes introduced by some existing commits." msgstr "" #. type: Labeled list -#: en/git.txt:606 +#: en/cmds-mainporcelain.txt:25 #, fuzzy, no-wrap -#| msgid "whitespace" -msgid "--work-tree=<path>" -msgstr "whitespace" +#| msgid "git-commit(1)" +msgid "linkgit:git-citool[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:613 -msgid "" -"Set the path to the working tree. It can be an absolute path or a path " -"relative to the current working directory. This can also be controlled by " -"setting the GIT_WORK_TREE environment variable and the core.worktree " -"configuration variable (see core.worktree in linkgit:git-config[1] for a " -"more detailed discussion)." +#: en/cmds-mainporcelain.txt:27 +msgid "Graphical alternative to git-commit." msgstr "" #. type: Labeled list -#: en/git.txt:614 -#, no-wrap -msgid "--namespace=<path>" -msgstr "" +#: en/cmds-mainporcelain.txt:28 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-clean[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:618 -msgid "" -"Set the Git namespace. See linkgit:gitnamespaces[7] for more details. " -"Equivalent to setting the `GIT_NAMESPACE` environment variable." +#: en/cmds-mainporcelain.txt:30 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Remove untracked files from the working tree." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git.txt:619 -#, no-wrap -msgid "--super-prefix=<path>" -msgstr "" +#: en/cmds-mainporcelain.txt:31 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-clone[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:623 -msgid "" -"Currently for internal use only. Set a prefix which gives a path from above " -"a repository down to its root. One use is to give submodules context about " -"the superproject that invoked it." +#: en/cmds-mainporcelain.txt:33 +msgid "Clone a repository into a new directory." msgstr "" #. type: Labeled list -#: en/git.txt:624 en/git-clone.txt:138 en/git-init.txt:48 en/git-p4.txt:268 -#, no-wrap -msgid "--bare" -msgstr "" +#: en/cmds-mainporcelain.txt:34 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-commit[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:628 -msgid "" -"Treat the repository as a bare repository. If GIT_DIR environment is not " -"set, it is set to the current working directory." -msgstr "" +#: en/cmds-mainporcelain.txt:36 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Record changes to the repository." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Labeled list -#: en/git.txt:629 +#: en/cmds-mainporcelain.txt:37 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "--no-replace-objects" +msgid "linkgit:git-describe[1]" msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:632 -msgid "" -"Do not use replacement refs to replace Git objects. See linkgit:git-" -"replace[1] for more information." +#: en/cmds-mainporcelain.txt:39 +msgid "Give an object a human readable name based on an available ref." msgstr "" #. type: Labeled list -#: en/git.txt:633 +#: en/cmds-mainporcelain.txt:40 en/git-difftool.txt:136 #, no-wrap -msgid "--literal-pathspecs" +msgid "linkgit:git-diff[1]" msgstr "" #. type: Plain text -#: en/git.txt:637 -msgid "" -"Treat pathspecs literally (i.e. no globbing, no pathspec magic). This is " -"equivalent to setting the `GIT_LITERAL_PATHSPECS` environment variable to " -"`1`." +#: en/cmds-mainporcelain.txt:42 +msgid "Show changes between commits, commit and working tree, etc." msgstr "" -#. type: Labeled list -#: en/git.txt:638 +#. type: Plain text +#: en/cmds-mainporcelain.txt:43 en/git-fetch-pack.txt:129 #, no-wrap -msgid "--glob-pathspecs" +msgid "linkgit:git-fetch[1]" msgstr "" #. type: Plain text -#: en/git.txt:643 -msgid "" -"Add \"glob\" magic to all pathspec. This is equivalent to setting the " -"`GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling globbing on " -"individual pathspecs can be done using pathspec magic \":(literal)\"" -msgstr "" +#: en/cmds-mainporcelain.txt:45 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Download objects and refs from another repository." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Labeled list -#: en/git.txt:644 -#, no-wrap -msgid "--noglob-pathspecs" -msgstr "" +#: en/cmds-mainporcelain.txt:46 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-format-patch[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:649 -msgid "" -"Add \"literal\" magic to all pathspec. This is equivalent to setting the " -"`GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling globbing on " -"individual pathspecs can be done using pathspec magic \":(glob)\"" +#: en/cmds-mainporcelain.txt:48 +msgid "Prepare patches for e-mail submission." msgstr "" #. type: Labeled list -#: en/git.txt:650 -#, no-wrap -msgid "--icase-pathspecs" -msgstr "" +#: en/cmds-mainporcelain.txt:49 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-gc[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:653 -msgid "" -"Add \"icase\" magic to all pathspec. This is equivalent to setting the " -"`GIT_ICASE_PATHSPECS` environment variable to `1`." +#: en/cmds-mainporcelain.txt:51 +msgid "Cleanup unnecessary files and optimize the local repository." msgstr "" -#. type: Title - -#: en/git.txt:655 -#, no-wrap -msgid "GIT COMMANDS" -msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:52 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-grep[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:659 -msgid "" -"We divide Git into high level (\"porcelain\") commands and low level " -"(\"plumbing\") commands." +#: en/cmds-mainporcelain.txt:54 +msgid "Print lines matching a pattern." msgstr "" -#. type: Title - -#: en/git.txt:661 -#, no-wrap -msgid "High-level commands (porcelain)" -msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:55 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-gui[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:665 -msgid "" -"We separate the porcelain commands into the main commands and some ancillary " -"user utilities." -msgstr "" - -#. type: Title ~ -#: en/git.txt:667 -#, no-wrap -msgid "Main porcelain commands" +#: en/cmds-mainporcelain.txt:57 +msgid "A portable graphical interface to Git." msgstr "" -#. type: Title ~ -#: en/git.txt:672 -#, no-wrap -msgid "Ancillary Commands" -msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:58 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-init[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:674 -msgid "Manipulators:" +#: en/cmds-mainporcelain.txt:60 +msgid "Create an empty Git repository or reinitialize an existing one." msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:61 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-log[1]" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git.txt:678 -msgid "Interrogators:" +#: en/cmds-mainporcelain.txt:63 +msgid "Show commit logs." msgstr "" -#. type: Title ~ -#: en/git.txt:683 +#. type: Plain text +#: en/cmds-mainporcelain.txt:64 en/git-fmt-merge-msg.txt:75 #, no-wrap -msgid "Interacting with Others" +msgid "linkgit:git-merge[1]" msgstr "" #. type: Plain text -#: en/git.txt:687 -msgid "" -"These commands are to interact with foreign SCM and with other people via " -"patch over e-mail." +#: en/cmds-mainporcelain.txt:66 +msgid "Join two or more development histories together." msgstr "" -#. type: Title - -#: en/git.txt:692 -#, no-wrap -msgid "Low-level commands (plumbing)" -msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:67 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-mv[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:699 -msgid "" -"Although Git includes its own porcelain layer, its low-level commands are " -"sufficient to support development of alternative porcelains. Developers of " -"such porcelains might start by reading about linkgit:git-update-index[1] and " -"linkgit:git-read-tree[1]." +#: en/cmds-mainporcelain.txt:69 +msgid "Move or rename a file, a directory, or a symlink." msgstr "" -#. type: Plain text -#: en/git.txt:706 -msgid "" -"The interface (input, output, set of options and the semantics) to these " -"low-level commands are meant to be a lot more stable than Porcelain level " -"commands, because these commands are primarily for scripted use. The " -"interface to Porcelain commands on the other hand are subject to change in " -"order to improve the end user experience." -msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:70 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-notes[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:712 -msgid "" -"The following description divides the low-level commands into commands that " -"manipulate objects (in the repository, index, and working tree), commands " -"that interrogate and compare objects, and commands that move objects and " -"references between repositories." -msgstr "" - -#. type: Title ~ -#: en/git.txt:715 -#, no-wrap -msgid "Manipulation commands" +#: en/cmds-mainporcelain.txt:72 +msgid "Add or inspect object notes." msgstr "" -#. type: Title ~ -#: en/git.txt:721 +#. type: Plain text +#: en/cmds-mainporcelain.txt:73 en/git-fetch.txt:209 #, no-wrap -msgid "Interrogation commands" +msgid "linkgit:git-pull[1]" msgstr "" #. type: Plain text -#: en/git.txt:727 -msgid "" -"In general, the interrogate commands do not touch the files in the working " -"tree." +#: en/cmds-mainporcelain.txt:75 +msgid "Fetch from and integrate with another repository or a local branch." msgstr "" -#. type: Title ~ -#: en/git.txt:730 -#, no-wrap -msgid "Synching repositories" -msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:76 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-push[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:736 -msgid "" -"The following are helper commands used by the above; end users typically do " -"not use them directly." +#: en/cmds-mainporcelain.txt:78 +msgid "Update remote refs along with associated objects." msgstr "" -#. type: Title ~ -#: en/git.txt:741 +#. type: Plain text +#: en/cmds-mainporcelain.txt:79 en/git-svn.txt:1133 #, no-wrap -msgid "Internal helper commands" +msgid "linkgit:git-rebase[1]" msgstr "" #. type: Plain text -#: en/git.txt:745 -msgid "" -"These are internal helper commands used by other commands; end users " -"typically do not use them directly." +#: en/cmds-mainporcelain.txt:81 +msgid "Reapply commits on top of another base tip." msgstr "" -#. type: Title - -#: en/git.txt:750 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:82 #, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Configuration Mechanism" -msgstr "Configuration" +#| msgid "git-commit(1)" +msgid "linkgit:git-reset[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:755 -msgid "" -"Git uses a simple text format to store customizations that are per " -"repository and are per user. Such a configuration file may look like this:" +#: en/cmds-mainporcelain.txt:84 +msgid "Reset current HEAD to the specified state." msgstr "" -#. type: delimited block - -#: en/git.txt:760 +#. type: Plain text +#: en/cmds-mainporcelain.txt:85 en/git-cherry-pick.txt:230 #, no-wrap -msgid "" -"#\n" -"# A '#' or ';' character indicates a comment.\n" -"#\n" +msgid "linkgit:git-revert[1]" msgstr "" -#. type: delimited block - -#: en/git.txt:765 -#, no-wrap -msgid "" -"; core variables\n" -"[core]\n" -"\t; Don't trust file modes\n" -"\tfilemode = false\n" +#. type: Plain text +#: en/cmds-mainporcelain.txt:87 +msgid "Revert some existing commits." msgstr "" -#. type: delimited block - -#: en/git.txt:770 -#, no-wrap -msgid "" -"; user identity\n" -"[user]\n" -"\tname = \"Junio C Hamano\"\n" -"\temail = \"gitster@pobox.com\"\n" -msgstr "" +#. type: Labeled list +#: en/cmds-mainporcelain.txt:88 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-rm[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:776 -msgid "" -"Various commands read from the configuration file and adjust their operation " -"accordingly. See linkgit:git-config[1] for a list and more details about " -"the configuration mechanism." -msgstr "" - -#. type: Title - -#: en/git.txt:779 -#, no-wrap -msgid "Identifier Terminology" +#: en/cmds-mainporcelain.txt:90 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Remove files from the working tree and from the index." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git.txt:780 en/git-cat-file.txt:31 en/git-fsck.txt:23 en/git-tag.txt:166 -#, no-wrap -msgid "<object>" -msgstr "" +#: en/cmds-mainporcelain.txt:91 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-shortlog[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:782 -msgid "Indicates the object name for any type of object." +#: en/cmds-mainporcelain.txt:93 +msgid "Summarize 'git log' output." msgstr "" #. type: Labeled list -#: en/git.txt:783 en/git-unpack-file.txt:23 -#, no-wrap -msgid "<blob>" -msgstr "" +#: en/cmds-mainporcelain.txt:94 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-show[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:785 -msgid "Indicates a blob object name." +#: en/cmds-mainporcelain.txt:96 +msgid "Show various types of objects." msgstr "" #. type: Labeled list -#: en/git.txt:786 en/git-commit-tree.txt:43 -#, no-wrap -msgid "<tree>" -msgstr "" +#: en/cmds-mainporcelain.txt:97 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-stash[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:788 -msgid "Indicates a tree object name." +#: en/cmds-mainporcelain.txt:99 +msgid "Stash the changes in a dirty working directory away." msgstr "" #. type: Labeled list -#: en/git.txt:789 en/git-tag.txt:165 +#: en/cmds-mainporcelain.txt:100 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "<commit>" +msgid "linkgit:git-status[1]" msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:791 -msgid "Indicates a commit object name." +#: en/cmds-mainporcelain.txt:102 +msgid "Show the working tree status." msgstr "" #. type: Labeled list -#: en/git.txt:792 en/git-archive.txt:77 en/git-checkout.txt:281 -#: en/git-diff-index.txt:26 en/git-diff-tree.txt:29 en/git-ls-tree.txt:38 -#, no-wrap -msgid "<tree-ish>" -msgstr "" +#: en/cmds-mainporcelain.txt:103 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-submodule[1]" +msgstr "git-add(1)" #. type: Plain text -#: en/git.txt:797 -msgid "" -"Indicates a tree, commit or tag object name. A command that takes a <tree-" -"ish> argument ultimately wants to operate on a <tree> object but " -"automatically dereferences <commit> and <tag> objects that point at a <tree>." +#: en/cmds-mainporcelain.txt:105 +msgid "Initialize, update or inspect submodules." msgstr "" #. type: Labeled list -#: en/git.txt:798 +#: en/cmds-mainporcelain.txt:106 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "<commit-ish>" +msgid "linkgit:git-tag[1]" msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:803 -msgid "" -"Indicates a commit or tag object name. A command that takes a <commit-ish> " -"argument ultimately wants to operate on a <commit> object but automatically " -"dereferences <tag> objects that point at a <commit>." +#: en/cmds-mainporcelain.txt:108 +msgid "Create, list, delete or verify a tag object signed with GPG." msgstr "" #. type: Labeled list -#: en/git.txt:804 en/git-cat-file.txt:51 -#, no-wrap -msgid "<type>" -msgstr "" +#: en/cmds-mainporcelain.txt:109 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-worktree[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:807 -msgid "" -"Indicates that an object type is required. Currently one of: `blob`, " -"`tree`, `commit`, or `tag`." +#: en/cmds-mainporcelain.txt:111 +msgid "Manage multiple working trees." msgstr "" #. type: Labeled list -#: en/git.txt:808 en/git-ls-files.txt:177 en/git-update-index.txt:207 +#: en/cmds-mainporcelain.txt:112 en/git-gui.txt:104 #, no-wrap -msgid "<file>" +msgid "linkgit:gitk[1]" msgstr "" #. type: Plain text -#: en/git.txt:811 -msgid "" -"Indicates a filename - almost always relative to the root of the tree " -"structure `GIT_INDEX_FILE` describes." +#: en/cmds-mainporcelain.txt:114 +msgid "The Git repository browser." msgstr "" -#. type: Title - -#: en/git.txt:813 -#, no-wrap -msgid "Symbolic Identifiers" -msgstr "" +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:1 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-cat-file[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:816 -msgid "" -"Any Git command accepting any <object> can also use the following symbolic " -"notation:" +#: en/cmds-plumbinginterrogators.txt:3 +msgid "Provide content or type and size information for repository objects." msgstr "" #. type: Labeled list -#: en/git.txt:817 en/git-for-each-ref.txt:148 -#, no-wrap -msgid "HEAD" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:4 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-diff-files[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:819 -msgid "indicates the head of the current branch." +#: en/cmds-plumbinginterrogators.txt:6 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Compares files in the working tree and the index." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git.txt:820 -#, no-wrap -msgid "<tag>" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-diff-index[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:823 -msgid "a valid tag 'name' (i.e. a `refs/tags/<tag>` reference)." +#: en/cmds-plumbinginterrogators.txt:9 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Compare a tree to the working tree or index." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git.txt:824 en/git-cherry.txt:36 -#, no-wrap -msgid "<head>" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-diff-tree[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:827 -msgid "a valid head 'name' (i.e. a `refs/heads/<head>` reference)." +#: en/cmds-plumbinginterrogators.txt:12 +msgid "Compares the content and mode of blobs found via two tree objects." msgstr "" +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:13 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-for-each-ref[1]" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git.txt:830 -msgid "" -"For a more complete list of ways to spell object names, see \"SPECIFYING " -"REVISIONS\" section in linkgit:gitrevisions[7]." +#: en/cmds-plumbinginterrogators.txt:15 +msgid "Output information on each ref." msgstr "" -#. type: Title - -#: en/git.txt:833 -#, no-wrap -msgid "File/Directory Structure" -msgstr "" +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:16 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-ls-files[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:836 -msgid "Please see the linkgit:gitrepository-layout[5] document." +#: en/cmds-plumbinginterrogators.txt:18 +msgid "Show information about files in the index and the working tree." msgstr "" -#. type: Plain text -#: en/git.txt:838 -msgid "Read linkgit:githooks[5] for more details about each hook." -msgstr "" +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:19 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-ls-remote[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:841 -msgid "" -"Higher level SCMs may provide and manage additional information in the `" -"$GIT_DIR`." +#: en/cmds-plumbinginterrogators.txt:21 +msgid "List references in a remote repository." msgstr "" -#. type: Title - -#: en/git.txt:844 -#, no-wrap -msgid "Terminology" -msgstr "" +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:22 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-ls-tree[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:846 -msgid "Please see linkgit:gitglossary[7]." +#: en/cmds-plumbinginterrogators.txt:24 +msgid "List the contents of a tree object." msgstr "" -#. type: Title - -#: en/git.txt:849 en/git-fsck.txt:146 -#, no-wrap -msgid "Environment Variables" -msgstr "" +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:25 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-merge-base[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:851 -msgid "Various Git commands use the following environment variables:" +#: en/cmds-plumbinginterrogators.txt:27 +msgid "Find as good common ancestors as possible for a merge." msgstr "" -#. type: Title ~ -#: en/git.txt:853 -#, no-wrap -msgid "The Git Repository" -msgstr "" +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:28 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-name-rev[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:857 -msgid "" -"These environment variables apply to 'all' core Git commands. Nb: it is " -"worth noting that they may be used/overridden by SCMS sitting above Git so " -"take care if using a foreign front-end." +#: en/cmds-plumbinginterrogators.txt:30 +msgid "Find symbolic names for given revs." msgstr "" #. type: Labeled list -#: en/git.txt:858 -#, no-wrap -msgid "`GIT_INDEX_FILE`" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:31 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-pack-redundant[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:862 -msgid "" -"This environment allows the specification of an alternate index file. If not " -"specified, the default of `$GIT_DIR/index` is used." +#: en/cmds-plumbinginterrogators.txt:33 +msgid "Find redundant pack files." msgstr "" #. type: Labeled list -#: en/git.txt:863 -#, no-wrap -msgid "`GIT_INDEX_VERSION`" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:34 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-rev-list[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:868 -msgid "" -"This environment variable allows the specification of an index version for " -"new repositories. It won't affect existing index files. By default index " -"file version 2 or 3 is used. See linkgit:git-update-index[1] for more " -"information." +#: en/cmds-plumbinginterrogators.txt:36 +msgid "Lists commit objects in reverse chronological order." msgstr "" #. type: Labeled list -#: en/git.txt:869 -#, no-wrap -msgid "`GIT_OBJECT_DIRECTORY`" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:37 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-show-index[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:874 -msgid "" -"If the object storage directory is specified via this environment variable " -"then the sha1 directories are created underneath - otherwise the default `" -"$GIT_DIR/objects` directory is used." +#: en/cmds-plumbinginterrogators.txt:39 +msgid "Show packed archive index." msgstr "" -#. type: Labeled list -#: en/git.txt:875 +#. type: Plain text +#: en/cmds-plumbinginterrogators.txt:40 en/git-for-each-ref.txt:341 #, no-wrap -msgid "`GIT_ALTERNATE_OBJECT_DIRECTORIES`" +msgid "linkgit:git-show-ref[1]" msgstr "" #. type: Plain text -#: en/git.txt:881 -msgid "" -"Due to the immutable nature of Git objects, old objects can be archived into " -"shared, read-only directories. This variable specifies a \":\" separated (on " -"Windows \";\" separated) list of Git object directories which can be used to " -"search for Git objects. New objects will not be written to these directories." +#: en/cmds-plumbinginterrogators.txt:42 +msgid "List references in a local repository." msgstr "" -#. type: Plain text -#: en/git.txt:887 -msgid "" -"Entries that begin with `\"` (double-quote) will be interpreted as C-style " -"quoted paths, removing leading and trailing double-quotes and respecting " -"backslash escapes. E.g., the value `\"path-with-\\\"-and-:-in-it\":vanilla-" -"path` has two paths: `path-with-\"-and-:-in-it` and `vanilla-path`." +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:43 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-unpack-file[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-plumbinginterrogators.txt:45 +msgid "Creates a temporary file with a blob's contents." msgstr "" #. type: Labeled list -#: en/git.txt:888 -#, no-wrap -msgid "`GIT_DIR`" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:46 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-var[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:893 -msgid "" -"If the `GIT_DIR` environment variable is set then it specifies a path to use " -"instead of the default `.git` for the base of the repository. The `--git-" -"dir` command-line option also sets this value." +#: en/cmds-plumbinginterrogators.txt:48 +msgid "Show a Git logical variable." msgstr "" #. type: Labeled list -#: en/git.txt:894 -#, no-wrap -msgid "`GIT_WORK_TREE`" -msgstr "" +#: en/cmds-plumbinginterrogators.txt:49 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-verify-pack[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:898 -msgid "" -"Set the path to the root of the working tree. This can also be controlled " -"by the `--work-tree` command-line option and the core.worktree configuration " -"variable." +#: en/cmds-plumbinginterrogators.txt:51 +msgid "Validate packed Git archive files." msgstr "" #. type: Labeled list -#: en/git.txt:899 -#, no-wrap -msgid "`GIT_NAMESPACE`" -msgstr "" +#: en/cmds-plumbingmanipulators.txt:1 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-apply[1]" +msgstr "git-commit(1)" +# #. type: Plain text -#: en/git.txt:902 -msgid "" -"Set the Git namespace; see linkgit:gitnamespaces[7] for details. The `--" -"namespace` command-line option also sets this value." -msgstr "" +#: en/cmds-plumbingmanipulators.txt:3 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Apply a patch to files and/or to the index." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Labeled list -#: en/git.txt:903 -#, no-wrap -msgid "`GIT_CEILING_DIRECTORIES`" -msgstr "" +#: en/cmds-plumbingmanipulators.txt:4 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-checkout-index[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:917 -msgid "" -"This should be a colon-separated list of absolute paths. If set, it is a " -"list of directories that Git should not chdir up into while looking for a " -"repository directory (useful for excluding slow-loading network " -"directories). It will not exclude the current working directory or a " -"GIT_DIR set on the command line or in the environment. Normally, Git has to " -"read the entries in this list and resolve any symlink that might be present " -"in order to compare them with the current directory. However, if even this " -"access is slow, you can add an empty entry to the list to tell Git that the " -"subsequent entries are not symlinks and needn't be resolved; e.g., " -"`GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink`." +#: en/cmds-plumbingmanipulators.txt:6 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Copy files from the index to the working tree." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git.txt:918 -#, no-wrap -msgid "`GIT_DISCOVERY_ACROSS_FILESYSTEM`" -msgstr "" +#: en/cmds-plumbingmanipulators.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-commit-tree[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:927 -msgid "" -"When run in a directory that does not have \".git\" repository directory, " -"Git tries to find such a directory in the parent directories to find the top " -"of the working tree, but by default it does not cross filesystem " -"boundaries. This environment variable can be set to true to tell Git not to " -"stop at filesystem boundaries. Like `GIT_CEILING_DIRECTORIES`, this will " -"not affect an explicit repository directory set via `GIT_DIR` or on the " -"command line." +#: en/cmds-plumbingmanipulators.txt:9 +msgid "Create a new commit object." msgstr "" #. type: Labeled list -#: en/git.txt:928 +#: en/cmds-plumbingmanipulators.txt:10 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_COMMON_DIR`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-hash-object[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:936 -msgid "" -"If this variable is set to a path, non-worktree files that are normally in " -"$GIT_DIR will be taken from this path instead. Worktree-specific files such " -"as HEAD or index are taken from $GIT_DIR. See linkgit:gitrepository-" -"layout[5] and linkgit:git-worktree[1] for details. This variable has lower " -"precedence than other path variables such as GIT_INDEX_FILE, " -"GIT_OBJECT_DIRECTORY..." +#: en/cmds-plumbingmanipulators.txt:12 +msgid "Compute object ID and optionally creates a blob from a file." msgstr "" -#. type: Title ~ -#: en/git.txt:938 +#. type: Labeled list +#: en/cmds-plumbingmanipulators.txt:13 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "Git Commits" -msgstr "$ git commit\n" +#| msgid "git-commit(1)" +msgid "linkgit:git-index-pack[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:15 +msgid "Build pack index file for an existing packed archive." +msgstr "" #. type: Labeled list -#: en/git.txt:939 +#: en/cmds-plumbingmanipulators.txt:16 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_AUTHOR_NAME`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-merge-file[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:18 +msgid "Run a three-way file merge." +msgstr "" #. type: Labeled list -#: en/git.txt:940 +#: en/cmds-plumbingmanipulators.txt:19 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_AUTHOR_EMAIL`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-merge-index[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:21 +msgid "Run a merge for files needing merging." +msgstr "" #. type: Labeled list -#: en/git.txt:941 +#: en/cmds-plumbingmanipulators.txt:22 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_AUTHOR_DATE`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-mktag[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:24 +msgid "Creates a tag object." +msgstr "" #. type: Labeled list -#: en/git.txt:942 +#: en/cmds-plumbingmanipulators.txt:25 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_COMMITTER_NAME`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-mktree[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:27 +msgid "Build a tree-object from ls-tree formatted text." +msgstr "" #. type: Labeled list -#: en/git.txt:943 +#: en/cmds-plumbingmanipulators.txt:28 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_COMMITTER_EMAIL`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-pack-objects[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:30 +msgid "Create a packed archive of objects." +msgstr "" #. type: Labeled list -#: en/git.txt:944 +#: en/cmds-plumbingmanipulators.txt:31 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_COMMITTER_DATE`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-prune-packed[1]" +msgstr "git-commit(1)" -#. type: Labeled list -#: en/git.txt:945 -#, no-wrap -msgid "'EMAIL'" +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:33 +msgid "Remove extra objects that are already in pack files." msgstr "" -#. type: Plain text -#: en/git.txt:947 -#, fuzzy +#. type: Labeled list +#: en/cmds-plumbingmanipulators.txt:34 +#, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "see linkgit:git-commit-tree[1]" +msgid "linkgit:git-read-tree[1]" msgstr "git-commit(1)" -#. type: Title ~ -#: en/git.txt:949 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "Git Diffs" -msgstr "$ git commit\n" +# +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:36 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Reads tree information into the index." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Labeled list -#: en/git.txt:950 -#, no-wrap -msgid "`GIT_DIFF_OPTS`" -msgstr "" +#: en/cmds-plumbingmanipulators.txt:37 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-symbolic-ref[1]" +msgstr "git-add(1)" #. type: Plain text -#: en/git.txt:955 -msgid "" -"Only valid setting is \"--unified=??\" or \"-u??\" to set the number of " -"context lines shown when a unified diff is created. This takes precedence " -"over any \"-U\" or \"--unified\" option value passed on the Git diff command " -"line." +#: en/cmds-plumbingmanipulators.txt:39 +msgid "Read, modify and delete symbolic refs." msgstr "" #. type: Labeled list -#: en/git.txt:956 -#, no-wrap -msgid "`GIT_EXTERNAL_DIFF`" -msgstr "" +#: en/cmds-plumbingmanipulators.txt:40 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-unpack-objects[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:961 -msgid "" -"When the environment variable `GIT_EXTERNAL_DIFF` is set, the program named " -"by it is called, instead of the diff invocation described above. For a path " -"that is added, removed, or modified, `GIT_EXTERNAL_DIFF` is called with 7 " -"parameters:" +#: en/cmds-plumbingmanipulators.txt:42 +msgid "Unpack objects from a packed archive." msgstr "" -#. type: Plain text -#: en/git.txt:963 -msgid "path old-file old-hex old-mode new-file new-hex new-mode" -msgstr "" +#. type: Labeled list +#: en/cmds-plumbingmanipulators.txt:43 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "linkgit:git-update-index[1]" +msgstr "git-add(1)" +# #. type: Plain text -#: en/git.txt:965 -msgid "where:" -msgstr "" +#: en/cmds-plumbingmanipulators.txt:45 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Register file contents in the working tree to the index." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Labeled list -#: en/git.txt:966 -#, no-wrap -msgid "<old|new>-file" -msgstr "" +#: en/cmds-plumbingmanipulators.txt:46 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-update-ref[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:967 -msgid "are files GIT_EXTERNAL_DIFF can use to read the" +#: en/cmds-plumbingmanipulators.txt:48 +msgid "Update the object name stored in a ref safely." msgstr "" #. type: Plain text -#: en/git.txt:968 -#, no-wrap -msgid "contents of <old|new>,\n" -msgstr "" - -#. type: Labeled list -#: en/git.txt:968 +#: en/cmds-plumbingmanipulators.txt:49 en/git-commit-tree.txt:115 #, no-wrap -msgid "<old|new>-hex" +msgid "linkgit:git-write-tree[1]" msgstr "" #. type: Plain text -#: en/git.txt:969 -msgid "are the 40-hexdigit SHA-1 hashes," +#: en/cmds-plumbingmanipulators.txt:51 +msgid "Create a tree object from the current index." msgstr "" #. type: Labeled list -#: en/git.txt:969 -#, no-wrap -msgid "<old|new>-mode" -msgstr "" +#: en/cmds-purehelpers.txt:1 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-check-attr[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:970 -msgid "are the octal representation of the file modes." +#: en/cmds-purehelpers.txt:3 +msgid "Display gitattributes information." msgstr "" -#. type: Plain text -#: en/git.txt:976 -msgid "" -"The file parameters can point at the user's working file (e.g. `new-file` in " -"\"git-diff-files\"), `/dev/null` (e.g. `old-file` when a new file is added), " -"or a temporary file (e.g. `old-file` in the index). `GIT_EXTERNAL_DIFF` " -"should not worry about unlinking the temporary file --- it is removed when " -"`GIT_EXTERNAL_DIFF` exits." -msgstr "" +#. type: Labeled list +#: en/cmds-purehelpers.txt:4 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-check-ignore[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:979 -msgid "" -"For a path that is unmerged, `GIT_EXTERNAL_DIFF` is called with 1 parameter, " -"<path>." +#: en/cmds-purehelpers.txt:6 +msgid "Debug gitignore / exclude files." msgstr "" +#. type: Labeled list +#: en/cmds-purehelpers.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-check-mailmap[1]" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git.txt:982 -msgid "" -"For each path `GIT_EXTERNAL_DIFF` is called, two environment variables, " -"`GIT_DIFF_PATH_COUNTER` and `GIT_DIFF_PATH_TOTAL` are set." +#: en/cmds-purehelpers.txt:9 +msgid "Show canonical names and email addresses of contacts." msgstr "" #. type: Labeled list -#: en/git.txt:983 -#, no-wrap -msgid "`GIT_DIFF_PATH_COUNTER`" -msgstr "" +#: en/cmds-purehelpers.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-check-ref-format[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:985 -msgid "A 1-based counter incremented by one for every path." +#: en/cmds-purehelpers.txt:12 +msgid "Ensures that a reference name is well formed." msgstr "" #. type: Labeled list -#: en/git.txt:986 -#, no-wrap -msgid "`GIT_DIFF_PATH_TOTAL`" -msgstr "" +#: en/cmds-purehelpers.txt:13 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-column[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:988 -msgid "The total number of paths." +#: en/cmds-purehelpers.txt:15 +msgid "Display data in columns." msgstr "" +#. type: Labeled list +#: en/cmds-purehelpers.txt:16 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-credential[1]" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git.txt:990 en/git-ls-files.txt:130 -#, no-wrap -msgid "other" +#: en/cmds-purehelpers.txt:18 +msgid "Retrieve and store user credentials." msgstr "" #. type: Labeled list -#: en/git.txt:991 -#, no-wrap -msgid "`GIT_MERGE_VERBOSITY`" -msgstr "" +#: en/cmds-purehelpers.txt:19 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-credential-cache[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:995 -msgid "" -"A number controlling the amount of output shown by the recursive merge " -"strategy. Overrides merge.verbosity. See linkgit:git-merge[1]" +#: en/cmds-purehelpers.txt:21 +msgid "Helper to temporarily store passwords in memory." msgstr "" #. type: Labeled list -#: en/git.txt:996 -#, no-wrap -msgid "`GIT_PAGER`" -msgstr "" +#: en/cmds-purehelpers.txt:22 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-credential-store[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:1001 -msgid "" -"This environment variable overrides `$PAGER`. If it is set to an empty " -"string or to the value \"cat\", Git will not launch a pager. See also the " -"`core.pager` option in linkgit:git-config[1]." +#: en/cmds-purehelpers.txt:24 +msgid "Helper to store credentials on disk." msgstr "" #. type: Labeled list -#: en/git.txt:1002 +#: en/cmds-purehelpers.txt:25 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_EDITOR`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-fmt-merge-msg[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:1007 -msgid "" -"This environment variable overrides `$EDITOR` and `$VISUAL`. It is used by " -"several Git commands when, on interactive mode, an editor is to be launched. " -"See also linkgit:git-var[1] and the `core.editor` option in linkgit:git-" -"config[1]." +#: en/cmds-purehelpers.txt:27 +msgid "Produce a merge commit message." msgstr "" #. type: Labeled list -#: en/git.txt:1008 -#, no-wrap -msgid "`GIT_SSH`" +#: en/cmds-purehelpers.txt:28 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-interpret-trailers[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-purehelpers.txt:30 +msgid "add or parse structured information in commit messages." msgstr "" #. type: Labeled list -#: en/git.txt:1009 +#: en/cmds-purehelpers.txt:31 #, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_SSH_COMMAND`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" +#| msgid "git-commit(1)" +msgid "linkgit:git-mailinfo[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:1018 -msgid "" -"If either of these environment variables is set then 'git fetch' and 'git " -"push' will use the specified command instead of 'ssh' when they need to " -"connect to a remote system. The command will be given exactly two or four " -"arguments: the 'username@host' (or just 'host') from the URL and the shell " -"command to execute on that remote system, optionally preceded by `-p` " -"(literally) and the 'port' from the URL when it specifies something other " -"than the default SSH port." +#: en/cmds-purehelpers.txt:33 +msgid "Extracts patch and authorship from a single e-mail message." msgstr "" -#. type: Plain text -#: en/git.txt:1024 -msgid "" -"`$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted by " -"the shell, which allows additional arguments to be included. `$GIT_SSH` on " -"the other hand must be just the path to a program (which can be a wrapper " -"shell script, if additional arguments are needed)." -msgstr "" +#. type: Labeled list +#: en/cmds-purehelpers.txt:34 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-mailsplit[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git.txt:1028 -msgid "" -"Usually it is easier to configure any desired options through your personal " -"`.ssh/config` file. Please consult your ssh documentation for further " -"details." +#: en/cmds-purehelpers.txt:36 +msgid "Simple UNIX mbox splitter program." msgstr "" #. type: Labeled list -#: en/git.txt:1029 -#, no-wrap -msgid "`GIT_SSH_VARIANT`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1034 -msgid "" -"If this environment variable is set, it overrides Git's autodetection " -"whether `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` refer to OpenSSH, " -"plink or tortoiseplink. This variable overrides the config setting `ssh." -"variant` that serves the same purpose." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1035 -#, no-wrap -msgid "`GIT_ASKPASS`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1041 -msgid "" -"If this environment variable is set, then Git commands which need to acquire " -"passwords or passphrases (e.g. for HTTP or IMAP authentication) will call " -"this program with a suitable prompt as command-line argument and read the " -"password from its STDOUT. See also the `core.askPass` option in linkgit:git-" -"config[1]." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1042 -#, no-wrap -msgid "`GIT_TERMINAL_PROMPT`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1045 -msgid "" -"If this environment variable is set to `0`, git will not prompt on the " -"terminal (e.g., when asking for HTTP authentication)." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1046 -#, no-wrap -msgid "`GIT_CONFIG_NOSYSTEM`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1053 -msgid "" -"Whether to skip reading settings from the system-wide `$(prefix)/etc/" -"gitconfig` file. This environment variable can be used along with `$HOME` " -"and `$XDG_CONFIG_HOME` to create a predictable environment for a picky " -"script, or you can set it temporarily to avoid using a buggy `/etc/" -"gitconfig` file while waiting for someone with sufficient permissions to fix " -"it." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1054 -#, no-wrap -msgid "`GIT_FLUSH`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1064 -#, no-wrap -msgid "" -"If this environment variable is set to \"1\", then commands such\n" -"as 'git blame' (in incremental mode), 'git rev-list', 'git log',\n" -"'git check-attr' and 'git check-ignore' will\n" -"force a flush of the output stream after each record have been\n" -"flushed. If this\n" -"variable is set to \"0\", the output of these commands will be done\n" -"using completely buffered I/O. If this environment variable is\n" -"not set, Git will choose buffered or record-oriented flushing\n" -"based on whether stdout appears to be redirected to a file or not.\n" -msgstr "" - -#. type: Labeled list -#: en/git.txt:1065 -#, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_TRACE`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" - -#. type: Plain text -#: en/git.txt:1068 -msgid "" -"Enables general trace messages, e.g. alias expansion, built-in command " -"execution and external command execution." -msgstr "" - -#. type: Plain text -#: en/git.txt:1072 -msgid "" -"If this variable is set to \"1\", \"2\" or \"true\" (comparison is case " -"insensitive), trace messages will be printed to stderr." -msgstr "" - -#. type: Plain text -#: en/git.txt:1077 -msgid "" -"If the variable is set to an integer value greater than 2 and lower than 10 " -"(strictly) then Git will interpret this value as an open file descriptor and " -"will try to write the trace messages into this file descriptor." -msgstr "" - -#. type: Plain text -#: en/git.txt:1082 -msgid "" -"Alternatively, if the variable is set to an absolute path (starting with a " -"'/' character), Git will interpret this as a file path and will try to write " -"the trace messages into it." -msgstr "" - -#. type: Plain text -#: en/git.txt:1085 -msgid "" -"Unsetting the variable, or setting it to empty, \"0\" or \"false\" (case " -"insensitive) disables trace messages." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1086 -#, no-wrap -msgid "`GIT_TRACE_PACK_ACCESS`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1092 -msgid "" -"Enables trace messages for all accesses to any packs. For each access, the " -"pack file name and an offset in the pack is recorded. This may be helpful " -"for troubleshooting some pack-related performance problems. See `GIT_TRACE` " -"for available trace output options." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1093 -#, no-wrap -msgid "`GIT_TRACE_PACKET`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1099 -msgid "" -"Enables trace messages for all packets coming in or out of a given program. " -"This can help with debugging object negotiation or other protocol issues. " -"Tracing is turned off at a packet starting with \"PACK\" (but see " -"`GIT_TRACE_PACKFILE` below). See `GIT_TRACE` for available trace output " -"options." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1100 -#, no-wrap -msgid "`GIT_TRACE_PACKFILE`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1107 -msgid "" -"Enables tracing of packfiles sent or received by a given program. Unlike " -"other trace output, this trace is verbatim: no headers, and no quoting of " -"binary data. You almost certainly want to direct into a file (e.g., " -"`GIT_TRACE_PACKFILE=/tmp/my.pack`) rather than displaying it on the terminal " -"or mixing it with other trace output." -msgstr "" - -#. type: Plain text -#: en/git.txt:1110 -msgid "" -"Note that this is currently only implemented for the client side of clones " -"and fetches." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1111 -#, no-wrap -msgid "`GIT_TRACE_PERFORMANCE`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1115 -msgid "" -"Enables performance related trace messages, e.g. total execution time of " -"each Git command. See `GIT_TRACE` for available trace output options." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1116 -#, no-wrap -msgid "`GIT_TRACE_SETUP`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1120 -msgid "" -"Enables trace messages printing the .git, working tree and current working " -"directory after Git has completed its setup phase. See `GIT_TRACE` for " -"available trace output options." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1121 -#, no-wrap -msgid "`GIT_TRACE_SHALLOW`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1125 -msgid "" -"Enables trace messages that can help debugging fetching / cloning of shallow " -"repositories. See `GIT_TRACE` for available trace output options." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1126 -#, no-wrap -msgid "`GIT_TRACE_CURL`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1133 -msgid "" -"Enables a curl full trace dump of all incoming and outgoing data, including " -"descriptive information, of the git transport protocol. This is similar to " -"doing curl `--trace-ascii` on the command line. This option overrides " -"setting the `GIT_CURL_VERBOSE` environment variable. See `GIT_TRACE` for " -"available trace output options." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1134 -#, fuzzy, no-wrap -#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgid "`GIT_LITERAL_PATHSPECS`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" - -#. type: Plain text -#: en/git.txt:1142 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs " -"literally, rather than as glob patterns. For example, running " -"`GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search for commits that " -"touch the path `*.c`, not any paths that the glob `*.c` matches. You might " -"want this if you are feeding literal paths to Git (e.g., paths previously " -"given to you by `git ls-tree`, `--raw` diff output, etc)." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1143 -#, no-wrap -msgid "`GIT_GLOB_PATHSPECS`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1146 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs as glob " -"patterns (aka \"glob\" magic)." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1147 -#, no-wrap -msgid "`GIT_NOGLOB_PATHSPECS`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1150 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs as " -"literal (aka \"literal\" magic)." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1151 -#, no-wrap -msgid "`GIT_ICASE_PATHSPECS`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1154 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs as case-" -"insensitive." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1155 -#, no-wrap -msgid "`GIT_REFLOG_ACTION`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1164 -msgid "" -"When a ref is updated, reflog entries are created to keep track of the " -"reason why the ref was updated (which is typically the name of the high-" -"level command that updated the ref), in addition to the old and new values " -"of the ref. A scripted Porcelain command can use set_reflog_action helper " -"function in `git-sh-setup` to set its name to this variable when it is " -"invoked as the top level command by the end user, to be recorded in the body " -"of the reflog." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1165 -#, no-wrap -msgid "`GIT_REF_PARANOIA`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1175 -msgid "" -"If set to `1`, include broken or badly named refs when iterating over lists " -"of refs. In a normal, non-corrupted repository, this does nothing. However, " -"enabling it may help git to detect and abort some operations in the presence " -"of broken refs. Git sets this variable automatically when performing " -"destructive operations like linkgit:git-prune[1]. You should not need to set " -"it yourself unless you want to be paranoid about making sure an operation " -"has touched every ref (e.g., because you are cloning a repository to make a " -"backup)." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1176 -#, no-wrap -msgid "`GIT_ALLOW_PROTOCOL`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1184 -msgid "" -"If set to a colon-separated list of protocols, behave as if `protocol.allow` " -"is set to `never`, and each of the listed protocols has `protocol.<name>." -"allow` set to `always` (overriding any existing configuration). In other " -"words, any protocol not mentioned will be disallowed (i.e., this is a " -"whitelist, not a blacklist). See the description of `protocol.allow` in " -"linkgit:git-config[1] for more details." -msgstr "" - -#. type: Labeled list -#: en/git.txt:1185 -#, no-wrap -msgid "`GIT_PROTOCOL_FROM_USER`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1191 -msgid "" -"Set to 0 to prevent protocols used by fetch/push/clone which are configured " -"to the `user` state. This is useful to restrict recursive submodule " -"initialization from an untrusted repository or for programs which feed " -"potentially-untrusted URLS to git commands. See linkgit:git-config[1] for " -"more details." -msgstr "" - -#. type: Title - -#: en/git.txt:1193 -#, no-wrap -msgid "Discussion[[Discussion]]" -msgstr "" - -#. type: Plain text -#: en/git.txt:1198 -msgid "" -"More detail on the following is available from the link:user-manual.html#git-" -"concepts[Git concepts chapter of the user-manual] and linkgit:gitcore-" -"tutorial[7]." -msgstr "" - -#. type: Plain text -#: en/git.txt:1205 -msgid "" -"A Git project normally consists of a working directory with a \".git\" " -"subdirectory at the top level. The .git directory contains, among other " -"things, a compressed object database representing the complete history of " -"the project, an \"index\" file which links that history to the current " -"contents of the working tree, and named pointers into that history such as " -"tags and branch heads." -msgstr "" - -#. type: Plain text -#: en/git.txt:1210 -msgid "" -"The object database contains objects of three main types: blobs, which hold " -"file data; trees, which point to blobs and other trees to build up directory " -"hierarchies; and commits, which each reference a single tree and some number " -"of parent commits." -msgstr "" - -#. type: Plain text -#: en/git.txt:1215 -msgid "" -"The commit, equivalent to what other systems call a \"changeset\" or " -"\"version\", represents a step in the project's history, and each parent " -"represents an immediately preceding step. Commits with more than one parent " -"represent merges of independent lines of development." -msgstr "" - -#. type: Plain text -#: en/git.txt:1221 -msgid "" -"All objects are named by the SHA-1 hash of their contents, normally written " -"as a string of 40 hex digits. Such names are globally unique. The entire " -"history leading up to a commit can be vouched for by signing just that " -"commit. A fourth object type, the tag, is provided for this purpose." -msgstr "" - -#. type: Plain text -#: en/git.txt:1224 -msgid "" -"When first created, objects are stored in individual files, but for " -"efficiency may later be compressed together into \"pack files\"." -msgstr "" - -#. type: Plain text -#: en/git.txt:1231 -msgid "" -"Named pointers called refs mark interesting points in history. A ref may " -"contain the SHA-1 name of an object or the name of another ref. Refs with " -"names beginning `ref/head/` contain the SHA-1 name of the most recent commit " -"(or \"head\") of a branch under development. SHA-1 names of tags of " -"interest are stored under `ref/tags/`. A special ref named `HEAD` contains " -"the name of the currently checked-out branch." -msgstr "" - -#. type: Plain text -#: en/git.txt:1240 -msgid "" -"The index file is initialized with a list of all paths and, for each path, a " -"blob object and a set of attributes. The blob object represents the " -"contents of the file as of the head of the current branch. The attributes " -"(last modified time, size, etc.) are taken from the corresponding file in " -"the working tree. Subsequent changes to the working tree can be found by " -"comparing these attributes. The index may be updated with new content, and " -"new commits may be created from the content stored in the index." -msgstr "" - -#. type: Plain text -#: en/git.txt:1244 -msgid "" -"The index is also capable of storing multiple entries (called \"stages\") " -"for a given pathname. These stages are used to hold the various unmerged " -"version of a file when a merge is in progress." -msgstr "" - -#. type: Title - -#: en/git.txt:1246 -#, no-wrap -msgid "FURTHER DOCUMENTATION" -msgstr "" - -#. type: Plain text -#: en/git.txt:1251 -msgid "" -"See the references in the \"description\" section to get started using Git. " -"The following is probably more detail than necessary for a first-time user." -msgstr "" - -#. type: Plain text -#: en/git.txt:1255 -msgid "" -"The link:user-manual.html#git-concepts[Git concepts chapter of the user-" -"manual] and linkgit:gitcore-tutorial[7] both provide introductions to the " -"underlying Git architecture." -msgstr "" - -#. type: Plain text -#: en/git.txt:1257 -msgid "See linkgit:gitworkflows[7] for an overview of recommended workflows." -msgstr "" - -#. type: Plain text -#: en/git.txt:1260 -msgid "" -"See also the link:howto-index.html[howto] documents for some useful examples." -msgstr "" - -#. type: Plain text -#: en/git.txt:1263 -msgid "" -"The internals are documented in the link:technical/api-index.html[Git API " -"documentation]." -msgstr "" - -#. type: Plain text -#: en/git.txt:1266 -msgid "" -"Users migrating from CVS may also want to read linkgit:gitcvs-migration[7]." -msgstr "" - -#. type: Title - -#: en/git.txt:1269 -#, no-wrap -msgid "Authors" -msgstr "" - -#. type: Plain text -#: en/git.txt:1274 -msgid "" -"Git was started by Linus Torvalds, and is currently maintained by Junio C " -"Hamano. Numerous contributions have come from the Git mailing list <git@vger." -"kernel.org>. http://www.openhub.net/p/git/contributors/summary gives you a " -"more complete list of contributors." -msgstr "" - -#. type: Plain text -#: en/git.txt:1278 -msgid "" -"If you have a clone of git.git itself, the output of linkgit:git-shortlog[1] " -"and linkgit:git-blame[1] can show you the authors for specific parts of the " -"project." -msgstr "" - -#. type: Title - -#: en/git.txt:1280 -#, no-wrap -msgid "Reporting Bugs" -msgstr "" - -#. type: Plain text -#: en/git.txt:1285 -msgid "" -"Report bugs to the Git mailing list <git@vger.kernel.org> where the " -"development and maintenance is primarily done. You do not have to be " -"subscribed to the list to send a message there." -msgstr "" - -#. type: Title - -#: en/git.txt:1287 en/git-add.txt:406 en/git-am.txt:228 en/git-annotate.txt:29 -#: en/git-apply.txt:270 en/git-archive.txt:192 en/git-bisect.txt:494 -#: en/git-blame.txt:232 en/git-branch.txt:313 en/git-check-attr.txt:115 -#: en/git-check-ignore.txt:113 en/git-cherry-pick.txt:228 en/git-cherry.txt:140 -#: en/git-clean.txt:136 en/git-commit.txt:480 en/git-commit-tree.txt:113 -#: en/git-difftool.txt:135 en/git-diff.txt:179 en/git-fast-export.txt:213 -#: en/git-fast-import.txt:1470 en/git-fetch-pack.txt:127 en/git-fetch.txt:207 -#: en/git-fmt-merge-msg.txt:73 en/git-for-each-ref.txt:339 -#: en/git-format-patch.txt:636 en/git-gc.txt:178 en/git-gui.txt:103 -#: en/git-imap-send.txt:178 en/git-instaweb.txt:88 -#: en/git-interpret-trailers.txt:334 en/git-ls-files.txt:237 -#: en/git-merge.txt:353 en/git-pack-objects.txt:235 -#: en/git-pack-redundant.txt:43 en/git-prune-packed.txt:41 en/git-prune.txt:78 -#: en/git-pull.txt:252 en/git-read-tree.txt:425 en/git-receive-pack.txt:218 -#: en/git-remote-ext.txt:120 en/git-remote-fd.txt:54 -#: en/git-remote-testgit.txt:25 en/git-remote.txt:245 en/git-repack.txt:160 -#: en/git-replace.txt:144 en/git-revert.txt:124 en/git-rm.txt:183 -#: en/git-send-email.txt:477 en/git-shell.txt:83 en/git-show-ref.txt:178 -#: en/git-stash.txt:287 en/git-status.txt:354 en/git-svn.txt:1131 -#: en/git-tag.txt:345 en/git-update-index.txt:479 en/git-upload-pack.txt:48 -#: en/git-var.txt:63 -#, no-wrap -msgid "SEE ALSO" -msgstr "VOIR AUSSI" - -# -#. type: Plain text -#: en/git.txt:1293 -#, fuzzy -#| msgid "" -#| "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" -#| "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" -msgid "" -"linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:giteveryday[7], " -"linkgit:gitcvs-migration[7], linkgit:gitglossary[7], linkgit:gitcore-" -"tutorial[7], linkgit:gitcli[7], link:user-manual.html[The Git User's " -"Manual], linkgit:gitworkflows[7]" -msgstr "" -"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" -"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" - -#. type: Title - -#: en/git.txt:1295 en/git-add.txt:415 en/git-am.txt:232 en/git-annotate.txt:33 -#: en/git-apply.txt:274 en/git-archimport.txt:111 en/git-archive.txt:196 -#: en/git-bisect.txt:499 en/git-blame.txt:236 en/git-branch.txt:321 -#: en/git-bundle.txt:204 en/git-cat-file.txt:301 en/git-check-attr.txt:119 -#: en/git-check-ignore.txt:119 en/git-check-mailmap.txt:46 -#: en/git-checkout-index.txt:176 en/git-checkout.txt:521 -#: en/git-check-ref-format.txt:126 en/git-cherry-pick.txt:232 -#: en/git-cherry.txt:144 en/git-citool.txt:24 en/git-clean.txt:140 -#: en/git-clone.txt:296 en/git-column.txt:47 en/git-commit.txt:488 -#: en/git-commit-tree.txt:117 en/git-config.txt:429 en/git-count-objects.txt:53 -#: en/git-credential-cache--daemon.txt:29 en/git-credential-cache.txt:76 -#: en/git-credential-store.txt:105 en/git-cvsexportcommit.txt:117 -#: en/git-cvsimport.txt:227 en/git-cvsserver.txt:432 en/git-daemon.txt:317 -#: en/git-describe.txt:181 en/git-diff-files.txt:51 en/git-diff-index.txt:121 -#: en/git-difftool.txt:146 en/git-diff-tree.txt:166 en/git-diff.txt:188 -#: en/git-fast-export.txt:217 en/git-fast-import.txt:1474 -#: en/git-fetch-pack.txt:131 en/git-fetch.txt:211 en/git-filter-branch.txt:462 -#: en/git-fmt-merge-msg.txt:77 en/git-for-each-ref.txt:343 -#: en/git-format-patch.txt:640 en/git-fsck-objects.txt:21 en/git-fsck.txt:158 -#: en/git-gc.txt:185 en/git-get-tar-commit-id.txt:29 en/git-grep.txt:313 -#: en/git-gui.txt:126 en/git-hash-object.txt:64 en/git-help.txt:190 -#: en/git-http-backend.txt:276 en/git-http-fetch.txt:51 en/git-http-push.txt:96 -#: en/git-imap-send.txt:182 en/git-index-pack.txt:104 en/git-init-db.txt:22 -#: en/git-init.txt:157 en/git-instaweb.txt:92 en/git-interpret-trailers.txt:338 -#: en/git-log.txt:223 en/git-ls-files.txt:241 en/git-ls-remote.txt:94 -#: en/git-ls-tree.txt:103 en/git-mailinfo.txt:101 en/git-mailsplit.txt:56 -#: en/git-merge-base.txt:182 en/git-merge-file.txt:94 en/git-merge-index.txt:78 -#: en/git-merge-one-file.txt:20 en/git-mergetool--lib.txt:46 -#: en/git-mergetool.txt:100 en/git-merge-tree.txt:28 en/git-merge.txt:362 -#: en/git-mktag.txt:38 en/git-mktree.txt:39 en/git-mv.txt:68 -#: en/git-name-rev.txt:88 en/git-notes.txt:404 en/git-pack-objects.txt:241 -#: en/git-pack-redundant.txt:49 en/git-pack-refs.txt:72 -#: en/git-parse-remote.txt:22 en/git-patch-id.txt:63 en/git-prune-packed.txt:46 -#: en/git-prune.txt:85 en/git-pull.txt:256 en/git-push.txt:566 -#: en/git-quiltimport.txt:60 en/git-read-tree.txt:430 en/git-rebase.txt:801 -#: en/git-receive-pack.txt:222 en/git-reflog.txt:132 en/git-remote-ext.txt:124 -#: en/git-remote-fd.txt:58 en/git-remote-testgit.txt:29 en/git-remote.txt:251 -#: en/git-repack.txt:165 en/git-replace.txt:155 en/git-request-pull.txt:78 -#: en/git-rerere.txt:215 en/git-reset.txt:453 en/git-revert.txt:128 -#: en/git-rev-list.txt:120 en/git-rev-parse.txt:452 en/git-rm.txt:187 -#: en/git-send-email.txt:481 en/git-send-pack.txt:149 en/git-shell.txt:89 -#: en/git-sh-i18n--envsubst.txt:35 en/git-sh-i18n.txt:42 en/git-shortlog.txt:89 -#: en/git-show-branch.txt:203 en/git-show-index.txt:26 en/git-show-ref.txt:185 -#: en/git-show.txt:86 en/git-sh-setup.txt:94 en/git-stage.txt:22 -#: en/git-stash.txt:294 en/git-status.txt:358 en/git-stripspace.txt:93 -#: en/git-submodule.txt:437 en/git-svn.txt:1135 en/git-symbolic-ref.txt:68 -#: en/git-tag.txt:350 en/git-unpack-file.txt:27 en/git-unpack-objects.txt:51 -#: en/git-update-index.txt:485 en/git-update-ref.txt:151 -#: en/git-update-server-info.txt:43 en/git-upload-archive.txt:61 -#: en/git-upload-pack.txt:52 en/git-var.txt:69 en/git-verify-commit.txt:31 -#: en/git-verify-pack.txt:52 en/git-verify-tag.txt:31 -#: en/git-web--browse.txt:123 en/git-whatchanged.txt:42 en/git-worktree.txt:258 -#: en/git-write-tree.txt:41 -#, no-wrap -msgid "GIT" -msgstr "GIT" - -# -#. type: Plain text -#: en/git.txt:1296 en/git-add.txt:416 en/git-am.txt:233 en/git-annotate.txt:34 -#: en/git-apply.txt:275 en/git-archimport.txt:112 en/git-archive.txt:197 -#: en/git-bisect.txt:500 en/git-blame.txt:237 en/git-branch.txt:322 -#: en/git-bundle.txt:205 en/git-cat-file.txt:302 en/git-check-attr.txt:120 -#: en/git-check-ignore.txt:120 en/git-check-mailmap.txt:47 -#: en/git-checkout-index.txt:177 en/git-checkout.txt:522 -#: en/git-check-ref-format.txt:127 en/git-cherry-pick.txt:233 -#: en/git-cherry.txt:145 en/git-citool.txt:25 en/git-clean.txt:141 -#: en/git-clone.txt:297 en/git-column.txt:48 en/git-commit.txt:489 -#: en/git-commit-tree.txt:118 en/git-config.txt:430 en/git-count-objects.txt:54 -#: en/git-credential-cache--daemon.txt:30 en/git-credential-cache.txt:77 -#: en/git-credential-store.txt:106 en/git-cvsexportcommit.txt:118 -#: en/git-cvsimport.txt:228 en/git-cvsserver.txt:433 en/git-daemon.txt:318 -#: en/git-describe.txt:182 en/git-diff-files.txt:52 en/git-diff-index.txt:122 -#: en/git-difftool.txt:147 en/git-diff-tree.txt:167 en/git-diff.txt:189 -#: en/git-fast-export.txt:218 en/git-fast-import.txt:1475 -#: en/git-fetch-pack.txt:132 en/git-fetch.txt:212 en/git-filter-branch.txt:463 -#: en/git-fmt-merge-msg.txt:78 en/git-for-each-ref.txt:344 -#: en/git-format-patch.txt:641 en/git-fsck-objects.txt:22 en/git-fsck.txt:159 -#: en/git-gc.txt:186 en/git-get-tar-commit-id.txt:30 en/git-grep.txt:314 -#: en/git-gui.txt:127 en/git-hash-object.txt:65 en/git-help.txt:191 -#: en/git-http-backend.txt:277 en/git-http-fetch.txt:52 en/git-http-push.txt:97 -#: en/git-imap-send.txt:183 en/git-index-pack.txt:105 en/git-init-db.txt:23 -#: en/git-init.txt:158 en/git-instaweb.txt:93 en/git-interpret-trailers.txt:339 -#: en/git-log.txt:224 en/git-ls-files.txt:242 en/git-ls-remote.txt:95 -#: en/git-ls-tree.txt:104 en/git-mailinfo.txt:102 en/git-mailsplit.txt:57 -#: en/git-merge-base.txt:183 en/git-merge-file.txt:95 en/git-merge-index.txt:79 -#: en/git-merge-one-file.txt:21 en/git-mergetool--lib.txt:47 -#: en/git-mergetool.txt:101 en/git-merge-tree.txt:29 en/git-merge.txt:363 -#: en/git-mktag.txt:39 en/git-mktree.txt:40 en/git-mv.txt:69 -#: en/git-name-rev.txt:89 en/git-notes.txt:405 en/git-pack-objects.txt:242 -#: en/git-pack-redundant.txt:50 en/git-pack-refs.txt:73 -#: en/git-parse-remote.txt:23 en/git-patch-id.txt:64 en/git-prune-packed.txt:47 -#: en/git-prune.txt:86 en/git-pull.txt:257 en/git-push.txt:567 -#: en/git-quiltimport.txt:61 en/git-read-tree.txt:431 en/git-rebase.txt:802 -#: en/git-receive-pack.txt:223 en/git-reflog.txt:133 en/git-remote-ext.txt:125 -#: en/git-remote-fd.txt:59 en/git-remote-testgit.txt:30 en/git-remote.txt:252 -#: en/git-repack.txt:166 en/git-replace.txt:156 en/git-request-pull.txt:79 -#: en/git-rerere.txt:216 en/git-reset.txt:454 en/git-revert.txt:129 -#: en/git-rev-list.txt:121 en/git-rev-parse.txt:453 en/git-rm.txt:188 -#: en/git-send-email.txt:482 en/git-send-pack.txt:150 en/git-shell.txt:90 -#: en/git-sh-i18n--envsubst.txt:36 en/git-sh-i18n.txt:43 en/git-shortlog.txt:90 -#: en/git-show-branch.txt:204 en/git-show-index.txt:27 en/git-show-ref.txt:186 -#: en/git-show.txt:87 en/git-sh-setup.txt:95 en/git-stage.txt:23 -#: en/git-stash.txt:295 en/git-status.txt:359 en/git-stripspace.txt:94 -#: en/git-submodule.txt:438 en/git-svn.txt:1136 en/git-symbolic-ref.txt:69 -#: en/git-tag.txt:351 en/git-unpack-file.txt:28 en/git-unpack-objects.txt:52 -#: en/git-update-index.txt:486 en/git-update-ref.txt:152 -#: en/git-update-server-info.txt:44 en/git-upload-archive.txt:62 -#: en/git-upload-pack.txt:53 en/git-var.txt:70 en/git-verify-commit.txt:32 -#: en/git-verify-pack.txt:53 en/git-verify-tag.txt:32 -#: en/git-web--browse.txt:124 en/git-whatchanged.txt:43 en/git-worktree.txt:259 -#: en/git-write-tree.txt:42 -msgid "Part of the linkgit:git[1] suite" -msgstr "Fait partie de la suite linkgit:git[1]" - -#. type: Title = -#: en/git-add.txt:2 -#, no-wrap -msgid "git-add(1)" -msgstr "git-add(1)" - -# -#. type: Plain text -#: en/git-add.txt:7 -msgid "git-add - Add file contents to the index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Plain text -#: en/git-add.txt:15 -#, no-wrap -msgid "" -"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\n" -"\t [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\n" -"\t [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\n" -"\t [--chmod=(+|-)x] [--] [<pathspec>...]\n" -msgstr "" -"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\n" -"\t [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\n" -"\t [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\n" -"\t [--chmod=(+|-)x] [--] [<sp챕cificateur de chemin>...]\n" - -# -#. type: Plain text -#: en/git-add.txt:24 -msgid "" -"This command updates the index using the current content found in the " -"working tree, to prepare the content staged for the next commit. It " -"typically adds the current content of existing paths as a whole, but with " -"some options it can also be used to add content with only part of the " -"changes made to the working tree files applied, or remove paths that do not " -"exist in the working tree anymore." -msgstr "" -"Cette commande met 횪 jour l'index en utilisant le contenu actuel trouv챕 dans " -"l'arbre de travail, pour pr챕parer le contenu de la prochaine validation. " -"Typiquement, elle ajoute int챕gralement le contenu actuel des chemins " -"existant, mais peut aussi n'ajouter que certaines parties des modifications " -"au moyen d'options ou soustraire certains chemins qui n'existent plus dans " -"l'arbre de travail." - -# -#. type: Plain text -#: en/git-add.txt:30 -msgid "" -"The \"index\" holds a snapshot of the content of the working tree, and it is " -"this snapshot that is taken as the contents of the next commit. Thus after " -"making any changes to the working tree, and before running the commit " -"command, you must use the `add` command to add any new or modified files to " -"the index." -msgstr "" -"L'짬혻index혻쨩 contient un instantan챕 du contenu de la copie de travail et " -"c'est cet instantan챕 qui sera utilis챕 comme contenu du prochain commit. " -"Ainsi, apr챔s avoir r챕alis챕 des modifications dans la copie de travail, et " -"avant de lancer la commande commit, vous devez utiliser la commande `add` " -"pour ajouter tout fichier nouveau ou modifi챕 횪 l'index." - -# -#. type: Plain text -#: en/git-add.txt:35 -msgid "" -"This command can be performed multiple times before a commit. It only adds " -"the content of the specified file(s) at the time the add command is run; if " -"you want subsequent changes included in the next commit, then you must run " -"`git add` again to add the new content to the index." -msgstr "" -"Cette commande peut 챗tre effectu챕e plusieurs fois avant la validation. Elle " -"n'ajoute que le contenu des fichiers sp챕cifi챕s au moment o첫 la commande " -"`add` est lanc챕e혻; si vous souhaitez inclure des modifications post챕rieures " -"횪 un `add` dans la prochaine validation, vous devez alors lancer `git add` 횪 " -"nouveau pour ajouter le nouveau contenu 횪 l'index." - -# -#. type: Plain text -#: en/git-add.txt:38 -msgid "" -"The `git status` command can be used to obtain a summary of which files have " -"changes that are staged for the next commit." -msgstr "" -"La commande `git status` permet d'obtenir un r챕sum챕 des fichiers modifi챕s " -"qui sont pr챕par챕s pour la prochaine validation." - -# -#. type: Plain text -#: en/git-add.txt:45 -msgid "" -"The `git add` command will not add ignored files by default. If any ignored " -"files were explicitly specified on the command line, `git add` will fail " -"with a list of ignored files. Ignored files reached by directory recursion " -"or filename globbing performed by Git (quote your globs before the shell) " -"will be silently ignored. The 'git add' command can be used to add ignored " -"files with the `-f` (force) option." -msgstr "" -"Par d챕faut, la commande `git add` n'ajoute pas les fichiers ignor챕s. Si des " -"fichiers ignor챕s sont sp챕cifi챕s explicitement en ligne de commande, `git " -"add` 챕chouera avec la liste des fichiers ignor챕s. Les fichiers ignor챕s " -"atteint via la r챕cursion de r챕pertoires ou les patrons de fichiers g챕r챕s par " -"Git (les patrons doivent alors 챗tre 챕chapp챕s du shell par des quotes) " -"seront ignor챕s silencieusement. La commande `git add` peut tout de m챗me " -"ajouter des fichiers ignor챕s avec l'option `-f` (force)." - -# -#. type: Plain text -#: en/git-add.txt:48 -msgid "" -"Please see linkgit:git-commit[1] for alternative ways to add content to a " -"commit." -msgstr "" -"R챕f챕rez-vous linkgit:git-commit[1] pour des m챕thodes alternatives d'ajout de " -"contenu 횪 une validation." - -#. type: Labeled list -#: en/git-add.txt:52 en/git-grep.txt:293 -#, no-wrap -msgid "<pathspec>..." -msgstr "<sp챕cificateur de chemin>..." - -#. type: Plain text -#: en/git-add.txt:64 -msgid "" -"Files to add content from. Fileglobs (e.g. `*.c`) can be given to add all " -"matching files. Also a leading directory name (e.g. `dir` to add `dir/" -"file1` and `dir/file2`) can be given to update the index to match the " -"current state of the directory as a whole (e.g. specifying `dir` will " -"record not just a file `dir/file1` modified in the working tree, a file `dir/" -"file2` added to the working tree, but also a file `dir/file3` removed from " -"the working tree). Note that older versions of Git used to ignore removed " -"files; use `--no-all` option if you want to add modified or new files but " -"ignore removed ones." -msgstr "" -"Fichiers dont le contenu doit 챗tre ajout챕. Les patrons (ex : `*.c`) " -"permettent de restreindre 횪 tous les fichiers correspondant. Un nom de " -"r챕pertoire (ex : `rep` pour ajouter `rep/fichier1` et `rep/fichier2`) permet " -"d'ajouter r챕cursivement tous les fichiers d'un r챕pertoire (par exemple " -"sp챕cifier `rep` n'enregistrera pas seulement le fichier modifi챕 dans l'arbre " -"de travail `rep/fichier1` ou un fichier ajout챕 `rep/fichier2`, mais aussi un " -"fichier `rep/fichier3` supprim챕 de l'arbre de travail). Veuillez noter que " -"des version anciennes de Git ignoraient les fichiers supprim챕s혻; utilisez " -"l'option `--no-all` si vous souhaitez ajouter les fichiers nouveaux ou " -"modifi챕s mais ignorer les fichiers supprim챕s." - -#. type: Labeled list -#: en/git-add.txt:65 en/git-blame.txt:70 en/git-checkout-index.txt:43 -#: en/git-cherry-pick.txt:87 en/git-clean.txt:47 en/git-clone.txt:135 -#: en/git-commit.txt:168 en/git-format-patch.txt:93 en/git-grep.txt:172 -#: en/git-mailinfo.txt:66 en/git-mv.txt:39 en/git-notes.txt:178 -#: en/git-p4.txt:294 en/git-prune-packed.txt:31 en/git-prune.txt:36 -#: en/git-push.txt:117 en/git-quiltimport.txt:34 en/git-read-tree.txt:57 -#: en/git-rebase.txt:318 en/git-reflog.txt:114 en/git-repack.txt:77 -#: en/git-revert.txt:69 en/git-rm.txt:43 en/git-shortlog.txt:29 -#: en/git-submodule.txt:310 en/git-svn.txt:648 en/git-unpack-objects.txt:30 -#: en/git-worktree.txt:110 en/fetch-options.txt:80 en/merge-options.txt:56 -#, no-wrap -msgid "-n" -msgstr "-n" - -#. type: Labeled list -#: en/git-add.txt:66 en/git-clean.txt:48 en/git-commit.txt:310 -#: en/git-http-push.txt:37 en/git-mv.txt:40 en/git-notes.txt:179 -#: en/git-p4.txt:295 en/git-prune-packed.txt:32 en/git-prune.txt:37 -#: en/git-push.txt:118 en/git-quiltimport.txt:35 en/git-read-tree.txt:58 -#: en/git-reflog.txt:115 en/git-rm.txt:44 en/git-send-email.txt:362 -#: en/git-send-pack.txt:51 en/git-svn.txt:649 en/git-worktree.txt:111 -#: en/fetch-options.txt:46 -#, no-wrap -msgid "--dry-run" -msgstr "--dry-run" - -#. type: Plain text -#: en/git-add.txt:69 -msgid "" -"Don't actually add the file(s), just show if they exist and/or will be " -"ignored." -msgstr "" -"Ne pas ajouter r챕ellement les fichiers. Montrer juste ceux qui existent ou " -"seront ignor챕s." - -#. type: Labeled list -#: en/git-add.txt:70 en/git-apply.txt:214 en/git-archimport.txt:73 -#: en/git-archive.txt:47 en/git-branch.txt:148 en/git-cherry.txt:29 -#: en/git-clone.txt:124 en/git-commit.txt:291 en/git-count-objects.txt:21 -#: en/git-cvsexportcommit.txt:82 en/git-cvsimport.txt:52 -#: en/git-diff-tree.txt:81 en/git-fetch-pack.txt:111 en/git-grep.txt:137 -#: en/git-http-fetch.txt:33 en/git-imap-send.txt:32 en/git-index-pack.txt:27 -#: en/git-ls-files.txt:131 en/git-mv.txt:43 en/git-notes.txt:210 -#: en/git-p4.txt:171 en/git-prune.txt:41 en/git-pull.txt:83 en/git-push.txt:264 -#: en/git-read-tree.txt:62 en/git-rebase.txt:310 en/git-remote.txt:35 -#: en/git-status.txt:47 en/git-svn.txt:350 en/git-tag.txt:79 -#: en/git-verify-commit.txt:23 en/git-verify-pack.txt:26 -#: en/git-verify-tag.txt:23 en/git-worktree.txt:120 en/fetch-options.txt:165 -#: en/merge-options.txt:108 -#, no-wrap -msgid "-v" -msgstr "-v" - -#. type: Labeled list -#: en/git-add.txt:71 en/git-apply.txt:215 en/git-archive.txt:48 -#: en/git-branch.txt:150 en/git-clone.txt:123 en/git-commit.txt:292 -#: en/git-count-objects.txt:22 en/git-daemon.txt:126 en/git-fsck.txt:77 -#: en/git-http-push.txt:40 en/git-imap-send.txt:33 en/git-mv.txt:44 -#: en/git-notes.txt:211 en/git-p4.txt:172 en/git-pack-redundant.txt:39 -#: en/git-prune.txt:42 en/git-pull.txt:84 en/git-push.txt:265 -#: en/git-rebase.txt:311 en/git-reflog.txt:119 en/git-remote.txt:36 -#: en/git-send-pack.txt:61 en/git-status.txt:48 en/git-svn.txt:351 -#: en/git-update-index.txt:145 en/git-verify-commit.txt:24 -#: en/git-verify-pack.txt:27 en/git-verify-tag.txt:24 en/git-worktree.txt:121 -#: en/fetch-options.txt:166 en/merge-options.txt:109 -#, no-wrap -msgid "--verbose" -msgstr "--verbose" - -#. type: Plain text -#: en/git-add.txt:73 en/git-imap-send.txt:35 en/fetch-options.txt:168 -#: en/merge-options.txt:111 -msgid "Be verbose." -msgstr "Mode bavard." - -#. type: Labeled list -#: en/git-add.txt:74 en/git-archimport.txt:80 en/git-blame.txt:64 -#: en/git-branch.txt:98 en/git-checkout-index.txt:34 en/git-checkout.txt:116 -#: en/git-clean.txt:34 en/git-cvsexportcommit.txt:54 -#: en/git-filter-branch.txt:189 en/git-mv.txt:31 en/git-notes.txt:127 -#: en/git-push.txt:221 en/git-rebase.txt:335 en/git-repack.txt:65 -#: en/git-replace.txt:59 en/git-rm.txt:39 en/git-submodule.txt:287 -#: en/git-tag.txt:71 en/git-update-server-info.txt:26 en/git-worktree.txt:85 -#: en/fetch-options.txt:50 -#, no-wrap -msgid "-f" -msgstr "-f" - -#. type: Labeled list -#: en/git-add.txt:75 en/git-branch.txt:99 en/git-checkout-index.txt:35 -#: en/git-checkout.txt:117 en/git-clean.txt:35 en/git-fast-import.txt:37 -#: en/git-filter-branch.txt:190 en/git-gc.txt:77 en/git-http-push.txt:30 -#: en/git-mv.txt:32 en/git-notes.txt:128 en/git-push.txt:222 -#: en/git-replace.txt:60 en/git-rm.txt:40 en/git-send-email.txt:387 -#: en/git-send-pack.txt:54 en/git-submodule.txt:288 en/git-tag.txt:72 -#: en/git-update-server-info.txt:27 en/git-worktree.txt:86 -#: en/fetch-options.txt:51 -#, no-wrap -msgid "--force" -msgstr "--force" - -#. type: Plain text -#: en/git-add.txt:77 -msgid "Allow adding otherwise ignored files." -msgstr "Permettre l'ajout de fichiers qui sont normalement ignor챕s." - -#. type: Labeled list -#: en/git-add.txt:78 en/git-am.txt:123 en/git-branch.txt:124 -#: en/git-clean.txt:42 en/git-commit.txt:253 en/git-cvsimport.txt:88 -#: en/git-grep.txt:116 en/git-help.txt:51 en/git-ls-files.txt:51 -#: en/git-read-tree.txt:48 en/git-rebase.txt:373 en/git-tag.txt:111 -#: en/rev-list-options.txt:75 -#, no-wrap -msgid "-i" -msgstr "-i" - -#. type: Labeled list -#: en/git-add.txt:79 en/git-am.txt:124 en/git-clean.txt:43 -#: en/git-rebase.txt:374 en/git-svn.txt:281 +#: en/cmds-purehelpers.txt:37 #, fuzzy, no-wrap -msgid "--interactive" -msgstr "--interactive" - -#. type: Plain text -#: en/git-add.txt:84 -msgid "" -"Add modified contents in the working tree interactively to the index. " -"Optional path arguments may be supplied to limit operation to a subset of " -"the working tree. See ``Interactive mode'' for details." -msgstr "" -"Ajouter le contenu modifi챕 dans l'arbre de travail 횪 l'index. Les arguments " -"optionnels de chemin permettent de limiter les op챕rations 횪 un sous-ensemble " -"de l'arbre de travail. R챕f챕rez-vous 횪 짬혻Mode interactif혻쨩 pour plus de " -"d챕tails." +#| msgid "git-commit(1)" +msgid "linkgit:git-merge-one-file[1]" +msgstr "git-commit(1)" -#. type: Labeled list -#: en/git-add.txt:86 en/git-checkout.txt:243 en/git-commit.txt:67 -#: en/diff-options.txt:24 -#, no-wrap -msgid "--patch" -msgstr "--patch" +#. type: Plain text +#: en/cmds-purehelpers.txt:39 +msgid "The standard helper program to use with git-merge-index." +msgstr "" #. type: Plain text -#: en/git-add.txt:91 -#, fuzzy -msgid "" -"Interactively choose hunks of patch between the index and the work tree and " -"add them to the index. This gives the user a chance to review the difference " -"before adding modified contents to the index." +#: en/cmds-purehelpers.txt:40 en/git-cherry.txt:142 +#, no-wrap +msgid "linkgit:git-patch-id[1]" msgstr "" -"Choisir de mani챔re interactive les sections de patch entre l'index et la " -"copie de travail et les ajouter 횪 l'index. Cela permet 횪 l'utilisateur de " -"r챕viser les diff챕rences avec d'ajouter le contenu modifi챕 횪 l'index.\n" #. type: Plain text -#: en/git-add.txt:95 -msgid "" -"This effectively runs `add --interactive`, but bypasses the initial command " -"menu and directly jumps to the `patch` subcommand. See ``Interactive mode'' " -"for details." +#: en/cmds-purehelpers.txt:42 +msgid "Compute unique ID for a patch." msgstr "" -"Cela lance effectivement `add --interactive` mais court-circuite le menu " -"initial et saute directement 횪 la sous-commande `patch`. R챕f챕rez-vous 횪 " -"짬혻Mode interactif혻쨩 pour plus de d챕tails." #. type: Labeled list -#: en/git-add.txt:96 en/git-blame.txt:77 en/git-cat-file.txt:44 -#: en/git-cherry-pick.txt:55 en/git-commit.txt:212 en/git-config.txt:220 -#: en/git-grep.txt:260 en/git-revert.txt:43 en/git-shortlog.txt:38 -#: en/git-svn.txt:583 en/merge-options.txt:11 -#, no-wrap -msgid "-e" -msgstr "-e" +#: en/cmds-purehelpers.txt:43 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-sh-i18n[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-purehelpers.txt:45 +msgid "Git's i18n setup code for shell scripts." +msgstr "" #. type: Labeled list -#: en/git-add.txt:97 en/git-cherry-pick.txt:56 en/git-commit.txt:213 -#: en/git-config.txt:221 en/git-revert.txt:44 en/git-svn.txt:584 -#: en/merge-options.txt:10 -#, no-wrap -msgid "--edit" -msgstr "--edit" +#: en/cmds-purehelpers.txt:46 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-sh-setup[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:101 -msgid "" -"Open the diff vs. the index in an editor and let the user edit it. After " -"the editor was closed, adjust the hunk headers and apply the patch to the " -"index." +#: en/cmds-purehelpers.txt:48 +msgid "Common Git shell script setup code." msgstr "" -"Ouvrir les diff챕rences avec l'index dans un 챕diteur et laisser l'utilisateur " -"les 챕diter. Apr챔s la fermeture de l'챕diteur, ajuster les ent챗tes de sections " -"et appliquer le patch 횪 l'index." + +#. type: Labeled list +#: en/cmds-purehelpers.txt:49 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-stripspace[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:107 -msgid "" -"The intent of this option is to pick and choose lines of the patch to apply, " -"or even to modify the contents of lines to be staged. This can be quicker " -"and more flexible than using the interactive hunk selector. However, it is " -"easy to confuse oneself and create a patch that does not apply to the index. " -"See EDITING PATCHES below." +#: en/cmds-purehelpers.txt:51 +msgid "Remove unnecessary whitespace." msgstr "" -"L'objectif de cette option est de permettre de choisir et retenir les lignes " -"du patch 횪 appliquer, ou m챗me de modifier le contenu des lignes\n" -"횪 indexer. Cela peut 챗tre plus rapide et plus flexible que l'utilisation du " -"s챕lecteur interactif. Cependant, il est plus facile de se \n" -"tromper et de cr챕er un patch qui ne s'applique pas. R챕f챕rez-vous 횪 횋DITER " -"LES PATCHS ci-dessous." #. type: Labeled list -#: en/git-add.txt:108 en/git-am.txt:78 en/git-checkout-index.txt:25 -#: en/git-cvsexportcommit.txt:64 en/git-cvsimport.txt:98 en/git-ls-files.txt:69 -#: en/git-mailinfo.txt:52 en/git-push.txt:245 en/git-read-tree.txt:44 -#: en/diff-options.txt:23 en/fetch-options.txt:143 -#, no-wrap -msgid "-u" -msgstr "-u" +#: en/cmds-synchelpers.txt:1 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-http-fetch[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-synchelpers.txt:3 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Download from a remote Git repository via HTTP." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Labeled list -#: en/git-add.txt:109 -#, no-wrap -msgid "--update" -msgstr "--update" +#: en/cmds-synchelpers.txt:4 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-http-push[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:113 -msgid "" -"Update the index just where it already has an entry matching <pathspec>. " -"This removes as well as modifies index entries to match the working tree, " -"but adds no new files." -msgstr "" -"Mettre 횪 jour l'index sur les seuls fichiers d챕j횪 pr챕sents et correspondant " -"횪 <chemin>. Cela retire ou modifie les entr챕es d'index pour correspondre 횪 " -"la copie de travail, mais n'ajoute pas de fichier." +#: en/cmds-synchelpers.txt:6 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Push objects over HTTP/DAV to another repository." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" + +#. type: Labeled list +#: en/cmds-synchelpers.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-parse-remote[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:118 -msgid "" -"If no <pathspec> is given when `-u` option is used, all tracked files in the " -"entire working tree are updated (old versions of Git used to limit the " -"update to the current directory and its subdirectories)." +#: en/cmds-synchelpers.txt:9 +msgid "Routines to help parsing remote repository access parameters." msgstr "" -"Si aucun <chemin> n'est sp챕cifi챕, quand l'option `-u` est utilis챕e, tous les " -"fichiers suivis dans la totalit챕 de l'arbre de travail sont mis 횪 jour (les " -"versions anciennes de Git limitaient la mise 횪 jour au r챕pertoire courant et " -"ses sous-r챕pertoires)." #. type: Labeled list -#: en/git-add.txt:119 en/git-repack.txt:44 en/git-svn.txt:402 -#, no-wrap -msgid "-A" -msgstr "-A" +#: en/cmds-synchelpers.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-receive-pack[1]" +msgstr "git-commit(1)" -#. type: Labeled list -#: en/git-add.txt:120 en/git-branch.txt:141 en/git-checkout-index.txt:39 -#: en/git-commit.txt:61 en/git-describe.txt:37 en/git-fetch-pack.txt:35 -#: en/git-help.txt:42 en/git-http-push.txt:25 en/git-merge-base.txt:72 -#: en/git-name-rev.txt:42 en/git-pack-objects.txt:75 -#: en/git-pack-redundant.txt:32 en/git-pack-refs.txt:48 en/git-push.txt:94 -#: en/git-reflog.txt:72 en/git-rev-parse.txt:161 en/git-send-pack.txt:37 -#: en/git-show-branch.txt:48 en/git-submodule.txt:275 en/fetch-options.txt:1 -#: en/rev-list-options.txt:135 -#, no-wrap -msgid "--all" -msgstr "--all" +#. type: Plain text +#: en/cmds-synchelpers.txt:12 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Receive what is pushed into the repository." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Labeled list -#: en/git-add.txt:121 -#, no-wrap -msgid "--no-ignore-removal" -msgstr "--no-ignore-removal" +#: en/cmds-synchelpers.txt:13 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-shell[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:126 -msgid "" -"Update the index not only where the working tree has a file matching " -"<pathspec> but also where the index already has an entry. This adds, " -"modifies, and removes index entries to match the working tree." +#: en/cmds-synchelpers.txt:15 +msgid "Restricted login shell for Git-only SSH access." msgstr "" -"Mettre 횪 jour l'index non seulement pour tous les fichiers de l'arbre de " -"travail correspondant 횪 <chemin> mais aussi pour toutes les entr챕es existant " -"d챕j횪 dans l'index. Ceci ajoute, modifie et retire des entr챕es d'index pour " -"correspondre 횪 la copie de travail." + +#. type: Labeled list +#: en/cmds-synchelpers.txt:16 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-upload-archive[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:131 -msgid "" -"If no <pathspec> is given when `-A` option is used, all files in the entire " -"working tree are updated (old versions of Git used to limit the update to " -"the current directory and its subdirectories)." +#: en/cmds-synchelpers.txt:18 +msgid "Send archive back to git-archive." msgstr "" -"Si aucun <chemin> n'est sp챕cifi챕 quand l'option `-A` est utilis챕e, tous les " -"fichiers de l'arbre de travail sont mis 횪 jour (les versions anciennes de " -"Git utilisaient le r챕pertoire courant et ses sous-r챕pertoires)." - -#. type: Labeled list -#: en/git-add.txt:132 -#, no-wrap -msgid "--no-all" -msgstr "--no-all" #. type: Labeled list -#: en/git-add.txt:133 -#, no-wrap -msgid "--ignore-removal" -msgstr "--ignore-removal" +#: en/cmds-synchelpers.txt:19 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-upload-pack[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:138 -msgid "" -"Update the index by adding new files that are unknown to the index and files " -"modified in the working tree, but ignore files that have been removed from " -"the working tree. This option is a no-op when no <pathspec> is used." +#: en/cmds-synchelpers.txt:21 +msgid "Send objects packed back to git-fetch-pack." msgstr "" -"Mettre 횪 jour l'index en y ajoutant les nouveaux fichiers qui sont inconnus " -"et les fichiers modifi챕s dans la copie de travail, mais ignore les fichiers " -"qui ont 챕t챕 effac챕s de la copie de travail. Cette option ne fait rien quand " -"aucun <chemin> n'est utilis챕." + +#. type: Labeled list +#: en/cmds-synchingrepositories.txt:1 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-daemon[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:142 -msgid "" -"This option is primarily to help users who are used to older versions of " -"Git, whose \"git add <pathspec>...\" was a synonym for \"git add --no-all " -"<pathspec>...\", i.e. ignored removed files." +#: en/cmds-synchingrepositories.txt:3 +msgid "A really simple server for Git repositories." msgstr "" -"Cette option sert principalement 횪 aider les utilisateurs de versions " -"anciennes de Git pour lesquels 짬혻git add <chemin>...혻쨩 챕tait synonyme de " -"짬혻git add --no-all <chemin>...혻쨩, c'est-횪-dire qui ignorait les fichiers " -"effac챕s." #. type: Labeled list -#: en/git-add.txt:143 en/git-format-patch.txt:97 en/git-submodule.txt:349 -#, no-wrap -msgid "-N" -msgstr "-N" +#: en/cmds-synchingrepositories.txt:4 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-fetch-pack[1]" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/cmds-synchingrepositories.txt:6 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Receive missing objects from another repository." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Labeled list -#: en/git-add.txt:144 -#, no-wrap -msgid "--intent-to-add" -msgstr "--intent-to-add" +#: en/cmds-synchingrepositories.txt:7 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-http-backend[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:150 -msgid "" -"Record only the fact that the path will be added later. An entry for the " -"path is placed in the index with no content. This is useful for, among other " -"things, showing the unstaged content of such files with `git diff` and " -"committing them with `git commit -a`." +#: en/cmds-synchingrepositories.txt:9 +msgid "Server side implementation of Git over HTTP." msgstr "" -"N'enregistrer que le fait que le chemin sera ajout챕 plus tard. Une entr챕e " -"pour le chemin est plac챕e en index sans contenu. C'est particuli챔rement " -"utile pour, entre autres choses, montrer le contenu non index챕 de ces " -"fichiers avec `git diff` et les valider avec `git commit -a`." #. type: Labeled list -#: en/git-add.txt:151 en/git-update-index.txt:52 -#, no-wrap -msgid "--refresh" -msgstr "--refresh" +#: en/cmds-synchingrepositories.txt:10 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-send-pack[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:154 -msgid "" -"Don't add the file(s), but only refresh their stat() information in the " -"index." -msgstr "" -"Ne pas ajouter le ou les fichiers mais rafra챤chir seulement leur information " -"de stat() dans l'index." +#: en/cmds-synchingrepositories.txt:12 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Push objects over Git protocol to another repository." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Labeled list -#: en/git-add.txt:155 -#, no-wrap -msgid "--ignore-errors" -msgstr "--ignore-errors" +#: en/cmds-synchingrepositories.txt:13 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "linkgit:git-update-server-info[1]" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-add.txt:161 -msgid "" -"If some files could not be added because of errors indexing them, do not " -"abort the operation, but continue adding the others. The command shall still " -"exit with non-zero status. The configuration variable `add.ignoreErrors` " -"can be set to true to make this the default behaviour." +#: en/cmds-synchingrepositories.txt:15 +msgid "Update auxiliary info file to help dumb servers." msgstr "" -"Si des fichiers n'ont pas pu 챗tre ajout챕s 횪 cause d'erreurs lors de leur " -"indexation, ne pas annuler l'op챕ration mais continuer l'ajout des autres " -"fichiers. La commande se terminera tout de m챗me avec un code d'erreur non " -"nul. Le param챔tre de configuration `add.ignoreErrors` peut 챗tre positionn챕 횪 " -"true pour que ce comportement soit celui par d챕faut." -#. type: Labeled list -#: en/git-add.txt:162 en/git-notes.txt:169 en/git-update-index.txt:70 -#: en/rev-list-options.txt:182 -#, no-wrap -msgid "--ignore-missing" -msgstr "--ignore-missing" +#. type: Title - +#: en/config.txt:2 +#, fuzzy, no-wrap +#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" +msgid "CONFIGURATION FILE" +msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" #. type: Plain text -#: en/git-add.txt:167 +#: en/config.txt:10 msgid "" -"This option can only be used together with --dry-run. By using this option " -"the user can check if any of the given files would be ignored, no matter if " -"they are already present in the work tree or not." +"The Git configuration file contains a number of variables that affect the " +"Git commands' behavior. The `.git/config` file in each repository is used to " +"store the configuration for that repository, and `$HOME/.gitconfig` is used " +"to store a per-user configuration as fallback values for the `.git/config` " +"file. The file `/etc/gitconfig` can be used to store a system-wide default " +"configuration." msgstr "" -"Cette option ne peut 챗tre utilis챕e que coupl챕e avec --dry-run. L'utilisation " -"de cette option permet 횪 l'utilisateur de v챕rifier si un des fichiers " -"indiqu챕s serait ignor챕, qu'il soit pr챕sent ou non dans la copie de travail." - -#. type: Labeled list -#: en/git-add.txt:168 en/git-update-index.txt:83 -#, no-wrap -msgid "--chmod=(+|-)x" -msgstr "--chmod=(+|-)x" #. type: Plain text -#: en/git-add.txt:172 +#: en/config.txt:19 msgid "" -"Override the executable bit of the added files. The executable bit is only " -"changed in the index, the files on disk are left unchanged." +"The configuration variables are used by both the Git plumbing and the " +"porcelains. The variables are divided into sections, wherein the fully " +"qualified variable name of the variable itself is the last dot-separated " +"segment and the section name is everything before the last dot. The variable " +"names are case-insensitive, allow only alphanumeric characters and `-`, and " +"must start with an alphabetic character. Some variables may appear multiple " +"times; we say then that the variable is multivalued." msgstr "" -"Forcer le bit ex챕cutable des fichiers ajout챕s. Le bit ex챕cutable n'est " -"modifi챕 que dans l'index, les fichiers de la copie de travail ne sont pas " -"modifi챕s." -#. type: Labeled list -#: en/git-add.txt:173 en/git-check-attr.txt:39 en/git-checkout-index.txt:71 -#: en/git-commit.txt:336 en/git-grep.txt:289 en/git-ls-files.txt:174 -#: en/git-merge-index.txt:23 en/git-prune.txt:45 en/git-rm.txt:53 -#: en/git-update-index.txt:204 en/git-verify-pack.txt:36 +#. type: Title ~ +#: en/config.txt:21 #, no-wrap -msgid "\\--" -msgstr "\\--" +msgid "Syntax" +msgstr "" #. type: Plain text -#: en/git-add.txt:177 en/git-rm.txt:57 +#: en/config.txt:26 msgid "" -"This option can be used to separate command-line options from the list of " -"files, (useful when filenames might be mistaken for command-line options)." +"The syntax is fairly flexible and permissive; whitespaces are mostly " +"ignored. The '#' and ';' characters begin comments to the end of line, " +"blank lines are ignored." msgstr "" -"Cette option permet de s챕parer les options de la ligne de commande de la " -"liste des fichiers (utile si certains noms de fichiers peuvent 챗tre " -"confondus avec des options)." -#. type: Title - -#: en/git-add.txt:180 en/git-apply.txt:244 en/git-gc.txt:82 -#: en/git-repack.txt:147 en/git-update-index.txt:451 -#, no-wrap -msgid "Configuration" -msgstr "Configuration" +#. type: Plain text +#: en/config.txt:33 +msgid "" +"The file consists of sections and variables. A section begins with the name " +"of the section in square brackets and continues until the next section " +"begins. Section names are case-insensitive. Only alphanumeric characters, " +"`-` and `.` are allowed in section names. Each variable must belong to some " +"section, which means that there must be a section header before the first " +"setting of a variable." +msgstr "" -# #. type: Plain text -#: en/git-add.txt:186 +#: en/config.txt:37 msgid "" -"The optional configuration variable `core.excludesFile` indicates a path to " -"a file containing patterns of file names to exclude from git-add, similar to " -"$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to " -"those in info/exclude. See linkgit:gitignore[5]." +"Sections can be further divided into subsections. To begin a subsection put " +"its name in double quotes, separated by space from the section name, in the " +"section header, like in the example below:" msgstr "" -"Le param챔tre de configuration optionnel `core.excludesFile` indique un " -"chemin vers un fichier contenant les patrons des noms de fichier 횪 exclure " -"de git-add, similaire 횪 $GIT_DIR/info/exclude. Les patrons dans le fichier " -"d'exclusion sont additionn챕s 횪 ceux de info/exclude. R챕f챕rez-vous 횪 linkgit:" -"gitignore[5]." -#. type: Title - -#: en/git-add.txt:189 en/git-archive.txt:149 en/git-bisect.txt:370 -#: en/git-check-attr.txt:71 en/git-checkout-index.txt:143 -#: en/git-checkout.txt:435 en/git-check-ref-format.txt:110 -#: en/git-cherry-pick.txt:156 en/git-cherry.txt:43 en/git-commit.txt:350 -#: en/git-config.txt:296 en/git-credential-cache.txt:52 -#: en/git-credential-store.txt:71 en/git-cvsexportcommit.txt:91 -#: en/git-daemon.txt:235 en/git-describe.txt:110 en/git-diff.txt:109 -#: en/git-fast-export.txt:125 en/git-fetch.txt:155 en/git-for-each-ref.txt:237 -#: en/git-format-patch.txt:591 en/git-http-backend.txt:67 en/git-init.txt:141 -#: en/git-interpret-trailers.txt:205 en/git-log.txt:108 en/git-ls-remote.txt:75 -#: en/git-merge-file.txt:81 en/git-merge.txt:310 en/git-notes.txt:278 -#: en/git-pull.txt:206 en/git-remote-fd.txt:37 en/git-reset.txt:102 -#: en/git-revert.txt:109 en/git-rev-parse.txt:427 en/git-rm.txt:159 -#: en/git-show.txt:58 en/git-stash.txt:201 en/git-stripspace.txt:49 -#: en/git-worktree.txt:224 +#. type: delimited block - +#: en/config.txt:40 #, no-wrap -msgid "EXAMPLES" -msgstr "EXEMPLES" +msgid "\t[section \"subsection\"]\n" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:193 +#: en/config.txt:49 msgid "" -"Adds content from all `*.txt` files under `Documentation` directory and its " -"subdirectories:" +"Subsection names are case sensitive and can contain any characters except " +"newline (doublequote `\"` and backslash can be included by escaping them as `" +"\\\"` and `\\\\`, respectively). Section headers cannot span multiple " +"lines. Variables may belong directly to a section or to a given " +"subsection. You can have `[section]` if you have `[section \"subsection" +"\"]`, but you don't need to." msgstr "" -"Ajouter le contenu de tous les fichiers `*.txt` sous le r챕pertoire " -"`Documentation` et ses sous r챕pertoires." -#. type: delimited block - -#: en/git-add.txt:196 -#, no-wrap -msgid "$ git add Documentation/\\*.txt\n" -msgstr "$ git add Documentation/\\*.txt\n" +#. type: Plain text +#: en/config.txt:54 +msgid "" +"There is also a deprecated `[section.subsection]` syntax. With this syntax, " +"the subsection name is converted to lower-case and is also compared case " +"sensitively. These subsection names follow the same restrictions as section " +"names." +msgstr "" -# #. type: Plain text -#: en/git-add.txt:201 +#: en/config.txt:61 msgid "" -"Note that the asterisk `*` is quoted from the shell in this example; this " -"lets the command include the files from subdirectories of `Documentation/` " -"directory." +"All the other lines (and the remainder of the line after the section header) " +"are recognized as setting variables, in the form 'name = value' (or just " +"'name', which is a short-hand to say that the variable is the boolean \"true" +"\"). The variable names are case-insensitive, allow only alphanumeric " +"characters and `-`, and must start with an alphabetic character." msgstr "" -"Remarquez que l'ast챕risque `*` est 챕chapp챕 du shell dans cet exemple혻; cela " -"permet d'inclure les fichiers dans les sous-r챕pertoires du R챕pertoire " -"`Documentation/`." -# #. type: Plain text -#: en/git-add.txt:203 -msgid "Considers adding content from all git-*.sh scripts:" -msgstr "Ajouter le contenu de tous les scripts git-*.sh혻:" +#: en/config.txt:69 +msgid "" +"A line that defines a value can be continued to the next line by ending it " +"with a `\\`; the backquote and the end-of-line are stripped. Leading " +"whitespaces after 'name =', the remainder of the line after the first " +"comment character '#' or ';', and trailing whitespaces of the line are " +"discarded unless they are enclosed in double quotes. Internal whitespaces " +"within the value are retained verbatim." +msgstr "" -#. type: delimited block - -#: en/git-add.txt:206 -#, no-wrap -msgid "$ git add git-*.sh\n" -msgstr "$ git add git-*.sh\n" +#. type: Plain text +#: en/config.txt:72 +msgid "" +"Inside double quotes, double quote `\"` and backslash `\\` characters must " +"be escaped: use `\\\"` for `\"` and `\\\\` for `\\`." +msgstr "" -# #. type: Plain text -#: en/git-add.txt:211 +#: en/config.txt:77 msgid "" -"Because this example lets the shell expand the asterisk (i.e. you are " -"listing the files explicitly), it does not consider `subdir/git-foo.sh`." +"The following escape sequences (beside `\\\"` and `\\\\`) are recognized: `" +"\\n` for newline character (NL), `\\t` for horizontal tabulation (HT, TAB) " +"and `\\b` for backspace (BS). Other char escape sequences (including octal " +"escape sequences) are invalid." msgstr "" -"Comme cet exemple laisse le shell r챕aliser l'expansion de l'ast챕risque " -"(c'est-횪-dire que vous listez explicitement les fichiers du r챕pertoire), il " -"ne traite pas `subdir/git-foo.sh`." -#. type: Title - -#: en/git-add.txt:213 en/git-clean.txt:75 +#. type: Title ~ +#: en/config.txt:80 #, no-wrap -msgid "Interactive mode" -msgstr "Mode interactif" +msgid "Includes" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:217 +#: en/config.txt:86 msgid "" -"When the command enters the interactive mode, it shows the output of the " -"'status' subcommand, and then goes into its interactive command loop." +"You can include a config file from another by setting the special `include." +"path` variable to the name of the file to be included. The variable takes a " +"pathname as its value, and is subject to tilde expansion. `include.path` can " +"be given multiple times." msgstr "" -"Quand la commande entre en mode interactif, elle affiche le r챕sultat de la " -"sous-commande 'status', puis entre en boucle de commande interactive." -# #. type: Plain text -#: en/git-add.txt:222 en/git-clean.txt:84 +#: en/config.txt:92 msgid "" -"The command loop shows the list of subcommands available, and gives a prompt " -"\"What now> \". In general, when the prompt ends with a single '>', you can " -"pick only one of the choices given and type return, like this:" +"The included file is expanded immediately, as if its contents had been found " +"at the location of the include directive. If the value of the `include.path` " +"variable is a relative path, the path is considered to be relative to the " +"configuration file in which the include directive was found. See below for " +"examples." msgstr "" -"La boucle de commande affiche la liste des sous-commandes disponibles et " -"affiche le prompt 짬혻What now>혻쨩 (Que faire maintenant). En g챕n챕ral, lorsque " -"le prompt se termine par un '>' unique, vous ne pouvez choisir qu'une seule " -"des propositions et appuyer Entr챕e, comme cela :" -#. type: delimited block - -#: en/git-add.txt:228 +#. type: Title ~ +#: en/config.txt:94 #, no-wrap -msgid "" -" *** Commands ***\n" -" 1: status 2: update 3: revert 4: add untracked\n" -" 5: patch 6: diff 7: quit 8: help\n" -" What now> 1\n" +msgid "Conditional includes" msgstr "" -" *** Commands ***\n" -" 1: status 2: update 3: revert 4: add untracked\n" -" 5: patch 6: diff 7: quit 8: help\n" -" What now> 1\n" -# #. type: Plain text -#: en/git-add.txt:232 +#: en/config.txt:100 msgid "" -"You also could say `s` or `sta` or `status` above as long as the choice is " -"unique." +"You can include a config file from another conditionally by setting a " +"`includeIf.<condition>.path` variable to the name of the file to be " +"included. The variable's value is treated the same way as `include.path`. " +"`includeIf.<condition>.path` can be given multiple times." msgstr "" -"Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas ci-dessus, 횪 " -"condition que le choix soit univoque." -# #. type: Plain text -#: en/git-add.txt:234 -msgid "The main command loop has 6 subcommands (plus help and quit)." +#: en/config.txt:104 +msgid "" +"The condition starts with a keyword followed by a colon and some data whose " +"format and meaning depends on the keyword. Supported keywords are:" msgstr "" -"La boucle de commande principale propose 6 sous-commandes (plus help (aide) " -"et quit (quitter))." #. type: Labeled list -#: en/git-add.txt:235 -#, no-wrap -msgid "status" -msgstr "status" +#: en/config.txt:105 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "`gitdir`" +msgstr "git-add(1)" -# #. type: Plain text -#: en/git-add.txt:242 -msgid "" -"This shows the change between HEAD and index (i.e. what will be committed if " -"you say `git commit`), and between index and working tree files (i.e. what " -"you could stage further before `git commit` using `git add`) for each path. " -"A sample output looks like this:" -msgstr "" -"Affiche les modifications entre HEAD et l'index (c-횪-d ce qui serait valid챕 " -"si vous lanciez `git commit`), et entre l'index et les fichiers de la copie " -"de travail (c-횪-d ce que vous pourriez indexer au moyen de `git add` avant " -"de lancer `git commit`) pour chaque chemin. Un exemple d'affichage ressemble " -"횪 ceci :" - -#. type: delimited block - -#: en/git-add.txt:247 -#, no-wrap +#: en/config.txt:110 msgid "" -" staged unstaged path\n" -" 1: binary nothing foo.png\n" -" 2: +403/-35 +1/-1 git-add--interactive.perl\n" +"The data that follows the keyword `gitdir:` is used as a glob pattern. If " +"the location of the .git directory matches the pattern, the include " +"condition is met." msgstr "" -" staged unstaged path\n" -" 1: binary nothing foo.png\n" -" 2: +403/-35 +1/-1 git-add--interactive.perl\n" -# #. type: Plain text -#: en/git-add.txt:258 +#: en/config.txt:115 msgid "" -"It shows that foo.png has differences from HEAD (but that is binary so line " -"count cannot be shown) and there is no difference between indexed copy and " -"the working tree version (if the working tree version were also different, " -"'binary' would have been shown in place of 'nothing'). The other file, git-" -"add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if you " -"commit what is in the index, but working tree file has further modifications " -"(one addition and one deletion)." +"The .git location may be auto-discovered, or come from `$GIT_DIR` " +"environment variable. If the repository is auto discovered via a .git file " +"(e.g. from submodules, or a linked worktree), the .git location would be the " +"final location where the .git directory is, not where the" msgstr "" -"foo.png contient des diff챕rences avec HEAD (mais c'est un format binaire " -"donc le nombre de lignes ne peut pas 챗tre affich챕) et il n'y a pas " -"diff챕rence entre la copie index챕e et la copie de travail (si la copie de " -"travail avait 챕t챕 aussi diff챕rente, 'binary' aurait 챕t챕 affich챕 횪 la place " -"de 'nothing'). L'autre fichier, git-add{litdd}interactive.perl, a 430 lignes " -"ajout챕es et 35 effac챕es si vous validez ce qui est dans l'index, mais la " -"copie de travail contient d'autres modifications (un ajout et un retrait)." -#. type: Labeled list -#: en/git-add.txt:259 en/git-update-ref.txt:94 +#. type: Block title +#: en/config.txt:115 #, no-wrap -msgid "update" -msgstr "update" +msgid "git file is." +msgstr "" -# #. type: Plain text -#: en/git-add.txt:268 +#: en/config.txt:120 msgid "" -"This shows the status information and issues an \"Update>>\" prompt. When " -"the prompt ends with double '>>', you can make more than one selection, " -"concatenated with whitespace or comma. Also you can say ranges. E.g. \"2-5 " -"7,9\" to choose 2,3,4,5,7,9 from the list. If the second number in a range " -"is omitted, all remaining patches are taken. E.g. \"7-\" to choose 7,8,9 " -"from the list. You can say '*' to choose everything." +"The pattern can contain standard globbing wildcards and two additional ones, " +"`**/` and `/**`, that can match multiple path components. Please refer to " +"linkgit:gitignore[5] for details. For convenience:" msgstr "" -"Affiche l'information d'챕tat et un prompt \"Update>>\". Quand le prompt se " -"termine par un double '>', vous pouvez s챕lectionner plus d'une option, " -"concat챕n챕es avec des espaces ou des virgules. Vous pouvez aussi indiquer des " -"intervalles. Par exemple \"2-5 7,9\" pour choisir 2, 3, 4, 5, 7 et 9 dans " -"la liste. Si le second nombre d'un intervalle est absent, tous les patchs " -"restants sont s챕lectionn챕s. Par ex. \"7-\" choisit 7, 8 et 9 dans la liste. " -"'*' permet de tout s챕lectionner." -# #. type: Plain text -#: en/git-add.txt:271 -msgid "What you chose are then highlighted with '*', like this:" -msgstr "Tout ce qui a 챕t챕 s챕lectionn챕 est indiqu챕 par une '*', comme ceci혻:" - -#. type: delimited block - -#: en/git-add.txt:276 -#, no-wrap +#: en/config.txt:123 msgid "" -" staged unstaged path\n" -" 1: binary nothing foo.png\n" -"* 2: +403/-35 +1/-1 git-add--interactive.perl\n" +"If the pattern starts with `~/`, `~` will be substituted with the content of " +"the environment variable `HOME`." msgstr "" -" staged unstaged path\n" -" 1: binary nothing foo.png\n" -"* 2: +403/-35 +1/-1 git-add--interactive.perl\n" -# #. type: Plain text -#: en/git-add.txt:280 -msgid "To remove selection, prefix the input with `-` like this:" -msgstr "Pour retirer une s챕lection, pr챕fixez-la avec `-` comme ceci혻:" +#: en/config.txt:126 +msgid "" +"If the pattern starts with `./`, it is replaced with the directory " +"containing the current config file." +msgstr "" -#. type: delimited block - -#: en/git-add.txt:283 -#, no-wrap -msgid "Update>> -2\n" -msgstr "Update>> -2\n" +#. type: Plain text +#: en/config.txt:130 +msgid "" +"If the pattern does not start with either `~/`, `./` or `/`, `**/` will be " +"automatically prepended. For example, the pattern `foo/bar` becomes `**/foo/" +"bar` and would match `/any/path/to/foo/bar`." +msgstr "" -# #. type: Plain text -#: en/git-add.txt:287 -#, fuzzy +#: en/config.txt:134 msgid "" -"After making the selection, answer with an empty line to stage the contents " -"of working tree files for selected paths in the index." +"If the pattern ends with `/`, `**` will be automatically added. For example, " +"the pattern `foo/` becomes `foo/**`. In other words, it matches \"foo\" and " +"everything inside, recursively." msgstr "" -"Apr챔s s챕lection, r챕pondez avec une ligne vide pour indexer le contenu des " -"fichiers s챕lectionn챕s de l'arbre de travail." #. type: Labeled list -#: en/git-add.txt:288 +#: en/config.txt:135 #, fuzzy, no-wrap -#| msgid "revert" -msgid "revert" -msgstr "revert" +#| msgid "git-add(1)" +msgid "`gitdir/i`" +msgstr "git-add(1)" -# #. type: Plain text -#: en/git-add.txt:293 +#: en/config.txt:138 msgid "" -"This has a very similar UI to 'update', and the staged information for " -"selected paths are reverted to that of the HEAD version. Reverting new " -"paths makes them untracked." +"This is the same as `gitdir` except that matching is done case-insensitively " +"(e.g. on case-insensitive file sytems)" msgstr "" -"Ceci pr챕sente une interface d'utilisation similaire 횪 'update', et le " -"contenu index챕 des chemins s챕lectionn챕s sont ramen챕s 횪 la version HEAD. " -"Inverser des chemins nouveaux les rend non-suivis." -#. type: Labeled list -#: en/git-add.txt:294 -#, no-wrap -msgid "add untracked" -msgstr "add untracked" +#. type: Plain text +#: en/config.txt:140 +msgid "A few more notes on matching via `gitdir` and `gitdir/i`:" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:298 +#: en/config.txt:142 +msgid "Symlinks in `$GIT_DIR` are not resolved before matching." +msgstr "" + +#. type: Plain text +#: en/config.txt:145 msgid "" -"This has a very similar UI to 'update' and 'revert', and lets you add " -"untracked paths to the index." +"Note that \"../\" is not special and will match literally, which is unlikely " +"what you want." msgstr "" -"Ceci pr챕sente une interface d'utilisation tr챔s similaire 횪 'update' et " -"'revert' et permet d'ajouter des chemins non-suivis 횪 l'index." -#. type: Labeled list -#: en/git-add.txt:299 +#. type: Title ~ +#: en/config.txt:147 en/git-rev-parse.txt:356 en/git-rev-parse.txt:412 #, no-wrap -msgid "patch" -msgstr "patch" +msgid "Example" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:306 +#: en/config.txt:153 +#, no-wrap msgid "" -"This lets you choose one path out of a 'status' like selection. After " -"choosing the path, it presents the diff between the index and the working " -"tree file and asks you if you want to stage the change of each hunk. You " -"can select one of the following options and type return:" +"\t# Core variables\n" +"\t[core]\n" +"\t\t; Don't trust file modes\n" +"\t\tfilemode = false\n" msgstr "" -"Ceci permet de choisir un chemin depuis une s챕lection similaire 횪 'status'. " -"Apr챔s le choix du chemin, la diff챕rence entre l'index et le fichier dans " -"l'arbre de travail est pr챕sent챕 et vous demande si vous souhaitez indexer " -"chaque section de modification. Vous pouvez s챕lectionner une des options " -"suivantes et taper entr챕e혻:" -# #. type: Plain text -#: en/git-add.txt:321 +#: en/config.txt:158 #, no-wrap msgid "" -"y - stage this hunk\n" -"n - do not stage this hunk\n" -"q - quit; do not stage this hunk or any of the remaining ones\n" -"a - stage this hunk and all later hunks in the file\n" -"d - do not stage this hunk or any of the later hunks in the file\n" -"g - select a hunk to go to\n" -"/ - search for a hunk matching the given regex\n" -"j - leave this hunk undecided, see next undecided hunk\n" -"J - leave this hunk undecided, see next hunk\n" -"k - leave this hunk undecided, see previous undecided hunk\n" -"K - leave this hunk undecided, see previous hunk\n" -"s - split the current hunk into smaller hunks\n" -"e - manually edit the current hunk\n" -"? - print help\n" +"\t# Our diff algorithm\n" +"\t[diff]\n" +"\t\texternal = /usr/local/bin/diff-wrapper\n" +"\t\trenames = true\n" msgstr "" -"y - stage this hunk\n" -"n - do not stage this hunk\n" -"q - quit; do not stage this hunk or any of the remaining ones\n" -"a - stage this hunk and all later hunks in the file\n" -"d - do not stage this hunk or any of the later hunks in the file\n" -"g - select a hunk to go to\n" -"/ - search for a hunk matching the given regex\n" -"j - leave this hunk undecided, see next undecided hunk\n" -"J - leave this hunk undecided, see next hunk\n" -"k - leave this hunk undecided, see previous undecided hunk\n" -"K - leave this hunk undecided, see previous hunk\n" -"s - split the current hunk into smaller hunks\n" -"e - manually edit the current hunk\n" -"? - print help\n" -# #. type: Plain text -#: en/git-add.txt:324 +#: en/config.txt:162 +#, no-wrap msgid "" -"After deciding the fate for all hunks, if there is any hunk that was chosen, " -"the index is updated with the selected hunks." +"\t[branch \"devel\"]\n" +"\t\tremote = origin\n" +"\t\tmerge = refs/heads/devel\n" msgstr "" -"Apr챔s avoir d챕cid챕 du devenir de chaque section, l'index est mis 횪 jour avec " -"les sections s챕lectionn챕es." -# #. type: Plain text -#: en/git-add.txt:327 +#: en/config.txt:167 +#, no-wrap msgid "" -"You can omit having to type return here, by setting the configuration " -"variable `interactive.singleKey` to `true`." +"\t# Proxy settings\n" +"\t[core]\n" +"\t\tgitProxy=\"ssh\" for \"kernel.org\"\n" +"\t\tgitProxy=default-proxy ; for the rest\n" msgstr "" -"Vous pouvez vous 챕viter de taper entr챕e ici, en mettant la variable de " -"configuration `interactive.singlekey` 횪 `true`." -#. type: Labeled list -#: en/git-add.txt:328 +#. type: Plain text +#: en/config.txt:172 #, no-wrap -msgid "diff" -msgstr "diff" +msgid "" +"\t[include]\n" +"\t\tpath = /path/to/foo.inc ; include by absolute path\n" +"\t\tpath = foo ; expand \"foo\" relative to the current file\n" +"\t\tpath = ~/foo ; expand \"foo\" in your `$HOME` directory\n" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:332 +#: en/config.txt:176 +#, no-wrap msgid "" -"This lets you review what will be committed (i.e. between HEAD and index)." +"\t; include if $GIT_DIR is /path/to/foo/.git\n" +"\t[includeIf \"gitdir:/path/to/foo/.git\"]\n" +"\t\tpath = /path/to/foo.inc\n" msgstr "" -"Ceci permet de faire une revue de ce qui sera valid챕 (c'est une diff챕rence " -"entre HEAD et index)." -#. type: Title - -#: en/git-add.txt:335 +#. type: Plain text +#: en/config.txt:180 #, no-wrap -msgid "EDITING PATCHES" -msgstr "횋DITER LES PATCHES" +msgid "" +"\t; include for all repositories inside /path/to/group\n" +"\t[includeIf \"gitdir:/path/to/group/\"]\n" +"\t\tpath = /path/to/foo.inc\n" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:345 +#: en/config.txt:184 +#, no-wrap msgid "" -"Invoking `git add -e` or selecting `e` from the interactive hunk selector " -"will open a patch in your editor; after the editor exits, the result is " -"applied to the index. You are free to make arbitrary changes to the patch, " -"but note that some changes may have confusing results, or even result in a " -"patch that cannot be applied. If you want to abort the operation entirely " -"(i.e., stage nothing new in the index), simply delete all lines of the " -"patch. The list below describes some common things you may see in a patch, " -"and which editing operations make sense on them." +"\t; include for all repositories inside $HOME/to/group\n" +"\t[includeIf \"gitdir:~/to/group/\"]\n" +"\t\tpath = /path/to/foo.inc\n" msgstr "" -"Invoquer `git add -e` ou s챕lectionner `e` depuis le s챕lecteur interactif de " -"sections ouvre un patch dans votre 챕diteur혻; apr챔s avoir quitt챕 l'챕diteur, " -"le r챕sultat est appliqu챕 횪 l'index. Vous 챗tes libre de modifier en tout " -"point le patch, mais notez cependant que certaines modifications provoquent " -"des r챕sultats inattendus ou m챗me cr챕ent des patchs inapplicables. Si vous " -"souhaitez abandonner compl챔tement l'op챕ration (c'est-횪-dire ne rien ajouter " -"횪 l'index), effacez toutes les lignes du patch. La liste ci-dessous d챕crit " -"des formes habituelles dans les patchs et quelles op챕rations d'챕dition " -"peuvent 챗tre r챕alis챕es." -#. type: Labeled list -#: en/git-add.txt:347 +#. type: Title ~ +#: en/config.txt:186 #, no-wrap -msgid "added content" -msgstr "contenu ajout챕" +msgid "Values" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:351 +#: en/config.txt:191 msgid "" -"Added content is represented by lines beginning with \"{plus}\". You can " -"prevent staging any addition lines by deleting them." +"Values of many variables are treated as a simple string, but there are " +"variables that take values of specific types and there are rules as to how " +"to spell them." msgstr "" -"Le contenu ajout챕 est repr챕sent챕 par des lignes commen챌ant par un " -"\"{plus}\". Vous pouvez emp챗cher l'indexation de lignes ajout챕es en les " -"supprimant." #. type: Labeled list -#: en/git-add.txt:352 +#: en/config.txt:192 #, no-wrap -msgid "removed content" -msgstr "contenu supprim챕" +msgid "boolean" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:356 +#: en/config.txt:197 msgid "" -"Removed content is represented by lines beginning with \"-\". You can " -"prevent staging their removal by converting the \"-\" to a \" \" (space)." +"When a variable is said to take a boolean value, many synonyms are accepted " +"for 'true' and 'false'; these are all case-insensitive." msgstr "" -"Le contenu supprim챕 est repr챕sent챕 par des lignes commen챌ant par \"-\". Vous " -"pouvez emp챗cher l'indexation de ces suppression en convertissant le \"-\" en " -"\" \" (espace)." #. type: Labeled list -#: en/git-add.txt:357 +#: en/config.txt:198 #, no-wrap -msgid "modified content" -msgstr "contenu modifi챕" - -# -#. type: Plain text -#: en/git-add.txt:364 -msgid "" -"Modified content is represented by \"-\" lines (removing the old content) " -"followed by \"{plus}\" lines (adding the replacement content). You can " -"prevent staging the modification by converting \"-\" lines to \" \", and " -"removing \"{plus}\" lines. Beware that modifying only half of the pair is " -"likely to introduce confusing changes to the index." +msgid "true" msgstr "" -"Le contenu modifi챕 est repr챕sent챕 par des lignes \"-\" (supprimant l'ancien " -"contenu) suivies de lignes \"{plus}\" (ajoutant le nouveau contenu). Vous " -"pouvez emp챗cher l'indexation de ces modifications en convertissant les " -"lignes \"-\" en ligne \" \" et en supprimant les lignes \"{plus}\". M챕fiez-" -"vous혻: ne modifier que la moiti챕 de la paire de lignes a de fortes chances " -"de cr챕er des modifications inattendues dans l'index." -# #. type: Plain text -#: en/git-add.txt:372 -msgid "" -"There are also more complex operations that can be performed. But beware " -"that because the patch is applied only to the index and not the working " -"tree, the working tree will appear to \"undo\" the change in the index. For " -"example, introducing a new line into the index that is in neither the HEAD " -"nor the working tree will stage the new line for commit, but the line will " -"appear to be reverted in the working tree." +#: en/config.txt:199 +msgid "Boolean true can be spelled as `yes`, `on`, `true`," msgstr "" -"Il existe aussi des op챕rations plus complexes. M챕fiez-vous혻: quand le patch " -"n'est appliqu챕 que dans l'index et pas dans l'arbre de travail, l'arbre de " -"travail semblera 짬혻d챕faire혻쨩 les modifications de l'index. Par exemple, " -"l'introduction dans l'index d'une nouvelle ligne qui n'apparait ni dans HEAD " -"ni dans l'arbre de travail indexera la nouvelle ligne pour validation, mais " -"cette ligne semblera 챗tre supprim챕e dans l'arbre de travail." -# #. type: Plain text -#: en/git-add.txt:374 -msgid "Avoid using these constructs, or do so with extreme caution." +#: en/config.txt:201 +msgid "or `1`. Also, a variable defined without `= <value>` is taken as true." msgstr "" -"횋vitez d'utiliser ces constructions, ou faites-le avec une extr챗me " -"pr챕caution." #. type: Labeled list -#: en/git-add.txt:376 +#: en/config.txt:202 #, no-wrap -msgid "removing untouched content" -msgstr "suppression de contenu intact" +msgid "false" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:382 +#: en/config.txt:203 +msgid "Boolean false can be spelled as `no`, `off`," +msgstr "" + +#. type: Plain text +#: en/config.txt:204 +msgid "`false`, or `0`." +msgstr "" + +#. type: Plain text +#: en/config.txt:208 msgid "" -"Content which does not differ between the index and working tree may be " -"shown on context lines, beginning with a \" \" (space). You can stage " -"context lines for removal by converting the space to a \"-\". The resulting " -"working tree file will appear to re-add the content." +"When converting value to the canonical form using `--bool` type specifier; " +"'git config' will ensure that the output is \"true\" or \"false\" (spelled " +"in lowercase)." msgstr "" -"Le contenu qui ne diff챔re pas entre l'index et l'arbre de travail peut 챗tre " -"visible dans des lignes de contexte commen챌ant par un \" \" (espace). Vous " -"pouvez indexer l'챕limination de lignes de contexte en convertissant l'espace " -"en \"-\". Le fichier dans l'arbre de travail semblera r챕-ajouter le contenu." #. type: Labeled list -#: en/git-add.txt:383 -#, no-wrap -msgid "modifying existing content" -msgstr "modification de contenu existant" +#: en/config.txt:209 +#, no-wrap +msgid "integer" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:390 +#: en/config.txt:213 msgid "" -"One can also modify context lines by staging them for removal (by converting " -"\" \" to \"-\") and adding a \"{plus}\" line with the new content. " -"Similarly, one can modify \"{plus}\" lines for existing additions or " -"modifications. In all cases, the new modification will appear reverted in " -"the working tree." +"The value for many variables that specify various sizes can be suffixed with " +"`k`, `M`,... to mean \"scale the number by 1024\", \"by 1024x1024\", etc." msgstr "" -"On peut aussi modifier le contenu de lignes de contexte en indexant leur " -"suppression (en convertissant \" \" en \"-\") et en ajoutant dessous une " -"ligne \"{plus}\" avec le nouveau contenu. On peut modifier des lignes " -"\"{plus}\" dans des ajouts ou des modifications de contenu. Dans tous les " -"cas, la nouvelle modification index챕e semblera 챗tre annul챕e dans l'arbre de " -"travail." #. type: Labeled list -#: en/git-add.txt:391 +#: en/config.txt:214 en/diff-options.txt:241 en/git-for-each-ref.txt:152 #, no-wrap -msgid "new content" -msgstr "contenu nouveau" +msgid "color" +msgstr "" -# #. type: Plain text -#: en/git-add.txt:396 +#: en/config.txt:218 msgid "" -"You may also add new content that does not exist in the patch; simply add " -"new lines, each starting with \"{plus}\". The addition will appear reverted " -"in the working tree." +"The value for a variable that takes a color is a list of colors (at most " +"two, one for foreground and one for background) and attributes (as many as " +"you want), separated by spaces." msgstr "" -"Vous pouvez aussi ajouter du contenu nouveau qui n'existe pas dans le " -"patch혻; ajoutez simplement des nouvelles lignes, chacune commen챌ant par " -"\"{plus}\". L'ajout semblera annul챕 dans l'arbre de travail." -# #. type: Plain text -#: en/git-add.txt:400 +#: en/config.txt:222 msgid "" -"There are also several operations which should be avoided entirely, as they " -"will make the patch impossible to apply:" +"The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`, " +"`blue`, `magenta`, `cyan` and `white`. The first color given is the " +"foreground; the second is the background." msgstr "" -"Il existe aussi quelques op챕rations 횪 챕viter compl챔tement car celles-ci " -"rendent le patch inapplicable혻:" - -# -#. type: Plain text -#: en/git-add.txt:402 -msgid "adding context (\" \") or removal (\"-\") lines" -msgstr "ajout de context (\" \") ou lignes de suppression (\"-\")" - -# -#. type: Plain text -#: en/git-add.txt:403 -msgid "deleting context or removal lines" -msgstr "suppression de contexte ou de lignes supprim챕es" - -# -#. type: Plain text -#: en/git-add.txt:404 -msgid "modifying the contents of context or removal lines" -msgstr "modification de contenu de contexte ou de lignes supprim챕es" -# #. type: Plain text -#: en/git-add.txt:413 -#, fuzzy -#| msgid "" -#| "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" -#| "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" +#: en/config.txt:227 msgid "" -"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" -"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" +"Colors may also be given as numbers between 0 and 255; these use ANSI 256-" +"color mode (but note that not all terminals may support this). If your " +"terminal supports it, you may also specify 24-bit RGB values as hex, like " +"`#ff0ab3`." msgstr "" -"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" -"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" - -#. type: Title = -#: en/git-am.txt:2 -#, no-wrap -msgid "git-am(1)" -msgstr "git-add(1)" #. type: Plain text -#: en/git-am.txt:7 -msgid "git-am - Apply a series of patches from a mailbox" +#: en/config.txt:234 +msgid "" +"The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, " +"`italic`, and `strike` (for crossed-out or \"strikethrough\" letters). The " +"position of any attributes with respect to the colors (before, after, or in " +"between), doesn't matter. Specific attributes may be turned off by prefixing " +"them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc)." msgstr "" #. type: Plain text -#: en/git-am.txt:20 -#, no-wrap +#: en/config.txt:237 msgid "" -"'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]\n" -"\t [--[no-]3way] [--interactive] [--committer-date-is-author-date]\n" -"\t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n" -"\t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]\n" -"\t [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]\n" -"\t [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]\n" -"\t [(<mbox> | <Maildir>)...]\n" -"'git am' (--continue | --skip | --abort)\n" +"An empty color string produces no color effect at all. This can be used to " +"avoid coloring specific elements without disabling color entirely." msgstr "" #. type: Plain text -#: en/git-am.txt:26 +#: en/config.txt:246 msgid "" -"Splits mail messages in a mailbox into commit log message, authorship " -"information and patches, and applies them to the current branch." +"For git's pre-defined color slots, the attributes are meant to be reset at " +"the beginning of each item in the colored output. So setting `color.decorate." +"branch` to `black` will paint that branch name in a plain `black`, even if " +"the previous thing on the same output line (e.g. opening parenthesis before " +"the list of branch names in `log --decorate` output) is set to be painted " +"with `bold` or some other attribute. However, custom log formats may do " +"more complicated and layered coloring, and the negated forms may be useful " +"there." msgstr "" #. type: Labeled list -#: en/git-am.txt:30 +#: en/config.txt:247 #, no-wrap -msgid "(<mbox>|<Maildir>)..." +msgid "pathname" msgstr "" #. type: Plain text -#: en/git-am.txt:34 +#: en/config.txt:253 msgid "" -"The list of mailbox files to read patches from. If you do not supply this " -"argument, the command reads from the standard input. If you supply " -"directories, they will be treated as Maildirs." -msgstr "" - -#. type: Labeled list -#: en/git-am.txt:35 en/git-blame.txt:74 en/git-cat-file.txt:40 -#: en/git-cherry-pick.txt:100 en/git-clone.txt:66 en/git-commit.txt:159 -#: en/git-diff-tree.txt:75 en/git-format-patch.txt:113 en/git-ls-files.txt:58 -#: en/git-revert.txt:89 en/git-shortlog.txt:34 en/git-show-ref.txt:53 -#: en/git-status.txt:27 en/git-stripspace.txt:38 en/git-svn.txt:46 -#: en/git-tag.txt:63 en/git-verify-pack.txt:31 en/diff-options.txt:30 -#, no-wrap -msgid "-s" +"A variable that takes a pathname value can be given a string that begins " +"with \"`~/`\" or \"`~user/`\", and the usual tilde expansion happens to such " +"a string: `~/` is expanded to the value of `$HOME`, and `~user/` to the " +"specified user's home directory." msgstr "" -#. type: Labeled list -#: en/git-am.txt:36 en/git-cherry-pick.txt:101 en/git-commit.txt:160 -#: en/git-format-patch.txt:114 en/git-revert.txt:90 +#. type: Title ~ +#: en/config.txt:256 en/git-imap-send.txt:58 #, no-wrap -msgid "--signoff" +msgid "Variables" msgstr "" #. type: Plain text -#: en/git-am.txt:40 +#: en/config.txt:261 msgid "" -"Add a `Signed-off-by:` line to the commit message, using the committer " -"identity of yourself. See the signoff option in linkgit:git-commit[1] for " -"more information." +"Note that this list is non-comprehensive and not necessarily complete. For " +"command-specific variables, you will find a more detailed description in the " +"appropriate manual page." msgstr "" -#. type: Labeled list -#: en/git-am.txt:41 en/git-cvsexportcommit.txt:67 en/git-cvsimport.txt:93 -#: en/git-fetch-pack.txt:53 en/git-format-patch.txt:108 en/git-ls-files.txt:73 -#: en/git-mailinfo.txt:27 en/git-mv.txt:34 en/git-repack.txt:139 -#: en/fetch-options.txt:58 -#, no-wrap -msgid "-k" +#. type: Plain text +#: en/config.txt:266 +msgid "" +"Other git-related tools may and do use their own variables. When inventing " +"new variables for use in your own tool, make sure their names do not " +"conflict with those that are used by Git itself and other popular tools, and " +"describe them in your documentation." msgstr "" #. type: Labeled list -#: en/git-am.txt:42 en/git-fetch-pack.txt:54 en/git-index-pack.txt:54 -#: en/git-reset.txt:82 en/fetch-options.txt:59 +#: en/config.txt:268 #, no-wrap -msgid "--keep" +msgid "advice.*" msgstr "" #. type: Plain text -#: en/git-am.txt:44 -msgid "Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +#: en/config.txt:272 +msgid "" +"These variables control various optional help messages designed to aid new " +"users. All 'advice.*' variables default to 'true', and you can tell Git that " +"you do not need help by setting these to 'false':" msgstr "" #. type: Labeled list -#: en/git-am.txt:45 +#: en/config.txt:274 #, no-wrap -msgid "--keep-non-patch" +msgid "pushUpdateRejected" msgstr "" #. type: Plain text -#: en/git-am.txt:47 -msgid "Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +#: en/config.txt:280 +#, no-wrap +msgid "" +"Set this variable to 'false' if you want to disable\n" +"'pushNonFFCurrent',\n" +"'pushNonFFMatching', 'pushAlreadyExists',\n" +"'pushFetchFirst', and 'pushNeedsForce'\n" +"simultaneously.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:48 +#: en/config.txt:280 #, no-wrap -msgid "--[no-]keep-cr" +msgid "pushNonFFCurrent" msgstr "" #. type: Plain text -#: en/git-am.txt:53 +#: en/config.txt:283 +#, no-wrap msgid "" -"With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1]) with " -"the same option, to prevent it from stripping CR at the end of lines. `am." -"keepcr` configuration variable can be used to specify the default " -"behaviour. `--no-keep-cr` is useful to override `am.keepcr`." +"Advice shown when linkgit:git-push[1] fails due to a\n" +"non-fast-forward update to the current branch.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:54 en/git-blame.txt:52 en/git-cvsexportcommit.txt:37 -#: en/git-diff-files.txt:37 en/git-diff-tree.txt:91 en/git-grep.txt:201 -#: en/git-http-fetch.txt:27 en/git-ls-files.txt:35 en/git-shortlog.txt:50 -#: en/git-stripspace.txt:42 en/rev-list-options.txt:866 +#: en/config.txt:283 #, no-wrap -msgid "-c" +msgid "pushNonFFMatching" msgstr "" -#. type: Labeled list -#: en/git-am.txt:55 en/git-mailinfo.txt:74 -#, fuzzy, no-wrap -#| msgid "scissors" -msgid "--scissors" -msgstr "scissors" - #. type: Plain text -#: en/git-am.txt:59 +#: en/config.txt:288 +#, no-wrap msgid "" -"Remove everything in body before a scissors line (see linkgit:git-" -"mailinfo[1]). Can be activated by default using the `mailinfo.scissors` " -"configuration variable." +"Advice shown when you ran linkgit:git-push[1] and pushed\n" +"'matching refs' explicitly (i.e. you used ':', or\n" +"specified a refspec that isn't your current branch) and\n" +"it resulted in a non-fast-forward error.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:60 en/git-mailinfo.txt:90 -#, fuzzy, no-wrap -#| msgid "scissors" -msgid "--no-scissors" -msgstr "scissors" +#: en/config.txt:288 +#, no-wrap +msgid "pushAlreadyExists" +msgstr "" #. type: Plain text -#: en/git-am.txt:62 -#, fuzzy -#| msgid "git-commit(1)" -msgid "Ignore scissors lines (see linkgit:git-mailinfo[1])." -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/git-am.txt:63 en/git-branch.txt:107 en/git-checkout.txt:216 -#: en/git-cvsexportcommit.txt:60 en/git-cvsimport.txt:118 -#: en/git-diff-index.txt:32 en/git-diff-tree.txt:69 en/git-help.txt:56 -#: en/git-instaweb.txt:35 en/git-ls-files.txt:43 en/git-mailinfo.txt:69 -#: en/git-read-tree.txt:34 en/git-rebase.txt:270 en/git-svn.txt:292 -#: en/git-svn.txt:637 en/git-symbolic-ref.txt:49 en/rev-list-options.txt:879 +#: en/config.txt:291 #, no-wrap -msgid "-m" +msgid "" +"Shown when linkgit:git-push[1] rejects an update that\n" +"does not qualify for fast-forwarding (e.g., a tag.)\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:64 en/git-mailinfo.txt:70 +#: en/config.txt:291 #, no-wrap -msgid "--message-id" +msgid "pushFetchFirst" msgstr "" #. type: Plain text -#: en/git-am.txt:69 +#: en/config.txt:295 +#, no-wrap msgid "" -"Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]), so that " -"the Message-ID header is added to the commit message. The `am.messageid` " -"configuration variable can be used to specify the default behaviour." +"Shown when linkgit:git-push[1] rejects an update that\n" +"tries to overwrite a remote ref that points at an\n" +"object we do not have.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:70 +#: en/config.txt:295 #, no-wrap -msgid "--no-message-id" +msgid "pushNeedsForce" msgstr "" #. type: Plain text -#: en/git-am.txt:73 +#: en/config.txt:300 +#, no-wrap msgid "" -"Do not add the Message-ID header to the commit message. `no-message-id` is " -"useful to override `am.messageid`." +"Shown when linkgit:git-push[1] rejects an update that\n" +"tries to overwrite a remote ref that points at an\n" +"object that is not a commit-ish, or make the remote\n" +"ref point at an object that is not a commit-ish.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:74 en/git-branch.txt:157 en/git-checkout-index.txt:30 -#: en/git-checkout.txt:106 en/git-clean.txt:51 en/git-clone.txt:119 -#: en/git-commit.txt:306 en/git-diff-files.txt:44 en/git-fetch-pack.txt:48 -#: en/git-format-patch.txt:260 en/git-grep.txt:280 en/git-imap-send.txt:36 -#: en/git-init.txt:43 en/git-ls-remote.txt:36 en/git-merge-file.txt:67 -#: en/git-merge-index.txt:35 en/git-notes.txt:206 en/git-pack-objects.txt:158 -#: en/git-prune-packed.txt:36 en/git-pull.txt:77 en/git-push.txt:258 -#: en/git-rebase.txt:306 en/git-repack.txt:73 en/git-reset.txt:96 -#: en/git-rev-parse.txt:113 en/git-rm.txt:66 en/git-show-ref.txt:70 -#: en/git-submodule.txt:271 en/git-svn.txt:632 en/git-symbolic-ref.txt:39 -#: en/git-unpack-objects.txt:34 en/git-update-index.txt:56 -#: en/fetch-options.txt:159 en/merge-options.txt:104 +#: en/config.txt:300 +#, fuzzy, no-wrap +#| msgid "status" +msgid "statusHints" +msgstr "status" + +#. type: Plain text +#: en/config.txt:306 #, no-wrap -msgid "-q" +msgid "" +"Show directions on how to proceed from the current\n" +"state in the output of linkgit:git-status[1], in\n" +"the template shown when writing commit messages in\n" +"linkgit:git-commit[1], and in the help message shown\n" +"by linkgit:git-checkout[1] when switching branch.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:75 en/git-branch.txt:158 en/git-checkout-index.txt:31 -#: en/git-checkout.txt:107 en/git-clean.txt:52 en/git-clone.txt:118 -#: en/git-commit.txt:307 en/git-fast-import.txt:42 en/git-fetch-pack.txt:49 -#: en/git-format-patch.txt:261 en/git-gc.txt:74 en/git-grep.txt:281 -#: en/git-imap-send.txt:37 en/git-init.txt:44 en/git-ls-remote.txt:37 -#: en/git-notes.txt:207 en/git-prune-packed.txt:37 en/git-pull.txt:78 -#: en/git-push.txt:259 en/git-rebase.txt:307 en/git-reset.txt:97 -#: en/git-rev-parse.txt:114 en/git-rm.txt:67 en/git-send-email.txt:371 -#: en/git-show-ref.txt:71 en/git-submodule.txt:272 en/git-svn.txt:633 -#: en/git-symbolic-ref.txt:40 en/diff-options.txt:557 en/fetch-options.txt:160 -#: en/merge-options.txt:105 en/rev-list-options.txt:201 -#, no-wrap -msgid "--quiet" -msgstr "" +#: en/config.txt:306 +#, fuzzy, no-wrap +#| msgid "status" +msgid "statusUoption" +msgstr "status" #. type: Plain text -#: en/git-am.txt:77 -msgid "Be quiet. Only print error messages." -msgstr "N'afficher que les messages d'erreur." +#: en/config.txt:310 +#, no-wrap +msgid "" +"Advise to consider using the `-u` option to linkgit:git-status[1]\n" +"when the command takes more than 2 seconds to enumerate untracked\n" +"files.\n" +msgstr "" #. type: Labeled list -#: en/git-am.txt:79 +#: en/config.txt:310 #, no-wrap -msgid "--utf8" +msgid "commitBeforeMerge" msgstr "" #. type: Plain text -#: en/git-am.txt:85 +#: en/config.txt:313 +#, no-wrap msgid "" -"Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]). The " -"proposed commit log message taken from the e-mail is re-coded into UTF-8 " -"encoding (configuration variable `i18n.commitencoding` can be used to " -"specify project's preferred encoding if it is not UTF-8)." +"Advice shown when linkgit:git-merge[1] refuses to\n" +"merge to avoid overwriting local changes.\n" +msgstr "" + +#. type: Labeled list +#: en/config.txt:313 +#, no-wrap +msgid "resolveConflict" msgstr "" #. type: Plain text -#: en/git-am.txt:88 +#: en/config.txt:316 #, no-wrap msgid "" -"This was optional in prior versions of git, but now it is the\n" -"default. You can use `--no-utf8` to override this.\n" +"Advice shown by various commands when conflicts\n" +"prevent the operation from being performed.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:89 +#: en/config.txt:316 #, no-wrap -msgid "--no-utf8" +msgid "implicitIdentity" msgstr "" #. type: Plain text -#: en/git-am.txt:92 -msgid "Pass `-n` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +#: en/config.txt:320 +#, no-wrap +msgid "" +"Advice on how to set your identity configuration when\n" +"your information is guessed from the system username and\n" +"domain name.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:93 en/git-apply.txt:77 +#: en/config.txt:320 #, no-wrap -msgid "-3" +msgid "detachedHead" msgstr "" -#. type: Labeled list -#: en/git-am.txt:94 en/git-apply.txt:78 +#. type: Plain text +#: en/config.txt:324 #, no-wrap -msgid "--3way" +msgid "" +"Advice shown when you used linkgit:git-checkout[1] to\n" +"move to the detach HEAD state, to instruct how to create\n" +"a local branch after the fact.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:95 +#: en/config.txt:324 #, no-wrap -msgid "--no-3way" +msgid "amWorkDir" msgstr "" #. type: Plain text -#: en/git-am.txt:102 +#: en/config.txt:327 +#, no-wrap msgid "" -"When the patch does not apply cleanly, fall back on 3-way merge if the patch " -"records the identity of blobs it is supposed to apply to and we have those " -"blobs available locally. `--no-3way` can be used to override am.threeWay " -"configuration variable. For more information, see am.threeWay in linkgit:git-" -"config[1]." +"Advice that shows the location of the patch file when\n" +"linkgit:git-am[1] fails to apply it.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:103 en/git-apply.txt:172 en/diff-options.txt:526 +#: en/config.txt:327 #, no-wrap -msgid "--ignore-space-change" +msgid "rmHints" msgstr "" -#. type: Labeled list -#: en/git-am.txt:104 en/git-apply.txt:173 en/git-rebase.txt:361 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "--ignore-whitespace" -msgstr "whitespace" - -#. type: Labeled list -#: en/git-am.txt:105 en/git-rebase.txt:362 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "--whitespace=<option>" -msgstr "whitespace" - -#. type: Labeled list -#: en/git-am.txt:106 en/git-apply.txt:119 en/git-rebase.txt:329 +#. type: Plain text +#: en/config.txt:330 #, no-wrap -msgid "-C<n>" +msgid "" +"In case of failure in the output of linkgit:git-rm[1],\n" +"show directions on how to proceed from the current state.\n" msgstr "" #. type: Labeled list -#: en/git-am.txt:107 en/git-apply.txt:115 +#: en/config.txt:332 #, no-wrap -msgid "-p<n>" +msgid "core.fileMode" msgstr "" -#. type: Labeled list -#: en/git-am.txt:108 -#, no-wrap -msgid "--directory=<dir>" +# +#. type: Plain text +#: en/config.txt:335 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "" +"Tells Git if the executable bit of files in the working tree is to be " +"honored." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/config.txt:342 +msgid "" +"Some filesystems lose the executable bit when a file that is marked as " +"executable is checked out, or checks out an non-executable file with " +"executable bit on. linkgit:git-clone[1] or linkgit:git-init[1] probe the " +"filesystem to see if it handles the executable bit correctly and this " +"variable is automatically set as necessary." msgstr "" -#. type: Labeled list -#: en/git-am.txt:109 -#, no-wrap -msgid "--exclude=<path>" +#. type: Plain text +#: en/config.txt:351 +msgid "" +"A repository, however, may be on a filesystem that handles the filemode " +"correctly, and this variable is set to 'true' when created, but later may be " +"made accessible from another environment that loses the filemode (e.g. " +"exporting ext4 via CIFS mount, visiting a Cygwin created repository with Git " +"for Windows or Eclipse). In such a case it may be necessary to set this " +"variable to 'false'. See linkgit:git-update-index[1]." msgstr "" -#. type: Labeled list -#: en/git-am.txt:110 -#, no-wrap -msgid "--include=<path>" +#. type: Plain text +#: en/config.txt:353 +msgid "" +"The default is true (when core.filemode is not specified in the config file)." msgstr "" #. type: Labeled list -#: en/git-am.txt:111 en/git-apply.txt:100 +#: en/config.txt:354 #, fuzzy, no-wrap -#| msgid "removed content" -msgid "--reject" -msgstr "contenu supprim챕" +#| msgid "whitespace" +msgid "core.hideDotFiles" +msgstr "whitespace" #. type: Plain text -#: en/git-am.txt:115 +#: en/config.txt:359 msgid "" -"These flags are passed to the 'git apply' (see linkgit:git-apply[1]) " -"program that applies the patch." +"(Windows-only) If true, mark newly-created directories and files whose name " +"starts with a dot as hidden. If 'dotGitOnly', only the `.git/` directory is " +"hidden, but no other files starting with a dot. The default mode is " +"'dotGitOnly'." msgstr "" #. type: Labeled list -#: en/git-am.txt:116 -#, no-wrap -msgid "--patch-format" -msgstr "" +#: en/config.txt:360 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "core.ignoreCase" +msgstr "whitespace" #. type: Plain text -#: en/git-am.txt:122 +#: en/config.txt:367 msgid "" -"By default the command will try to detect the patch format automatically. " -"This option allows the user to bypass the automatic detection and specify " -"the patch format that the patch(es) should be interpreted as. Valid formats " -"are mbox, mboxrd, stgit, stgit-series and hg." +"If true, this option enables various workarounds to enable Git to work " +"better on filesystems that are not case sensitive, like FAT. For example, if " +"a directory listing finds \"makefile\" when Git expects \"Makefile\", Git " +"will assume it is really the same file, and continue to remember it as " +"\"Makefile\"." msgstr "" #. type: Plain text -#: en/git-am.txt:126 -#, fuzzy -#| msgid "Interactive mode" -msgid "Run interactively." -msgstr "Mode interactif" +#: en/config.txt:371 +msgid "" +"The default is false, except linkgit:git-clone[1] or linkgit:git-init[1] " +"will probe and set core.ignoreCase true if appropriate when the repository " +"is created." +msgstr "" #. type: Labeled list -#: en/git-am.txt:127 en/git-rebase.txt:367 +#: en/config.txt:372 #, no-wrap -msgid "--committer-date-is-author-date" +msgid "core.precomposeUnicode" msgstr "" #. type: Plain text -#: en/git-am.txt:133 +#: en/config.txt:380 msgid "" -"By default the command records the date from the e-mail message as the " -"commit author date, and uses the time of commit creation as the committer " -"date. This allows the user to lie about the committer date by using the same " -"value as the author date." +"This option is only used by Mac OS implementation of Git. When core." +"precomposeUnicode=true, Git reverts the unicode decomposition of filenames " +"done by Mac OS. This is useful when sharing a repository between Mac OS and " +"Linux or Windows. (Git for Windows 1.7.10 or higher is needed, or Git under " +"cygwin 1.7). When false, file names are handled fully transparent by Git, " +"which is backward compatible with older versions of Git." msgstr "" #. type: Labeled list -#: en/git-am.txt:134 en/git-rebase.txt:368 +#: en/config.txt:381 #, no-wrap -msgid "--ignore-date" +msgid "core.protectHFS" msgstr "" #. type: Plain text -#: en/git-am.txt:140 +#: en/config.txt:385 msgid "" -"By default the command records the date from the e-mail message as the " -"commit author date, and uses the time of commit creation as the committer " -"date. This allows the user to lie about the author date by using the same " -"value as the committer date." +"If set to true, do not allow checkout of paths that would be considered " +"equivalent to `.git` on an HFS+ filesystem. Defaults to `true` on Mac OS, " +"and `false` elsewhere." msgstr "" #. type: Labeled list -#: en/git-am.txt:141 en/git-rebase.txt:264 +#: en/config.txt:386 #, no-wrap -msgid "--skip" +msgid "core.protectNTFS" msgstr "" #. type: Plain text -#: en/git-am.txt:144 +#: en/config.txt:391 msgid "" -"Skip the current patch. This is only meaningful when restarting an aborted " -"patch." +"If set to true, do not allow checkout of paths that would cause problems " +"with the NTFS filesystem, e.g. conflict with 8.3 \"short\" names. Defaults " +"to `true` on Windows, and `false` elsewhere." msgstr "" #. type: Labeled list -#: en/git-am.txt:145 en/git-cherry-pick.txt:105 en/git-commit.txt:326 -#: en/git-commit-tree.txt:57 en/git-merge.txt:72 en/git-rebase.txt:300 -#: en/git-revert.txt:83 -#, no-wrap -msgid "-S[<keyid>]" -msgstr "-S[<idcl챕>]" +#: en/config.txt:392 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "core.trustctime" +msgstr "whitespace" + +#. type: Plain text +#: en/config.txt:398 +msgid "" +"If false, the ctime differences between the index and the working tree are " +"ignored; useful when the inode change time is regularly modified by " +"something outside Git (file system crawlers and some backup systems). See " +"linkgit:git-update-index[1]. True by default." +msgstr "" #. type: Labeled list -#: en/git-am.txt:146 en/git-cherry-pick.txt:106 en/git-commit.txt:327 -#: en/git-commit-tree.txt:58 en/git-merge.txt:73 en/git-rebase.txt:301 -#: en/git-revert.txt:84 +#: en/config.txt:399 #, no-wrap -msgid "--gpg-sign[=<keyid>]" -msgstr "--gpg-sign[=<idcl챕>]" +msgid "core.splitIndex" +msgstr "" #. type: Plain text -#: en/git-am.txt:150 en/git-cherry-pick.txt:110 en/git-commit.txt:331 -#: en/git-commit-tree.txt:62 en/git-rebase.txt:305 en/git-revert.txt:88 +#: en/config.txt:402 msgid "" -"GPG-sign commits. The `keyid` argument is optional and defaults to the " -"committer identity; if specified, it must be stuck to the option without a " -"space." -msgstr "Signer les commits avec GPG. L'argument `idcl챕` est optionnel avec par d챕faut l'identit챕 du validateur혻; si sp챕cifi챕e, elle doit 챗tre coll챕e 횪 l'option sans aucun espace." +"If true, the split-index feature of the index will be used. See linkgit:git-" +"update-index[1]. False by default." +msgstr "" #. type: Labeled list -#: en/git-am.txt:151 en/git-merge.txt:105 en/git-rebase.txt:245 -#: en/sequencer.txt:1 +#: en/config.txt:403 #, no-wrap -msgid "--continue" +msgid "core.untrackedCache" msgstr "" -#. type: Labeled list -#: en/git-am.txt:152 en/git-branch.txt:136 en/git-cherry-pick.txt:74 -#: en/git-diff-tree.txt:39 en/git-ls-tree.txt:44 en/git-pull.txt:103 -#: en/git-rm.txt:49 en/git-show-branch.txt:43 en/git-unpack-objects.txt:38 -#: en/rev-list-options.txt:887 -#, no-wrap -msgid "-r" +#. type: Plain text +#: en/config.txt:411 +msgid "" +"Determines what to do about the untracked cache feature of the index. It " +"will be kept, if this variable is unset or set to `keep`. It will " +"automatically be added if set to `true`. And it will automatically be " +"removed, if set to `false`. Before setting it to `true`, you should check " +"that mtime is working properly on your system. See linkgit:git-update-" +"index[1]. `keep` by default." msgstr "" #. type: Labeled list -#: en/git-am.txt:153 +#: en/config.txt:412 #, no-wrap -msgid "--resolved" +msgid "core.checkStat" msgstr "" #. type: Plain text -#: en/git-am.txt:160 +#: en/config.txt:417 msgid "" -"After a patch failure (e.g. attempting to apply conflicting patch), the user " -"has applied it by hand and the index file stores the result of the " -"application. Make a commit using the authorship and commit log extracted " -"from the e-mail message and the current index file, and continue." +"Determines which stat fields to match between the index and work tree. The " +"user can set this to 'default' or 'minimal'. Default (or explicitly " +"'default'), is to check all fields, including the sub-second part of mtime " +"and ctime." msgstr "" #. type: Labeled list -#: en/git-am.txt:161 +#: en/config.txt:418 #, no-wrap -msgid "--resolvemsg=<msg>" +msgid "core.quotePath" msgstr "" #. type: Plain text -#: en/git-am.txt:167 +#: en/config.txt:432 msgid "" -"When a patch failure occurs, <msg> will be printed to the screen before " -"exiting. This overrides the standard message informing you to use `--" -"continue` or `--skip` to handle the failure. This is solely for internal " -"use between 'git rebase' and 'git am'." +"Commands that output paths (e.g. 'ls-files', 'diff'), will quote \"unusual\" " +"characters in the pathname by enclosing the pathname in double-quotes and " +"escaping those characters with backslashes in the same way C escapes control " +"characters (e.g. `\\t` for TAB, `\\n` for LF, `\\\\` for backslash) or " +"bytes with values larger than 0x80 (e.g. octal `\\302\\265` for \"micro\" in " +"UTF-8). If this variable is set to false, bytes higher than 0x80 are not " +"considered \"unusual\" any more. Double-quotes, backslash and control " +"characters are always escaped regardless of the setting of this variable. A " +"simple space character is not considered \"unusual\". Many commands can " +"output pathnames completely verbatim using the `-z` option. The default " +"value is true." msgstr "" #. type: Labeled list -#: en/git-am.txt:168 en/git-merge.txt:93 en/git-notes.txt:201 -#: en/git-rebase.txt:248 en/sequencer.txt:11 +#: en/config.txt:433 #, no-wrap -msgid "--abort" +msgid "core.eol" msgstr "" #. type: Plain text -#: en/git-am.txt:170 -msgid "Restore the original branch and abort the patching operation." +#: en/config.txt:440 +msgid "" +"Sets the line ending type to use in the working directory for files that " +"have the `text` property set when core.autocrlf is false. Alternatives are " +"'lf', 'crlf' and 'native', which uses the platform's native line ending. " +"The default value is `native`. See linkgit:gitattributes[5] for more " +"information on end-of-line conversion." msgstr "" -#. type: Title - -#: en/git-am.txt:172 en/git-commit.txt:444 en/git-format-patch.txt:308 -#: en/git-fsck.txt:100 en/git-log.txt:165 en/git-merge-base.txt:76 -#: en/git-notes.txt:218 en/git-remote.txt:196 en/git-rerere.txt:77 -#: en/git-reset.txt:345 en/git-rm.txt:73 en/git-stash.txt:183 -#: en/git-tag.txt:195 +#. type: Labeled list +#: en/config.txt:441 #, no-wrap -msgid "DISCUSSION" -msgstr "DISCUSSION" +msgid "core.safecrlf" +msgstr "" #. type: Plain text -#: en/git-am.txt:180 +#: en/config.txt:451 msgid "" -"The commit author name is taken from the \"From: \" line of the message, and " -"commit author date is taken from the \"Date: \" line of the message. The " -"\"Subject: \" line is used as the title of the commit, after stripping " -"common prefix \"[PATCH <anything>]\". The \"Subject: \" line is supposed to " -"concisely describe what the commit is about in one line of text." +"If true, makes Git check if converting `CRLF` is reversible when end-of-line " +"conversion is active. Git will verify if a command modifies a file in the " +"work tree either directly or indirectly. For example, committing a file " +"followed by checking out the same file should yield the original file in the " +"work tree. If this is not the case for the current setting of `core." +"autocrlf`, Git will reject the file. The variable can be set to \"warn\", " +"in which case Git will only warn about an irreversible conversion but " +"continue the operation." msgstr "" #. type: Plain text -#: en/git-am.txt:183 +#: en/config.txt:460 msgid "" -"\"From: \" and \"Subject: \" lines starting the body override the respective " -"commit author name and title values taken from the headers." +"CRLF conversion bears a slight chance of corrupting data. When it is " +"enabled, Git will convert CRLF to LF during commit and LF to CRLF during " +"checkout. A file that contains a mixture of LF and CRLF before the commit " +"cannot be recreated by Git. For text files this is the right thing to do: " +"it corrects line endings such that we have only LF line endings in the " +"repository. But for binary files that are accidentally classified as text " +"the conversion can corrupt data." msgstr "" #. type: Plain text -#: en/git-am.txt:188 +#: en/config.txt:467 msgid "" -"The commit message is formed by the title taken from the \"Subject: \", a " -"blank line and the body of the message up to where the patch begins. Excess " -"whitespace at the end of each line is automatically stripped." +"If you recognize such corruption early you can easily fix it by setting the " +"conversion type explicitly in .gitattributes. Right after committing you " +"still have the original file in your work tree and this file is not yet " +"corrupted. You can explicitly tell Git that this file is binary and Git " +"will handle the file appropriately." msgstr "" #. type: Plain text -#: en/git-am.txt:191 +#: en/config.txt:474 msgid "" -"The patch is expected to be inline, directly following the message. Any " -"line that is of the form:" +"Unfortunately, the desired effect of cleaning up text files with mixed line " +"endings and the undesired effect of corrupting binary files cannot be " +"distinguished. In both cases CRLFs are removed in an irreversible way. For " +"text files this is the right thing to do because CRLFs are line endings, " +"while for binary files converting CRLFs corrupts data." msgstr "" #. type: Plain text -#: en/git-am.txt:193 -msgid "three-dashes and end-of-line, or" +#: en/config.txt:485 +msgid "" +"Note, this safety check does not mean that a checkout will generate a file " +"identical to the original file for a different setting of `core.eol` and " +"`core.autocrlf`, but only for the current one. For example, a text file " +"with `LF` would be accepted with `core.eol=lf` and could later be checked " +"out with `core.eol=crlf`, in which case the resulting file would contain " +"`CRLF`, although the original file contained `LF`. However, in both work " +"trees the line endings would be consistent, that is either all `LF` or all " +"`CRLF`, but never mixed. A file with mixed line endings would be reported " +"by the `core.safecrlf` mechanism." msgstr "" -#. type: Plain text -#: en/git-am.txt:194 -msgid "a line that begins with \"diff -\", or" +#. type: Labeled list +#: en/config.txt:486 +#, no-wrap +msgid "core.autocrlf" msgstr "" #. type: Plain text -#: en/git-am.txt:195 -msgid "a line that begins with \"Index: \"" +#: en/config.txt:493 +msgid "" +"Setting this variable to \"true\" is the same as setting the `text` " +"attribute to \"auto\" on all files and core.eol to \"crlf\". Set to true if " +"you want to have `CRLF` line endings in your working directory and the " +"repository has LF line endings. This variable can be set to 'input', in " +"which case no output conversion is performed." msgstr "" -#. type: Plain text -#: en/git-am.txt:198 -msgid "" -"is taken as the beginning of a patch, and the commit log message is " -"terminated before the first occurrence of such a line." +#. type: Labeled list +#: en/config.txt:494 +#, no-wrap +msgid "core.symlinks" msgstr "" #. type: Plain text -#: en/git-am.txt:202 +#: en/config.txt:500 msgid "" -"When initially invoking `git am`, you give it the names of the mailboxes to " -"process. Upon seeing the first patch that does not apply, it aborts in the " -"middle. You can recover from this in one of two ways:" +"If false, symbolic links are checked out as small plain files that contain " +"the link text. linkgit:git-update-index[1] and linkgit:git-add[1] will not " +"change the recorded type to regular file. Useful on filesystems like FAT " +"that do not support symbolic links." msgstr "" #. type: Plain text -#: en/git-am.txt:205 +#: en/config.txt:504 msgid "" -"skip the current patch by re-running the command with the `--skip` option." +"The default is true, except linkgit:git-clone[1] or linkgit:git-init[1] will " +"probe and set core.symlinks false if appropriate when the repository is " +"created." +msgstr "" + +#. type: Labeled list +#: en/config.txt:505 +#, no-wrap +msgid "core.gitProxy" msgstr "" #. type: Plain text -#: en/git-am.txt:209 +#: en/config.txt:513 msgid "" -"hand resolve the conflict in the working directory, and update the index " -"file to bring it into a state that the patch should have produced. Then run " -"the command with the `--continue` option." +"A \"proxy command\" to execute (as 'command host port') instead of " +"establishing direct connection to the remote server when using the Git " +"protocol for fetching. If the variable value is in the \"COMMAND for DOMAIN" +"\" format, the command is applied only on hostnames ending with the " +"specified domain string. This variable may be set multiple times and is " +"matched in the given order; the first match wins." msgstr "" #. type: Plain text -#: en/git-am.txt:214 +#: en/config.txt:517 msgid "" -"The command refuses to process new mailboxes until the current operation is " -"finished, so if you decide to start over from scratch, run `git am --abort` " -"before running the command with mailbox names." +"Can be overridden by the `GIT_PROXY_COMMAND` environment variable (which " +"always applies universally, without the special \"for\" handling)." msgstr "" #. type: Plain text -#: en/git-am.txt:220 +#: en/config.txt:522 msgid "" -"Before any patches are applied, ORIG_HEAD is set to the tip of the current " -"branch. This is useful if you have problems with multiple commits, like " -"running 'git am' on the wrong branch or an error in the commits that is more " -"easily fixed by changing the mailbox (e.g. errors in the \"From:\" lines)." +"The special string `none` can be used as the proxy command to specify that " +"no proxy be used for a given domain pattern. This is useful for excluding " +"servers inside a firewall from proxy use, while defaulting to a common proxy " +"for external domains." msgstr "" -#. type: Title - -#: en/git-am.txt:222 en/git-commit.txt:464 en/git-gc.txt:171 +#. type: Labeled list +#: en/config.txt:523 #, no-wrap -msgid "HOOKS" -msgstr "CROCHETS" +msgid "core.sshCommand" +msgstr "" #. type: Plain text -#: en/git-am.txt:226 -#, fuzzy -#| msgid "" -#| "This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, " -#| "and `post-commit` hooks. See linkgit:githooks[5] for more information." +#: en/config.txt:529 msgid "" -"This command can run `applypatch-msg`, `pre-applypatch`, and `post-" -"applypatch` hooks. See linkgit:githooks[5] for more information." +"If this variable is set, `git fetch` and `git push` will use the specified " +"command instead of `ssh` when they need to connect to a remote system. The " +"command is in the same form as the `GIT_SSH_COMMAND` environment variable " +"and is overridden when the environment variable is set." msgstr "" -"Cette commande peut lancer les crochets `commit-msg`, `prepare-commit-msg`, " -"`pre-commit` et `post-commit`. Voir linkgit:githooks[5] pour de plus amples " -"informations." -#. type: Plain text -#: en/git-am.txt:230 -#, fuzzy -#| msgid "git-commit(1)" -msgid "linkgit:git-apply[1]." -msgstr "git-commit(1)" - -#. type: Title = -#: en/git-annotate.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-annotate(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/config.txt:530 +#, no-wrap +msgid "core.ignoreStat" +msgstr "" #. type: Plain text -#: en/git-annotate.txt:7 -msgid "git-annotate - Annotate file lines with commit information" +#: en/config.txt:534 +msgid "" +"If true, Git will avoid using lstat() calls to detect if files have changed " +"by setting the \"assume-unchanged\" bit for those tracked files which it has " +"updated identically in both the index and working tree." msgstr "" #. type: Plain text -#: en/git-annotate.txt:12 -#, no-wrap -msgid "'git annotate' [options] file [revision]\n" +#: en/config.txt:539 +msgid "" +"When files are modified outside of Git, the user will need to stage the " +"modified files explicitly (e.g. see 'Examples' section in linkgit:git-update-" +"index[1]). Git will not normally detect changes to those files." msgstr "" #. type: Plain text -#: en/git-annotate.txt:17 +#: en/config.txt:542 msgid "" -"Annotates each line in the given file with information from the commit which " -"introduced the line. Optionally annotates from a given revision." +"This is useful on systems where lstat() calls are very slow, such as CIFS/" +"Microsoft Windows." msgstr "" #. type: Plain text -#: en/git-annotate.txt:22 -msgid "" -"The only difference between this command and linkgit:git-blame[1] is that " -"they use slightly different output formats, and this command exists only for " -"backward compatibility to support existing scripts, and provide a more " -"familiar command name for people coming from other SCM systems." +#: en/config.txt:544 +msgid "False by default." msgstr "" #. type: Labeled list -#: en/git-annotate.txt:31 en/cmds-ancillaryinterrogators.txt:4 +#: en/config.txt:545 #, no-wrap -msgid "linkgit:git-blame[1]" +msgid "core.preferSymlinkRefs" msgstr "" -#. type: Title = -#: en/git-apply.txt:2 -#, no-wrap -msgid "git-apply(1)" -msgstr "git-apply(1)" - -# #. type: Plain text -#: en/git-apply.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-apply - Apply a patch to files and/or to the index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/config.txt:550 +msgid "" +"Instead of the default \"symref\" format for HEAD and other symbolic " +"reference files, use symbolic links. This is sometimes needed to work with " +"old scripts that expect HEAD to be a symbolic link." +msgstr "" -#. type: Plain text -#: en/git-apply.txt:20 +#. type: Labeled list +#: en/config.txt:551 #, no-wrap -msgid "" -"'git apply' [--stat] [--numstat] [--summary] [--check] [--index] [--3way]\n" -"\t [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]\n" -"\t [--allow-binary-replacement | --binary] [--reject] [-z]\n" -"\t [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]\n" -"\t [--ignore-space-change | --ignore-whitespace]\n" -"\t [--whitespace=(nowarn|warn|fix|error|error-all)]\n" -"\t [--exclude=<path>] [--include=<path>] [--directory=<root>]\n" -"\t [--verbose] [--unsafe-paths] [<patch>...]\n" +msgid "core.bare" msgstr "" #. type: Plain text -#: en/git-apply.txt:30 +#: en/config.txt:556 msgid "" -"Reads the supplied diff output (i.e. \"a patch\") and applies it to files. " -"When running from a subdirectory in a repository, patched paths outside the " -"directory are ignored. With the `--index` option the patch is also applied " -"to the index, and with the `--cached` option the patch is only applied to " -"the index. Without these options, the command applies the patch only to " -"files, and does not require them to be in a Git repository." +"If true this repository is assumed to be 'bare' and has no working directory " +"associated with it. If this is the case a number of commands that require a " +"working directory will be disabled, such as linkgit:git-add[1] or linkgit:" +"git-merge[1]." msgstr "" #. type: Plain text -#: en/git-apply.txt:34 +#: en/config.txt:561 msgid "" -"This command applies the patch but does not create a commit. Use linkgit:" -"git-am[1] to create commits from patches generated by linkgit:git-format-" -"patch[1] and/or received by email." +"This setting is automatically guessed by linkgit:git-clone[1] or linkgit:git-" +"init[1] when the repository was created. By default a repository that ends " +"in \"/.git\" is assumed to be not bare (bare = false), while all other " +"repositories are assumed to be bare (bare" msgstr "" -#. type: Labeled list -#: en/git-apply.txt:37 -#, fuzzy, no-wrap -#| msgid "patch" -msgid "<patch>..." -msgstr "patch" - -#. type: Plain text -#: en/git-apply.txt:40 -msgid "" -"The files to read the patch from. '-' can be used to read from the standard " -"input." -msgstr "Prendre le message de validation depuis le fichier indiqu챕. Utilisez '-' pour lire le message depuis l'entr챕e standard." +#. type: Title = +#: en/config.txt:561 +#, no-wrap +msgid "true)." +msgstr "" #. type: Labeled list -#: en/git-apply.txt:41 en/git-rebase.txt:314 en/merge-options.txt:55 +#: en/config.txt:563 #, fuzzy, no-wrap -#| msgid "status" -msgid "--stat" -msgstr "status" +#| msgid "whitespace" +msgid "core.worktree" +msgstr "whitespace" #. type: Plain text -#: en/git-apply.txt:44 +#: en/config.txt:576 msgid "" -"Instead of applying the patch, output diffstat for the input. Turns off " -"\"apply\"." -msgstr "" - -#. type: Labeled list -#: en/git-apply.txt:45 en/diff-options.txt:116 -#, no-wrap -msgid "--numstat" +"Set the path to the root of the working tree. If `GIT_COMMON_DIR` " +"environment variable is set, core.worktree is ignored and not used for " +"determining the root of working tree. This can be overridden by the " +"`GIT_WORK_TREE` environment variable and the `--work-tree` command-line " +"option. The value can be an absolute path or relative to the path to the ." +"git directory, which is either specified by --git-dir or GIT_DIR, or " +"automatically discovered. If --git-dir or GIT_DIR is specified but none of " +"--work-tree, GIT_WORK_TREE and core.worktree is specified, the current " +"working directory is regarded as the top level of your working tree." msgstr "" #. type: Plain text -#: en/git-apply.txt:51 +#: en/config.txt:586 msgid "" -"Similar to `--stat`, but shows the number of added and deleted lines in " -"decimal notation and the pathname without abbreviation, to make it more " -"machine friendly. For binary files, outputs two `-` instead of saying `0 " -"0`. Turns off \"apply\"." +"Note that this variable is honored even when set in a configuration file in " +"a \".git\" subdirectory of a directory and its value differs from the latter " +"directory (e.g. \"/path/to/.git/config\" has core.worktree set to \"/" +"different/path\"), which is most likely a misconfiguration. Running Git " +"commands in the \"/path/to\" directory will still use \"/different/path\" as " +"the root of the work tree and can cause confusion unless you know what you " +"are doing (e.g. you are creating a read-only snapshot of the same index to a " +"location different from the repository's usual working tree)." msgstr "" #. type: Labeled list -#: en/git-apply.txt:52 en/git-shortlog.txt:35 en/diff-options.txt:172 -#: en/merge-options.txt:98 +#: en/config.txt:587 #, no-wrap -msgid "--summary" +msgid "core.logAllRefUpdates" msgstr "" #. type: Plain text -#: en/git-apply.txt:57 +#: en/config.txt:598 msgid "" -"Instead of applying the patch, output a condensed summary of information " -"obtained from git diff extended headers, such as creations, renames and mode " -"changes. Turns off \"apply\"." +"Enable the reflog. Updates to a ref <ref> is logged to the file \"`$GIT_DIR/" +"logs/<ref>`\", by appending the new and old SHA-1, the date/time and the " +"reason of the update, but only when the file exists. If this configuration " +"variable is set to `true`, missing \"`$GIT_DIR/logs/<ref>`\" file is " +"automatically created for branch heads (i.e. under `refs/heads/`), remote " +"refs (i.e. under `refs/remotes/`), note refs (i.e. under `refs/notes/`), and " +"the symbolic ref `HEAD`. If it is set to `always`, then a missing reflog is " +"automatically created for any ref under `refs/`." msgstr "" -#. type: Labeled list -#: en/git-apply.txt:58 en/diff-options.txt:292 -#, no-wrap -msgid "--check" +#. type: Plain text +#: en/config.txt:601 +msgid "" +"This information can be used to determine what commit was the tip of a " +"branch \"2 days ago\"." msgstr "" #. type: Plain text -#: en/git-apply.txt:62 +#: en/config.txt:605 msgid "" -"Instead of applying the patch, see if the patch is applicable to the current " -"working tree and/or the index file and detects errors. Turns off \"apply\"." +"This value is true by default in a repository that has a working directory " +"associated with it, and false by default in a bare repository." msgstr "" #. type: Labeled list -#: en/git-apply.txt:63 en/git-checkout-index.txt:26 +#: en/config.txt:606 #, no-wrap -msgid "--index" +msgid "core.repositoryFormatVersion" msgstr "" #. type: Plain text -#: en/git-apply.txt:71 -msgid "" -"When `--check` is in effect, or when applying the patch (which is the " -"default when none of the options that disables it is in effect), make sure " -"the patch is applicable to what the current index file records. If the file " -"to be patched in the working tree is not up-to-date, it is flagged as an " -"error. This flag also causes the index file to be updated." +#: en/config.txt:609 +msgid "Internal variable identifying the repository format and layout version." msgstr "" #. type: Labeled list -#: en/git-apply.txt:72 en/git-check-attr.txt:27 en/git-diff-index.txt:29 -#: en/git-grep.txt:72 en/git-ls-files.txt:36 en/git-rm.txt:58 -#: en/git-submodule.txt:300 +#: en/config.txt:610 #, no-wrap -msgid "--cached" -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:76 -msgid "" -"Apply a patch without touching the working tree. Instead take the cached " -"data, apply the patch, and store the result in the index without using the " -"working tree. This implies `--index`." +msgid "core.sharedRepository" msgstr "" #. type: Plain text -#: en/git-apply.txt:85 +#: en/config.txt:624 msgid "" -"When the patch does not apply cleanly, fall back on 3-way merge if the patch " -"records the identity of blobs it is supposed to apply to, and we have those " -"blobs available locally, possibly leaving the conflict markers in the files " -"in the working tree for the user to resolve. This option implies the `--" -"index` option, and is incompatible with the `--reject` and the `--cached` " -"options." +"When 'group' (or 'true'), the repository is made shareable between several " +"users in a group (making sure all the files and objects are group-writable). " +"When 'all' (or 'world' or 'everybody'), the repository will be readable by " +"all users, additionally to being group-shareable. When 'umask' (or 'false'), " +"Git will use permissions reported by umask(2). When '0xxx', where '0xxx' is " +"an octal number, files in the repository will have this mode value. '0xxx' " +"will override user's umask value (whereas the other options will only " +"override requested parts of the user's umask value). Examples: '0660' will " +"make the repo read/write-able for the owner and group, but inaccessible to " +"others (equivalent to 'group' unless umask is e.g. '0022'). '0640' is a " +"repository that is group-readable but not group-writable. See linkgit:git-" +"init[1]. False by default." msgstr "" #. type: Labeled list -#: en/git-apply.txt:86 +#: en/config.txt:625 #, no-wrap -msgid "--build-fake-ancestor=<file>" -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:92 -msgid "" -"Newer 'git diff' output has embedded 'index information' for each blob to " -"help identify the original version that the patch applies to. When this " -"flag is given, and if the original versions of the blobs are available " -"locally, builds a temporary index containing those blobs." +msgid "core.warnAmbiguousRefs" msgstr "" #. type: Plain text -#: en/git-apply.txt:95 +#: en/config.txt:628 msgid "" -"When a pure mode change is encountered (which has no index information), the " -"information is read from the current index instead." +"If true, Git will warn you if the ref name you passed it is ambiguous and " +"might match multiple refs in the repository. True by default." msgstr "" #. type: Labeled list -#: en/git-apply.txt:96 en/git-cvsimport.txt:168 en/diff-options.txt:505 +#: en/config.txt:629 #, no-wrap -msgid "-R" -msgstr "" - -#. type: Labeled list -#: en/git-apply.txt:97 en/rev-list-options.txt:659 -#, fuzzy, no-wrap -#| msgid "revert" -msgid "--reverse" -msgstr "revert" - -#. type: Plain text -#: en/git-apply.txt:99 -#, fuzzy -#| msgid "" -#| "-v::\n" -#| "--verbose::\n" -#| " Be verbose.\n" -msgid "Apply the patch in reverse." +msgid "core.compression" msgstr "" -"-v::\n" -"--verbose::\n" -" Mode bavard.\n" #. type: Plain text -#: en/git-apply.txt:106 +#: en/config.txt:635 msgid "" -"For atomicity, 'git apply' by default fails the whole patch and does not " -"touch the working tree when some of the hunks do not apply. This option " -"makes it apply the parts of the patch that are applicable, and leave the " -"rejected hunks in corresponding *.rej files." +"An integer -1..9, indicating a default compression level. -1 is the zlib " +"default. 0 means no compression, and 1..9 are various speed/size tradeoffs, " +"9 being slowest. If set, this provides a default to other compression " +"variables, such as `core.looseCompression` and `pack.compression`." msgstr "" #. type: Labeled list -#: en/git-apply.txt:107 en/git-check-attr.txt:34 en/git-check-ignore.txt:41 -#: en/git-checkout-index.txt:67 en/git-commit.txt:118 en/git-config.txt:183 -#: en/git-grep.txt:196 en/git-ls-files.txt:79 en/git-ls-tree.txt:55 -#: en/git-mktree.txt:23 en/git-status.txt:100 en/git-update-index.txt:160 -#: en/diff-options.txt:183 +#: en/config.txt:636 #, no-wrap -msgid "-z" +msgid "core.looseCompression" msgstr "" #. type: Plain text -#: en/git-apply.txt:110 +#: en/config.txt:642 msgid "" -"When `--numstat` has been given, do not munge pathnames, but use a NUL-" -"terminated machine-readable format." +"An integer -1..9, indicating the compression level for objects that are not " +"in a pack file. -1 is the zlib default. 0 means no compression, and 1..9 are " +"various speed/size tradeoffs, 9 being slowest. If not set, defaults to core." +"compression. If that is not set, defaults to 1 (best speed)." +msgstr "" + +#. type: Labeled list +#: en/config.txt:643 +#, no-wrap +msgid "core.packedGitWindowSize" msgstr "" #. type: Plain text -#: en/git-apply.txt:114 en/diff-options.txt:198 +#: en/config.txt:651 msgid "" -"Without this option, pathnames with \"unusual\" characters are quoted as " -"explained for the configuration variable `core.quotePath` (see linkgit:git-" -"config[1])." +"Number of bytes of a pack file to map into memory in a single mapping " +"operation. Larger window sizes may allow your system to process a smaller " +"number of large pack files more quickly. Smaller window sizes will " +"negatively affect performance due to increased calls to the operating " +"system's memory manager, but may improve performance when accessing a large " +"number of large pack files." msgstr "" #. type: Plain text -#: en/git-apply.txt:118 +#: en/config.txt:656 msgid "" -"Remove <n> leading slashes from traditional diff paths. The default is 1." +"Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 MiB on 32 " +"bit platforms and 1 GiB on 64 bit platforms. This should be reasonable for " +"all users/operating systems. You probably do not need to adjust this value." msgstr "" #. type: Plain text -#: en/git-apply.txt:124 en/git-rebase.txt:334 -msgid "" -"Ensure at least <n> lines of surrounding context match before and after each " -"change. When fewer lines of surrounding context exist they all must match. " -"By default no context is ever ignored." +#: en/config.txt:658 en/config.txt:670 en/config.txt:683 en/config.txt:696 +msgid "Common unit suffixes of 'k', 'm', or 'g' are supported." msgstr "" #. type: Labeled list -#: en/git-apply.txt:125 +#: en/config.txt:659 #, no-wrap -msgid "--unidiff-zero" +msgid "core.packedGitLimit" msgstr "" #. type: Plain text -#: en/git-apply.txt:131 +#: en/config.txt:664 msgid "" -"By default, 'git apply' expects that the patch being applied is a unified " -"diff with at least one line of context. This provides good safety measures, " -"but breaks down when applying a diff generated with `--unified=0`. To bypass " -"these checks use `--unidiff-zero`." +"Maximum number of bytes to map simultaneously into memory from pack files. " +"If Git needs to access more than this many bytes at once to complete an " +"operation it will unmap existing regions to reclaim virtual address space " +"within the process." msgstr "" #. type: Plain text -#: en/git-apply.txt:134 +#: en/config.txt:668 msgid "" -"Note, for the reasons stated above usage of context-free patches is " -"discouraged." +"Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms. This " +"should be reasonable for all users/operating systems, except on the largest " +"projects. You probably do not need to adjust this value." msgstr "" #. type: Labeled list -#: en/git-apply.txt:135 -#, fuzzy, no-wrap -#| msgid "git-apply(1)" -msgid "--apply" -msgstr "git-apply(1)" +#: en/config.txt:671 +#, no-wrap +msgid "core.deltaBaseCacheLimit" +msgstr "" #. type: Plain text -#: en/git-apply.txt:141 +#: en/config.txt:677 msgid "" -"If you use any of the options marked \"Turns off 'apply'\" above, 'git " -"apply' reads and outputs the requested information without actually applying " -"the patch. Give this flag after those flags to also apply the patch." -msgstr "" - -#. type: Labeled list -#: en/git-apply.txt:142 -#, no-wrap -msgid "--no-add" +"Maximum number of bytes to reserve for caching base objects that may be " +"referenced by multiple deltified objects. By storing the entire " +"decompressed base objects in a cache Git is able to avoid unpacking and " +"decompressing frequently used base objects multiple times." msgstr "" #. type: Plain text -#: en/git-apply.txt:148 +#: en/config.txt:681 msgid "" -"When applying a patch, ignore additions made by the patch. This can be used " -"to extract the common part between two files by first running 'diff' on them " -"and applying the result with this option, which would apply the deletion " -"part but not the addition part." +"Default is 96 MiB on all platforms. This should be reasonable for all users/" +"operating systems, except on the largest projects. You probably do not need " +"to adjust this value." msgstr "" #. type: Labeled list -#: en/git-apply.txt:149 +#: en/config.txt:684 #, no-wrap -msgid "--allow-binary-replacement" +msgid "core.bigFileThreshold" msgstr "" -#. type: Labeled list -#: en/git-apply.txt:150 en/diff-options.txt:320 -#, no-wrap -msgid "--binary" +#. type: Plain text +#: en/config.txt:690 +msgid "" +"Files larger than this size are stored deflated, without attempting delta " +"compression. Storing large files without delta compression avoids excessive " +"memory usage, at the slight expense of increased disk usage. Additionally " +"files larger than this size are always treated as binary." msgstr "" #. type: Plain text -#: en/git-apply.txt:155 +#: en/config.txt:694 msgid "" -"Historically we did not allow binary patch applied without an explicit " -"permission from the user, and this flag was the way to do so. Currently we " -"always allow binary patch application, so this is a no-op." +"Default is 512 MiB on all platforms. This should be reasonable for most " +"projects as source code and other text files can still be delta compressed, " +"but larger binary media files won't be." msgstr "" #. type: Labeled list -#: en/git-apply.txt:156 +#: en/config.txt:697 #, no-wrap -msgid "--exclude=<path-pattern>" +msgid "core.excludesFile" msgstr "" #. type: Plain text -#: en/git-apply.txt:160 +#: en/config.txt:704 msgid "" -"Don't apply changes to files matching the given path pattern. This can be " -"useful when importing patchsets, where you want to exclude certain files or " -"directories." +"Specifies the pathname to the file that contains patterns to describe paths " +"that are not meant to be tracked, in addition to '.gitignore' (per-" +"directory) and '.git/info/exclude'. Defaults to `$XDG_CONFIG_HOME/git/" +"ignore`. If `$XDG_CONFIG_HOME` is either not set or empty, `$HOME/.config/" +"git/ignore` is used instead. See linkgit:gitignore[5]." msgstr "" #. type: Labeled list -#: en/git-apply.txt:161 +#: en/config.txt:705 #, no-wrap -msgid "--include=<path-pattern>" +msgid "core.askPass" msgstr "" #. type: Plain text -#: en/git-apply.txt:165 +#: en/config.txt:713 msgid "" -"Apply changes to files matching the given path pattern. This can be useful " -"when importing patchsets, where you want to include certain files or " -"directories." +"Some commands (e.g. svn and http interfaces) that interactively ask for a " +"password can be told to use an external program given via the value of this " +"variable. Can be overridden by the `GIT_ASKPASS` environment variable. If " +"not set, fall back to the value of the `SSH_ASKPASS` environment variable " +"or, failing that, a simple password prompt. The external program shall be " +"given a suitable prompt as command-line argument and write the password on " +"its STDOUT." msgstr "" -#. type: Plain text -#: en/git-apply.txt:171 -msgid "" -"When `--exclude` and `--include` patterns are used, they are examined in the " -"order they appear on the command line, and the first match determines if a " -"patch to each path is used. A patch to a path that does not match any " -"include/exclude pattern is used by default if there is no include pattern on " -"the command line, and ignored if there is any include pattern." +#. type: Labeled list +#: en/config.txt:714 +#, no-wrap +msgid "core.attributesFile" msgstr "" #. type: Plain text -#: en/git-apply.txt:179 +#: en/config.txt:721 msgid "" -"When applying a patch, ignore changes in whitespace in context lines if " -"necessary. Context lines will preserve their whitespace, and they will not " -"undergo whitespace fixing regardless of the value of the `--whitespace` " -"option. New lines will still be fixed, though." +"In addition to '.gitattributes' (per-directory) and '.git/info/attributes', " +"Git looks into this file for attributes (see linkgit:gitattributes[5]). Path " +"expansions are made the same way as for `core.excludesFile`. Its default " +"value is `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either " +"not set or empty, `$HOME/.config/git/attributes` is used instead." msgstr "" #. type: Labeled list -#: en/git-apply.txt:180 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "--whitespace=<action>" -msgstr "whitespace" - -#. type: Plain text -#: en/git-apply.txt:188 -msgid "" -"When applying a patch, detect a new or modified line that has whitespace " -"errors. What are considered whitespace errors is controlled by `core." -"whitespace` configuration. By default, trailing whitespaces (including " -"lines that solely consist of whitespaces) and a space character that is " -"immediately followed by a tab character inside the initial indent of the " -"line are considered whitespace errors." +#: en/config.txt:722 +#, no-wrap +msgid "core.hooksPath" msgstr "" #. type: Plain text -#: en/git-apply.txt:192 +#: en/config.txt:728 msgid "" -"By default, the command outputs warning messages but applies the patch. " -"When `git-apply` is used for statistics and not applying a patch, it " -"defaults to `nowarn`." -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:195 -msgid "You can use different `<action>` values to control this behavior:" -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:197 -msgid "`nowarn` turns off the trailing whitespace warning." +"By default Git will look for your hooks in the '$GIT_DIR/hooks' directory. " +"Set this to different path, e.g. '/etc/git/hooks', and Git will try to find " +"your hooks in that directory, e.g. '/etc/git/hooks/pre-receive' instead of " +"in '$GIT_DIR/hooks/pre-receive'." msgstr "" #. type: Plain text -#: en/git-apply.txt:199 +#: en/config.txt:732 msgid "" -"`warn` outputs warnings for a few such errors, but applies the patch as-is " -"(default)." +"The path can be either absolute or relative. A relative path is taken as " +"relative to the directory where the hooks are run (see the \"DESCRIPTION\" " +"section of linkgit:githooks[5])." msgstr "" #. type: Plain text -#: en/git-apply.txt:203 +#: en/config.txt:738 msgid "" -"`fix` outputs warnings for a few such errors, and applies the patch after " -"fixing them (`strip` is a synonym --- the tool used to consider only " -"trailing whitespace characters as errors, and the fix involved 'stripping' " -"them, but modern Gits do more)." +"This configuration variable is useful in cases where you'd like to centrally " +"configure your Git hooks instead of configuring them on a per-repository " +"basis, or as a more flexible and centralized alternative to having an `init." +"templateDir` where you've changed default hooks." msgstr "" -#. type: Plain text -#: en/git-apply.txt:205 -msgid "" -"`error` outputs warnings for a few such errors, and refuses to apply the " -"patch." +#. type: Labeled list +#: en/config.txt:739 +#, no-wrap +msgid "core.editor" msgstr "" #. type: Plain text -#: en/git-apply.txt:206 -msgid "`error-all` is similar to `error` but shows all errors." +#: en/config.txt:744 +msgid "" +"Commands such as `commit` and `tag` that lets you edit messages by launching " +"an editor uses the value of this variable when it is set, and the " +"environment variable `GIT_EDITOR` is not set. See linkgit:git-var[1]." msgstr "" #. type: Labeled list -#: en/git-apply.txt:207 +#: en/config.txt:745 #, no-wrap -msgid "--inaccurate-eof" +msgid "core.commentChar" msgstr "" #. type: Plain text -#: en/git-apply.txt:213 +#: en/config.txt:750 msgid "" -"Under certain circumstances, some versions of 'diff' do not correctly detect " -"a missing new-line at the end of the file. As a result, patches created by " -"such 'diff' programs do not record incomplete lines correctly. This option " -"adds support for applying such patches by working around this bug." +"Commands such as `commit` and `tag` that lets you edit messages consider a " +"line that begins with this character commented, and removes them after the " +"editor returns (default '#')." msgstr "" #. type: Plain text -#: en/git-apply.txt:219 +#: en/config.txt:753 msgid "" -"Report progress to stderr. By default, only a message about the current " -"patch being applied will be printed. This option will cause additional " -"information to be reported." +"If set to \"auto\", `git-commit` would select a character that is not the " +"beginning character of any line in existing commit messages." msgstr "" #. type: Labeled list -#: en/git-apply.txt:220 +#: en/config.txt:754 #, no-wrap -msgid "--recount" +msgid "core.packedRefsTimeout" msgstr "" #. type: Plain text -#: en/git-apply.txt:224 +#: en/config.txt:759 msgid "" -"Do not trust the line counts in the hunk headers, but infer them by " -"inspecting the patch (e.g. after editing the patch without adjusting the " -"hunk headers appropriately)." +"The length of time, in milliseconds, to retry when trying to lock the " +"`packed-refs` file. Value 0 means not to retry at all; -1 means to try " +"indefinitely. Default is 1000 (i.e., retry for 1 second)." msgstr "" #. type: Labeled list -#: en/git-apply.txt:225 +#: en/config.txt:760 #, no-wrap -msgid "--directory=<root>" +msgid "sequence.editor" msgstr "" #. type: Plain text -#: en/git-apply.txt:228 +#: en/config.txt:765 msgid "" -"Prepend <root> to all filenames. If a \"-p\" argument was also passed, it " -"is applied before prepending the new root." +"Text editor used by `git rebase -i` for editing the rebase instruction " +"file. The value is meant to be interpreted by the shell when it is used. " +"It can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable. " +"When not configured the default commit message editor is used instead." msgstr "" +#. type: Labeled list +#: en/config.txt:766 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "core.pager" +msgstr "whitespace" + #. type: Plain text -#: en/git-apply.txt:232 +#: en/config.txt:772 en/git-var.txt:58 msgid "" -"For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui." -"sh` can be applied to the file in the working tree `modules/git-gui/git-gui." -"sh` by running `git apply --directory=modules/git-gui`." -msgstr "" - -#. type: Labeled list -#: en/git-apply.txt:233 -#, no-wrap -msgid "--unsafe-paths" +"Text viewer for use by Git commands (e.g., 'less'). The value is meant to " +"be interpreted by the shell. The order of preference is the `$GIT_PAGER` " +"environment variable, then `core.pager` configuration, then `$PAGER`, and " +"then the default chosen at compile time (usually 'less')." msgstr "" #. type: Plain text -#: en/git-apply.txt:238 +#: en/config.txt:786 msgid "" -"By default, a patch that affects outside the working area (either a Git " -"controlled working tree, or the current working directory when \"git apply\" " -"is used as a replacement of GNU patch) is rejected as a mistake (or a " -"mischief)." +"When the `LESS` environment variable is unset, Git sets it to `FRX` (if " +"`LESS` environment variable is set, Git does not change it at all). If you " +"want to selectively override Git's default setting for `LESS`, you can set " +"`core.pager` to e.g. `less -S`. This will be passed to the shell by Git, " +"which will translate the final command to `LESS=FRX less -S`. The " +"environment does not set the `S` option but the command line does, " +"instructing less to truncate long lines. Similarly, setting `core.pager` to " +"`less -+F` will deactivate the `F` option specified by the environment from " +"the command-line, deactivating the \"quit if one screen\" behavior of " +"`less`. One can specifically activate some flags for particular commands: " +"for example, setting `pager.blame` to `less -S` enables line truncation only " +"for `git blame`." msgstr "" #. type: Plain text -#: en/git-apply.txt:242 +#: en/config.txt:790 msgid "" -"When `git apply` is used as a \"better GNU patch\", the user can pass the `--" -"unsafe-paths` option to override this safety check. This option has no " -"effect when `--index` or `--cached` is in use." +"Likewise, when the `LV` environment variable is unset, Git sets it to `-c`. " +"You can override this setting by exporting `LV` with another value or " +"setting `core.pager` to `lv +c`." msgstr "" #. type: Labeled list -#: en/git-apply.txt:246 en/config.txt:908 +#: en/config.txt:791 #, fuzzy, no-wrap #| msgid "whitespace" -msgid "apply.ignoreWhitespace" +msgid "core.whitespace" msgstr "whitespace" #. type: Plain text -#: en/git-apply.txt:250 +#: en/config.txt:797 msgid "" -"Set to 'change' if you want changes in whitespace to be ignored by default. " -"Set to one of: no, none, never, false if you want changes in whitespace to " -"be significant." +"A comma separated list of common whitespace problems to notice. 'git diff' " +"will use `color.diff.whitespace` to highlight them, and 'git apply --" +"whitespace=error' will consider them as errors. You can prefix `-` to " +"disable any of them (e.g. `-trailing-space`):" msgstr "" -#. type: Labeled list -#: en/git-apply.txt:250 en/config.txt:916 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "apply.whitespace" -msgstr "whitespace" +#. type: Plain text +#: en/config.txt:800 +msgid "" +"`blank-at-eol` treats trailing whitespaces at the end of the line as an " +"error (enabled by default)." +msgstr "" #. type: Plain text -#: en/git-apply.txt:253 +#: en/config.txt:803 msgid "" -"When no `--whitespace` flag is given from the command line, this " -"configuration item is used as the default." +"`space-before-tab` treats a space character that appears immediately before " +"a tab character in the initial indent part of the line as an error (enabled " +"by default)." msgstr "" -#. type: Title - -#: en/git-apply.txt:255 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "Submodules" -msgstr "git-add(1)" +#. type: Plain text +#: en/config.txt:806 +msgid "" +"`indent-with-non-tab` treats a line that is indented with space characters " +"instead of the equivalent tabs as an error (not enabled by default)." +msgstr "" #. type: Plain text -#: en/git-apply.txt:258 +#: en/config.txt:808 msgid "" -"If the patch contains any changes to submodules then 'git apply' treats " -"these changes as follows." +"`tab-in-indent` treats a tab character in the initial indent part of the " +"line as an error (not enabled by default)." msgstr "" #. type: Plain text -#: en/git-apply.txt:264 +#: en/config.txt:810 msgid "" -"If `--index` is specified (explicitly or implicitly), then the submodule " -"commits must match the index exactly for the patch to apply. If any of the " -"submodules are checked-out, then these check-outs are completely ignored, i." -"e., they are not required to be up-to-date or clean and they are not updated." +"`blank-at-eof` treats blank lines added at the end of file as an error " +"(enabled by default)." msgstr "" #. type: Plain text -#: en/git-apply.txt:268 +#: en/config.txt:812 msgid "" -"If `--index` is not specified, then the submodule commits in the patch are " -"ignored and only the absence or presence of the corresponding subdirectory " -"is checked and (if possible) updated." +"`trailing-space` is a short-hand to cover both `blank-at-eol` and `blank-at-" +"eof`." msgstr "" #. type: Plain text -#: en/git-apply.txt:272 -#, fuzzy -#| msgid "git-commit(1)" -msgid "linkgit:git-am[1]." -msgstr "git-commit(1)" +#: en/config.txt:816 +msgid "" +"`cr-at-eol` treats a carriage-return at the end of line as part of the line " +"terminator, i.e. with it, `trailing-space` does not trigger if the character " +"before such a carriage-return is not a whitespace (not enabled by default)." +msgstr "" -#. type: Title = -#: en/git-archimport.txt:2 +#. type: Plain text +#: en/config.txt:819 +msgid "" +"`tabwidth=<n>` tells how many character positions a tab occupies; this is " +"relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent` " +"errors. The default tab width is 8. Allowed values are 1 to 63." +msgstr "" + +#. type: Labeled list +#: en/config.txt:820 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-archimport(1)" -msgstr "git-commit(1)" +#| msgid "git-fsck-objects(1)" +msgid "core.fsyncObjectFiles" +msgstr "git-fsck-objects(1)" #. type: Plain text -#: en/git-archimport.txt:7 -msgid "git-archimport - Import an Arch repository into Git" +#: en/config.txt:822 +msgid "This boolean will enable 'fsync()' when writing object files." msgstr "" #. type: Plain text -#: en/git-archimport.txt:14 -#, no-wrap +#: en/config.txt:827 msgid "" -"'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]\n" -" <archive/branch>[:<git-branch>] ...\n" +"This is a total waste of time and effort on a filesystem that orders data " +"writes properly, but can be useful for filesystems that do not use " +"journalling (traditional UNIX filesystems) or that only journal metadata and " +"not file contents (OS X's HFS+, or Linux ext3 with \"data=writeback\")." msgstr "" -#. type: Plain text -#: en/git-archimport.txt:22 -msgid "" -"Imports a project from one or more Arch repositories. It will follow " -"branches and repositories within the namespaces defined by the <archive/" -"branch> parameters supplied. If it cannot find the remote branch a merge " -"comes from it will just import it as a regular commit. If it can find it, it " -"will mark it as a merge whenever possible (see discussion below)." +#. type: Labeled list +#: en/config.txt:828 +#, no-wrap +msgid "core.preloadIndex" msgstr "" #. type: Plain text -#: en/git-archimport.txt:26 -msgid "" -"The script expects you to provide the key roots where it can start the " -"import from an 'initial import' or 'tag' type of Arch commit. It will follow " -"and import new branches within the provided roots." +#: en/config.txt:830 +msgid "Enable parallel index preload for operations like 'git diff'" msgstr "" #. type: Plain text -#: en/git-archimport.txt:31 +#: en/config.txt:836 msgid "" -"It expects to be dealing with one project only. If it sees branches that " -"have different roots, it will refuse to run. In that case, edit your " -"<archive/branch> parameters to define clearly the scope of the import." +"This can speed up operations like 'git diff' and 'git status' especially on " +"filesystems like NFS that have weak caching semantics and thus relatively " +"high IO latencies. When enabled, Git will do the index comparison to the " +"filesystem data in parallel, allowing overlapping IO's. Defaults to true." +msgstr "" + +#. type: Labeled list +#: en/config.txt:837 +#, no-wrap +msgid "core.createObject" msgstr "" #. type: Plain text -#: en/git-archimport.txt:36 +#: en/config.txt:841 msgid "" -"'git archimport' uses `tla` extensively in the background to access the Arch " -"repository. Make sure you have a recent version of `tla` available in the " -"path. `tla` must know about the repositories you pass to 'git archimport'." +"You can set this to 'link', in which case a hardlink followed by a delete of " +"the source are used to make sure that object creation will not overwrite " +"existing objects." msgstr "" #. type: Plain text -#: en/git-archimport.txt:41 +#: en/config.txt:845 msgid "" -"For the initial import, 'git archimport' expects to find itself in an empty " -"directory. To follow the development of a project that uses Arch, rerun 'git " -"archimport' with the same parameters as the initial import to perform " -"incremental imports." +"On some file system/operating system combinations, this is unreliable. Set " +"this config setting to 'rename' there; However, This will remove the check " +"that makes sure that existing object files will not get overwritten." msgstr "" +#. type: Labeled list +#: en/config.txt:846 en/git-notes.txt:313 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "core.notesRef" +msgstr "whitespace" + #. type: Plain text -#: en/git-archimport.txt:48 +#: en/config.txt:851 msgid "" -"While 'git archimport' will try to create sensible branch names for the " -"archives that it imports, it is also possible to specify Git branch names " -"manually. To do so, write a Git branch name after each <archive/branch> " -"parameter, separated by a colon. This way, you can shorten the Arch branch " -"names and convert Arch jargon to Git jargon, for example mapping a " -"\"PROJECT{litdd}devo{litdd}VERSION\" branch to \"master\"." +"When showing commit messages, also show notes which are stored in the given " +"ref. The ref must be fully qualified. If the given ref does not exist, it " +"is not an error but means that no notes should be printed." msgstr "" #. type: Plain text -#: en/git-archimport.txt:53 +#: en/config.txt:854 msgid "" -"Associating multiple Arch branches to one Git branch is possible; the result " -"will make the most sense only if no commits are made to the first branch, " -"after the second branch is created. Still, this is useful to convert Arch " -"repositories that had been rotated periodically." +"This setting defaults to \"refs/notes/commits\", and it can be overridden by " +"the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1]." msgstr "" -#. type: Title - -#: en/git-archimport.txt:56 +#. type: Labeled list +#: en/config.txt:855 #, no-wrap -msgid "MERGES" +msgid "core.sparseCheckout" msgstr "" #. type: Plain text -#: en/git-archimport.txt:62 +#: en/config.txt:858 msgid "" -"Patch merge data from Arch is used to mark merges in Git as well. Git does " -"not care much about tracking patches, and only considers a merge when a " -"branch incorporates all the commits since the point they forked. The end " -"result is that Git will have a good idea of how far branches have diverged. " -"So the import process does lose some patch-trading metadata." +"Enable \"sparse checkout\" feature. See section \"Sparse checkout\" in " +"linkgit:git-read-tree[1] for more information." +msgstr "" + +#. type: Labeled list +#: en/config.txt:859 +#, no-wrap +msgid "core.abbrev" msgstr "" #. type: Plain text -#: en/git-archimport.txt:66 +#: en/config.txt:865 msgid "" -"Fortunately, when you try and merge branches imported from Arch, Git will " -"find a good merge base, and it has a good chance of identifying patches that " -"have been traded out-of-sequence between the branches." +"Set the length object names are abbreviated to. If unspecified or set to " +"\"auto\", an appropriate value is computed based on the approximate number " +"of packed objects in your repository, which hopefully is enough for " +"abbreviated object names to stay unique for some time." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:70 en/git-cvsimport.txt:184 en/git-cvsserver.txt:48 -#: en/git-grep.txt:141 en/git-ls-remote.txt:24 en/blame-options.txt:113 +#: en/config.txt:866 #, no-wrap -msgid "-h" +msgid "add.ignoreErrors" msgstr "" -#. type: Plain text -#: en/git-archimport.txt:72 -msgid "Display usage." +#. type: Labeled list +#: en/config.txt:867 +#, no-wrap +msgid "add.ignore-errors (deprecated)" msgstr "" #. type: Plain text -#: en/git-archimport.txt:75 -msgid "Verbose output." +#: en/config.txt:873 +msgid "" +"Tells 'git add' to continue adding files when some files cannot be added due " +"to indexing errors. Equivalent to the `--ignore-errors` option of linkgit:" +"git-add[1]. `add.ignore-errors` is deprecated, as it does not follow the " +"usual naming convention for configuration variables." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:76 +#: en/config.txt:874 #, no-wrap -msgid "-T" +msgid "alias.*" msgstr "" #. type: Plain text -#: en/git-archimport.txt:79 +#: en/config.txt:882 msgid "" -"Many tags. Will create a tag for every commit, reflecting the commit name in " -"the Arch repository." +"Command aliases for the linkgit:git[1] command wrapper - e.g. after " +"defining \"alias.last = cat-file commit HEAD\", the invocation \"git last\" " +"is equivalent to \"git cat-file commit HEAD\". To avoid confusion and " +"troubles with script usage, aliases that hide existing Git commands are " +"ignored. Arguments are split by spaces, the usual shell quoting and escaping " +"is supported. A quote pair or a backslash can be used to quote them." msgstr "" #. type: Plain text -#: en/git-archimport.txt:84 +#: en/config.txt:892 msgid "" -"Use the fast patchset import strategy. This can be significantly faster for " -"large trees, but cannot handle directory renames or permissions changes. " -"The default strategy is slow and safe." +"If the alias expansion is prefixed with an exclamation point, it will be " +"treated as a shell command. For example, defining \"alias.new = !gitk --all " +"--not ORIG_HEAD\", the invocation \"git new\" is equivalent to running the " +"shell command \"gitk --all --not ORIG_HEAD\". Note that shell commands will " +"be executed from the top-level directory of a repository, which may not " +"necessarily be the current directory. `GIT_PREFIX` is set as returned by " +"running 'git rev-parse --show-prefix' from the original current directory. " +"See linkgit:git-rev-parse[1]." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:85 en/git-commit.txt:260 en/git-ls-files.txt:47 -#: en/git-merge-index.txt:29 en/git-push.txt:159 +#: en/config.txt:893 #, no-wrap -msgid "-o" +msgid "am.keepcr" msgstr "" #. type: Plain text -#: en/git-archimport.txt:92 +#: en/config.txt:899 msgid "" -"Use this for compatibility with old-style branch names used by earlier " -"versions of 'git archimport'. Old-style branch names were category{litdd}" -"branch, whereas new-style branch names are archive,category{litdd}" -"branch{litdd}version. In both cases, names given on the command-line will " -"override the automatically-generated ones." +"If true, git-am will call git-mailsplit for patches in mbox format with " +"parameter `--keep-cr`. In this case git-mailsplit will not remove `\\r` from " +"lines ending with `\\r\\n`. Can be overridden by giving `--no-keep-cr` from " +"the command line. See linkgit:git-am[1], linkgit:git-mailsplit[1]." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:93 +#: en/config.txt:900 #, no-wrap -msgid "-D <depth>" +msgid "am.threeWay" msgstr "" #. type: Plain text -#: en/git-archimport.txt:97 +#: en/config.txt:907 msgid "" -"Follow merge ancestry and attempt to import trees that have been merged " -"from. Specify a depth greater than 1 if patch logs have been pruned." +"By default, `git am` will fail if the patch does not apply cleanly. When set " +"to true, this setting tells `git am` to fall back on 3-way merge if the " +"patch records the identity of blobs it is supposed to apply to and we have " +"those blobs available locally (equivalent to giving the `--3way` option from " +"the command line). Defaults to `false`. See linkgit:git-am[1]." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:98 en/git-branch.txt:140 en/git-checkout-index.txt:38 -#: en/git-commit.txt:60 en/git-cvsexportcommit.txt:45 en/git-cvsimport.txt:135 -#: en/git-grep.txt:105 en/git-help.txt:41 en/git-http-fetch.txt:31 -#: en/git-merge-base.txt:71 en/git-merge-index.txt:26 en/git-repack.txt:31 -#: en/git-show-branch.txt:47 en/git-tag.txt:59 en/diff-options.txt:518 -#: en/fetch-options.txt:4 -#, no-wrap -msgid "-a" -msgstr "" +#: en/config.txt:908 en/git-apply.txt:246 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "apply.ignoreWhitespace" +msgstr "whitespace" #. type: Plain text -#: en/git-archimport.txt:101 +#: en/config.txt:915 msgid "" -"Attempt to auto-register archives at http://mirrors.sourcecontrol.net This " -"is particularly useful with the -D option." +"When set to 'change', tells 'git apply' to ignore changes in whitespace, in " +"the same way as the `--ignore-space-change` option. When set to one of: no, " +"none, never, false tells 'git apply' to respect all whitespace differences. " +"See linkgit:git-apply[1]." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:102 -#, no-wrap -msgid "-t <tmpdir>" -msgstr "" +#: en/config.txt:916 en/git-apply.txt:250 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "apply.whitespace" +msgstr "whitespace" #. type: Plain text -#: en/git-archimport.txt:104 -msgid "Override the default tempdir." +#: en/config.txt:919 +msgid "" +"Tells 'git apply' how to handle whitespaces, in the same way as the `--" +"whitespace` option. See linkgit:git-apply[1]." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:106 +#: en/config.txt:920 #, no-wrap -msgid "<archive/branch>" +msgid "branch.autoSetupMerge" msgstr "" #. type: Plain text -#: en/git-archimport.txt:108 -msgid "Archive/branch identifier in a format that `tla log` understands." +#: en/config.txt:931 +msgid "" +"Tells 'git branch' and 'git checkout' to set up new branches so that linkgit:" +"git-pull[1] will appropriately merge from the starting point branch. Note " +"that even if this option is not set, this behavior can be chosen per-branch " +"using the `--track` and `--no-track` options. The valid settings are: " +"`false` -- no automatic setup is done; `true` -- automatic setup is done " +"when the starting point is a remote-tracking branch; `always` -- automatic " +"setup is done when the starting point is either a local branch or remote-" +"tracking branch. This option defaults to true." msgstr "" -#. type: Title = -#: en/git-archive.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-archive(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/config.txt:932 +#, no-wrap +msgid "branch.autoSetupRebase" +msgstr "" #. type: Plain text -#: en/git-archive.txt:7 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "git-archive - Create an archive of files from a named tree" +#: en/config.txt:946 +msgid "" +"When a new branch is created with 'git branch' or 'git checkout' that tracks " +"another branch, this variable tells Git to set up pull to rebase instead of " +"merge (see \"branch.<name>.rebase\"). When `never`, rebase is never " +"automatically set to true. When `local`, rebase is set to true for tracked " +"branches of other local branches. When `remote`, rebase is set to true for " +"tracked branches of remote-tracking branches. When `always`, rebase will be " +"set to true for all tracking branches. See \"branch.autoSetupMerge\" for " +"details on how to set up a branch to track another branch. This option " +"defaults to never." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Plain text -#: en/git-archive.txt:16 +#. type: Labeled list +#: en/config.txt:947 #, no-wrap -msgid "" -"'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]\n" -"\t [-o <file> | --output=<file>] [--worktree-attributes]\n" -"\t [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>\n" -"\t [<path>...]\n" +msgid "branch.<name>.remote" msgstr "" #. type: Plain text -#: en/git-archive.txt:23 +#: en/config.txt:957 msgid "" -"Creates an archive of the specified format containing the tree structure for " -"the named tree, and writes it out to the standard output. If <prefix> is " -"specified it is prepended to the filenames in the archive." +"When on branch <name>, it tells 'git fetch' and 'git push' which remote to " +"fetch from/push to. The remote to push to may be overridden with `remote." +"pushDefault` (for all branches). The remote to push to, for the current " +"branch, may be further overridden by `branch.<name>.pushRemote`. If no " +"remote is configured, or if you are not on any branch, it defaults to " +"`origin` for fetching and `remote.pushDefault` for pushing. Additionally, `." +"` (a period) is the current local repository (a dot-repository), see `branch." +"<name>.merge`'s final note below." +msgstr "" + +#. type: Labeled list +#: en/config.txt:958 +#, no-wrap +msgid "branch.<name>.pushRemote" msgstr "" #. type: Plain text -#: en/git-archive.txt:32 +#: en/config.txt:966 msgid "" -"'git archive' behaves differently when given a tree ID versus when given a " -"commit ID or tag ID. In the first case the current time is used as the " -"modification time of each file in the archive. In the latter case the " -"commit time as recorded in the referenced commit object is used instead. " -"Additionally the commit ID is stored in a global extended pax header if the " -"tar format is used; it can be extracted using 'git get-tar-commit-id'. In " -"ZIP files it is stored as a file comment." +"When on branch <name>, it overrides `branch.<name>.remote` for pushing. It " +"also overrides `remote.pushDefault` for pushing from branch <name>. When " +"you pull from one place (e.g. your upstream) and push to another place (e.g. " +"your own publishing repository), you would want to set `remote.pushDefault` " +"to specify the remote to push to for all branches, and use this option to " +"override it for a specific branch." msgstr "" #. type: Labeled list -#: en/git-archive.txt:36 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--format=<fmt>" -msgstr "Configuration" +#: en/config.txt:967 +#, no-wrap +msgid "branch.<name>.merge" +msgstr "" #. type: Plain text -#: en/git-archive.txt:42 +#: en/config.txt:984 msgid "" -"Format of the resulting archive: 'tar' or 'zip'. If this option is not " -"given, and the output file is specified, the format is inferred from the " -"filename if possible (e.g. writing to \"foo.zip\" makes the output to be in " -"the zip format). Otherwise the output format is `tar`." +"Defines, together with branch.<name>.remote, the upstream branch for the " +"given branch. It tells 'git fetch'/'git pull'/'git rebase' which branch to " +"merge and can also affect 'git push' (see push.default). When in branch " +"<name>, it tells 'git fetch' the default refspec to be marked for merging in " +"FETCH_HEAD. The value is handled like the remote part of a refspec, and must " +"match a ref which is fetched from the remote given by \"branch.<name>.remote" +"\". The merge information is used by 'git pull' (which at first calls 'git " +"fetch') to lookup the default branch for merging. Without this option, 'git " +"pull' defaults to merge the first refspec fetched. Specify multiple values " +"to get an octopus merge. If you wish to setup 'git pull' so that it merges " +"into <name> from another branch in the local repository, you can point " +"branch.<name>.merge to the desired branch, and use the relative path setting " +"`.` (a period) for branch.<name>.remote." msgstr "" #. type: Labeled list -#: en/git-archive.txt:43 en/git-branch.txt:87 en/git-checkout.txt:174 -#: en/git-clone.txt:44 en/git-config.txt:159 en/git-grep.txt:176 -#: en/git-instaweb.txt:23 en/git-ls-tree.txt:51 en/git-repack.txt:61 -#: en/git-svn.txt:228 en/git-var.txt:20 en/blame-options.txt:22 +#: en/config.txt:985 en/git-merge.txt:347 #, no-wrap -msgid "-l" +msgid "branch.<name>.mergeOptions" +msgstr "" + +#. type: Plain text +#: en/config.txt:990 +msgid "" +"Sets default options for merging into branch <name>. The syntax and " +"supported options are the same as those of linkgit:git-merge[1], but option " +"values containing whitespace characters are currently not supported." msgstr "" #. type: Labeled list -#: en/git-archive.txt:44 en/git-branch.txt:144 en/git-config.txt:160 -#: en/git-show-branch.txt:80 +#: en/config.txt:991 #, no-wrap -msgid "--list" +msgid "branch.<name>.rebase" msgstr "" #. type: Plain text -#: en/git-archive.txt:46 -msgid "Show all available formats." +#: en/config.txt:996 +msgid "" +"When true, rebase the branch <name> on top of the fetched branch, instead of " +"merging the default branch from the default remote when \"git pull\" is run. " +"See \"pull.rebase\" for doing this in a non branch-specific manner." msgstr "" #. type: Plain text -#: en/git-archive.txt:50 -#, fuzzy -#| msgid "" -#| "-v::\n" -#| "--verbose::\n" -#| " Be verbose.\n" -msgid "Report progress to stderr." -msgstr "" -"-v::\n" -"--verbose::\n" -" Mode bavard.\n" - -#. type: Labeled list -#: en/git-archive.txt:51 en/git-read-tree.txt:84 en/git-write-tree.txt:35 -#, no-wrap -msgid "--prefix=<prefix>/" +#: en/config.txt:1000 en/config.txt:2487 +msgid "" +"When preserve, also pass `--preserve-merges` along to 'git rebase' so that " +"locally committed merge commits will not be flattened by running 'git pull'." msgstr "" #. type: Plain text -#: en/git-archive.txt:53 -msgid "Prepend <prefix>/ to each filename in the archive." +#: en/config.txt:1002 en/config.txt:2489 +msgid "When the value is `interactive`, the rebase is run in interactive mode." msgstr "" -#. type: Labeled list -#: en/git-archive.txt:54 +#. type: Plain text +#: en/config.txt:1006 en/config.txt:2493 #, no-wrap -msgid "-o <file>" +msgid "" +"*NOTE*: this is a possibly dangerous operation; do *not* use\n" +"it unless you understand the implications (see linkgit:git-rebase[1]\n" +"for details).\n" msgstr "" #. type: Labeled list -#: en/git-archive.txt:55 +#: en/config.txt:1007 #, no-wrap -msgid "--output=<file>" +msgid "branch.<name>.description" msgstr "" #. type: Plain text -#: en/git-archive.txt:57 -msgid "Write the archive to <file> instead of stdout." +#: en/config.txt:1012 +msgid "" +"Branch description, can be edited with `git branch --edit-description`. " +"Branch description is automatically added in the format-patch cover letter " +"or request-pull summary." msgstr "" -#. type: Labeled list -#: en/git-archive.txt:58 +#. type: Title ~ +#: en/config.txt:1013 en/git-web--browse.txt:78 #, no-wrap -msgid "--worktree-attributes" +msgid "browser.<tool>.cmd" msgstr "" #. type: Plain text -#: en/git-archive.txt:61 +#: en/config.txt:1017 msgid "" -"Look for attributes in .gitattributes files in the working tree as well (see " -"<<ATTRIBUTES>>)." +"Specify the command to invoke the specified browser. The specified command " +"is evaluated in shell with the URLs passed as arguments. (See linkgit:git-" +"web{litdd}browse[1].)" msgstr "" -#. type: Labeled list -#: en/git-archive.txt:62 +#. type: Title ~ +#: en/config.txt:1018 en/git-web--browse.txt:69 #, no-wrap -msgid "<extra>" +msgid "browser.<tool>.path" msgstr "" #. type: Plain text -#: en/git-archive.txt:65 +#: en/config.txt:1022 msgid "" -"This can be any options that the archiver backend understands. See next " -"section." +"Override the path for the given tool that may be used to browse HTML help " +"(see `-w` option in linkgit:git-help[1]) or a working repository in gitweb " +"(see linkgit:git-instaweb[1])." msgstr "" #. type: Labeled list -#: en/git-archive.txt:66 +#: en/config.txt:1023 #, no-wrap -msgid "--remote=<repo>" +msgid "clean.requireForce" msgstr "" #. type: Plain text -#: en/git-archive.txt:72 +#: en/config.txt:1026 +#, no-wrap msgid "" -"Instead of making a tar archive from the local repository, retrieve a tar " -"archive from a remote repository. Note that the remote repository may place " -"restrictions on which sha1 expressions may be allowed in `<tree-ish>`. See " -"linkgit:git-upload-archive[1] for details." +"A boolean to make git-clean do nothing unless given -f,\n" +"-i or -n. Defaults to true.\n" msgstr "" #. type: Labeled list -#: en/git-archive.txt:73 +#: en/config.txt:1027 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--exec=<git-upload-archive>" -msgstr "git-commit(1)" +#| msgid "Interactive mode" +msgid "color.branch" +msgstr "Mode interactif" #. type: Plain text -#: en/git-archive.txt:76 +#: en/config.txt:1033 msgid "" -"Used with --remote to specify the path to the 'git-upload-archive' on the " -"remote side." -msgstr "" - -#. type: Plain text -#: en/git-archive.txt:79 -msgid "The tree or commit to produce an archive for." +"A boolean to enable/disable color in the output of linkgit:git-branch[1]. " +"May be set to `always`, `false` (or `never`) or `auto` (or `true`), in which " +"case colors are used only when the output is to a terminal. If unset, then " +"the value of `color.ui` is used (`auto` by default)." msgstr "" #. type: Labeled list -#: en/git-archive.txt:80 +#: en/config.txt:1034 #, no-wrap -msgid "<path>" +msgid "color.branch.<slot>" msgstr "" #. type: Plain text -#: en/git-archive.txt:84 +#: en/config.txt:1040 msgid "" -"Without an optional path parameter, all files and subdirectories of the " -"current working directory are included in the archive. If one or more paths " -"are specified, only these are included." +"Use customized color for branch coloration. `<slot>` is one of `current` " +"(the current branch), `local` (a local branch), `remote` (a remote-tracking " +"branch in refs/remotes/), `upstream` (upstream tracking branch), `plain` " +"(other refs)." msgstr "" -#. type: Title - -#: en/git-archive.txt:86 +#. type: Labeled list +#: en/config.txt:1041 #, no-wrap -msgid "BACKEND EXTRA OPTIONS" +msgid "color.diff" msgstr "" -#. type: Title ~ -#: en/git-archive.txt:89 -#, no-wrap -msgid "zip" +#. type: Plain text +#: en/config.txt:1049 +msgid "" +"Whether to use ANSI escape sequences to add color to patches. If this is " +"set to `always`, linkgit:git-diff[1], linkgit:git-log[1], and linkgit:git-" +"show[1] will use color for all patches. If it is set to `true` or `auto`, " +"those commands will only use color when output is to the terminal. If " +"unset, then the value of `color.ui` is used (`auto` by default)." +msgstr "" + +#. type: Plain text +#: en/config.txt:1053 +msgid "" +"This does not affect linkgit:git-format-patch[1] or the 'git-diff-" +"{asterisk}' plumbing commands. Can be overridden on the command line with " +"the `--color[=<when>]` option." msgstr "" #. type: Labeled list -#: en/git-archive.txt:90 en/git-diff-files.txt:28 +#: en/config.txt:1054 #, no-wrap -msgid "-0" +msgid "color.diff.<slot>" msgstr "" #. type: Plain text -#: en/git-archive.txt:92 -msgid "Store the files instead of deflating them." +#: en/config.txt:1062 +msgid "" +"Use customized color for diff colorization. `<slot>` specifies which part " +"of the patch to use the specified color, and is one of `context` (context " +"text - `plain` is a historical synonym), `meta` (metainformation), `frag` " +"(hunk header), 'func' (function in hunk header), `old` (removed lines), " +"`new` (added lines), `commit` (commit headers), or `whitespace` " +"(highlighting whitespace errors)." msgstr "" #. type: Labeled list -#: en/git-archive.txt:92 +#: en/config.txt:1063 #, no-wrap -msgid "-9" +msgid "color.decorate.<slot>" msgstr "" #. type: Plain text -#: en/git-archive.txt:95 +#: en/config.txt:1067 msgid "" -"Highest and slowest compression level. You can specify any number from 1 to " -"9 to adjust compression speed and ratio." -msgstr "" - -#. type: Title - -#: en/git-archive.txt:98 en/git-cvsexportcommit.txt:86 -#: en/git-fmt-merge-msg.txt:53 en/git-format-patch.txt:287 en/git-grep.txt:42 -#: en/git-imap-send.txt:52 en/git-instaweb.txt:69 en/git-log.txt:170 -#: en/git-merge.txt:344 en/git-notes.txt:311 en/git-rebase.txt:204 -#: en/git-send-email.txt:402 en/git-status.txt:331 en/git-svn.txt:1045 -#: en/git-tag.txt:182 -#, no-wrap -msgid "CONFIGURATION" +"Use customized color for 'git log --decorate' output. `<slot>` is one of " +"`branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local branches, " +"remote-tracking branches, tags, stash and HEAD, respectively." msgstr "" #. type: Labeled list -#: en/git-archive.txt:100 en/config.txt:3083 +#: en/config.txt:1068 #, no-wrap -msgid "tar.umask" +msgid "color.grep" msgstr "" #. type: Plain text -#: en/git-archive.txt:107 +#: en/config.txt:1073 msgid "" -"This variable can be used to restrict the permission bits of tar archive " -"entries. The default is 0002, which turns off the world write bit. The " -"special value \"user\" indicates that the archiving user's umask will be " -"used instead. See umask(2) for details. If `--remote` is used then only " -"the configuration of the remote repository takes effect." +"When set to `always`, always highlight matches. When `false` (or `never`), " +"never. When set to `true` or `auto`, use color only when the output is " +"written to the terminal. If unset, then the value of `color.ui` is used " +"(`auto` by default)." msgstr "" #. type: Labeled list -#: en/git-archive.txt:108 +#: en/config.txt:1074 #, no-wrap -msgid "tar.<format>.command" +msgid "color.grep.<slot>" msgstr "" #. type: Plain text -#: en/git-archive.txt:117 +#: en/config.txt:1077 msgid "" -"This variable specifies a shell command through which the tar output " -"generated by `git archive` should be piped. The command is executed using " -"the shell with the generated tar file on its standard input, and should " -"produce the final output on its standard output. Any compression-level " -"options will be passed to the command (e.g., \"-9\"). An output file with " -"the same extension as `<format>` will be use this format if no other format " -"is given." +"Use customized color for grep colorization. `<slot>` specifies which part " +"of the line to use the specified color, and is one of" msgstr "" +#. type: Labeled list +#: en/config.txt:1079 +#, fuzzy, no-wrap +#| msgid "new content" +msgid "`context`" +msgstr "contenu nouveau" + #. type: Plain text -#: en/git-archive.txt:120 -msgid "" -"The \"tar.gz\" and \"tgz\" formats are defined automatically and default to " -"`gzip -cn`. You may override them with custom commands." +#: en/config.txt:1081 +#, fuzzy +#| msgid "modifying existing content" +msgid "non-matching text in context lines (when using `-A`, `-B`, or `-C`)" +msgstr "modification de contenu existant" + +#. type: Labeled list +#: en/config.txt:1081 +#, no-wrap +msgid "`filename`" +msgstr "" + +#. type: Plain text +#: en/config.txt:1083 +msgid "filename prefix (when not using `-h`)" msgstr "" #. type: Labeled list -#: en/git-archive.txt:121 +#: en/config.txt:1083 #, no-wrap -msgid "tar.<format>.remote" +msgid "`function`" msgstr "" #. type: Plain text -#: en/git-archive.txt:126 -msgid "" -"If true, enable `<format>` for use by remote clients via linkgit:git-upload-" -"archive[1]. Defaults to false for user-defined formats, but true for the " -"\"tar.gz\" and \"tgz\" formats." -msgstr "" - -#. type: Title - -#: en/git-archive.txt:129 -#, no-wrap -msgid "ATTRIBUTES" +#: en/config.txt:1085 +msgid "function name lines (when using `-p`)" msgstr "" #. type: Labeled list -#: en/git-archive.txt:131 +#: en/config.txt:1085 #, no-wrap -msgid "export-ignore" +msgid "`linenumber`" msgstr "" #. type: Plain text -#: en/git-archive.txt:134 -msgid "" -"Files and directories with the attribute export-ignore won't be added to " -"archive files. See linkgit:gitattributes[5] for details." +#: en/config.txt:1087 +msgid "line number prefix (when using `-n`)" msgstr "" #. type: Labeled list -#: en/git-archive.txt:135 -#, no-wrap -msgid "export-subst" -msgstr "" +#: en/config.txt:1087 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "`match`" +msgstr "patch" #. type: Plain text -#: en/git-archive.txt:139 -msgid "" -"If the attribute export-subst is set for a file then Git will expand several " -"placeholders when adding this file to an archive. See linkgit:" -"gitattributes[5] for details." +#: en/config.txt:1089 +msgid "matching text (same as setting `matchContext` and `matchSelected`)" msgstr "" +#. type: Labeled list +#: en/config.txt:1089 +#, fuzzy, no-wrap +#| msgid "new content" +msgid "`matchContext`" +msgstr "contenu nouveau" + #. type: Plain text -#: en/git-archive.txt:147 -msgid "" -"Note that attributes are by default taken from the `.gitattributes` files in " -"the tree that is being archived. If you want to tweak the way the output is " -"generated after the fact (e.g. you committed without adding an appropriate " -"export-ignore in its `.gitattributes`), adjust the checked out `." -"gitattributes` file as necessary and use `--worktree-attributes` option. " -"Alternatively you can keep necessary attributes that should apply while " -"archiving any tree in your `$GIT_DIR/info/attributes` file." -msgstr "" +#: en/config.txt:1091 +#, fuzzy +#| msgid "modifying existing content" +msgid "matching text in context lines" +msgstr "modification de contenu existant" #. type: Labeled list -#: en/git-archive.txt:150 -#, no-wrap -msgid "`git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)`" -msgstr "" +#: en/config.txt:1091 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "`matchSelected`" +msgstr "patch" #. type: Plain text -#: en/git-archive.txt:155 -msgid "" -"Create a tar archive that contains the contents of the latest commit on the " -"current branch, and extract it in the `/var/tmp/junk` directory." -msgstr "" +#: en/config.txt:1093 +#, fuzzy +#| msgid "modifying existing content" +msgid "matching text in selected lines" +msgstr "modification de contenu existant" #. type: Labeled list -#: en/git-archive.txt:156 +#: en/config.txt:1093 #, no-wrap -msgid "`git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz`" +msgid "`selected`" msgstr "" #. type: Plain text -#: en/git-archive.txt:159 -msgid "Create a compressed tarball for v1.4.0 release." -msgstr "" +#: en/config.txt:1095 +#, fuzzy +#| msgid "modifying existing content" +msgid "non-matching text in selected lines" +msgstr "modification de contenu existant" #. type: Labeled list -#: en/git-archive.txt:160 +#: en/config.txt:1095 #, no-wrap -msgid "`git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz`" +msgid "`separator`" msgstr "" #. type: Plain text -#: en/git-archive.txt:163 -msgid "Same as above, but using the builtin tar.gz handling." +#: en/config.txt:1098 +msgid "" +"separators between fields on a line (`:`, `-`, and `=`) and between hunks " +"(`--`)" msgstr "" #. type: Labeled list -#: en/git-archive.txt:164 -#, no-wrap -msgid "`git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0`" -msgstr "" +#: en/config.txt:1100 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "color.interactive" +msgstr "Mode interactif" #. type: Plain text -#: en/git-archive.txt:167 -msgid "Same as above, but the format is inferred from the output file." +#: en/config.txt:1107 +msgid "" +"When set to `always`, always use colors for interactive prompts and displays " +"(such as those used by \"git-add --interactive\" and \"git-clean --" +"interactive\"). When false (or `never`), never. When set to `true` or " +"`auto`, use colors only when the output is to the terminal. If unset, then " +"the value of `color.ui` is used (`auto` by default)." msgstr "" #. type: Labeled list -#: en/git-archive.txt:168 -#, no-wrap -msgid "`git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz`" -msgstr "" +#: en/config.txt:1108 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "color.interactive.<slot>" +msgstr "Mode interactif" #. type: Plain text -#: en/git-archive.txt:172 +#: en/config.txt:1113 msgid "" -"Create a compressed tarball for v1.4.0 release, but without a global " -"extended pax header." +"Use customized color for 'git add --interactive' and 'git clean --" +"interactive' output. `<slot>` may be `prompt`, `header`, `help` or `error`, " +"for four distinct types of normal output from interactive commands." msgstr "" #. type: Labeled list -#: en/git-archive.txt:173 -#, no-wrap -msgid "`git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip`" -msgstr "" +#: en/config.txt:1114 +#, fuzzy, no-wrap +#| msgid "status" +msgid "color.pager" +msgstr "status" #. type: Plain text -#: en/git-archive.txt:177 +#: en/config.txt:1117 msgid "" -"Put everything in the current head's Documentation/ directory into " -"'git-1.4.0-docs.zip', with the prefix 'git-docs/'." +"A boolean to enable/disable colored output when the pager is in use (default " +"is true)." msgstr "" #. type: Labeled list -#: en/git-archive.txt:178 +#: en/config.txt:1118 #, no-wrap -msgid "`git archive -o latest.zip HEAD`" +msgid "color.showBranch" msgstr "" #. type: Plain text -#: en/git-archive.txt:183 +#: en/config.txt:1124 msgid "" -"Create a Zip archive that contains the contents of the latest commit on the " -"current branch. Note that the output format is inferred by the extension of " -"the output file." +"A boolean to enable/disable color in the output of linkgit:git-show-" +"branch[1]. May be set to `always`, `false` (or `never`) or `auto` (or " +"`true`), in which case colors are used only when the output is to a " +"terminal. If unset, then the value of `color.ui` is used (`auto` by default)." msgstr "" #. type: Labeled list -#: en/git-archive.txt:184 -#, no-wrap -msgid "`git config tar.tar.xz.command \"xz -c\"`" -msgstr "" +#: en/config.txt:1125 +#, fuzzy, no-wrap +#| msgid "status" +msgid "color.status" +msgstr "status" #. type: Plain text -#: en/git-archive.txt:189 +#: en/config.txt:1131 msgid "" -"Configure a \"tar.xz\" format for making LZMA-compressed tarfiles. You can " -"use it specifying `--format=tar.xz`, or by creating an output file like `-o " -"foo.tar.xz`." +"A boolean to enable/disable color in the output of linkgit:git-status[1]. " +"May be set to `always`, `false` (or `never`) or `auto` (or `true`), in which " +"case colors are used only when the output is to a terminal. If unset, then " +"the value of `color.ui` is used (`auto` by default)." msgstr "" +#. type: Labeled list +#: en/config.txt:1132 +#, fuzzy, no-wrap +#| msgid "status" +msgid "color.status.<slot>" +msgstr "status" + #. type: Plain text -#: en/git-archive.txt:194 -#, fuzzy -#| msgid "git-commit(1)" -msgid "linkgit:gitattributes[5]" -msgstr "git-commit(1)" +#: en/config.txt:1142 +msgid "" +"Use customized color for status colorization. `<slot>` is one of `header` " +"(the header text of the status message), `added` or `updated` (files which " +"are added but not committed), `changed` (files which are changed but not " +"added in the index), `untracked` (files which are not tracked by Git), " +"`branch` (the current branch), `nobranch` (the color the 'no branch' warning " +"is shown in, defaulting to red), or `unmerged` (files which have unmerged " +"changes)." +msgstr "" -#. type: Title = -#: en/git-bisect.txt:2 +#. type: Labeled list +#: en/config.txt:1143 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-bisect(1)" -msgstr "git-commit(1)" +#| msgid "status" +msgid "color.ui" +msgstr "status" #. type: Plain text -#: en/git-bisect.txt:7 -msgid "git-bisect - Use binary search to find the commit that introduced a bug" +#: en/config.txt:1154 +msgid "" +"This variable determines the default value for variables such as `color." +"diff` and `color.grep` that control the use of color per command family. Its " +"scope will expand as more commands learn configuration to set a default for " +"the `--color` option. Set it to `false` or `never` if you prefer Git " +"commands not to use color unless enabled explicitly with some other " +"configuration or the `--color` option. Set it to `always` if you want all " +"output not intended for machine consumption to use color, to `true` or " +"`auto` (this is the default since Git 1.8.4) if you want such output to use " +"color when written to the terminal." msgstr "" +#. type: Labeled list +#: en/config.txt:1155 +#, fuzzy, no-wrap +#| msgid "status" +msgid "column.ui" +msgstr "status" + #. type: Plain text -#: en/git-bisect.txt:13 -#, no-wrap -msgid "'git bisect' <subcommand> <options>\n" +#: en/config.txt:1159 +msgid "" +"Specify whether supported commands should output in columns. This variable " +"consists of a list of tokens separated by spaces or commas:" msgstr "" #. type: Plain text -#: en/git-bisect.txt:18 en/git-reflog.txt:18 +#: en/config.txt:1162 msgid "" -"The command takes various subcommands, and different options depending on " -"the subcommand:" +"These options control when the feature should be enabled (defaults to " +"'never'):" msgstr "" -#. type: Plain text -#: en/git-bisect.txt:31 +#. type: Labeled list +#: en/config.txt:1164 #, no-wrap -msgid "" -" git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>]\n" -"\t\t [--no-checkout] [<bad> [<good>...]] [--] [<paths>...]\n" -" git bisect (bad|new|<term-new>) [<rev>]\n" -" git bisect (good|old|<term-old>) [<rev>...]\n" -" git bisect terms [--term-good | --term-bad]\n" -" git bisect skip [(<rev>|<range>)...]\n" -" git bisect reset [<commit>]\n" -" git bisect visualize\n" -" git bisect replay <logfile>\n" -" git bisect log\n" -" git bisect run <cmd>...\n" -" git bisect help\n" +msgid "`always`" msgstr "" #. type: Plain text -#: en/git-bisect.txt:40 -msgid "" -"This command uses a binary search algorithm to find which commit in your " -"project's history introduced a bug. You use it by first telling it a \"bad\" " -"commit that is known to contain the bug, and a \"good\" commit that is known " -"to be before the bug was introduced. Then `git bisect` picks a commit " -"between those two endpoints and asks you whether the selected commit is " -"\"good\" or \"bad\". It continues narrowing down the range until it finds " -"the exact commit that introduced the change." +#: en/config.txt:1166 +msgid "always show in columns" msgstr "" +#. type: Labeled list +#: en/config.txt:1166 +#, fuzzy, no-wrap +#| msgid "revert" +msgid "`never`" +msgstr "revert" + #. type: Plain text -#: en/git-bisect.txt:47 -msgid "" -"In fact, `git bisect` can be used to find the commit that changed *any* " -"property of your project; e.g., the commit that fixed a bug, or the commit " -"that caused a benchmark's performance to improve. To support this more " -"general usage, the terms \"old\" and \"new\" can be used in place of \"good" -"\" and \"bad\", or you can choose your own terms. See section \"Alternate " -"terms\" below for more information." +#: en/config.txt:1168 +msgid "never show in columns" msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:49 +#. type: Labeled list +#: en/config.txt:1168 #, no-wrap -msgid "Basic bisect commands: start, bad, good" +msgid "`auto`" msgstr "" #. type: Plain text -#: en/git-bisect.txt:54 +#: en/config.txt:1170 +msgid "show in columns if the output is to the terminal" +msgstr "" + +#. type: Plain text +#: en/config.txt:1175 msgid "" -"As an example, suppose you are trying to find the commit that broke a " -"feature that was known to work in version `v2.6.13-rc2` of your project. You " -"start a bisect session as follows:" +"These options control layout (defaults to 'column'). Setting any of these " +"implies 'always' if none of 'always', 'never', or 'auto' are specified." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:59 +#. type: Labeled list +#: en/config.txt:1177 #, no-wrap -msgid "" -"$ git bisect start\n" -"$ git bisect bad # Current version is bad\n" -"$ git bisect good v2.6.13-rc2 # v2.6.13-rc2 is known to be good\n" +msgid "`column`" msgstr "" #. type: Plain text -#: en/git-bisect.txt:64 -msgid "" -"Once you have specified at least one bad and one good commit, `git bisect` " -"selects a commit in the middle of that range of history, checks it out, and " -"outputs something similar to the following:" +#: en/config.txt:1179 +msgid "fill columns before rows" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:67 +#. type: Labeled list +#: en/config.txt:1179 #, no-wrap -msgid "Bisecting: 675 revisions left to test after this (roughly 10 steps)\n" +msgid "`row`" msgstr "" #. type: Plain text -#: en/git-bisect.txt:71 -msgid "" -"You should now compile the checked-out version and test it. If that version " -"works correctly, type" +#: en/config.txt:1181 +msgid "fill rows before columns" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:74 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect good\n" -msgstr "$ git commit\n" +#. type: Labeled list +#: en/config.txt:1181 +#, no-wrap +msgid "`plain`" +msgstr "" #. type: Plain text -#: en/git-bisect.txt:77 -msgid "If that version is broken, type" +#: en/config.txt:1183 +msgid "show in one column" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:80 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect bad\n" -msgstr "$ git commit\n" - #. type: Plain text -#: en/git-bisect.txt:83 -msgid "Then `git bisect` will respond with something like" +#: en/config.txt:1187 +msgid "" +"Finally, these options can be combined with a layout option (defaults to " +"'nodense'):" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:86 +#. type: Labeled list +#: en/config.txt:1189 #, no-wrap -msgid "Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" +msgid "`dense`" msgstr "" #. type: Plain text -#: en/git-bisect.txt:91 -msgid "" -"Keep repeating the process: compile the tree, test it, and depending on " -"whether it is good or bad run `git bisect good` or `git bisect bad` to ask " -"for the next commit that needs testing." +#: en/config.txt:1191 +msgid "make unequal size columns to utilize more space" +msgstr "" + +#. type: Labeled list +#: en/config.txt:1191 +#, no-wrap +msgid "`nodense`" msgstr "" #. type: Plain text -#: en/git-bisect.txt:95 -msgid "" -"Eventually there will be no more revisions left to inspect, and the command " -"will print out a description of the first bad commit. The reference `refs/" -"bisect/bad` will be left pointing at that commit." +#: en/config.txt:1193 +msgid "make equal size columns" msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:98 +#. type: Labeled list +#: en/config.txt:1195 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "Bisect reset" -msgstr "$ git commit\n" +#| msgid "status" +msgid "column.branch" +msgstr "status" #. type: Plain text -#: en/git-bisect.txt:102 +#: en/config.txt:1198 msgid "" -"After a bisect session, to clean up the bisection state and return to the " -"original HEAD, issue the following command:" +"Specify whether to output branch listing in `git branch` in columns. See " +"`column.ui` for details." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:105 +#. type: Labeled list +#: en/config.txt:1199 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect reset\n" -msgstr "$ git commit\n" +#| msgid "git-commit(1)" +msgid "column.clean" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-bisect.txt:110 +#: en/config.txt:1202 msgid "" -"By default, this will return your tree to the commit that was checked out " -"before `git bisect start`. (A new `git bisect start` will also do that, as " -"it cleans up the old bisection state.)" +"Specify the layout when list items in `git clean -i`, which always shows " +"files and directories in columns. See `column.ui` for details." msgstr "" +#. type: Labeled list +#: en/config.txt:1203 +#, fuzzy, no-wrap +#| msgid "status" +msgid "column.status" +msgstr "status" + #. type: Plain text -#: en/git-bisect.txt:113 +#: en/config.txt:1206 msgid "" -"With an optional argument, you can return to a different commit instead:" +"Specify whether to output untracked files in `git status` in columns. See " +"`column.ui` for details." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:116 +#. type: Labeled list +#: en/config.txt:1207 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect reset <commit>\n" -msgstr "$ git commit\n" +#| msgid "status" +msgid "column.tag" +msgstr "status" #. type: Plain text -#: en/git-bisect.txt:121 +#: en/config.txt:1210 msgid "" -"For example, `git bisect reset bisect/bad` will check out the first bad " -"revision, while `git bisect reset HEAD` will leave you on the current " -"bisection commit and avoid switching commits at all." +"Specify whether to output tag listing in `git tag` in columns. See `column." +"ui` for details." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:124 -#, no-wrap -msgid "Alternate terms" -msgstr "" +#. type: Labeled list +#: en/config.txt:1211 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "commit.cleanup" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-bisect.txt:132 +#: en/config.txt:1219 msgid "" -"Sometimes you are not looking for the commit that introduced a breakage, but " -"rather for a commit that caused a change between some other \"old\" state " -"and \"new\" state. For example, you might be looking for the commit that " -"introduced a particular fix. Or you might be looking for the first commit in " -"which the source-code filenames were finally all converted to your company's " -"naming standard. Or whatever." +"This setting overrides the default of the `--cleanup` option in `git " +"commit`. See linkgit:git-commit[1] for details. Changing the default can be " +"useful when you always want to keep lines that begin with comment character " +"`#` in your log message, in which case you would do `git config commit." +"cleanup whitespace` (note that you will have to remove the help lines that " +"begin with `#` in the commit log template yourself, if you do this)." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:138 -msgid "" -"In such cases it can be very confusing to use the terms \"good\" and \"bad\" " -"to refer to \"the state before the change\" and \"the state after the change" -"\". So instead, you can use the terms \"old\" and \"new\", respectively, in " -"place of \"good\" and \"bad\". (But note that you cannot mix \"good\" and " -"\"bad\" with \"old\" and \"new\" in a single session.)" -msgstr "" +#. type: Labeled list +#: en/config.txt:1220 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "commit.gpgSign" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-bisect.txt:145 +#: en/config.txt:1227 msgid "" -"In this more general usage, you provide `git bisect` with a \"new\" commit " -"has some property and an \"old\" commit that doesn't have that property. " -"Each time `git bisect` checks out a commit, you test if that commit has the " -"property. If it does, mark the commit as \"new\"; otherwise, mark it as \"old" -"\". When the bisection is done, `git bisect` will report which commit " -"introduced the property." +"A boolean to specify whether all commits should be GPG signed. Use of this " +"option when doing operations such as rebase can result in a large number of " +"commits being signed. It may be convenient to use an agent to avoid typing " +"your GPG passphrase several times." msgstr "" +#. type: Labeled list +#: en/config.txt:1228 +#, fuzzy, no-wrap +#| msgid "status" +msgid "commit.status" +msgstr "status" + #. type: Plain text -#: en/git-bisect.txt:149 +#: en/config.txt:1232 +#, fuzzy +#| msgid "" +#| "--no-status::\n" +#| "\tDo not include the output of linkgit:git-status[1] in the\n" +#| "\tcommit message template when using an editor to prepare the\n" +#| "\tdefault commit message.\n" msgid "" -"To use \"old\" and \"new\" instead of \"good\" and bad, you must run `git " -"bisect start` without commits as argument and then run the following " -"commands to add the commits:" +"A boolean to enable/disable inclusion of status information in the commit " +"message template when using an editor to prepare the commit message. " +"Defaults to true." msgstr "" +"--no-status::\n" +"\tNe pas inclure la sortie de linkgit:git-status[1] dans le\n" +"\tmod챔le de message de validation lors de l'utilisation d'un\n" +"\t챕diteur pour pr챕parer le message de validation par d챕faut.\n" -#. type: delimited block - -#: en/git-bisect.txt:152 +#. type: Labeled list +#: en/config.txt:1233 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "git bisect old [<rev>]\n" -msgstr "$ git commit\n" +#| msgid "status" +msgid "commit.template" +msgstr "status" #. type: Plain text -#: en/git-bisect.txt:155 -msgid "to indicate that a commit was before the sought change, or" +#: en/config.txt:1236 +msgid "" +"Specify the pathname of a file to use as the template for new commit " +"messages." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:158 +#. type: Labeled list +#: en/config.txt:1237 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "git bisect new [<rev>...]\n" -msgstr "$ git commit\n" - -#. type: Plain text -#: en/git-bisect.txt:161 -msgid "to indicate that it was after." -msgstr "" +#| msgid "git-commit(1)" +msgid "commit.verbose" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-bisect.txt:163 -msgid "To get a reminder of the currently used terms, use" +#: en/config.txt:1240 +msgid "" +"A boolean or int to specify the level of verbose with `git commit`. See " +"linkgit:git-commit[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:166 +#. type: Labeled list +#: en/config.txt:1241 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "git bisect terms\n" -msgstr "$ git commit\n" +#| msgid "git-commit(1)" +msgid "credential.helper" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-bisect.txt:170 +#: en/config.txt:1247 msgid "" -"You can get just the old (respectively new) term with `git bisect term --" -"term-old` or `git bisect term --term-good`." +"Specify an external helper to be called when a username or password " +"credential is needed; the helper may consult external storage to avoid " +"prompting the user for the credentials. Note that multiple helpers may be " +"defined. See linkgit:gitcredentials[7] for details." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1248 +#, no-wrap +msgid "credential.useHttpPath" msgstr "" #. type: Plain text -#: en/git-bisect.txt:175 +#: en/config.txt:1252 msgid "" -"If you would like to use your own terms instead of \"bad\"/\"good\" or \"new" -"\"/\"old\", you can choose any names you like (except existing bisect " -"subcommands like `reset`, `start`, ...) by starting the bisection using" +"When acquiring credentials, consider the \"path\" component of an http or " +"https URL to be important. Defaults to false. See linkgit:gitcredentials[7] " +"for more information." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:178 +#. type: Labeled list +#: en/config.txt:1253 #, no-wrap -msgid "git bisect start --term-old <term-old> --term-new <term-new>\n" +msgid "credential.username" msgstr "" #. type: Plain text -#: en/git-bisect.txt:182 +#: en/config.txt:1257 msgid "" -"For example, if you are looking for a commit that introduced a performance " -"regression, you might use" +"If no username is set for a network authentication, use this username by " +"default. See credential.<context>.* below, and linkgit:gitcredentials[7]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:185 +#. type: Labeled list +#: en/config.txt:1258 #, no-wrap -msgid "git bisect start --term-old fast --term-new slow\n" +msgid "credential.<url>.*" msgstr "" #. type: Plain text -#: en/git-bisect.txt:188 -msgid "Or if you are looking for the commit that fixed a bug, you might use" +#: en/config.txt:1264 +msgid "" +"Any of the credential.* options above can be applied selectively to some " +"credentials. For example \"credential.https://example.com.username\" would " +"set the default username only for https connections to example.com. See " +"linkgit:gitcredentials[7] for details on how URLs are matched." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:191 +#. type: Labeled list +#: en/config.txt:1265 #, no-wrap -msgid "git bisect start --term-new fixed --term-old broken\n" +msgid "credentialCache.ignoreSIGHUP" msgstr "" #. type: Plain text -#: en/git-bisect.txt:195 +#: en/config.txt:1267 msgid "" -"Then, use `git bisect <term-old>` and `git bisect <term-new>` instead of " -"`git bisect good` and `git bisect bad` to mark commits." +"Tell git-credential-cache--daemon to ignore SIGHUP, instead of quitting." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:197 +#. type: Labeled list +#: en/config.txt:1270 en/git-difftool.txt:117 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "Bisect visualize" -msgstr "$ git commit\n" +#| msgid "diff" +msgid "difftool.<tool>.path" +msgstr "diff" #. type: Plain text -#: en/git-bisect.txt:201 +#: en/config.txt:1273 en/config.txt:2188 en/git-difftool.txt:120 msgid "" -"To see the currently remaining suspects in 'gitk', issue the following " -"command during the bisection process:" +"Override the path for the given tool. This is useful in case your tool is " +"not in the PATH." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:204 +#. type: Labeled list +#: en/config.txt:1274 en/git-difftool.txt:121 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect visualize\n" -msgstr "$ git commit\n" - -#. type: Plain text -#: en/git-bisect.txt:207 -msgid "`view` may also be used as a synonym for `visualize`." -msgstr "" +#| msgid "diff" +msgid "difftool.<tool>.cmd" +msgstr "diff" #. type: Plain text -#: en/git-bisect.txt:211 +#: en/config.txt:1281 msgid "" -"If the `DISPLAY` environment variable is not set, 'git log' is used " -"instead. You can also give command-line options such as `-p` and `--stat`." +"Specify the command to invoke the specified diff tool. The specified " +"command is evaluated in shell with the following variables available: " +"'LOCAL' is set to the name of the temporary file containing the contents of " +"the diff pre-image and 'REMOTE' is set to the name of the temporary file " +"containing the contents of the diff post-image." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:214 +#. type: Labeled list +#: en/config.txt:1282 en/git-difftool.txt:126 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect view --stat\n" -msgstr "$ git commit\n" - -#. type: Title ~ -#: en/git-bisect.txt:217 -#, no-wrap -msgid "Bisect log and bisect replay" -msgstr "" +#| msgid "diff" +msgid "difftool.prompt" +msgstr "diff" #. type: Plain text -#: en/git-bisect.txt:221 -msgid "" -"After having marked revisions as good or bad, issue the following command to " -"show what has been done so far:" +#: en/config.txt:1284 en/git-difftool.txt:128 +msgid "Prompt before each invocation of the diff tool." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:224 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect log\n" -msgstr "$ git commit\n" +#. type: Labeled list +#: en/config.txt:1285 en/git-fast-import.txt:139 +#, no-wrap +msgid "fastimport.unpackLimit" +msgstr "" #. type: Plain text -#: en/git-bisect.txt:230 +#: en/config.txt:1293 msgid "" -"If you discover that you made a mistake in specifying the status of a " -"revision, you can save the output of this command to a file, edit it to " -"remove the incorrect entries, and then issue the following commands to " -"return to a corrected state:" +"If the number of objects imported by linkgit:git-fast-import[1] is below " +"this limit, then the objects will be unpacked into loose object files. " +"However if the number of imported objects equals or exceeds this limit then " +"the pack will be stored as a pack. Storing the pack from a fast-import can " +"make the import operation complete faster, especially on slow filesystems. " +"If not set, the value of `transfer.unpackLimit` is used instead." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:234 +#. type: Labeled list +#: en/config.txt:1294 #, no-wrap -msgid "" -"$ git bisect reset\n" -"$ git bisect replay that-file\n" +msgid "fetch.recurseSubmodules" msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:237 -#, fuzzy, no-wrap -#| msgid "modifying existing content" -msgid "Avoiding testing a commit" -msgstr "modification de contenu existant" - #. type: Plain text -#: en/git-bisect.txt:244 +#: en/config.txt:1302 msgid "" -"If, in the middle of a bisect session, you know that the suggested revision " -"is not a good one to test (e.g. it fails to build and you know that the " -"failure does not have anything to do with the bug you are chasing), you can " -"manually select a nearby commit and test that one instead." +"This option can be either set to a boolean value or to 'on-demand'. Setting " +"it to a boolean changes the behavior of fetch and pull to unconditionally " +"recurse into submodules when set to true or to not recurse at all when set " +"to false. When set to 'on-demand' (the default value), fetch and pull will " +"only recurse into a populated submodule when its superproject retrieves a " +"commit that updates the submodule's reference." msgstr "" +#. type: Labeled list +#: en/config.txt:1303 +#, fuzzy, no-wrap +#| msgid "git-fsck-objects(1)" +msgid "fetch.fsckObjects" +msgstr "git-fsck-objects(1)" + #. type: Plain text -#: en/git-bisect.txt:246 en/git-tag.txt:337 -msgid "For example:" +#: en/config.txt:1309 +msgid "" +"If it is set to true, git-fetch-pack will check all fetched objects. It will " +"abort in the case of a malformed object or a broken link. The result of an " +"abort are only dangling objects. Defaults to false. If not set, the value " +"of `transfer.fsckObjects` is used instead." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:253 +#. type: Labeled list +#: en/config.txt:1310 #, no-wrap -msgid "" -"$ git bisect good/bad\t\t\t# previous round was good or bad.\n" -"Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" -"$ git bisect visualize\t\t\t# oops, that is uninteresting.\n" -"$ git reset --hard HEAD~3\t\t# try 3 revisions before what\n" -"\t\t\t\t\t# was suggested\n" +msgid "fetch.unpackLimit" msgstr "" #. type: Plain text -#: en/git-bisect.txt:257 +#: en/config.txt:1320 msgid "" -"Then compile and test the chosen revision, and afterwards mark the revision " -"as good or bad in the usual manner." +"If the number of objects fetched over the Git native transfer is below this " +"limit, then the objects will be unpacked into loose object files. However if " +"the number of received objects equals or exceeds this limit then the " +"received pack will be stored as a pack, after adding any missing delta " +"bases. Storing the pack from a push can make the push operation complete " +"faster, especially on slow filesystems. If not set, the value of `transfer." +"unpackLimit` is used instead." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:259 +#. type: Labeled list +#: en/config.txt:1321 #, no-wrap -msgid "Bisect skip" +msgid "fetch.prune" msgstr "" #. type: Plain text -#: en/git-bisect.txt:263 +#: en/config.txt:1324 msgid "" -"Instead of choosing a nearby commit by yourself, you can ask Git to do it " -"for you by issuing the command:" +"If true, fetch will automatically behave as if the `--prune` option was " +"given on the command line. See also `remote.<name>.prune`." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:266 +#. type: Labeled list +#: en/config.txt:1325 #, no-wrap -msgid "$ git bisect skip # Current version cannot be tested\n" +msgid "fetch.output" msgstr "" #. type: Plain text -#: en/git-bisect.txt:271 +#: en/config.txt:1329 msgid "" -"However, if you skip a commit adjacent to the one you are looking for, Git " -"will be unable to tell exactly which of those commits was the first bad one." +"Control how ref update status is printed. Valid values are `full` and " +"`compact`. Default value is `full`. See section OUTPUT in linkgit:git-" +"fetch[1] for detail." msgstr "" +#. type: Labeled list +#: en/config.txt:1330 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "format.attach" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-bisect.txt:274 +#: en/config.txt:1336 msgid "" -"You can also skip a range of commits, instead of just one commit, using " -"range notation. For example:" +"Enable multipart/mixed attachments as the default for 'format-patch'. The " +"value can also be a double quoted string which will enable attachments as " +"the default and set the value as the boundary. See the --attach option in " +"linkgit:git-format-patch[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:277 -#, no-wrap -msgid "$ git bisect skip v2.5..v2.6\n" -msgstr "" +#. type: Labeled list +#: en/config.txt:1337 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.from" +msgstr "Configuration" #. type: Plain text -#: en/git-bisect.txt:281 +#: en/config.txt:1346 msgid "" -"This tells the bisect process that no commit after `v2.5`, up to and " -"including `v2.6`, should be tested." +"Provides the default value for the `--from` option to format-patch. Accepts " +"a boolean value, or a name and email address. If false, format-patch " +"defaults to `--no-from`, using commit authors directly in the \"From:\" " +"field of patch mails. If true, format-patch defaults to `--from`, using " +"your committer identity in the \"From:\" field of patch mails and including " +"a \"From:\" field in the body of the patch mail if different. If set to a " +"non-boolean value, format-patch uses that value instead of your committer " +"identity. Defaults to false." msgstr "" +#. type: Labeled list +#: en/config.txt:1347 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.numbered" +msgstr "Configuration" + #. type: Plain text -#: en/git-bisect.txt:284 +#: en/config.txt:1353 msgid "" -"Note that if you also want to skip the first commit of the range you would " -"issue the command:" +"A boolean which can enable or disable sequence numbers in patch subjects. " +"It defaults to \"auto\" which enables it only if there is more than one " +"patch. It can be enabled or disabled for all messages by setting it to " +"\"true\" or \"false\". See --numbered option in linkgit:git-format-patch[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:287 -#, no-wrap -msgid "$ git bisect skip v2.5 v2.5..v2.6\n" -msgstr "" +#. type: Labeled list +#: en/config.txt:1354 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.headers" +msgstr "Configuration" #. type: Plain text -#: en/git-bisect.txt:291 +#: en/config.txt:1357 msgid "" -"This tells the bisect process that the commits between `v2.5` and `v2.6` " -"(inclusive) should be skipped." +"Additional email headers to include in a patch to be submitted by mail. See " +"linkgit:git-format-patch[1]." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:294 -#, no-wrap -msgid "Cutting down bisection by giving more parameters to bisect start" -msgstr "" +#. type: Labeled list +#: en/config.txt:1358 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.to" +msgstr "Configuration" + +#. type: Labeled list +#: en/config.txt:1359 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.cc" +msgstr "Configuration" #. type: Plain text -#: en/git-bisect.txt:299 +#: en/config.txt:1363 msgid "" -"You can further cut down the number of trials, if you know what part of the " -"tree is involved in the problem you are tracking down, by specifying path " -"parameters when issuing the `bisect start` command:" +"Additional recipients to include in a patch to be submitted by mail. See " +"the --to and --cc options in linkgit:git-format-patch[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:302 +#. type: Labeled list +#: en/config.txt:1364 #, no-wrap -msgid "$ git bisect start -- arch/i386 include/asm-i386\n" +msgid "format.subjectPrefix" msgstr "" #. type: Plain text -#: en/git-bisect.txt:307 -msgid "" -"If you know beforehand more than one good commit, you can narrow the bisect " -"space down by specifying all of the good commits immediately after the bad " -"commit when issuing the `bisect start` command:" -msgstr "" - -#. type: delimited block - -#: en/git-bisect.txt:312 -#, no-wrap +#: en/config.txt:1367 msgid "" -"$ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --\n" -" # v2.6.20-rc6 is bad\n" -" # v2.6.20-rc4 and v2.6.20-rc1 are good\n" +"The default for format-patch is to output files with the '[PATCH]' subject " +"prefix. Use this variable to change that prefix." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:315 -#, no-wrap -msgid "Bisect run" -msgstr "" +#. type: Labeled list +#: en/config.txt:1368 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.signature" +msgstr "Configuration" #. type: Plain text -#: en/git-bisect.txt:319 +#: en/config.txt:1373 msgid "" -"If you have a script that can tell if the current source code is good or " -"bad, you can bisect by issuing the command:" +"The default for format-patch is to output a signature containing the Git " +"version number. Use this variable to change that default. Set this variable " +"to the empty string (\"\") to suppress signature generation." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:322 +#. type: Labeled list +#: en/config.txt:1374 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git bisect run my_script arguments\n" -msgstr "$ git commit\n" +#| msgid "Configuration" +msgid "format.signatureFile" +msgstr "Configuration" #. type: Plain text -#: en/git-bisect.txt:328 +#: en/config.txt:1377 msgid "" -"Note that the script (`my_script` in the above example) should exit with " -"code 0 if the current source code is good/old, and exit with a code between " -"1 and 127 (inclusive), except 125, if the current source code is bad/new." +"Works just like format.signature except the contents of the file specified " +"by this variable will be used as the signature." msgstr "" +#. type: Labeled list +#: en/config.txt:1378 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.suffix" +msgstr "Configuration" + #. type: Plain text -#: en/git-bisect.txt:332 +#: en/config.txt:1382 msgid "" -"Any other exit code will abort the bisect process. It should be noted that a " -"program that terminates via `exit(-1)` leaves $? = 255, (see the exit(3) " -"manual page), as the value is chopped with `& 0377`." +"The default for format-patch is to output files with the suffix `.patch`. " +"Use this variable to change that suffix (make sure to include the dot if you " +"want it)." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:341 -msgid "" -"The special exit code 125 should be used when the current source code cannot " -"be tested. If the script exits with this code, the current revision will be " -"skipped (see `git bisect skip` above). 125 was chosen as the highest " -"sensible value to use for this purpose, because 126 and 127 are used by " -"POSIX shells to signal specific error status (127 is for command not found, " -"126 is for command found but not executable--these details do not matter, as " -"they are normal errors in the script, as far as `bisect run` is concerned)." +#. type: Labeled list +#: en/config.txt:1383 en/git-log.txt:175 +#, no-wrap +msgid "format.pretty" msgstr "" +# #. type: Plain text -#: en/git-bisect.txt:347 +#: en/config.txt:1387 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"You may often find that during a bisect session you want to have temporary " -"modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a header file, or " -"\"revision that does not have this commit needs this patch applied to work " -"around another problem this bisection is not interested in\") applied to the " -"revision being tested." +"The default pretty format for log/show/whatchanged command, See linkgit:git-" +"log[1], linkgit:git-show[1], linkgit:git-whatchanged[1]." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" + +#. type: Labeled list +#: en/config.txt:1388 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.thread" +msgstr "Configuration" #. type: Plain text -#: en/git-bisect.txt:355 -msgid "" -"To cope with such a situation, after the inner 'git bisect' finds the next " -"revision to test, the script can apply the patch before compiling, run the " -"real test, and afterwards decide if the revision (possibly with the needed " -"patch) passed the test and then rewind the tree to the pristine state. " -"Finally the script should exit with the status of the real test to let the " -"`git bisect run` command loop determine the eventual outcome of the bisect " -"session." +#: en/config.txt:1397 +msgid "" +"The default threading style for 'git format-patch'. Can be a boolean value, " +"or `shallow` or `deep`. `shallow` threading makes every mail a reply to the " +"head of the series, where the head is chosen from the cover letter, the `--" +"in-reply-to`, and the first patch mail, in this order. `deep` threading " +"makes every mail a reply to the previous one. A true boolean value is the " +"same as `shallow`, and a false value disables threading." msgstr "" #. type: Labeled list -#: en/git-bisect.txt:358 en/git-clone.txt:134 +#: en/config.txt:1398 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--no-checkout" -msgstr "git-commit(1)" +#| msgid "Configuration" +msgid "format.signOff" +msgstr "Configuration" #. type: Plain text -#: en/git-bisect.txt:363 +#: en/config.txt:1404 msgid "" -"Do not checkout the new working tree at each iteration of the bisection " -"process. Instead just update a special reference named `BISECT_HEAD` to make " -"it point to the commit that should be tested." +"A boolean value which lets you enable the `-s/--signoff` option of format-" +"patch by default. *Note:* Adding the Signed-off-by: line to a patch should " +"be a conscious act and means that you certify you have the rights to submit " +"this work under the same open source license. Please see the " +"'SubmittingPatches' document for further discussion." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:366 -msgid "" -"This option may be useful when the test you would perform in each step does " -"not require a checked out tree." +#. type: Labeled list +#: en/config.txt:1405 +#, no-wrap +msgid "format.coverLetter" msgstr "" #. type: Plain text -#: en/git-bisect.txt:368 -msgid "If the repository is bare, `--no-checkout` is assumed." +#: en/config.txt:1409 +msgid "" +"A boolean that controls whether to generate a cover-letter when format-patch " +"is invoked, but in addition can be set to \"auto\", to generate a cover-" +"letter only when there's more than one patch." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:373 -msgid "Automatically bisect a broken build between v1.2 and HEAD:" +#. type: Labeled list +#: en/config.txt:1410 +#, no-wrap +msgid "format.outputDirectory" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:378 -#, no-wrap +#. type: Plain text +#: en/config.txt:1413 msgid "" -"$ git bisect start HEAD v1.2 -- # HEAD is bad, v1.2 is good\n" -"$ git bisect run make # \"make\" builds the app\n" -"$ git bisect reset # quit the bisect session\n" +"Set a custom directory to store the resulting files instead of the current " +"working directory." msgstr "" +#. type: Labeled list +#: en/config.txt:1414 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "format.useAutoBase" +msgstr "Configuration" + #. type: Plain text -#: en/git-bisect.txt:381 -msgid "Automatically bisect a test failure between origin and HEAD:" +#: en/config.txt:1417 +msgid "" +"A boolean value which lets you enable the `--base=auto` option of format-" +"patch by default." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:386 +#. type: Labeled list +#: en/config.txt:1418 #, no-wrap -msgid "" -"$ git bisect start HEAD origin -- # HEAD is bad, origin is good\n" -"$ git bisect run make test # \"make test\" builds and tests\n" -"$ git bisect reset # quit the bisect session\n" +msgid "filter.<driver>.clean" msgstr "" #. type: Plain text -#: en/git-bisect.txt:389 en/git-bisect.txt:443 -msgid "Automatically bisect a broken test case:" +#: en/config.txt:1422 +msgid "" +"The command which is used to convert the content of a worktree file to a " +"blob upon checkin. See linkgit:gitattributes[5] for details." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:398 +#. type: Labeled list +#: en/config.txt:1423 #, no-wrap -msgid "" -"$ cat ~/test.sh\n" -"#!/bin/sh\n" -"make || exit 125 # this skips broken builds\n" -"~/check_test_case.sh # does the test case pass?\n" -"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" -"$ git bisect run ~/test.sh\n" -"$ git bisect reset # quit the bisect session\n" +msgid "filter.<driver>.smudge" msgstr "" #. type: Plain text -#: en/git-bisect.txt:404 +#: en/config.txt:1427 msgid "" -"Here we use a `test.sh` custom script. In this script, if `make` fails, we " -"skip the current commit. `check_test_case.sh` should `exit 0` if the test " -"case passes, and `exit 1` otherwise." +"The command which is used to convert the content of a blob object to a " +"worktree file upon checkout. See linkgit:gitattributes[5] for details." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:408 -msgid "" -"It is safer if both `test.sh` and `check_test_case.sh` are outside the " -"repository to prevent interactions between the bisect, make and test " -"processes and the scripts." +#. type: Labeled list +#: en/config.txt:1428 +#, no-wrap +msgid "fsck.<msg-id>" msgstr "" #. type: Plain text -#: en/git-bisect.txt:410 -msgid "Automatically bisect with temporary modifications (hot-fix):" -msgstr "" - -#. type: delimited block - -#: en/git-bisect.txt:414 -#, no-wrap +#: en/config.txt:1431 msgid "" -"$ cat ~/test.sh\n" -"#!/bin/sh\n" +"Allows overriding the message type (error, warn or ignore) of a specific " +"message ID such as `missingEmail`." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:427 -#, no-wrap +#. type: Plain text +#: en/config.txt:1435 msgid "" -"# tweak the working tree by merging the hot-fix branch\n" -"# and then attempt a build\n" -"if\tgit merge --no-commit hot-fix &&\n" -"\tmake\n" -"then\n" -"\t# run project specific test and report its status\n" -"\t~/check_test_case.sh\n" -"\tstatus=$?\n" -"else\n" -"\t# tell the caller this is untestable\n" -"\tstatus=125\n" -"fi\n" +"For convenience, fsck prefixes the error/warning with the message ID, e.g. " +"\"missingEmail: invalid author/committer line - missing email\" means that " +"setting `fsck.missingEmail = ignore` will hide that issue." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:430 -#, no-wrap +#. type: Plain text +#: en/config.txt:1438 msgid "" -"# undo the tweak to allow clean flipping to the next commit\n" -"git reset --hard\n" +"This feature is intended to support working with legacy repositories which " +"cannot be repaired without disruptive changes." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:433 +#. type: Labeled list +#: en/config.txt:1439 #, no-wrap -msgid "" -"# return control\n" -"exit $status\n" +msgid "fsck.skipList" msgstr "" #. type: Plain text -#: en/git-bisect.txt:441 +#: en/config.txt:1446 en/config.txt:2679 msgid "" -"This applies modifications from a hot-fix branch before each test run, e.g. " -"in case your build or test environment changed so that older revisions may " -"need a fix which newer ones have already. (Make sure the hot-fix branch is " -"based off a commit which is contained in all revisions which you are " -"bisecting, so that the merge does not pull in too much, or use `git cherry-" -"pick` instead of `git merge`.)" +"The path to a sorted list of object names (i.e. one SHA-1 per line) that are " +"known to be broken in a non-fatal way and should be ignored. This feature is " +"useful when an established project should be accepted despite early commits " +"containing errors that can be safely ignored such as invalid committer email " +"addresses. Note: corrupt objects cannot be skipped with this setting." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:448 +#. type: Labeled list +#: en/config.txt:1447 #, no-wrap -msgid "" -"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" -"$ git bisect run sh -c \"make || exit 125; ~/check_test_case.sh\"\n" -"$ git bisect reset # quit the bisect session\n" +msgid "gc.aggressiveDepth" msgstr "" #. type: Plain text -#: en/git-bisect.txt:452 +#: en/config.txt:1451 msgid "" -"This shows that you can do without a run script if you write the test on a " -"single line." +"The depth parameter used in the delta compression algorithm used by 'git gc " +"--aggressive'. This defaults to 50." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:454 -msgid "Locate a good region of the object graph in a damaged repository" +#. type: Labeled list +#: en/config.txt:1452 +#, no-wrap +msgid "gc.aggressiveWindow" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:464 -#, no-wrap +#. type: Plain text +#: en/config.txt:1456 msgid "" -"$ git bisect start HEAD <known-good-commit> [ <boundary-commit> ... ] --no-checkout\n" -"$ git bisect run sh -c '\n" -"\tGOOD=$(git for-each-ref \"--format=%(objectname)\" refs/bisect/good-*) &&\n" -"\tgit rev-list --objects BISECT_HEAD --not $GOOD >tmp.$$ &&\n" -"\tgit pack-objects --stdout >/dev/null <tmp.$$\n" -"\trc=$?\n" -"\trm -f tmp.$$\n" -"\ttest $rc = 0'\n" +"The window size parameter used in the delta compression algorithm used by " +"'git gc --aggressive'. This defaults to 250." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:466 +#. type: Labeled list +#: en/config.txt:1457 #, no-wrap -msgid "$ git bisect reset # quit the bisect session\n" +msgid "gc.auto" msgstr "" #. type: Plain text -#: en/git-bisect.txt:471 +#: en/config.txt:1463 msgid "" -"In this case, when 'git bisect run' finishes, bisect/bad will refer to a " -"commit that has at least one parent whose reachable graph is fully " -"traversable in the sense required by 'git pack objects'." -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:473 -msgid "Look for a fix instead of a regression in the code" +"When there are approximately more than this many loose objects in the " +"repository, `git gc --auto` will pack them. Some Porcelain commands use " +"this command to perform a light-weight garbage collection from time to " +"time. The default value is 6700. Setting this to 0 disables it." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:478 +#. type: Labeled list +#: en/config.txt:1464 #, no-wrap -msgid "" -"$ git bisect start\n" -"$ git bisect new HEAD # current commit is marked as new\n" -"$ git bisect old HEAD~10 # the tenth commit from now is marked as old\n" +msgid "gc.autoPackLimit" msgstr "" #. type: Plain text -#: en/git-bisect.txt:481 -msgid "or:" -msgstr "" - -#. type: delimited block - -#: en/git-bisect.txt:485 -#, no-wrap +#: en/config.txt:1469 msgid "" -"$ git bisect start --term-old broken --term-new fixed\n" -"$ git bisect fixed\n" -"$ git bisect broken HEAD~10\n" +"When there are more than this many packs that are not marked with `*.keep` " +"file in the repository, `git gc --auto` consolidates them into one larger " +"pack. The default\tvalue is 50. Setting this to 0 disables it." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:488 +#. type: Labeled list +#: en/config.txt:1470 #, no-wrap -msgid "Getting help" +msgid "gc.autoDetach" msgstr "" #. type: Plain text -#: en/git-bisect.txt:492 +#: en/config.txt:1473 msgid "" -"Use `git bisect` to get a short usage description, and `git bisect help` or " -"`git bisect -h` to get a long usage description." +"Make `git gc --auto` return immediately and run in background if the system " +"supports it. Default is true." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:497 -msgid "" -"link:git-bisect-lk2009.html[Fighting regressions with git bisect], linkgit:" -"git-blame[1]." +#. type: Labeled list +#: en/config.txt:1474 +#, no-wrap +msgid "gc.logExpiry" msgstr "" -#. type: Title = -#: en/git-blame.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-blame(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-blame.txt:7 +#: en/config.txt:1479 msgid "" -"git-blame - Show what revision and author last modified each line of a file" +"If the file gc.log exists, then `git gc --auto` won't run unless that file " +"is more than 'gc.logExpiry' old. Default is \"1.day\". See `gc." +"pruneExpire` for more ways to specify its value." msgstr "" -#. type: Plain text -#: en/git-blame.txt:15 +#. type: Labeled list +#: en/config.txt:1480 #, no-wrap -msgid "" -"'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]\n" -"\t [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]\n" -"\t [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>]\n" -"\t [--] <file>\n" +msgid "gc.packRefs" msgstr "" #. type: Plain text -#: en/git-blame.txt:21 +#: en/config.txt:1487 msgid "" -"Annotates each line in the given file with information from the revision " -"which last modified the line. Optionally, start annotating from the given " -"revision." +"Running `git pack-refs` in a repository renders it unclonable by Git " +"versions prior to 1.5.1.2 over dumb transports such as HTTP. This variable " +"determines whether 'git gc' runs `git pack-refs`. This can be set to " +"`notbare` to enable it within all non-bare repos or it can be set to a " +"boolean value. The default is `true`." msgstr "" -#. type: Plain text -#: en/git-blame.txt:24 -msgid "" -"When specified one or more times, `-L` restricts annotation to the requested " -"lines." +#. type: Labeled list +#: en/config.txt:1488 +#, no-wrap +msgid "gc.pruneExpire" msgstr "" #. type: Plain text -#: en/git-blame.txt:30 +#: en/config.txt:1496 msgid "" -"The origin of lines is automatically followed across whole-file renames " -"(currently there is no option to turn the rename-following off). To follow " -"lines moved from one file to another, or to follow lines that were copied " -"and pasted from another file, etc., see the `-C` and `-M` options." +"When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'. Override " +"the grace period with this config variable. The value \"now\" may be used " +"to disable this grace period and always prune unreachable objects " +"immediately, or \"never\" may be used to suppress pruning. This feature " +"helps prevent corruption when 'git gc' runs concurrently with another " +"process writing to the repository; see the \"NOTES\" section of linkgit:git-" +"gc[1]." msgstr "" -#. type: Plain text -#: en/git-blame.txt:34 -msgid "" -"The report does not tell you anything about lines which have been deleted or " -"replaced; you need to use a tool such as 'git diff' or the \"pickaxe\" " -"interface briefly mentioned in the following paragraph." +#. type: Labeled list +#: en/config.txt:1497 +#, no-wrap +msgid "gc.worktreePruneExpire" msgstr "" #. type: Plain text -#: en/git-blame.txt:41 +#: en/config.txt:1504 msgid "" -"Apart from supporting file annotation, Git also supports searching the " -"development history for when a code snippet occurred in a change. This makes " -"it possible to track when a code snippet was added to a file, moved or " -"copied between files, and eventually deleted or replaced. It works by " -"searching for a text string in the diff. A small example of the pickaxe " -"interface that searches for `blame_usage`:" +"When 'git gc' is run, it calls 'git worktree prune --expire 3.months.ago'. " +"This config variable can be used to set a different grace period. The value " +"\"now\" may be used to disable the grace period and prune `$GIT_DIR/" +"worktrees` immediately, or \"never\" may be used to suppress pruning." msgstr "" -#. type: delimited block - -#: en/git-blame.txt:46 +#. type: Labeled list +#: en/config.txt:1505 #, no-wrap -msgid "" -"$ git log --pretty=oneline -S'blame_usage'\n" -"5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>\n" -"ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output\n" -msgstr "" - -#. type: Plain text -#: en/git-blame.txt:54 -msgid "Use the same output mode as linkgit:git-annotate[1] (Default: off)." +msgid "gc.reflogExpire" msgstr "" #. type: Labeled list -#: en/git-blame.txt:55 +#: en/config.txt:1506 #, no-wrap -msgid "--score-debug" +msgid "gc.<pattern>.reflogExpire" msgstr "" #. type: Plain text -#: en/git-blame.txt:63 +#: en/config.txt:1513 msgid "" -"Include debugging information related to the movement of lines between files " -"(see `-C`) and lines moved within a file (see `-M`). The first number " -"listed is the score. This is the number of alphanumeric characters detected " -"as having been moved between or within files. This must be above a certain " -"threshold for 'git blame' to consider those lines of code to have been moved." +"'git reflog expire' removes reflog entries older than this time; defaults to " +"90 days. The value \"now\" expires all entries immediately, and \"never\" " +"suppresses expiration altogether. With \"<pattern>\" (e.g. \"refs/stash\") " +"in the middle the setting applies only to the refs that match the <pattern>." msgstr "" #. type: Labeled list -#: en/git-blame.txt:65 +#: en/config.txt:1514 #, no-wrap -msgid "--show-name" +msgid "gc.reflogExpireUnreachable" +msgstr "" + +#. type: Labeled list +#: en/config.txt:1515 +#, no-wrap +msgid "gc.<pattern>.reflogExpireUnreachable" msgstr "" #. type: Plain text -#: en/git-blame.txt:69 +#: en/config.txt:1523 msgid "" -"Show the filename in the original commit. By default the filename is shown " -"if there is any line that came from a file with a different name, due to " -"rename detection." +"'git reflog expire' removes reflog entries older than this time and are not " +"reachable from the current tip; defaults to 30 days. The value \"now\" " +"expires all entries immediately, and \"never\" suppresses expiration " +"altogether. With \"<pattern>\" (e.g. \"refs/stash\") in the middle, the " +"setting applies only to the refs that match the <pattern>." msgstr "" #. type: Labeled list -#: en/git-blame.txt:71 +#: en/config.txt:1524 #, no-wrap -msgid "--show-number" -msgstr "" - -#. type: Plain text -#: en/git-blame.txt:73 -msgid "Show the line number in the original commit (Default: off)." +msgid "gc.rerereResolved" msgstr "" #. type: Plain text -#: en/git-blame.txt:76 -msgid "Suppress the author name and timestamp from the output." +#: en/config.txt:1528 +msgid "" +"Records of conflicted merge you resolved earlier are kept for this many days " +"when 'git rerere gc' is run. The default is 60 days. See linkgit:git-" +"rerere[1]." msgstr "" #. type: Labeled list -#: en/git-blame.txt:78 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--show-email" -msgstr "git-commit(1)" +#: en/config.txt:1529 +#, no-wrap +msgid "gc.rerereUnresolved" +msgstr "" #. type: Plain text -#: en/git-blame.txt:82 +#: en/config.txt:1533 msgid "" -"Show the author email instead of author name (Default: off). This can also " -"be controlled via the `blame.showEmail` config option." +"Records of conflicted merge you have not resolved are kept for this many " +"days when 'git rerere gc' is run. The default is 15 days. See linkgit:git-" +"rerere[1]." msgstr "" #. type: Labeled list -#: en/git-blame.txt:83 en/git-cvsexportcommit.txt:71 en/git-grep.txt:131 -#: en/git-hash-object.txt:31 en/git-help.txt:66 en/diff-options.txt:531 +#: en/config.txt:1534 #, no-wrap -msgid "-w" +msgid "gitcvs.commitMsgAnnotation" msgstr "" #. type: Plain text -#: en/git-blame.txt:86 +#: en/config.txt:1537 msgid "" -"Ignore whitespace when comparing the parent's version and the child's to " -"find where the lines came from." +"Append this string to each commit message. Set to empty string to disable " +"this feature. Defaults to \"via git-CVS emulator\"." msgstr "" #. type: Labeled list -#: en/git-blame.txt:87 en/git-describe.txt:52 +#: en/config.txt:1538 #, no-wrap -msgid "--abbrev=<n>" +msgid "gitcvs.enabled" msgstr "" #. type: Plain text -#: en/git-blame.txt:91 +#: en/config.txt:1541 msgid "" -"Instead of using the default 7+1 hexadecimal digits as the abbreviated " -"object name, use <n>+1 digits. Note that 1 column is used for a caret to " -"mark the boundary commit." +"Whether the CVS server interface is enabled for this repository. See " +"linkgit:git-cvsserver[1]." msgstr "" -#. type: Title - -#: en/git-blame.txt:96 +#. type: Labeled list +#: en/config.txt:1542 #, no-wrap -msgid "THE PORCELAIN FORMAT" +msgid "gitcvs.logFile" msgstr "" #. type: Plain text -#: en/git-blame.txt:100 +#: en/config.txt:1545 msgid "" -"In this format, each line is output after a header; the header at the " -"minimum has the first line which has:" +"Path to a log file where the CVS server interface well... logs various " +"stuff. See linkgit:git-cvsserver[1]." msgstr "" -#. type: Plain text -#: en/git-blame.txt:102 -msgid "40-byte SHA-1 of the commit the line is attributed to;" +#. type: Labeled list +#: en/config.txt:1546 +#, no-wrap +msgid "gitcvs.usecrlfattr" msgstr "" #. type: Plain text -#: en/git-blame.txt:103 -msgid "the line number of the line in the original file;" +#: en/config.txt:1556 +msgid "" +"If true, the server will look up the end-of-line conversion attributes for " +"files to determine the `-k` modes to use. If the attributes force Git to " +"treat a file as text, the `-k` mode will be left blank so CVS clients will " +"treat it as text. If they suppress text conversion, the file will be set " +"with '-kb' mode, which suppresses any newline munging the client might " +"otherwise do. If the attributes do not allow the file type to be determined, " +"then `gitcvs.allBinary` is used. See linkgit:gitattributes[5]." msgstr "" -#. type: Plain text -#: en/git-blame.txt:104 -msgid "the line number of the line in the final file;" +#. type: Labeled list +#: en/config.txt:1557 +#, no-wrap +msgid "gitcvs.allBinary" msgstr "" #. type: Plain text -#: en/git-blame.txt:107 +#: en/config.txt:1566 msgid "" -"on a line that starts a group of lines from a different commit than the " -"previous one, the number of lines in this group. On subsequent lines this " -"field is absent." +"This is used if `gitcvs.usecrlfattr` does not resolve the correct '-kb' mode " +"to use. If true, all unresolved files are sent to the client in mode '-kb'. " +"This causes the client to treat them as binary files, which suppresses any " +"newline munging it otherwise might do. Alternatively, if it is set to \"guess" +"\", then the contents of the file are examined to decide if it is binary, " +"similar to `core.autocrlf`." msgstr "" -#. type: Plain text -#: en/git-blame.txt:110 -msgid "" -"This header line is followed by the following information at least once for " -"each commit:" +#. type: Labeled list +#: en/config.txt:1567 en/git-cvsserver.txt:257 +#, no-wrap +msgid "gitcvs.dbName" msgstr "" #. type: Plain text -#: en/git-blame.txt:114 +#: en/config.txt:1574 msgid "" -"the author name (\"author\"), email (\"author-mail\"), time (\"author-time" -"\"), and time zone (\"author-tz\"); similarly for committer." -msgstr "" - -#. type: Plain text -#: en/git-blame.txt:115 -msgid "the filename in the commit that the line is attributed to." +"Database used by git-cvsserver to cache revision information derived from " +"the Git repository. The exact meaning depends on the used database driver, " +"for SQLite (which is the default driver) this is a filename. Supports " +"variable substitution (see linkgit:git-cvsserver[1] for details). May not " +"contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" msgstr "" -#. type: Plain text -#: en/git-blame.txt:116 -msgid "the first line of the commit log message (\"summary\")." +#. type: Labeled list +#: en/config.txt:1575 en/git-cvsserver.txt:264 +#, no-wrap +msgid "gitcvs.dbDriver" msgstr "" #. type: Plain text -#: en/git-blame.txt:120 +#: en/config.txt:1582 msgid "" -"The contents of the actual line is output after the above header, prefixed " -"by a TAB. This is to allow adding more header elements later." +"Used Perl DBI driver. You can specify any available driver for this here, " +"but it might not work. git-cvsserver is tested with 'DBD::SQLite', reported " +"to work with 'DBD::Pg', and reported *not* to work with 'DBD::mysql'. " +"Experimental feature. May not contain double colons (`:`). Default: " +"'SQLite'. See linkgit:git-cvsserver[1]." msgstr "" -#. type: Plain text -#: en/git-blame.txt:128 -msgid "" -"The porcelain format generally suppresses commit information that has " -"already been seen. For example, two lines that are blamed to the same commit " -"will both be shown, but the details for that commit will be shown only once. " -"This is more efficient, but may require more state be kept by the reader. " -"The `--line-porcelain` option can be used to output full commit information " -"for each line, allowing simpler (but less efficient) usage like:" +#. type: Labeled list +#: en/config.txt:1583 +#, no-wrap +msgid "gitcvs.dbUser, gitcvs.dbPass" msgstr "" #. type: Plain text -#: en/git-blame.txt:133 -#, no-wrap +#: en/config.txt:1588 msgid "" -"\t# count the number of lines attributed to each author\n" -"\tgit blame --line-porcelain file |\n" -"\tsed -n 's/^author //p' |\n" -"\tsort | uniq -c | sort -rn\n" +"Database user and password. Only useful if setting `gitcvs.dbDriver`, since " +"SQLite has no concept of database users and/or passwords. 'gitcvs.dbUser' " +"supports variable substitution (see linkgit:git-cvsserver[1] for details)." msgstr "" -#. type: Title - -#: en/git-blame.txt:136 en/revisions.txt:237 +#. type: Labeled list +#: en/config.txt:1589 en/git-cvsserver.txt:282 #, no-wrap -msgid "SPECIFYING RANGES" +msgid "gitcvs.dbTableNamePrefix" msgstr "" #. type: Plain text -#: en/git-blame.txt:142 +#: en/config.txt:1595 msgid "" -"Unlike 'git blame' and 'git annotate' in older versions of git, the extent " -"of the annotation can be limited to both line ranges and revision ranges. " -"The `-L` option, which limits annotation to a range of lines, may be " -"specified multiple times." +"Database table name prefix. Prepended to the names of any database tables " +"used, allowing a single database to be used for several repositories. " +"Supports variable substitution (see linkgit:git-cvsserver[1] for details). " +"Any non-alphabetic characters will be replaced with underscores." msgstr "" #. type: Plain text -#: en/git-blame.txt:147 +#: en/config.txt:1601 msgid "" -"When you are interested in finding the origin for lines 40-60 for file " -"`foo`, you can use the `-L` option like so (they mean the same thing -- both " -"ask for 21 lines starting at line 40):" +"All gitcvs variables except for `gitcvs.usecrlfattr` and `gitcvs.allBinary` " +"can also be specified as 'gitcvs.<access_method>.<varname>' (where " +"'access_method' is one of \"ext\" and \"pserver\") to make them apply only " +"for the given access method." msgstr "" -#. type: Plain text -#: en/git-blame.txt:150 -#, no-wrap -msgid "" -"\tgit blame -L 40,60 foo\n" -"\tgit blame -L 40,+21 foo\n" -msgstr "" +#. type: Labeled list +#: en/config.txt:1602 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.category" +msgstr "git-add(1)" + +#. type: Labeled list +#: en/config.txt:1603 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.description" +msgstr "git-add(1)" + +#. type: Labeled list +#: en/config.txt:1604 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.owner" +msgstr "git-add(1)" + +#. type: Labeled list +#: en/config.txt:1605 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.url" +msgstr "git-add(1)" #. type: Plain text -#: en/git-blame.txt:152 -msgid "Also you can use a regular expression to specify the line range:" +#: en/config.txt:1607 +msgid "See linkgit:gitweb[1] for description." msgstr "" -#. type: Plain text -#: en/git-blame.txt:154 +#. type: Labeled list +#: en/config.txt:1608 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.avatar" +msgstr "git-add(1)" + +#. type: Labeled list +#: en/config.txt:1609 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.blame" +msgstr "git-add(1)" + +#. type: Labeled list +#: en/config.txt:1610 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.grep" +msgstr "git-add(1)" + +#. type: Labeled list +#: en/config.txt:1611 #, no-wrap -msgid "\tgit blame -L '/^sub hello {/,/^}$/' foo\n" +msgid "gitweb.highlight" msgstr "" -#. type: Plain text -#: en/git-blame.txt:156 -msgid "which limits the annotation to the body of the `hello` subroutine." -msgstr "" +#. type: Labeled list +#: en/config.txt:1612 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.patches" +msgstr "git-add(1)" -#. type: Plain text -#: en/git-blame.txt:160 -msgid "" -"When you are not interested in changes older than version v2.6.18, or " -"changes older than 3 weeks, you can use revision range specifiers similar to " -"'git rev-list':" -msgstr "" +#. type: Labeled list +#: en/config.txt:1613 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.pickaxe" +msgstr "git-add(1)" -#. type: Plain text -#: en/git-blame.txt:163 +#. type: Labeled list +#: en/config.txt:1614 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.remote_heads" +msgstr "git-add(1)" + +#. type: Labeled list +#: en/config.txt:1615 #, no-wrap -msgid "" -"\tgit blame v2.6.18.. -- foo\n" -"\tgit blame --since=3.weeks -- foo\n" +msgid "gitweb.showSizes" msgstr "" -#. type: Plain text -#: en/git-blame.txt:169 -msgid "" -"When revision range specifiers are used to limit the annotation, lines that " -"have not changed since the range boundary (either the commit v2.6.18 or the " -"most recent commit that is more than 3 weeks old in the above example) are " -"blamed for that range boundary commit." -msgstr "" +#. type: Labeled list +#: en/config.txt:1616 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "gitweb.snapshot" +msgstr "git-add(1)" #. type: Plain text -#: en/git-blame.txt:175 -msgid "" -"A particularly useful way is to see if an added file has lines created by " -"copy-and-paste from existing files. Sometimes this indicates that the " -"developer was being sloppy and did not refactor the code properly. You can " -"first find the commit that introduced the file with:" +#: en/config.txt:1618 +msgid "See linkgit:gitweb.conf[5] for description." msgstr "" -#. type: Plain text -#: en/git-blame.txt:177 +#. type: Labeled list +#: en/config.txt:1619 en/git-grep.txt:44 #, no-wrap -msgid "\tgit log --diff-filter=A --pretty=short -- foo\n" +msgid "grep.lineNumber" msgstr "" #. type: Plain text -#: en/git-blame.txt:180 -msgid "" -"and then annotate the change between the commit and its parents, using " -"`commit^!` notation:" +#: en/config.txt:1621 en/git-grep.txt:46 +msgid "If set to true, enable `-n` option by default." msgstr "" -#. type: Plain text -#: en/git-blame.txt:182 +#. type: Labeled list +#: en/config.txt:1622 en/git-grep.txt:47 #, no-wrap -msgid "\tgit blame -C -C -f $commit^! -- foo\n" +msgid "grep.patternType" msgstr "" -#. type: Title - -#: en/git-blame.txt:185 +#. type: Plain text +#: en/config.txt:1627 en/git-grep.txt:52 +msgid "" +"Set the default matching behavior. Using a value of 'basic', 'extended', " +"'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`, `--" +"fixed-strings`, or `--perl-regexp` option accordingly, while the value " +"'default' will return to the default matching behavior." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1628 en/git-grep.txt:53 #, no-wrap -msgid "INCREMENTAL OUTPUT" +msgid "grep.extendedRegexp" msgstr "" #. type: Plain text -#: en/git-blame.txt:192 +#: en/config.txt:1632 en/git-grep.txt:57 msgid "" -"When called with `--incremental` option, the command outputs the result as " -"it is built. The output generally will talk about lines touched by more " -"recent commits first (i.e. the lines will be annotated out of order) and is " -"meant to be used by interactive viewers." +"If set to true, enable `--extended-regexp` option by default. This option is " +"ignored when the `grep.patternType` option is set to a value other than " +"'default'." msgstr "" -#. type: Plain text -#: en/git-blame.txt:196 -msgid "" -"The output format is similar to the Porcelain format, but it does not " -"contain the actual lines from the file that is being annotated." +#. type: Labeled list +#: en/config.txt:1633 en/git-grep.txt:58 +#, no-wrap +msgid "grep.threads" msgstr "" #. type: Plain text -#: en/git-blame.txt:198 -msgid "Each blame entry always starts with a line of:" +#: en/config.txt:1636 +msgid "" +"Number of grep worker threads to use. See `grep.threads` in linkgit:git-" +"grep[1] for more information." msgstr "" -#. type: Plain text -#: en/git-blame.txt:200 +#. type: Labeled list +#: en/config.txt:1637 en/git-grep.txt:65 #, no-wrap -msgid "<40-byte hex sha1> <sourceline> <resultline> <num_lines>\n" +msgid "grep.fallbackToNoIndex" msgstr "" #. type: Plain text -#: en/git-blame.txt:202 -msgid "Line numbers count from 1." +#: en/config.txt:1640 en/git-grep.txt:68 +msgid "" +"If set to true, fall back to git grep --no-index if git grep is executed " +"outside of a git repository. Defaults to false." msgstr "" -#. type: Plain text -#: en/git-blame.txt:207 -msgid "" -"The first time that a commit shows up in the stream, it has various other " -"information about it printed out with a one-word tag at the beginning of " -"each line describing the extra commit information (author, email, committer, " -"dates, summary, etc.)." +#. type: Labeled list +#: en/config.txt:1641 +#, no-wrap +msgid "gpg.program" msgstr "" #. type: Plain text -#: en/git-blame.txt:210 +#: en/config.txt:1651 msgid "" -"Unlike the Porcelain format, the filename information is always given and " -"terminates the entry:" +"Use this custom program instead of \"`gpg`\" found on `$PATH` when making or " +"verifying a PGP signature. The program must support the same command-line " +"interface as GPG, namely, to verify a detached signature, \"`gpg --verify " +"$file - <$signature`\" is run, and the program is expected to signal a good " +"signature by exiting with code 0, and to generate an ASCII-armored detached " +"signature, the standard input of \"`gpg -bsau $key`\" is fed with the " +"contents to be signed, and the program is expected to send the result to its " +"standard output." msgstr "" -#. type: Plain text -#: en/git-blame.txt:212 +#. type: Labeled list +#: en/config.txt:1652 #, no-wrap -msgid "\"filename\" <whitespace-quoted-filename-goes-here>\n" +msgid "gui.commitMsgWidth" msgstr "" #. type: Plain text -#: en/git-blame.txt:215 +#: en/config.txt:1655 msgid "" -"and thus it is really quite easy to parse for some line- and word-oriented " -"parser (which should be quite natural for most scripting languages)." +"Defines how wide the commit message window is in the linkgit:git-gui[1]. " +"\"75\" is the default." msgstr "" +#. type: Labeled list +#: en/config.txt:1656 +#, fuzzy, no-wrap +#| msgid "new content" +msgid "gui.diffContext" +msgstr "contenu nouveau" + #. type: Plain text -#: en/git-blame.txt:223 +#: en/config.txt:1659 msgid "" -"For people who do parsing: to make it more robust, just ignore any lines " -"between the first and last one (\"<sha1>\" and \"filename\" lines) where " -"you do not recognize the tag words (or care about that particular one) at " -"the beginning of the \"extended information\" lines. That way, if there is " -"ever added information (like the commit encoding or extended commit " -"commentary), a blame viewer will not care." +"Specifies how many context lines should be used in calls to diff made by the " +"linkgit:git-gui[1]. The default is \"5\"." msgstr "" -#. type: Title - -#: en/git-blame.txt:226 en/git-check-mailmap.txt:40 en/git-shortlog.txt:80 +#. type: Labeled list +#: en/config.txt:1660 #, no-wrap -msgid "MAPPING AUTHORS" +msgid "gui.displayUntracked" +msgstr "" + +#. type: Plain text +#: en/config.txt:1663 +msgid "" +"Determines if linkgit:git-gui[1] shows untracked files in the file list. The " +"default is \"true\"." msgstr "" #. type: Labeled list -#: en/git-blame.txt:234 en/cmds-ancillaryinterrogators.txt:1 +#: en/config.txt:1664 #, no-wrap -msgid "linkgit:git-annotate[1]" +msgid "gui.encoding" msgstr "" -#. type: Title = -#: en/git-branch.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-branch(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-branch.txt:7 -msgid "git-branch - List, create, or delete branches" +#: en/config.txt:1671 +msgid "" +"Specifies the default encoding to use for displaying of file contents in " +"linkgit:git-gui[1] and linkgit:gitk[1]. It can be overridden by setting the " +"'encoding' attribute for relevant files (see linkgit:gitattributes[5]). If " +"this option is not set, the tools default to the locale encoding." msgstr "" -#. type: Plain text -#: en/git-branch.txt:22 +#. type: Labeled list +#: en/config.txt:1672 #, no-wrap -msgid "" -"'git branch' [--color[=<when>] | --no-color] [-r | -a]\n" -"\t[--list] [-v [--abbrev=<length> | --no-abbrev]]\n" -"\t[--column[=<options>] | --no-column]\n" -"\t[(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]\n" -"\t[--points-at <object>] [--format=<format>] [<pattern>...]\n" -"'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]\n" -"'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]\n" -"'git branch' --unset-upstream [<branchname>]\n" -"'git branch' (-m | -M) [<oldbranch>] <newbranch>\n" -"'git branch' (-d | -D) [-r] <branchname>...\n" -"'git branch' --edit-description [<branchname>]\n" +msgid "gui.matchTrackingBranch" msgstr "" #. type: Plain text -#: en/git-branch.txt:35 +#: en/config.txt:1676 msgid "" -"If `--list` is given, or if there are no non-option arguments, existing " -"branches are listed; the current branch will be highlighted with an " -"asterisk. Option `-r` causes the remote-tracking branches to be listed, and " -"option `-a` shows both local and remote branches. If a `<pattern>` is given, " -"it is used as a shell wildcard to restrict the output to matching branches. " -"If multiple patterns are given, a branch is shown if it matches any of the " -"patterns. Note that when providing a `<pattern>`, you must use `--list`; " -"otherwise the command is interpreted as branch creation." +"Determines if new branches created with linkgit:git-gui[1] should default to " +"tracking remote branches with matching names or not. Default: \"false\"." msgstr "" -#. type: Plain text -#: en/git-branch.txt:43 -msgid "" -"With `--contains`, shows only the branches that contain the named commit (in " -"other words, the branches whose tip commits are descendants of the named " -"commit). With `--merged`, only branches merged into the named commit (i.e. " -"the branches whose tip commits are reachable from the named commit) will be " -"listed. With `--no-merged` only branches not merged into the named commit " -"will be listed. If the <commit> argument is missing it defaults to `HEAD` " -"(i.e. the tip of the current branch)." +#. type: Labeled list +#: en/config.txt:1677 +#, no-wrap +msgid "gui.newBranchTemplate" msgstr "" #. type: Plain text -#: en/git-branch.txt:46 +#: en/config.txt:1680 msgid "" -"The command's second form creates a new branch head named <branchname> which " -"points to the current `HEAD`, or <start-point> if given." +"Is used as suggested name when creating new branches using the linkgit:git-" +"gui[1]." msgstr "" -#. type: Plain text -#: en/git-branch.txt:50 -msgid "" -"Note that this will create the new branch, but it will not switch the " -"working tree to it; use \"git checkout <newbranch>\" to switch to the new " -"branch." +#. type: Labeled list +#: en/config.txt:1681 +#, no-wrap +msgid "gui.pruneDuringFetch" msgstr "" #. type: Plain text -#: en/git-branch.txt:58 +#: en/config.txt:1684 msgid "" -"When a local branch is started off a remote-tracking branch, Git sets up the " -"branch (specifically the `branch.<name>.remote` and `branch.<name>.merge` " -"configuration entries) so that 'git pull' will appropriately merge from the " -"remote-tracking branch. This behavior may be changed via the global `branch." -"autoSetupMerge` configuration flag. That setting can be overridden by using " -"the `--track` and `--no-track` options, and changed later using `git branch " -"--set-upstream-to`." +"\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when " +"performing a fetch. The default value is \"false\"." msgstr "" -#. type: Plain text -#: en/git-branch.txt:64 -msgid "" -"With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>. If " -"<oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, " -"and a reflog entry is created to remember the branch renaming. If " -"<newbranch> exists, -M must be used to force the rename to happen." +#. type: Labeled list +#: en/config.txt:1685 +#, no-wrap +msgid "gui.trustmtime" msgstr "" #. type: Plain text -#: en/git-branch.txt:68 +#: en/config.txt:1688 msgid "" -"With a `-d` or `-D` option, `<branchname>` will be deleted. You may specify " -"more than one branch for deletion. If the branch currently has a reflog " -"then the reflog will also be deleted." +"Determines if linkgit:git-gui[1] should trust the file modification " +"timestamp or not. By default the timestamps are not trusted." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1689 +#, no-wrap +msgid "gui.spellingDictionary" msgstr "" #. type: Plain text -#: en/git-branch.txt:74 +#: en/config.txt:1693 msgid "" -"Use `-r` together with `-d` to delete remote-tracking branches. Note, that " -"it only makes sense to delete remote-tracking branches if they no longer " -"exist in the remote repository or if 'git fetch' was configured not to fetch " -"them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a " -"way to clean up all obsolete remote-tracking branches." +"Specifies the dictionary used for spell checking commit messages in the " +"linkgit:git-gui[1]. When set to \"none\" spell checking is turned off." msgstr "" #. type: Labeled list -#: en/git-branch.txt:78 en/git-clean.txt:28 en/git-cvsexportcommit.txt:49 -#: en/git-difftool.txt:22 en/git-http-push.txt:44 en/git-instaweb.txt:27 -#: en/git-ls-files.txt:39 en/git-ls-tree.txt:41 en/git-repack.txt:55 -#: en/git-replace.txt:64 en/git-show-ref.txt:47 en/git-symbolic-ref.txt:35 -#: en/git-tag.txt:75 +#: en/config.txt:1694 #, no-wrap -msgid "-d" +msgid "gui.fastCopyBlame" +msgstr "" + +#. type: Plain text +#: en/config.txt:1698 +msgid "" +"If true, 'git gui blame' uses `-C` instead of `-C -C` for original location " +"detection. It makes blame significantly faster on huge repositories at the " +"expense of less thorough copy detection." msgstr "" #. type: Labeled list -#: en/git-branch.txt:79 en/git-push.txt:126 en/git-replace.txt:65 -#: en/git-symbolic-ref.txt:36 en/git-tag.txt:76 +#: en/config.txt:1699 #, no-wrap -msgid "--delete" +msgid "gui.copyBlameThreshold" msgstr "" #. type: Plain text -#: en/git-branch.txt:83 +#: en/config.txt:1703 msgid "" -"Delete a branch. The branch must be fully merged in its upstream branch, or " -"in `HEAD` if no upstream was set with `--track` or `--set-upstream`." +"Specifies the threshold to use in 'git gui blame' original location " +"detection, measured in alphanumeric characters. See the linkgit:git-blame[1] " +"manual for more information on copy detection." msgstr "" #. type: Labeled list -#: en/git-branch.txt:84 en/git-http-push.txt:45 en/diff-options.txt:389 +#: en/config.txt:1704 #, no-wrap -msgid "-D" +msgid "gui.blamehistoryctx" msgstr "" #. type: Plain text -#: en/git-branch.txt:86 -msgid "Shortcut for `--delete --force`." +#: en/config.txt:1709 +msgid "" +"Specifies the radius of history context in days to show in linkgit:gitk[1] " +"for the selected commit, when the `Show History Context` menu item is " +"invoked from 'git gui blame'. If this variable is set to zero, the whole " +"history is shown." msgstr "" #. type: Labeled list -#: en/git-branch.txt:88 en/git-tag.txt:152 +#: en/config.txt:1710 #, no-wrap -msgid "--create-reflog" +msgid "guitool.<name>.cmd" msgstr "" #. type: Plain text -#: en/git-branch.txt:97 +#: en/config.txt:1718 msgid "" -"Create the branch's reflog. This activates recording of all changes made to " -"the branch ref, enabling use of date based sha1 expressions such as " -"\"<branchname>@\\{yesterday}\". Note that in non-bare repositories, reflogs " -"are usually enabled by default by the `core.logallrefupdates` config " -"option. The negated form `--no-create-reflog` only overrides an earlier `--" -"create-reflog`, but currently does not negate the setting of `core." -"logallrefupdates`." +"Specifies the shell command line to execute when the corresponding item of " +"the linkgit:git-gui[1] `Tools` menu is invoked. This option is mandatory for " +"every tool. The command is executed from the root of the working directory, " +"and in the environment it receives the name of the tool as `GIT_GUITOOL`, " +"the name of the currently selected file as 'FILENAME', and the name of the " +"current branch as 'CUR_BRANCH' (if the head is detached, 'CUR_BRANCH' is " +"empty)." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1719 +#, no-wrap +msgid "guitool.<name>.needsFile" msgstr "" #. type: Plain text -#: en/git-branch.txt:106 +#: en/config.txt:1722 msgid "" -"Reset <branchname> to <startpoint> if <branchname> exists already. Without `-" -"f` 'git branch' refuses to change an existing branch. In combination with `-" -"d` (or `--delete`), allow deleting the branch irrespective of its merged " -"status. In combination with `-m` (or `--move`), allow renaming the branch " -"even if the new branch name already exists." +"Run the tool only if a diff is selected in the GUI. It guarantees that " +"'FILENAME' is not empty." msgstr "" #. type: Labeled list -#: en/git-branch.txt:108 +#: en/config.txt:1723 #, no-wrap -msgid "--move" +msgid "guitool.<name>.noConsole" msgstr "" #. type: Plain text -#: en/git-branch.txt:110 -msgid "Move/rename a branch and the corresponding reflog." +#: en/config.txt:1726 +msgid "" +"Run the command silently, without creating a window to display its output." msgstr "" #. type: Labeled list -#: en/git-branch.txt:111 en/git-fast-export.txt:53 en/git-p4.txt:280 +#: en/config.txt:1727 #, no-wrap -msgid "-M" +msgid "guitool.<name>.noRescan" msgstr "" #. type: Plain text -#: en/git-branch.txt:113 -msgid "Shortcut for `--move --force`." +#: en/config.txt:1730 +msgid "" +"Don't rescan the working directory for changes after the tool finishes " +"execution." msgstr "" #. type: Labeled list -#: en/git-branch.txt:114 en/git-grep.txt:206 en/git-show-branch.txt:119 -#: en/diff-options.txt:218 +#: en/config.txt:1731 #, no-wrap -msgid "--color[=<when>]" +msgid "guitool.<name>.confirm" msgstr "" #. type: Plain text -#: en/git-branch.txt:118 -msgid "" -"Color branches to highlight current, local, and remote-tracking branches. " -"The value must be always (the default), never, or auto." +#: en/config.txt:1733 +msgid "Show a confirmation dialog before actually running the tool." msgstr "" #. type: Labeled list -#: en/git-branch.txt:119 en/git-grep.txt:210 en/git-show-branch.txt:124 -#: en/diff-options.txt:227 +#: en/config.txt:1734 #, no-wrap -msgid "--no-color" +msgid "guitool.<name>.argPrompt" msgstr "" #. type: Plain text -#: en/git-branch.txt:123 +#: en/config.txt:1741 msgid "" -"Turn off branch colors, even when the configuration file gives the default " -"to color output. Same as `--color=never`." +"Request a string argument from the user, and pass it to the tool through the " +"`ARGS` environment variable. Since requesting an argument implies " +"confirmation, the 'confirm' option has no effect if this is enabled. If the " +"option is set to 'true', 'yes', or '1', the dialog uses a built-in generic " +"prompt; otherwise the exact value of the variable is used." msgstr "" #. type: Labeled list -#: en/git-branch.txt:125 en/git-for-each-ref.txt:82 en/git-grep.txt:117 -#: en/git-tag.txt:112 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "--ignore-case" -msgstr "whitespace" +#: en/config.txt:1742 +#, no-wrap +msgid "guitool.<name>.revPrompt" +msgstr "" #. type: Plain text -#: en/git-branch.txt:127 -msgid "Sorting and filtering branches are case insensitive." +#: en/config.txt:1746 +msgid "" +"Request a single valid revision from the user, and set the `REVISION` " +"environment variable. In other aspects this option is similar to " +"'argPrompt', and can be used together with it." msgstr "" #. type: Labeled list -#: en/git-branch.txt:128 en/git-status.txt:104 en/git-tag.txt:115 +#: en/config.txt:1747 #, no-wrap -msgid "--column[=<options>]" +msgid "guitool.<name>.revUnmerged" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:129 en/git-status.txt:105 en/git-tag.txt:116 -#, fuzzy, no-wrap -#| msgid "status" -msgid "--no-column" -msgstr "status" - #. type: Plain text -#: en/git-branch.txt:133 +#: en/config.txt:1751 msgid "" -"Display branch listing in columns. See configuration variable column.branch " -"for option syntax.`--column` and `--no-column` without options are " -"equivalent to 'always' and 'never' respectively." -msgstr "" - -#. type: Plain text -#: en/git-branch.txt:135 -msgid "This option is only applicable in non-verbose mode." +"Show only unmerged branches in the 'revPrompt' subdialog. This is useful " +"for tools similar to merge or rebase, but not for things like checkout or " +"reset." msgstr "" #. type: Labeled list -#: en/git-branch.txt:137 en/git-show-branch.txt:44 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--remotes" -msgstr "git-commit(1)" +#: en/config.txt:1752 +#, no-wrap +msgid "guitool.<name>.title" +msgstr "" #. type: Plain text -#: en/git-branch.txt:139 -msgid "List or delete (if used with -d) the remote-tracking branches." +#: en/config.txt:1755 +msgid "" +"Specifies the title to use for the prompt dialog. The default is the tool " +"name." msgstr "" -#. type: Plain text -#: en/git-branch.txt:143 -msgid "List both remote-tracking branches and local branches." +#. type: Labeled list +#: en/config.txt:1756 +#, no-wrap +msgid "guitool.<name>.prompt" msgstr "" #. type: Plain text -#: en/git-branch.txt:147 +#: en/config.txt:1760 msgid "" -"Activate the list mode. `git branch <pattern>` would try to create a branch, " -"use `git branch --list <pattern>` to list matching branches." +"Specifies the general prompt string to display at the top of the dialog, " +"before subsections for 'argPrompt' and 'revPrompt'. The default value " +"includes the actual command." msgstr "" #. type: Labeled list -#: en/git-branch.txt:149 +#: en/config.txt:1761 #, no-wrap -msgid "-vv" +msgid "help.browser" msgstr "" #. type: Plain text -#: en/git-branch.txt:156 +#: en/config.txt:1764 msgid "" -"When in list mode, show sha1 and commit subject line for each head, along " -"with relationship to upstream branch (if any). If given twice, print the " -"name of the upstream branch, as well (see also `git remote show <remote>`)." +"Specify the browser that will be used to display help in the 'web' format. " +"See linkgit:git-help[1]." msgstr "" +#. type: Title ~ +#: en/config.txt:1765 en/git-help.txt:81 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "help.format" +msgstr "Configuration" + #. type: Plain text -#: en/git-branch.txt:161 +#: en/config.txt:1769 msgid "" -"Be more quiet when creating or deleting a branch, suppressing non-error " -"messages." +"Override the default help format used by linkgit:git-help[1]. Values 'man', " +"'info', 'web' and 'html' are supported. 'man' is the default. 'web' and " +"'html' are the same." msgstr "" #. type: Labeled list -#: en/git-branch.txt:162 +#: en/config.txt:1770 #, no-wrap -msgid "--abbrev=<length>" +msgid "help.autoCorrect" msgstr "" #. type: Plain text -#: en/git-branch.txt:166 +#: en/config.txt:1778 msgid "" -"Alter the sha1's minimum display length in the output listing. The default " -"value is 7 and can be overridden by the `core.abbrev` config option." +"Automatically correct and execute mistyped commands after waiting for the " +"given number of deciseconds (0.1 sec). If more than one command can be " +"deduced from the entered text, nothing will be executed. If the value of " +"this option is negative, the corrected command will be executed immediately. " +"If the value is 0 - the command will be just shown but not executed. This " +"is the default." msgstr "" #. type: Labeled list -#: en/git-branch.txt:167 +#: en/config.txt:1779 #, no-wrap -msgid "--no-abbrev" +msgid "help.htmlPath" msgstr "" #. type: Plain text -#: en/git-branch.txt:169 +#: en/config.txt:1784 msgid "" -"Display the full sha1s in the output listing rather than abbreviating them." +"Specify the path where the HTML documentation resides. File system paths and " +"URLs are supported. HTML pages will be prefixed with this path when help is " +"displayed in the 'web' format. This defaults to the documentation path of " +"your Git installation." msgstr "" #. type: Labeled list -#: en/git-branch.txt:170 en/git-cat-file.txt:36 en/git-checkout.txt:155 -#: en/git-diff-tree.txt:42 en/git-http-fetch.txt:29 en/git-ls-files.txt:112 -#: en/git-ls-remote.txt:26 en/git-ls-tree.txt:47 en/git-svn.txt:296 -#: en/blame-options.txt:25 en/fetch-options.txt:98 en/rev-list-options.txt:890 +#: en/config.txt:1785 #, no-wrap -msgid "-t" +msgid "http.proxy" +msgstr "" + +#. type: Plain text +#: en/config.txt:1794 +msgid "" +"Override the HTTP proxy, normally configured using the 'http_proxy', " +"'https_proxy', and 'all_proxy' environment variables (see `curl(1)`). In " +"addition to the syntax understood by curl, it is possible to specify a proxy " +"string with a user name but no password, in which case git will attempt to " +"acquire one in the same way it does for other credentials. See linkgit:" +"gitcredentials[7] for more information. The syntax thus is '[protocol://]" +"[user[:password]@]proxyhost[:port]'. This can be overridden on a per-remote " +"basis; see remote.<name>.proxy" msgstr "" #. type: Labeled list -#: en/git-branch.txt:171 en/git-checkout.txt:156 +#: en/config.txt:1795 #, no-wrap -msgid "--track" +msgid "http.proxyAuthMethod" msgstr "" #. type: Plain text -#: en/git-branch.txt:179 +#: en/config.txt:1802 msgid "" -"When creating a new branch, set up `branch.<name>.remote` and `branch.<name>." -"merge` configuration entries to mark the start-point branch as \"upstream\" " -"from the new branch. This configuration will tell git to show the " -"relationship between the two branches in `git status` and `git branch -v`. " -"Furthermore, it directs `git pull` without arguments to pull from the " -"upstream when the new branch is checked out." +"Set the method with which to authenticate against the HTTP proxy. This only " +"takes effect if the configured proxy string contains a user name part (i.e. " +"is of the form 'user@host' or 'user@host:port'). This can be overridden on a " +"per-remote basis; see `remote.<name>.proxyAuthMethod`. Both can be " +"overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment variable. " +"Possible values are:" msgstr "" #. type: Plain text -#: en/git-branch.txt:185 +#: en/config.txt:1808 msgid "" -"This behavior is the default when the start point is a remote-tracking " -"branch. Set the branch.autoSetupMerge configuration variable to `false` if " -"you want `git checkout` and `git branch` to always behave as if `--no-track` " -"were given. Set it to `always` if you want this behavior when the start-" -"point is either a local or remote-tracking branch." +"`anyauth` - Automatically pick a suitable authentication method. It is " +"assumed that the proxy answers an unauthenticated request with a 407 status " +"code and one or more Proxy-authenticate headers with supported " +"authentication methods. This is the default." msgstr "" -#. type: Labeled list -#: en/git-branch.txt:186 en/git-checkout.txt:170 -#, no-wrap -msgid "--no-track" +#. type: Plain text +#: en/config.txt:1809 +msgid "`basic` - HTTP Basic authentication" msgstr "" #. type: Plain text -#: en/git-branch.txt:189 en/git-checkout.txt:173 +#: en/config.txt:1811 msgid "" -"Do not set up \"upstream\" configuration, even if the branch.autoSetupMerge " -"configuration variable is true." -msgstr "" - -#. type: Labeled list -#: en/git-branch.txt:190 en/git-push.txt:246 -#, no-wrap -msgid "--set-upstream" +"`digest` - HTTP Digest authentication; this prevents the password from being " +"transmitted to the proxy in clear text" msgstr "" #. type: Plain text -#: en/git-branch.txt:195 +#: en/config.txt:1813 msgid "" -"If specified branch does not exist yet or if `--force` has been given, acts " -"exactly like `--track`. Otherwise sets up configuration like `--track` would " -"when creating the branch, except that where branch points to is not changed." +"`negotiate` - GSS-Negotiate authentication (compare the --negotiate option " +"of `curl(1)`)" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:196 -#, no-wrap -msgid "-u <upstream>" +#. type: Plain text +#: en/config.txt:1814 +msgid "`ntlm` - NTLM authentication (compare the --ntlm option of `curl(1)`)" msgstr "" #. type: Labeled list -#: en/git-branch.txt:197 +#: en/config.txt:1816 #, no-wrap -msgid "--set-upstream-to=<upstream>" +msgid "http.emptyAuth" msgstr "" #. type: Plain text -#: en/git-branch.txt:201 +#: en/config.txt:1821 msgid "" -"Set up <branchname>'s tracking information so <upstream> is considered " -"<branchname>'s upstream branch. If no <branchname> is specified, then it " -"defaults to the current branch." +"Attempt authentication without seeking a username or password. This can be " +"used to attempt GSS-Negotiate authentication without specifying a username " +"in the URL, as libcurl normally requires a username for authentication." msgstr "" #. type: Labeled list -#: en/git-branch.txt:202 +#: en/config.txt:1822 #, no-wrap -msgid "--unset-upstream" +msgid "http.delegation" msgstr "" #. type: Plain text -#: en/git-branch.txt:205 +#: en/config.txt:1827 msgid "" -"Remove the upstream information for <branchname>. If no branch is specified " -"it defaults to the current branch." +"Control GSSAPI credential delegation. The delegation is disabled by default " +"in libcurl since version 7.21.7. Set parameter to tell the server what it is " +"allowed to delegate when it comes to user credentials. Used with GSS/" +"kerberos. Possible values are:" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:206 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--edit-description" -msgstr "git-add(1)" +#. type: Plain text +#: en/config.txt:1830 +msgid "`none` - Don't allow any delegation." +msgstr "" #. type: Plain text -#: en/git-branch.txt:211 +#: en/config.txt:1832 msgid "" -"Open an editor and edit the text to explain what the branch is for, to be " -"used by various other commands (e.g. `format-patch`, `request-pull`, and " -"`merge` (if enabled)). Multi-line explanations may be used." +"`policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the " +"Kerberos service ticket, which is a matter of realm policy." +msgstr "" + +#. type: Plain text +#: en/config.txt:1833 +msgid "`always` - Unconditionally allow the server to delegate." msgstr "" #. type: Labeled list -#: en/git-branch.txt:212 en/git-tag.txt:123 +#: en/config.txt:1836 #, no-wrap -msgid "--contains [<commit>]" +msgid "http.extraHeader" msgstr "" #. type: Plain text -#: en/git-branch.txt:215 +#: en/config.txt:1841 msgid "" -"Only list branches which contain the specified commit (HEAD if not " -"specified). Implies `--list`." +"Pass an additional HTTP header when communicating with a server. If more " +"than one such entry exists, all of them are added as extra headers. To " +"allow overriding the settings inherited from the system config, an empty " +"value will reset the extra headers to the empty list." msgstr "" #. type: Labeled list -#: en/git-branch.txt:216 +#: en/config.txt:1842 #, no-wrap -msgid "--merged [<commit>]" +msgid "http.cookieFile" msgstr "" #. type: Plain text -#: en/git-branch.txt:219 +#: en/config.txt:1850 msgid "" -"Only list branches whose tips are reachable from the specified commit (HEAD " -"if not specified). Implies `--list`." +"The pathname of a file containing previously stored cookie lines, which " +"should be used in the Git http session, if they match the server. The file " +"format of the file to read cookies from should be plain HTTP headers or the " +"Netscape/Mozilla cookie file format (see `curl(1)`). NOTE that the file " +"specified with http.cookieFile is used only as input unless http.saveCookies " +"is set." msgstr "" #. type: Labeled list -#: en/git-branch.txt:220 +#: en/config.txt:1851 #, no-wrap -msgid "--no-merged [<commit>]" +msgid "http.saveCookies" msgstr "" #. type: Plain text -#: en/git-branch.txt:223 +#: en/config.txt:1854 msgid "" -"Only list branches whose tips are not reachable from the specified commit " -"(HEAD if not specified). Implies `--list`." +"If set, store cookies received during requests to the file specified by http." +"cookieFile. Has no effect if http.cookieFile is unset." msgstr "" #. type: Labeled list -#: en/git-branch.txt:224 +#: en/config.txt:1855 #, no-wrap -msgid "<branchname>" +msgid "http.sslVersion" msgstr "" #. type: Plain text -#: en/git-branch.txt:229 +#: en/config.txt:1864 msgid "" -"The name of the branch to create or delete. The new branch name must pass " -"all checks defined by linkgit:git-check-ref-format[1]. Some of these checks " -"may restrict the characters allowed in a branch name." +"The SSL version to use when negotiating an SSL connection, if you want to " +"force the default. The available and default version depend on whether " +"libcurl was built against NSS or OpenSSL and the particular configuration of " +"the crypto library in use. Internally this sets the 'CURLOPT_SSL_VERSION' " +"option; see the libcurl documentation for more details on the format of this " +"option and for the ssl version supported. Actually the possible values of " +"this option are:" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:230 -#, no-wrap -msgid "<start-point>" +#. type: Plain text +#: en/config.txt:1866 +msgid "sslv2" msgstr "" #. type: Plain text -#: en/git-branch.txt:234 -msgid "" -"The new branch head will point to this commit. It may be given as a branch " -"name, a commit-id, or a tag. If this option is omitted, the current HEAD " -"will be used instead." +#: en/config.txt:1867 +msgid "sslv3" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:235 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "<oldbranch>" -msgstr "Mode interactif" - #. type: Plain text -#: en/git-branch.txt:237 -msgid "The name of an existing branch to rename." +#: en/config.txt:1868 +msgid "tlsv1" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:238 -#, no-wrap -msgid "<newbranch>" +#. type: Plain text +#: en/config.txt:1869 +msgid "tlsv1.0" msgstr "" #. type: Plain text -#: en/git-branch.txt:241 -msgid "" -"The new name for an existing branch. The same restrictions as for " -"<branchname> apply." +#: en/config.txt:1870 +msgid "tlsv1.1" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:242 en/git-tag.txt:98 -#, no-wrap -msgid "--sort=<key>" +#. type: Plain text +#: en/config.txt:1871 +msgid "tlsv1.2" msgstr "" #. type: Plain text -#: en/git-branch.txt:251 +#: en/config.txt:1877 msgid "" -"Sort based on the key given. Prefix `-` to sort in descending order of the " -"value. You may use the --sort=<key> option multiple times, in which case the " -"last key becomes the primary key. The keys supported are the same as those " -"in `git for-each-ref`. Sort order defaults to sorting based on the full " -"refname (including `refs/...` prefix). This lists detached HEAD (if present) " -"first, then local branches and finally remote-tracking branches." +"Can be overridden by the `GIT_SSL_VERSION` environment variable. To force " +"git to use libcurl's default ssl version and ignore any explicit http." +"sslversion option, set `GIT_SSL_VERSION` to the empty string." msgstr "" #. type: Labeled list -#: en/git-branch.txt:253 en/git-for-each-ref.txt:67 en/git-tag.txt:127 +#: en/config.txt:1878 #, no-wrap -msgid "--points-at <object>" +msgid "http.sslCipherList" msgstr "" #. type: Plain text -#: en/git-branch.txt:255 -msgid "Only list branches of the given object." +#: en/config.txt:1885 +msgid "" +"A list of SSL ciphers to use when negotiating an SSL connection. The " +"available ciphers depend on whether libcurl was built against NSS or OpenSSL " +"and the particular configuration of the crypto library in use. Internally " +"this sets the 'CURLOPT_SSL_CIPHER_LIST' option; see the libcurl " +"documentation for more details on the format of this list." msgstr "" -#. type: Labeled list -#: en/git-branch.txt:256 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--format <format>" -msgstr "Configuration" - #. type: Plain text -#: en/git-branch.txt:260 +#: en/config.txt:1890 msgid "" -"A string that interpolates `%(fieldname)` from the object pointed at by a " -"ref being shown. The format is the same as that of linkgit:git-for-each-" -"ref[1]." -msgstr "" - -#. type: Title - -#: en/git-branch.txt:262 en/git-clone.txt:258 en/git-filter-branch.txt:214 -#: en/git-grep.txt:298 en/git-gui.txt:52 en/git-imap-send.txt:106 -#: en/git-push.txt:467 en/git-remote.txt:203 en/git-update-index.txt:337 -#: en/git-whatchanged.txt:29 -#, no-wrap -msgid "Examples" +"Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable. To " +"force git to use libcurl's default cipher list and ignore any explicit http." +"sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the empty string." msgstr "" #. type: Labeled list -#: en/git-branch.txt:264 -#, no-wrap -msgid "Start development from a known tag" -msgstr "" - -#. type: delimited block - -#: en/git-branch.txt:271 +#: en/config.txt:1891 #, no-wrap -msgid "" -"$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6\n" -"$ cd my2.6\n" -"$ git branch my2.6.14 v2.6.14 <1>\n" -"$ git checkout my2.6.14\n" +msgid "http.sslVerify" msgstr "" #. type: Plain text -#: en/git-branch.txt:275 +#: en/config.txt:1895 msgid "" -"This step and the next one could be combined into a single step with " -"\"checkout -b my2.6.14 v2.6.14\"." +"Whether to verify the SSL certificate when fetching or pushing over HTTPS. " +"Can be overridden by the `GIT_SSL_NO_VERIFY` environment variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:276 +#: en/config.txt:1896 #, no-wrap -msgid "Delete an unneeded branch" +msgid "http.sslCert" msgstr "" -#. type: delimited block - -#: en/git-branch.txt:283 -#, no-wrap +#. type: Plain text +#: en/config.txt:1900 msgid "" -"$ git clone git://git.kernel.org/.../git.git my.git\n" -"$ cd my.git\n" -"$ git branch -d -r origin/todo origin/html origin/man <1>\n" -"$ git branch -D test <2>\n" +"File containing the SSL certificate when fetching or pushing over HTTPS. Can " +"be overridden by the `GIT_SSL_CERT` environment variable." msgstr "" -#. type: Plain text -#: en/git-branch.txt:288 -msgid "" -"Delete the remote-tracking branches \"todo\", \"html\" and \"man\". The next " -"'fetch' or 'pull' will create them again unless you configure them not to. " -"See linkgit:git-fetch[1]." +#. type: Labeled list +#: en/config.txt:1901 +#, no-wrap +msgid "http.sslKey" msgstr "" #. type: Plain text -#: en/git-branch.txt:290 +#: en/config.txt:1905 msgid "" -"Delete the \"test\" branch even if the \"master\" branch (or whichever " -"branch is currently checked out) does not have all commits from the test " -"branch." +"File containing the SSL private key when fetching or pushing over HTTPS. Can " +"be overridden by the `GIT_SSL_KEY` environment variable." msgstr "" -#. type: Title - -#: en/git-branch.txt:293 en/git-filter-branch.txt:431 en/git-gc.txt:138 -#: en/git-prune.txt:68 +#. type: Labeled list +#: en/config.txt:1906 #, no-wrap -msgid "Notes" +msgid "http.sslCertPasswordProtected" msgstr "" #. type: Plain text -#: en/git-branch.txt:298 +#: en/config.txt:1911 msgid "" -"If you are creating a branch that you want to checkout immediately, it is " -"easier to use the git checkout command with its `-b` option to create a " -"branch and check it out with a single command." +"Enable Git's password prompt for the SSL certificate. Otherwise OpenSSL " +"will prompt the user, possibly many times, if the certificate or private key " +"is encrypted. Can be overridden by the `GIT_SSL_CERT_PASSWORD_PROTECTED` " +"environment variable." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1912 +#, no-wrap +msgid "http.sslCAInfo" msgstr "" #. type: Plain text -#: en/git-branch.txt:301 +#: en/config.txt:1916 msgid "" -"The options `--contains`, `--merged` and `--no-merged` serve three related " -"but different purposes:" +"File containing the certificates to verify the peer with when fetching or " +"pushing over HTTPS. Can be overridden by the `GIT_SSL_CAINFO` environment " +"variable." msgstr "" -#. type: Plain text -#: en/git-branch.txt:305 -msgid "" -"`--contains <commit>` is used to find all branches which will need special " -"attention if <commit> were to be rebased or amended, since those branches " -"contain the specified <commit>." +#. type: Labeled list +#: en/config.txt:1917 +#, no-wrap +msgid "http.sslCAPath" msgstr "" #. type: Plain text -#: en/git-branch.txt:308 +#: en/config.txt:1921 msgid "" -"`--merged` is used to find all branches which can be safely deleted, since " -"those branches are fully contained by HEAD." +"Path containing files with the CA certificates to verify the peer with when " +"fetching or pushing over HTTPS. Can be overridden by the `GIT_SSL_CAPATH` " +"environment variable." msgstr "" -#. type: Plain text -#: en/git-branch.txt:311 -msgid "" -"`--no-merged` is used to find branches which are candidates for merging into " -"HEAD, since those branches are not fully contained by HEAD." +#. type: Labeled list +#: en/config.txt:1922 +#, no-wrap +msgid "http.pinnedpubkey" msgstr "" #. type: Plain text -#: en/git-branch.txt:319 +#: en/config.txt:1929 msgid "" -"linkgit:git-check-ref-format[1], linkgit:git-fetch[1], linkgit:git-" -"remote[1], link:user-manual.html#what-is-a-branch[``Understanding history: " -"What is a branch?''] in the Git User's Manual." +"Public key of the https service. It may either be the filename of a PEM or " +"DER encoded public key file or a string starting with 'sha256//' followed by " +"the base64 encoded sha256 hash of the public key. See also libcurl " +"'CURLOPT_PINNEDPUBLICKEY'. git will exit with an error if this option is set " +"but not supported by cURL." msgstr "" -#. type: Title = -#: en/git-bundle.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-bundle(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/config.txt:1930 +#, no-wrap +msgid "http.sslTry" +msgstr "" #. type: Plain text -#: en/git-bundle.txt:7 -msgid "git-bundle - Move objects and refs by archive" +#: en/config.txt:1937 +msgid "" +"Attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via " +"regular FTP protocol. This might be needed if the FTP server requires it for " +"security reasons or you wish to connect securely whenever remote FTP server " +"supports it. Default is false since it might trigger certificate " +"verification errors on misconfigured servers." msgstr "" -#. type: Plain text -#: en/git-bundle.txt:16 +#. type: Labeled list +#: en/config.txt:1938 #, no-wrap -msgid "" -"'git bundle' create <file> <git-rev-list-args>\n" -"'git bundle' verify <file>\n" -"'git bundle' list-heads <file> [<refname>...]\n" -"'git bundle' unbundle <file> [<refname>...]\n" +msgid "http.maxRequests" msgstr "" #. type: Plain text -#: en/git-bundle.txt:32 +#: en/config.txt:1941 msgid "" -"Some workflows require that one or more branches of development on one " -"machine be replicated on another machine, but the two machines cannot be " -"directly connected, and therefore the interactive Git protocols (git, ssh, " -"http) cannot be used. This command provides support for 'git fetch' and " -"'git pull' to operate by packaging objects and references in an archive at " -"the originating machine, then importing those into another repository using " -"'git fetch' and 'git pull' after moving the archive by some means (e.g., by " -"sneakernet). As no direct connection between the repositories exists, the " -"user must specify a basis for the bundle that is held by the destination " -"repository: the bundle assumes that all objects in the basis are already in " -"the destination repository." +"How many HTTP requests to launch in parallel. Can be overridden by the " +"`GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5." msgstr "" #. type: Labeled list -#: en/git-bundle.txt:36 +#: en/config.txt:1942 #, no-wrap -msgid "create <file>" +msgid "http.minSessions" msgstr "" #. type: Plain text -#: en/git-bundle.txt:39 +#: en/config.txt:1947 msgid "" -"Used to create a bundle named 'file'. This requires the 'git-rev-list-args' " -"arguments to define the bundle contents." +"The number of curl sessions (counted across slots) to be kept across " +"requests. They will not be ended with curl_easy_cleanup() until " +"http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this value will " +"be capped at 1. Defaults to 1." msgstr "" #. type: Labeled list -#: en/git-bundle.txt:40 +#: en/config.txt:1948 #, no-wrap -msgid "verify <file>" +msgid "http.postBuffer" msgstr "" #. type: Plain text -#: en/git-bundle.txt:47 +#: en/config.txt:1955 msgid "" -"Used to check that a bundle file is valid and will apply cleanly to the " -"current repository. This includes checks on the bundle format itself as " -"well as checking that the prerequisite commits exist and are fully linked in " -"the current repository. 'git bundle' prints a list of missing commits, if " -"any, and exits with a non-zero status." +"Maximum size in bytes of the buffer used by smart HTTP transports when " +"POSTing data to the remote system. For requests larger than this buffer " +"size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a " +"massive pack file locally. Default is 1 MiB, which is sufficient for most " +"requests." msgstr "" #. type: Labeled list -#: en/git-bundle.txt:48 +#: en/config.txt:1956 #, no-wrap -msgid "list-heads <file>" +msgid "http.lowSpeedLimit, http.lowSpeedTime" msgstr "" #. type: Plain text -#: en/git-bundle.txt:52 +#: en/config.txt:1961 msgid "" -"Lists the references defined in the bundle. If followed by a list of " -"references, only references matching those given are printed out." +"If the HTTP transfer speed is less than 'http.lowSpeedLimit' for longer than " +"'http.lowSpeedTime' seconds, the transfer is aborted. Can be overridden by " +"the `GIT_HTTP_LOW_SPEED_LIMIT` and `GIT_HTTP_LOW_SPEED_TIME` environment " +"variables." msgstr "" #. type: Labeled list -#: en/git-bundle.txt:53 +#: en/config.txt:1962 #, no-wrap -msgid "unbundle <file>" +msgid "http.noEPSV" msgstr "" #. type: Plain text -#: en/git-bundle.txt:59 +#: en/config.txt:1967 msgid "" -"Passes the objects in the bundle to 'git index-pack' for storage in the " -"repository, then prints the names of all defined references. If a list of " -"references is given, only references matching those in the list are printed. " -"This command is really plumbing, intended to be called only by 'git fetch'." +"A boolean which disables using of EPSV ftp command by curl. This can " +"helpful with some \"poor\" ftp servers which don't support EPSV mode. Can be " +"overridden by the `GIT_CURL_FTP_NO_EPSV` environment variable. Default is " +"false (curl will use EPSV)." msgstr "" #. type: Labeled list -#: en/git-bundle.txt:60 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "<git-rev-list-args>" -msgstr "git-commit(1)" +#: en/config.txt:1968 +#, no-wrap +msgid "http.userAgent" +msgstr "" #. type: Plain text -#: en/git-bundle.txt:69 +#: en/config.txt:1976 msgid "" -"A list of arguments, acceptable to 'git rev-parse' and 'git rev-list' (and " -"containing a named ref, see SPECIFYING REFERENCES below), that specifies the " -"specific objects and references to transport. For example, `master~10.." -"master` causes the current master reference to be packaged along with all " -"objects added since its 10th ancestor commit. There is no explicit limit to " -"the number of references and objects that may be packaged." +"The HTTP USER_AGENT string presented to an HTTP server. The default value " +"represents the version of the client Git such as git/1.7.1. This option " +"allows you to override this value to a more common value such as " +"Mozilla/4.0. This may be necessary, for instance, if connecting through a " +"firewall that restricts HTTP connections to a set of common USER_AGENT " +"strings (but not including those like git/1.7.1). Can be overridden by the " +"`GIT_HTTP_USER_AGENT` environment variable." msgstr "" -#. type: Plain text -#: en/git-bundle.txt:77 +#. type: Labeled list +#: en/config.txt:1977 #, no-wrap +msgid "http.followRedirects" +msgstr "" + +#. type: Plain text +#: en/config.txt:1986 msgid "" -"[<refname>...]::\n" -"\tA list of references used to limit the references reported as\n" -"\tavailable. This is principally of use to 'git fetch', which\n" -"\texpects to receive only those references asked for and not\n" -"\tnecessarily everything in the pack (in this case, 'git bundle' acts\n" -"\tlike 'git fetch-pack').\n" +"Whether git should follow HTTP redirects. If set to `true`, git will " +"transparently follow any redirect issued by a server it encounters. If set " +"to `false`, git will treat all redirects as errors. If set to `initial`, git " +"will follow redirects only for the initial request to a remote, but not for " +"subsequent follow-up HTTP requests. Since git uses the redirected URL as the " +"base for the follow-up requests, this is generally sufficient. The default " +"is `initial`." msgstr "" -#. type: Title - -#: en/git-bundle.txt:79 +#. type: Labeled list +#: en/config.txt:1987 #, no-wrap -msgid "SPECIFYING REFERENCES" +msgid "http.<url>.*" msgstr "" #. type: Plain text -#: en/git-bundle.txt:89 +#: en/config.txt:1991 msgid "" -"'git bundle' will only package references that are shown by 'git show-ref': " -"this includes heads, tags, and remote heads. References such as `master~1` " -"cannot be packaged, but are perfectly suitable for defining the basis. More " -"than one reference may be packaged, and more than one basis can be " -"specified. The objects packaged are those not contained in the union of the " -"given bases. Each basis can be specified explicitly (e.g. `^master~10`), or " -"implicitly (e.g. `master~10..master`, `--since=10.days.ago master`)." +"Any of the http.* options above can be applied selectively to some URLs. " +"For a config key to match a URL, each element of the config key is compared " +"to that of the URL, in the following order:" msgstr "" #. type: Plain text -#: en/git-bundle.txt:94 +#: en/config.txt:1995 msgid "" -"It is very important that the basis used be held by the destination. It is " -"okay to err on the side of caution, causing the bundle file to contain " -"objects already in the destination, as these are ignored when unpacking at " -"the destination." +"Scheme (e.g., `https` in `https://example.com/`). This field must match " +"exactly between the config key and the URL." msgstr "" #. type: Plain text -#: en/git-bundle.txt:96 en/git-fmt-merge-msg.txt:61 en/git-imap-send.txt:140 -#: en/git-name-rev.txt:65 en/git-p4.txt:33 en/git-prune.txt:57 -#: en/git-request-pull.txt:50 en/git-send-email.txt:441 en/git-shell.txt:66 -#: en/git-show-branch.txt:177 en/git-show-ref.txt:124 en/git-var.txt:27 -#, fuzzy, no-wrap -#| msgid "EXAMPLES" -msgid "EXAMPLE" -msgstr "EXEMPLES" - -#. type: Plain text -#: en/git-bundle.txt:103 +#: en/config.txt:2001 msgid "" -"Assume you want to transfer the history from a repository R1 on machine A to " -"another repository R2 on machine B. For whatever reason, direct connection " -"between A and B is not allowed, but we can move data from A to B via some " -"mechanism (CD, email, etc.). We want to update R2 with development made on " -"the branch master in R1." +"Host/domain name (e.g., `example.com` in `https://example.com/`). This " +"field must match between the config key and the URL. It is possible to " +"specify a `*` as part of the host name to match all subdomains at this " +"level. `https://*.example.com/` for example would match `https://foo.example." +"com/`, but not `https://foo.bar.example.com/`." msgstr "" #. type: Plain text -#: en/git-bundle.txt:108 +#: en/config.txt:2006 msgid "" -"To bootstrap the process, you can first create a bundle that does not have " -"any basis. You can use a tag to remember up to what commit you last " -"processed, in order to make it easy to later update the other repository " -"with an incremental bundle:" +"Port number (e.g., `8080` in `http://example.com:8080/`). This field must " +"match exactly between the config key and the URL. Omitted port numbers are " +"automatically converted to the correct default for the scheme before " +"matching." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:113 -#, no-wrap +#. type: Plain text +#: en/config.txt:2014 msgid "" -"machineA$ cd R1\n" -"machineA$ git bundle create file.bundle master\n" -"machineA$ git tag -f lastR2bundle master\n" +"Path (e.g., `repo.git` in `https://example.com/repo.git`). The path field of " +"the config key must match the path field of the URL either exactly or as a " +"prefix of slash-delimited path elements. This means a config key with path " +"`foo/` matches URL path `foo/bar`. A prefix can only match on a slash (`/`) " +"boundary. Longer matches take precedence (so a config key with path `foo/" +"bar` is a better match to URL path `foo/bar` than a config key with just " +"path `foo/`)." msgstr "" #. type: Plain text -#: en/git-bundle.txt:118 +#: en/config.txt:2020 msgid "" -"Then you transfer file.bundle to the target machine B. Because this bundle " -"does not require any existing object to be extracted, you can create a new " -"repository on machine B by cloning from it:" +"User name (e.g., `user` in `https://user@example.com/repo.git`). If the " +"config key has a user name it must match the user name in the URL exactly. " +"If the config key does not have a user name, that config key will match a " +"URL with any user name (including none), but at a lower precedence than a " +"config key with a user name." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:121 -#, no-wrap -msgid "machineB$ git clone -b master /home/me/tmp/file.bundle R2\n" +#. type: Plain text +#: en/config.txt:2027 +msgid "" +"The list above is ordered by decreasing precedence; a URL that matches a " +"config key's path is preferred to one that matches its user name. For " +"example, if the URL is `https://user@example.com/foo/bar` a config key match " +"of `https://example.com/foo` will be preferred over a config key match of " +"`https://user@example.com`." msgstr "" #. type: Plain text -#: en/git-bundle.txt:126 +#: en/config.txt:2034 msgid "" -"This will define a remote called \"origin\" in the resulting repository that " -"lets you fetch and pull from the bundle. The $GIT_DIR/config file in R2 will " -"have an entry like this:" +"All URLs are normalized before attempting any matching (the password part, " +"if embedded in the URL, is always ignored for matching purposes) so that " +"equivalent URLs that are simply spelled differently will match properly. " +"Environment variable settings always override any matches. The URLs that " +"are matched against are those given directly to Git commands. This means " +"any URLs visited as a result of a redirection do not participate in matching." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:131 +#. type: Labeled list +#: en/config.txt:2035 #, no-wrap -msgid "" -"[remote \"origin\"]\n" -" url = /home/me/tmp/file.bundle\n" -" fetch = refs/heads/*:refs/remotes/origin/*\n" +msgid "ssh.variant" msgstr "" #. type: Plain text -#: en/git-bundle.txt:136 +#: en/config.txt:2040 msgid "" -"To update the resulting mine.git repository, you can fetch or pull after " -"replacing the bundle stored at /home/me/tmp/file.bundle with incremental " -"updates." +"Depending on the value of the environment variables `GIT_SSH` or " +"`GIT_SSH_COMMAND`, or the config setting `core.sshCommand`, Git auto-detects " +"whether to adjust its command-line parameters for use with plink or " +"tortoiseplink, as opposed to the default (OpenSSH)." msgstr "" #. type: Plain text -#: en/git-bundle.txt:139 +#: en/config.txt:2045 msgid "" -"After working some more in the original repository, you can create an " -"incremental bundle to update the other repository:" +"The config variable `ssh.variant` can be set to override this auto-" +"detection; valid values are `ssh`, `plink`, `putty` or `tortoiseplink`. Any " +"other value will be treated as normal ssh. This setting can be overridden " +"via the environment variable `GIT_SSH_VARIANT`." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:144 -#, no-wrap -msgid "" -"machineA$ cd R1\n" -"machineA$ git bundle create file.bundle lastR2bundle..master\n" -"machineA$ git tag -f lastR2bundle master\n" +#. type: Labeled list +#: en/config.txt:2046 +#, fuzzy, no-wrap +#| msgid "" +#| "[i18n]\n" +#| "\tlogoutputencoding = ISO-8859-1\n" +msgid "i18n.commitEncoding" msgstr "" +"[i18n]\n" +"\tlogoutputencoding = ISO-8859-1\n" #. type: Plain text -#: en/git-bundle.txt:148 +#: en/config.txt:2052 msgid "" -"You then transfer the bundle to the other machine to replace /home/me/tmp/" -"file.bundle, and pull from it." +"Character encoding the commit messages are stored in; Git itself does not " +"care per se, but this information is necessary e.g. when importing commits " +"from emails or in the gitk graphical history browser (and possibly at other " +"places in the future or in other porcelains). See e.g. linkgit:git-" +"mailinfo[1]. Defaults to 'utf-8'." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:152 -#, no-wrap -msgid "" -"machineB$ cd R2\n" -"machineB$ git pull\n" +#. type: Labeled list +#: en/config.txt:2053 en/git-log.txt:179 +#, fuzzy, no-wrap +#| msgid "" +#| "[i18n]\n" +#| "\tlogoutputencoding = ISO-8859-1\n" +msgid "i18n.logOutputEncoding" msgstr "" +"[i18n]\n" +"\tlogoutputencoding = ISO-8859-1\n" #. type: Plain text -#: en/git-bundle.txt:160 +#: en/config.txt:2056 msgid "" -"If you know up to what commit the intended recipient repository should have " -"the necessary objects, you can use that knowledge to specify the basis, " -"giving a cut-off point to limit the revisions and objects that go in the " -"resulting bundle. The previous example used the lastR2bundle tag for this " -"purpose, but you can use any other options that you would give to the " -"linkgit:git-log[1] command. Here are more examples:" +"Character encoding the commit messages are converted to when running 'git " +"log' and friends." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2057 +#, no-wrap +msgid "imap" msgstr "" #. type: Plain text -#: en/git-bundle.txt:162 -msgid "You can use a tag that is present in both:" +#: en/config.txt:2060 +msgid "" +"The configuration variables in the 'imap' section are described in linkgit:" +"git-imap-send[1]." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:165 +#. type: Labeled list +#: en/config.txt:2061 #, no-wrap -msgid "$ git bundle create mybundle v1.0.0..master\n" +msgid "index.version" msgstr "" #. type: Plain text -#: en/git-bundle.txt:168 -msgid "You can use a basis based on time:" +#: en/config.txt:2064 +msgid "" +"Specify the version with which new index files should be initialized. This " +"does not affect existing repositories." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:171 +#. type: Labeled list +#: en/config.txt:2065 #, no-wrap -msgid "$ git bundle create mybundle --since=10.days master\n" +msgid "init.templateDir" msgstr "" #. type: Plain text -#: en/git-bundle.txt:174 -#, fuzzy -#| msgid "but can be used to amend a merge commit." -msgid "You can use the number of commits:" -msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." +#: en/config.txt:2068 +msgid "" +"Specify the directory from which templates will be copied. (See the " +"\"TEMPLATE DIRECTORY\" section of linkgit:git-init[1].)" +msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:177 +#. type: Labeled list +#: en/config.txt:2069 #, no-wrap -msgid "$ git bundle create mybundle -10 master\n" +msgid "instaweb.browser" msgstr "" #. type: Plain text -#: en/git-bundle.txt:181 +#: en/config.txt:2072 msgid "" -"You can run `git-bundle verify` to see if you can extract from a bundle that " -"was created with a basis:" +"Specify the program that will be used to browse your working repository in " +"gitweb. See linkgit:git-instaweb[1]." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:184 +#. type: Labeled list +#: en/config.txt:2073 #, no-wrap -msgid "$ git bundle verify mybundle\n" +msgid "instaweb.httpd" msgstr "" #. type: Plain text -#: en/git-bundle.txt:188 +#: en/config.txt:2076 msgid "" -"This will list what commits you must have in order to extract from the " -"bundle and will error out if you do not have them." +"The HTTP daemon command-line to start gitweb on your working repository. See " +"linkgit:git-instaweb[1]." msgstr "" +#. type: Labeled list +#: en/config.txt:2077 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "instaweb.local" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-bundle.txt:192 +#: en/config.txt:2080 msgid "" -"A bundle from a recipient repository's point of view is just like a regular " -"repository which it fetches or pulls from. You can, for example, map " -"references when fetching:" +"If true the web server started by linkgit:git-instaweb[1] will be bound to " +"the local IP (127.0.0.1)." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:195 +#. type: Labeled list +#: en/config.txt:2081 #, no-wrap -msgid "$ git fetch mybundle master:localRef\n" +msgid "instaweb.modulePath" msgstr "" #. type: Plain text -#: en/git-bundle.txt:198 -msgid "You can also see what references it offers:" +#: en/config.txt:2085 +msgid "" +"The default module path for linkgit:git-instaweb[1] to use instead of /usr/" +"lib/apache2/modules. Only used if httpd is Apache." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:201 +#. type: Labeled list +#: en/config.txt:2086 #, no-wrap -msgid "$ git ls-remote mybundle\n" +msgid "instaweb.port" msgstr "" -#. type: Title = -#: en/git-cat-file.txt:2 +#. type: Plain text +#: en/config.txt:2089 +msgid "" +"The port number to bind the gitweb httpd to. See linkgit:git-instaweb[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2090 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-cat-file(1)" -msgstr "git-commit(1)" +#| msgid "Interactive mode" +msgid "interactive.singleKey" +msgstr "Mode interactif" #. type: Plain text -#: en/git-cat-file.txt:7 +#: en/config.txt:2098 msgid "" -"git-cat-file - Provide content or type and size information for repository " -"objects" +"In interactive commands, allow the user to provide one-letter input with a " +"single key (i.e., without hitting enter). Currently this is used by the `--" +"patch` mode of linkgit:git-add[1], linkgit:git-checkout[1], linkgit:git-" +"commit[1], linkgit:git-reset[1], and linkgit:git-stash[1]. Note that this " +"setting is silently ignored if portable keystroke input is not available; " +"requires the Perl module Term::ReadKey." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2099 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "interactive.diffFilter" +msgstr "Mode interactif" + +#. type: Plain text +#: en/config.txt:2106 +msgid "" +"When an interactive command (such as `git add --patch`) shows a colorized " +"diff, git will pipe the diff through the shell command defined by this " +"configuration variable. The command may mark up the diff further for human " +"consumption, provided that it retains a one-to-one correspondence with the " +"lines in the original diff. Defaults to disabled (no filtering)." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2107 +#, no-wrap +msgid "log.abbrevCommit" msgstr "" +# #. type: Plain text -#: en/git-cat-file.txt:14 -#, no-wrap +#: en/config.txt:2111 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv | --filters ) [--path=<path>] <object>\n" -"'git cat-file' (--batch | --batch-check) [ --textconv | --filters ] [--follow-symlinks]\n" +"If true, makes linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-" +"whatchanged[1] assume `--abbrev-commit`. You may override this option with " +"`--no-abbrev-commit`." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Plain text -#: en/git-cat-file.txt:21 -msgid "" -"In its first form, the command provides the content or the type of an object " -"in the repository. The type is required unless `-t` or `-p` is used to find " -"the object type, or `-s` is used to find the object size, or `--textconv` or " -"`--filters` is used (which imply type \"blob\")." +#. type: Labeled list +#: en/config.txt:2112 en/git-log.txt:184 +#, no-wrap +msgid "log.date" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:28 +#: en/config.txt:2116 msgid "" -"In the second form, a list of objects (separated by linefeeds) is provided " -"on stdin, and the SHA-1, type, and size of each object is printed on stdout. " -"The output format can be overridden using the optional `<format>` argument. " -"If either `--textconv` or `--filters` was specified, the input is expected " -"to list the object names followed by the path name, separated by a single " -"white space, so that the appropriate drivers can be determined." +"Set the default date-time mode for the 'log' command. Setting a value for " +"log.date is similar to using 'git log''s `--date` option. See linkgit:git-" +"log[1] for details." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:35 -msgid "" -"The name of the object to show. For a more complete list of ways to spell " -"object names, see the \"SPECIFYING REVISIONS\" section in linkgit:" -"gitrevisions[7]." +#. type: Labeled list +#: en/config.txt:2117 +#, no-wrap +msgid "log.decorate" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:39 -msgid "Instead of the content, show the object type identified by <object>." +#: en/config.txt:2126 +msgid "" +"Print out the ref names of any commits that are shown by the log command. If " +"'short' is specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and " +"'refs/remotes/' will not be printed. If 'full' is specified, the full ref " +"name (including prefix) will be printed. If 'auto' is specified, then if " +"the output is going to a terminal, the ref names are shown as if 'short' " +"were given, otherwise no ref names are shown. This is the same as the `--" +"decorate` option of the `git log`." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:43 -msgid "Instead of the content, show the object size identified by <object>." +#. type: Labeled list +#: en/config.txt:2127 en/git-log.txt:189 +#, no-wrap +msgid "log.follow" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:47 +#: en/config.txt:2132 en/git-log.txt:194 msgid "" -"Suppress all output; instead exit with zero status if <object> exists and is " -"a valid object." +"If `true`, `git log` will act as if the `--follow` option was used when a " +"single <path> is given. This has the same limitations as `--follow`, i.e. " +"it cannot be used to follow multiple files and does not work well on non-" +"linear history." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:50 -msgid "Pretty-print the contents of <object> based on its type." +#. type: Labeled list +#: en/config.txt:2133 +#, no-wrap +msgid "log.graphColors" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:58 +#: en/config.txt:2136 msgid "" -"Typically this matches the real type of <object> but asking for a type that " -"can trivially be dereferenced from the given <object> is also permitted. An " -"example is to ask for a \"tree\" with <object> being a commit object that " -"contains it, or to ask for a \"blob\" with <object> being a tag object that " -"points at it." +"A list of colors, separated by commas, that can be used to draw history " +"lines in `git log --graph`." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:59 en/git-grep.txt:109 en/diff-options.txt:570 +#: en/config.txt:2137 en/git-log.txt:195 #, no-wrap -msgid "--textconv" +msgid "log.showRoot" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:64 +#: en/config.txt:2142 msgid "" -"Show the content as transformed by a textconv filter. In this case, <object> " -"has to be of the form <tree-ish>:<path>, or :<path> in order to apply the " -"filter to the content recorded in the index at <path>." +"If true, the initial commit will be shown as a big creation event. This is " +"equivalent to a diff against an empty tree. Tools like linkgit:git-log[1] " +"or linkgit:git-whatchanged[1], which normally hide the root commit will now " +"show it. True by default." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:65 +#: en/config.txt:2143 #, no-wrap -msgid "--filters" +msgid "log.mailmap" msgstr "" +# #. type: Plain text -#: en/git-cat-file.txt:70 +#: en/config.txt:2146 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"Show the content as converted by the filters configured in the current " -"working tree for the given <path> (i.e. smudge filters, end-of-line " -"conversion, etc). In this case, <object> has to be of the form <tree-ish>:" -"<path>, or :<path>." +"If true, makes linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-" +"whatchanged[1] assume `--use-mailmap`." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Labeled list -#: en/git-cat-file.txt:71 +#: en/config.txt:2147 #, fuzzy, no-wrap -#| msgid "patch" -msgid "--path=<path>" -msgstr "patch" +#| msgid "scissors" +msgid "mailinfo.scissors" +msgstr "scissors" #. type: Plain text -#: en/git-cat-file.txt:75 +#: en/config.txt:2153 msgid "" -"For use with --textconv or --filters, to allow specifying an object name and " -"a path separately, e.g. when it is difficult to figure out the revision from " -"which the blob came." +"If true, makes linkgit:git-mailinfo[1] (and therefore linkgit:git-am[1]) act " +"by default as if the --scissors option was provided on the command-line. " +"When active, this features removes everything from the message body before a " +"scissors line (i.e. consisting mainly of \">8\", \"8<\" and \"-\")." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:76 en/git-mktree.txt:32 -#, fuzzy, no-wrap -#| msgid "patch" -msgid "--batch" -msgstr "patch" - -#. type: Labeled list -#: en/git-cat-file.txt:77 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--batch=<format>" -msgstr "Configuration" +#: en/config.txt:2154 +#, no-wrap +msgid "mailmap.file" +msgstr "" #. type: Plain text -#: en/git-cat-file.txt:83 +#: en/config.txt:2161 msgid "" -"Print object information and contents for each object provided on stdin. " -"May not be combined with any other options or arguments except `--textconv` " -"or `--filters`, in which case the input lines also need to specify the path, " -"separated by white space. See the section `BATCH OUTPUT` below for details." +"The location of an augmenting mailmap file. The default mailmap, located in " +"the root of the repository, is loaded first, then the mailmap file pointed " +"to by this variable. The location of the mailmap file may be in a " +"repository subdirectory, or somewhere outside of the repository itself. See " +"linkgit:git-shortlog[1] and linkgit:git-blame[1]." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:84 +#: en/config.txt:2162 #, no-wrap -msgid "--batch-check" +msgid "mailmap.blob" msgstr "" -#. type: Labeled list -#: en/git-cat-file.txt:85 +#. type: Plain text +#: en/config.txt:2169 +msgid "" +"Like `mailmap.file`, but consider the value as a reference to a blob in the " +"repository. If both `mailmap.file` and `mailmap.blob` are given, both are " +"parsed, with entries from `mailmap.file` taking precedence. In a bare " +"repository, this defaults to `HEAD:.mailmap`. In a non-bare repository, it " +"defaults to empty." +msgstr "" + +#. type: Title ~ +#: en/config.txt:2170 en/git-help.txt:101 #, no-wrap -msgid "--batch-check=<format>" +msgid "man.viewer" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:91 +#: en/config.txt:2173 msgid "" -"Print object information for each object provided on stdin. May not be " -"combined with any other options or arguments except `--textconv` or `--" -"filters`, in which case the input lines also need to specify the path, " -"separated by white space. See the section `BATCH OUTPUT` below for details." +"Specify the programs that may be used to display help in the 'man' format. " +"See linkgit:git-help[1]." msgstr "" -#. type: Labeled list -#: en/git-cat-file.txt:92 +#. type: Title ~ +#: en/config.txt:2174 en/git-help.txt:144 #, no-wrap -msgid "--batch-all-objects" +msgid "man.<tool>.cmd" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:98 +#: en/config.txt:2178 msgid "" -"Instead of reading a list of objects on stdin, perform the requested batch " -"operation on all objects in the repository and any alternate object stores " -"(not just reachable objects). Requires `--batch` or `--batch-check` be " -"specified. Note that the objects are visited in order sorted by their hashes." +"Specify the command to invoke the specified man viewer. The specified " +"command is evaluated in shell with the man page passed as argument. (See " +"linkgit:git-help[1].)" msgstr "" -#. type: Labeled list -#: en/git-cat-file.txt:99 +#. type: Title ~ +#: en/config.txt:2179 en/git-help.txt:135 #, no-wrap -msgid "--buffer" +msgid "man.<tool>.path" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:105 +#: en/config.txt:2182 msgid "" -"Normally batch output is flushed after each object is output, so that a " -"process can interactively read and write from `cat-file`. With this option, " -"the output uses normal stdio buffering; this is much more efficient when " -"invoking `--batch-check` on a large number of objects." +"Override the path for the given tool that may be used to display help in the " +"'man' format. See linkgit:git-help[1]." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:106 -#, no-wrap -msgid "--allow-unknown-type" -msgstr "" +#: en/config.txt:2185 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "mergetool.<tool>.path" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2189 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "mergetool.<tool>.cmd" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-cat-file.txt:108 -msgid "Allow -s or -t to query broken/corrupt objects of unknown type." +#: en/config.txt:2199 +msgid "" +"Specify the command to invoke the specified merge tool. The specified " +"command is evaluated in shell with the following variables available: 'BASE' " +"is the name of a temporary file containing the common base of the files to " +"be merged, if available; 'LOCAL' is the name of a temporary file containing " +"the contents of the file on the current branch; 'REMOTE' is the name of a " +"temporary file containing the contents of the file from the branch being " +"merged; 'MERGED' contains the name of the file to which the merge tool " +"should write the results of a successful merge." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:109 +#: en/config.txt:2200 #, no-wrap -msgid "--follow-symlinks" +msgid "mergetool.<tool>.trustExitCode" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:118 +#: en/config.txt:2207 msgid "" -"With --batch or --batch-check, follow symlinks inside the repository when " -"requesting objects with extended SHA-1 expressions of the form tree-ish:path-" -"in-tree. Instead of providing output about the link itself, provide output " -"about the linked-to object. If a symlink points outside the tree-ish (e.g. " -"a link to /foo or a root-level link to ../foo), the portion of the link " -"which is outside the tree will be printed." +"For a custom merge command, specify whether the exit code of the merge " +"command can be used to determine whether the merge was successful. If this " +"is not set to true then the merge target file timestamp is checked and the " +"merge assumed to have been successful if the file has been updated, " +"otherwise the user is prompted to indicate the success of the merge." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:122 -msgid "" -"This option does not (currently) work correctly when an object in the index " -"is specified (e.g. `:link` instead of `HEAD:link`) rather than one in the " -"tree." +#. type: Labeled list +#: en/config.txt:2208 +#, no-wrap +msgid "mergetool.meld.hasOutput" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:125 +#: en/config.txt:2216 msgid "" -"This option cannot (currently) be used unless `--batch` or `--batch-check` " -"is used." +"Older versions of `meld` do not support the `--output` option. Git will " +"attempt to detect whether `meld` supports `--output` by inspecting the " +"output of `meld --help`. Configuring `mergetool.meld.hasOutput` will make " +"Git skip these checks and use the configured value instead. Setting " +"`mergetool.meld.hasOutput` to `true` tells Git to unconditionally use the `--" +"output` option, and `false` avoids using `--output`." msgstr "" +#. type: Labeled list +#: en/config.txt:2217 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "mergetool.keepBackup" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-cat-file.txt:127 -msgid "For example, consider a git repository containing:" +#: en/config.txt:2222 +msgid "" +"After performing a merge, the original file with conflict markers can be " +"saved as a file with a `.orig` extension. If this variable is set to " +"`false` then this file is not preserved. Defaults to `true` (i.e. keep the " +"backup files)." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:134 +#. type: Labeled list +#: en/config.txt:2223 #, no-wrap -msgid "" -"\tf: a file containing \"hello\\n\"\n" -"\tlink: a symlink to f\n" -"\tdir/link: a symlink to ../f\n" -"\tplink: a symlink to ../f\n" -"\talink: a symlink to /etc/passwd\n" +msgid "mergetool.keepTemporaries" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:137 +#: en/config.txt:2229 msgid "" -"For a regular file `f`, `echo HEAD:f | git cat-file --batch` would print" +"When invoking a custom merge tool, Git uses a set of temporary files to pass " +"to the tool. If the tool returns an error and this variable is set to " +"`true`, then these temporary files will be preserved, otherwise they will be " +"removed after the tool has exited. Defaults to `false`." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:140 +#. type: Labeled list +#: en/config.txt:2230 #, no-wrap -msgid "\tce013625030ba8dba906f756967f9e9ca394464a blob 6\n" +msgid "mergetool.writeToTemp" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:145 +#: en/config.txt:2235 msgid "" -"And `echo HEAD:link | git cat-file --batch --follow-symlinks` would print " -"the same thing, as would `HEAD:dir/link`, as they both point at `HEAD:f`." +"Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of conflicting " +"files in the worktree by default. Git will attempt to use a temporary " +"directory for these files when set `true`. Defaults to `false`." msgstr "" +#. type: Labeled list +#: en/config.txt:2236 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "mergetool.prompt" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-cat-file.txt:148 -msgid "" -"Without `--follow-symlinks`, these would print data about the symlink " -"itself. In the case of `HEAD:link`, you would see" +#: en/config.txt:2238 +msgid "Prompt before each invocation of the merge resolution program." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:151 +#. type: Labeled list +#: en/config.txt:2239 en/git-notes.txt:319 #, no-wrap -msgid "\t4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1\n" +msgid "notes.mergeStrategy" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:155 +#: en/config.txt:2244 msgid "" -"Both `plink` and `alink` point outside the tree, so they would respectively " -"print:" +"Which merge strategy to choose by default when resolving notes conflicts. " +"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " +"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section of linkgit:git-" +"notes[1] for more information on each strategy." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:159 +#. type: Labeled list +#: en/config.txt:2245 en/git-notes.txt:327 #, no-wrap -msgid "" -"\tsymlink 4\n" -"\t../f\n" +msgid "notes.<name>.mergeStrategy" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:162 -#, no-wrap +#: en/config.txt:2250 msgid "" -"\tsymlink 11\n" -"\t/etc/passwd\n" +"Which merge strategy to choose when doing a notes merge into refs/notes/" +"<name>. This overrides the more general \"notes.mergeStrategy\". See the " +"\"NOTES MERGE STRATEGIES\" section in linkgit:git-notes[1] for more " +"information on the available strategies." msgstr "" -#. type: Title - -#: en/git-cat-file.txt:166 en/git-check-attr.txt:48 en/git-check-ignore.txt:60 -#: en/git-check-mailmap.txt:32 en/git-cvsimport.txt:188 en/git-fetch.txt:103 -#: en/git-push.txt:306 en/git-show-branch.txt:134 en/git-show-ref.txt:97 -#: en/git-status.txt:113 en/git-update-server-info.txt:32 +#. type: Labeled list +#: en/config.txt:2251 en/git-log.txt:208 en/git-notes.txt:333 #, no-wrap -msgid "OUTPUT" +msgid "notes.displayRef" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:168 -msgid "If `-t` is specified, one of the <type>." +#: en/config.txt:2259 +msgid "" +"The (fully qualified) refname from which to show notes when showing commit " +"messages. The value of this variable can be set to a glob, in which case " +"notes from all matching refs will be shown. You may also specify this " +"configuration variable several times. A warning will be issued for refs " +"that do not exist, but a glob that does not match any refs is silently " +"ignored." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:170 -msgid "If `-s` is specified, the size of the <object> in bytes." +#: en/config.txt:2263 +msgid "" +"This setting can be overridden with the `GIT_NOTES_DISPLAY_REF` environment " +"variable, which must be a colon separated list of refs or globs." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:172 -msgid "If `-e` is specified, no output." +#: en/config.txt:2267 +msgid "" +"The effective value of \"core.notesRef\" (possibly overridden by " +"GIT_NOTES_REF) is also implicitly added to the list of refs to be displayed." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:174 -msgid "If `-p` is specified, the contents of <object> are pretty-printed." +#. type: Labeled list +#: en/config.txt:2268 en/git-notes.txt:342 +#, no-wrap +msgid "notes.rewrite.<command>" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:177 +#: en/config.txt:2274 msgid "" -"If <type> is specified, the raw (though uncompressed) contents of the " -"<object> will be returned." +"When rewriting commits with <command> (currently `amend` or `rebase`) and " +"this variable is set to `true`, Git automatically copies your notes from the " +"original to the rewritten commit. Defaults to `true`, but see \"notes." +"rewriteRef\" below." msgstr "" -#. type: Title - -#: en/git-cat-file.txt:179 -#, fuzzy, no-wrap -#| msgid "DATE FORMATS" -msgid "BATCH OUTPUT" -msgstr "FORMATS DE DATE" +#. type: Labeled list +#: en/config.txt:2275 en/git-notes.txt:351 +#, no-wrap +msgid "notes.rewriteMode" +msgstr "" #. type: Plain text -#: en/git-cat-file.txt:185 +#: en/config.txt:2281 msgid "" -"If `--batch` or `--batch-check` is given, `cat-file` will read objects from " -"stdin, one per line, and print information about them. By default, the whole " -"line is considered as an object, as if it were fed to linkgit:git-rev-" -"parse[1]." +"When copying notes during a rewrite (see the \"notes.rewrite.<command>\" " +"option), determines what to do if the target commit already has a note. " +"Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`. " +"Defaults to `concatenate`." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:190 +#: en/config.txt:2284 en/git-notes.txt:359 msgid "" -"You can specify the information shown for each object by using a custom " -"`<format>`. The `<format>` is copied literally to stdout for each object, " -"with placeholders of the form `%(atom)` expanded, followed by a newline. The " -"available atoms are:" +"This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` environment " +"variable." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:191 +#: en/config.txt:2285 en/git-notes.txt:360 #, no-wrap -msgid "`objectname`" +msgid "notes.rewriteRef" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:193 -msgid "The 40-hex object name of the object." -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:194 -#, no-wrap -msgid "`objecttype`" +#: en/config.txt:2290 +msgid "" +"When copying notes during a rewrite, specifies the (fully qualified) ref " +"whose notes should be copied. The ref may be a glob, in which case notes in " +"all matching refs will be copied. You may also specify this configuration " +"several times." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:196 -msgid "The type of of the object (the same as `cat-file -t` reports)." -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:197 -#, no-wrap -msgid "`objectsize`" +#: en/config.txt:2294 +msgid "" +"Does not have a default value; you must configure this variable to enable " +"note rewriting. Set it to `refs/notes/commits` to enable rewriting for the " +"default commit notes." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:200 -msgid "The size, in bytes, of the object (the same as `cat-file -s` reports)." +#: en/config.txt:2298 +msgid "" +"This setting can be overridden with the `GIT_NOTES_REWRITE_REF` environment " +"variable, which must be a colon separated list of refs or globs." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:201 +#: en/config.txt:2299 #, no-wrap -msgid "`objectsize:disk`" +msgid "pack.window" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:204 +#: en/config.txt:2302 msgid "" -"The size, in bytes, that the object takes up on disk. See the note about on-" -"disk sizes in the `CAVEATS` section below." +"The size of the window used by linkgit:git-pack-objects[1] when no window " +"size is given on the command line. Defaults to 10." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:205 +#: en/config.txt:2303 #, no-wrap -msgid "`deltabase`" +msgid "pack.depth" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:209 +#: en/config.txt:2306 msgid "" -"If the object is stored as a delta on-disk, this expands to the 40-hex sha1 " -"of the delta base object. Otherwise, expands to the null sha1 (40 zeroes). " -"See `CAVEATS` below." +"The maximum delta depth used by linkgit:git-pack-objects[1] when no maximum " +"depth is given on the command line. Defaults to 50." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:210 +#: en/config.txt:2307 #, no-wrap -msgid "`rest`" +msgid "pack.windowMemory" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:216 +#: en/config.txt:2313 msgid "" -"If this atom is used in the output string, input lines are split at the " -"first whitespace boundary. All characters before that whitespace are " -"considered to be the object name; characters after that first run of " -"whitespace (i.e., the \"rest\" of the line) are output in place of the `" -"%(rest)` atom." +"The maximum size of memory that is consumed by each thread in linkgit:git-" +"pack-objects[1] for pack window memory when no limit is given on the command " +"line. The value can be suffixed with \"k\", \"m\", or \"g\". When left " +"unconfigured (or set explicitly to 0), there will be no limit." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:219 -msgid "" -"If no format is specified, the default format is `%(objectname) " -"%(objecttype) %(objectsize)`." +#. type: Labeled list +#: en/config.txt:2314 +#, no-wrap +msgid "pack.compression" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:223 +#: en/config.txt:2322 msgid "" -"If `--batch` is specified, the object information is followed by the object " -"contents (consisting of `%(objectsize)` bytes), followed by a newline." +"An integer -1..9, indicating the compression level for objects in a pack " +"file. -1 is the zlib default. 0 means no compression, and 1..9 are various " +"speed/size tradeoffs, 9 being slowest. If not set, defaults to core." +"compression. If that is not set, defaults to -1, the zlib default, which is " +"\"a default compromise between speed and compression (currently equivalent " +"to level 6).\"" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:225 -msgid "For example, `--batch` without a custom format would produce:" +#: en/config.txt:2326 +msgid "" +"Note that changing the compression level will not automatically recompress " +"all existing objects. You can force recompression by passing the -F option " +"to linkgit:git-repack[1]." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:229 +#. type: Labeled list +#: en/config.txt:2327 #, no-wrap -msgid "" -"<sha1> SP <type> SP <size> LF\n" -"<contents> LF\n" +msgid "pack.deltaCacheSize" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:232 -msgid "Whereas `--batch-check='%(objectname) %(objecttype)'` would produce:" +#: en/config.txt:2337 +msgid "" +"The maximum memory in bytes used for caching deltas in linkgit:git-pack-" +"objects[1] before writing them out to a pack. This cache is used to speed " +"up the writing object phase by not having to recompute the final delta " +"result once the best match for all objects is found. Repacking large " +"repositories on machines which are tight with memory might be badly impacted " +"by this though, especially if this cache pushes the system into swapping. A " +"value of 0 means no limit. The smallest size of 1 byte may be used to " +"virtually disable this cache. Defaults to 256 MiB." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:235 +#. type: Labeled list +#: en/config.txt:2338 #, no-wrap -msgid "<sha1> SP <type> LF\n" +msgid "pack.deltaCacheLimit" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:239 +#: en/config.txt:2343 msgid "" -"If a name is specified on stdin that cannot be resolved to an object in the " -"repository, then `cat-file` will ignore any custom format and print:" +"The maximum size of a delta, that is cached in linkgit:git-pack-objects[1]. " +"This cache is used to speed up the writing object phase by not having to " +"recompute the final delta result once the best match for all objects is " +"found. Defaults to 1000." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:242 en/git-cat-file.txt:262 +#. type: Labeled list +#: en/config.txt:2344 #, no-wrap -msgid "<object> SP missing LF\n" +msgid "pack.threads" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:247 +#: en/config.txt:2353 msgid "" -"If --follow-symlinks is used, and a symlink in the repository points outside " -"the repository, then `cat-file` will ignore any custom format and print:" +"Specifies the number of threads to spawn when searching for best delta " +"matches. This requires that linkgit:git-pack-objects[1] be compiled with " +"pthreads otherwise this option is ignored with a warning. This is meant to " +"reduce packing time on multiprocessor machines. The required amount of " +"memory for the delta search window is however multiplied by the number of " +"threads. Specifying 0 will cause Git to auto-detect the number of CPU's and " +"set the number of threads accordingly." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:251 +#. type: Labeled list +#: en/config.txt:2354 #, no-wrap -msgid "" -"symlink SP <size> LF\n" -"<symlink> LF\n" +msgid "pack.indexVersion" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:256 +#: en/config.txt:2362 msgid "" -"The symlink will either be absolute (beginning with a /), or relative to the " -"tree root. For instance, if dir/link points to ../../foo, then <symlink> " -"will be ../foo. <size> is the size of the symlink in bytes." +"Specify the default pack index version. Valid values are 1 for legacy pack " +"index used by Git versions prior to 1.5.2, and 2 for the new pack index with " +"capabilities for packs larger than 4 GB as well as proper protection against " +"the repacking of corrupted packs. Version 2 is the default. Note that " +"version 2 is enforced and this config option ignored whenever the " +"corresponding pack is larger than 2 GB." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:259 +#: en/config.txt:2370 msgid "" -"If --follow-symlinks is used, the following error messages will be displayed:" -msgstr "" - -#. type: Plain text -#: en/git-cat-file.txt:264 -msgid "is printed when the initial symlink requested does not exist." +"If you have an old Git that does not understand the version 2 `*.idx` file, " +"cloning or fetching over a non native protocol (e.g. \"http\") that will " +"copy both `*.pack` file and corresponding `*.idx` file from the other side " +"may give you a repository that cannot be accessed with your older version of " +"Git. If the `*.pack` file is smaller than 2 GB, however, you can use linkgit:" +"git-index-pack[1] on the *.pack file to regenerate the `*.idx` file." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:268 +#. type: Labeled list +#: en/config.txt:2371 #, no-wrap -msgid "" -"dangling SP <size> LF\n" -"<object> LF\n" +msgid "pack.packSizeLimit" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:271 +#: en/config.txt:2382 msgid "" -"is printed when the initial symlink exists, but something that it " -"(transitive-of) points to does not." +"The maximum size of a pack. This setting only affects packing to a file " +"when repacking, i.e. the git:// protocol is unaffected. It can be " +"overridden by the `--max-pack-size` option of linkgit:git-repack[1]. " +"Reaching this limit results in the creation of multiple packfiles; which in " +"turn prevents bitmaps from being created. The minimum size allowed is " +"limited to 1 MiB. The default is unlimited. Common unit suffixes of 'k', " +"'m', or 'g' are supported." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:275 +#. type: Labeled list +#: en/config.txt:2383 #, no-wrap -msgid "" -"loop SP <size> LF\n" -"<object> LF\n" +msgid "pack.useBitmaps" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:278 +#: en/config.txt:2388 msgid "" -"is printed for symlink loops (or any symlinks that require more than 40 link " -"resolutions to resolve)." +"When true, git will use pack bitmaps (if available) when packing to stdout " +"(e.g., during the server side of a fetch). Defaults to true. You should not " +"generally need to turn this off unless you are debugging pack bitmaps." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:282 +#. type: Labeled list +#: en/config.txt:2389 #, no-wrap -msgid "" -"notdir SP <size> LF\n" -"<object> LF\n" +msgid "pack.writeBitmaps (deprecated)" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:285 -msgid "" -"is printed when, during symlink resolution, a file is used as a directory " -"name." +#: en/config.txt:2391 +msgid "This is a deprecated synonym for `repack.writeBitmaps`." msgstr "" -#. type: Title - -#: en/git-cat-file.txt:287 en/git-svn.txt:960 +#. type: Labeled list +#: en/config.txt:2392 #, no-wrap -msgid "CAVEATS" +msgid "pack.writeBitmapHashCache" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:295 +#: en/config.txt:2402 msgid "" -"Note that the sizes of objects on disk are reported accurately, but care " -"should be taken in drawing conclusions about which refs or objects are " -"responsible for disk usage. The size of a packed non-delta object may be " -"much larger than the size of objects which delta against it, but the choice " -"of which object is the base and which is the delta is arbitrary and is " -"subject to change during a repack." +"When true, git will include a \"hash cache\" section in the bitmap index (if " +"one is written). This cache can be used to feed git's delta heuristics, " +"potentially leading to better deltas between bitmapped and non-bitmapped " +"objects (e.g., when serving a fetch between an older, bitmapped pack and " +"objects that have been pushed since the last gc). The downside is that it " +"consumes 4 bytes per object of disk space, and that JGit's bitmap " +"implementation does not understand it, causing it to complain if Git and " +"JGit are used on the same repository. Defaults to false." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:299 -msgid "" -"Note also that multiple copies of an object may be present in the object " -"database; in this case, it is undefined which copy's size or delta base will " -"be reported." +#. type: Labeled list +#: en/config.txt:2403 +#, no-wrap +msgid "pager.<cmd>" msgstr "" -#. type: Title = -#: en/git-check-attr.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-check-attr(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-check-attr.txt:7 -msgid "git-check-attr - Display gitattributes information" +#: en/config.txt:2411 +msgid "" +"If the value is boolean, turns on or off pagination of the output of a " +"particular Git subcommand when writing to a tty. Otherwise, turns on " +"pagination for the subcommand using the pager specified by the value of " +"`pager.<cmd>`. If `--paginate` or `--no-pager` is specified on the command " +"line, it takes precedence over this option. To disable pagination for all " +"commands, set `core.pager` or `GIT_PAGER` to `cat`." msgstr "" -#. type: Plain text -#: en/git-check-attr.txt:14 +#. type: Labeled list +#: en/config.txt:2412 #, no-wrap -msgid "" -"'git check-attr' [-a | --all | attr...] [--] pathname...\n" -"'git check-attr' --stdin [-z] [-a | --all | attr...]\n" +msgid "pretty.<name>" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:19 +#: en/config.txt:2421 msgid "" -"For every pathname, this command will list if each attribute is " -"'unspecified', 'set', or 'unset' as a gitattribute on that pathname." +"Alias for a --pretty= format string, as specified in linkgit:git-log[1]. Any " +"aliases defined here can be used just as the built-in pretty formats could. " +"For example, running `git config pretty.changelog \"format:* %H %s\"` would " +"cause the invocation `git log --pretty=changelog` to be equivalent to " +"running `git log \"--pretty=format:* %H %s\"`. Note that an alias with the " +"same name as a built-in format will be silently ignored." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:22 +#: en/config.txt:2422 #, no-wrap -msgid "-a, --all" +msgid "protocol.allow" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:26 +#: en/config.txt:2429 msgid "" -"List all attributes that are associated with the specified paths. If this " -"option is used, then 'unspecified' attributes will not be included in the " -"output." +"If set, provide a user defined default policy for all protocols which don't " +"explicitly have a policy (`protocol.<name>.allow`). By default, if unset, " +"known-safe protocols (http, https, git, ssh, file) have a default policy of " +"`always`, known-dangerous protocols (ext) have a default policy of `never`, " +"and all other protocols have a default policy of `user`. Supported policies:" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:29 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Consider `.gitattributes` in the index only, ignoring the working tree." +#: en/config.txt:2433 +msgid "`always` - protocol is always able to be used." +msgstr "" + +#. type: Plain text +#: en/config.txt:2435 +msgid "`never` - protocol is never able to be used." +msgstr "" + +#. type: Plain text +#: en/config.txt:2441 +msgid "" +"`user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is " +"either unset or has a value of 1. This policy should be used when you want " +"a protocol to be directly usable by the user but don't want it used by " +"commands which execute clone/fetch/push commands without user input, e.g. " +"recursive submodule initialization." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git-check-attr.txt:30 en/git-check-ignore.txt:37 -#: en/git-check-mailmap.txt:26 en/git-checkout-index.txt:62 -#: en/git-diff-tree.txt:49 en/git-fetch-pack.txt:38 en/git-hash-object.txt:34 -#: en/git-http-fetch.txt:40 en/git-index-pack.txt:38 en/git-name-rev.txt:45 -#: en/git-notes.txt:173 en/git-send-pack.txt:41 en/git-svn.txt:564 -#: en/git-update-index.txt:140 en/rev-list-options.txt:194 +#: en/config.txt:2444 #, no-wrap -msgid "--stdin" +msgid "protocol.<name>.allow" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:33 en/git-check-ignore.txt:40 +#: en/config.txt:2447 msgid "" -"Read pathnames from the standard input, one per line, instead of from the " -"command-line." +"Set a policy to be used by protocol `<name>` with clone/fetch/push commands. " +"See `protocol.allow` above for the available policies." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:38 -msgid "" -"The output format is modified to be machine-parseable. If `--stdin` is also " -"given, input paths are separated with a NUL character instead of a linefeed " -"character." +#: en/config.txt:2449 +msgid "The protocol names currently used by git are:" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:42 +#: en/config.txt:2453 msgid "" -"Interpret all preceding arguments as attributes and all following arguments " -"as path names." +"`file`: any local file-based path (including `file://` URLs, or local paths)" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:46 +#: en/config.txt:2456 msgid "" -"If none of `--stdin`, `--all`, or `--` is used, the first argument will be " -"treated as an attribute and the rest of the arguments as pathnames." +"`git`: the anonymous git protocol over a direct TCP connection (or proxy, if " +"configured)" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:52 -msgid "" -"The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF" +#: en/config.txt:2459 +msgid "`ssh`: git over ssh (including `host:path` syntax, `ssh://`, etc)." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:55 +#: en/config.txt:2463 msgid "" -"unless `-z` is in effect, in which case NUL is used as delimiter: <path> NUL " -"<attribute> NUL <info> NUL" +"`http`: git over http, both \"smart http\" and \"dumb http\". Note that " +"this does _not_ include `https`; if you want to configure both, you must do " +"so individually." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:59 +#: en/config.txt:2466 msgid "" -"<path> is the path of a file being queried, <attribute> is an attribute " -"being queried and <info> can be either:" +"any external helpers are named by their protocol (e.g., use `hg` to allow " +"the `git-remote-hg` helper)" msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:60 +#: en/config.txt:2468 #, no-wrap -msgid "'unspecified'" +msgid "pull.ff" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:61 -msgid "when the attribute is not defined for the path." +#: en/config.txt:2477 +msgid "" +"By default, Git does not create an extra merge commit when merging a commit " +"that is a descendant of the current commit. Instead, the tip of the current " +"branch is fast-forwarded. When set to `false`, this variable tells Git to " +"create an extra merge commit in such a case (equivalent to giving the `--no-" +"ff` option from the command line). When set to `only`, only such fast-" +"forward merges are allowed (equivalent to giving the `--ff-only` option from " +"the command line). This setting overrides `merge.ff` when pulling." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:61 +#: en/config.txt:2478 #, no-wrap -msgid "'unset'" +msgid "pull.rebase" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:62 -msgid "when the attribute is defined as false." +#: en/config.txt:2483 +msgid "" +"When true, rebase branches on top of the fetched branch, instead of merging " +"the default branch from the default remote when \"git pull\" is run. See " +"\"branch.<name>.rebase\" for setting this on a per-branch basis." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:62 +#: en/config.txt:2494 #, no-wrap -msgid "'set'" +msgid "pull.octopus" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:63 -msgid "when the attribute is defined as true." +#: en/config.txt:2497 +msgid "" +"The default merge strategy to use when pulling multiple branches at once." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:63 +#: en/config.txt:2498 #, no-wrap -msgid "<value>" +msgid "pull.twohead" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:64 -msgid "when a value has been assigned to the attribute." +#: en/config.txt:2500 +msgid "The default merge strategy to use when pulling a single branch." msgstr "" -#. type: Plain text -#: en/git-check-attr.txt:69 en/git-check-ignore.txt:99 -msgid "" -"Buffering happens as documented under the `GIT_FLUSH` option in linkgit:" -"git[1]. The caller is responsible for avoiding deadlocks caused by " -"overfilling an input buffer or reading from an empty output buffer." -msgstr "" +#. type: Labeled list +#: en/config.txt:2501 +#, fuzzy, no-wrap +#| msgid "default" +msgid "push.default" +msgstr "default" #. type: Plain text -#: en/git-check-attr.txt:74 -msgid "In the examples, the following '.gitattributes' file is used:" -msgstr "" - -#. type: delimited block - -#: en/git-check-attr.txt:78 -#, no-wrap +#: en/config.txt:2507 msgid "" -"*.java diff=java -crlf myAttr\n" -"NoMyAttr.java !myAttr\n" -"README caveat=unspecified\n" +"Defines the action `git push` should take if no refspec is explicitly " +"given. Different values are well-suited for specific workflows; for " +"instance, in a purely central workflow (i.e. the fetch source is equal to " +"the push destination), `upstream` is probably what you want. Possible " +"values are:" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:81 -msgid "Listing a single attribute:" -msgstr "" - -#. type: delimited block - -#: en/git-check-attr.txt:84 -#, no-wrap +#: en/config.txt:2513 msgid "" -"$ git check-attr diff org/example/MyClass.java\n" -"org/example/MyClass.java: diff: java\n" +"`nothing` - do not push anything (error out) unless a refspec is explicitly " +"given. This is primarily meant for people who want to avoid mistakes by " +"always being explicit." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:87 -msgid "Listing multiple attributes for a file:" -msgstr "" - -#. type: delimited block - -#: en/git-check-attr.txt:92 -#, no-wrap +#: en/config.txt:2517 msgid "" -"$ git check-attr crlf diff myAttr -- org/example/MyClass.java\n" -"org/example/MyClass.java: crlf: unset\n" -"org/example/MyClass.java: diff: java\n" -"org/example/MyClass.java: myAttr: set\n" +"`current` - push the current branch to update a branch with the same name on " +"the receiving end. Works in both central and non-central workflows." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:95 -msgid "Listing all attributes for a file:" -msgstr "" - -#. type: delimited block - -#: en/git-check-attr.txt:99 -#, no-wrap +#: en/config.txt:2523 msgid "" -"$ git check-attr --all -- org/example/MyClass.java\n" -"org/example/MyClass.java: diff: java\n" -"org/example/MyClass.java: myAttr: set\n" +"`upstream` - push the current branch back to the branch whose changes are " +"usually integrated into the current branch (which is called `@{upstream}`). " +"This mode only makes sense if you are pushing to the same repository you " +"would normally pull from (i.e. central workflow)." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:102 -msgid "Listing an attribute for multiple files:" -msgstr "" - -#. type: delimited block - -#: en/git-check-attr.txt:106 -#, no-wrap -msgid "" -"$ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java\n" -"org/example/MyClass.java: myAttr: set\n" -"org/example/NoMyAttr.java: myAttr: unspecified\n" +#: en/config.txt:2525 +msgid "`tracking` - This is a deprecated synonym for `upstream`." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:109 -msgid "Not all values are equally unambiguous:" -msgstr "" - -#. type: delimited block - -#: en/git-check-attr.txt:112 -#, no-wrap +#: en/config.txt:2529 msgid "" -"$ git check-attr caveat README\n" -"README: caveat: unspecified\n" +"`simple` - in centralized workflow, work like `upstream` with an added " +"safety to refuse to push if the upstream branch's name is different from the " +"local one." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:117 -#, fuzzy -#| msgid "git-commit(1)" -msgid "linkgit:gitattributes[5]." -msgstr "git-commit(1)" - -#. type: Title = -#: en/git-check-ignore.txt:2 -#, no-wrap -msgid "git-check-ignore(1)" +#: en/config.txt:2533 +msgid "" +"When pushing to a remote that is different from the remote you normally pull " +"from, work as `current`. This is the safest option and is suited for " +"beginners." msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:7 -msgid "git-check-ignore - Debug gitignore / exclude files" +#: en/config.txt:2535 +msgid "This mode has become the default in Git 2.0." msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:14 -#, no-wrap +#: en/config.txt:2542 msgid "" -"'git check-ignore' [options] pathname...\n" -"'git check-ignore' [options] --stdin\n" +"`matching` - push all branches having the same name on both ends. This " +"makes the repository you are pushing to remember the set of branches that " +"will be pushed out (e.g. if you always push 'maint' and 'master' there and " +"no other branches, the repository you push to will have these two branches, " +"and your local 'maint' and 'master' will be pushed there)." msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:22 +#: en/config.txt:2552 msgid "" -"For each pathname given via the command-line or from a file via `--stdin`, " -"check whether the file is excluded by .gitignore (or other input files to " -"the exclude mechanism) and output the path if it is excluded." +"To use this mode effectively, you have to make sure _all_ the branches you " +"would push out are ready to be pushed out before running 'git push', as the " +"whole point of this mode is to allow you to push all of the branches in one " +"go. If you usually finish work on only one branch and push out the result, " +"while other branches are unfinished, this mode is not for you. Also this " +"mode is not suitable for pushing into a shared central repository, as other " +"people may add new branches there, or update the tip of existing branches " +"outside your control." msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:25 +#: en/config.txt:2555 msgid "" -"By default, tracked files are not shown at all since they are not subject to " -"exclude rules; but see `--no-index'." +"This used to be the default, but not since Git 2.0 (`simple` is the new " +"default)." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:28 +#: en/config.txt:2558 #, no-wrap -msgid "-q, --quiet" +msgid "push.followTags" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:31 -msgid "" -"Don't output anything, just set exit status. This is only valid with a " -"single pathname." +#: en/config.txt:2562 +msgid "" +"If set to true enable `--follow-tags` option by default. You may override " +"this configuration at time of push by specifying `--no-follow-tags`." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:32 +#: en/config.txt:2563 #, no-wrap -msgid "-v, --verbose" +msgid "push.gpgSign" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:36 +#: en/config.txt:2571 msgid "" -"Also output details about the matching pattern (if any) for each given " -"pathname. For precedence rules within and between exclude sources, see " -"linkgit:gitignore[5]." +"May be set to a boolean value, or the string 'if-asked'. A true value causes " +"all pushes to be GPG signed, as if `--signed` is passed to linkgit:git-" +"push[1]. The string 'if-asked' causes pushes to be signed if the server " +"supports it, as if `--signed=if-asked` is passed to 'git push'. A false " +"value may override a value from a lower-priority config file. An explicit " +"command-line flag always overrides this config option." msgstr "" +#. type: Labeled list +#: en/config.txt:2572 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "push.recurseSubmodules" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-check-ignore.txt:45 +#: en/config.txt:2585 msgid "" -"The output format is modified to be machine-parseable (see below). If `--" -"stdin` is also given, input paths are separated with a NUL character instead " -"of a linefeed character." +"Make sure all submodule commits used by the revisions to be pushed are " +"available on a remote-tracking branch. If the value is 'check' then Git will " +"verify that all submodule commits that changed in the revisions to be pushed " +"are available on at least one remote of the submodule. If any commits are " +"missing, the push will be aborted and exit with non-zero status. If the " +"value is 'on-demand' then all submodules that changed in the revisions to be " +"pushed will be pushed. If on-demand was not able to push all necessary " +"revisions it will also be aborted and exit with non-zero status. If the " +"value is 'no' then default behavior of ignoring submodules when pushing is " +"retained. You may override this configuration at time of push by specifying " +"'--recurse-submodules=check|on-demand|no'." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:46 +#: en/config.txt:2586 en/git-rebase.txt:206 #, no-wrap -msgid "-n, --non-matching" +msgid "rebase.stat" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:51 +#: en/config.txt:2589 en/git-rebase.txt:209 msgid "" -"Show given paths which don't match any pattern.\t This only makes sense when " -"`--verbose` is enabled, otherwise it would not be possible to distinguish " -"between paths which match a pattern and those which don't." +"Whether to show a diffstat of what changed upstream since the last rebase. " +"False by default." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:52 en/git-grep.txt:76 +#: en/config.txt:2590 en/git-rebase.txt:210 #, no-wrap -msgid "--no-index" +msgid "rebase.autoSquash" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:58 -msgid "" -"Don't look in the index when undertaking the checks. This can be used to " -"debug why a path became tracked by e.g. `git add .` and was not ignored by " -"the rules as expected by the user or when developing patterns including " -"negation to match a path previously added with `git add -f`." +#: en/config.txt:2592 en/git-rebase.txt:212 +msgid "If set to true enable `--autosquash` option by default." msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:66 -msgid "" -"By default, any of the given pathnames which match an ignore pattern will be " -"output, one per line. If no pattern matches a given path, nothing will be " -"output for that path; this means that path will not be ignored." +#. type: Labeled list +#: en/config.txt:2593 en/git-rebase.txt:213 +#, no-wrap +msgid "rebase.autoStash" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:68 +#: en/config.txt:2600 msgid "" -"If `--verbose` is specified, the output is a series of lines of the form:" -msgstr "" - -#. type: Plain text -#: en/git-check-ignore.txt:70 -msgid "<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>" +"When set to true, automatically create a temporary stash before the " +"operation begins, and apply it after the operation ends. This means that " +"you can run rebase on a dirty worktree. However, use with care: the final " +"stash application after a successful rebase might result in non-trivial " +"conflicts. Defaults to false." msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:78 -msgid "" -"<pathname> is the path of a file being queried, <pattern> is the matching " -"pattern, <source> is the pattern's source file, and <linenum> is the line " -"number of the pattern within that source. If the pattern contained a `!` " -"prefix or `/` suffix, it will be preserved in the output. <source> will be " -"an absolute path when referring to the file configured by `core." -"excludesFile`, or relative to the repository root when referring to `.git/" -"info/exclude` or a per-directory exclude file." +#. type: Labeled list +#: en/config.txt:2601 en/git-rebase.txt:216 +#, no-wrap +msgid "rebase.missingCommitsCheck" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:82 +#: en/config.txt:2611 msgid "" -"If `-z` is specified, the pathnames in the output are delimited by the null " -"character; if `--verbose` is also specified then null characters are also " -"used instead of colons and hard tabs:" +"If set to \"warn\", git rebase -i will print a warning if some commits are " +"removed (e.g. a line was deleted), however the rebase will still proceed. If " +"set to \"error\", it will print the previous warning and stop the rebase, " +"'git rebase --edit-todo' can then be used to correct the error. If set to " +"\"ignore\", no checking is done. To drop a commit without warning or error, " +"use the `drop` command in the todo-list. Defaults to \"ignore\"." msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:84 -msgid "<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>" +#. type: Labeled list +#: en/config.txt:2612 en/git-rebase.txt:222 +#, no-wrap +msgid "rebase.instructionFormat" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:94 +#: en/config.txt:2616 msgid "" -"If `-n` or `--non-matching` are specified, non-matching pathnames will also " -"be output, in which case all fields in each output record except for " -"<pathname> will be empty. This can be useful when running non-" -"interactively, so that files can be incrementally streamed to STDIN of a " -"long-running check-ignore process, and for each of these files, STDOUT will " -"indicate whether that file matched a pattern or not. (Without this option, " -"it would be impossible to tell whether the absence of output for a given " -"file meant that it didn't match any pattern, or that the output hadn't been " -"generated yet.)" -msgstr "" - -#. type: Title - -#: en/git-check-ignore.txt:101 -#, no-wrap -msgid "EXIT STATUS" +"A format string, as specified in linkgit:git-log[1], to be used for the " +"instruction list during an interactive rebase. The format will " +"automatically have the long commit hash prepended to the format." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:103 +#: en/config.txt:2617 #, no-wrap -msgid "0" +msgid "receive.advertiseAtomic" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:105 -msgid "One or more of the provided paths is ignored." +#: en/config.txt:2621 +msgid "" +"By default, git-receive-pack will advertise the atomic push capability to " +"its clients. If you don't want to advertise this capability, set this " +"variable to false." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:106 +#: en/config.txt:2622 #, no-wrap -msgid "1" +msgid "receive.advertisePushOptions" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:108 -msgid "None of the provided paths are ignored." +#: en/config.txt:2626 +msgid "" +"By default, git-receive-pack will advertise the push options capability to " +"its clients. If you don't want to advertise this capability, set this " +"variable to false." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:109 +#: en/config.txt:2627 #, no-wrap -msgid "128" +msgid "receive.autogc" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:111 -msgid "A fatal error was encountered." +#: en/config.txt:2631 +msgid "" +"By default, git-receive-pack will run \"git-gc --auto\" after receiving data " +"from git-push and updating refs. You can stop it by setting this variable " +"to false." msgstr "" -# -#. type: Plain text -#: en/git-check-ignore.txt:117 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:gitignore[5] linkgit:git-config[1] linkgit:git-ls-files[1]" +#. type: Labeled list +#: en/config.txt:2632 +#, no-wrap +msgid "receive.certNonceSeed" msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-check-mailmap.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-check-mailmap(1)" -msgstr "git-commit(1)" #. type: Plain text -#: en/git-check-mailmap.txt:7 +#: en/config.txt:2637 msgid "" -"git-check-mailmap - Show canonical names and email addresses of contacts" +"By setting this variable to a string, `git receive-pack` will accept a `git " +"push --signed` and verifies it by using a \"nonce\" protected by HMAC using " +"this string as a secret key." msgstr "" -#. type: Plain text -#: en/git-check-mailmap.txt:13 +#. type: Labeled list +#: en/config.txt:2638 #, no-wrap -msgid "'git check-mailmap' [options] <contact>...\n" +msgid "receive.certNonceSlop" msgstr "" #. type: Plain text -#: en/git-check-mailmap.txt:22 +#: en/config.txt:2650 msgid "" -"For each ``Name $$<user@host>$$'' or ``$$<user@host>$$'' from the command-" -"line or standard input (when using `--stdin`), look up the person's " -"canonical name and email address (see \"Mapping Authors\" below). If found, " -"print them; otherwise print the input as-is." +"When a `git push --signed` sent a push certificate with a \"nonce\" that was " +"issued by a receive-pack serving the same repository within this many " +"seconds, export the \"nonce\" found in the certificate to " +"`GIT_PUSH_CERT_NONCE` to the hooks (instead of what the receive-pack asked " +"the sending side to include). This may allow writing checks in `pre-" +"receive` and `post-receive` a bit easier. Instead of checking " +"`GIT_PUSH_CERT_NONCE_SLOP` environment variable that records by how many " +"seconds the nonce is stale to decide if they want to accept the certificate, " +"they only can check `GIT_PUSH_CERT_NONCE_STATUS` is `OK`." msgstr "" -#. type: Plain text -#: en/git-check-mailmap.txt:29 -msgid "" -"Read contacts, one per line, from the standard input after exhausting " -"contacts provided on the command-line." -msgstr "" +#. type: Labeled list +#: en/config.txt:2651 +#, fuzzy, no-wrap +#| msgid "git-fsck-objects(1)" +msgid "receive.fsckObjects" +msgstr "git-fsck-objects(1)" #. type: Plain text -#: en/git-check-mailmap.txt:37 +#: en/config.txt:2657 msgid "" -"For each contact, a single line is output, terminated by a newline. If the " -"name is provided or known to the 'mailmap', ``Name $$<user@host>$$'' is " -"printed; otherwise only ``$$<user@host>$$'' is printed." +"If it is set to true, git-receive-pack will check all received objects. It " +"will abort in the case of a malformed object or a broken link. The result of " +"an abort are only dangling objects. Defaults to false. If not set, the " +"value of `transfer.fsckObjects` is used instead." msgstr "" -#. type: Title = -#: en/git-checkout-index.txt:2 +#. type: Labeled list +#: en/config.txt:2658 #, no-wrap -msgid "git-checkout-index(1)" +msgid "receive.fsck.<msg-id>" msgstr "" -# -#. type: Plain text -#: en/git-checkout-index.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-checkout-index - Copy files from the index to the working tree" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - #. type: Plain text -#: en/git-checkout-index.txt:17 -#, no-wrap +#: en/config.txt:2666 msgid "" -"'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]\n" -"\t\t [--stage=<number>|all]\n" -"\t\t [--temp]\n" -"\t\t [-z] [--stdin]\n" -"\t\t [--] [<file>...]\n" +"When `receive.fsckObjects` is set to true, errors can be switched to " +"warnings and vice versa by configuring the `receive.fsck.<msg-id>` setting " +"where the `<msg-id>` is the fsck message ID and the value is one of `error`, " +"`warn` or `ignore`. For convenience, fsck prefixes the error/warning with " +"the message ID, e.g. \"missingEmail: invalid author/committer line - missing " +"email\" means that setting `receive.fsck.missingEmail = ignore` will hide " +"that issue." msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:22 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" +#: en/config.txt:2671 msgid "" -"Will copy all files listed from the index to the working directory (not " -"overwriting existing files)." +"This feature is intended to support working with legacy repositories which " +"would not pass pushing when `receive.fsckObjects = true`, allowing the host " +"to accept repositories with certain known issues but still catch other " +"issues." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Plain text -#: en/git-checkout-index.txt:29 -msgid "update stat information for the checked out entries in the index file." +#. type: Labeled list +#: en/config.txt:2672 +#, no-wrap +msgid "receive.fsck.skipList" msgstr "" -# -#. type: Plain text -#: en/git-checkout-index.txt:33 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "be quiet if files exist or are not in the index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Plain text -#: en/git-checkout-index.txt:37 -#, fuzzy -#| msgid "" -#| "-f::\n" -#| "--force::\n" -#| "\tAllow adding otherwise ignored files.\n" -msgid "forces overwrite of existing files" +#. type: Labeled list +#: en/config.txt:2680 +#, no-wrap +msgid "receive.keepAlive" msgstr "" -"-f::\n" -"--force::\n" -"\tForce l'ajout de fichiers qui sont normalement ignor챕s.\n" #. type: Plain text -#: en/git-checkout-index.txt:42 +#: en/config.txt:2688 msgid "" -"checks out all files in the index. Cannot be used together with explicit " -"filenames." +"After receiving the pack from the client, `receive-pack` may produce no " +"output (if `--quiet` was specified) while processing the pack, causing some " +"networks to drop the TCP connection. With this option set, if `receive-" +"pack` does not transmit any data in this phase for `receive.keepAlive` " +"seconds, it will send a short keepalive packet. The default is 5 seconds; " +"set to 0 to disable keepalives entirely." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:44 +#: en/config.txt:2689 #, no-wrap -msgid "--no-create" +msgid "receive.unpackLimit" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:47 -msgid "Don't checkout new files, only refresh files already checked out." +#: en/config.txt:2698 +msgid "" +"If the number of objects received in a push is below this limit then the " +"objects will be unpacked into loose object files. However if the number of " +"received objects equals or exceeds this limit then the received pack will be " +"stored as a pack, after adding any missing delta bases. Storing the pack " +"from a push can make the push operation complete faster, especially on slow " +"filesystems. If not set, the value of `transfer.unpackLimit` is used " +"instead." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:48 +#: en/config.txt:2699 #, no-wrap -msgid "--prefix=<string>" +msgid "receive.maxInputSize" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:51 +#: en/config.txt:2704 msgid "" -"When creating files, prepend <string> (usually a directory including a " -"trailing /)" +"If the size of the incoming pack stream is larger than this limit, then git-" +"receive-pack will error out, instead of accepting the pack file. If not set " +"or set to 0, then the size is unlimited." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:52 +#: en/config.txt:2705 #, no-wrap -msgid "--stage=<number>|all" +msgid "receive.denyDeletes" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:56 +#: en/config.txt:2708 msgid "" -"Instead of checking out unmerged entries, copy out the files from named " -"stage. <number> must be between 1 and 3. Note: --stage=all automatically " -"implies --temp." +"If set to true, git-receive-pack will deny a ref update that deletes the " +"ref. Use this to prevent such a ref deletion via a push." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:57 +#: en/config.txt:2709 #, no-wrap -msgid "--temp" +msgid "receive.denyDeleteCurrent" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:61 +#: en/config.txt:2712 msgid "" -"Instead of copying the files to the working directory write the content to " -"temporary files. The temporary name associations will be written to stdout." +"If set to true, git-receive-pack will deny a ref update that deletes the " +"currently checked out branch of a non-bare repository." msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:66 en/git-update-index.txt:144 -msgid "" -"Instead of taking list of paths from the command line, read list of paths " -"from the standard input. Paths are separated by LF (i.e. one path per line) " -"by default." +#. type: Labeled list +#: en/config.txt:2713 +#, no-wrap +msgid "receive.denyCurrentBranch" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:70 +#: en/config.txt:2721 msgid "" -"Only meaningful with `--stdin`; paths are separated with NUL character " -"instead of LF." -msgstr "" - -#. type: Plain text -#: en/git-checkout-index.txt:73 en/git-commit.txt:338 en/git-ls-files.txt:176 -#: en/git-merge-index.txt:25 en/git-prune.txt:47 en/git-update-index.txt:206 -#: en/git-verify-pack.txt:38 -msgid "Do not interpret any more arguments as options." -msgstr "Ne pas interpr챕ter les arguments qui suivent comme options." - -#. type: Plain text -#: en/git-checkout-index.txt:75 -msgid "The order of the flags used to matter, but not anymore." +"If set to true or \"refuse\", git-receive-pack will deny a ref update to the " +"currently checked out branch of a non-bare repository. Such a push is " +"potentially dangerous because it brings the HEAD out of sync with the index " +"and working tree. If set to \"warn\", print a warning of such a push to " +"stderr, but allow the push to proceed. If set to false or \"ignore\", allow " +"such pushes with no message. Defaults to \"refuse\"." msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:79 +#: en/config.txt:2728 msgid "" -"Just doing `git checkout-index` does nothing. You probably meant `git " -"checkout-index -a`. And if you want to force it, you want `git checkout-" -"index -f -a`." +"Another option is \"updateInstead\" which will update the working tree if " +"pushing into the current branch. This option is intended for synchronizing " +"working directories when one side is not easily accessible via interactive " +"ssh (e.g. a live web site, hence the requirement that the working directory " +"be clean). This mode also comes in handy when developing inside a VM to test " +"and fix code on different Operating Systems." msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:83 +#: en/config.txt:2732 msgid "" -"Intuitiveness is not the goal here. Repeatability is. The reason for the " -"\"no arguments means no work\" behavior is that from scripts you are " -"supposed to be able to do:" +"By default, \"updateInstead\" will refuse the push if the working tree or " +"the index have any difference from the HEAD, but the `push-to-checkout` hook " +"can be used to customize this. See linkgit:githooks[5]." msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:86 +#. type: Labeled list +#: en/config.txt:2733 #, no-wrap -msgid "$ find . -name '*.h' -print0 | xargs -0 git checkout-index -f --\n" +msgid "receive.denyNonFastForwards" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:92 +#: en/config.txt:2738 msgid "" -"which will force all existing `*.h` files to be replaced with their cached " -"copies. If an empty command line implied \"all\", then this would force-" -"refresh everything in the index, which was not the point. But since 'git " -"checkout-index' accepts --stdin it would be faster to use:" +"If set to true, git-receive-pack will deny a ref update which is not a fast-" +"forward. Use this to prevent such an update via a push, even if that push is " +"forced. This configuration variable is set when initializing a shared " +"repository." msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:95 +#. type: Labeled list +#: en/config.txt:2739 #, no-wrap -msgid "$ find . -name '*.h' -print0 | git checkout-index -f -z --stdin\n" +msgid "receive.hideRefs" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:100 +#: en/config.txt:2744 msgid "" -"The `--` is just a good idea when you know the rest will be filenames; it " -"will prevent problems with a filename of, for example, `-a`. Using `--` is " -"probably a good policy in scripts." +"This variable is the same as `transfer.hideRefs`, but applies only to " +"`receive-pack` (and so affects pushes, but not fetches). An attempt to " +"update or delete a hidden ref by `git push` is rejected." msgstr "" -#. type: Title - -#: en/git-checkout-index.txt:103 +#. type: Labeled list +#: en/config.txt:2745 #, no-wrap -msgid "Using --temp or --stage=all" -msgstr "" - -#. type: Plain text -#: en/git-checkout-index.txt:110 -msgid "" -"When `--temp` is used (or implied by `--stage=all`) 'git checkout-index' " -"will create a temporary file for each index entry being checked out. The " -"index will not be updated with stat information. These options can be " -"useful if the caller needs all stages of all unmerged entries so that the " -"unmerged files can be processed by an external merge tool." +msgid "receive.updateServerInfo" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:114 +#: en/config.txt:2748 msgid "" -"A listing will be written to stdout providing the association of temporary " -"file names to tracked path names. The listing format has two variations:" +"If set to true, git-receive-pack will run git-update-server-info after " +"receiving data from git-push and updating refs." msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:116 -msgid "tempname TAB path RS" +#. type: Labeled list +#: en/config.txt:2749 +#, no-wrap +msgid "receive.shallowUpdate" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:121 +#: en/config.txt:2752 msgid "" -"The first format is what gets used when `--stage` is omitted or is not `--" -"stage=all`. The field tempname is the temporary file name holding the file " -"content and path is the tracked path name in the index. Only the requested " -"entries are output." +"If set to true, .git/shallow can be updated when new refs require new " +"shallow roots. Otherwise those refs are rejected." msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:123 -msgid "stage1temp SP stage2temp SP stage3tmp TAB path RS" -msgstr "" +#. type: Labeled list +#: en/config.txt:2753 +#, fuzzy, no-wrap +#| msgid "default" +msgid "remote.pushDefault" +msgstr "default" #. type: Plain text -#: en/git-checkout-index.txt:129 +#: en/config.txt:2757 msgid "" -"The second format is what gets used when `--stage=all`. The three stage " -"temporary fields (stage1temp, stage2temp, stage3temp) list the name of the " -"temporary file if there is a stage entry in the index or `.` if there is no " -"stage entry. Paths which only have a stage 0 entry will always be omitted " -"from the output." +"The remote to push to by default. Overrides `branch.<name>.remote` for all " +"branches, and is overridden by `branch.<name>.pushRemote` for specific " +"branches." msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:136 -msgid "" -"In both formats RS (the record separator) is newline by default but will be " -"the null byte if -z was passed on the command line. The temporary file " -"names are always safe strings; they will never contain directory separators " -"or whitespace characters. The path field is always relative to the current " -"directory and the temporary file names are always relative to the top level " -"directory." +#. type: Labeled list +#: en/config.txt:2758 +#, no-wrap +msgid "remote.<name>.url" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:140 +#: en/config.txt:2761 msgid "" -"If the object being copied out to a temporary file is a symbolic link the " -"content of the link will be written to a normal file. It is up to the end-" -"user or the Porcelain to make use of this information." +"The URL of a remote repository. See linkgit:git-fetch[1] or linkgit:git-" +"push[1]." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:144 +#: en/config.txt:2762 #, no-wrap -msgid "To update and refresh only the files already checked out" +msgid "remote.<name>.pushurl" msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:148 en/git-update-index.txt:342 -#, no-wrap -msgid "$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh\n" +#. type: Plain text +#: en/config.txt:2764 +msgid "The push URL of a remote repository. See linkgit:git-push[1]." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:150 +#: en/config.txt:2765 #, no-wrap -msgid "Using 'git checkout-index' to \"export an entire tree\"" +msgid "remote.<name>.proxy" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:154 +#: en/config.txt:2769 msgid "" -"The prefix ability basically makes it trivial to use 'git checkout-index' as " -"an \"export as tree\" function. Just read the desired tree into the index, " -"and do:" +"For remotes that require curl (http, https and ftp), the URL to the proxy to " +"use for that remote. Set to the empty string to disable proxying for that " +"remote." msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:157 +#. type: Labeled list +#: en/config.txt:2770 #, no-wrap -msgid "$ git checkout-index --prefix=git-export-dir/ -a\n" +msgid "remote.<name>.proxyAuthMethod" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:161 +#: en/config.txt:2774 msgid "" -"`git checkout-index` will \"export\" the index into the specified directory." +"For remotes that require curl (http, https and ftp), the method to use for " +"authenticating against the proxy in use (probably set in `remote.<name>." +"proxy`). See `http.proxyAuthMethod`." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2775 +#, no-wrap +msgid "remote.<name>.fetch" msgstr "" +# #. type: Plain text -#: en/git-checkout-index.txt:165 +#: en/config.txt:2778 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"The final \"/\" is important. The exported name is literally just prefixed " -"with the specified string. Contrast this with the following example." +"The default set of \"refspec\" for linkgit:git-fetch[1]. See linkgit:git-" +"fetch[1]." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Labeled list -#: en/git-checkout-index.txt:166 -#, no-wrap -msgid "Export files with a prefix" -msgstr "" - -#. type: delimited block - -#: en/git-checkout-index.txt:170 +#: en/config.txt:2779 #, no-wrap -msgid "$ git checkout-index --prefix=.merged- Makefile\n" +msgid "remote.<name>.push" msgstr "" +# #. type: Plain text -#: en/git-checkout-index.txt:174 +#: en/config.txt:2782 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"This will check out the currently cached copy of `Makefile` into the file `." -"merged-Makefile`." +"The default set of \"refspec\" for linkgit:git-push[1]. See linkgit:git-" +"push[1]." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-checkout.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-checkout(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/config.txt:2783 +#, no-wrap +msgid "remote.<name>.mirror" +msgstr "" -# #. type: Plain text -#: en/git-checkout.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-checkout - Switch branches or restore working tree files" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/config.txt:2786 +msgid "" +"If true, pushing to this remote will automatically behave as if the `--" +"mirror` option was given on the command line." +msgstr "" -#. type: Plain text -#: en/git-checkout.txt:17 +#. type: Labeled list +#: en/config.txt:2787 #, no-wrap -msgid "" -"'git checkout' [-q] [-f] [-m] [<branch>]\n" -"'git checkout' [-q] [-f] [-m] --detach [<branch>]\n" -"'git checkout' [-q] [-f] [-m] [--detach] <commit>\n" -"'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]\n" -"'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>...\n" -"'git checkout' [-p|--patch] [<tree-ish>] [--] [<paths>...]\n" +msgid "remote.<name>.skipDefaultUpdate" msgstr "" #. type: Plain text -#: en/git-checkout.txt:24 +#: en/config.txt:2791 en/config.txt:2796 msgid "" -"Updates files in the working tree to match the version in the index or the " -"specified tree. If no paths are given, 'git checkout' will also update " -"`HEAD` to set the specified branch as the current branch." +"If true, this remote will be skipped by default when updating using linkgit:" +"git-fetch[1] or the `update` subcommand of linkgit:git-remote[1]." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:25 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "'git checkout' <branch>" -msgstr "$ git commit\n" +#: en/config.txt:2792 +#, no-wrap +msgid "remote.<name>.skipFetchAll" +msgstr "" + +#. type: Labeled list +#: en/config.txt:2797 +#, no-wrap +msgid "remote.<name>.receivepack" +msgstr "" #. type: Plain text -#: en/git-checkout.txt:31 +#: en/config.txt:2800 msgid "" -"To prepare for working on <branch>, switch to it by updating the index and " -"the files in the working tree, and by pointing HEAD at the branch. Local " -"modifications to the files in the working tree are kept, so that they can be " -"committed to the <branch>." +"The default program to execute on the remote side when pushing. See option " +"--receive-pack of linkgit:git-push[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2801 +#, no-wrap +msgid "remote.<name>.uploadpack" msgstr "" #. type: Plain text -#: en/git-checkout.txt:35 +#: en/config.txt:2804 msgid "" -"If <branch> is not found but there does exist a tracking branch in exactly " -"one remote (call it <remote>) with a matching name, treat as equivalent to" +"The default program to execute on the remote side when fetching. See option " +"--upload-pack of linkgit:git-fetch-pack[1]." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:38 +#. type: Labeled list +#: en/config.txt:2805 #, no-wrap -msgid "$ git checkout -b <branch> --track <remote>/<branch>\n" +msgid "remote.<name>.tagOpt" msgstr "" #. type: Plain text -#: en/git-checkout.txt:44 +#: en/config.txt:2812 msgid "" -"You could omit <branch>, in which case the command degenerates to \"check " -"out the current branch\", which is a glorified no-op with a rather expensive " -"side-effects to show only the tracking information, if exists, for the " -"current branch." +"Setting this value to --no-tags disables automatic tag following when " +"fetching from remote <name>. Setting it to --tags will fetch every tag from " +"remote <name>, even if they are not reachable from remote branch heads. " +"Passing these flags directly to linkgit:git-fetch[1] can override this " +"setting. See options --tags and --no-tags of linkgit:git-fetch[1]." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:45 +#: en/config.txt:2813 #, no-wrap -msgid "'git checkout' -b|-B <new_branch> [<start point>]" +msgid "remote.<name>.vcs" msgstr "" #. type: Plain text -#: en/git-checkout.txt:53 +#: en/config.txt:2816 msgid "" -"Specifying `-b` causes a new branch to be created as if linkgit:git-" -"branch[1] were called and then checked out. In this case you can use the `--" -"track` or `--no-track` options, which will be passed to 'git branch'. As a " -"convenience, `--track` without `-b` implies branch creation; see the " -"description of `--track` below." +"Setting this to a value <vcs> will cause Git to interact with the remote " +"with the git-remote-<vcs> helper." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2817 +#, no-wrap +msgid "remote.<name>.prune" msgstr "" #. type: Plain text -#: en/git-checkout.txt:56 +#: en/config.txt:2822 msgid "" -"If `-B` is given, <new_branch> is created if it doesn't exist; otherwise, it " -"is reset. This is the transactional equivalent of" +"When set to true, fetching from this remote by default will also remove any " +"remote-tracking references that no longer exist on the remote (as if the `--" +"prune` option was given on the command line). Overrides `fetch.prune` " +"settings, if any." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:60 +#. type: Labeled list +#: en/config.txt:2823 #, no-wrap -msgid "" -"$ git branch -f <branch> [<start point>]\n" -"$ git checkout <branch>\n" +msgid "remotes.<group>" msgstr "" #. type: Plain text -#: en/git-checkout.txt:64 +#: en/config.txt:2826 msgid "" -"that is to say, the branch is not reset/created unless \"git checkout\" is " -"successful." +"The list of remotes which are fetched by \"git remote update <group>\". See " +"linkgit:git-remote[1]." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:65 +#: en/config.txt:2827 #, no-wrap -msgid "'git checkout' --detach [<branch>]" +msgid "repack.useDeltaBaseOffset" +msgstr "" + +#. type: Plain text +#: en/config.txt:2834 +msgid "" +"By default, linkgit:git-repack[1] creates packs that use delta-base offset. " +"If you need to share your repository with Git older than version 1.4.4, " +"either directly or via a dumb protocol such as http, then you need to set " +"this option to \"false\" and repack. Access from old Git versions over the " +"native protocol are unaffected by this option." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:66 +#: en/config.txt:2835 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "'git checkout' [--detach] <commit>" -msgstr "$ git commit\n" +#| msgid "git-fsck-objects(1)" +msgid "repack.packKeptObjects" +msgstr "git-fsck-objects(1)" #. type: Plain text -#: en/git-checkout.txt:74 +#: en/config.txt:2841 msgid "" -"Prepare to work on top of <commit>, by detaching HEAD at it (see \"DETACHED " -"HEAD\" section), and updating the index and the files in the working tree. " -"Local modifications to the files in the working tree are kept, so that the " -"resulting working tree will be the state recorded in the commit plus the " -"local modifications." +"If set to true, makes `git repack` act as if `--pack-kept-objects` was " +"passed. See linkgit:git-repack[1] for details. Defaults to `false` normally, " +"but `true` if a bitmap index is being written (either via `--write-bitmap-" +"index` or `repack.writeBitmaps`)." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:78 -msgid "" -"When the <commit> argument is a branch name, the `--detach` option can be " -"used to detach HEAD at the tip of the branch (`git checkout <branch>` would " -"check out that branch without detaching HEAD)." +#. type: Labeled list +#: en/config.txt:2842 +#, no-wrap +msgid "repack.writeBitmaps" msgstr "" #. type: Plain text -#: en/git-checkout.txt:80 -msgid "Omitting <branch> detaches HEAD at the tip of the current branch." +#: en/config.txt:2850 +msgid "" +"When true, git will write a bitmap index when packing all objects to disk (e." +"g., when `git repack -a` is run). This index can speed up the \"counting " +"objects\" phase of subsequent packs created for clones and fetches, at the " +"cost of some disk space and extra time spent on the initial repack. This " +"has no effect if multiple packfiles are created. Defaults to false." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:81 +#: en/config.txt:2851 #, no-wrap -msgid "'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>..." +msgid "rerere.autoUpdate" msgstr "" #. type: Plain text -#: en/git-checkout.txt:91 +#: en/config.txt:2855 msgid "" -"When <paths> or `--patch` are given, 'git checkout' does *not* switch " -"branches. It updates the named paths in the working tree from the index " -"file or from a named <tree-ish> (most often a commit). In this case, the `-" -"b` and `--track` options are meaningless and giving either of them results " -"in an error. The <tree-ish> argument can be used to specify a specific tree-" -"ish (i.e. commit, tag or tree) to update the index for the given paths " -"before updating the working tree." +"When set to true, `git-rerere` updates the index with the resulting contents " +"after it cleanly resolves conflicts using previously recorded resolution. " +"Defaults to false." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2856 +#, no-wrap +msgid "rerere.enabled" msgstr "" #. type: Plain text -#: en/git-checkout.txt:95 +#: en/config.txt:2863 msgid "" -"'git checkout' with <paths> or `--patch` is used to restore modified or " -"deleted paths to their original contents from the index or replace paths " -"with the contents from a named <tree-ish> (most often a commit-ish)." +"Activate recording of resolved conflicts, so that identical conflict hunks " +"can be resolved automatically, should they be encountered again. By " +"default, linkgit:git-rerere[1] is enabled if there is an `rr-cache` " +"directory under the `$GIT_DIR`, e.g. if \"rerere\" was previously used in " +"the repository." msgstr "" +#. type: Labeled list +#: en/config.txt:2864 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.identity" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-checkout.txt:103 +#: en/config.txt:2869 en/git-send-email.txt:279 msgid "" -"The index may contain unmerged entries because of a previous failed merge. " -"By default, if you try to check out such an entry from the index, the " -"checkout operation will fail and nothing will be checked out. Using `-f` " -"will ignore these unmerged entries. The contents from a specific side of " -"the merge can be checked out of the index by using `--ours` or `--theirs`. " -"With `-m`, changes made to the working tree file can be discarded to re-" -"create the original conflicted merge result." +"A configuration identity. When given, causes values in the 'sendemail." +"<identity>' subsection to take precedence over values in the 'sendemail' " +"section. The default identity is the value of `sendemail.identity`." msgstr "" +#. type: Labeled list +#: en/config.txt:2870 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.smtpEncryption" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-checkout.txt:109 -#, fuzzy -#| msgid "" -#| "-q::\n" -#| "--quiet::\n" -#| "\tSuppress commit summary message.\n" -msgid "Quiet, suppress feedback messages." +#: en/config.txt:2873 +msgid "" +"See linkgit:git-send-email[1] for description. Note that this setting is " +"not subject to the 'identity' mechanism." msgstr "" -"-q::\n" -"--quiet::\n" -"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Labeled list -#: en/git-checkout.txt:110 en/git-fsck.txt:92 en/blame-options.txt:73 +#: en/config.txt:2874 #, no-wrap -msgid "--[no-]progress" +msgid "sendemail.smtpssl (deprecated)" msgstr "" #. type: Plain text -#: en/git-checkout.txt:115 -msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal, unless `--quiet` is specified. This flag enables " -"progress reporting even if not attached to a terminal, regardless of `--" -"quiet`." +#: en/config.txt:2876 +msgid "Deprecated alias for 'sendemail.smtpEncryption = ssl'." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2877 +#, no-wrap +msgid "sendemail.smtpsslcertpath" msgstr "" #. type: Plain text -#: en/git-checkout.txt:121 +#: en/config.txt:2880 msgid "" -"When switching branches, proceed even if the index or the working tree " -"differs from HEAD. This is used to throw away local changes." +"Path to ca-certificates (either a directory or a single file). Set it to an " +"empty string to disable certificate verification." msgstr "" +#. type: Labeled list +#: en/config.txt:2881 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.<identity>.*" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-checkout.txt:124 +#: en/config.txt:2886 msgid "" -"When checking out paths from the index, do not fail upon unmerged entries; " -"instead, unmerged entries are ignored." +"Identity-specific versions of the 'sendemail.*' parameters found below, " +"taking precedence over those when the this identity is selected, through " +"command-line or `sendemail.identity`." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:125 en/git-merge-file.txt:73 -#, no-wrap -msgid "--ours" -msgstr "" +#: en/config.txt:2887 en/git-send-email.txt:404 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.aliasesFile" +msgstr "git-commit(1)" #. type: Labeled list -#: en/git-checkout.txt:126 en/git-merge-file.txt:74 +#: en/config.txt:2888 en/git-send-email.txt:408 #, no-wrap -msgid "--theirs" +msgid "sendemail.aliasFileType" msgstr "" -#. type: Plain text -#: en/git-checkout.txt:129 -msgid "" -"When checking out paths from the index, check out stage #2 ('ours') or #3 " -"('theirs') for unmerged paths." -msgstr "" +#. type: Labeled list +#: en/config.txt:2889 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.annotate" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2890 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.bcc" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2891 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.cc" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2892 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.ccCmd" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2893 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.chainReplyTo" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2894 en/git-send-email.txt:435 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.confirm" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2895 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.envelopeSender" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2896 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.from" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2897 en/git-send-email.txt:429 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.multiEdit" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2898 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.signedoffbycc" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2899 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.smtpPass" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2900 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.suppresscc" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2901 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.suppressFrom" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2902 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.to" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2903 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.smtpDomain" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2904 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.smtpServer" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/config.txt:2905 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.smtpServerPort" +msgstr "git-commit(1)" -#. type: Plain text -#: en/git-checkout.txt:134 -msgid "" -"Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' " -"may appear swapped; `--ours` gives the version from the branch the changes " -"are rebased onto, while `--theirs` gives the version from the branch that " -"holds your work that is being rebased." -msgstr "" +#. type: Labeled list +#: en/config.txt:2906 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.smtpServerOption" +msgstr "git-commit(1)" -#. type: Plain text -#: en/git-checkout.txt:144 -msgid "" -"This is because `rebase` is used in a workflow that treats the history at " -"the remote as the shared canonical one, and treats the work done on the " -"branch you are rebasing as the third-party work to be integrated, and you " -"are temporarily assuming the role of the keeper of the canonical history " -"during the rebase. As the keeper of the canonical history, you need to view " -"the history from the remote as `ours` (i.e. \"our shared canonical history" -"\"), while what you did on your side branch as `theirs` (i.e. \"one " -"contributor's work on top of it\")." -msgstr "" +#. type: Labeled list +#: en/config.txt:2907 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.smtpUser" +msgstr "git-commit(1)" #. type: Labeled list -#: en/git-checkout.txt:145 +#: en/config.txt:2908 #, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "-b <new_branch>" -msgstr "Mode interactif" +#| msgid "git-commit(1)" +msgid "sendemail.thread" +msgstr "git-commit(1)" -#. type: Plain text -#: en/git-checkout.txt:148 -msgid "" -"Create a new branch named <new_branch> and start it at <start_point>; see " -"linkgit:git-branch[1] for details." -msgstr "" +#. type: Labeled list +#: en/config.txt:2909 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.transferEncoding" +msgstr "git-commit(1)" #. type: Labeled list -#: en/git-checkout.txt:149 +#: en/config.txt:2910 #, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "-B <new_branch>" -msgstr "Mode interactif" +#| msgid "git-commit(1)" +msgid "sendemail.validate" +msgstr "git-commit(1)" -#. type: Plain text -#: en/git-checkout.txt:154 -msgid "" -"Creates the branch <new_branch> and start it at <start_point>; if it already " -"exists, then reset it to <start_point>. This is equivalent to running \"git " -"branch\" with \"-f\"; see linkgit:git-branch[1] for details." -msgstr "" +#. type: Labeled list +#: en/config.txt:2911 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "sendemail.xmailer" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-checkout.txt:159 -msgid "" -"When creating a new branch, set up \"upstream\" configuration. See \"--track" -"\" in linkgit:git-branch[1] for details." -msgstr "" +#: en/config.txt:2913 +#, fuzzy +#| msgid "git-commit(1)" +msgid "See linkgit:git-send-email[1] for description." +msgstr "git-commit(1)" -#. type: Plain text -#: en/git-checkout.txt:169 -msgid "" -"If no `-b` option is given, the name of the new branch will be derived from " -"the remote-tracking branch, by looking at the local part of the refspec " -"configured for the corresponding remote, and then stripping the initial part " -"up to the \"*\". This would tell us to use \"hack\" as the local branch " -"when branching off of \"origin/hack\" (or \"remotes/origin/hack\", or even " -"\"refs/remotes/origin/hack\"). If the given name has no slash, or the above " -"guessing results in an empty name, the guessing is aborted. You can " -"explicitly give a name with `-b` in such a case." +#. type: Labeled list +#: en/config.txt:2914 +#, no-wrap +msgid "sendemail.signedoffcc (deprecated)" msgstr "" #. type: Plain text -#: en/git-checkout.txt:177 -msgid "Create the new branch's reflog; see linkgit:git-branch[1] for details." +#: en/config.txt:2916 +msgid "Deprecated alias for `sendemail.signedoffbycc`." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:178 en/git-daemon.txt:134 en/git-worktree.txt:100 -#, no-wrap -msgid "--detach" -msgstr "" +#: en/config.txt:2917 +#, fuzzy, no-wrap +#| msgid "default" +msgid "showbranch.default" +msgstr "default" +# #. type: Plain text -#: en/git-checkout.txt:184 +#: en/config.txt:2920 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"Rather than checking out a branch to work on it, check out a commit for " -"inspection and discardable experiments. This is the default behavior of " -"\"git checkout <commit>\" when <commit> is not a branch name. See the " -"\"DETACHED HEAD\" section below for details." +"The default set of branches for linkgit:git-show-branch[1]. See linkgit:git-" +"show-branch[1]." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Labeled list -#: en/git-checkout.txt:185 +#: en/config.txt:2921 #, no-wrap -msgid "--orphan <new_branch>" +msgid "splitIndex.maxPercentChange" msgstr "" #. type: Plain text -#: en/git-checkout.txt:191 +#: en/config.txt:2933 msgid "" -"Create a new 'orphan' branch, named <new_branch>, started from <start_point> " -"and switch to it. The first commit made on this new branch will have no " -"parents and it will be the root of a new history totally disconnected from " -"all the other branches and commits." +"When the split index feature is used, this specifies the percent of entries " +"the split index can contain compared to the total number of entries in both " +"the split index and the shared index before a new shared index is written. " +"The value should be between 0 and 100. If the value is 0 then a new shared " +"index is always written, if it is 100 a new shared index is never written. " +"By default the value is 20, so a new shared index is written if the number " +"of entries in the split index would be greater than 20 percent of the total " +"number of entries. See linkgit:git-update-index[1]." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:196 -msgid "" -"The index and the working tree are adjusted as if you had previously run " -"\"git checkout <start_point>\". This allows you to start a new history that " -"records a set of paths similar to <start_point> by easily running \"git " -"commit -a\" to make the root commit." +#. type: Labeled list +#: en/config.txt:2934 +#, no-wrap +msgid "splitIndex.sharedIndexExpire" msgstr "" #. type: Plain text -#: en/git-checkout.txt:202 +#: en/config.txt:2945 msgid "" -"This can be useful when you want to publish the tree from a commit without " -"exposing its full history. You might want to do this to publish an open " -"source branch of a project whose current tree is \"clean\", but whose full " -"history contains proprietary or otherwise encumbered bits of code." +"When the split index feature is used, shared index files that were not " +"modified since the time this variable specifies will be removed when a new " +"shared index file is created. The value \"now\" expires all entries " +"immediately, and \"never\" suppresses expiration altogether. The default " +"value is \"2.weeks.ago\". Note that a shared index file is considered " +"modified (for the purpose of expiration) each time a new split-index file is " +"either created based on it or read from it. See linkgit:git-update-index[1]." msgstr "" +#. type: Labeled list +#: en/config.txt:2946 +#, fuzzy, no-wrap +#| msgid "status" +msgid "status.relativePaths" +msgstr "status" + #. type: Plain text -#: en/git-checkout.txt:209 +#: en/config.txt:2951 msgid "" -"If you want to start a disconnected history that records a set of paths that " -"is totally different from the one of <start_point>, then you should clear " -"the index and the working tree right after creating the orphan branch by " -"running \"git rm -rf .\" from the top level of the working tree. Afterwards " -"you will be ready to prepare your new files, repopulating the working tree, " -"by copying them from elsewhere, extracting a tarball, etc." +"By default, linkgit:git-status[1] shows paths relative to the current " +"directory. Setting this variable to `false` shows paths relative to the " +"repository root (this was the default for Git prior to v1.5.4)." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:210 +#: en/config.txt:2952 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--ignore-skip-worktree-bits" -msgstr "git-commit(1)" +#| msgid "status" +msgid "status.short" +msgstr "status" #. type: Plain text -#: en/git-checkout.txt:215 +#: en/config.txt:2955 msgid "" -"In sparse checkout mode, `git checkout -- <paths>` would update only entries " -"matched by <paths> and sparse patterns in $GIT_DIR/info/sparse-checkout. " -"This option ignores the sparse patterns and adds back any files in <paths>." +"Set to true to enable --short by default in linkgit:git-status[1]. The " +"option --no-short takes precedence over this variable." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:217 en/git-rebase.txt:271 en/git-reset.txt:71 -#: en/git-submodule.txt:363 en/git-svn.txt:638 en/rev-list-options.txt:278 +#: en/config.txt:2956 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--merge" -msgstr "git-commit(1)" +#| msgid "status" +msgid "status.branch" +msgstr "status" #. type: Plain text -#: en/git-checkout.txt:226 +#: en/config.txt:2959 msgid "" -"When switching branches, if you have local modifications to one or more " -"files that are different between the current branch and the branch to which " -"you are switching, the command refuses to switch branches in order to " -"preserve your modifications in context. However, with this option, a three-" -"way merge between the current branch, your working tree contents, and the " -"new branch is done, and you will be on the new branch." +"Set to true to enable --branch by default in linkgit:git-status[1]. The " +"option --no-branch takes precedence over this variable." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:231 -msgid "" -"When a merge conflict happens, the index entries for conflicting paths are " -"left unmerged, and you need to resolve the conflicts and mark the resolved " -"paths with `git add` (or `git rm` if the merge should result in deletion of " -"the path)." +#. type: Labeled list +#: en/config.txt:2960 +#, no-wrap +msgid "status.displayCommentPrefix" msgstr "" #. type: Plain text -#: en/git-checkout.txt:234 +#: en/config.txt:2966 msgid "" -"When checking out paths from the index, this option lets you recreate the " -"conflicted merge in the specified paths." +"If set to true, linkgit:git-status[1] will insert a comment prefix before " +"each output line (starting with `core.commentChar`, i.e. `#` by default). " +"This was the behavior of linkgit:git-status[1] in Git 1.8.4 and previous. " +"Defaults to false." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:235 +#: en/config.txt:2967 #, no-wrap -msgid "--conflict=<style>" +msgid "status.showUntrackedFiles" msgstr "" #. type: Plain text -#: en/git-checkout.txt:241 +#: en/config.txt:2975 msgid "" -"The same as --merge option above, but changes the way the conflicting hunks " -"are presented, overriding the merge.conflictStyle configuration variable. " -"Possible values are \"merge\" (default) and \"diff3\" (in addition to what " -"is shown by \"merge\" style, shows the original contents)." +"By default, linkgit:git-status[1] and linkgit:git-commit[1] show files which " +"are not currently tracked by Git. Directories which contain only untracked " +"files, are shown with the directory name only. Showing untracked files means " +"that Git needs to lstat() all the files in the whole repository, which might " +"be slow on some systems. So, this variable controls how the commands " +"displays the untracked files. Possible values are:" msgstr "" #. type: Plain text -#: en/git-checkout.txt:248 -msgid "" -"Interactively select hunks in the difference between the <tree-ish> (or the " -"index, if unspecified) and the working tree. The chosen hunks are then " -"applied in reverse to the working tree (and if a <tree-ish> was specified, " -"the index)." -msgstr "" +#: en/config.txt:2978 +#, fuzzy +#| msgid "'no' - Show no untracked files\n" +msgid "`no` - Show no untracked files." +msgstr "'no' - Ne montrer aucun fichier non-suivi\n" #. type: Plain text -#: en/git-checkout.txt:252 +#: en/config.txt:2979 #, fuzzy -#| msgid "" -#| "by using the --interactive or --patch switches with the 'commit' command " -#| "to decide one by one which files or hunks should be part of the commit in " -#| "addition to contents in the index, before finalizing the operation. See " -#| "the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to " -#| "operate these modes." +#| msgid "'normal' - Shows untracked files and directories\n" +msgid "`normal` - Show untracked files and directories." +msgstr "'normal' - Montrer les fichiers et les dossiers non-suivis\n" + +#. type: Plain text +#: en/config.txt:2980 +#, fuzzy +#| msgid "'all' - Also shows individual files in untracked directories.\n" +msgid "`all` - Show also individual files in untracked directories." +msgstr "" +"'all' - Montrer aussi les fichiers individuels dans le dossiers non-" +"suivis.\n" + +#. type: Plain text +#: en/config.txt:2985 msgid "" -"This means that you can use `git checkout -p` to selectively discard edits " -"from your current working tree. See the ``Interactive Mode'' section of " -"linkgit:git-add[1] to learn how to operate the `--patch` mode." +"If this variable is not specified, it defaults to 'normal'. This variable " +"can be overridden with the -u|--untracked-files option of linkgit:git-" +"status[1] and linkgit:git-commit[1]." msgstr "" -"en utilisant les options --interactive ou --patch avec la commande 'commit' " -"pour choisir quels fichiers ou sections de fichier doivent 챗tre inclus dans " -"le commit en plus de l'index, avant finalisation de l'op챕ration. R챕f챕rez-" -"vous 횪 la section 짬혻Mode interactif혻쨩 de linkgit:git-add[1] pour la " -"description de ces modes." #. type: Labeled list -#: en/git-checkout.txt:253 +#: en/config.txt:2986 #, no-wrap -msgid "--ignore-other-worktrees" +msgid "status.submoduleSummary" msgstr "" #. type: Plain text -#: en/git-checkout.txt:258 +#: en/config.txt:3001 msgid "" -"`git checkout` refuses when the wanted ref is already checked out by another " -"worktree. This option makes it check the ref out anyway. In other words, the " -"ref can be held by more than one worktree." +"Defaults to false. If this is set to a non zero number or true (identical " +"to -1 or an unlimited number), the submodule summary will be enabled and a " +"summary of commits for modified submodules will be shown (see --summary-" +"limit option of linkgit:git-submodule[1]). Please note that the summary " +"output command will be suppressed for all submodules when `diff." +"ignoreSubmodules` is set to 'all' or only for those submodules where " +"`submodule.<name>.ignore=all`. The only exception to that rule is that " +"status and commit will show staged submodule changes. To also view the " +"summary for ignored submodules you can either use the --ignore-" +"submodules=dirty command-line option or the 'git submodule summary' command, " +"which shows a similar output but does not honor these settings." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:259 en/git-rebase.txt:242 +#: en/config.txt:3002 #, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "<branch>" -msgstr "Mode interactif" +#| msgid "status" +msgid "stash.showPatch" +msgstr "status" #. type: Plain text -#: en/git-checkout.txt:265 +#: en/config.txt:3006 msgid "" -"Branch to checkout; if it refers to a branch (i.e., a name that, when " -"prepended with \"refs/heads/\", is a valid ref), then that branch is checked " -"out. Otherwise, if it refers to a valid commit, your HEAD becomes \"detached" -"\" and you are no longer on any branch (see below for details)." +"If this is set to true, the `git stash show` command without an option will " +"show the stash in patch form. Defaults to false. See description of 'show' " +"command in linkgit:git-stash[1]." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:269 -msgid "" -"As a special case, the `\"@{-N}\"` syntax for the N-th last branch/commit " -"checks out branches (instead of detaching). You may also specify `-` which " -"is synonymous with `\"@{-1}\"`." -msgstr "" +#. type: Labeled list +#: en/config.txt:3007 +#, fuzzy, no-wrap +#| msgid "status" +msgid "stash.showStat" +msgstr "status" #. type: Plain text -#: en/git-checkout.txt:273 +#: en/config.txt:3011 msgid "" -"As a further special case, you may use `\"A...B\"` as a shortcut for the " -"merge base of `A` and `B` if there is exactly one merge base. You can leave " -"out at most one of `A` and `B`, in which case it defaults to `HEAD`." +"If this is set to true, the `git stash show` command without an option will " +"show diffstat of the stash. Defaults to true. See description of 'show' " +"command in linkgit:git-stash[1]." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:274 -#, no-wrap -msgid "<new_branch>" -msgstr "" +#: en/config.txt:3012 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "submodule.<name>.url" +msgstr "git-add(1)" #. type: Plain text -#: en/git-checkout.txt:276 -msgid "Name for the new branch." +#: en/config.txt:3019 +msgid "" +"The URL for a submodule. This variable is copied from the .gitmodules file " +"to the git config via 'git submodule init'. The user can change the " +"configured URL before obtaining the submodule via 'git submodule update'. " +"After obtaining the submodule, the presence of this variable is used as a " +"sign whether the submodule is of interest to git commands. See linkgit:git-" +"submodule[1] and linkgit:gitmodules[5] for details." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:277 -#, no-wrap -msgid "<start_point>" -msgstr "" - -#. type: Plain text -#: en/git-checkout.txt:280 -msgid "" -"The name of a commit at which to start the new branch; see linkgit:git-" -"branch[1] for details. Defaults to HEAD." -msgstr "" +#: en/config.txt:3020 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "submodule.<name>.update" +msgstr "git-add(1)" #. type: Plain text -#: en/git-checkout.txt:284 +#: en/config.txt:3025 msgid "" -"Tree to checkout from (when paths are given). If not specified, the index " -"will be used." +"The default update procedure for a submodule. This variable is populated by " +"`git submodule init` from the linkgit:gitmodules[5] file. See description of " +"'update' command in linkgit:git-submodule[1]." msgstr "" -#. type: Title - -#: en/git-checkout.txt:288 -#, no-wrap -msgid "DETACHED HEAD" -msgstr "" +#. type: Labeled list +#: en/config.txt:3026 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "submodule.<name>.branch" +msgstr "git-add(1)" #. type: Plain text -#: en/git-checkout.txt:292 +#: en/config.txt:3031 msgid "" -"HEAD normally refers to a named branch (e.g. 'master'). Meanwhile, each " -"branch refers to a specific commit. Let's look at a repo with three commits, " -"one of them tagged, and with branch 'master' checked out:" +"The remote branch name for a submodule, used by `git submodule update --" +"remote`. Set this option to override the value found in the `.gitmodules` " +"file. See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:301 +#. type: Labeled list +#: en/config.txt:3032 #, no-wrap -msgid "" -"\t HEAD (refers to branch 'master')\n" -"\t |\n" -"\t v\n" -"a---b---c branch 'master' (refers to commit 'c')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "submodule.<name>.fetchRecurseSubmodules" msgstr "" #. type: Plain text -#: en/git-checkout.txt:308 +#: en/config.txt:3038 msgid "" -"When a commit is created in this state, the branch is updated to refer to " -"the new commit. Specifically, 'git commit' creates a new commit 'd', whose " -"parent is commit 'c', and then updates branch 'master' to refer to new " -"commit 'd'. HEAD still refers to branch 'master' and so indirectly now " -"refers to commit 'd':" +"This option can be used to control recursive fetching of this submodule. It " +"can be overridden by using the --[no-]recurse-submodules command-line option " +"to \"git fetch\" and \"git pull\". This setting will override that from in " +"the linkgit:gitmodules[5] file." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:311 en/git-checkout.txt:346 en/git-checkout.txt:363 +#. type: Labeled list +#: en/config.txt:3039 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ edit; git add; git commit\n" -msgstr "$ git commit\n" - -#. type: delimited block - -#: en/git-checkout.txt:319 -#, no-wrap -msgid "" -"\t HEAD (refers to branch 'master')\n" -"\t\t|\n" -"\t\tv\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" -msgstr "" +#| msgid "git-add(1)" +msgid "submodule.<name>.ignore" +msgstr "git-add(1)" #. type: Plain text -#: en/git-checkout.txt:325 +#: en/config.txt:3054 msgid "" -"It is sometimes useful to be able to checkout a commit that is not at the " -"tip of any named branch, or even to create a new commit that is not " -"referenced by a named branch. Let's look at what happens when we checkout " -"commit 'b' (here we show two ways this may be done):" +"Defines under what circumstances \"git status\" and the diff family show a " +"submodule as modified. When set to \"all\", it will never be considered " +"modified (but it will nonetheless show up in the output of status and commit " +"when it has been staged), \"dirty\" will ignore all changes to the " +"submodules work tree and takes only differences between the HEAD of the " +"submodule and the commit recorded in the superproject into account. " +"\"untracked\" will additionally let submodules with modified tracked files " +"in their work tree show up. Using \"none\" (the default when this option is " +"not set) also shows submodules that have untracked files in their work tree " +"as changed. This setting overrides any setting made in .gitmodules for this " +"submodule, both settings can be overridden on the command line by using the " +"\"--ignore-submodules\" option. The 'git submodule' commands are not " +"affected by this setting." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:329 +#. type: Labeled list +#: en/config.txt:3055 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "" -"$ git checkout v2.0 # or\n" -"$ git checkout master^^\n" -msgstr "$ git commit\n" +#| msgid "git-add(1)" +msgid "submodule.fetchJobs" +msgstr "git-add(1)" -#. type: delimited block - -#: en/git-checkout.txt:337 -#, no-wrap +#. type: Plain text +#: en/config.txt:3060 msgid "" -" HEAD (refers to commit 'b')\n" -" |\n" -" v\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +"Specifies how many submodules are fetched/cloned at the same time. A " +"positive integer allows up to that number of submodules fetched in parallel. " +"A value of 0 will give some reasonable default. If unset, it defaults to 1." msgstr "" +#. type: Labeled list +#: en/config.txt:3061 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "submodule.alternateLocation" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-checkout.txt:343 +#: en/config.txt:3067 msgid "" -"Notice that regardless of which checkout command we use, HEAD now refers " -"directly to commit 'b'. This is known as being in detached HEAD state. It " -"means simply that HEAD refers to a specific commit, as opposed to referring " -"to a named branch. Let's see what happens when we create a commit:" +"Specifies how the submodules obtain alternates when submodules are cloned. " +"Possible values are `no`, `superproject`. By default `no` is assumed, which " +"doesn't add references. When the value is set to `superproject` the " +"submodule to be cloned computes its alternates location relative to the " +"superprojects alternate." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:356 +#. type: Labeled list +#: en/config.txt:3068 #, no-wrap -msgid "" -" HEAD (refers to commit 'e')\n" -" |\n" -" v\n" -" e\n" -" /\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "submodule.alternateErrorStrategy" msgstr "" #. type: Plain text -#: en/git-checkout.txt:360 +#: en/config.txt:3072 msgid "" -"There is now a new commit 'e', but it is referenced only by HEAD. We can of " -"course add yet another commit in this state:" +"Specifies how to treat errors with the alternates for a submodule as " +"computed via `submodule.alternateLocation`. Possible values are `ignore`, " +"`info`, `die`. Default is `die`." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:373 +#. type: Labeled list +#: en/config.txt:3073 #, no-wrap -msgid "" -"\t HEAD (refers to commit 'f')\n" -"\t |\n" -"\t v\n" -" e---f\n" -" /\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "tag.forceSignAnnotated" msgstr "" #. type: Plain text -#: en/git-checkout.txt:377 +#: en/config.txt:3077 msgid "" -"In fact, we can perform all the normal Git operations. But, let's look at " -"what happens when we then checkout master:" +"A boolean to specify whether annotated tags created should be GPG signed. " +"If `--annotate` is specified on the command line, it takes precedence over " +"this option." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:380 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git checkout master\n" -msgstr "$ git commit\n" - -#. type: delimited block - -#: en/git-checkout.txt:388 +#. type: Labeled list +#: en/config.txt:3078 #, no-wrap -msgid "" -"\t HEAD (refers to branch 'master')\n" -" e---f |\n" -" / v\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "tag.sort" msgstr "" #. type: Plain text -#: en/git-checkout.txt:395 +#: en/config.txt:3082 msgid "" -"It is important to realize that at this point nothing refers to commit 'f'. " -"Eventually commit 'f' (and by extension commit 'e') will be deleted by the " -"routine Git garbage collection process, unless we create a reference before " -"that happens. If we have not yet moved away from commit 'f', any of these " -"will create a reference to it:" +"This variable controls the sort ordering of tags when displayed by linkgit:" +"git-tag[1]. Without the \"--sort=<value>\" option provided, the value of " +"this variable will be used as the default." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:400 +#. type: Labeled list +#: en/config.txt:3083 en/git-archive.txt:100 #, no-wrap -msgid "" -"$ git checkout -b foo <1>\n" -"$ git branch foo <2>\n" -"$ git tag foo <3>\n" +msgid "tar.umask" msgstr "" #. type: Plain text -#: en/git-checkout.txt:405 +#: en/config.txt:3089 msgid "" -"creates a new branch 'foo', which refers to commit 'f', and then updates " -"HEAD to refer to branch 'foo'. In other words, we'll no longer be in " -"detached HEAD state after this command." +"This variable can be used to restrict the permission bits of tar archive " +"entries. The default is 0002, which turns off the world write bit. The " +"special value \"user\" indicates that the archiving user's umask will be " +"used instead. See umask(2) and linkgit:git-archive[1]." msgstr "" +#. type: Labeled list +#: en/config.txt:3090 +#, fuzzy, no-wrap +#| msgid "git-fsck-objects(1)" +msgid "transfer.fsckObjects" +msgstr "git-fsck-objects(1)" + #. type: Plain text -#: en/git-checkout.txt:408 +#: en/config.txt:3094 msgid "" -"similarly creates a new branch 'foo', which refers to commit 'f', but leaves " -"HEAD detached." +"When `fetch.fsckObjects` or `receive.fsckObjects` are not set, the value of " +"this variable is used instead. Defaults to false." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:411 -msgid "" -"creates a new tag 'foo', which refers to commit 'f', leaving HEAD detached." +#. type: Labeled list +#: en/config.txt:3095 +#, no-wrap +msgid "transfer.hideRefs" msgstr "" #. type: Plain text -#: en/git-checkout.txt:416 +#: en/config.txt:3103 msgid "" -"If we have moved away from commit 'f', then we must first recover its object " -"name (typically by using git reflog), and then we can create a reference to " -"it. For example, to see the last two commits to which HEAD referred, we can " -"use either of these commands:" +"String(s) `receive-pack` and `upload-pack` use to decide which refs to omit " +"from their initial advertisements. Use more than one definition to specify " +"multiple prefix strings. A ref that is under the hierarchies listed in the " +"value of this variable is excluded, and is hidden when responding to `git " +"push` or `git fetch`. See `receive.hideRefs` and `uploadpack.hideRefs` for " +"program-specific versions of this config." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:420 -#, no-wrap +#. type: Plain text +#: en/config.txt:3108 msgid "" -"$ git reflog -2 HEAD # or\n" -"$ git log -g -2 HEAD\n" -msgstr "" - -#. type: Title - -#: en/git-checkout.txt:423 -#, no-wrap -msgid "ARGUMENT DISAMBIGUATION" +"You may also include a `!` in front of the ref name to negate the entry, " +"explicitly exposing it, even if an earlier entry marked it as hidden. If " +"you have multiple hideRefs values, later entries override earlier ones (and " +"entries in more-specific config files override less-specific ones)." msgstr "" #. type: Plain text -#: en/git-checkout.txt:433 +#: en/config.txt:3117 msgid "" -"When there is only one argument given and it is not `--` (e.g. \"git " -"checkout abc\"), and when the argument is both a valid `<tree-ish>` (e.g. a " -"branch \"abc\" exists) and a valid `<pathspec>` (e.g. a file or a directory " -"whose name is \"abc\" exists), Git would usually ask you to disambiguate. " -"Because checking out a branch is so common an operation, however, \"git " -"checkout abc\" takes \"abc\" as a `<tree-ish>` in such a situation. Use " -"`git checkout -- <pathspec>` if you want to checkout these paths out of the " -"index." +"If a namespace is in use, the namespace prefix is stripped from each " +"reference before it is matched against `transfer.hiderefs` patterns. For " +"example, if `refs/heads/master` is specified in `transfer.hideRefs` and the " +"current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master` is " +"omitted from the advertisements but `refs/heads/master` and `refs/namespaces/" +"bar/refs/heads/master` are still advertised as so-called \"have\" lines. In " +"order to match refs before stripping, add a `^` in front of the ref name. If " +"you combine `!` and `^`, `!` must be specified first." msgstr "" #. type: Plain text -#: en/git-checkout.txt:440 +#: en/config.txt:3122 msgid "" -"The following sequence checks out the `master` branch, reverts the " -"`Makefile` to two revisions back, deletes hello.c by mistake, and gets it " -"back from the index." +"Even if you hide refs, a client may still be able to steal the target " +"objects via the techniques described in the \"SECURITY\" section of the " +"linkgit:gitnamespaces[7] man page; it's best to keep private data in a " +"separate repository." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:446 +#. type: Labeled list +#: en/config.txt:3123 #, no-wrap -msgid "" -"$ git checkout master <1>\n" -"$ git checkout master~2 Makefile <2>\n" -"$ rm -f hello.c\n" -"$ git checkout hello.c <3>\n" +msgid "transfer.unpackLimit" msgstr "" #. type: Plain text -#: en/git-checkout.txt:449 -#, fuzzy -#| msgid "git-add(1)" -msgid "switch branch" -msgstr "git-add(1)" - -#. type: Plain text -#: en/git-checkout.txt:450 -msgid "take a file out of another commit" +#: en/config.txt:3127 +msgid "" +"When `fetch.unpackLimit` or `receive.unpackLimit` are not set, the value of " +"this variable is used instead. The default value is 100." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:451 -msgid "restore hello.c from the index" +#. type: Labeled list +#: en/config.txt:3128 +#, no-wrap +msgid "uploadarchive.allowUnreachable" msgstr "" #. type: Plain text -#: en/git-checkout.txt:454 +#: en/config.txt:3134 msgid "" -"If you want to check out _all_ C source files out of the index, you can say" +"If true, allow clients to use `git archive --remote` to request any tree, " +"whether reachable from the ref tips or not. See the discussion in the " +"\"SECURITY\" section of linkgit:git-upload-archive[1] for more details. " +"Defaults to `false`." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:457 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git checkout -- '*.c'\n" -msgstr "$ git commit\n" +#. type: Labeled list +#: en/config.txt:3135 +#, no-wrap +msgid "uploadpack.hideRefs" +msgstr "" #. type: Plain text -#: en/git-checkout.txt:463 +#: en/config.txt:3140 msgid "" -"Note the quotes around `*.c`. The file `hello.c` will also be checked out, " -"even though it is no longer in the working tree, because the file globbing " -"is used to match entries in the index (not in the working tree by the shell)." +"This variable is the same as `transfer.hideRefs`, but applies only to " +"`upload-pack` (and so affects only fetches, not pushes). An attempt to " +"fetch a hidden ref by `git fetch` will fail. See also `uploadpack." +"allowTipSHA1InWant`." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3141 +#, no-wrap +msgid "uploadpack.allowTipSHA1InWant" msgstr "" #. type: Plain text -#: en/git-checkout.txt:467 +#: en/config.txt:3149 msgid "" -"If you have an unfortunate branch that is named `hello.c`, this step would " -"be confused as an instruction to switch to that branch. You should instead " -"write:" +"When `uploadpack.hideRefs` is in effect, allow `upload-pack` to accept a " +"fetch request that asks for an object at the tip of a hidden ref (by " +"default, such a request is rejected). See also `uploadpack.hideRefs`. Even " +"if this is false, a client may be able to steal objects via the techniques " +"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " +"page; it's best to keep private data in a separate repository." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:470 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git checkout -- hello.c\n" -msgstr "$ git commit\n" +#. type: Labeled list +#: en/config.txt:3150 +#, no-wrap +msgid "uploadpack.allowReachableSHA1InWant" +msgstr "" #. type: Plain text -#: en/git-checkout.txt:474 +#: en/config.txt:3158 msgid "" -"After working in the wrong branch, switching to the correct branch would be " -"done using:" +"Allow `upload-pack` to accept a fetch request that asks for an object that " +"is reachable from any ref tip. However, note that calculating object " +"reachability is computationally expensive. Defaults to `false`. Even if " +"this is false, a client may be able to steal objects via the techniques " +"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " +"page; it's best to keep private data in a separate repository." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:477 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git checkout mytopic\n" -msgstr "$ git commit\n" +#. type: Labeled list +#: en/config.txt:3159 +#, no-wrap +msgid "uploadpack.allowAnySHA1InWant" +msgstr "" #. type: Plain text -#: en/git-checkout.txt:482 +#: en/config.txt:3163 msgid "" -"However, your \"wrong\" branch and correct \"mytopic\" branch may differ in " -"files that you have modified locally, in which case the above checkout would " -"fail like this:" +"Allow `upload-pack` to accept a fetch request that asks for any object at " +"all. Defaults to `false`." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:486 +#. type: Labeled list +#: en/config.txt:3164 #, no-wrap -msgid "" -"$ git checkout mytopic\n" -"error: You have local changes to 'frotz'; not switching branches.\n" +msgid "uploadpack.keepAlive" msgstr "" #. type: Plain text -#: en/git-checkout.txt:490 +#: en/config.txt:3174 msgid "" -"You can give the `-m` flag to the command, which would try a three-way merge:" +"When `upload-pack` has started `pack-objects`, there may be a quiet period " +"while `pack-objects` prepares the pack. Normally it would output progress " +"information, but if `--quiet` was used for the fetch, `pack-objects` will " +"output nothing at all until the pack data begins. Some clients and networks " +"may consider the server to be hung and give up. Setting this option " +"instructs `upload-pack` to send an empty keepalive packet every `uploadpack." +"keepAlive` seconds. Setting this option to 0 disables keepalive packets " +"entirely. The default is 5 seconds." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:494 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "" -"$ git checkout -m mytopic\n" -"Auto-merging frotz\n" -msgstr "$ git commit\n" +#. type: Labeled list +#: en/config.txt:3175 +#, no-wrap +msgid "uploadpack.packObjectsHook" +msgstr "" #. type: Plain text -#: en/git-checkout.txt:499 +#: en/config.txt:3185 msgid "" -"After this three-way merge, the local modifications are _not_ registered in " -"your index file, so `git diff` would show you what changes you made since " -"the tip of the new branch." +"If this option is set, when `upload-pack` would run `git pack-objects` to " +"create a packfile for a client, it will run this shell command instead. The " +"`pack-objects` command and arguments it _would_ have run (including the `git " +"pack-objects` at the beginning) are appended to the shell command. The stdin " +"and stdout of the hook are treated as if `pack-objects` itself was run. I." +"e., `upload-pack` will feed input intended for `pack-objects` to the hook, " +"and expects a completed packfile on stdout." msgstr "" #. type: Plain text -#: en/git-checkout.txt:502 +#: en/config.txt:3189 msgid "" -"When a merge conflict happens during switching branches with the `-m` " -"option, you would see something like this:" +"Note that this configuration variable is ignored if it is seen in the " +"repository-level config (this is a safety measure against fetching from " +"untrusted repositories)." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:508 +#. type: Labeled list +#: en/config.txt:3190 #, no-wrap -msgid "" -"$ git checkout -m mytopic\n" -"Auto-merging frotz\n" -"ERROR: Merge conflict in frotz\n" -"fatal: merge program failed\n" +msgid "url.<base>.insteadOf" msgstr "" #. type: Plain text -#: en/git-checkout.txt:514 +#: en/config.txt:3200 msgid "" -"At this point, `git diff` shows the changes cleanly merged as in the " -"previous example, as well as the changes in the conflicted files. Edit and " -"resolve the conflict and mark it resolved with `git add` as usual:" +"Any URL that starts with this value will be rewritten to start, instead, " +"with <base>. In cases where some site serves a large number of repositories, " +"and serves them with multiple access methods, and some users need to use " +"different access methods, this feature allows people to specify any of the " +"equivalent URLs and have Git automatically rewrite the URL to the best " +"alternative for the particular user, even for a never-before-seen repository " +"on the site. When more than one insteadOf strings match a given URL, the " +"longest match is used." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:518 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" +#. type: Labeled list +#: en/config.txt:3201 +#, no-wrap +msgid "url.<base>.pushInsteadOf" +msgstr "" + +#. type: Plain text +#: en/config.txt:3213 msgid "" -"$ edit frotz\n" -"$ git add frotz\n" -msgstr "$ git commit\n" +"Any URL that starts with this value will not be pushed to; instead, it will " +"be rewritten to start with <base>, and the resulting URL will be pushed to. " +"In cases where some site serves a large number of repositories, and serves " +"them with multiple access methods, some of which do not allow push, this " +"feature allows people to specify a pull-only URL and have Git automatically " +"use an appropriate URL to push, even for a never-before-seen repository on " +"the site. When more than one pushInsteadOf strings match a given URL, the " +"longest match is used. If a remote has an explicit pushurl, Git will ignore " +"this setting for that remote." +msgstr "" -#. type: Title = -#: en/git-check-ref-format.txt:2 +#. type: Labeled list +#: en/config.txt:3214 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "git-check-ref-format(1)" +msgid "user.email" msgstr "git-commit(1)" #. type: Plain text -#: en/git-check-ref-format.txt:7 -msgid "git-check-ref-format - Ensures that a reference name is well formed" +#: en/config.txt:3218 +msgid "" +"Your email address to be recorded in any newly created commits. Can be " +"overridden by the `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_EMAIL`, and `EMAIL` " +"environment variables. See linkgit:git-commit-tree[1]." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:15 +#. type: Labeled list +#: en/config.txt:3219 #, no-wrap -msgid "" -"'git check-ref-format' [--normalize]\n" -" [--[no-]allow-onelevel] [--refspec-pattern]\n" -" <refname>\n" -"'git check-ref-format' --branch <branchname-shorthand>\n" +msgid "user.name" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:20 +#: en/config.txt:3223 msgid "" -"Checks if a given 'refname' is acceptable, and exits with a non-zero status " -"if it is not." +"Your full name to be recorded in any newly created commits. Can be " +"overridden by the `GIT_AUTHOR_NAME` and `GIT_COMMITTER_NAME` environment " +"variables. See linkgit:git-commit-tree[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3224 +#, no-wrap +msgid "user.useConfigOnly" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:27 +#: en/config.txt:3233 msgid "" -"A reference is used in Git to specify branches and tags. A branch head is " -"stored in the `refs/heads` hierarchy, while a tag is stored in the `refs/" -"tags` hierarchy of the ref namespace (typically in `$GIT_DIR/refs/heads` and " -"`$GIT_DIR/refs/tags` directories or, as entries in file `$GIT_DIR/packed-" -"refs` if refs are packed by `git gc`)." +"Instruct Git to avoid trying to guess defaults for `user.email` and `user." +"name`, and instead retrieve the values only from the configuration. For " +"example, if you have multiple email addresses and would like to use a " +"different one for each repository, then with this configuration option set " +"to `true` in the global config along with a name, Git will prompt you to set " +"up an email before making new commits in a newly cloned repository. " +"Defaults to `false`." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3234 +#, no-wrap +msgid "user.signingKey" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:29 -msgid "Git imposes the following rules on how references are named:" +#: en/config.txt:3240 +msgid "" +"If linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the key you " +"want it to automatically when creating a signed tag or commit, you can " +"override the default selection with this variable. This option is passed " +"unchanged to gpg's --local-user parameter, so you may specify a key using " +"any method that gpg supports." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3241 +#, no-wrap +msgid "versionsort.prereleaseSuffix (deprecated)" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:33 +#: en/config.txt:3244 msgid "" -"They can include slash `/` for hierarchical (directory) grouping, but no " -"slash-separated component can begin with a dot `.` or end with the sequence " -"`.lock`." +"Deprecated alias for `versionsort.suffix`. Ignored if `versionsort.suffix` " +"is set." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3245 +#, no-wrap +msgid "versionsort.suffix" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:38 +#: en/config.txt:3252 msgid "" -"They must contain at least one `/`. This enforces the presence of a category " -"like `heads/`, `tags/` etc. but the actual names are not restricted. If the " -"`--allow-onelevel` option is used, this rule is waived." +"Even when version sort is used in linkgit:git-tag[1], tagnames with the same " +"base version but different suffixes are still sorted lexicographically, " +"resulting e.g. in prerelease tags appearing after the main release (e.g. " +"\"1.0-rc1\" after \"1.0\"). This variable can be specified to determine the " +"sorting order of tags with different suffixes." msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:40 -msgid "They cannot have two consecutive dots `..` anywhere." +#: en/config.txt:3266 +msgid "" +"By specifying a single suffix in this variable, any tagname containing that " +"suffix will appear before the corresponding main release. E.g. if the " +"variable is set to \"-rc\", then all \"1.0-rcX\" tags will appear before " +"\"1.0\". If specified multiple times, once per suffix, then the order of " +"suffixes in the configuration will determine the sorting order of tagnames " +"with those suffixes. E.g. if \"-pre\" appears before \"-rc\" in the " +"configuration, then all \"1.0-preX\" tags will be listed before any \"1.0-rcX" +"\" tags. The placement of the main release tag relative to tags with " +"various suffixes can be determined by specifying the empty suffix among " +"those other suffixes. E.g. if the suffixes \"-rc\", \"\", \"-ck\" and \"-bfs" +"\" appear in the configuration in this order, then all \"v4.8-rcX\" tags are " +"listed first, followed by \"v4.8\", then \"v4.8-ckX\" and finally \"v4.8-bfsX" +"\"." msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:44 +#: en/config.txt:3274 msgid "" -"They cannot have ASCII control characters (i.e. bytes whose values are lower " -"than \\040, or \\177 `DEL`), space, tilde `~`, caret `^`, or colon `:` " -"anywhere." +"If more than one suffixes match the same tagname, then that tagname will be " +"sorted according to the suffix which starts at the earliest position in the " +"tagname. If more than one different matching suffixes start at that " +"earliest position, then that tagname will be sorted according to the longest " +"of those suffixes. The sorting order between different suffixes is " +"undefined if they are in multiple config files." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:48 -msgid "" -"They cannot have question-mark `?`, asterisk `*`, or open bracket `[` " -"anywhere. See the `--refspec-pattern` option below for an exception to this " -"rule." +#. type: Labeled list +#: en/config.txt:3275 +#, no-wrap +msgid "web.browser" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:52 +#: en/config.txt:3278 msgid "" -"They cannot begin or end with a slash `/` or contain multiple consecutive " -"slashes (see the `--normalize` option below for an exception to this rule)" +"Specify a web browser that may be used by some commands. Currently only " +"linkgit:git-instaweb[1] and linkgit:git-help[1] may use it." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:54 -msgid "They cannot end with a dot `.`." -msgstr "" +#. type: Title - +#: en/date-formats.txt:2 +#, no-wrap +msgid "DATE FORMATS" +msgstr "FORMATS DE DATE" #. type: Plain text -#: en/git-check-ref-format.txt:56 -msgid "They cannot contain a sequence `@{`." -msgstr "" +#: en/date-formats.txt:5 +msgid "The `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE` environment variables" +msgstr "Les variables d'environnement `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE`" #. type: Plain text -#: en/git-check-ref-format.txt:58 -msgid "They cannot be the single character `@`." -msgstr "" +#: en/date-formats.txt:7 +msgid "and the `--date` option" +msgstr "et l'option `--date`" #. type: Plain text -#: en/git-check-ref-format.txt:60 -msgid "They cannot contain a `\\`." -msgstr "" +#: en/date-formats.txt:9 +msgid "support the following date formats:" +msgstr "prend en charge les formats de date suivants혻:" + +#. type: Labeled list +#: en/date-formats.txt:10 +#, no-wrap +msgid "Git internal format" +msgstr "Format interne de Git" #. type: Plain text -#: en/git-check-ref-format.txt:65 +#: en/date-formats.txt:15 msgid "" -"These rules make it easy for shell script based tools to parse reference " -"names, pathname expansion by the shell when a reference name is used " -"unquoted (by mistake), and also avoid ambiguities in certain reference name " -"expressions (see linkgit:gitrevisions[7]):" +"It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is the " +"number of seconds since the UNIX epoch. `<time zone offset>` is a positive " +"or negative offset from UTC. For example CET (which is 1 hour ahead of UTC) " +"is `+0100`." msgstr "" +"Il est de la forme `<horodatage unix> <d챕calage de fuseau horaire>`, o첫 " +"`<horodatage unix>` est un nombre de secondes depuis l'챕poque UNIX. " +"`<d챕calage de fuseau horaire>` est un d챕calage positif ou n챕gative par " +"rapport 횪 UTC. Par exemple, CET (qui est en avance d'une heure sur UTC) est `" +"+0100`." + +#. type: Labeled list +#: en/date-formats.txt:16 +#, no-wrap +msgid "RFC 2822" +msgstr "RFC 2822" #. type: Plain text -#: en/git-check-ref-format.txt:69 +#: en/date-formats.txt:19 msgid "" -"A double-dot `..` is often used as in `ref1..ref2`, and in some contexts " -"this notation means `^ref1 ref2` (i.e. not in `ref1` and in `ref2`)." +"The standard email format as described by RFC 2822, for example `Thu, 07 Apr " +"2005 22:13:13 +0200`." msgstr "" +"Le standard de format des courriel tel que d챕crit par la RFC 2822, par " +"exemple `Thu, 07 Apr 2005 22:13:13 +0200`." + +#. type: Labeled list +#: en/date-formats.txt:20 +#, no-wrap +msgid "ISO 8601" +msgstr "ISO 8601" #. type: Plain text -#: en/git-check-ref-format.txt:72 +#: en/date-formats.txt:24 msgid "" -"A tilde `~` and caret `^` are used to introduce the postfix 'nth parent' and " -"'peel onion' operation." +"Time and date specified by the ISO 8601 standard, for example " +"`2005-04-07T22:13:13`. The parser accepts a space instead of the `T` " +"character as well." msgstr "" +"Les heures et les dates sont sp챕cifi챕es par le standard ISO 8601, par " +"exemple `2005-04-07T22:13:13`. L'analyseur accepte aussi un espace au lieu " +"du caract챔re `T`. " #. type: Plain text -#: en/git-check-ref-format.txt:77 +#: en/date-formats.txt:26 msgid "" -"A colon `:` is used as in `srcref:dstref` to mean \"use srcref\\'s value and " -"store it in dstref\" in fetch and push operations. It may also be used to " -"select a specific object such as with 'git cat-file': \"git cat-file blob " -"v1.3.3:refs.c\"." +"In addition, the date part is accepted in the following formats: `YYYY.MM." +"DD`, `MM/DD/YYYY` and `DD.MM.YYYY`." msgstr "" +"De plus, la partie date est accept챕e dans les formats suivants혻: `AAAA.MM." +"JJ`, `MM/JJ/AAAA` et `JJ.MM.AAAA`." -#. type: Plain text -#: en/git-check-ref-format.txt:79 -msgid "at-open-brace `@{` is used as a notation to access a reflog entry." +#. type: Labeled list +#: en/diff-config.txt:1 +#, no-wrap +msgid "diff.autoRefreshIndex" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:85 +#: en/diff-config.txt:10 msgid "" -"With the `--branch` option, it expands the ``previous branch syntax'' `@{-n}" -"`. For example, `@{-1}` is a way to refer the last branch you were on. " -"This option should be used by porcelains to accept this syntax anywhere a " -"branch name is expected, so they can act as if you typed the branch name." +"When using 'git diff' to compare with work tree files, do not consider stat-" +"only change as changed. Instead, silently run `git update-index --refresh` " +"to update the cached stat information for paths whose contents in the work " +"tree match the contents in the index. This option defaults to true. Note " +"that this affects only 'git diff' Porcelain, and not lower level 'diff' " +"commands such as 'git diff-files'." msgstr "" #. type: Labeled list -#: en/git-check-ref-format.txt:88 +#: en/diff-config.txt:11 #, no-wrap -msgid "--[no-]allow-onelevel" +msgid "diff.dirstat" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:92 +#: en/diff-config.txt:18 msgid "" -"Controls whether one-level refnames are accepted (i.e., refnames that do not " -"contain multiple `/`-separated components). The default is `--no-allow-" -"onelevel`." +"A comma separated list of `--dirstat` parameters specifying the default " +"behavior of the `--dirstat` option to linkgit:git-diff[1]` and friends. The " +"defaults can be overridden on the command line (using `--dirstat=<param1," +"param2,...>`). The fallback defaults (when not changed by `diff.dirstat`) " +"are `changes,noncumulative,3`. The following parameters are available:" msgstr "" #. type: Labeled list -#: en/git-check-ref-format.txt:93 +#: en/diff-config.txt:20 en/diff-options.txt:137 #, no-wrap -msgid "--refspec-pattern" +msgid "`changes`" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:99 +#: en/diff-config.txt:26 en/diff-options.txt:143 msgid "" -"Interpret <refname> as a reference name pattern for a refspec (as used with " -"remote repositories). If this option is enabled, <refname> is allowed to " -"contain a single `*` in the refspec (e.g., `foo/bar*/baz` or `foo/bar*baz/` " -"but not `foo/bar*/baz*`)." +"Compute the dirstat numbers by counting the lines that have been removed " +"from the source, or added to the destination. This ignores the amount of " +"pure code movements within a file. In other words, rearranging lines in a " +"file is not counted as much as other changes. This is the default behavior " +"when no parameter is given." msgstr "" #. type: Labeled list -#: en/git-check-ref-format.txt:100 +#: en/diff-config.txt:26 en/diff-options.txt:143 #, no-wrap -msgid "--normalize" +msgid "`lines`" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:107 +#: en/diff-config.txt:34 en/diff-options.txt:151 msgid "" -"Normalize 'refname' by removing any leading slash (`/`) characters and " -"collapsing runs of adjacent slashes between name components into a single " -"slash. If the normalized refname is valid then print it to standard output " -"and exit with a status of 0, otherwise exit with a non-zero status. (`--" -"print` is a deprecated way to spell `--normalize`.)" +"Compute the dirstat numbers by doing the regular line-based diff analysis, " +"and summing the removed/added line counts. (For binary files, count 64-byte " +"chunks instead, since binary files have no natural concept of lines). This " +"is a more expensive `--dirstat` behavior than the `changes` behavior, but it " +"does count rearranged lines within a file as much as other changes. The " +"resulting output is consistent with what you get from the other `--*stat` " +"options." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:113 -msgid "Print the name of the previous branch:" +#. type: Labeled list +#: en/diff-config.txt:34 en/diff-options.txt:151 +#, no-wrap +msgid "`files`" msgstr "" -#. type: delimited block - -#: en/git-check-ref-format.txt:116 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "$ git check-ref-format --branch @{-1}\n" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-check-ref-format.txt:119 -msgid "Determine the reference name to use for a new branch:" +#: en/diff-config.txt:39 en/diff-options.txt:156 +msgid "" +"Compute the dirstat numbers by counting the number of files changed. Each " +"changed file counts equally in the dirstat analysis. This is the " +"computationally cheapest `--dirstat` behavior, since it does not have to " +"look at the file contents at all." msgstr "" -#. type: delimited block - -#: en/git-check-ref-format.txt:123 +#. type: Labeled list +#: en/diff-config.txt:39 en/diff-options.txt:156 #, no-wrap +msgid "`cumulative`" +msgstr "" + +#. type: Plain text +#: en/diff-config.txt:44 en/diff-options.txt:161 msgid "" -"$ ref=$(git check-ref-format --normalize \"refs/heads/$newbranch\")||\n" -"{ echo \"we do not like '$newbranch' as a branch name.\" >&2 ; exit 1 ; }\n" +"Count changes in a child directory for the parent directory as well. Note " +"that when using `cumulative`, the sum of the percentages reported may exceed " +"100%. The default (non-cumulative) behavior can be specified with the " +"`noncumulative` parameter." msgstr "" -#. type: Title = -#: en/git-cherry-pick.txt:2 +#. type: Labeled list +#: en/diff-config.txt:44 en/diff-options.txt:161 en/git-cherry.txt:39 #, no-wrap -msgid "git-cherry-pick(1)" +msgid "<limit>" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:7 -msgid "git-cherry-pick - Apply the changes introduced by some existing commits" +#: en/diff-config.txt:48 en/diff-options.txt:165 +msgid "" +"An integer parameter specifies a cut-off percent (3% by default). " +"Directories contributing less than this percentage of the changes are not " +"shown in the output." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:16 -#, no-wrap +#: en/diff-config.txt:54 msgid "" -"'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]\n" -"\t\t [-S[<keyid>]] <commit>...\n" -"'git cherry-pick' --continue\n" -"'git cherry-pick' --quit\n" -"'git cherry-pick' --abort\n" +"Example: The following will count changed files, while ignoring directories " +"with less than 10% of the total amount of changed files, and accumulating " +"child directory counts in the parent directories: `files,10,cumulative`." msgstr "" -#. type: Plain text -#: en/git-cherry-pick.txt:23 -msgid "" -"Given one or more existing commits, apply the change each one introduces, " -"recording a new commit for each. This requires your working tree to be " -"clean (no modifications from the HEAD commit)." +#. type: Labeled list +#: en/diff-config.txt:55 +#, no-wrap +msgid "diff.statGraphWidth" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:26 -msgid "When it is not obvious how to apply a change, the following happens:" +#: en/diff-config.txt:58 +msgid "" +"Limit the width of the graph part in --stat output. If set, applies to all " +"commands generating --stat output except format-patch." msgstr "" +#. type: Labeled list +#: en/diff-config.txt:59 +#, fuzzy, no-wrap +#| msgid "new content" +msgid "diff.context" +msgstr "contenu nouveau" + #. type: Plain text -#: en/git-cherry-pick.txt:29 +#: en/diff-config.txt:62 msgid "" -"The current branch and `HEAD` pointer stay at the last commit successfully " -"made." +"Generate diffs with <n> lines of context instead of the default of 3. This " +"value is overridden by the -U option." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:63 +#, no-wrap +msgid "diff.interHunkContext" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:31 +#: en/diff-config.txt:68 msgid "" -"The `CHERRY_PICK_HEAD` ref is set to point at the commit that introduced the " -"change that is difficult to apply." +"Show the context between diff hunks, up to the specified number of lines, " +"thereby fusing the hunks that are close to each other. This value serves as " +"the default for the `--inter-hunk-context` command line option." msgstr "" +#. type: Labeled list +#: en/diff-config.txt:69 +#, fuzzy, no-wrap +#| msgid "diff" +msgid "diff.external" +msgstr "diff" + #. type: Plain text -#: en/git-cherry-pick.txt:33 +#: en/diff-config.txt:77 msgid "" -"Paths in which the change applied cleanly are updated both in the index file " -"and in your working tree." +"If this config variable is set, diff generation is not performed using the " +"internal diff machinery, but using the given command. Can be overridden " +"with the `GIT_EXTERNAL_DIFF' environment variable. The command is called " +"with parameters as described under \"git Diffs\" in linkgit:git[1]. Note: " +"if you want to use an external diff program only on a subset of your files, " +"you\tmight want to use linkgit:gitattributes[5] instead." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:78 +#, no-wrap +msgid "diff.ignoreSubmodules" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:38 +#: en/diff-config.txt:87 msgid "" -"For conflicting paths, the index file records up to three versions, as " -"described in the \"TRUE MERGE\" section of linkgit:git-merge[1]. The " -"working tree files will include a description of the conflict bracketed by " -"the usual conflict markers `<<<<<<<` and `>>>>>>>`." +"Sets the default value of --ignore-submodules. Note that this affects only " +"'git diff' Porcelain, and not lower level 'diff' commands such as 'git diff-" +"files'. 'git checkout' also honors this setting when reporting uncommitted " +"changes. Setting it to 'all' disables the submodule summary normally shown " +"by 'git commit' and 'git status' when `status.submoduleSummary` is set " +"unless it is overridden by using the --ignore-submodules command-line " +"option. The 'git submodule' commands are not affected by this setting." msgstr "" -#. type: Plain text -#: en/git-cherry-pick.txt:39 -msgid "No other modifications are made." +#. type: Labeled list +#: en/diff-config.txt:88 +#, no-wrap +msgid "diff.mnemonicPrefix" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:42 -msgid "See linkgit:git-merge[1] for some hints on resolving such conflicts." +#: en/diff-config.txt:93 +msgid "" +"If set, 'git diff' uses a prefix pair that is different from the standard " +"\"a/\" and \"b/\" depending on what is being compared. When this " +"configuration is in effect, reverse diff output also swaps the order of the " +"prefixes:" msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:45 en/git-merge.txt:110 en/git-revert.txt:35 -#: en/git-verify-commit.txt:27 +#: en/diff-config.txt:93 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "<commit>..." -msgstr "git-commit(1)" +#| msgid "git-add(1)" +msgid "`git diff`" +msgstr "git-add(1)" #. type: Plain text -#: en/git-cherry-pick.txt:54 -msgid "" -"Commits to cherry-pick. For a more complete list of ways to spell commits, " -"see linkgit:gitrevisions[7]. Sets of commits can be passed but no traversal " -"is done by default, as if the `--no-walk` option was specified, see linkgit:" -"git-rev-list[1]. Note that specifying a range will feed all <commit>... " -"arguments to a single revision walk (see a later example that uses 'maint " -"master..next')." +#: en/diff-config.txt:95 +msgid "compares the (i)ndex and the (w)ork tree;" +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:95 +#, no-wrap +msgid "`git diff HEAD`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:59 -msgid "" -"With this option, 'git cherry-pick' will let you edit the commit message " -"prior to committing." +#: en/diff-config.txt:97 +msgid "compares a (c)ommit and the (w)ork tree;" msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:60 en/git-clean.txt:62 +#: en/diff-config.txt:97 #, no-wrap -msgid "-x" +msgid "`git diff --cached`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:73 -msgid "" -"When recording the commit, append a line that says \"(cherry picked from " -"commit ...)\" to the original commit message in order to indicate which " -"commit this change was cherry-picked from. This is done only for cherry " -"picks without conflicts. Do not use this option if you are cherry-picking " -"from your private branch because the information is useless to the " -"recipient. If on the other hand you are cherry-picking between two publicly " -"visible branches (e.g. backporting a fix to a maintenance branch for an " -"older release from a development branch), adding this information can be " -"useful." +#: en/diff-config.txt:99 +msgid "compares a (c)ommit and the (i)ndex;" +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:99 +#, no-wrap +msgid "`git diff HEAD:file1 file2`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:78 -msgid "" -"It used to be that the command defaulted to do `-x` described above, and `-" -"r` was to disable it. Now the default is not to do `-x` so this option is a " -"no-op." +#: en/diff-config.txt:101 +msgid "compares an (o)bject and a (w)ork tree entity;" msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:79 en/git-revert.txt:49 -#, no-wrap -msgid "-m parent-number" +#: en/diff-config.txt:101 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "`git diff --no-index a b`" +msgstr "git-add(1)" + +#. type: Plain text +#: en/diff-config.txt:103 +msgid "compares two non-git things (1) and (2)." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:80 en/git-revert.txt:50 +#: en/diff-config.txt:104 #, no-wrap -msgid "--mainline parent-number" +msgid "diff.noprefix" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:86 -msgid "" -"Usually you cannot cherry-pick a merge because you do not know which side of " -"the merge should be considered the mainline. This option specifies the " -"parent number (starting from 1) of the mainline and allows cherry-pick to " -"replay the change relative to the specified parent." +#: en/diff-config.txt:106 +msgid "If set, 'git diff' does not show any source or destination prefix." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:88 en/git-revert.txt:70 en/merge-options.txt:2 +#: en/diff-config.txt:107 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--no-commit" -msgstr "git-commit(1)" +#| msgid "diff" +msgid "diff.orderFile" +msgstr "diff" #. type: Plain text -#: en/git-cherry-pick.txt:96 +#: en/diff-config.txt:112 msgid "" -"Usually the command automatically creates a sequence of commits. This flag " -"applies the changes necessary to cherry-pick each named commit to your " -"working tree and the index, without making any commit. In addition, when " -"this option is used, your index does not have to match the HEAD commit. The " -"cherry-pick is done against the beginning state of your index." +"File indicating how to order files within a diff. See the '-O' option to " +"linkgit:git-diff[1] for details. If `diff.orderFile` is a relative " +"pathname, it is treated as relative to the top of the working tree." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:113 +#, no-wrap +msgid "diff.renameLimit" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:99 +#: en/diff-config.txt:116 msgid "" -"This is useful when cherry-picking more than one commits' effect to your " -"index in a row." +"The number of files to consider when performing the copy/rename detection; " +"equivalent to the 'git diff' option `-l`." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:117 +#, no-wrap +msgid "diff.renames" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:104 en/git-revert.txt:93 +#: en/diff-config.txt:125 msgid "" -"Add Signed-off-by line at the end of the commit message. See the signoff " -"option in linkgit:git-commit[1] for more information." +"Whether and how Git detects renames. If set to \"false\", rename detection " +"is disabled. If set to \"true\", basic rename detection is enabled. If set " +"to \"copies\" or \"copy\", Git will detect copies, as well. Defaults to " +"true. Note that this affects only 'git diff' Porcelain like linkgit:git-" +"diff[1] and linkgit:git-log[1], and not lower level commands such as linkgit:" +"git-diff-files[1]." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:111 en/merge-options.txt:30 +#: en/diff-config.txt:126 #, no-wrap -msgid "--ff" +msgid "diff.suppressBlankEmpty" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:115 +#: en/diff-config.txt:129 msgid "" -"If the current HEAD is the same as the parent of the cherry-pick'ed commit, " -"then a fast forward to this commit will be performed." +"A boolean to inhibit the standard behavior of printing a space before each " +"empty output line. Defaults to false." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:116 en/git-commit.txt:173 en/git-notes.txt:158 +#: en/diff-config.txt:130 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "diff.submodule" +msgstr "git-add(1)" + +#. type: Plain text +#: en/diff-config.txt:137 +msgid "" +"Specify the format in which differences in submodules are shown. The \"short" +"\" format just shows the names of the commits at the beginning and end of " +"the range. The \"log\" format lists the commits in the range like linkgit:" +"git-submodule[1] `summary` does. The \"diff\" format shows an inline diff of " +"the changed contents of the submodule. Defaults to \"short\"." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:138 #, no-wrap -msgid "--allow-empty" +msgid "diff.wordRegex" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:128 +#: en/diff-config.txt:143 msgid "" -"By default, cherry-picking an empty commit will fail, indicating that an " -"explicit invocation of `git commit --allow-empty` is required. This option " -"overrides that behavior, allowing empty commits to be preserved " -"automatically in a cherry-pick. Note that when \"--ff\" is in effect, empty " -"commits that meet the \"fast-forward\" requirement will be kept even without " -"this option. Note also, that use of this option only keeps commits that " -"were initially empty (i.e. the commit recorded the same tree as its " -"parent). Commits which are made empty due to a previous commit are " -"dropped. To force the inclusion of those commits use `--keep-redundant-" -"commits`." +"A POSIX Extended Regular Expression used to determine what is a \"word\" " +"when performing word-by-word difference calculations. Character sequences " +"that match the regular expression are \"words\", all other characters are " +"*ignorable* whitespace." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:129 en/git-commit.txt:179 +#: en/diff-config.txt:144 #, no-wrap -msgid "--allow-empty-message" +msgid "diff.<driver>.command" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:133 +#: en/diff-config.txt:147 msgid "" -"By default, cherry-picking a commit with an empty message will fail. This " -"option overrides that behavior, allowing commits with empty messages to be " -"cherry picked." +"The custom diff driver command. See linkgit:gitattributes[5] for details." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:134 +#: en/diff-config.txt:148 #, no-wrap -msgid "--keep-redundant-commits" +msgid "diff.<driver>.xfuncname" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:140 +#: en/diff-config.txt:152 msgid "" -"If a commit being cherry picked duplicates a commit already in the current " -"history, it will become empty. By default these redundant commits cause " -"`cherry-pick` to stop so the user can examine the commit. This option " -"overrides that behavior and creates an empty commit object. Implies `--" -"allow-empty`." +"The regular expression that the diff driver should use to recognize the hunk " +"header. A built-in pattern may also be used. See linkgit:gitattributes[5] " +"for details." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:141 en/git-notes.txt:184 en/git-rebase.txt:283 -#: en/git-revert.txt:94 en/git-svn.txt:640 en/merge-options.txt:78 +#: en/diff-config.txt:153 #, no-wrap -msgid "--strategy=<strategy>" +msgid "diff.<driver>.binary" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:145 en/git-revert.txt:98 +#: en/diff-config.txt:156 msgid "" -"Use the given merge strategy. Should only be used once. See the MERGE " -"STRATEGIES section in linkgit:git-merge[1] for details." +"Set this option to true to make the diff driver treat files as binary. See " +"linkgit:gitattributes[5] for details." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:146 en/git-revert.txt:99 -#, fuzzy, no-wrap -#| msgid "status" -msgid "-X<option>" -msgstr "status" - -#. type: Labeled list -#: en/git-cherry-pick.txt:147 en/git-revert.txt:100 en/merge-options.txt:86 +#: en/diff-config.txt:157 #, no-wrap -msgid "--strategy-option=<option>" +msgid "diff.<driver>.textconv" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:150 en/git-revert.txt:103 +#: en/diff-config.txt:162 msgid "" -"Pass the merge strategy-specific option through to the merge strategy. See " -"linkgit:git-merge[1] for details." +"The command that the diff driver should call to generate the text-converted " +"version of a file. The result of the conversion is used to generate a human-" +"readable diff. See linkgit:gitattributes[5] for details." msgstr "" -#. type: Title - -#: en/git-cherry-pick.txt:152 en/git-revert.txt:105 +#. type: Labeled list +#: en/diff-config.txt:163 #, no-wrap -msgid "SEQUENCER SUBCOMMANDS" +msgid "diff.<driver>.wordRegex" +msgstr "" + +#. type: Plain text +#: en/diff-config.txt:167 +msgid "" +"The regular expression that the diff driver should use to split words in a " +"line. See linkgit:gitattributes[5] for details." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:157 +#: en/diff-config.txt:168 #, no-wrap -msgid "`git cherry-pick master`" +msgid "diff.<driver>.cachetextconv" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:161 +#: en/diff-config.txt:171 msgid "" -"Apply the change introduced by the commit at the tip of the master branch " -"and create a new commit with this change." +"Set this option to true to make the diff driver cache the text conversion " +"outputs. See linkgit:gitattributes[5] for details." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:162 -#, no-wrap -msgid "`git cherry-pick ..master`" +#: en/diff-config.txt:172 en/git-difftool.txt:111 +#, fuzzy, no-wrap +#| msgid "diff" +msgid "diff.tool" +msgstr "diff" + +#. type: Plain text +#: en/diff-config.txt:178 +msgid "" +"Controls which diff tool is used by linkgit:git-difftool[1]. This variable " +"overrides the value configured in `merge.tool`. The list below shows the " +"valid built-in values. Any other value is treated as a custom diff tool and " +"requires that a corresponding difftool.<tool>.cmd variable is defined." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:163 +#: en/diff-config.txt:181 #, no-wrap -msgid "`git cherry-pick ^HEAD master`" +msgid "diff.indentHeuristic" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:167 +#: en/diff-config.txt:184 msgid "" -"Apply the changes introduced by all commits that are ancestors of master but " -"not of HEAD to produce new commits." +"Set this option to `true` to enable experimental heuristics that shift diff " +"hunk boundaries to make patches easier to read." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:168 +#: en/diff-config.txt:185 #, no-wrap -msgid "`git cherry-pick maint next ^master`" +msgid "diff.algorithm" +msgstr "" + +#. type: Plain text +#: en/diff-config.txt:187 +msgid "Choose a diff algorithm. The variants are as follows:" msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:169 +#: en/diff-config.txt:189 en/diff-options.txt:82 #, no-wrap -msgid "`git cherry-pick maint master..next`" +msgid "`default`, `myers`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:176 -msgid "" -"Apply the changes introduced by all commits that are ancestors of maint or " -"next, but not master or any of its ancestors. Note that the latter does not " -"mean `maint` and everything between `master` and `next`; specifically, " -"`maint` will not be used if it is included in `master`." +#: en/diff-config.txt:191 en/diff-options.txt:84 +msgid "The basic greedy diff algorithm. Currently, this is the default." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:177 +#: en/diff-config.txt:191 en/diff-options.txt:84 #, no-wrap -msgid "`git cherry-pick master~4 master~2`" +msgid "`minimal`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:182 -msgid "" -"Apply the changes introduced by the fifth and third last commits pointed to " -"by master and create 2 new commits with these changes." +#: en/diff-config.txt:194 en/diff-options.txt:71 en/diff-options.txt:87 +msgid "Spend extra time to make sure the smallest possible diff is produced." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:183 +#: en/diff-config.txt:194 en/diff-options.txt:87 #, no-wrap -msgid "`git cherry-pick -n master~1 next`" +msgid "`patience`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:189 -msgid "" -"Apply to the working tree and the index the changes introduced by the second " -"last commit pointed to by master and by the last commit pointed to by next, " -"but do not create any commit with these changes." +#: en/diff-config.txt:196 en/diff-options.txt:89 +msgid "Use \"patience diff\" algorithm when generating patches." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:190 +#: en/diff-config.txt:196 en/diff-options.txt:89 #, no-wrap -msgid "`git cherry-pick --ff ..next`" +msgid "`histogram`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:197 +#: en/diff-config.txt:199 en/diff-options.txt:92 msgid "" -"If history is linear and HEAD is an ancestor of next, update the working " -"tree and advance the HEAD pointer to match next. Otherwise, apply the " -"changes introduced by those commits that are in next but not HEAD to the " -"current branch, creating a new commit for each new change." +"This algorithm extends the patience algorithm to \"support low-occurrence " +"common elements\"." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:198 +#: en/diff-config.txt:202 #, no-wrap -msgid "`git rev-list --reverse master -- README | git cherry-pick -n --stdin`" -msgstr "" - -#. type: Plain text -#: en/git-cherry-pick.txt:204 -msgid "" -"Apply the changes introduced by all commits on the master branch that " -"touched README to the working tree and index, so the result can be inspected " -"and made into a single new commit if suitable." +msgid "diff.wsErrorHighlight" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:208 +#: en/diff-config.txt:206 msgid "" -"The following sequence attempts to backport a patch, bails out because the " -"code the patch applies to has changed too much, and then tries again, this " -"time exercising more care about matching up context lines." +"A comma separated list of `old`, `new`, `context`, that specifies how " +"whitespace errors on lines are highlighted with `color.diff.whitespace`. " +"Can be overridden by the command line option `--ws-error-highlight=<kind>`" msgstr "" -#. type: delimited block - -#: en/git-cherry-pick.txt:214 +#. type: Title - +#: en/diff-format.txt:2 #, no-wrap -msgid "" -"$ git cherry-pick topic^ <1>\n" -"$ git diff <2>\n" -"$ git reset --merge ORIG_HEAD <3>\n" -"$ git cherry-pick -Xpatience topic^ <4>\n" +msgid "Raw output format" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:219 +#: en/diff-format.txt:6 msgid "" -"apply the change that would be shown by `git show topic^`. In this example, " -"the patch does not apply cleanly, so information about the conflict is " -"written to the index and working tree and no new commit results." +"The raw output format from \"git-diff-index\", \"git-diff-tree\", \"git-diff-" +"files\" and \"git diff --raw\" are very similar." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:220 -msgid "summarize changes to be reconciled" +#: en/diff-format.txt:9 +msgid "" +"These commands all compare two sets of things; what is compared differs:" msgstr "" +#. type: Labeled list +#: en/diff-format.txt:10 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-diff-index <tree-ish>" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-cherry-pick.txt:223 -msgid "" -"cancel the cherry-pick. In other words, return to the pre-cherry-pick " -"state, preserving any local modifications you had in the working tree." +#: en/diff-format.txt:12 +msgid "compares the <tree-ish> and the files on the filesystem." msgstr "" +#. type: Labeled list +#: en/diff-format.txt:13 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-diff-index --cached <tree-ish>" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-cherry-pick.txt:226 -msgid "" -"try to apply the change introduced by `topic^` again, spending extra time to " -"avoid mistakes based on incorrectly matching context lines." +#: en/diff-format.txt:15 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "compares the <tree-ish> and the index." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git-cherry-pick.txt:230 en/cmds-mainporcelain.txt:85 +#: en/diff-format.txt:16 #, no-wrap -msgid "linkgit:git-revert[1]" +msgid "git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]" msgstr "" -#. type: Title = -#: en/git-cherry.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-cherry(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-cherry.txt:7 -msgid "git-cherry - Find commits yet to be applied to upstream" +#: en/diff-format.txt:18 +msgid "compares the trees named by the two arguments." msgstr "" -#. type: Plain text -#: en/git-cherry.txt:12 +#. type: Labeled list +#: en/diff-format.txt:19 #, no-wrap -msgid "'git cherry' [-v] [<upstream> [<head> [<limit>]]]\n" +msgid "git-diff-files [<pattern>...]" msgstr "" #. type: Plain text -#: en/git-cherry.txt:17 -msgid "" -"Determine whether there are commits in `<head>..<upstream>` that are " -"equivalent to those in the range `<limit>..<head>`." +#: en/diff-format.txt:21 +msgid "compares the index and the files on the filesystem." msgstr "" #. type: Plain text -#: en/git-cherry.txt:22 +#: en/diff-format.txt:25 msgid "" -"The equivalence test is based on the diff, after removing whitespace and " -"line numbers. git-cherry therefore detects when commits have been \"copied" -"\" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or linkgit:git-" -"rebase[1]." +"The \"git-diff-tree\" command begins its output by printing the hash of what " +"is being compared. After that, all the commands print one output line per " +"changed file." msgstr "" #. type: Plain text -#: en/git-cherry.txt:26 +#: en/diff-format.txt:27 +msgid "An output line is formatted this way:" +msgstr "" + +#. type: delimited block - +#: en/diff-format.txt:35 +#, no-wrap msgid "" -"Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with `-` for " -"commits that have an equivalent in <upstream>, and `+` for commits that do " -"not." +"in-place edit :100644 100644 bcd1234... 0123456... M file0\n" +"copy-edit :100644 100644 abcd123... 1234567... C68 file1 file2\n" +"rename-edit :100644 100644 abcd123... 1234567... R86 file1 file3\n" +"create :000000 100644 0000000... 1234567... A file4\n" +"delete :100644 000000 1234567... 0000000... D file5\n" +"unmerged :000000 000000 0000000... 0000000... U file6\n" msgstr "" #. type: Plain text -#: en/git-cherry.txt:31 -msgid "Show the commit subjects next to the SHA1s." +#: en/diff-format.txt:38 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "That is, from the left to the right:" msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Labeled list -#: en/git-cherry.txt:32 en/git-rebase.txt:237 -#, no-wrap -msgid "<upstream>" +#. type: Plain text +#: en/diff-format.txt:40 +msgid "a colon." msgstr "" #. type: Plain text -#: en/git-cherry.txt:35 -msgid "" -"Upstream branch to search for equivalent commits. Defaults to the upstream " -"branch of HEAD." +#: en/diff-format.txt:41 +msgid "mode for \"src\"; 000000 if creation or unmerged." msgstr "" #. type: Plain text -#: en/git-cherry.txt:38 en/git-rebase.txt:244 -msgid "Working branch; defaults to HEAD." +#: en/diff-format.txt:42 en/diff-format.txt:44 en/diff-format.txt:46 +#: en/diff-format.txt:48 +msgid "a space." msgstr "" -#. type: Labeled list -#: en/git-cherry.txt:39 en/diff-config.txt:44 en/diff-options.txt:161 -#, no-wrap -msgid "<limit>" +#. type: Plain text +#: en/diff-format.txt:43 +msgid "mode for \"dst\"; 000000 if deletion or unmerged." msgstr "" #. type: Plain text -#: en/git-cherry.txt:41 -msgid "Do not report commits up to (and including) limit." +#: en/diff-format.txt:45 +msgid "sha1 for \"src\"; 0\\{40\\} if creation or unmerged." msgstr "" -#. type: Title ~ -#: en/git-cherry.txt:46 -#, no-wrap -msgid "Patch workflows" +#. type: Plain text +#: en/diff-format.txt:47 +msgid "" +"sha1 for \"dst\"; 0\\{40\\} if creation, unmerged or \"look at work tree\"." msgstr "" #. type: Plain text -#: en/git-cherry.txt:52 -msgid "" -"git-cherry is frequently used in patch-based workflows (see linkgit:" -"gitworkflows[7]) to determine if a series of patches has been applied by the " -"upstream maintainer. In such a workflow you might create and send a topic " -"branch like this:" +#: en/diff-format.txt:49 +msgid "status, followed by optional \"score\" number." msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:58 -#, no-wrap -msgid "" -"$ git checkout -b topic origin/master\n" -"# work and create some commits\n" -"$ git format-patch origin/master\n" -"$ git send-email ... 00*\n" +#. type: Plain text +#: en/diff-format.txt:50 +msgid "a tab or a NUL when `-z` option is used." msgstr "" #. type: Plain text -#: en/git-cherry.txt:62 -msgid "" -"Later, you can see whether your changes have been applied by saying (still " -"on `topic`):" +#: en/diff-format.txt:51 +msgid "path for \"src\"" msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:66 -#, no-wrap -msgid "" -"$ git fetch # update your notion of origin/master\n" -"$ git cherry -v\n" +#. type: Plain text +#: en/diff-format.txt:52 +msgid "a tab or a NUL when `-z` option is used; only exists for C or R." msgstr "" -#. type: Title ~ -#: en/git-cherry.txt:69 -#, no-wrap -msgid "Concrete example" +#. type: Plain text +#: en/diff-format.txt:53 +msgid "path for \"dst\"; only exists for C or R." msgstr "" #. type: Plain text -#: en/git-cherry.txt:73 -msgid "" -"In a situation where topic consisted of three commits, and the maintainer " -"applied two of them, the situation might look like:" +#: en/diff-format.txt:54 +msgid "an LF or a NUL when `-z` option is used, to terminate the record." msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:86 -#, no-wrap -msgid "" -"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" -"* 7654321 (origin/master) upstream tip commit\n" -"[... snip some other commits ...]\n" -"* cccc111 cherry-pick of C\n" -"* aaaa111 cherry-pick of A\n" -"[... snip a lot more that has happened ...]\n" -"| * cccc000 (topic) commit C\n" -"| * bbbb000 commit B\n" -"| * aaaa000 commit A\n" -"|/\n" -"o 1234567 branch point\n" +#. type: Plain text +#: en/diff-format.txt:56 +msgid "Possible status letters are:" msgstr "" #. type: Plain text -#: en/git-cherry.txt:90 -msgid "" -"In such cases, git-cherry shows a concise summary of what has yet to be " -"applied:" +#: en/diff-format.txt:58 +msgid "A: addition of a file" msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:96 -#, no-wrap -msgid "" -"$ git cherry origin/master topic\n" -"- cccc000... commit C\n" -"+ bbbb000... commit B\n" -"- aaaa000... commit A\n" +#. type: Plain text +#: en/diff-format.txt:59 +msgid "C: copy of a file into a new one" msgstr "" #. type: Plain text -#: en/git-cherry.txt:102 -msgid "" -"Here, we see that the commits A and C (marked with `-`) can be dropped from " -"your `topic` branch when you rebase it on top of `origin/master`, while the " -"commit B (marked with `+`) still needs to be kept so that it will be sent to " -"be applied to `origin/master`." +#: en/diff-format.txt:60 +msgid "D: deletion of a file" msgstr "" -#. type: Title ~ -#: en/git-cherry.txt:105 -#, no-wrap -msgid "Using a limit" +# +#. type: Plain text +#: en/diff-format.txt:61 +#, fuzzy +#| msgid "modifying the contents of context or removal lines" +msgid "M: modification of the contents or mode of a file" +msgstr "modification de contenu de contexte ou de lignes supprim챕es" + +#. type: Plain text +#: en/diff-format.txt:62 +msgid "R: renaming of a file" msgstr "" #. type: Plain text -#: en/git-cherry.txt:110 -msgid "" -"The optional <limit> is useful in cases where your topic is based on other " -"work that is not in upstream. Expanding on the previous example, this might " -"look like:" +#: en/diff-format.txt:63 +msgid "T: change in the type of the file" msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:126 -#, no-wrap +#. type: Plain text +#: en/diff-format.txt:65 msgid "" -"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" -"* 7654321 (origin/master) upstream tip commit\n" -"[... snip some other commits ...]\n" -"* cccc111 cherry-pick of C\n" -"* aaaa111 cherry-pick of A\n" -"[... snip a lot more that has happened ...]\n" -"| * cccc000 (topic) commit C\n" -"| * bbbb000 commit B\n" -"| * aaaa000 commit A\n" -"| * 0000fff (base) unpublished stuff F\n" -"[... snip ...]\n" -"| * 0000aaa unpublished stuff A\n" -"|/\n" -"o 1234567 merge-base between upstream and topic\n" +"U: file is unmerged (you must complete the merge before it can be committed)" msgstr "" #. type: Plain text -#: en/git-cherry.txt:130 +#: en/diff-format.txt:66 +msgid "X: \"unknown\" change type (most probably a bug, please report it)" +msgstr "" + +#. type: Plain text +#: en/diff-format.txt:71 msgid "" -"By specifying `base` as the limit, you can avoid listing commits between " -"`base` and `topic`:" +"Status letters C and R are always followed by a score (denoting the " +"percentage of similarity between the source and target of the move or " +"copy). Status letter M may be followed by a score (denoting the percentage " +"of dissimilarity) for file rewrites." msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:136 -#, no-wrap +#. type: Plain text +#: en/diff-format.txt:74 msgid "" -"$ git cherry origin/master topic base\n" -"- cccc000... commit C\n" -"+ bbbb000... commit B\n" -"- aaaa000... commit A\n" +"<sha1> is shown as all 0's if a file is new on the filesystem and it is out " +"of sync with the index." msgstr "" #. type: Labeled list -#: en/git-cherry.txt:142 en/cmds-purehelpers.txt:40 +#: en/diff-format.txt:76 en/diff-format.txt:101 en/git-svn.txt:468 +#: en/git-svn.txt:508 #, no-wrap -msgid "linkgit:git-patch-id[1]" +msgid "Example:" msgstr "" -#. type: Title = -#: en/git-citool.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-citool(1)" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/diff-format.txt:79 +#, no-wrap +msgid ":100644 100644 5be4a4...... 000000...... M file.c\n" +msgstr "" #. type: Plain text -#: en/git-citool.txt:7 -msgid "git-citool - Graphical alternative to git-commit" +#: en/diff-format.txt:85 en/git-ls-files.txt:204 en/git-ls-tree.txt:101 +msgid "" +"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " +"explained for the configuration variable `core.quotePath` (see linkgit:git-" +"config[1]). Using `-z` the filename is output verbatim and the line is " +"terminated by a NUL byte." msgstr "" -#. type: Plain text -#: en/git-citool.txt:12 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "'git citool'\n" -msgstr "$ git commit\n" +#. type: Title - +#: en/diff-format.txt:87 +#, no-wrap +msgid "diff format for merges" +msgstr "" #. type: Plain text -#: en/git-citool.txt:19 +#: en/diff-format.txt:93 msgid "" -"A Tcl/Tk based graphical interface to review modified files, stage them into " -"the index, enter a commit message and record the new commit onto the current " -"branch. This interface is an alternative to the less interactive 'git " -"commit' program." +"\"git-diff-tree\", \"git-diff-files\" and \"git-diff --raw\" can take `-c` " +"or `--cc` option to generate diff output also for merge commits. The output " +"differs from the format described above in the following way:" msgstr "" #. type: Plain text -#: en/git-citool.txt:22 -msgid "" -"'git citool' is actually a standard alias for `git gui citool`. See linkgit:" -"git-gui[1] for more details." +#: en/diff-format.txt:95 +msgid "there is a colon for each parent" msgstr "" -#. type: Title = -#: en/git-clean.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-clean(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-clean.txt:7 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "git-clean - Remove untracked files from the working tree" +#: en/diff-format.txt:96 +msgid "there are more \"src\" modes and \"src\" sha1" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-clean.txt:12 -#, no-wrap -msgid "'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...\n" +#: en/diff-format.txt:97 +msgid "status is concatenated status characters for each parent" msgstr "" #. type: Plain text -#: en/git-clean.txt:18 -msgid "" -"Cleans the working tree by recursively removing files that are not under " -"version control, starting from the current directory." +#: en/diff-format.txt:98 +msgid "no optional \"score\" number" msgstr "" #. type: Plain text -#: en/git-clean.txt:22 -msgid "" -"Normally, only files unknown to Git are removed, but if the `-x` option is " -"specified, ignored files are also removed. This can, for example, be useful " -"to remove all build products." +#: en/diff-format.txt:99 +msgid "single path, only for \"dst\"" msgstr "" -#. type: Plain text -#: en/git-clean.txt:25 -msgid "" -"If any optional `<path>...` arguments are given, only those paths are " -"affected." +#. type: delimited block - +#: en/diff-format.txt:104 +#, no-wrap +msgid "::100644 100644 100644 fabadb8... cc95eb0... 4866510... MM\tdescribe.c\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:33 +#: en/diff-format.txt:108 msgid "" -"Remove untracked directories in addition to untracked files. If an " -"untracked directory is managed by a different Git repository, it is not " -"removed by default. Use -f option twice if you really want to remove such a " -"directory." +"Note that 'combined diff' lists only files which were modified from all " +"parents." msgstr "" +#. type: Title - +#: en/diff-format.txt:114 +#, fuzzy, no-wrap +#| msgid "Git internal format" +msgid "other diff formats" +msgstr "Format interne de Git" + #. type: Plain text -#: en/git-clean.txt:41 +#: en/diff-format.txt:120 msgid "" -"If the Git configuration variable clean.requireForce is not set to false, " -"'git clean' will refuse to delete files or directories unless given -f, -n " -"or -i. Git will refuse to delete directories with .git sub directory or file " -"unless a second -f is given." +"The `--summary` option describes newly added, deleted, renamed and copied " +"files. The `--stat` option adds diffstat(1) graph to the output. These " +"options can be combined with other options, such as `-p`, and are meant for " +"human consumption." msgstr "" #. type: Plain text -#: en/git-clean.txt:46 +#: en/diff-format.txt:125 msgid "" -"Show what would be done and clean files interactively. See ``Interactive " -"mode'' for details." +"When showing a change that involves a rename or a copy, `--stat` output " +"formats the pathnames compactly by combining common prefix and suffix of the " +"pathnames. For example, a change that moves `arch/i386/Makefile` to `arch/" +"x86/Makefile` while modifying 4 lines will be shown like this:" msgstr "" -#. type: Plain text -#: en/git-clean.txt:50 -#, fuzzy -#| msgid "" -#| "-n::\n" -#| "--dry-run::\n" -#| "\tDon't actually add the file(s), just show if they exist and/or will\n" -#| "\tbe ignored.\n" -msgid "Don't actually remove anything, just show what would be done." +#. type: delimited block - +#: en/diff-format.txt:128 +#, no-wrap +msgid "arch/{i386 => x86}/Makefile | 4 +--\n" msgstr "" -"-n::\n" -"--dry-run::\n" -"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" -"\tou seront ignor챕s.\n" #. type: Plain text -#: en/git-clean.txt:55 +#: en/diff-format.txt:133 msgid "" -"Be quiet, only report errors, but not the files that are successfully " -"removed." +"The `--numstat` option gives the diffstat(1) information but is designed for " +"easier machine consumption. An entry in `--numstat` output looks like this:" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:56 +#. type: delimited block - +#: en/diff-format.txt:137 #, no-wrap -msgid "-e <pattern>" +msgid "" +"1\t2\tREADME\n" +"3\t1\tarch/{i386 => x86}/Makefile\n" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:57 en/git-ls-files.txt:84 en/git-name-rev.txt:33 -#, no-wrap -msgid "--exclude=<pattern>" +#. type: Plain text +#: en/diff-format.txt:140 +msgid "That is, from left to right:" msgstr "" #. type: Plain text -#: en/git-clean.txt:61 -msgid "" -"In addition to those found in .gitignore (per directory) and $GIT_DIR/info/" -"exclude, also consider these patterns to be in the set of the ignore rules " -"in effect." +#: en/diff-format.txt:142 en/diff-format.txt:158 +msgid "the number of added lines;" msgstr "" #. type: Plain text -#: en/git-clean.txt:69 -msgid "" -"Don't use the standard ignore rules read from .gitignore (per directory) and " -"$GIT_DIR/info/exclude, but do still use the ignore rules given with `-e` " -"options. This allows removing all untracked files, including build " -"products. This can be used (possibly in conjunction with 'git reset') to " -"create a pristine working directory to test a clean build." +#: en/diff-format.txt:143 en/diff-format.txt:145 en/diff-format.txt:159 +#: en/diff-format.txt:161 +msgid "a tab;" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:70 -#, no-wrap -msgid "-X" +#. type: Plain text +#: en/diff-format.txt:144 en/diff-format.txt:160 +msgid "the number of deleted lines;" msgstr "" #. type: Plain text -#: en/git-clean.txt:73 -msgid "" -"Remove only files ignored by Git. This may be useful to rebuild everything " -"from scratch, but keep manually created files." +#: en/diff-format.txt:146 +msgid "pathname (possibly with rename/copy information);" msgstr "" -# #. type: Plain text -#: en/git-clean.txt:79 -#, fuzzy -#| msgid "" -#| "When the command enters the interactive mode, it shows the output of the " -#| "'status' subcommand, and then goes into its interactive command loop." -msgid "" -"When the command enters the interactive mode, it shows the files and " -"directories to be cleaned, and goes into its interactive command loop." +#: en/diff-format.txt:147 +msgid "a newline." +msgstr "" + +#. type: Plain text +#: en/diff-format.txt:149 +msgid "When `-z` output option is in effect, the output is formatted this way:" msgstr "" -"Quand la commande entre en mode interactif, elle affiche le r챕sultat de la " -"sous-commande 'status', puis entre en boucle de commande interactive." #. type: delimited block - -#: en/git-clean.txt:90 -#, fuzzy, no-wrap -#| msgid "" -#| " *** Commands ***\n" -#| " 1: status 2: update 3: revert 4: add untracked\n" -#| " 5: patch 6: diff 7: quit 8: help\n" -#| " What now> 1\n" +#: en/diff-format.txt:153 +#, no-wrap msgid "" -" *** Commands ***\n" -"\t1: clean 2: filter by pattern 3: select by numbers\n" -"\t4: ask each 5: quit 6: help\n" -" What now> 1\n" +"1\t2\tREADME NUL\n" +"3\t1\tNUL arch/i386/Makefile NUL arch/x86/Makefile NUL\n" msgstr "" -" *** Commands ***\n" -" 1: status 2: update 3: revert 4: add untracked\n" -" 5: patch 6: diff 7: quit 8: help\n" -" What now> 1\n" -# #. type: Plain text -#: en/git-clean.txt:93 -#, fuzzy -#| msgid "" -#| "You also could say `s` or `sta` or `status` above as long as the choice " -#| "is unique." -msgid "" -"You also could say `c` or `clean` above as long as the choice is unique." +#: en/diff-format.txt:156 +msgid "That is:" msgstr "" -"Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas si dessus, 횪 " -"condition que le choix soit unique." -# #. type: Plain text -#: en/git-clean.txt:95 -#, fuzzy -#| msgid "The main command loop has 6 subcommands (plus help and quit)." -msgid "The main command loop has 6 subcommands." +#: en/diff-format.txt:162 en/diff-format.txt:164 +msgid "a NUL (only exists if renamed/copied);" msgstr "" -"La boucle de commande principale propose 6 sous-commandes (plus help (aide) " -"et quit (quitter))." -#. type: Labeled list -#: en/git-clean.txt:96 -#, no-wrap -msgid "clean" +#. type: Plain text +#: en/diff-format.txt:163 +msgid "pathname in preimage;" msgstr "" #. type: Plain text -#: en/git-clean.txt:99 -msgid "Start cleaning files and directories, and then quit." +#: en/diff-format.txt:165 +msgid "pathname in postimage (only exists if renamed/copied);" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:100 -#, no-wrap -msgid "filter by pattern" +#. type: Plain text +#: en/diff-format.txt:166 +msgid "a NUL." msgstr "" #. type: Plain text -#: en/git-clean.txt:108 +#: en/diff-format.txt:171 msgid "" -"This shows the files and directories to be deleted and issues an \"Input " -"ignore patterns>>\" prompt. You can input space-separated patterns to " -"exclude files and directories from deletion. E.g. \"*.c *.h\" will excludes " -"files end with \".c\" and \".h\" from deletion. When you are satisfied with " -"the filtered result, press ENTER (empty) back to the main menu." +"The extra `NUL` before the preimage path in renamed case is to allow scripts " +"that read the output to tell if the current record being read is a single-" +"path record or a rename/copy record without reading ahead. After reading " +"added and deleted lines, reading up to `NUL` would yield the pathname, but " +"if that is `NUL`, the record will show two paths." msgstr "" -#. type: Labeled list -#: en/git-clean.txt:109 +#. type: Title - +#: en/diff-generate-patch.txt:2 #, no-wrap -msgid "select by numbers" +msgid "Generating patches with -p" msgstr "" -# #. type: Plain text -#: en/git-clean.txt:120 -#, fuzzy -#| msgid "" -#| "This shows the status information and issues an \"Update>>\" prompt. " -#| "When the prompt ends with double '>>', you can make more than one " -#| "selection, concatenated with whitespace or comma. Also you can say " -#| "ranges. E.g. \"2-5 7,9\" to choose 2,3,4,5,7,9 from the list. If the " -#| "second number in a range is omitted, all remaining patches are taken. E." -#| "g. \"7-\" to choose 7,8,9 from the list. You can say '*' to choose " -#| "everything." +#: en/diff-generate-patch.txt:10 msgid "" -"This shows the files and directories to be deleted and issues an \"Select " -"items to delete>>\" prompt. When the prompt ends with double '>>' like this, " -"you can make more than one selection, concatenated with whitespace or " -"comma. Also you can say ranges. E.g. \"2-5 7,9\" to choose 2,3,4,5,7,9 " -"from the list. If the second number in a range is omitted, all remaining " -"items are selected. E.g. \"7-\" to choose 7,8,9 from the list. You can say " -"'*' to choose everything. Also when you are satisfied with the filtered " -"result, press ENTER (empty) back to the main menu." +"When \"git-diff-index\", \"git-diff-tree\", or \"git-diff-files\" are run " +"with a `-p` option, \"git diff\" without the `--raw` option, or \"git log\" " +"with the \"-p\" option, they do not produce the output described above; " +"instead they produce a patch file. You can customize the creation of such " +"patches via the `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment " +"variables." msgstr "" -"Affiche l'information d'챕tat et un prompt \"Update>>\". Quand le prompt se " -"termine par un double '>', vous pouvez s챕lectionner plus d'une option, " -"concat챕n챕es avec des espaces ou des virgules. Vous pouvez aussi indiquer des " -"intervalles. Par exemple \"2-5 7,9\" pour choisir 2, 3, 4, 5, 7 et 9 dans " -"la liste. Si le second nombre d'un intervalle est absent, tous les patchs " -"restants sont s챕lectionn챕s. Par ex. \"7-\" choisit 7, 8 et 9 dans la liste. " -"'*' permet de tout s챕lectionner." -#. type: Labeled list -#: en/git-clean.txt:121 -#, no-wrap -msgid "ask each" +#. type: Plain text +#: en/diff-generate-patch.txt:13 +msgid "" +"What the -p option produces is slightly different from the traditional diff " +"format:" msgstr "" #. type: Plain text -#: en/git-clean.txt:126 -msgid "" -"This will start to clean, and you must confirm one by one in order to delete " -"items. Please note that this action is not as efficient as the above two " -"actions." +#: en/diff-generate-patch.txt:15 +msgid "It is preceded with a \"git diff\" header that looks like this:" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:127 +#. type: Plain text +#: en/diff-generate-patch.txt:17 #, no-wrap -msgid "quit" +msgid "diff --git a/file1 b/file2\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:130 -msgid "This lets you quit without do cleaning." +#: en/diff-generate-patch.txt:21 +msgid "" +"The `a/` and `b/` filenames are the same unless rename/copy is involved. " +"Especially, even for a creation or a deletion, `/dev/null` is _not_ used in " +"place of the `a/` or `b/` filenames." msgstr "" -#. type: Labeled list -#: en/git-clean.txt:131 -#, no-wrap -msgid "help" +#. type: Plain text +#: en/diff-generate-patch.txt:25 +msgid "" +"When rename/copy is involved, `file1` and `file2` show the name of the " +"source file of the rename/copy and the name of the file that rename/copy " +"produces, respectively." msgstr "" #. type: Plain text -#: en/git-clean.txt:134 -msgid "Show brief usage of interactive git-clean." +#: en/diff-generate-patch.txt:27 +msgid "It is followed by one or more extended header lines:" msgstr "" #. type: Plain text -#: en/git-clean.txt:138 en/git-status.txt:356 -msgid "linkgit:gitignore[5]" +#: en/diff-generate-patch.txt:39 +#, no-wrap +msgid "" +"old mode <mode>\n" +"new mode <mode>\n" +"deleted file mode <mode>\n" +"new file mode <mode>\n" +"copy from <path>\n" +"copy to <path>\n" +"rename from <path>\n" +"rename to <path>\n" +"similarity index <number>\n" +"dissimilarity index <number>\n" +"index <hash>..<hash> <mode>\n" msgstr "" -#. type: Title = -#: en/git-clone.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-clone(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-clone.txt:7 -msgid "git-clone - Clone a repository into a new directory" +#: en/diff-generate-patch.txt:42 +msgid "" +"File modes are printed as 6-digit octal numbers including the file type and " +"file permission bits." msgstr "" #. type: Plain text -#: en/git-clone.txt:19 -#, no-wrap +#: en/diff-generate-patch.txt:44 msgid "" -"'git clone' [--template=<template_directory>]\n" -"\t [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]\n" -"\t [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]\n" -"\t [--dissociate] [--separate-git-dir <git dir>]\n" -"\t [--depth <depth>] [--[no-]single-branch]\n" -"\t [--recursive | --recurse-submodules] [--[no-]shallow-submodules]\n" -"\t [--jobs <n>] [--] <repository> [<directory>]\n" +"Path names in extended headers do not include the `a/` and `b/` prefixes." msgstr "" #. type: Plain text -#: en/git-clone.txt:28 +#: en/diff-generate-patch.txt:51 msgid "" -"Clones a repository into a newly created directory, creates remote-tracking " -"branches for each branch in the cloned repository (visible using `git branch " -"-r`), and creates and checks out an initial branch that is forked from the " -"cloned repository's currently active branch." +"The similarity index is the percentage of unchanged lines, and the " +"dissimilarity index is the percentage of changed lines. It is a rounded " +"down integer, followed by a percent sign. The similarity index value of " +"100% is thus reserved for two equal files, while 100% dissimilarity means " +"that no line from the old file made it into the new one." msgstr "" #. type: Plain text -#: en/git-clone.txt:34 +#: en/diff-generate-patch.txt:55 msgid "" -"After the clone, a plain `git fetch` without arguments will update all the " -"remote-tracking branches, and a `git pull` without arguments will in " -"addition merge the remote master branch into the current master branch, if " -"any (this is untrue when \"--single-branch\" is given; see below)." +"The index line includes the SHA-1 checksum before and after the change. The " +"<mode> is included if the file mode does not change; otherwise, separate " +"lines indicate the old and the new mode." msgstr "" #. type: Plain text -#: en/git-clone.txt:39 +#: en/diff-generate-patch.txt:59 #, fuzzy #| msgid "" #| "The default can be changed by the `commit.cleanup` configuration variable " #| "(see linkgit:git-config[1])." msgid "" -"This default configuration is achieved by creating references to the remote " -"branch heads under `refs/remotes/origin` and by initializing `remote.origin." -"url` and `remote.origin.fetch` configuration variables." +"Pathnames with \"unusual\" characters are quoted as explained for the " +"configuration variable `core.quotePath` (see linkgit:git-config[1])." msgstr "" "La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " "`commit.cleanup` (voir linkgit:git-config[1])." -#. type: Labeled list -#: en/git-clone.txt:43 en/git-config.txt:127 en/git-instaweb.txt:24 -#: en/git-pack-objects.txt:127 en/git-svn.txt:229 +#. type: Plain text +#: en/diff-generate-patch.txt:64 +msgid "" +"All the `file1` files in the output refer to files before the commit, and " +"all the `file2` files refer to files after the commit. It is incorrect to " +"apply each change to each file sequentially. For example, this patch will " +"swap a and b:" +msgstr "" + +#. type: Plain text +#: en/diff-generate-patch.txt:71 #, no-wrap -msgid "--local" +msgid "" +"diff --git a/a b/b\n" +"rename from a\n" +"rename to b\n" +"diff --git a/b b/a\n" +"rename from b\n" +"rename to a\n" msgstr "" +#. type: Title - +#: en/diff-generate-patch.txt:74 +#, fuzzy, no-wrap +#| msgid "Git internal format" +msgid "combined diff format" +msgstr "Format interne de Git" + #. type: Plain text -#: en/git-clone.txt:51 +#: en/diff-generate-patch.txt:82 msgid "" -"When the repository to clone from is on a local machine, this flag bypasses " -"the normal \"Git aware\" transport mechanism and clones the repository by " -"making a copy of HEAD and everything under objects and refs directories. " -"The files under `.git/objects/` directory are hardlinked to save space when " -"possible." +"Any diff-generating command can take the `-c` or `--cc` option to produce a " +"'combined diff' when showing a merge. This is the default format when " +"showing merges with linkgit:git-diff[1] or linkgit:git-show[1]. Note also " +"that you can give the `-m` option to any of these commands to force " +"generation of diffs with individual parents of a merge." msgstr "" #. type: Plain text -#: en/git-clone.txt:58 +#: en/diff-generate-patch.txt:84 +msgid "A 'combined diff' format looks like this:" +msgstr "" + +#. type: delimited block - +#: en/diff-generate-patch.txt:93 +#, no-wrap msgid "" -"If the repository is specified as a local path (e.g., `/path/to/repo`), this " -"is the default, and --local is essentially a no-op. If the repository is " -"specified as a URL, then this flag is ignored (and we never use the local " -"optimizations). Specifying `--no-local` will override the default when `/" -"path/to/repo` is given, using the regular Git transport instead." +"diff --combined describe.c\n" +"index fabadb8,cc95eb0..4866510\n" +"--- a/describe.c\n" +"+++ b/describe.c\n" +"@@@ -98,20 -98,12 +98,20 @@@\n" +"\treturn (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;\n" +" }\n" msgstr "" -#. type: Labeled list -#: en/git-clone.txt:59 +#. type: delimited block - +#: en/diff-generate-patch.txt:103 #, no-wrap -msgid "--no-hardlinks" +msgid "" +"- static void describe(char *arg)\n" +" -static void describe(struct commit *cmit, int last_one)\n" +"++static void describe(char *arg, int last_one)\n" +" {\n" +" +\tunsigned char sha1[20];\n" +" +\tstruct commit *cmit;\n" +"\tstruct commit_list *list;\n" +"\tstatic int initialized = 0;\n" +"\tstruct commit_name *n;\n" +msgstr "" + +#. type: delimited block - +#: en/diff-generate-patch.txt:113 +#, no-wrap +msgid "" +" +\tif (get_sha1(arg, sha1) < 0)\n" +" +\t\tusage(describe_usage);\n" +" +\tcmit = lookup_commit_reference(sha1);\n" +" +\tif (!cmit)\n" +" +\t\tusage(describe_usage);\n" +" +\n" +"\tif (!initialized) {\n" +"\t\tinitialized = 1;\n" +"\t\tfor_each_ref(get_name);\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:64 +#: en/diff-generate-patch.txt:117 msgid "" -"Force the cloning process from a repository on a local filesystem to copy " -"the files under the `.git/objects` directory instead of using hardlinks. " -"This may be desirable if you are trying to make a back-up of your repository." +"It is preceded with a \"git diff\" header, that looks like this (when `-c` " +"option is used):" msgstr "" -#. type: Labeled list -#: en/git-clone.txt:65 +#. type: Plain text +#: en/diff-generate-patch.txt:119 #, no-wrap -msgid "--shared" +msgid "diff --combined file\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:72 -msgid "" -"When the repository to clone is on the local machine, instead of using hard " -"links, automatically setup `.git/objects/info/alternates` to share the " -"objects with the source repository. The resulting repository starts out " -"without any object of its own." +#: en/diff-generate-patch.txt:121 +msgid "or like this (when `--cc` option is used):" msgstr "" #. type: Plain text -#: en/git-clone.txt:82 +#: en/diff-generate-patch.txt:123 #, no-wrap -msgid "" -"*NOTE*: this is a possibly dangerous operation; do *not* use\n" -"it unless you understand what it does. If you clone your\n" -"repository using this option and then delete branches (or use any\n" -"other Git command that makes any existing commit unreferenced) in the\n" -"source repository, some objects may become unreferenced (or dangling).\n" -"These objects may be removed by normal Git operations (such as `git commit`)\n" -"which automatically call `git gc --auto`. (See linkgit:git-gc[1].)\n" -"If these objects are removed and were referenced by the cloned repository,\n" -"then the cloned repository will become corrupt.\n" +msgid " diff --cc file\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:88 +#: en/diff-generate-patch.txt:126 msgid "" -"Note that running `git repack` without the `-l` option in a repository " -"cloned with `-s` will copy objects from the source repository into a pack in " -"the cloned repository, removing the disk space savings of `clone -s`. It is " -"safe, however, to run `git gc`, which uses the `-l` option by default." +"It is followed by one or more extended header lines (this example shows a " +"merge with two parents):" msgstr "" #. type: Plain text -#: en/git-clone.txt:92 -msgid "" -"If you want to break the dependency of a repository cloned with `-s` on its " -"source repository, you can simply run `git repack -a` to copy all objects " -"from the source repository into a pack in the cloned repository." -msgstr "" - -#. type: Labeled list -#: en/git-clone.txt:93 +#: en/diff-generate-patch.txt:131 #, no-wrap -msgid "--reference[-if-able] <repository>" +msgid "" +"index <hash>,<hash>..<hash>\n" +"mode <mode>,<mode>..<mode>\n" +"new file mode <mode>\n" +"deleted file mode <mode>,<mode>\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:103 +#: en/diff-generate-patch.txt:137 msgid "" -"If the reference repository is on the local machine, automatically setup `." -"git/objects/info/alternates` to obtain objects from the reference " -"repository. Using an already existing repository as an alternate will " -"require fewer objects to be copied from the repository being cloned, " -"reducing network and local storage costs. When using the `--reference-if-" -"able`, a non existing directory is skipped with a warning instead of " -"aborting the clone." +"The `mode <mode>,<mode>..<mode>` line appears only if at least one of the " +"<mode> is different from the rest. Extended headers with information about " +"detected contents movement (renames and copying detection) are designed to " +"work with diff of two <tree-ish> and are not used by combined diff format." msgstr "" #. type: Plain text -#: en/git-clone.txt:106 -#, no-wrap -msgid "" -"*NOTE*: see the NOTE for the `--shared` option, and also the\n" -"`--dissociate` option.\n" +#: en/diff-generate-patch.txt:139 +msgid "It is followed by two-line from-file/to-file header" msgstr "" -#. type: Labeled list -#: en/git-clone.txt:107 -#, no-wrap -msgid "--dissociate" +#. type: Plain text +#: en/diff-generate-patch.txt:141 +msgid "a/file" msgstr "" #. type: Plain text -#: en/git-clone.txt:117 -msgid "" -"Borrow the objects from reference repositories specified with the `--" -"reference` options only to reduce network transfer, and stop borrowing from " -"them after a clone is made by making necessary local copies of borrowed " -"objects. This option can also be used when cloning locally from a " -"repository that already borrows objects from another repository--the new " -"repository will borrow objects from the same repository, and this option can " -"be used to stop the borrowing." +#: en/diff-generate-patch.txt:142 +msgid "b/file" msgstr "" #. type: Plain text -#: en/git-clone.txt:122 +#: en/diff-generate-patch.txt:146 msgid "" -"Operate quietly. Progress is not reported to the standard error stream." +"Similar to two-line header for traditional 'unified' diff format, `/dev/" +"null` is used to signal created or deleted files." msgstr "" #. type: Plain text -#: en/git-clone.txt:127 +#: en/diff-generate-patch.txt:152 msgid "" -"Run verbosely. Does not affect the reporting of progress status to the " -"standard error stream." +"Chunk header format is modified to prevent people from accidentally feeding " +"it to `patch -p1`. Combined diff format was created for review of merge " +"commit changes, and was not meant for apply. The change is similar to the " +"change in the extended 'index' header:" msgstr "" -#. type: Labeled list -#: en/git-clone.txt:128 en/git-pack-objects.txt:136 en/git-push.txt:268 -#: en/fetch-options.txt:170 en/merge-options.txt:112 +#. type: Plain text +#: en/diff-generate-patch.txt:154 #, no-wrap -msgid "--progress" +msgid "@@@ <from-file-range> <from-file-range> <to-file-range> @@@\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:133 en/git-pack-objects.txt:141 en/git-push.txt:273 -#: en/fetch-options.txt:175 +#: en/diff-generate-patch.txt:157 msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal, unless -q is specified. This flag forces progress " -"status even if the standard error stream is not directed to a terminal." +"There are (number of parents + 1) `@` characters in the chunk header for " +"combined diff format." msgstr "" #. type: Plain text -#: en/git-clone.txt:137 -msgid "No checkout of HEAD is performed after the clone is complete." +#: en/diff-generate-patch.txt:166 +msgid "" +"Unlike the traditional 'unified' diff format, which shows two files A and B " +"with a single column that has `-` (minus -- appears in A but removed in B), `" +"+` (plus -- missing in A but added to B), or `\" \"` (space -- unchanged) " +"prefix, this format compares two or more files file1, file2,... with one " +"file X, and shows how X differs from each of fileN. One column for each of " +"fileN is prepended to the output line to note how X's line is different from " +"it." msgstr "" #. type: Plain text -#: en/git-clone.txt:149 +#: en/diff-generate-patch.txt:172 msgid "" -"Make a 'bare' Git repository. That is, instead of creating `<directory>` " -"and placing the administrative files in `<directory>/.git`, make the " -"`<directory>` itself the `$GIT_DIR`. This obviously implies the `-n` because " -"there is nowhere to check out the working tree. Also the branch heads at " -"the remote are copied directly to corresponding local branch heads, without " -"mapping them to `refs/remotes/origin/`. When this option is used, neither " -"remote-tracking branches nor the related configuration variables are created." -msgstr "" - -#. type: Labeled list -#: en/git-clone.txt:150 en/git-push.txt:106 -#, no-wrap -msgid "--mirror" +"A `-` character in the column N means that the line appears in fileN but it " +"does not appear in the result. A `+` character in the column N means that " +"the line appears in the result, and fileN does not have that line (in other " +"words, the line was added, from the point of view of that parent)." msgstr "" #. type: Plain text -#: en/git-clone.txt:157 +#: en/diff-generate-patch.txt:178 msgid "" -"Set up a mirror of the source repository. This implies `--bare`. Compared " -"to `--bare`, `--mirror` not only maps local branches of the source to local " -"branches of the target, it maps all refs (including remote-tracking " -"branches, notes etc.) and sets up a refspec configuration such that all " -"these refs are overwritten by a `git remote update` in the target repository." +"In the above example output, the function signature was changed from both " +"files (hence two `-` removals from both file1 and file2, plus `++` to mean " +"one line that was added does not appear in either file1 or file2). Also " +"eight other lines are the same from file1 but do not appear in file2 (hence " +"prefixed with `+`)." msgstr "" -#. type: Labeled list -#: en/git-clone.txt:158 -#, no-wrap -msgid "--origin <name>" +#. type: Plain text +#: en/diff-generate-patch.txt:184 +msgid "" +"When shown by `git diff-tree -c`, it compares the parents of a merge commit " +"with the merge result (i.e. file1..fileN are the parents). When shown by " +"`git diff-files -c`, it compares the two unresolved merge parents with the " +"working tree file (i.e. file1 is stage 2 aka \"our version\", file2 is stage " +"3 aka \"their version\")." msgstr "" #. type: Labeled list -#: en/git-clone.txt:159 +#: en/diff-options.txt:17 en/git-rebase.txt:319 en/merge-options.txt:57 #, no-wrap -msgid "-o <name>" +msgid "--no-stat" msgstr "" #. type: Plain text -#: en/git-clone.txt:162 -msgid "" -"Instead of using the remote name `origin` to keep track of the upstream " -"repository, use `<name>`." +#: en/diff-options.txt:19 +msgid "Generate plain patches without any diffstats." msgstr "" #. type: Labeled list -#: en/git-clone.txt:163 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "--branch <name>" -msgstr "Mode interactif" +#: en/diff-options.txt:23 en/fetch-options.txt:143 en/git-add.txt:108 +#: en/git-am.txt:77 en/git-checkout-index.txt:25 en/git-cvsexportcommit.txt:64 +#: en/git-cvsimport.txt:98 en/git-ls-files.txt:69 en/git-mailinfo.txt:52 +#: en/git-push.txt:245 en/git-read-tree.txt:44 +#, no-wrap +msgid "-u" +msgstr "-u" #. type: Labeled list -#: en/git-clone.txt:164 +#: en/diff-options.txt:24 en/git-add.txt:86 en/git-checkout.txt:243 +#: en/git-commit.txt:67 #, no-wrap -msgid "-b <name>" +msgid "--patch" +msgstr "--patch" + +#. type: Plain text +#: en/diff-options.txt:26 +msgid "Generate patch (see section on generating patches)." msgstr "" #. type: Plain text -#: en/git-clone.txt:171 -msgid "" -"Instead of pointing the newly created HEAD to the branch pointed to by the " -"cloned repository's HEAD, point to `<name>` branch instead. In a non-bare " -"repository, this is the branch that will be checked out. `--branch` can " -"also take tags and detaches the HEAD at that commit in the resulting " -"repository." +#: en/diff-options.txt:28 en/diff-options.txt:50 +#, no-wrap +msgid "\tThis is the default.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:172 en/fetch-options.txt:152 +#: en/diff-options.txt:30 en/git-am.txt:34 en/git-blame.txt:74 +#: en/git-cat-file.txt:40 en/git-cherry-pick.txt:100 en/git-clone.txt:66 +#: en/git-commit.txt:159 en/git-diff-tree.txt:75 en/git-format-patch.txt:113 +#: en/git-ls-files.txt:58 en/git-revert.txt:89 en/git-shortlog.txt:34 +#: en/git-show-ref.txt:53 en/git-status.txt:27 en/git-stripspace.txt:38 +#: en/git-svn.txt:46 en/git-tag.txt:63 en/git-verify-pack.txt:31 #, no-wrap -msgid "--upload-pack <upload-pack>" -msgstr "" +msgid "-s" +msgstr "-s" #. type: Labeled list -#: en/git-clone.txt:173 +#: en/diff-options.txt:31 #, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "-u <upload-pack>" -msgstr "git-add(1)" +#| msgid "patch" +msgid "--no-patch" +msgstr "patch" #. type: Plain text -#: en/git-clone.txt:177 +#: en/diff-options.txt:34 msgid "" -"When given, and the repository to clone from is accessed via ssh, this " -"specifies a non-default path for the command run on the other end." +"Suppress diff output. Useful for commands like `git show` that show the " +"patch by default, or to cancel the effect of `--patch`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:178 en/git-init.txt:53 en/git-svn.txt:547 +#: en/diff-options.txt:36 #, no-wrap -msgid "--template=<template_directory>" +msgid "-U<n>" +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:37 +#, no-wrap +msgid "--unified=<n>" msgstr "" #. type: Plain text -#: en/git-clone.txt:181 -msgid "" -"Specify the directory from which templates will be used; (See the \"TEMPLATE " -"DIRECTORY\" section of linkgit:git-init[1].)" +#: en/diff-options.txt:40 +msgid "Generate diffs with <n> lines of context instead of the usual three." msgstr "" -#. type: Labeled list -#: en/git-clone.txt:182 +#. type: Plain text +#: en/diff-options.txt:42 #, no-wrap -msgid "--config <key>=<value>" +msgid "\tImplies `-p`.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:183 +#: en/diff-options.txt:45 en/git-replace.txt:77 en/git-verify-commit.txt:19 +#: en/git-verify-tag.txt:19 #, no-wrap -msgid "-c <key>=<value>" +msgid "--raw" msgstr "" #. type: Plain text -#: en/git-clone.txt:192 -msgid "" -"Set a configuration variable in the newly-created repository; this takes " -"effect immediately after the repository is initialized, but before the " -"remote history is fetched or any files checked out. The key is in the same " -"format as expected by linkgit:git-config[1] (e.g., `core.eol=true`). If " -"multiple values are given for the same key, each value will be written to " -"the config file. This makes it safe, for example, to add additional fetch " -"refspecs to the origin remote." -msgstr "" - -#. type: Labeled list -#: en/git-clone.txt:193 +#: en/diff-options.txt:48 #, no-wrap -msgid "--depth <depth>" +msgid "\tGenerate the diff in raw format.\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:199 +#: en/diff-options.txt:58 +#, no-wrap msgid "" -"Create a 'shallow' clone with a history truncated to the specified number of " -"commits. Implies `--single-branch` unless `--no-single-branch` is given to " -"fetch the histories near the tips of all branches. If you want to clone " -"submodules shallowly, also pass `--shallow-submodules`." +"\tFor each commit, show a summary of changes using the raw diff\n" +"\tformat. See the \"RAW OUTPUT FORMAT\" section of\n" +"\tlinkgit:git-diff[1]. This is different from showing the log\n" +"\titself in raw format, which you can achieve with\n" +"\t`--format=raw`.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:200 en/git-fetch-pack.txt:90 en/fetch-options.txt:22 +#: en/diff-options.txt:62 #, no-wrap -msgid "--shallow-since=<date>" +msgid "--patch-with-raw" msgstr "" #. type: Plain text -#: en/git-clone.txt:202 -msgid "Create a shallow clone with a history after the specified time." +#: en/diff-options.txt:64 +msgid "Synonym for `-p --raw`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:203 en/git-fetch-pack.txt:94 en/fetch-options.txt:26 +#: en/diff-options.txt:68 #, no-wrap -msgid "--shallow-exclude=<revision>" -msgstr "" - -#. type: Plain text -#: en/git-clone.txt:207 -msgid "" -"Create a shallow clone with a history, excluding commits reachable from a " -"specified remote branch or tag. This option can be specified multiple times." +msgid "--minimal" msgstr "" #. type: Labeled list -#: en/git-clone.txt:208 +#: en/diff-options.txt:72 #, no-wrap -msgid "--[no-]single-branch" +msgid "--patience" msgstr "" #. type: Plain text -#: en/git-clone.txt:217 -msgid "" -"Clone only the history leading to the tip of a single branch, either " -"specified by the `--branch` option or the primary branch remote's `HEAD` " -"points at. Further fetches into the resulting repository will only update " -"the remote-tracking branch for the branch this option was used for the " -"initial cloning. If the HEAD at the remote did not point at any branch when " -"`--single-branch` clone was made, no remote-tracking branch is created." +#: en/diff-options.txt:74 +msgid "Generate a diff using the \"patience diff\" algorithm." msgstr "" #. type: Labeled list -#: en/git-clone.txt:218 en/git-submodule.txt:400 +#: en/diff-options.txt:75 #, no-wrap -msgid "--recursive" +msgid "--histogram" msgstr "" -#. type: Labeled list -#: en/git-clone.txt:219 en/git-grep.txt:92 en/git-ls-files.txt:142 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--recurse-submodules" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-clone.txt:226 -msgid "" -"After the clone is created, initialize all submodules within, using their " -"default settings. This is equivalent to running `git submodule update --init " -"--recursive` immediately after the clone is finished. This option is ignored " -"if the cloned repository does not have a worktree/checkout (i.e. if any of " -"`--no-checkout`/`-n`, `--bare`, or `--mirror` is given)" +#: en/diff-options.txt:77 +msgid "Generate a diff using the \"histogram diff\" algorithm." msgstr "" #. type: Labeled list -#: en/git-clone.txt:227 +#: en/diff-options.txt:78 #, no-wrap -msgid "--[no-]shallow-submodules" +msgid "--diff-algorithm={patience|minimal|histogram|myers}" msgstr "" #. type: Plain text -#: en/git-clone.txt:229 -msgid "All submodules which are cloned will be shallow with a depth of 1." +#: en/diff-options.txt:80 +msgid "Choose a diff algorithm. The variants are as follows:" +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:97 +msgid "" +"For instance, if you configured diff.algorithm variable to a non-default " +"value and want to use the default one, then you have to use `--diff-" +"algorithm=default` option." msgstr "" #. type: Labeled list -#: en/git-clone.txt:230 en/git-init.txt:58 +#: en/diff-options.txt:98 #, no-wrap -msgid "--separate-git-dir=<git dir>" +msgid "--stat[=<width>[,<name-width>[,<count>]]]" msgstr "" #. type: Plain text -#: en/git-clone.txt:236 +#: en/diff-options.txt:112 msgid "" -"Instead of placing the cloned repository where it is supposed to be, place " -"the cloned repository at the specified directory, then make a filesystem-" -"agnostic Git symbolic link to there. The result is Git repository can be " -"separated from working tree." +"Generate a diffstat. By default, as much space as necessary will be used for " +"the filename part, and the rest for the graph part. Maximum width defaults " +"to terminal width, or 80 columns if not connected to a terminal, and can be " +"overridden by `<width>`. The width of the filename part can be limited by " +"giving another width `<name-width>` after a comma. The width of the graph " +"part can be limited by using `--stat-graph-width=<width>` (affects all " +"commands generating a stat graph) or by setting `diff." +"statGraphWidth=<width>` (does not affect `git format-patch`). By giving a " +"third parameter `<count>`, you can limit the output to the first `<count>` " +"lines, followed by `...` if there are more." msgstr "" -#. type: Labeled list -#: en/git-clone.txt:237 en/git-submodule.txt:417 -#, no-wrap -msgid "-j <n>" +#. type: Plain text +#: en/diff-options.txt:115 +msgid "" +"These parameters can also be set individually with `--stat-width=<width>`, " +"`--stat-name-width=<name-width>` and `--stat-count=<count>`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:238 en/git-submodule.txt:418 +#: en/diff-options.txt:116 en/git-apply.txt:45 #, no-wrap -msgid "--jobs <n>" +msgid "--numstat" msgstr "" #. type: Plain text -#: en/git-clone.txt:241 +#: en/diff-options.txt:122 msgid "" -"The number of submodules fetched at the same time. Defaults to the " -"`submodule.fetchJobs` option." +"Similar to `--stat`, but shows number of added and deleted lines in decimal " +"notation and pathname without abbreviation, to make it more machine " +"friendly. For binary files, outputs two `-` instead of saying `0 0`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:242 en/git-fetch-pack.txt:114 en/git-ls-remote.txt:63 -#: en/git-push.txt:50 en/pull-fetch-param.txt:1 +#: en/diff-options.txt:123 #, no-wrap -msgid "<repository>" +msgid "--shortstat" msgstr "" #. type: Plain text -#: en/git-clone.txt:246 +#: en/diff-options.txt:127 msgid "" -"The (possibly remote) repository to clone from. See the <<URLS,URLS>> " -"section below for more information on specifying repositories." +"Output only the last line of the `--stat` format containing total number of " +"modified files, as well as number of added and deleted lines." msgstr "" #. type: Labeled list -#: en/git-clone.txt:247 en/git-cvsserver.txt:53 en/git-daemon.txt:198 -#: en/git-receive-pack.txt:41 en/git-send-pack.txt:89 -#: en/git-upload-archive.txt:57 en/git-upload-pack.txt:44 +#: en/diff-options.txt:128 #, no-wrap -msgid "<directory>" +msgid "--dirstat[=<param1,param2,...>]" msgstr "" #. type: Plain text -#: en/git-clone.txt:253 +#: en/diff-options.txt:135 msgid "" -"The name of a new directory to clone into. The \"humanish\" part of the " -"source repository is used if no directory is explicitly given (`repo` for `/" -"path/to/repo.git` and `foo` for `host.xz:foo/.git`). Cloning into an " -"existing directory is only allowed if the directory is empty." +"Output the distribution of relative amount of changes for each sub-" +"directory. The behavior of `--dirstat` can be customized by passing it a " +"comma separated list of parameters. The defaults are controlled by the " +"`diff.dirstat` configuration variable (see linkgit:git-config[1]). The " +"following parameters are available:" msgstr "" #. type: Plain text -#: en/git-clone.txt:261 -msgid "Clone from upstream:" +#: en/diff-options.txt:171 +msgid "" +"Example: The following will count changed files, while ignoring directories " +"with less than 10% of the total amount of changed files, and accumulating " +"child directory counts in the parent directories: `--dirstat=files,10," +"cumulative`." msgstr "" -#. type: delimited block - -#: en/git-clone.txt:266 +#. type: Labeled list +#: en/diff-options.txt:172 en/git-apply.txt:52 en/git-shortlog.txt:35 +#: en/merge-options.txt:98 #, no-wrap -msgid "" -"$ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux\n" -"$ cd my-linux\n" -"$ make\n" +msgid "--summary" msgstr "" #. type: Plain text -#: en/git-clone.txt:270 +#: en/diff-options.txt:175 msgid "" -"Make a local clone that borrows from the current directory, without checking " -"things out:" +"Output a condensed summary of extended header information such as creations, " +"renames and mode changes." msgstr "" -#. type: delimited block - -#: en/git-clone.txt:275 +#. type: Labeled list +#: en/diff-options.txt:177 #, no-wrap -msgid "" -"$ git clone -l -s -n . ../copy\n" -"$ cd ../copy\n" -"$ git show-branch\n" +msgid "--patch-with-stat" msgstr "" #. type: Plain text -#: en/git-clone.txt:279 -msgid "Clone from upstream while borrowing from an existing local directory:" +#: en/diff-options.txt:179 +msgid "Synonym for `-p --stat`." msgstr "" -#. type: delimited block - -#: en/git-clone.txt:285 +#. type: Labeled list +#: en/diff-options.txt:183 en/git-apply.txt:107 en/git-check-attr.txt:34 +#: en/git-check-ignore.txt:41 en/git-checkout-index.txt:67 +#: en/git-commit.txt:118 en/git-config.txt:183 en/git-grep.txt:196 +#: en/git-ls-files.txt:79 en/git-ls-tree.txt:55 en/git-mktree.txt:23 +#: en/git-status.txt:100 en/git-update-index.txt:160 #, no-wrap -msgid "" -"$ git clone --reference /git/linux.git \\\n" -"\tgit://git.kernel.org/pub/scm/.../linux.git \\\n" -"\tmy-linux\n" -"$ cd my-linux\n" -msgstr "" +msgid "-z" +msgstr "-z" #. type: Plain text -#: en/git-clone.txt:289 -msgid "Create a bare repository to publish your changes to the public:" -msgstr "" - -#. type: delimited block - -#: en/git-clone.txt:292 +#: en/diff-options.txt:186 #, no-wrap -msgid "$ git clone --bare -l /home/proj/.git /pub/scm/proj.git\n" +msgid "\tSeparate the commits with NULs instead of with new newlines.\n" msgstr "" -#. type: Title = -#: en/git-column.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-column(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-column.txt:7 -msgid "git-column - Display data in columns" +#: en/diff-options.txt:189 +msgid "" +"Also, when `--raw` or `--numstat` has been given, do not munge pathnames and " +"use NULs as output field terminators." msgstr "" #. type: Plain text -#: en/git-column.txt:13 +#: en/diff-options.txt:193 #, no-wrap msgid "" -"'git column' [--command=<name>] [--[raw-]mode=<mode>] [--width=<width>]\n" -"\t [--indent=<string>] [--nl=<string>] [--padding=<n>]\n" +"\tWhen `--raw`, `--numstat`, `--name-only` or `--name-status` has been\n" +"\tgiven, do not munge pathnames and use NULs as output field terminators.\n" msgstr "" #. type: Plain text -#: en/git-column.txt:17 -msgid "This command formats its input into multiple columns." +#: en/diff-options.txt:198 en/git-apply.txt:114 +msgid "" +"Without this option, pathnames with \"unusual\" characters are quoted as " +"explained for the configuration variable `core.quotePath` (see linkgit:git-" +"config[1])." msgstr "" #. type: Labeled list -#: en/git-column.txt:20 +#: en/diff-options.txt:199 en/git-config.txt:192 en/git-grep.txt:178 +#: en/git-ls-tree.txt:59 en/git-name-rev.txt:51 #, no-wrap -msgid "--command=<name>" +msgid "--name-only" msgstr "" #. type: Plain text -#: en/git-column.txt:23 -msgid "" -"Look up layout mode using configuration variable column.<name> and column.ui." +#: en/diff-options.txt:201 +msgid "Show only names of changed files." msgstr "" #. type: Labeled list -#: en/git-column.txt:24 -#, no-wrap -msgid "--mode=<mode>" -msgstr "" +#: en/diff-options.txt:202 en/git-ls-tree.txt:60 +#, fuzzy, no-wrap +#| msgid "status" +msgid "--name-status" +msgstr "status" #. type: Plain text -#: en/git-column.txt:27 +#: en/diff-options.txt:205 msgid "" -"Specify layout mode. See configuration variable column.ui for option syntax." +"Show only names and status of changed files. See the description of the `--" +"diff-filter` option on what the status letters mean." msgstr "" #. type: Labeled list -#: en/git-column.txt:28 +#: en/diff-options.txt:206 #, no-wrap -msgid "--raw-mode=<n>" +msgid "--submodule[=<format>]" msgstr "" #. type: Plain text -#: en/git-column.txt:31 +#: en/diff-options.txt:217 msgid "" -"Same as --mode but take mode encoded as a number. This is mainly used by " -"other commands that have already parsed layout mode." +"Specify how differences in submodules are shown. When specifying `--" +"submodule=short` the 'short' format is used. This format just shows the " +"names of the commits at the beginning and end of the range. When `--" +"submodule` or `--submodule=log` is specified, the 'log' format is used. " +"This format lists the commits in the range like linkgit:git-submodule[1] " +"`summary` does. When `--submodule=diff` is specified, the 'diff' format is " +"used. This format shows an inline diff of the changes in the submodule " +"contents between the commit range. Defaults to `diff.submodule` or the " +"'short' format if the config option is unset." msgstr "" #. type: Labeled list -#: en/git-column.txt:32 +#: en/diff-options.txt:218 en/git-branch.txt:114 en/git-grep.txt:206 +#: en/git-show-branch.txt:119 #, no-wrap -msgid "--width=<width>" +msgid "--color[=<when>]" msgstr "" #. type: Plain text -#: en/git-column.txt:35 +#: en/diff-options.txt:222 msgid "" -"Specify the terminal width. By default 'git column' will detect the terminal " -"width, or fall back to 80 if it is unable to do so." +"Show colored diff. `--color` (i.e. without '=<when>') is the same as `--" +"color=always`. '<when>' can be one of `always`, `never`, or `auto`." +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:225 +#, no-wrap +msgid "" +"\tIt can be changed by the `color.ui` and `color.diff`\n" +"\tconfiguration settings.\n" msgstr "" #. type: Labeled list -#: en/git-column.txt:36 +#: en/diff-options.txt:227 en/git-branch.txt:119 en/git-grep.txt:210 +#: en/git-show-branch.txt:124 #, no-wrap -msgid "--indent=<string>" +msgid "--no-color" msgstr "" #. type: Plain text -#: en/git-column.txt:38 -msgid "String to be printed at the beginning of each line." +#: en/diff-options.txt:229 +msgid "Turn off colored diff." msgstr "" -#. type: Labeled list -#: en/git-column.txt:39 +#. type: Plain text +#: en/diff-options.txt:231 #, no-wrap -msgid "--nl=<N>" +msgid "\tThis can be used to override configuration settings.\n" msgstr "" #. type: Plain text -#: en/git-column.txt:42 -msgid "" -"String to be printed at the end of each line, including newline character." +#: en/diff-options.txt:233 +#, no-wrap +msgid "\tIt is the same as `--color=never`.\n" msgstr "" #. type: Labeled list -#: en/git-column.txt:43 +#: en/diff-options.txt:234 #, no-wrap -msgid "--padding=<N>" +msgid "--word-diff[=<mode>]" msgstr "" #. type: Plain text -#: en/git-column.txt:45 -msgid "The number of spaces between columns. One space by default." +#: en/diff-options.txt:239 +msgid "" +"Show a word diff, using the <mode> to delimit changed words. By default, " +"words are delimited by whitespace; see `--word-diff-regex` below. The " +"<mode> defaults to 'plain', and must be one of:" msgstr "" -#. type: Title = -#: en/git-commit.txt:2 -#, no-wrap -msgid "git-commit(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-commit.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-commit - Record changes to the repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/diff-options.txt:243 +msgid "Highlight changed words using only colors. Implies `--color`." +msgstr "" -#. type: Plain text -#: en/git-commit.txt:17 +#. type: Labeled list +#: en/diff-options.txt:243 #, no-wrap -msgid "" -"'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n" -"\t [--dry-run] [(-c | -C | --fixup | --squash) <commit>]\n" -"\t [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n" -"\t [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n" -"\t [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n" -"\t [-i | -o] [-S[<keyid>]] [--] [<file>...]\n" +msgid "plain" msgstr "" -"'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n" -"\t [--dry-run] [(-c | -C | --fixup | --squash) <commit>]\n" -"\t [-F <fichier> | -m <msg>] [--reset-author] [--allow-empty]\n" -"\t [--allow-empty-message] [--no-verify] [-e] [--author=<auteur>]\n" -"\t [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n" -"\t [-i | -o] [-S[<idcl챕>]] [--] [<fichier>...]\n" #. type: Plain text -#: en/git-commit.txt:22 -#, fuzzy -#| msgid "" -#| "Stores the current contents of the index in a new commit along with a log " -#| "message from the user describing the changes." +#: en/diff-options.txt:247 msgid "" -"Stores the current contents of the index in a new commit along with a log " -"message from the user describing the changes." +"Show words as `[-removed-]` and `{+added+}`. Makes no attempts to escape " +"the delimiters if they appear in the input, so the output may be ambiguous." msgstr "" -"Enregistre les contenu actuel de l'index dans un nouveau commit avec un " -"message de journal de l'utilisateur d챕crivant les modifications." -#. type: Plain text -#: en/git-commit.txt:24 -#, fuzzy -#| msgid "The content to be added can be specified in several ways:" -msgid "The content to be added can be specified in several ways:" -msgstr "Le contenu 횪 ajouter peut 챗tre sp챕cifi챕 de diff챕rentes mani챔res혻:" +#. type: Labeled list +#: en/diff-options.txt:247 +#, no-wrap +msgid "porcelain" +msgstr "" #. type: Plain text -#: en/git-commit.txt:28 -#, fuzzy -#| msgid "" -#| "by using 'git add' to incrementally \"add\" changes to the index before " -#| "using the 'commit' command (Note: even modified files must be \"added\");" +#: en/diff-options.txt:254 msgid "" -"by using 'git add' to incrementally \"add\" changes to the index before " -"using the 'commit' command (Note: even modified files must be \"added\");" +"Use a special line-based format intended for script consumption. Added/" +"removed/unchanged runs are printed in the usual unified diff format, " +"starting with a `+`/`-`/` ` character at the beginning of the line and " +"extending to the end of the line. Newlines in the input are represented by " +"a tilde `~` on a line of its own." msgstr "" -"en utilisant 'git add' pour 짬혻ajouter혻쨩 de mani챔re incr챕mentale des " -"modifications 횪 l'index avant d'utiliser la commande 'commit' (Note혻: les " -"fichiers doivent 챗tre 짬혻ajout챕s혻쨩 pour faire partie du commit, m챗me s'ils " -"ont 챕t챕 modifi챕s), " -#. type: Plain text -#: en/git-commit.txt:31 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "" -"by using 'git rm' to remove files from the working tree and the index, again " -"before using the 'commit' command;" +#. type: Labeled list +#: en/diff-options.txt:254 en/git-submodule.txt:195 +#, no-wrap +msgid "none" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-commit.txt:37 -#, fuzzy -#| msgid "" -#| "by listing files as arguments to the 'commit' command (without --" -#| "interactive or --patch switch), in which case the commit will ignore " -#| "changes staged in the index, and instead record the current content of " -#| "the listed files (which must already be known to Git);" -msgid "" -"by listing files as arguments to the 'commit' command (without --interactive " -"or --patch switch), in which case the commit will ignore changes staged in " -"the index, and instead record the current content of the listed files (which " -"must already be known to Git);" +#: en/diff-options.txt:256 +msgid "Disable word diff again." msgstr "" -"en listant les fichiers comme arguments de la commande 'commit' (sans les " -"options --interactive ou --patch), auquel cas la validation ignorera les " -"modifications index챕es et enregistrera plut척t le contenu actuel des fichiers " -"list챕s (qui doivent d챕j횪 챗tre connus de Git)," #. type: Plain text -#: en/git-commit.txt:43 -#, fuzzy -#| msgid "" -#| "by using the -a switch with the 'commit' command to automatically \"add\" " -#| "changes from all known files (i.e. all files that are already listed in " -#| "the index) and to automatically \"rm\" files in the index that have been " -#| "removed from the working tree, and then perform the actual commit;" +#: en/diff-options.txt:260 msgid "" -"by using the -a switch with the 'commit' command to automatically \"add\" " -"changes from all known files (i.e. all files that are already listed in the " -"index) and to automatically \"rm\" files in the index that have been removed " -"from the working tree, and then perform the actual commit;" +"Note that despite the name of the first mode, color is used to highlight the " +"changed parts in all modes if enabled." msgstr "" -"en utilisant l'option -a avec la commande 'commit' pour 짬혻ajouter혻쨩 " -"automatiquement les modifications de tous les fichiers connus (c'est-횪-dire " -"les fichiers list챕s dans l'index) et supprimer ('rm') automatiquement les " -"fichiers de l'index qui ont 챕t챕 supprim챕s dans l'arbre de travail, puis " -"d'effectuer la validation, " -#. type: Plain text -#: en/git-commit.txt:49 -#, fuzzy -#| msgid "" -#| "by using the --interactive or --patch switches with the 'commit' command " -#| "to decide one by one which files or hunks should be part of the commit in " -#| "addition to contents in the index, before finalizing the operation. See " -#| "the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to " -#| "operate these modes." -msgid "" -"by using the --interactive or --patch switches with the 'commit' command to " -"decide one by one which files or hunks should be part of the commit in " -"addition to contents in the index, before finalizing the operation. See the " -"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " -"these modes." +#. type: Labeled list +#: en/diff-options.txt:261 +#, no-wrap +msgid "--word-diff-regex=<regex>" msgstr "" -"en utilisant les options --interactive ou --patch avec la commande 'commit' " -"pour choisir quels fichiers ou sections de fichier doivent 챗tre inclus dans " -"le commit en plus de l'index, avant finalisation de l'op챕ration. R챕f챕rez-" -"vous 횪 la section 짬혻Mode interactif혻쨩 de linkgit:git-add[1] pour la " -"description de ces modes." #. type: Plain text -#: en/git-commit.txt:53 -#, fuzzy -#| msgid "" -#| "The `--dry-run` option can be used to obtain a summary of what is " -#| "included by any of the above for the next commit by giving the same set " -#| "of parameters (options and paths)." +#: en/diff-options.txt:265 msgid "" -"The `--dry-run` option can be used to obtain a summary of what is included " -"by any of the above for the next commit by giving the same set of parameters " -"(options and paths)." +"Use <regex> to decide what a word is, instead of considering runs of non-" +"whitespace to be a word. Also implies `--word-diff` unless it was already " +"enabled." msgstr "" -"L'option `--dry-run` peut 챗tre utilis챕e pour obtenir un r챕sum챕 de ce qui " -"serait inclus par la commande 횪 laquelle elle est ajout챕e." #. type: Plain text -#: en/git-commit.txt:56 -#, fuzzy -#| msgid "" -#| "If you make a commit and then find a mistake immediately after that, you " -#| "can recover from it with 'git reset'." +#: en/diff-options.txt:273 msgid "" -"If you make a commit and then find a mistake immediately after that, you can " -"recover from it with 'git reset'." +"Every non-overlapping match of the <regex> is considered a word. Anything " +"between these matches is considered whitespace and ignored(!) for the " +"purposes of finding differences. You may want to append `|[^[:space:]]` to " +"your regular expression to make sure that it matches all non-whitespace " +"characters. A match that contains a newline is silently truncated(!) at the " +"newline." msgstr "" -"Si vous validez et trouvez une erreur imm챕diatement apr챔s, vous pouvez " -"annuler la validation avec 'git reset'." #. type: Plain text -#: en/git-commit.txt:65 -#, fuzzy -#| msgid "" -#| "-a::\n" -#| "--all::\n" -#| "\tTell the command to automatically stage files that have\n" -#| "\tbeen modified and deleted, but new files you have not\n" -#| "\ttold Git about are not affected.\n" +#: en/diff-options.txt:276 msgid "" -"Tell the command to automatically stage files that have been modified and " -"deleted, but new files you have not told Git about are not affected." +"For example, `--word-diff-regex=.` will treat each character as a word and, " +"correspondingly, show differences character by character." msgstr "" -"-a::\n" -"--all::\n" -"\tIndiquer 횪 la commande d'indexer automatiquement les fichiers qui\n" -"\tont 챕t챕 modifi챕s ou supprim챕s, mais les nouveaux fichiers dont\n" -"\tvous n'avez pas signal챕 la pr챕sence 횪 Git ne sont pas affect챕s.\n" #. type: Plain text -#: en/git-commit.txt:71 -#, fuzzy -#| msgid "" -#| "-p::\n" -#| "--patch::\n" -#| "\tUse the interactive patch selection interface to chose\n" -#| "\twhich changes to commit. See linkgit:git-add[1] for\n" -#| "\tdetails.\n" +#: en/diff-options.txt:281 msgid "" -"Use the interactive patch selection interface to chose which changes to " -"commit. See linkgit:git-add[1] for details." +"The regex can also be set via a diff driver or configuration option, see " +"linkgit:gitattributes[5] or linkgit:git-config[1]. Giving it explicitly " +"overrides any diff driver or configuration setting. Diff drivers override " +"configuration settings." msgstr "" -"-p::\n" -"--patch::\n" -"\tUtiliser la s챕lection interactive de patch pour\n" -"\tchoisir quelles modifications valider. R챕f챕rez-vous\n" -"\t횪 linkgit:git-add[1] pour plus de d챕tails.\n" - -#. type: Labeled list -#: en/git-commit.txt:72 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "-C <commit>" -msgstr "git-commit(1)" #. type: Labeled list -#: en/git-commit.txt:73 +#: en/diff-options.txt:282 #, no-wrap -msgid "--reuse-message=<commit>" +msgid "--color-words[=<regex>]" msgstr "" #. type: Plain text -#: en/git-commit.txt:77 -#, fuzzy -#| msgid "" -#| "-C <commit>::\n" -#| "--reuse-message=<commit>::\n" -#| "\tTake an existing commit object, and reuse the log message\n" -#| "\tand the authorship information (including the timestamp)\n" -#| "\twhen creating the commit.\n" +#: en/diff-options.txt:285 msgid "" -"Take an existing commit object, and reuse the log message and the authorship " -"information (including the timestamp) when creating the commit." +"Equivalent to `--word-diff=color` plus (if a regex was specified) `--word-" +"diff-regex=<regex>`." msgstr "" -"-C <commit>::\n" -"--reuse-message=<commit>::\n" -"\tPrendre un objet commit existant et r챕utiliser son message\n" -"\tde validation et son information de paternit챕 (y compris\n" -"\tl'horodatage) pour la cr챕ation du commit.\n" #. type: Labeled list -#: en/git-commit.txt:78 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "-c <commit>" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/git-commit.txt:79 +#: en/diff-options.txt:287 #, no-wrap -msgid "--reedit-message=<commit>" +msgid "--no-renames" msgstr "" #. type: Plain text -#: en/git-commit.txt:82 -#, fuzzy -#| msgid "" -#| "-c <commit>::\n" -#| "--reedit-message=<commit>::\n" -#| "\tLike '-C', but with `-c` the editor is invoked, so that\n" -#| "\tthe user can further edit the commit message.\n" +#: en/diff-options.txt:290 msgid "" -"Like '-C', but with `-c` the editor is invoked, so that the user can further " -"edit the commit message." +"Turn off rename detection, even when the configuration file gives the " +"default to do so." msgstr "" -"-c <commit>::\n" -"--reedit-message=<commit>::\n" -"\tComme '-C', mais avec '-c', l'챕diteur est appel챕 pour permettre \n" -"\t횪 l'utilisateur de modifier le message de validation.\n" #. type: Labeled list -#: en/git-commit.txt:83 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--fixup=<commit>" -msgstr "git-commit(1)" +#: en/diff-options.txt:292 en/git-apply.txt:58 +#, no-wrap +msgid "--check" +msgstr "" #. type: Plain text -#: en/git-commit.txt:88 -#, fuzzy -#| msgid "" -#| "--fixup=<commit>::\n" -#| "\tConstruct a commit message for use with `rebase --autosquash`.\n" -#| "\tThe commit message will be the subject line from the specified\n" -#| "\tcommit with a prefix of \"fixup! \". See linkgit:git-rebase[1]\n" -#| "\tfor details.\n" +#: en/diff-options.txt:301 msgid "" -"Construct a commit message for use with `rebase --autosquash`. The commit " -"message will be the subject line from the specified commit with a prefix of " -"\"fixup! \". See linkgit:git-rebase[1] for details." +"Warn if changes introduce conflict markers or whitespace errors. What are " +"considered whitespace errors is controlled by `core.whitespace` " +"configuration. By default, trailing whitespaces (including lines that " +"solely consist of whitespaces) and a space character that is immediately " +"followed by a tab character inside the initial indent of the line are " +"considered whitespace errors. Exits with non-zero status if problems are " +"found. Not compatible with --exit-code." msgstr "" -"--fixup=<commit>::\n" -"\tConstruire un message de validation pour une utilisation avec\n" -"\t`rebase --autosquash`. Le message de validation sera la ligne\n" -"\tde titre du commit sp챕cifi챕 pr챕fix챕 de 짬혻fixup! 혻쨩. R챕f챕rez-vous\n" -"\t횪 linkgit:git-rebase[1] pour de plus amples d챕tails.\n" #. type: Labeled list -#: en/git-commit.txt:89 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--squash=<commit>" -msgstr "git-commit(1)" +#: en/diff-options.txt:302 +#, no-wrap +msgid "--ws-error-highlight=<kind>" +msgstr "" #. type: Plain text -#: en/git-commit.txt:95 -#, fuzzy -#| msgid "" -#| "--squash=<commit>::\n" -#| "\tConstruct a commit message for use with `rebase --autosquash`.\n" -#| "\tThe commit message subject line is taken from the specified\n" -#| "\tcommit with a prefix of \"squash! \". Can be used with additional\n" -#| "\tcommit message options (`-m`/`-c`/`-C`/`-F`). See\n" -#| "\tlinkgit:git-rebase[1] for details.\n" +#: en/diff-options.txt:312 msgid "" -"Construct a commit message for use with `rebase --autosquash`. The commit " -"message subject line is taken from the specified commit with a prefix of " -"\"squash! \". Can be used with additional commit message options (`-m`/`-c`/" -"`-C`/`-F`). See linkgit:git-rebase[1] for details." +"Highlight whitespace errors on lines specified by <kind> in the color " +"specified by `color.diff.whitespace`. <kind> is a comma separated list of " +"`old`, `new`, `context`. When this option is not given, only whitespace " +"errors in `new` lines are highlighted. E.g. `--ws-error-highlight=new,old` " +"highlights whitespace errors on both deleted and added lines. `all` can be " +"used as a short-hand for `old,new,context`. The `diff.wsErrorHighlight` " +"configuration variable can be used to specify the default behaviour." msgstr "" -"--squash=<commit>::\n" -"\tConstruire un message de validation pour une utilisation avec\n" -"\t`rebase --autosquash`. La ligne de titre du message de validation\n" -"\test tir챕e du commit sp챕cifi챕 pr챕fix챕 par 짬혻squash!혻쨩. Peut 챗tre\n" -"\tutilis챕 avec d'autres options de 'commit' (`-m`/`-c`/`-C`/`-F`).\n" -"\tR챕f챕rez-vous 횪 linkgit:git-rebase[1] pour plus de d챕tails.\n" #. type: Labeled list -#: en/git-commit.txt:96 +#: en/diff-options.txt:315 #, no-wrap -msgid "--reset-author" +msgid "--full-index" msgstr "" #. type: Plain text -#: en/git-commit.txt:101 -#, fuzzy -#| msgid "" -#| "--reset-author::\n" -#| "\tWhen used with -C/-c/--amend options, or when committing after a\n" -#| "\ta conflicting cherry-pick, declare that the authorship of the\n" -#| "\tresulting commit now belongs to the committer. This also renews\n" -#| "\tthe author timestamp.\n" +#: en/diff-options.txt:319 msgid "" -"When used with -C/-c/--amend options, or when committing after a a " -"conflicting cherry-pick, declare that the authorship of the resulting commit " -"now belongs to the committer. This also renews the author timestamp." +"Instead of the first handful of characters, show the full pre- and post-" +"image blob object names on the \"index\" line when generating patch format " +"output." msgstr "" -"--reset-author::\n" -"\tUtilis챕 avec les options -C/-c/--amend ou lors de validation\n" -"\tapr챔s un picorage conflictuel, d챕clarer que la paternit챕\n" -"\tdu commit r챕sultant appartient 횪 pr챕sent au validateur avec\n" -"\tun horodatage mis 횪 jour.\n" #. type: Labeled list -#: en/git-commit.txt:102 en/git-rev-parse.txt:139 en/git-status.txt:28 -#: en/git-symbolic-ref.txt:45 +#: en/diff-options.txt:320 en/git-apply.txt:150 #, no-wrap -msgid "--short" +msgid "--binary" msgstr "" #. type: Plain text -#: en/git-commit.txt:105 -#, fuzzy -#| msgid "" -#| "--short::\n" -#| "\tWhen doing a dry-run, give the output in the short-format. See\n" -#| "\tlinkgit:git-status[1] for details. Implies `--dry-run`.\n" +#: en/diff-options.txt:323 msgid "" -"When doing a dry-run, give the output in the short-format. See linkgit:git-" -"status[1] for details. Implies `--dry-run`." +"In addition to `--full-index`, output a binary diff that can be applied with " +"`git-apply`." msgstr "" -"--short::\n" -"\tSeulement avec '--dry-run', fournir la sortie en format court.\n" -"\tVoir linkgit:git-status[1] pour plus de d챕tails.\n" #. type: Labeled list -#: en/git-commit.txt:106 en/git-status.txt:32 en/git-submodule.txt:280 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "--branch" -msgstr "Mode interactif" +#: en/diff-options.txt:324 en/git-ls-files.txt:146 en/git-ls-tree.txt:63 +#: en/git-show-ref.txt:65 +#, no-wrap +msgid "--abbrev[=<n>]" +msgstr "" #. type: Plain text -#: en/git-commit.txt:108 en/git-status.txt:34 -#, fuzzy -#| msgid "" -#| "--branch::\n" -#| "\tShow the branch and tracking info even in short-format.\n" -msgid "Show the branch and tracking info even in short-format." +#: en/diff-options.txt:331 +msgid "" +"Instead of showing the full 40-byte hexadecimal object name in diff-raw " +"format output and diff-tree header lines, show only a partial prefix. This " +"is independent of the `--full-index` option above, which controls the diff-" +"patch output format. Non default number of digits can be specified with `--" +"abbrev=<n>`." msgstr "" -"--branch::\n" -"\tMontrer la branche et l'information de suivi, y compris en format court.\n" #. type: Labeled list -#: en/git-commit.txt:109 en/git-push.txt:121 en/git-worktree.txt:115 -#: en/blame-options.txt:40 +#: en/diff-options.txt:332 #, no-wrap -msgid "--porcelain" -msgstr "" - -#. type: Plain text -#: en/git-commit.txt:113 -#, fuzzy -#| msgid "" -#| "--porcelain::\n" -#| "\tWhen doing a dry-run, give the output in a porcelain-ready\n" -#| "\tformat. See linkgit:git-status[1] for details. Implies\n" -#| "\t`--dry-run`.\n" -msgid "" -"When doing a dry-run, give the output in a porcelain-ready format. See " -"linkgit:git-status[1] for details. Implies `--dry-run`." +msgid "-B[<n>][/<m>]" msgstr "" -"--porcelain::\n" -"\tSeulement avec '--dry-run', donner la sortie en format\n" -"\tcompatible porcelain. Voir linkgit:git-status[1]\n" -"\tpour plus de d챕tails.\n" #. type: Labeled list -#: en/git-commit.txt:114 en/git-describe.txt:74 en/git-ls-tree.txt:52 -#: en/git-status.txt:44 +#: en/diff-options.txt:333 #, no-wrap -msgid "--long" +msgid "--break-rewrites[=[<n>][/<m>]]" msgstr "" #. type: Plain text -#: en/git-commit.txt:117 -#, fuzzy -#| msgid "" -#| "--long::\n" -#| "\tWhen doing a dry-run, give the output in a the long-format.\n" -#| "\tImplies `--dry-run`.\n" +#: en/diff-options.txt:336 msgid "" -"When doing a dry-run, give the output in a the long-format. Implies `--dry-" -"run`." +"Break complete rewrite changes into pairs of delete and create. This serves " +"two purposes:" msgstr "" -"--long::\n" -"\tSeulement avec '--dry-run', donner la sortie en format\n" -"\tlong.\n" -#. type: Labeled list -#: en/git-commit.txt:119 en/git-config.txt:184 en/git-grep.txt:197 -#, no-wrap -msgid "--null" +#. type: Plain text +#: en/diff-options.txt:346 +msgid "" +"It affects the way a change that amounts to a total rewrite of a file not as " +"a series of deletion and insertion mixed together with a very few lines that " +"happen to match textually as the context, but as a single deletion of " +"everything old followed by a single insertion of everything new, and the " +"number `m` controls this aspect of the -B option (defaults to 60%). `-B/70%` " +"specifies that less than 30% of the original should remain in the result for " +"Git to consider it a total rewrite (i.e. otherwise the resulting patch will " +"be a series of deletion and insertion mixed together with context lines)." msgstr "" #. type: Plain text -#: en/git-commit.txt:126 -#, fuzzy -#| msgid "" -#| "-z::\n" -#| "--null::\n" -#| "\tWhen showing `short` or `porcelain` status output, print the\n" -#| "\tfilename verbatim and terminate the entries with NUL, instead of LF.\n" -#| "\tIf no format is given, implies the `--porcelain` output format.\n" -#| "\tWithout the `-z` option, filenames with \"unusual\" characters are\n" -#| "\tquoted as explained for the configuration variable `core.quotePath`\n" -#| "\t(see linkgit:git-config[1]).\n" +#: en/diff-options.txt:354 msgid "" -"When showing `short` or `porcelain` status output, print the filename " -"verbatim and terminate the entries with NUL, instead of LF. If no format is " -"given, implies the `--porcelain` output format. Without the `-z` option, " -"filenames with \"unusual\" characters are quoted as explained for the " -"configuration variable `core.quotePath` (see linkgit:git-config[1])." +"When used with -M, a totally-rewritten file is also considered as the source " +"of a rename (usually -M only considers a file that disappeared as the source " +"of a rename), and the number `n` controls this aspect of the -B option " +"(defaults to 50%). `-B20%` specifies that a change with addition and " +"deletion compared to 20% or more of the file's size are eligible for being " +"picked up as a possible source of a rename to another file." msgstr "" -"-z::\n" -"--null::\n" -"\tAvec les sorties de status `short` ou `porcelain`, afficher\n" -"\tle nom du fichier verbatim et terminer par NUL, au lieu de LF.\n" -"\tSi aucun format n'est sp챕cifi챕, implique `--porcelain`.\n" -"\tSans l'option `-z`, les noms fichiers contenant des caract챔res\n" -"\t짬혻inusuels혻쨩 sont cit챕s selon la variable de configuration\n" -"\t`core.quotePath` (voir linkgit:git-config[1]).\n" #. type: Labeled list -#: en/git-commit.txt:127 en/git-commit-tree.txt:53 en/git-fmt-merge-msg.txt:47 -#: en/git-notes.txt:140 en/git-tag.txt:138 +#: en/diff-options.txt:355 #, no-wrap -msgid "-F <file>" -msgstr "-F <fichier>" +msgid "-M[<n>]" +msgstr "" #. type: Labeled list -#: en/git-commit.txt:128 en/git-notes.txt:141 en/git-tag.txt:139 +#: en/diff-options.txt:356 #, no-wrap -msgid "--file=<file>" -msgstr "--file=<fichier>" +msgid "--find-renames[=<n>]" +msgstr "" #. type: Plain text -#: en/git-commit.txt:131 -msgid "" -"Take the commit message from the given file. Use '-' to read the message " -"from the standard input." -msgstr "Prendre le message de validation depuis le fichier indiqu챕. Utilisez '-' pour lire le message depuis l'entr챕e standard." - -#. type: Labeled list -#: en/git-commit.txt:132 +#: en/diff-options.txt:359 #, no-wrap -msgid "--author=<author>" +msgid "\tDetect renames.\n" msgstr "" #. type: Plain text -#: en/git-commit.txt:138 -#, fuzzy -#| msgid "" -#| "--author=<author>::\n" -#| "\tOverride the commit author. Specify an explicit author using the\n" -#| "\tstandard `A U Thor <author@example.com>` format. Otherwise <author>\n" -#| "\tis assumed to be a pattern and is used to search for an existing\n" -#| "\tcommit by that author (i.e. rev-list --all -i --author=<author>);\n" -#| "\tthe commit author is then copied from the first such commit found.\n" +#: en/diff-options.txt:364 +#, no-wrap msgid "" -"Override the commit author. Specify an explicit author using the standard `A " -"U Thor <author@example.com>` format. Otherwise <author> is assumed to be a " -"pattern and is used to search for an existing commit by that author (i.e. " -"rev-list --all -i --author=<author>); the commit author is then copied from " -"the first such commit found." +"\tIf generating diffs, detect and report renames for each commit.\n" +"\tFor following files across renames while traversing history, see\n" +"\t`--follow`.\n" msgstr "" -"--author=<auteur>::\n" -"\tSurcharger l'auteur du commit. Sp챕cifier un auteur explicite avec\n" -"\tle format standard `A U Teur <auteur@exemple.com>`. Sinon <auteur>\n" -"\test consid챕r챕 comme un patron utilis챕 pour chercher un commit existant\n" -"\tpar cet auteur (c-횪-d rev-list --all -i --author=<auteur>)혻;\n" -"\tl'auteur du commit est alors copi챕 depuis le premier commit trouv챕.\n" -#. type: Labeled list -#: en/git-commit.txt:139 +#. type: Plain text +#: en/diff-options.txt:374 #, no-wrap -msgid "--date=<date>" +msgid "" +"\tIf `n` is specified, it is a threshold on the similarity\n" +"\tindex (i.e. amount of addition/deletions compared to the\n" +"\tfile's size). For example, `-M90%` means Git should consider a\n" +"\tdelete/add pair to be a rename if more than 90% of the file\n" +"\thasn't changed. Without a `%` sign, the number is to be read as\n" +"\ta fraction, with a decimal point before it. I.e., `-M5` becomes\n" +"\t0.5, and is thus the same as `-M50%`. Similarly, `-M05` is\n" +"\tthe same as `-M5%`. To limit detection to exact renames, use\n" +"\t`-M100%`. The default similarity index is 50%.\n" msgstr "" -#. type: Plain text -#: en/git-commit.txt:141 -#, fuzzy -#| msgid "" -#| "--date=<date>::\n" -#| "\tOverride the author date used in the commit.\n" -msgid "Override the author date used in the commit." +#. type: Labeled list +#: en/diff-options.txt:375 +#, no-wrap +msgid "-C[<n>]" msgstr "" -"--date=<date>::\n" -"\tSurcharger la date d'auteur utilis챕e dans le commit.\n" #. type: Labeled list -#: en/git-commit.txt:142 en/git-merge.txt:78 en/git-notes.txt:132 -#: en/git-tag.txt:130 +#: en/diff-options.txt:376 #, no-wrap -msgid "-m <msg>" +msgid "--find-copies[=<n>]" +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:379 +msgid "" +"Detect copies as well as renames. See also `--find-copies-harder`. If `n` " +"is specified, it has the same meaning as for `-M<n>`." msgstr "" #. type: Labeled list -#: en/git-commit.txt:143 en/git-notes.txt:133 en/git-tag.txt:131 +#: en/diff-options.txt:380 en/git-svn.txt:595 #, no-wrap -msgid "--message=<msg>" +msgid "--find-copies-harder" msgstr "" #. type: Plain text -#: en/git-commit.txt:147 -#, fuzzy -#| msgid "" -#| "-m <msg>::\n" -#| "--message=<msg>::\n" -#| "\tUse the given <msg> as the commit message.\n" -#| "\tIf multiple `-m` options are given, their values are\n" -#| "\tconcatenated as separate paragraphs.\n" +#: en/diff-options.txt:388 msgid "" -"Use the given <msg> as the commit message. If multiple `-m` options are " -"given, their values are concatenated as separate paragraphs." +"For performance reasons, by default, `-C` option finds copies only if the " +"original file of the copy was modified in the same changeset. This flag " +"makes the command inspect unmodified files as candidates for the source of " +"copy. This is a very expensive operation for large projects, so use it with " +"caution. Giving more than one `-C` option has the same effect." msgstr "" -"-m <msg>::\n" -"--message=<msg>::\n" -"\tUtiliser le <msg> fourni comme message de validation\n" -"\tSi plusieurs options `-m` sont fournies, leurs valeurs\n" -"\tsont concat챕n챕es comme paragraphes s챕par챕s.\n" #. type: Labeled list -#: en/git-commit.txt:148 +#: en/diff-options.txt:389 en/git-branch.txt:84 en/git-http-push.txt:45 #, no-wrap -msgid "-t <file>" +msgid "-D" msgstr "" #. type: Labeled list -#: en/git-commit.txt:149 +#: en/diff-options.txt:390 #, no-wrap -msgid "--template=<file>" +msgid "--irreversible-delete" msgstr "" #. type: Plain text -#: en/git-commit.txt:158 -#, fuzzy -#| msgid "" -#| "-t <file>::\n" -#| "--template=<file>::\n" -#| "\tWhen editing the commit message, start the editor with the\n" -#| "\tcontents in the given file. The `commit.template` configuration\n" -#| "\tvariable is often used to give this option implicitly to the\n" -#| "\tcommand. This mechanism can be used by projects that want to\n" -#| "\tguide participants with some hints on what to write in the message\n" -#| "\tin what order. If the user exits the editor without editing the\n" -#| "\tmessage, the commit is aborted. This has no effect when a message\n" -#| "\tis given by other means, e.g. with the `-m` or `-F` options.\n" +#: en/diff-options.txt:398 msgid "" -"When editing the commit message, start the editor with the contents in the " -"given file. The `commit.template` configuration variable is often used to " -"give this option implicitly to the command. This mechanism can be used by " -"projects that want to guide participants with some hints on what to write in " -"the message in what order. If the user exits the editor without editing the " -"message, the commit is aborted. This has no effect when a message is given " -"by other means, e.g. with the `-m` or `-F` options." +"Omit the preimage for deletes, i.e. print only the header but not the diff " +"between the preimage and `/dev/null`. The resulting patch is not meant to be " +"applied with `patch` or `git apply`; this is solely for people who want to " +"just concentrate on reviewing the text after the change. In addition, the " +"output obviously lack enough information to apply such a patch in reverse, " +"even manually, hence the name of the option." msgstr "" -"-t <fichier>::\n" -"--template=<fichier>::\n" -"\t� l'챕dition du message de validation, d챕marrer l'챕diteur avec le\n" -"\tcontenu du fichier indiqu챕. La variable de configuration `commit." -"template`\n" -"\test souvent utilis챕e pour fournir implicitement cette option 횪 la " -"commande.\n" -"\tCe m챕canisme peut 챗tre utilis챕 par les projets qui souhaitent guider les\n" -"\tparticipants avec une aide sur ce qu'il faut 챕crire dans le message et\n" -"\tdans quel ordre. Si l'utilisateur sort de l'챕diteur sans changer le " -"message\n" -"\tla validation est annul챕e. Ceci n'a aucun effet quand un message est " -"fourni\n" -"\tpar un autre moyen, par exemple par les options `-m` ou `-F`.\n" #. type: Plain text -#: en/git-commit.txt:167 -#, fuzzy -#| msgid "" -#| "-s::\n" -#| "--signoff::\n" -#| "\tAdd Signed-off-by line by the committer at the end of the commit\n" -#| "\tlog message. The meaning of a signoff depends on the project,\n" -#| "\tbut it typically certifies that committer has\n" -#| "\tthe rights to submit this work under the same license and\n" -#| "\tagrees to a Developer Certificate of Origin\n" -#| "\t(see http://developercertificate.org/ for more information).\n" +#: en/diff-options.txt:401 msgid "" -"Add Signed-off-by line by the committer at the end of the commit log " -"message. The meaning of a signoff depends on the project, but it typically " -"certifies that committer has the rights to submit this work under the same " -"license and agrees to a Developer Certificate of Origin (see http://" -"developercertificate.org/ for more information)." +"When used together with `-B`, omit also the preimage in the deletion part of " +"a delete/create pair." msgstr "" -"-s::\n" -"--signoff::\n" -"\tAjouter une ligne Signed-off-by du validateur 횪 la fin du message\n" -"\tde validation. La signification de signoff d챕pend du projet,\n" -"\tmais ceci certifie typiquement que le validateur a les droits\n" -"\tde soumettre son travail sous la m챗me licence et accepte un \n" -"\tCertificat d'Origine de D챕veloppeur (voir \n" -"\thttp://developercertificate.org/ pour plus d'information).\n" #. type: Labeled list -#: en/git-commit.txt:169 en/git-rebase.txt:322 +#: en/diff-options.txt:402 en/git-svn.txt:594 #, no-wrap -msgid "--no-verify" +msgid "-l<num>" msgstr "" #. type: Plain text -#: en/git-commit.txt:172 -#, fuzzy -#| msgid "" -#| "-n::\n" -#| "--no-verify::\n" -#| "\tThis option bypasses the pre-commit and commit-msg hooks.\n" -#| "\tSee also linkgit:githooks[5].\n" +#: en/diff-options.txt:408 msgid "" -"This option bypasses the pre-commit and commit-msg hooks. See also linkgit:" -"githooks[5]." +"The `-M` and `-C` options require O(n^2) processing time where n is the " +"number of potential rename/copy targets. This option prevents rename/copy " +"detection from running if the number of rename/copy targets exceeds the " +"specified number." +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:410 +#, no-wrap +msgid "--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "" -"-n::\n" -"--no-verify::\n" -"\tCette option court-circuite les crochets pre-commit et commit-msg.\n" -"\tVoir aussi linkgit:githooks[5].\n" #. type: Plain text -#: en/git-commit.txt:178 -#, fuzzy -#| msgid "" -#| "--allow-empty::\n" -#| "\tUsually recording a commit that has the exact same tree as its\n" -#| "\tsole parent commit is a mistake, and the command prevents you\n" -#| "\tfrom making such a commit. This option bypasses the safety, and\n" -#| "\tis primarily for use by foreign SCM interface scripts.\n" +#: en/diff-options.txt:421 msgid "" -"Usually recording a commit that has the exact same tree as its sole parent " -"commit is a mistake, and the command prevents you from making such a " -"commit. This option bypasses the safety, and is primarily for use by " -"foreign SCM interface scripts." +"Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), " +"Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, " +"submodule, ...) changed (`T`), are Unmerged (`U`), are Unknown (`X`), or " +"have had their pairing Broken (`B`). Any combination of the filter " +"characters (including none) can be used. When `*` (All-or-none) is added to " +"the combination, all paths are selected if there is any file that matches " +"other criteria in the comparison; if there is no file that matches other " +"criteria, nothing is selected." msgstr "" -"--allow-empty::\n" -"\tG챕n챕ralement enregistrer un commit qui pointe sur la m챗me version\n" -"\tque son unique parent est une erreur et la commande vous emp챗che\n" -"\tde cr챕er un tel commit. Cette option court-circuite cette s챕curit챕\n" -"\tet sert principalement dans les scripts d'interface avec d'autres SCM.\n" #. type: Plain text -#: en/git-commit.txt:184 -#, fuzzy -#| msgid "" -#| "--allow-empty-message::\n" -#| " Like --allow-empty this command is primarily for use by foreign\n" -#| " SCM interface scripts. It allows you to create a commit with an\n" -#| " empty commit message without using plumbing commands like\n" -#| " linkgit:git-commit-tree[1].\n" +#: en/diff-options.txt:424 msgid "" -"Like --allow-empty this command is primarily for use by foreign SCM " -"interface scripts. It allows you to create a commit with an empty commit " -"message without using plumbing commands like linkgit:git-commit-tree[1]." +"Also, these upper-case letters can be downcased to exclude. E.g. `--diff-" +"filter=ad` excludes added and deleted paths." msgstr "" -"--allow-empty-message::\n" -" Comme --allow-empty cette commande est principalement utilis챕e\n" -" par les scripts d'interface d'autres SCM. Elle vous permet de\n" -" cr챕er un commit avec un message vide sans utiliser de commande\n" -" de plomberie telle que linkgit:git-commit-tree[1].\n" #. type: Labeled list -#: en/git-commit.txt:185 en/git-tag.txt:145 +#: en/diff-options.txt:425 #, no-wrap -msgid "--cleanup=<mode>" +msgid "-S<string>" msgstr "" #. type: Plain text -#: en/git-commit.txt:189 -#, fuzzy -#| msgid "" -#| "--cleanup=<mode>::\n" -#| "\tThis option determines how the supplied commit message should be\n" -#| "\tcleaned up before committing. The '<mode>' can be `strip`,\n" -#| "\t`whitespace`, `verbatim`, `scissors` or `default`.\n" +#: en/diff-options.txt:429 msgid "" -"This option determines how the supplied commit message should be cleaned up " -"before committing. The '<mode>' can be `strip`, `whitespace`, `verbatim`, " -"`scissors` or `default`." +"Look for differences that change the number of occurrences of the specified " +"string (i.e. addition/deletion) in a file. Intended for the scripter's use." +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:435 +msgid "" +"It is useful when you're looking for an exact block of code (like a struct), " +"and want to know the history of that block since it first came into being: " +"use the feature iteratively to feed the interesting block in the preimage " +"back into `-S`, and keep going until you get the very first version of the " +"block." msgstr "" -"--cleanup=<mode>::\n" -"\tCette option d챕termine comment le message fourni doit 챗tre\n" -"\tnettoy챕 avant la validation. Le '<mode>' peut 챗tre `strip`,\n" -"\t`whitespace`, `verbatim`, `scissors` ou `default`.\n" #. type: Labeled list -#: en/git-commit.txt:191 +#: en/diff-options.txt:436 #, no-wrap -msgid "strip" -msgstr "strip" +msgid "-G<regex>" +msgstr "" #. type: Plain text -#: en/git-commit.txt:194 +#: en/diff-options.txt:439 msgid "" -"Strip leading and trailing empty lines, trailing whitespace, commentary and " -"collapse consecutive empty lines." +"Look for differences whose patch text contains added/removed lines that " +"match <regex>." msgstr "" -"Retirer les lignes vides en d챕but et fin du message, les espaces de fin de " -"ligne, les commentaires et d챕dupliquer les lignes vides cons챕cutives." -#. type: Labeled list -#: en/git-commit.txt:194 +#. type: Plain text +#: en/diff-options.txt:443 +msgid "" +"To illustrate the difference between `-S<regex> --pickaxe-regex` and `-" +"G<regex>`, consider a commit with the following diff in the same file:" +msgstr "" + +#. type: delimited block - +#: en/diff-options.txt:448 #, no-wrap -msgid "whitespace" -msgstr "whitespace" +msgid "" +"+ return !regexec(regexp, two->ptr, 1, ®match, 0);\n" +"...\n" +"- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);\n" +msgstr "" #. type: Plain text -#: en/git-commit.txt:196 -msgid "Same as `strip` except #commentary is not removed." -msgstr "Identique 횪 `strip` sauf que les #commentaires ne sont pas supprim챕s." +#: en/diff-options.txt:453 +msgid "" +"While `git log -G\"regexec\\(regexp\"` will show this commit, `git log -S" +"\"regexec\\(regexp\" --pickaxe-regex` will not (because the number of " +"occurrences of that string did not change)." +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:456 +msgid "See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more information." +msgstr "" #. type: Labeled list -#: en/git-commit.txt:196 +#: en/diff-options.txt:457 #, no-wrap -msgid "verbatim" -msgstr "verbatim" +msgid "--pickaxe-all" +msgstr "" #. type: Plain text -#: en/git-commit.txt:198 -msgid "Do not change the message at all." -msgstr "Laisser le message inchang챕." +#: en/diff-options.txt:461 +msgid "" +"When `-S` or `-G` finds a change, show all the changes in that changeset, " +"not just the files that contain the change in <string>." +msgstr "" #. type: Labeled list -#: en/git-commit.txt:198 +#: en/diff-options.txt:462 #, no-wrap -msgid "scissors" -msgstr "scissors" +msgid "--pickaxe-regex" +msgstr "" #. type: Plain text -#: en/git-commit.txt:204 -#, fuzzy -#| msgid "" -#| "Same as `whitespace`, except that everything from (and including) the " -#| "line \"`# ------------------------ >8 ------------------------`\" is " -#| "truncated if the message is to be edited. \"`#`\" can be customized with " -#| "core.commentChar." +#: en/diff-options.txt:465 msgid "" -"Same as `whitespace`, except that everything from (and including) the line " -"\"`# ------------------------ >8 ------------------------`\" is truncated if " -"the message is to be edited. \"`#`\" can be customized with core.commentChar." +"Treat the <string> given to `-S` as an extended POSIX regular expression to " +"match." msgstr "" -"Identique 횪 `whitespace`, 횪 l'exception que tout 횪 partir de la ligne \"`# " -"------------------------ >8 ------------------------`\" incluse sera 챕limin챕 " -"si le message est 챕dit챕. \"`#`\" peut 챗tre personnalis챕 gr창ce 횪 core." -"commentChar." #. type: Labeled list -#: en/git-commit.txt:204 +#: en/diff-options.txt:467 en/git-mergetool.txt:82 #, no-wrap -msgid "default" -msgstr "default" +msgid "-O<orderfile>" +msgstr "" #. type: Plain text -#: en/git-commit.txt:207 +#: en/diff-options.txt:472 msgid "" -"Same as `strip` if the message is to be edited. Otherwise `whitespace`." +"Control the order in which files appear in the output. This overrides the " +"`diff.orderFile` configuration variable (see linkgit:git-config[1]). To " +"cancel `diff.orderFile`, use `-O/dev/null`." msgstr "" -"Identique 횪 `strip` si le messages est 챕dit챕. Sinon identique 횪 `whitespace`." #. type: Plain text -#: en/git-commit.txt:211 +#: en/diff-options.txt:484 msgid "" -"The default can be changed by the `commit.cleanup` configuration variable " -"(see linkgit:git-config[1])." +"The output order is determined by the order of glob patterns in " +"<orderfile>. All files with pathnames that match the first pattern are " +"output first, all files with pathnames that match the second pattern (but " +"not the first) are output next, and so on. All files with pathnames that do " +"not match any pattern are output last, as if there was an implicit match-all " +"pattern at the end of the file. If multiple pathnames have the same rank " +"(they match the same pattern but no earlier patterns), their output order " +"relative to each other is the normal order." msgstr "" -"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " -"`commit.cleanup` (voir linkgit:git-config[1])." #. type: Plain text -#: en/git-commit.txt:218 -#, fuzzy -#| msgid "" -#| "-e::\n" -#| "--edit::\n" -#| "\tThe message taken from file with `-F`, command line with\n" -#| "\t`-m`, and from commit object with `-C` are usually used as\n" -#| "\tthe commit log message unmodified. This option lets you\n" -#| "\tfurther edit the message taken from these sources.\n" +#: en/diff-options.txt:486 +msgid "<orderfile> is parsed as follows:" +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:490 msgid "" -"The message taken from file with `-F`, command line with `-m`, and from " -"commit object with `-C` are usually used as the commit log message " -"unmodified. This option lets you further edit the message taken from these " -"sources." +"Blank lines are ignored, so they can be used as separators for readability." msgstr "" -"-e::\n" -"--edit::\n" -"\tLe message tir챕 d'un fichier avec `-F`, ou de la ligne\n" -"\tde commande avec `-m`, ou depuis un objet commit avec `-C`\n" -"\test g챕n챕ralement utilis챕 sans modification. Cette option\n" -"\tpermet d'챕diter au passage le message tir챕 de ces sources.\n" -#. type: Labeled list -#: en/git-commit.txt:219 en/git-revert.txt:65 en/merge-options.txt:12 -#, no-wrap -msgid "--no-edit" +#. type: Plain text +#: en/diff-options.txt:494 +msgid "" +"Lines starting with a hash (\"`#`\") are ignored, so they can be used for " +"comments. Add a backslash (\"`\\`\") to the beginning of the pattern if it " +"starts with a hash." msgstr "" #. type: Plain text -#: en/git-commit.txt:223 -#, fuzzy -#| msgid "" -#| "--no-edit::\n" -#| "\tUse the selected commit message without launching an editor.\n" -#| "\tFor example, `git commit --amend --no-edit` amends a commit\n" -#| "\twithout changing its commit message.\n" +#: en/diff-options.txt:496 +msgid "Each other line contains a single pattern." +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:503 msgid "" -"Use the selected commit message without launching an editor. For example, " -"`git commit --amend --no-edit` amends a commit without changing its commit " -"message." +"Patterns have the same syntax and semantics as patterns used for fnmantch(3) " +"without the FNM_PATHNAME flag, except a pathname also matches a pattern if " +"removing any number of the final pathname components matches the pattern. " +"For example, the pattern \"`foo*bar`\" matches \"`fooasdfbar`\" and \"`foo/" +"bar/baz/asdf`\" but not \"`foobarx`\"." msgstr "" -"--no-edit::\n" -"\tUtiliser le message de validation s챕lectionn챕 sans lancer\n" -"\td'챕diteur. Par exemple, `git commit --amend --no-edit` corrige\n" -"\tun commit sans changer son message de validation.\n" #. type: Labeled list -#: en/git-commit.txt:224 +#: en/diff-options.txt:505 en/git-apply.txt:96 en/git-cvsimport.txt:168 #, no-wrap -msgid "--amend" +msgid "-R" msgstr "" #. type: Plain text -#: en/git-commit.txt:234 -#, fuzzy -#| msgid "" -#| "--amend::\n" -#| "\tReplace the tip of the current branch by creating a new\n" -#| "\tcommit. The recorded tree is prepared as usual (including\n" -#| "\tthe effect of the `-i` and `-o` options and explicit\n" -#| "\tpathspec), and the message from the original commit is used\n" -#| "\tas the starting point, instead of an empty message, when no\n" -#| "\tother message is specified from the command line via options\n" -#| "\tsuch as `-m`, `-F`, `-c`, etc. The new commit has the same\n" -#| "\tparents and author as the current one (the `--reset-author`\n" -#| "\toption can countermand this).\n" +#: en/diff-options.txt:508 msgid "" -"Replace the tip of the current branch by creating a new commit. The recorded " -"tree is prepared as usual (including the effect of the `-i` and `-o` options " -"and explicit pathspec), and the message from the original commit is used as " -"the starting point, instead of an empty message, when no other message is " -"specified from the command line via options such as `-m`, `-F`, `-c`, etc. " -"The new commit has the same parents and author as the current one (the `--" -"reset-author` option can countermand this)." +"Swap two inputs; that is, show differences from index or on-disk file to " +"tree contents." msgstr "" -"--amend::\n" -"\tRemplacer le sommet de la branche actuelle en cr챕ant un nouveau \n" -"\tcommit. L'arbre enregistr챕 est pr챕par챕 comme d'habitude \n" -"\t(incluant l'effet des options `-i` et `-o` et les sp챕cificateurs\n" -"\texplicites de chemin) et le message du commit originel est\n" -"\tutilis챕 comme point de d챕part au lieu d'un message vide, quand\n" -"\taucun autre message n'est sp챕cifi챕 횪 la ligne de commande via\n" -"\tdes options telles que `-m`, `-F`, `-c`, etc. Le nouveau commit\n" -"\ta les m챗mes parents et auteur que l'originel (l'option \n" -"\t`--reset-author` peut modifier l'auteur).\n" - -#. type: Plain text -#: en/git-commit.txt:237 -msgid "It is a rough equivalent for:" -msgstr "C'est un 챕quivalent grossier de혻:" -#. type: delimited block - -#: en/git-commit.txt:241 +#. type: Labeled list +#: en/diff-options.txt:509 #, no-wrap -msgid "" -"\t$ git reset --soft HEAD^\n" -"\t$ ... do something else to come up with the right tree ...\n" -"\t$ git commit -c ORIG_HEAD\n" +msgid "--relative[=<path>]" msgstr "" -"\t$ git reset --soft HEAD^\n" -"\t$ ... faire autre chose pour obtenir l'arbre correct ...\n" -"\t$ git commit -c ORIG_HEAD\n" - -#. type: Plain text -#: en/git-commit.txt:244 -msgid "but can be used to amend a merge commit." -msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." #. type: Plain text -#: en/git-commit.txt:249 +#: en/diff-options.txt:516 msgid "" -"You should understand the implications of rewriting history if you amend a " -"commit that has already been published. (See the \"RECOVERING FROM UPSTREAM " -"REBASE\" section in linkgit:git-rebase[1].)" +"When run from a subdirectory of the project, it can be told to exclude " +"changes outside the directory and show pathnames relative to it with this " +"option. When you are not in a subdirectory (e.g. in a bare repository), you " +"can name which subdirectory to make the output relative to by giving a " +"<path> as an argument." msgstr "" -"Vous devriez comprendre les implications d'une r챕챕criture de l'historique si " -"vous modifiez un commit qui a d챕j횪 챕t챕 publi챕 (Voir la section 짬혻RATTRAPPER " -"UN REBASAGE AMONT혻쨩 dans linkgit:git-rebase[1])." #. type: Labeled list -#: en/git-commit.txt:250 +#: en/diff-options.txt:518 en/fetch-options.txt:4 en/git-archimport.txt:98 +#: en/git-branch.txt:140 en/git-checkout-index.txt:38 en/git-commit.txt:60 +#: en/git-cvsexportcommit.txt:45 en/git-cvsimport.txt:135 en/git-grep.txt:105 +#: en/git-help.txt:41 en/git-http-fetch.txt:31 en/git-merge-base.txt:71 +#: en/git-merge-index.txt:26 en/git-repack.txt:31 en/git-show-branch.txt:47 +#: en/git-tag.txt:59 #, no-wrap -msgid "--no-post-rewrite" +msgid "-a" +msgstr "-a" + +#. type: Labeled list +#: en/diff-options.txt:519 en/git-grep.txt:106 +#, no-wrap +msgid "--text" msgstr "" #. type: Plain text -#: en/git-commit.txt:252 -#, fuzzy -#| msgid "" -#| "--no-post-rewrite::\n" -#| "\tBypass the post-rewrite hook.\n" -msgid "Bypass the post-rewrite hook." +#: en/diff-options.txt:521 +msgid "Treat all files as text." msgstr "" -"--no-post-rewrite::\n" -"\tCourt-circuiter le crochet post-rewrite.\n" #. type: Labeled list -#: en/git-commit.txt:254 +#: en/diff-options.txt:522 #, no-wrap -msgid "--include" +msgid "--ignore-space-at-eol" msgstr "" #. type: Plain text -#: en/git-commit.txt:259 -#, fuzzy -#| msgid "" -#| "-i::\n" -#| "--include::\n" -#| "\tBefore making a commit out of staged contents so far,\n" -#| "\tstage the contents of paths given on the command line\n" -#| "\tas well. This is usually not what you want unless you\n" -#| "\tare concluding a conflicted merge.\n" -msgid "" -"Before making a commit out of staged contents so far, stage the contents of " -"paths given on the command line as well. This is usually not what you want " -"unless you are concluding a conflicted merge." +#: en/diff-options.txt:524 +msgid "Ignore changes in whitespace at EOL." msgstr "" -"-i::\n" -"--include::\n" -"\tAvant de cr챕er un commit 횪 partir du contenu index챕\n" -"\tjusqu'횪 pr챕sent, indexer aussi les contenus des chemins fournis\n" -"\tsur la ligne de commande. Cela n'est habituellement pas ce que\n" -"\tvous souhaitez, 횪 part si vous terminez une fusion conflictuelle.\n" #. type: Labeled list -#: en/git-commit.txt:261 +#: en/diff-options.txt:526 en/git-am.txt:102 en/git-apply.txt:172 #, no-wrap -msgid "--only" -msgstr "" +msgid "--ignore-space-change" +msgstr "--ignore-space-change" #. type: Plain text -#: en/git-commit.txt:273 -#, fuzzy -#| msgid "" -#| "-o::\n" -#| "--only::\n" -#| "\tMake a commit by taking the updated working tree contents\n" -#| "\tof the paths specified on the\n" -#| "\tcommand line, disregarding any contents that have been\n" -#| "\tstaged for other paths. This is the default mode of operation of\n" -#| "\t'git commit' if any paths are given on the command line,\n" -#| "\tin which case this option can be omitted.\n" -#| "\tIf this option is specified together with `--amend`, then\n" -#| "\tno paths need to be specified, which can be used to amend\n" -#| "\tthe last commit without committing changes that have\n" -#| "\talready been staged. If used together with `--allow-empty`\n" -#| "\tpaths are also not required, and an empty commit will be created.\n" +#: en/diff-options.txt:530 msgid "" -"Make a commit by taking the updated working tree contents of the paths " -"specified on the command line, disregarding any contents that have been " -"staged for other paths. This is the default mode of operation of 'git " -"commit' if any paths are given on the command line, in which case this " -"option can be omitted. If this option is specified together with `--amend`, " -"then no paths need to be specified, which can be used to amend the last " -"commit without committing changes that have already been staged. If used " -"together with `--allow-empty` paths are also not required, and an empty " -"commit will be created." +"Ignore changes in amount of whitespace. This ignores whitespace at line " +"end, and considers all other sequences of one or more whitespace characters " +"to be equivalent." msgstr "" -"-o::\n" -"--only::\n" -"\tR챕aliser une validation en prenant le contenu de l'arbre de travail\n" -"\tdes chemins sp챕cifi챕s sur la ligne de commande, en ignorant tout\n" -"\tcontenu d'autres chemins d챕j횪 index챕. C'est le mode d'op챕ration\n" -"\tpar d챕faut de 'git commit' si des chemins sont fournis sur la \n" -"\tligne de commande, auquel cas l'option peut 챗tre omise.\n" -"\tSi cette option est sp챕cifi챕e en m챗me temps que `--amend`, alors\n" -"\til n'est pas n챕cessaire de sp챕cifier des chemins, ce qui peut\n" -"\t챗tre utile pour corriger le dernier commit sans valider les\n" -"\tmodifications qui ont d챕j횪 챕t챕 index챕es. Si utilis챕 avec\n" -"\t`--allow-empty`, les chemins ne sont pas n챕cessaires non plus et\n" -"\tun commit vide sera cr챕챕.\n" #. type: Labeled list -#: en/git-commit.txt:274 en/git-status.txt:55 +#: en/diff-options.txt:531 en/git-blame.txt:83 en/git-cvsexportcommit.txt:71 +#: en/git-grep.txt:131 en/git-hash-object.txt:31 en/git-help.txt:66 #, no-wrap -msgid "-u[<mode>]" +msgid "-w" msgstr "" #. type: Labeled list -#: en/git-commit.txt:275 en/git-status.txt:56 +#: en/diff-options.txt:532 #, no-wrap -msgid "--untracked-files[=<mode>]" +msgid "--ignore-all-space" msgstr "" #. type: Plain text -#: en/git-commit.txt:277 en/git-status.txt:58 -#, fuzzy -#| msgid "'no' - Show no untracked files\n" -msgid "Show untracked files." -msgstr "'no' - Ne montrer aucun fichier non-suivi\n" - -#. type: Plain text -#: en/git-commit.txt:281 +#: en/diff-options.txt:536 msgid "" -"The mode parameter is optional (defaults to 'all'), and is used to specify " -"the handling of untracked files; when -u is not used, the default is " -"'normal', i.e. show untracked files and directories." +"Ignore whitespace when comparing lines. This ignores differences even if " +"one line has whitespace where the other line has none." msgstr "" -"Le param챔tre de mode est optionnel (par d챕faut, 'all') et sert 횪 sp챕cifier " -"la gestion des fichiers non suivis ; quand -u n'est pas utilis챕, le mode par " -"d챕faut est 'normal', c'est-횪-dire montrer les fichiers et les dossiers non-" -"suivis." - -#. type: Plain text -#: en/git-commit.txt:283 en/git-status.txt:64 -msgid "The possible options are:" -msgstr "Les options possibles sont혻:" -#. type: Plain text -#: en/git-commit.txt:285 +#. type: Labeled list +#: en/diff-options.txt:537 #, no-wrap -msgid "'no' - Show no untracked files\n" -msgstr "'no' - Ne montrer aucun fichier non-suivi\n" +msgid "--ignore-blank-lines" +msgstr "" #. type: Plain text -#: en/git-commit.txt:286 -#, no-wrap -msgid "'normal' - Shows untracked files and directories\n" -msgstr "'normal' - Montrer les fichiers et les dossiers non-suivis\n" +#: en/diff-options.txt:539 +msgid "Ignore changes whose lines are all blank." +msgstr "" -#. type: Plain text -#: en/git-commit.txt:287 en/git-status.txt:68 +#. type: Labeled list +#: en/diff-options.txt:540 #, no-wrap -msgid "'all' - Also shows individual files in untracked directories.\n" -msgstr "'all' - Montrer aussi les fichiers individuels dans les dossiers non-suivis.\n" +msgid "--inter-hunk-context=<lines>" +msgstr "" #. type: Plain text -#: en/git-commit.txt:290 en/git-status.txt:81 +#: en/diff-options.txt:545 msgid "" -"The default can be changed using the status.showUntrackedFiles configuration " -"variable documented in linkgit:git-config[1]." +"Show the context between diff hunks, up to the specified number of lines, " +"thereby fusing hunks that are close to each other. Defaults to `diff." +"interHunkContext` or 0 if the config option is unset." msgstr "" -"La valeur par d챕faut est contenue dans la variable de configuration status." -"showUntrackedFiles document챕e dans linkgit:git-config[1]." -#. type: Plain text -#: en/git-commit.txt:301 -#, fuzzy -#| msgid "" -#| "-v::\n" -#| "--verbose::\n" -#| "\tShow unified diff between the HEAD commit and what\n" -#| "\twould be committed at the bottom of the commit message\n" -#| "\ttemplate to help the user describe the commit by reminding\n" -#| "\twhat changes the commit has.\n" -#| "\tNote that this diff output doesn't have its\n" -#| "\tlines prefixed with '#'. This diff will not be a part\n" -#| "\tof the commit message. See the `commit.verbose` configuration\n" -#| "\tvariable in linkgit:git-config[1].\n" -msgid "" -"Show unified diff between the HEAD commit and what would be committed at the " -"bottom of the commit message template to help the user describe the commit " -"by reminding what changes the commit has. Note that this diff output " -"doesn't have its lines prefixed with '#'. This diff will not be a part of " -"the commit message. See the `commit.verbose` configuration variable in " -"linkgit:git-config[1]." +#. type: Labeled list +#: en/diff-options.txt:546 en/git-cvsexportcommit.txt:77 en/git-grep.txt:246 +#, no-wrap +msgid "-W" msgstr "" -"-v::\n" -"--verbose::\n" -"\tAfficher en bas du mod챔le de message de validation un diff\n" -"\tunifi챕 entre le commit HEAD et ce qui serait valid챕 pour aider\n" -"\tl'utilisateur 횪 d챕crire le commit en lui rappelant les\n" -"\tmodifications qui seront valid챕es.\n" -"\tVeuillez noter que cette sortie de diff n'est pas pr챕fix챕e par\n" -"\tdes '#'. Elle ne fera pas pour autant partie du message de\n" -"\tvalidation. R챕f챕rez-vous 횪 la variable de configuration\n" -"\t`commit.verbose` dans linkgit:git-config[1].\n" -#. type: Plain text -#: en/git-commit.txt:305 -msgid "" -"If specified twice, show in addition the unified diff between what would be " -"committed and the worktree files, i.e. the unstaged changes to tracked files." +#. type: Labeled list +#: en/diff-options.txt:547 en/git-grep.txt:247 +#, no-wrap +msgid "--function-context" msgstr "" -"Si sp챕cifi챕 deux fois, afficher en plus le diff unifi챕 entre ce qui serait " -"vali챕 et les fichiers de l'arbre de travail, c'est-횪-dire les modifications " -"non-index챕es des fichiers suivis." #. type: Plain text -#: en/git-commit.txt:309 -#, fuzzy -#| msgid "" -#| "-q::\n" -#| "--quiet::\n" -#| "\tSuppress commit summary message.\n" -msgid "Suppress commit summary message." +#: en/diff-options.txt:549 +msgid "Show whole surrounding functions of changes." +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:552 en/git-ls-remote.txt:46 +#, no-wrap +msgid "--exit-code" msgstr "" -"-q::\n" -"--quiet::\n" -"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Plain text -#: en/git-commit.txt:314 -#, fuzzy -#| msgid "" -#| "--dry-run::\n" -#| "\tDo not create a commit, but show a list of paths that are\n" -#| "\tto be committed, paths with local changes that will be left\n" -#| "\tuncommitted and paths that are untracked.\n" +#: en/diff-options.txt:556 msgid "" -"Do not create a commit, but show a list of paths that are to be committed, " -"paths with local changes that will be left uncommitted and paths that are " -"untracked." +"Make the program exit with codes similar to diff(1). That is, it exits with " +"1 if there were differences and 0 means no differences." msgstr "" -"--dry-run::\n" -"\tNe pas cr챕er de commit, mais montrer une liste des chemins qui\n" -"\tseront valid챕s, une de ceux contenant des modifications locales\n" -"\tet qui ne seront pas valid챕s, et une de ceux non-suivis.\n" #. type: Labeled list -#: en/git-commit.txt:315 -#, fuzzy, no-wrap -#| msgid "status" -msgid "--status" -msgstr "status" +#: en/diff-options.txt:557 en/fetch-options.txt:160 en/git-am.txt:74 +#: en/git-branch.txt:158 en/git-checkout-index.txt:31 en/git-checkout.txt:107 +#: en/git-clean.txt:52 en/git-clone.txt:118 en/git-commit.txt:307 +#: en/git-fast-import.txt:42 en/git-fetch-pack.txt:49 +#: en/git-format-patch.txt:261 en/git-gc.txt:74 en/git-grep.txt:281 +#: en/git-imap-send.txt:37 en/git-init.txt:44 en/git-ls-remote.txt:37 +#: en/git-notes.txt:207 en/git-prune-packed.txt:37 en/git-pull.txt:78 +#: en/git-push.txt:259 en/git-rebase.txt:307 en/git-reset.txt:97 +#: en/git-rev-parse.txt:114 en/git-rm.txt:67 en/git-send-email.txt:371 +#: en/git-show-ref.txt:71 en/git-submodule.txt:272 en/git-svn.txt:633 +#: en/git-symbolic-ref.txt:40 en/merge-options.txt:105 +#: en/rev-list-options.txt:201 +#, no-wrap +msgid "--quiet" +msgstr "--quiet" #. type: Plain text -#: en/git-commit.txt:320 -#, fuzzy -#| msgid "" -#| "--status::\n" -#| "\tInclude the output of linkgit:git-status[1] in the commit\n" -#| "\tmessage template when using an editor to prepare the commit\n" -#| "\tmessage. Defaults to on, but can be used to override\n" -#| "\tconfiguration variable commit.status.\n" -msgid "" -"Include the output of linkgit:git-status[1] in the commit message template " -"when using an editor to prepare the commit message. Defaults to on, but can " -"be used to override configuration variable commit.status." +#: en/diff-options.txt:559 +msgid "Disable all output of the program. Implies `--exit-code`." msgstr "" -"--status::\n" -"\tInclure la sortie de linkgit:git-status[1] dans le mod챔le de\n" -"\tmessage de validation lors de l'utilisation d'un 챕diteur pour\n" -"\tpr챕parer le message de validation. Activ챕 par d챕faut, mais\n" -"\tpeut surcharger la variable de configuration commit.status.\n" #. type: Labeled list -#: en/git-commit.txt:321 +#: en/diff-options.txt:562 #, fuzzy, no-wrap -#| msgid "status" -msgid "--no-status" -msgstr "status" +#| msgid "diff" +msgid "--ext-diff" +msgstr "diff" #. type: Plain text -#: en/git-commit.txt:325 -#, fuzzy -#| msgid "" -#| "--no-status::\n" -#| "\tDo not include the output of linkgit:git-status[1] in the\n" -#| "\tcommit message template when using an editor to prepare the\n" -#| "\tdefault commit message.\n" +#: en/diff-options.txt:566 msgid "" -"Do not include the output of linkgit:git-status[1] in the commit message " -"template when using an editor to prepare the default commit message." +"Allow an external diff helper to be executed. If you set an external diff " +"driver with linkgit:gitattributes[5], you need to use this option with " +"linkgit:git-log[1] and friends." msgstr "" -"--no-status::\n" -"\tNe pas inclure la sortie de linkgit:git-status[1] dans le\n" -"\tmod챔le de message de validation lors de l'utilisation d'un\n" -"\t챕diteur pour pr챕parer le message de validation par d챕faut.\n" #. type: Labeled list -#: en/git-commit.txt:332 en/git-commit-tree.txt:63 +#: en/diff-options.txt:567 #, no-wrap -msgid "--no-gpg-sign" +msgid "--no-ext-diff" msgstr "" #. type: Plain text -#: en/git-commit.txt:335 -#, fuzzy -#| msgid "" -#| "--no-gpg-sign::\n" -#| "\tCountermand `commit.gpgSign` configuration variable that is\n" -#| "\tset to force each and every commit to be signed.\n" -msgid "" -"Countermand `commit.gpgSign` configuration variable that is set to force " -"each and every commit to be signed." +#: en/diff-options.txt:569 +msgid "Disallow external diff drivers." msgstr "" -"--no-gpg-sign::\n" -"\tAnnuler la variable de configuration `commit.gpgSign` qui\n" -"\tforce tous les commits 횪 챗tre sign챕s.\n" #. type: Labeled list -#: en/git-commit.txt:339 en/git-rm.txt:29 +#: en/diff-options.txt:570 en/git-cat-file.txt:59 en/git-grep.txt:109 #, no-wrap -msgid "<file>..." +msgid "--textconv" msgstr "" -#. type: Plain text -#: en/git-commit.txt:345 -#, fuzzy -#| msgid "" -#| "<file>...::\n" -#| "\tWhen files are given on the command line, the command\n" -#| "\tcommits the contents of the named files, without\n" -#| "\trecording the changes already staged. The contents of\n" -#| "\tthese files are also staged for the next commit on top\n" -#| "\tof what have been staged before.\n" -msgid "" -"When files are given on the command line, the command commits the contents " -"of the named files, without recording the changes already staged. The " -"contents of these files are also staged for the next commit on top of what " -"have been staged before." +#. type: Labeled list +#: en/diff-options.txt:571 en/git-grep.txt:112 +#, no-wrap +msgid "--no-textconv" msgstr "" -"<fichier>...::\n" -"\tQuand des chemins sont fournis sur la ligne de commande,\n" -"\tla commande valide le contenu des fichiers sp챕cifi챕s, sans\n" -"\tenregistrer les modifications d챕j횪 index챕es. Le contenu de\n" -"\tces fichiers est aussi index챕 pour le commit suivant par\n" -"\tdessus ce qui a 챕t챕 index챕 auparavant.\n" #. type: Plain text -#: en/git-commit.txt:362 -#, fuzzy -#| msgid "" -#| "When recording your own work, the contents of modified files in your " -#| "working tree are temporarily stored to a staging area called the \"index" -#| "\" with 'git add'. A file can be reverted back, only in the index but " -#| "not in the working tree, to that of the last commit with `git reset HEAD " -#| "-- <file>`, which effectively reverts 'git add' and prevents the changes " -#| "to this file from participating in the next commit. After building the " -#| "state to be committed incrementally with these commands, `git commit` " -#| "(without any pathname parameter) is used to record what has been staged " -#| "so far. This is the most basic form of the command. An example:" +#: en/diff-options.txt:580 msgid "" -"When recording your own work, the contents of modified files in your working " -"tree are temporarily stored to a staging area called the \"index\" with 'git " -"add'. A file can be reverted back, only in the index but not in the working " -"tree, to that of the last commit with `git reset HEAD -- <file>`, which " -"effectively reverts 'git add' and prevents the changes to this file from " -"participating in the next commit. After building the state to be committed " -"incrementally with these commands, `git commit` (without any pathname " -"parameter) is used to record what has been staged so far. This is the most " -"basic form of the command. An example:" +"Allow (or disallow) external text conversion filters to be run when " +"comparing binary files. See linkgit:gitattributes[5] for details. Because " +"textconv filters are typically a one-way conversion, the resulting diff is " +"suitable for human consumption, but cannot be applied. For this reason, " +"textconv filters are enabled by default only for linkgit:git-diff[1] and " +"linkgit:git-log[1], but not for linkgit:git-format-patch[1] or diff plumbing " +"commands." msgstr "" -"Lors de l'enregistrement de votre propre travail, le contenu des fichiers " -"modifi챕s dans votre arbre de travail est temporairement stock챕 au moyen de " -"`git add` dans une zone de stockage interm챕diaire appel챕e 짬혻l'index혻쨩. Un " -"fichier peut n'챗tre ramen챕 횪 son contenu correspondant au dernier commit " -"seulement dans l'index mais pas dans l'arbre de travail gr창ce 횪 `git reset " -"HEAD -- <fichier>`, ce qui inverse effectivement le 'git add' et emp챗che les " -"modifications de ce fichier de participer 횪 la prochaine validation. Apr챔s " -"avoir construit l'챕tat 횪 valider de mani챔re incr챕mentale avec ces commandes, " -"`git commit` (sans aucun nom de chemin en param챔tre) sert 횪 enregistrer ce " -"qui a 챕t챕 pr챕par챕 jusqu'ici. C'est la forme la plus simple de la commande. " -"Par exemple혻:" -#. type: delimited block - -#: en/git-commit.txt:368 -#, fuzzy, no-wrap -#| msgid "" -#| "$ edit hello.c\n" -#| "$ git rm goodbye.c\n" -#| "$ git add hello.c\n" -#| "$ git commit\n" -msgid "" -"$ edit hello.c\n" -"$ git rm goodbye.c\n" -"$ git add hello.c\n" -"$ git commit\n" +#. type: Labeled list +#: en/diff-options.txt:581 en/git-status.txt:82 +#, no-wrap +msgid "--ignore-submodules[=<when>]" msgstr "" -"$ edit hello.c\n" -"$ git rm goodbye.c\n" -"$ git add hello.c\n" -"$ git commit\n" #. type: Plain text -#: en/git-commit.txt:376 -#, fuzzy -#| msgid "" -#| "Instead of staging files after each individual change, you can tell `git " -#| "commit` to notice the changes to the files whose contents are tracked in " -#| "your working tree and do corresponding `git add` and `git rm` for you. " -#| "That is, this example does the same as the earlier example if there is no " -#| "other change in your working tree:" +#: en/diff-options.txt:593 msgid "" -"Instead of staging files after each individual change, you can tell `git " -"commit` to notice the changes to the files whose contents are tracked in " -"your working tree and do corresponding `git add` and `git rm` for you. That " -"is, this example does the same as the earlier example if there is no other " -"change in your working tree:" +"Ignore changes to submodules in the diff generation. <when> can be either " +"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " +"\"none\" will consider the submodule modified when it either contains " +"untracked or modified files or its HEAD differs from the commit recorded in " +"the superproject and can be used to override any settings of the 'ignore' " +"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " +"is used submodules are not considered dirty when they only contain untracked " +"content (but they are still scanned for modified content). Using \"dirty\" " +"ignores all changes to the work tree of submodules, only changes to the " +"commits stored in the superproject are shown (this was the behavior until " +"1.7.0). Using \"all\" hides all changes to submodules." msgstr "" -"Au lieu d'indexer les fichiers apr챔s chaque modification individuelle, vous " -"pouvez ordonner 횪 `git commit` d'observer les modifications aux fichiers " -"dans le contenu est d챕j횪 suivi dans votre arbre de travail et de r챕aliser " -"les `git add` et `git rm` correspondant pour vous. De fait, l'exemple " -"suivant fait la m챗me chose que l'exemple pr챕c챕dent si aucune autre " -"modification n'a eu lieu dans votre arbre de travail혻:" -#. type: delimited block - -#: en/git-commit.txt:381 -#, fuzzy, no-wrap -#| msgid "" -#| "$ edit hello.c\n" -#| "$ rm goodbye.c\n" -#| "$ git commit -a\n" -msgid "" -"$ edit hello.c\n" -"$ rm goodbye.c\n" -"$ git commit -a\n" +#. type: Labeled list +#: en/diff-options.txt:594 +#, no-wrap +msgid "--src-prefix=<prefix>" msgstr "" -"$ edit hello.c\n" -"$ rm goodbye.c\n" -"$ git commit -a\n" #. type: Plain text -#: en/git-commit.txt:386 -#, fuzzy -#| msgid "" -#| "The command `git commit -a` first looks at your working tree, notices " -#| "that you have modified hello.c and removed goodbye.c, and performs " -#| "necessary `git add` and `git rm` for you." -msgid "" -"The command `git commit -a` first looks at your working tree, notices that " -"you have modified hello.c and removed goodbye.c, and performs necessary `git " -"add` and `git rm` for you." +#: en/diff-options.txt:596 +msgid "Show the given source prefix instead of \"a/\"." +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:597 +#, no-wrap +msgid "--dst-prefix=<prefix>" msgstr "" -"La commande `git commit -a` observe votre arbre de travail, remarque que " -"vous avez modifi챕 hello.c et supprim챕 goodbye.c, puis r챕alise les `git add` " -"et `git rm` n챕cessaires pour vous." #. type: Plain text -#: en/git-commit.txt:391 -#, fuzzy -#| msgid "" -#| "After staging changes to many files, you can alter the order the changes " -#| "are recorded in, by giving pathnames to `git commit`. When pathnames are " -#| "given, the command makes a commit that only records the changes made to " -#| "the named paths:" -msgid "" -"After staging changes to many files, you can alter the order the changes are " -"recorded in, by giving pathnames to `git commit`. When pathnames are given, " -"the command makes a commit that only records the changes made to the named " -"paths:" +#: en/diff-options.txt:599 +msgid "Show the given destination prefix instead of \"b/\"." msgstr "" -"Apr챔s l'indexation des modifications de nombreux fichiers, vous pouvez " -"modifier l'ordre dans lequel les modifications sont enregistr챕es, en " -"fournissant des chemins 횪 `git commit`. Quand ces chemins sont fournis, la " -"commande cr챕e un commit qui n'enregistre que les modifications aux chemins " -"indiqu챕s혻: " -#. type: delimited block - -#: en/git-commit.txt:397 -#, fuzzy, no-wrap -#| msgid "" -#| "$ edit hello.c hello.h\n" -#| "$ git add hello.c hello.h\n" -#| "$ edit Makefile\n" -#| "$ git commit Makefile\n" -msgid "" -"$ edit hello.c hello.h\n" -"$ git add hello.c hello.h\n" -"$ edit Makefile\n" -"$ git commit Makefile\n" +#. type: Labeled list +#: en/diff-options.txt:600 +#, no-wrap +msgid "--no-prefix" msgstr "" -"$ edit hello.c hello.h\n" -"$ git add hello.c hello.h\n" -"$ edit Makefile\n" -"$ git commit Makefile\n" #. type: Plain text -#: en/git-commit.txt:404 -#, fuzzy -#| msgid "" -#| "This makes a commit that records the modification to `Makefile`. The " -#| "changes staged for `hello.c` and `hello.h` are not included in the " -#| "resulting commit. However, their changes are not lost -- they are still " -#| "staged and merely held back. After the above sequence, if you do:" -msgid "" -"This makes a commit that records the modification to `Makefile`. The " -"changes staged for `hello.c` and `hello.h` are not included in the resulting " -"commit. However, their changes are not lost -- they are still staged and " -"merely held back. After the above sequence, if you do:" +#: en/diff-options.txt:602 +msgid "Do not show any source or destination prefix." msgstr "" -"Ceci cr챕e un commit qui enregistre les modifications de `Makefile`. Les " -"modifications index챕es pour `hello.c` et `hello.h` ne sont pas incluses dans " -"le commit r챕sultant. Cependant, leurs modifications ne sont pas perdues -- " -"elles sont toujours index챕es et simplement suspendues. Apr챔s la s챕quence ci-" -"dessus, si vous faites혻:" - -#. type: delimited block - -#: en/git-commit.txt:407 en/git-commit.txt:433 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git commit\n" -msgstr "$ git commit\n" -#. type: Plain text -#: en/git-commit.txt:411 -#, fuzzy -#| msgid "" -#| "this second commit would record the changes to `hello.c` and `hello.h` as " -#| "expected." -msgid "" -"this second commit would record the changes to `hello.c` and `hello.h` as " -"expected." +#. type: Labeled list +#: en/diff-options.txt:603 +#, no-wrap +msgid "--line-prefix=<prefix>" msgstr "" -"cette seconde validation enregistrerait les modifications de `hello.c` et " -"`hello.h` comme attendu." #. type: Plain text -#: en/git-commit.txt:419 -#, fuzzy -#| msgid "" -#| "After a merge (initiated by 'git merge' or 'git pull') stops because of " -#| "conflicts, cleanly merged paths are already staged to be committed for " -#| "you, and paths that conflicted are left in unmerged state. You would " -#| "have to first check which paths are conflicting with 'git status' and " -#| "after fixing them manually in your working tree, you would stage the " -#| "result as usual with 'git add':" -msgid "" -"After a merge (initiated by 'git merge' or 'git pull') stops because of " -"conflicts, cleanly merged paths are already staged to be committed for you, " -"and paths that conflicted are left in unmerged state. You would have to " -"first check which paths are conflicting with 'git status' and after fixing " -"them manually in your working tree, you would stage the result as usual with " -"'git add':" +#: en/diff-options.txt:605 +msgid "Prepend an additional prefix to every line of output." msgstr "" -"Apr챔s l'arr챗t d'une fusion (commenc챕e avec `git merge` ou `git pull`) pour " -"cause de conflit, les chemins fusionn챕s proprement sont d챕j횪 index챕s pour " -"vous, et les chemins en conflit sont laiss챕 dans un 챕tat non-fusionn챕. Vous " -"auriez 횪 chercher d'abord les chemins en conflit avec `git status` et apr챔s " -"les avoir corrig챕s manuellement dans votre copie de travail, vous les " -"indexeriez comme d'habitude avec `git add`혻:" -#. type: delimited block - -#: en/git-commit.txt:425 -#, fuzzy, no-wrap -#| msgid "" -#| "$ git status | grep unmerged\n" -#| "unmerged: hello.c\n" -#| "$ edit hello.c\n" -#| "$ git add hello.c\n" -msgid "" -"$ git status | grep unmerged\n" -"unmerged: hello.c\n" -"$ edit hello.c\n" -"$ git add hello.c\n" +#. type: Labeled list +#: en/diff-options.txt:606 +#, no-wrap +msgid "--ita-invisible-in-index" msgstr "" -"$ git status | grep non-fusionn챕\n" -"non-fusionn챕혻: hello.c\n" -"$ edit hello.c\n" -"$ git add hello.c\n" #. type: Plain text -#: en/git-commit.txt:430 -#, fuzzy -#| msgid "" -#| "After resolving conflicts and staging the result, `git ls-files -u` would " -#| "stop mentioning the conflicted path. When you are done, run `git commit` " -#| "to finally record the merge:" +#: en/diff-options.txt:613 msgid "" -"After resolving conflicts and staging the result, `git ls-files -u` would " -"stop mentioning the conflicted path. When you are done, run `git commit` to " -"finally record the merge:" +"By default entries added by \"git add -N\" appear as an existing empty file " +"in \"git diff\" and a new file in \"git diff --cached\". This option makes " +"the entry appear as a new file in \"git diff\" and non-existent in \"git " +"diff --cached\". This option could be reverted with `--ita-visible-in-" +"index`. Both options are experimental and could be removed in future." msgstr "" -"Apr챔s avoir r챕solu les conflits et index챕 le r챕sultat, `git ls-files -u` " -"arr챗terait de mentionner les chemins en conflit. Quand vous avez termin챕, " -"lancez `git commit` pour finaliser la validation de la fusion혻:" #. type: Plain text -#: en/git-commit.txt:441 -#, fuzzy -#| msgid "" -#| "As with the case to record your own changes, you can use `-a` option to " -#| "save typing. One difference is that during a merge resolution, you " -#| "cannot use `git commit` with pathnames to alter the order the changes are " -#| "committed, because the merge should be recorded as a single commit. In " -#| "fact, the command refuses to run when given pathnames (but see `-i` " -#| "option)." +#: en/diff-options.txt:615 msgid "" -"As with the case to record your own changes, you can use `-a` option to save " -"typing. One difference is that during a merge resolution, you cannot use " -"`git commit` with pathnames to alter the order the changes are committed, " -"because the merge should be recorded as a single commit. In fact, the " -"command refuses to run when given pathnames (but see `-i` option)." +"For more detailed explanation on these common options, see also linkgit:" +"gitdiffcore[7]." msgstr "" -"Comme dans le cas de la validation de vos propres modifications, vous pouvez " -"utiliser l'option `-a` pour vous 챕pargner de la frappe. Une diff챕rence est " -"que pendant la r챕solution de fusion, vous ne pouvez pas utiliser `git " -"commit` avec des noms de chemin pour changer l'ordre des modifications 횪 " -"valider, parce que la fusion doit 챗tre enregistr챕e comme un commit unique. " -"En fait, la commande refuse d'챗tre lanc챕e avec des noms de chemin (voir par " -"contre l'option `-i`)." + +#. type: Labeled list +#: en/fetch-options.txt:1 en/git-add.txt:120 en/git-branch.txt:141 +#: en/git-checkout-index.txt:39 en/git-commit.txt:61 en/git-describe.txt:37 +#: en/git-fetch-pack.txt:35 en/git-help.txt:42 en/git-http-push.txt:25 +#: en/git-merge-base.txt:72 en/git-name-rev.txt:42 en/git-pack-objects.txt:75 +#: en/git-pack-redundant.txt:32 en/git-pack-refs.txt:48 en/git-push.txt:94 +#: en/git-reflog.txt:72 en/git-rev-parse.txt:161 en/git-send-pack.txt:37 +#: en/git-show-branch.txt:48 en/git-submodule.txt:275 +#: en/rev-list-options.txt:135 +#, no-wrap +msgid "--all" +msgstr "--all" #. type: Plain text -#: en/git-commit.txt:453 -msgid "" -"Though not required, it's a good idea to begin the commit message with a " -"single short (less than 50 character) line summarizing the change, followed " -"by a blank line and then a more thorough description. The text up to the " -"first blank line in a commit message is treated as the commit title, and " -"that title is used throughout Git. For example, linkgit:git-format-patch[1] " -"turns a commit into email, and it uses the title on the Subject line and the " -"rest of the commit in the body." +#: en/fetch-options.txt:3 +msgid "Fetch all remotes." msgstr "" -"Bien que 챌a ne soit pas requis, c'est une bonne pratique de commencer les " -"messages de validation avec une courte ligne seule (moins de 50 caract챔res) " -"pour r챕sumer la modification, suivie d'une ligne blanche, suivie d'un " -"description plus pr챕cise. Le texte jusqu'횪 la ligne vide du message de " -"validation est trait챕 comme le titre du commit, et ce titre est utilis챕 " -"extensivement dans Git. Par exemple, linkgit:git-format-patch[1] transforme " -"un commit en courriel et utilise le titre comme sujet et le reste du texte " -"comme corps. " -#. type: Title - -#: en/git-commit.txt:457 +#. type: Labeled list +#: en/fetch-options.txt:5 #, no-wrap -msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" -msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" - -#. type: Plain text -#: en/git-commit.txt:462 -#, fuzzy -#| msgid "" -#| "The editor used to edit the commit log message will be chosen from the " -#| "`GIT_EDITOR` environment variable, the core.editor configuration " -#| "variable, the `VISUAL` environment variable, or the `EDITOR` environment " -#| "variable (in that order). See linkgit:git-var[1] for details." -msgid "" -"The editor used to edit the commit log message will be chosen from the " -"`GIT_EDITOR` environment variable, the core.editor configuration variable, " -"the `VISUAL` environment variable, or the `EDITOR` environment variable (in " -"that order). See linkgit:git-var[1] for details." +msgid "--append" msgstr "" -"L'챕diteur utilis챕 pour 챕diter le message de validation sera choisi dans " -"l'ordre de recherche depuis la variable d'environnement `GIT_EDITOR`, puis " -"depuis la variable de configuration `core.editor`, puis depuis la variable " -"d'environnement `VISUAL` ou la variable d'environnement `EDITOR`. Voir " -"linkgit:git-var[1] pour plus de d챕tails. " #. type: Plain text -#: en/git-commit.txt:468 +#: en/fetch-options.txt:9 msgid "" -"This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, `post-" -"commit` and `post-rewrite` hooks. See linkgit:githooks[5] for more " -"information." +"Append ref names and object names of fetched refs to the existing contents " +"of `.git/FETCH_HEAD`. Without this option old data in `.git/FETCH_HEAD` " +"will be overwritten." msgstr "" -"Cette commande peut lancer les crochets `commit-msg`, `prepare-commit-msg`, " -"`pre-commit`, `post-commit` et `post-rewrite`. Voir linkgit:githooks[5] " -"pour de plus amples informations." - -#. type: Title - -#: en/git-commit.txt:470 en/git-commit-tree.txt:109 en/git-config.txt:233 -#: en/git-credential-store.txt:45 en/git-show-ref.txt:174 -#: en/git-submodule.txt:429 en/git-svn.txt:1118 -#, no-wrap -msgid "FILES" -msgstr "FICHIERS" #. type: Labeled list -#: en/git-commit.txt:472 +#: en/fetch-options.txt:10 #, no-wrap -msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgstr "`$GIT_DIR/COMMIT_EDITMSG`" - -#. type: Plain text -#: en/git-commit.txt:478 -#, fuzzy -#| msgid "" -#| "This file contains the commit message of a commit in progress. If `git " -#| "commit` exits due to an error before creating a commit, any commit " -#| "message that has been provided by the user (e.g., in an editor session) " -#| "will be available in this file, but will be overwritten by the next " -#| "invocation of `git commit`." -msgid "" -"This file contains the commit message of a commit in progress. If `git " -"commit` exits due to an error before creating a commit, any commit message " -"that has been provided by the user (e.g., in an editor session) will be " -"available in this file, but will be overwritten by the next invocation of " -"`git commit`." +msgid "--depth=<depth>" msgstr "" -"Ce fichier contient le message de validation en cours. Si `git commit` sort " -"횪 cause d'une erreur avant de cr챕er un commit, tout message de validation " -"fourni par l'utilisateur (par exemple dans une session d'챕diteur) sera " -"disponible dans ce fichier, mais sera 챕cras챕 par l'invocation suivante de " -"`git commit`." -# #. type: Plain text -#: en/git-commit.txt:486 +#: en/fetch-options.txt:16 msgid "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" +"Limit fetching to the specified number of commits from the tip of each " +"remote branch history. If fetching to a 'shallow' repository created by `git " +"clone` with `--depth=<depth>` option (see linkgit:git-clone[1]), deepen or " +"shorten the history to the specified number of commits. Tags for the " +"deepened commits are not fetched." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-commit-tree.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-commit-tree(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/fetch-options.txt:17 +#, no-wrap +msgid "--deepen=<depth>" +msgstr "" -# #. type: Plain text -#: en/git-commit-tree.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-commit-tree - Create a new commit object" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/fetch-options.txt:21 +msgid "" +"Similar to --depth, except it specifies the number of commits from the " +"current shallow boundary instead of from the tip of each remote branch " +"history." +msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:15 +#. type: Labeled list +#: en/fetch-options.txt:22 en/git-clone.txt:200 en/git-fetch-pack.txt:90 #, no-wrap -msgid "" -"'git commit-tree' <tree> [(-p <parent>)...]\n" -"'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n" -"\t\t [(-F <file>)...] <tree>\n" +msgid "--shallow-since=<date>" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:21 +#: en/fetch-options.txt:25 msgid "" -"This is usually not what an end user wants to run directly. See linkgit:git-" -"commit[1] instead." +"Deepen or shorten the history of a shallow repository to include all " +"reachable commits after <date>." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:25 -msgid "" -"Creates a new commit object based on the provided tree object and emits the " -"new commit object id on stdout. The log message is read from the standard " -"input, unless `-m` or `-F` options are given." +#. type: Labeled list +#: en/fetch-options.txt:26 en/git-clone.txt:203 en/git-fetch-pack.txt:94 +#, no-wrap +msgid "--shallow-exclude=<revision>" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:30 +#: en/fetch-options.txt:30 en/git-fetch-pack.txt:98 msgid "" -"A commit object may have any number of parents. With exactly one parent, it " -"is an ordinary commit. Having more than one parent makes the commit a merge " -"between several lines of history. Initial (root) commits have no parents." +"Deepen or shorten the history of a shallow repository to exclude commits " +"reachable from a specified remote branch or tag. This option can be " +"specified multiple times." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:34 -msgid "" -"While a tree represents a particular directory state of a working directory, " -"a commit represents that state in \"time\", and explains how to get there." +#. type: Labeled list +#: en/fetch-options.txt:31 +#, no-wrap +msgid "--unshallow" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:40 +#: en/fetch-options.txt:35 msgid "" -"Normally a commit would identify a new \"HEAD\" state, and while Git doesn't " -"care where you save the note about that state, in practice we tend to just " -"write the result to the file that is pointed at by `.git/HEAD`, so that we " -"can always see what the last committed state was." +"If the source repository is complete, convert a shallow repository to a " +"complete one, removing all the limitations imposed by shallow repositories." msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:45 -msgid "An existing tree object" +#: en/fetch-options.txt:38 +msgid "" +"If the source repository is shallow, fetch as much as possible so that the " +"current repository has the same history as the source repository." msgstr "" #. type: Labeled list -#: en/git-commit-tree.txt:46 +#: en/fetch-options.txt:39 #, no-wrap -msgid "-p <parent>" +msgid "--update-shallow" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:48 -msgid "Each `-p` indicates the id of a parent commit object." +#: en/fetch-options.txt:44 +msgid "" +"By default when fetching from a shallow repository, `git fetch` refuses refs " +"that require updating .git/shallow. This option updates .git/shallow and " +"accept such refs." msgstr "" #. type: Labeled list -#: en/git-commit-tree.txt:49 en/git-fmt-merge-msg.txt:42 +#: en/fetch-options.txt:46 en/git-add.txt:66 en/git-clean.txt:48 +#: en/git-commit.txt:310 en/git-http-push.txt:37 en/git-mv.txt:40 +#: en/git-notes.txt:179 en/git-p4.txt:295 en/git-prune-packed.txt:32 +#: en/git-prune.txt:37 en/git-push.txt:118 en/git-quiltimport.txt:35 +#: en/git-read-tree.txt:58 en/git-reflog.txt:115 en/git-rm.txt:44 +#: en/git-send-email.txt:362 en/git-send-pack.txt:51 en/git-svn.txt:649 +#: en/git-worktree.txt:111 #, no-wrap -msgid "-m <message>" -msgstr "" +msgid "--dry-run" +msgstr "--dry-run" #. type: Plain text -#: en/git-commit-tree.txt:52 -msgid "" -"A paragraph in the commit log message. This can be given more than once and " -"each <message> becomes its own paragraph." +#: en/fetch-options.txt:48 +msgid "Show what would be done, without making any changes." msgstr "" +#. type: Labeled list +#: en/fetch-options.txt:50 en/git-add.txt:74 en/git-archimport.txt:80 +#: en/git-blame.txt:64 en/git-branch.txt:98 en/git-checkout-index.txt:34 +#: en/git-checkout.txt:116 en/git-clean.txt:34 en/git-cvsexportcommit.txt:54 +#: en/git-filter-branch.txt:189 en/git-mv.txt:31 en/git-notes.txt:127 +#: en/git-push.txt:221 en/git-rebase.txt:335 en/git-repack.txt:65 +#: en/git-replace.txt:59 en/git-rm.txt:39 en/git-submodule.txt:287 +#: en/git-tag.txt:71 en/git-update-server-info.txt:26 en/git-worktree.txt:85 +#, no-wrap +msgid "-f" +msgstr "-f" + +#. type: Labeled list +#: en/fetch-options.txt:51 en/git-add.txt:75 en/git-branch.txt:99 +#: en/git-checkout-index.txt:35 en/git-checkout.txt:117 en/git-clean.txt:35 +#: en/git-fast-import.txt:37 en/git-filter-branch.txt:190 en/git-gc.txt:77 +#: en/git-http-push.txt:30 en/git-mv.txt:32 en/git-notes.txt:128 +#: en/git-push.txt:222 en/git-replace.txt:60 en/git-rm.txt:40 +#: en/git-send-email.txt:387 en/git-send-pack.txt:54 en/git-submodule.txt:288 +#: en/git-tag.txt:72 en/git-update-server-info.txt:27 en/git-worktree.txt:86 +#, no-wrap +msgid "--force" +msgstr "--force" + #. type: Plain text -#: en/git-commit-tree.txt:56 -#, fuzzy -#| msgid "" -#| "-F <file>::\n" -#| "--file=<file>::\n" -#| "\tTake the commit message from the given file. Use '-' to\n" -#| "\tread the message from the standard input.\n" +#: en/fetch-options.txt:57 msgid "" -"Read the commit log message from the given file. Use `-` to read from the " -"standard input." +"When 'git fetch' is used with `<rbranch>:<lbranch>` refspec, it refuses to " +"update the local branch `<lbranch>` unless the remote branch `<rbranch>` it " +"fetches is a descendant of `<lbranch>`. This option overrides that check." msgstr "" -"-F <fichier>::\n" -"--file=<fichier>::\n" -"\tPrendre le message de validation depuis le fichier indiqu챕.\n" -"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" + +#. type: Labeled list +#: en/fetch-options.txt:58 en/git-am.txt:40 en/git-cvsexportcommit.txt:67 +#: en/git-cvsimport.txt:93 en/git-fetch-pack.txt:53 en/git-format-patch.txt:108 +#: en/git-ls-files.txt:73 en/git-mailinfo.txt:27 en/git-mv.txt:34 +#: en/git-repack.txt:139 +#, no-wrap +msgid "-k" +msgstr "-k" + +#. type: Labeled list +#: en/fetch-options.txt:59 en/git-am.txt:41 en/git-fetch-pack.txt:54 +#: en/git-index-pack.txt:54 en/git-reset.txt:82 +#, no-wrap +msgid "--keep" +msgstr "--keep" #. type: Plain text -#: en/git-commit-tree.txt:66 -msgid "" -"Do not GPG-sign commit, to countermand a `--gpg-sign` option given earlier " -"on the command line." +#: en/fetch-options.txt:61 +msgid "Keep downloaded pack." msgstr "" -#. type: Title - -#: en/git-commit-tree.txt:69 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Commit Information" -msgstr "Configuration" - -#. type: Plain text -#: en/git-commit-tree.txt:72 -msgid "A commit encapsulates:" +#. type: Labeled list +#: en/fetch-options.txt:63 +#, no-wrap +msgid "--multiple" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:74 -msgid "all parent object ids" +#: en/fetch-options.txt:66 +msgid "" +"Allow several <repository> and <group> arguments to be specified. No " +"<refspec>s may be specified." msgstr "" +#. type: Labeled list +#: en/fetch-options.txt:68 en/git-push.txt:98 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--prune" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-commit-tree.txt:75 -msgid "author name, email and date" +#: en/fetch-options.txt:77 +msgid "" +"Before fetching, remove any remote-tracking references that no longer exist " +"on the remote. Tags are not subject to pruning if they are fetched only " +"because of the default tag auto-following or due to a --tags option. " +"However, if tags are fetched due to an explicit refspec (either on the " +"command line or in the remote configuration, for example if the remote was " +"cloned with the --mirror option), then they are also subject to pruning." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:76 -msgid "committer name and email and the commit time." +#. type: Labeled list +#: en/fetch-options.txt:80 en/git-add.txt:65 en/git-blame.txt:70 +#: en/git-checkout-index.txt:43 en/git-cherry-pick.txt:87 en/git-clean.txt:47 +#: en/git-clone.txt:135 en/git-commit.txt:168 en/git-format-patch.txt:93 +#: en/git-grep.txt:172 en/git-mailinfo.txt:66 en/git-mv.txt:39 +#: en/git-notes.txt:178 en/git-p4.txt:294 en/git-prune-packed.txt:31 +#: en/git-prune.txt:36 en/git-push.txt:117 en/git-quiltimport.txt:34 +#: en/git-read-tree.txt:57 en/git-rebase.txt:318 en/git-reflog.txt:114 +#: en/git-repack.txt:77 en/git-revert.txt:69 en/git-rm.txt:43 +#: en/git-shortlog.txt:29 en/git-submodule.txt:310 en/git-svn.txt:648 +#: en/git-unpack-objects.txt:30 en/git-worktree.txt:110 en/merge-options.txt:56 +#, no-wrap +msgid "-n" +msgstr "-n" + +#. type: Labeled list +#: en/fetch-options.txt:82 +#, no-wrap +msgid "--no-tags" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:80 +#: en/fetch-options.txt:88 msgid "" -"While parent object ids are provided on the command line, author and " -"committer information is taken from the following environment variables, if " -"set:" +"By default, tags that point at objects that are downloaded from the remote " +"repository are fetched and stored locally. This option disables this " +"automatic tag following. The default behavior for a remote may be specified " +"with the remote.<name>.tagOpt setting. See linkgit:git-config[1]." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:87 +#. type: Labeled list +#: en/fetch-options.txt:90 #, no-wrap -msgid "" -"\tGIT_AUTHOR_NAME\n" -"\tGIT_AUTHOR_EMAIL\n" -"\tGIT_AUTHOR_DATE\n" -"\tGIT_COMMITTER_NAME\n" -"\tGIT_COMMITTER_EMAIL\n" -"\tGIT_COMMITTER_DATE\n" +msgid "--refmap=<refspec>" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:89 -msgid "(nb \"<\", \">\" and \"\\n\"s are stripped)" +#: en/fetch-options.txt:97 +msgid "" +"When fetching refs listed on the command line, use the specified refspec " +"(can be given more than once) to map the refs to remote-tracking branches, " +"instead of the values of `remote.*.fetch` configuration variables for the " +"remote repository. See section on \"Configured Remote-tracking Branches\" " +"for details." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:96 -msgid "" -"In case (some of) these environment variables are not set, the information " -"is taken from the configuration items user.name and user.email, or, if not " -"present, the environment variable EMAIL, or, if that is not set, system user " -"name and the hostname used for outgoing mail (taken from `/etc/mailname` and " -"falling back to the fully qualified hostname when that file does not exist)." +#. type: Labeled list +#: en/fetch-options.txt:99 en/git-describe.txt:42 en/git-fsck.txt:41 +#: en/git-ls-remote.txt:27 en/git-name-rev.txt:24 en/git-push.txt:130 +#: en/git-show-ref.txt:40 +#, no-wrap +msgid "--tags" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:100 +#: en/fetch-options.txt:106 msgid "" -"A commit comment is read from stdin. If a changelog entry is not provided " -"via \"<\" redirection, 'git commit-tree' will just wait for one to be " -"entered and terminated with ^D." +"Fetch all tags from the remote (i.e., fetch remote tags `refs/tags/*` into " +"local tags with the same name), in addition to whatever else would otherwise " +"be fetched. Using this option alone does not subject tags to pruning, even " +"if --prune is used (though tags may be pruned anyway if they are also the " +"destination of an explicit refspec; see `--prune`)." msgstr "" -#. type: Title - -#: en/git-commit-tree.txt:104 en/git-show.txt:81 +#. type: Labeled list +#: en/fetch-options.txt:107 #, no-wrap -msgid "Discussion" +msgid "--recurse-submodules[=yes|on-demand|no]" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:111 -msgid "/etc/mailname" +#: en/fetch-options.txt:117 +msgid "" +"This option controls if and under what conditions new commits of populated " +"submodules should be fetched too. It can be used as a boolean option to " +"completely disable recursion when set to 'no' or to unconditionally recurse " +"into all populated submodules when set to 'yes', which is the default when " +"this option is used without any value. Use 'on-demand' to only recurse into " +"a populated submodule when the superproject retrieves a commit that updates " +"the submodule's reference to a commit that isn't already in the local " +"submodule clone." msgstr "" #. type: Labeled list -#: en/git-commit-tree.txt:115 en/cmds-plumbingmanipulators.txt:49 +#: en/fetch-options.txt:118 #, no-wrap -msgid "linkgit:git-write-tree[1]" +msgid "-j" msgstr "" -#. type: Title = -#: en/git-config.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-config(1)" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-config.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-config - Get and set repository or global options" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Plain text -#: en/git-config.txt:27 +#. type: Labeled list +#: en/fetch-options.txt:119 #, no-wrap -msgid "" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] name [value [value_regex]]\n" -"'git config' [<file-option>] [type] --add name value\n" -"'git config' [<file-option>] [type] --replace-all name value [value_regex]\n" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get name [value_regex]\n" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get-all name [value_regex]\n" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]\n" -"'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL\n" -"'git config' [<file-option>] --unset name [value_regex]\n" -"'git config' [<file-option>] --unset-all name [value_regex]\n" -"'git config' [<file-option>] --rename-section old_name new_name\n" -"'git config' [<file-option>] --remove-section name\n" -"'git config' [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | --list\n" -"'git config' [<file-option>] --get-color name [default]\n" -"'git config' [<file-option>] --get-colorbool name [stdout-is-tty]\n" -"'git config' [<file-option>] -e | --edit\n" +msgid "--jobs=<n>" msgstr "" #. type: Plain text -#: en/git-config.txt:33 +#: en/fetch-options.txt:124 msgid "" -"You can query/set/replace/unset options with this command. The name is " -"actually the section and the key separated by a dot, and the value will be " -"escaped." +"Number of parallel children to be used for fetching submodules. Each will " +"fetch from different submodules, such that fetching many submodules will be " +"faster. By default submodules will be fetched one at a time." msgstr "" +#. type: Labeled list +#: en/fetch-options.txt:125 en/git-push.txt:274 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--no-recurse-submodules" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-config.txt:40 +#: en/fetch-options.txt:128 msgid "" -"Multiple lines can be added to an option by using the `--add` option. If " -"you want to update or unset an option which can occur on multiple lines, a " -"POSIX regexp `value_regex` needs to be given. Only the existing values that " -"match the regexp are updated or unset. If you want to handle the lines that " -"do *not* match the regex, just prepend a single exclamation mark in front " -"(see also <<EXAMPLES>>)." +"Disable recursive fetching of submodules (this has the same effect as using " +"the `--recurse-submodules=no` option)." msgstr "" -#. type: Plain text -#: en/git-config.txt:47 -msgid "" -"The type specifier can be either `--int` or `--bool`, to make 'git config' " -"ensure that the variable(s) are of the given type and convert the value to " -"the canonical form (simple decimal number for int, a \"true\" or \"false\" " -"string for bool), or `--path`, which does some path expansion (see `--path` " -"below). If no type specifier is passed, no checks or transformations are " -"performed on the value." +#. type: Labeled list +#: en/fetch-options.txt:129 +#, no-wrap +msgid "--submodule-prefix=<path>" msgstr "" #. type: Plain text -#: en/git-config.txt:52 +#: en/fetch-options.txt:133 msgid "" -"When reading, the values are read from the system, global and repository " -"local configuration files by default, and options `--system`, `--global`, `--" -"local` and `--file <filename>` can be used to tell the command to read from " -"only that location (see <<FILES>>)." +"Prepend <path> to paths printed in informative messages such as \"Fetching " +"submodule foo\". This option is used internally when recursing over " +"submodules." msgstr "" -#. type: Plain text -#: en/git-config.txt:57 -msgid "" -"When writing, the new value is written to the repository local configuration " -"file by default, and options `--system`, `--global`, `--file <filename>` can " -"be used to tell the command to write to that location (you can say `--local` " -"but that is the default)." +#. type: Labeled list +#: en/fetch-options.txt:134 +#, no-wrap +msgid "--recurse-submodules-default=[yes|on-demand]" msgstr "" #. type: Plain text -#: en/git-config.txt:60 +#: en/fetch-options.txt:141 msgid "" -"This command will fail with non-zero status upon error. Some exit codes are:" +"This option is used internally to temporarily provide a non-negative default " +"value for the --recurse-submodules option. All other methods of configuring " +"fetch's submodule recursion (such as settings in linkgit:gitmodules[5] and " +"linkgit:git-config[1]) override this option, as does specifying --" +"[no-]recurse-submodules directly." msgstr "" -#. type: Plain text -#: en/git-config.txt:62 -msgid "The section or key is invalid (ret=1)," +#. type: Labeled list +#: en/fetch-options.txt:144 +#, no-wrap +msgid "--update-head-ok" msgstr "" #. type: Plain text -#: en/git-config.txt:63 -msgid "no section or name was provided (ret=2)," +#: en/fetch-options.txt:151 +msgid "" +"By default 'git fetch' refuses to update the head which corresponds to the " +"current branch. This flag disables the check. This is purely for the " +"internal use for 'git pull' to communicate with 'git fetch', and unless you " +"are implementing your own Porcelain you are not supposed to use it." msgstr "" -#. type: Plain text -#: en/git-config.txt:64 -msgid "the config file is invalid (ret=3)," +#. type: Labeled list +#: en/fetch-options.txt:152 en/git-clone.txt:172 +#, no-wrap +msgid "--upload-pack <upload-pack>" msgstr "" #. type: Plain text -#: en/git-config.txt:65 -msgid "the config file cannot be written (ret=4)," +#: en/fetch-options.txt:157 +msgid "" +"When given, and the repository to fetch from is handled by 'git fetch-pack', " +"`--exec=<upload-pack>` is passed to the command to specify non-default path " +"for the command run on the other end." msgstr "" -#. type: Plain text -#: en/git-config.txt:66 -msgid "you try to unset an option which does not exist (ret=5)," -msgstr "" +#. type: Labeled list +#: en/fetch-options.txt:159 en/git-am.txt:73 en/git-branch.txt:157 +#: en/git-checkout-index.txt:30 en/git-checkout.txt:106 en/git-clean.txt:51 +#: en/git-clone.txt:119 en/git-commit.txt:306 en/git-diff-files.txt:44 +#: en/git-fetch-pack.txt:48 en/git-format-patch.txt:260 en/git-grep.txt:280 +#: en/git-imap-send.txt:36 en/git-init.txt:43 en/git-ls-remote.txt:36 +#: en/git-merge-file.txt:67 en/git-merge-index.txt:35 en/git-notes.txt:206 +#: en/git-pack-objects.txt:158 en/git-prune-packed.txt:36 en/git-pull.txt:77 +#: en/git-push.txt:258 en/git-rebase.txt:306 en/git-repack.txt:73 +#: en/git-reset.txt:96 en/git-rev-parse.txt:113 en/git-rm.txt:66 +#: en/git-show-ref.txt:70 en/git-submodule.txt:271 en/git-svn.txt:632 +#: en/git-symbolic-ref.txt:39 en/git-unpack-objects.txt:34 +#: en/git-update-index.txt:56 en/merge-options.txt:104 +#, no-wrap +msgid "-q" +msgstr "-q" #. type: Plain text -#: en/git-config.txt:67 +#: en/fetch-options.txt:164 msgid "" -"you try to unset/set an option for which multiple lines match (ret=5), or" +"Pass --quiet to git-fetch-pack and silence any other internally used git " +"commands. Progress is not reported to the standard error stream." msgstr "" -#. type: Plain text -#: en/git-config.txt:68 -msgid "you try to use an invalid regexp (ret=6)." -msgstr "" +#. type: Labeled list +#: en/fetch-options.txt:165 en/git-add.txt:70 en/git-apply.txt:214 +#: en/git-archimport.txt:73 en/git-archive.txt:47 en/git-branch.txt:148 +#: en/git-cherry.txt:29 en/git-clone.txt:124 en/git-commit.txt:291 +#: en/git-count-objects.txt:21 en/git-cvsexportcommit.txt:82 +#: en/git-cvsimport.txt:52 en/git-diff-tree.txt:81 en/git-fetch-pack.txt:111 +#: en/git-grep.txt:137 en/git-http-fetch.txt:33 en/git-imap-send.txt:32 +#: en/git-index-pack.txt:27 en/git-ls-files.txt:131 en/git-mv.txt:43 +#: en/git-notes.txt:210 en/git-p4.txt:171 en/git-prune.txt:41 +#: en/git-pull.txt:83 en/git-push.txt:264 en/git-read-tree.txt:62 +#: en/git-rebase.txt:310 en/git-remote.txt:35 en/git-status.txt:47 +#: en/git-svn.txt:350 en/git-tag.txt:79 en/git-verify-commit.txt:23 +#: en/git-verify-pack.txt:26 en/git-verify-tag.txt:23 en/git-worktree.txt:120 +#: en/merge-options.txt:108 +#, no-wrap +msgid "-v" +msgstr "-v" + +#. type: Labeled list +#: en/fetch-options.txt:166 en/git-add.txt:71 en/git-apply.txt:215 +#: en/git-archive.txt:48 en/git-branch.txt:150 en/git-clone.txt:123 +#: en/git-commit.txt:292 en/git-count-objects.txt:22 en/git-daemon.txt:126 +#: en/git-fsck.txt:77 en/git-http-push.txt:40 en/git-imap-send.txt:33 +#: en/git-mv.txt:44 en/git-notes.txt:211 en/git-p4.txt:172 +#: en/git-pack-redundant.txt:39 en/git-prune.txt:42 en/git-pull.txt:84 +#: en/git-push.txt:265 en/git-rebase.txt:311 en/git-reflog.txt:119 +#: en/git-remote.txt:36 en/git-send-pack.txt:61 en/git-status.txt:48 +#: en/git-svn.txt:351 en/git-update-index.txt:145 en/git-verify-commit.txt:24 +#: en/git-verify-pack.txt:27 en/git-verify-tag.txt:24 en/git-worktree.txt:121 +#: en/merge-options.txt:109 +#, no-wrap +msgid "--verbose" +msgstr "--verbose" #. type: Plain text -#: en/git-config.txt:70 -msgid "On success, the command returns the exit code 0." -msgstr "" +#: en/fetch-options.txt:168 en/git-add.txt:73 en/git-imap-send.txt:35 +#: en/merge-options.txt:111 +msgid "Be verbose." +msgstr "Mode bavard." #. type: Labeled list -#: en/git-config.txt:74 +#: en/fetch-options.txt:170 en/git-clone.txt:128 en/git-pack-objects.txt:136 +#: en/git-push.txt:268 en/merge-options.txt:112 #, no-wrap -msgid "--replace-all" +msgid "--progress" msgstr "" #. type: Plain text -#: en/git-config.txt:77 +#: en/fetch-options.txt:175 en/git-clone.txt:133 en/git-pack-objects.txt:141 +#: en/git-push.txt:273 msgid "" -"Default behavior is to replace at most one line. This replaces all lines " -"matching the key (and optionally the value_regex)." +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal, unless -q is specified. This flag forces progress " +"status even if the standard error stream is not directed to a terminal." msgstr "" #. type: Labeled list -#: en/git-config.txt:78 en/git-update-index.txt:42 +#: en/fetch-options.txt:176 en/git-push.txt:295 #, no-wrap -msgid "--add" +msgid "-4" +msgstr "" + +#. type: Labeled list +#: en/fetch-options.txt:177 en/git-push.txt:296 +#, no-wrap +msgid "--ipv4" msgstr "" #. type: Plain text -#: en/git-config.txt:82 -msgid "" -"Adds a new line to the option without altering any existing values. This is " -"the same as providing '^$' as the value_regex in `--replace-all`." +#: en/fetch-options.txt:179 en/git-push.txt:298 +msgid "Use IPv4 addresses only, ignoring IPv6 addresses." msgstr "" #. type: Labeled list -#: en/git-config.txt:83 +#: en/fetch-options.txt:180 en/git-push.txt:299 #, no-wrap -msgid "--get" +msgid "-6" +msgstr "" + +#. type: Labeled list +#: en/fetch-options.txt:181 en/git-push.txt:300 +#, no-wrap +msgid "--ipv6" msgstr "" #. type: Plain text -#: en/git-config.txt:87 -msgid "" -"Get the value for a given key (optionally filtered by a regex matching the " -"value). Returns error code 1 if the key was not found and the last value if " -"multiple key values were found." +#: en/fetch-options.txt:182 en/git-push.txt:302 +msgid "Use IPv6 addresses only, ignoring IPv4 addresses." msgstr "" #. type: Labeled list -#: en/git-config.txt:88 +#: en/fmt-merge-msg-config.txt:1 #, no-wrap -msgid "--get-all" +msgid "merge.branchdesc" msgstr "" #. type: Plain text -#: en/git-config.txt:90 -msgid "Like get, but returns all values for a multi-valued key." +#: en/fmt-merge-msg-config.txt:5 +msgid "" +"In addition to branch names, populate the log message with the branch " +"description text associated with them. Defaults to false." msgstr "" #. type: Labeled list -#: en/git-config.txt:91 +#: en/fmt-merge-msg-config.txt:6 #, no-wrap -msgid "--get-regexp" +msgid "merge.log" msgstr "" #. type: Plain text -#: en/git-config.txt:97 +#: en/fmt-merge-msg-config.txt:10 msgid "" -"Like --get-all, but interprets the name as a regular expression and writes " -"out the key names. Regular expression matching is currently case-sensitive " -"and done against a canonicalized version of the key in which section and " -"variable names are lowercased, but subsection names are not." +"In addition to branch names, populate the log message with at most the " +"specified number of one-line descriptions from the actual commits that are " +"being merged. Defaults to false, and true is a synonym for 20." msgstr "" -#. type: Labeled list -#: en/git-config.txt:98 +#. type: Title = +#: en/git-add.txt:2 #, no-wrap -msgid "--get-urlmatch name URL" -msgstr "" +msgid "git-add(1)" +msgstr "git-add(1)" + +#. type: Title - +#: en/git-add.txt:5 en/git-am.txt:5 en/git-annotate.txt:5 en/git-apply.txt:5 +#: en/git-archimport.txt:5 en/git-archive.txt:5 en/git-bisect.txt:5 +#: en/git-blame.txt:5 en/git-branch.txt:5 en/git-bundle.txt:5 +#: en/git-cat-file.txt:5 en/git-check-attr.txt:5 en/git-check-ignore.txt:5 +#: en/git-check-mailmap.txt:5 en/git-checkout-index.txt:5 en/git-checkout.txt:5 +#: en/git-check-ref-format.txt:5 en/git-cherry-pick.txt:5 en/git-cherry.txt:5 +#: en/git-citool.txt:5 en/git-clean.txt:5 en/git-clone.txt:5 +#: en/git-column.txt:5 en/git-commit-tree.txt:5 en/git-commit.txt:5 +#: en/git-config.txt:5 en/git-count-objects.txt:5 +#: en/git-credential-cache--daemon.txt:5 en/git-credential-cache.txt:5 +#: en/git-credential-store.txt:5 en/git-credential.txt:5 +#: en/git-cvsexportcommit.txt:5 en/git-cvsimport.txt:5 en/git-cvsserver.txt:5 +#: en/git-daemon.txt:5 en/git-describe.txt:5 en/git-diff-files.txt:5 +#: en/git-diff-index.txt:5 en/git-difftool.txt:5 en/git-diff-tree.txt:5 +#: en/git-diff.txt:5 en/git-fast-export.txt:5 en/git-fast-import.txt:5 +#: en/git-fetch-pack.txt:5 en/git-fetch.txt:5 en/git-filter-branch.txt:5 +#: en/git-fmt-merge-msg.txt:5 en/git-for-each-ref.txt:5 +#: en/git-format-patch.txt:5 en/git-fsck-objects.txt:5 en/git-fsck.txt:5 +#: en/git-gc.txt:5 en/git-get-tar-commit-id.txt:5 en/git-grep.txt:5 +#: en/git-gui.txt:5 en/git-hash-object.txt:5 en/git-help.txt:5 +#: en/git-http-backend.txt:5 en/git-http-fetch.txt:5 en/git-http-push.txt:5 +#: en/git-imap-send.txt:5 en/git-index-pack.txt:5 en/git-init-db.txt:5 +#: en/git-init.txt:5 en/git-instaweb.txt:5 en/git-interpret-trailers.txt:5 +#: en/git-log.txt:5 en/git-ls-files.txt:5 en/git-ls-remote.txt:5 +#: en/git-ls-tree.txt:5 en/git-mailinfo.txt:5 en/git-mailsplit.txt:5 +#: en/git-merge-base.txt:5 en/git-merge-file.txt:5 en/git-merge-index.txt:5 +#: en/git-merge-one-file.txt:5 en/git-mergetool--lib.txt:5 +#: en/git-mergetool.txt:5 en/git-merge-tree.txt:5 en/git-merge.txt:5 +#: en/git-mktag.txt:5 en/git-mktree.txt:5 en/git-mv.txt:5 en/git-name-rev.txt:5 +#: en/git-notes.txt:5 en/git-p4.txt:5 en/git-pack-objects.txt:5 +#: en/git-pack-redundant.txt:5 en/git-pack-refs.txt:5 en/git-parse-remote.txt:5 +#: en/git-patch-id.txt:5 en/git-prune-packed.txt:5 en/git-prune.txt:5 +#: en/git-pull.txt:5 en/git-push.txt:5 en/git-quiltimport.txt:5 +#: en/git-read-tree.txt:5 en/git-rebase.txt:5 en/git-receive-pack.txt:5 +#: en/git-reflog.txt:5 en/git-remote-ext.txt:5 en/git-remote-fd.txt:5 +#: en/git-remote-testgit.txt:5 en/git-remote.txt:5 en/git-repack.txt:5 +#: en/git-replace.txt:5 en/git-request-pull.txt:5 en/git-rerere.txt:5 +#: en/git-reset.txt:5 en/git-revert.txt:5 en/git-rev-list.txt:5 +#: en/git-rev-parse.txt:5 en/git-rm.txt:5 en/git-send-email.txt:5 +#: en/git-send-pack.txt:5 en/git-shell.txt:5 en/git-sh-i18n--envsubst.txt:5 +#: en/git-sh-i18n.txt:5 en/git-shortlog.txt:5 en/git-show-branch.txt:5 +#: en/git-show-index.txt:5 en/git-show-ref.txt:5 en/git-show.txt:5 +#: en/git-sh-setup.txt:5 en/git-stage.txt:5 en/git-stash.txt:5 +#: en/git-status.txt:5 en/git-stripspace.txt:5 en/git-submodule.txt:5 +#: en/git-svn.txt:5 en/git-symbolic-ref.txt:5 en/git-tag.txt:5 en/git.txt:5 +#: en/git-unpack-file.txt:5 en/git-unpack-objects.txt:5 +#: en/git-update-index.txt:5 en/git-update-ref.txt:5 +#: en/git-update-server-info.txt:5 en/git-upload-archive.txt:5 +#: en/git-upload-pack.txt:5 en/git-var.txt:5 en/git-verify-commit.txt:5 +#: en/git-verify-pack.txt:5 en/git-verify-tag.txt:5 en/git-web--browse.txt:5 +#: en/git-whatchanged.txt:5 en/git-worktree.txt:5 en/git-write-tree.txt:5 +#, no-wrap +msgid "NAME" +msgstr "NAME" +# #. type: Plain text -#: en/git-config.txt:105 +#: en/git-add.txt:7 +msgid "git-add - Add file contents to the index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Title - +#: en/git-add.txt:9 en/git-am.txt:10 en/git-annotate.txt:9 en/git-apply.txt:10 +#: en/git-archimport.txt:10 en/git-archive.txt:10 en/git-bisect.txt:10 +#: en/git-blame.txt:9 en/git-branch.txt:9 en/git-bundle.txt:10 +#: en/git-cat-file.txt:10 en/git-check-attr.txt:10 en/git-check-ignore.txt:10 +#: en/git-check-mailmap.txt:10 en/git-checkout-index.txt:10 +#: en/git-checkout.txt:9 en/git-check-ref-format.txt:9 en/git-cherry-pick.txt:9 +#: en/git-cherry.txt:9 en/git-citool.txt:9 en/git-clean.txt:9 +#: en/git-clone.txt:10 en/git-column.txt:9 en/git-commit-tree.txt:10 +#: en/git-commit.txt:9 en/git-config.txt:10 en/git-count-objects.txt:9 +#: en/git-credential-cache--daemon.txt:9 en/git-credential-cache.txt:9 +#: en/git-credential-store.txt:9 en/git-credential.txt:9 +#: en/git-cvsexportcommit.txt:10 en/git-cvsimport.txt:10 en/git-cvsserver.txt:9 +#: en/git-daemon.txt:9 en/git-describe.txt:10 en/git-diff-files.txt:10 +#: en/git-diff-index.txt:10 en/git-difftool.txt:9 en/git-diff-tree.txt:10 +#: en/git-diff.txt:10 en/git-fast-export.txt:10 en/git-fast-import.txt:10 +#: en/git-fetch-pack.txt:10 en/git-fetch.txt:10 en/git-filter-branch.txt:9 +#: en/git-fmt-merge-msg.txt:10 en/git-for-each-ref.txt:9 +#: en/git-format-patch.txt:10 en/git-fsck-objects.txt:10 en/git-fsck.txt:10 +#: en/git-gc.txt:10 en/git-get-tar-commit-id.txt:10 en/git-grep.txt:10 +#: en/git-gui.txt:9 en/git-hash-object.txt:10 en/git-help.txt:9 +#: en/git-http-backend.txt:9 en/git-http-fetch.txt:10 en/git-http-push.txt:10 +#: en/git-imap-send.txt:10 en/git-index-pack.txt:10 en/git-init-db.txt:10 +#: en/git-init.txt:10 en/git-instaweb.txt:9 en/git-interpret-trailers.txt:9 +#: en/git-log.txt:10 en/git-ls-files.txt:10 en/git-ls-remote.txt:10 +#: en/git-ls-tree.txt:10 en/git-mailinfo.txt:10 en/git-mailsplit.txt:9 +#: en/git-merge-base.txt:10 en/git-merge-file.txt:10 en/git-merge-index.txt:10 +#: en/git-merge-one-file.txt:10 en/git-mergetool--lib.txt:9 +#: en/git-mergetool.txt:9 en/git-merge-tree.txt:10 en/git-merge.txt:10 +#: en/git-mktag.txt:10 en/git-mktree.txt:10 en/git-mv.txt:10 +#: en/git-name-rev.txt:10 en/git-notes.txt:9 en/git-p4.txt:10 +#: en/git-pack-objects.txt:10 en/git-pack-redundant.txt:10 +#: en/git-pack-refs.txt:9 en/git-parse-remote.txt:10 en/git-patch-id.txt:9 +#: en/git-prune-packed.txt:10 en/git-prune.txt:10 en/git-pull.txt:10 +#: en/git-push.txt:10 en/git-quiltimport.txt:10 en/git-read-tree.txt:10 +#: en/git-rebase.txt:9 en/git-receive-pack.txt:10 en/git-reflog.txt:10 +#: en/git-remote-ext.txt:9 en/git-remote-fd.txt:9 en/git-remote-testgit.txt:10 +#: en/git-remote.txt:10 en/git-repack.txt:10 en/git-replace.txt:9 +#: en/git-request-pull.txt:9 en/git-rerere.txt:9 en/git-reset.txt:9 +#: en/git-revert.txt:9 en/git-rev-list.txt:10 en/git-rev-parse.txt:10 +#: en/git-rm.txt:9 en/git-send-email.txt:10 en/git-send-pack.txt:10 +#: en/git-shell.txt:10 en/git-sh-i18n--envsubst.txt:9 en/git-sh-i18n.txt:9 +#: en/git-shortlog.txt:9 en/git-show-branch.txt:9 en/git-show-index.txt:10 +#: en/git-show-ref.txt:9 en/git-show.txt:10 en/git-sh-setup.txt:9 +#: en/git-stage.txt:10 en/git-stash.txt:9 en/git-status.txt:10 +#: en/git-stripspace.txt:10 en/git-submodule.txt:10 en/git-svn.txt:9 +#: en/git-symbolic-ref.txt:9 en/git-tag.txt:10 en/git.txt:10 +#: en/git-unpack-file.txt:11 en/git-unpack-objects.txt:10 +#: en/git-update-index.txt:10 en/git-update-ref.txt:9 +#: en/git-update-server-info.txt:10 en/git-upload-archive.txt:10 +#: en/git-upload-pack.txt:10 en/git-var.txt:10 en/git-verify-commit.txt:9 +#: en/git-verify-pack.txt:10 en/git-verify-tag.txt:9 en/git-web--browse.txt:9 +#: en/git-whatchanged.txt:10 en/git-worktree.txt:10 en/git-write-tree.txt:10 +#, no-wrap +msgid "SYNOPSIS" +msgstr "SYNOPSIS" + +#. type: Plain text +#: en/git-add.txt:15 +#, no-wrap msgid "" -"When given a two-part name section.key, the value for section.<url>.key " -"whose <url> part matches the best to the given URL is returned (if no such " -"key exists, the value for section.key is used as a fallback). When given " -"just the section as name, do so for all the keys in the section and list " -"them. Returns error code 1 if no value is found." +"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\n" +"\t [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\n" +"\t [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\n" +"\t [--chmod=(+|-)x] [--] [<pathspec>...]\n" msgstr "" +"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\n" +"\t [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\n" +"\t [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\n" +"\t [--chmod=(+|-)x] [--] [<sp챕cificateur de chemin>...]\n" -#. type: Labeled list -#: en/git-config.txt:106 +#. type: Title - +#: en/git-add.txt:17 en/git-am.txt:22 en/git-annotate.txt:14 +#: en/git-apply.txt:22 en/git-archimport.txt:16 en/git-archive.txt:18 +#: en/git-bisect.txt:15 en/git-blame.txt:17 en/git-branch.txt:24 +#: en/git-bundle.txt:18 en/git-cat-file.txt:16 en/git-check-attr.txt:16 +#: en/git-check-ignore.txt:16 en/git-check-mailmap.txt:16 +#: en/git-checkout-index.txt:19 en/git-checkout.txt:19 +#: en/git-check-ref-format.txt:17 en/git-cherry-pick.txt:18 +#: en/git-cherry.txt:14 en/git-citool.txt:14 en/git-clean.txt:14 +#: en/git-clone.txt:21 en/git-column.txt:15 en/git-commit-tree.txt:18 +#: en/git-commit.txt:19 en/git-config.txt:29 en/git-count-objects.txt:14 +#: en/git-credential-cache--daemon.txt:14 en/git-credential-cache.txt:15 +#: en/git-credential-store.txt:15 en/git-credential.txt:15 +#: en/git-cvsexportcommit.txt:17 en/git-cvsimport.txt:20 +#: en/git-cvsserver.txt:61 en/git-daemon.txt:26 en/git-describe.txt:16 +#: en/git-diff-files.txt:15 en/git-diff-index.txt:15 en/git-difftool.txt:14 +#: en/git-diff-tree.txt:17 en/git-diff.txt:19 en/git-fast-export.txt:15 +#: en/git-fast-import.txt:15 en/git-fetch-pack.txt:18 en/git-fetch.txt:19 +#: en/git-filter-branch.txt:20 en/git-fmt-merge-msg.txt:16 +#: en/git-for-each-ref.txt:17 en/git-format-patch.txt:30 +#: en/git-fsck-objects.txt:15 en/git-fsck.txt:18 en/git-gc.txt:15 +#: en/git-get-tar-commit-id.txt:16 en/git-grep.txt:34 en/git-gui.txt:14 +#: en/git-hash-object.txt:16 en/git-help.txt:15 en/git-http-backend.txt:14 +#: en/git-http-fetch.txt:15 en/git-http-push.txt:15 en/git-imap-send.txt:16 +#: en/git-index-pack.txt:18 en/git-init-db.txt:16 en/git-init.txt:18 +#: en/git-instaweb.txt:16 en/git-interpret-trailers.txt:14 en/git-log.txt:15 +#: en/git-ls-files.txt:25 en/git-ls-remote.txt:17 en/git-ls-tree.txt:17 +#: en/git-mailinfo.txt:16 en/git-mailsplit.txt:15 en/git-merge-base.txt:19 +#: en/git-merge-file.txt:18 en/git-merge-index.txt:15 +#: en/git-merge-one-file.txt:15 en/git-mergetool--lib.txt:14 +#: en/git-mergetool.txt:14 en/git-merge-tree.txt:15 en/git-merge.txt:21 +#: en/git-mktag.txt:15 en/git-mktree.txt:15 en/git-mv.txt:15 +#: en/git-name-rev.txt:16 en/git-notes.txt:26 en/git-p4.txt:19 +#: en/git-pack-objects.txt:20 en/git-pack-redundant.txt:15 +#: en/git-pack-refs.txt:14 en/git-parse-remote.txt:15 en/git-patch-id.txt:14 +#: en/git-prune-packed.txt:16 en/git-prune.txt:15 en/git-pull.txt:16 +#: en/git-push.txt:20 en/git-quiltimport.txt:17 en/git-read-tree.txt:19 +#: en/git-rebase.txt:18 en/git-receive-pack.txt:15 en/git-reflog.txt:15 +#: en/git-remote-ext.txt:14 en/git-remote-fd.txt:13 +#: en/git-remote-testgit.txt:15 en/git-remote.txt:27 en/git-repack.txt:15 +#: en/git-replace.txt:18 en/git-request-pull.txt:14 en/git-rerere.txt:14 +#: en/git-reset.txt:16 en/git-revert.txt:17 en/git-rev-list.txt:64 +#: en/git-rev-parse.txt:15 en/git-rm.txt:14 en/git-send-email.txt:17 +#: en/git-send-pack.txt:18 en/git-shell.txt:17 en/git-sh-i18n--envsubst.txt:19 +#: en/git-sh-i18n.txt:14 en/git-shortlog.txt:15 en/git-show-branch.txt:19 +#: en/git-show-index.txt:16 en/git-show-ref.txt:17 en/git-show.txt:15 +#: en/git-sh-setup.txt:14 en/git-stage.txt:16 en/git-stash.txt:26 +#: en/git-status.txt:15 en/git-stripspace.txt:16 en/git-submodule.txt:24 +#: en/git-svn.txt:14 en/git-symbolic-ref.txt:16 en/git-tag.txt:21 en/git.txt:20 +#: en/git-unpack-file.txt:16 en/git-unpack-objects.txt:16 +#: en/git-update-index.txt:29 en/git-update-ref.txt:14 +#: en/git-update-server-info.txt:15 en/git-upload-archive.txt:15 +#: en/git-var.txt:15 en/git-verify-commit.txt:14 en/git-verify-pack.txt:16 +#: en/git-verify-tag.txt:14 en/git-web--browse.txt:14 en/git-whatchanged.txt:15 +#: en/git-worktree.txt:19 en/git-write-tree.txt:15 #, no-wrap -msgid "--global" -msgstr "" +msgid "DESCRIPTION" +msgstr "DESCRIPTION" +# #. type: Plain text -#: en/git-config.txt:111 +#: en/git-add.txt:24 msgid "" -"For writing options: write to global `~/.gitconfig` file rather than the " -"repository `.git/config`, write to `$XDG_CONFIG_HOME/git/config` file if " -"this file exists and the `~/.gitconfig` file doesn't." +"This command updates the index using the current content found in the " +"working tree, to prepare the content staged for the next commit. It " +"typically adds the current content of existing paths as a whole, but with " +"some options it can also be used to add content with only part of the " +"changes made to the working tree files applied, or remove paths that do not " +"exist in the working tree anymore." msgstr "" +"Cette commande met 횪 jour l'index en utilisant le contenu actuel trouv챕 dans " +"l'arbre de travail, pour pr챕parer le contenu de la prochaine validation. " +"Typiquement, elle ajoute int챕gralement le contenu actuel des chemins " +"existant, mais peut aussi n'ajouter que certaines parties des modifications " +"au moyen d'options ou soustraire certains chemins qui n'existent plus dans " +"l'arbre de travail." +# #. type: Plain text -#: en/git-config.txt:114 +#: en/git-add.txt:30 msgid "" -"For reading options: read only from global `~/.gitconfig` and from `" -"$XDG_CONFIG_HOME/git/config` rather than from all available files." -msgstr "" - -#. type: Plain text -#: en/git-config.txt:116 en/git-config.txt:126 en/git-config.txt:135 -#: en/git-config.txt:292 -msgid "See also <<FILES>>." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:117 -#, no-wrap -msgid "--system" +"The \"index\" holds a snapshot of the content of the working tree, and it is " +"this snapshot that is taken as the contents of the next commit. Thus after " +"making any changes to the working tree, and before running the commit " +"command, you must use the `add` command to add any new or modified files to " +"the index." msgstr "" +"L'짬혻index혻쨩 contient un instantan챕 du contenu de la copie de travail et " +"c'est cet instantan챕 qui sera utilis챕 comme contenu du prochain commit. " +"Ainsi, apr챔s avoir r챕alis챕 des modifications dans la copie de travail, et " +"avant de lancer la commande commit, vous devez utiliser la commande `add` " +"pour ajouter tout fichier nouveau ou modifi챕 횪 l'index." +# #. type: Plain text -#: en/git-config.txt:121 +#: en/git-add.txt:35 msgid "" -"For writing options: write to system-wide `$(prefix)/etc/gitconfig` rather " -"than the repository `.git/config`." +"This command can be performed multiple times before a commit. It only adds " +"the content of the specified file(s) at the time the add command is run; if " +"you want subsequent changes included in the next commit, then you must run " +"`git add` again to add the new content to the index." msgstr "" +"Cette commande peut 챗tre effectu챕e plusieurs fois avant la validation. Elle " +"n'ajoute que le contenu des fichiers sp챕cifi챕s au moment o첫 la commande " +"`add` est lanc챕e혻; si vous souhaitez inclure des modifications post챕rieures " +"횪 un `add` dans la prochaine validation, vous devez alors lancer `git add` 횪 " +"nouveau pour ajouter le nouveau contenu 횪 l'index." +# #. type: Plain text -#: en/git-config.txt:124 +#: en/git-add.txt:38 msgid "" -"For reading options: read only from system-wide `$(prefix)/etc/gitconfig` " -"rather than from all available files." +"The `git status` command can be used to obtain a summary of which files have " +"changes that are staged for the next commit." msgstr "" +"La commande `git status` permet d'obtenir un r챕sum챕 des fichiers modifi챕s " +"qui sont pr챕par챕s pour la prochaine validation." +# #. type: Plain text -#: en/git-config.txt:130 +#: en/git-add.txt:45 msgid "" -"For writing options: write to the repository `.git/config` file. This is" -"\tthe default behavior." +"The `git add` command will not add ignored files by default. If any ignored " +"files were explicitly specified on the command line, `git add` will fail " +"with a list of ignored files. Ignored files reached by directory recursion " +"or filename globbing performed by Git (quote your globs before the shell) " +"will be silently ignored. The 'git add' command can be used to add ignored " +"files with the `-f` (force) option." msgstr "" +"Par d챕faut, la commande `git add` n'ajoute pas les fichiers ignor챕s. Si des " +"fichiers ignor챕s sont sp챕cifi챕s explicitement en ligne de commande, `git " +"add` 챕chouera avec la liste des fichiers ignor챕s. Les fichiers ignor챕s " +"atteint via la r챕cursion de r챕pertoires ou les patrons de fichiers g챕r챕s par " +"Git (les patrons doivent alors 챗tre 챕chapp챕s du shell par des quotes) " +"seront ignor챕s silencieusement. La commande `git add` peut tout de m챗me " +"ajouter des fichiers ignor챕s avec l'option `-f` (force)." +# #. type: Plain text -#: en/git-config.txt:133 +#: en/git-add.txt:48 msgid "" -"For reading options: read only from the repository `.git/config` rather than " -"from all available files." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:136 -#, no-wrap -msgid "-f config-file" -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:137 -#, no-wrap -msgid "--file config-file" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:139 -msgid "Use the given config file instead of the one specified by GIT_CONFIG." +"Please see linkgit:git-commit[1] for alternative ways to add content to a " +"commit." msgstr "" +"R챕f챕rez-vous linkgit:git-commit[1] pour des m챕thodes alternatives d'ajout de " +"contenu 횪 une validation." -#. type: Labeled list -#: en/git-config.txt:140 +#. type: Title - +#: en/git-add.txt:51 en/git-am.txt:28 en/git-annotate.txt:24 +#: en/git-apply.txt:36 en/git-archimport.txt:68 en/git-archive.txt:34 +#: en/git-bisect.txt:357 en/git-blame.txt:49 en/git-branch.txt:77 +#: en/git-bundle.txt:34 en/git-cat-file.txt:30 en/git-check-attr.txt:21 +#: en/git-check-ignore.txt:27 en/git-check-mailmap.txt:25 +#: en/git-checkout-index.txt:24 en/git-checkout.txt:105 +#: en/git-check-ref-format.txt:87 en/git-cherry-pick.txt:44 +#: en/git-cherry.txt:28 en/git-clean.txt:27 en/git-clone.txt:42 +#: en/git-column.txt:19 en/git-commit-tree.txt:42 en/git-commit.txt:59 +#: en/git-config.txt:72 en/git-count-objects.txt:20 +#: en/git-credential-cache.txt:27 en/git-credential-store.txt:30 +#: en/git-cvsexportcommit.txt:35 en/git-cvsimport.txt:51 +#: en/git-cvsserver.txt:28 en/git-daemon.txt:47 en/git-describe.txt:28 +#: en/git-diff-files.txt:22 en/git-diff-index.txt:23 en/git-difftool.txt:21 +#: en/git-diff-tree.txt:26 en/git-diff.txt:96 en/git-fast-export.txt:25 +#: en/git-fast-import.txt:35 en/git-fetch-pack.txt:34 en/git-fetch.txt:46 +#: en/git-filter-branch.txt:83 en/git-fmt-merge-msg.txt:25 +#: en/git-for-each-ref.txt:27 en/git-format-patch.txt:81 en/git-fsck.txt:22 +#: en/git-gc.txt:34 en/git-grep.txt:71 en/git-hash-object.txt:26 +#: en/git-help.txt:40 en/git-http-fetch.txt:22 en/git-http-push.txt:24 +#: en/git-imap-send.txt:30 en/git-index-pack.txt:26 en/git-init.txt:39 +#: en/git-instaweb.txt:21 en/git-interpret-trailers.txt:69 en/git-log.txt:25 +#: en/git-ls-files.txt:34 en/git-ls-remote.txt:23 en/git-ls-tree.txt:37 +#: en/git-mailinfo.txt:26 en/git-mailsplit.txt:23 en/git-merge-base.txt:70 +#: en/git-merge-file.txt:53 en/git-merge-index.txt:22 en/git-mergetool.txt:26 +#: en/git-merge.txt:69 en/git-mktree.txt:22 en/git-mv.txt:30 +#: en/git-name-rev.txt:22 en/git-notes.txt:126 en/git-p4.txt:162 +#: en/git-pack-objects.txt:48 en/git-pack-redundant.txt:29 +#: en/git-pack-refs.txt:46 en/git-patch-id.txt:31 en/git-prune-packed.txt:30 +#: en/git-prune.txt:34 en/git-pull.txt:75 en/git-quiltimport.txt:32 +#: en/git-read-tree.txt:33 en/git-rebase.txt:226 en/git-receive-pack.txt:40 +#: en/git-reflog.txt:61 en/git-remote.txt:33 en/git-repack.txt:29 +#: en/git-replace.txt:58 en/git-request-pull.txt:28 en/git-reset.txt:94 +#: en/git-revert.txt:34 en/git-rev-list.txt:112 en/git-rev-parse.txt:26 +#: en/git-rm.txt:28 en/git-send-email.txt:43 en/git-send-pack.txt:27 +#: en/git-shortlog.txt:27 en/git-show-branch.txt:32 en/git-show-ref.txt:34 +#: en/git-show.txt:36 en/git-stash.txt:49 en/git-status.txt:25 +#: en/git-stripspace.txt:37 en/git-submodule.txt:270 en/git-svn.txt:544 +#: en/git-symbolic-ref.txt:33 en/git-tag.txt:58 en/git.txt:533 +#: en/git-unpack-file.txt:22 en/git-unpack-objects.txt:29 +#: en/git-update-index.txt:41 en/git-update-server-info.txt:24 +#: en/git-upload-archive.txt:56 en/git-var.txt:19 en/git-verify-commit.txt:18 +#: en/git-verify-pack.txt:22 en/git-verify-tag.txt:18 en/git-web--browse.txt:43 +#: en/git-worktree.txt:83 en/git-write-tree.txt:29 #, no-wrap -msgid "--blob blob" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:146 -msgid "" -"Similar to `--file` but use the given blob instead of a file. E.g. you can " -"use 'master:.gitmodules' to read values from the file '.gitmodules' in the " -"master branch. See \"SPECIFYING REVISIONS\" section in linkgit:" -"gitrevisions[7] for a more complete list of ways to spell blob names." -msgstr "" +msgid "OPTIONS" +msgstr "OPTIONS" #. type: Labeled list -#: en/git-config.txt:147 +#: en/git-add.txt:52 en/git-grep.txt:293 #, no-wrap -msgid "--remove-section" -msgstr "" +msgid "<pathspec>..." +msgstr "<sp챕cificateur de chemin>..." #. type: Plain text -#: en/git-config.txt:149 +#: en/git-add.txt:64 #, fuzzy #| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Remove the given section from the configuration file." -msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," - -#. type: Labeled list -#: en/git-config.txt:150 -#, no-wrap -msgid "--rename-section" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:152 -msgid "Rename the given section to a new name." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:153 -#, no-wrap -msgid "--unset" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:155 -msgid "Remove the line matching the key from config file." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:156 -#, no-wrap -msgid "--unset-all" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:158 -msgid "Remove all lines matching the key from config file." +#| "Files to add content from. Fileglobs (e.g. `*.c`) can be given to add " +#| "all matching files. Also a leading directory name (e.g. `dir` to add " +#| "`dir/file1` and `dir/file2`) can be given to update the index to match " +#| "the current state of the directory as a whole (e.g. specifying `dir` " +#| "will record not just a file `dir/file1` modified in the working tree, a " +#| "file `dir/file2` added to the working tree, but also a file `dir/file3` " +#| "removed from the working tree). Note that older versions of Git used to " +#| "ignore removed files; use `--no-all` option if you want to add modified " +#| "or new files but ignore removed ones." +msgid "" +"Files to add content from. Fileglobs (e.g. `*.c`) can be given to add all " +"matching files. Also a leading directory name (e.g. `dir` to add `dir/" +"file1` and `dir/file2`) can be given to update the index to match the " +"current state of the directory as a whole (e.g. specifying `dir` will " +"record not just a file `dir/file1` modified in the working tree, a file `dir/" +"file2` added to the working tree, but also a file `dir/file3` removed from " +"the working tree). Note that older versions of Git used to ignore removed " +"files; use `--no-all` option if you want to add modified or new files but " +"ignore removed ones." msgstr "" +"Fichiers dont le contenu doit 챗tre ajout챕. Les patrons (ex : `*.c`) " +"permettent de restreindre 횪 tous les fichiers correspondant. Un nom de " +"r챕pertoire (ex : `rep` pour ajouter `rep/fichier1` et `rep/fichier2`) permet " +"d'ajouter r챕cursivement tous les fichiers d'un r챕pertoire (par exemple " +"sp챕cifier `rep` n'enregistrera pas seulement le fichier modifi챕 dans l'arbre " +"de travail `rep/fichier1` ou un fichier ajout챕 `rep/fichier2`, mais aussi un " +"fichier `rep/fichier3` supprim챕 de l'arbre de travail). Veuillez noter que " +"des version anciennes de Git ignoraient les fichiers supprim챕s혻; utilisez " +"l'option `--no-all` si vous souhaitez ajouter les fichiers nouveaux ou " +"modifi챕s mais ignorer les fichiers supprim챕s." #. type: Plain text -#: en/git-config.txt:162 -msgid "List all variables set in config file, along with their values." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:163 -#, no-wrap -msgid "--bool" +#: en/git-add.txt:69 +msgid "" +"Don't actually add the file(s), just show if they exist and/or will be " +"ignored." msgstr "" +"Ne pas ajouter r챕ellement les fichiers. Montrer juste ceux qui existent ou " +"seront ignor챕s." #. type: Plain text -#: en/git-config.txt:165 -msgid "'git config' will ensure that the output is \"true\" or \"false\"" -msgstr "" +#: en/git-add.txt:77 +msgid "Allow adding otherwise ignored files." +msgstr "Permettre l'ajout de fichiers qui sont normalement ignor챕s." #. type: Labeled list -#: en/git-config.txt:166 +#: en/git-add.txt:78 en/git-am.txt:122 en/git-branch.txt:124 +#: en/git-clean.txt:42 en/git-commit.txt:253 en/git-cvsimport.txt:88 +#: en/git-grep.txt:116 en/git-help.txt:51 en/git-ls-files.txt:51 +#: en/git-read-tree.txt:48 en/git-rebase.txt:373 en/git-tag.txt:111 +#: en/rev-list-options.txt:75 #, no-wrap -msgid "--int" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:171 -msgid "" -"'git config' will ensure that the output is a simple decimal number. An " -"optional value suffix of 'k', 'm', or 'g' in the config file will cause the " -"value to be multiplied by 1024, 1048576, or 1073741824 prior to output." -msgstr "" +msgid "-i" +msgstr "-i" #. type: Labeled list -#: en/git-config.txt:172 -#, no-wrap -msgid "--bool-or-int" -msgstr "" +#: en/git-add.txt:79 en/git-am.txt:123 en/git-clean.txt:43 +#: en/git-rebase.txt:374 en/git-svn.txt:281 +#, fuzzy, no-wrap +msgid "--interactive" +msgstr "--interactive" #. type: Plain text -#: en/git-config.txt:175 +#: en/git-add.txt:84 msgid "" -"'git config' will ensure that the output matches the format of either --bool " -"or --int, as described above." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:176 en/git-hash-object.txt:41 -#, no-wrap -msgid "--path" +"Add modified contents in the working tree interactively to the index. " +"Optional path arguments may be supplied to limit operation to a subset of " +"the working tree. See ``Interactive mode'' for details." msgstr "" +"Ajouter le contenu modifi챕 dans l'arbre de travail 횪 l'index. Les arguments " +"optionnels de chemin permettent de limiter les op챕rations 횪 un sous-ensemble " +"de l'arbre de travail. R챕f챕rez-vous 횪 짬혻Mode interactif혻쨩 pour plus de " +"d챕tails." #. type: Plain text -#: en/git-config.txt:182 +#: en/git-add.txt:91 +#, fuzzy msgid "" -"'git-config' will expand leading '{tilde}' to the value of '$HOME', and " -"'{tilde}user' to the home directory for the specified user. This option has " -"no effect when setting the value (but you can use 'git config bla {tilde}/' " -"from the command line to let your shell do the expansion)." +"Interactively choose hunks of patch between the index and the work tree and " +"add them to the index. This gives the user a chance to review the difference " +"before adding modified contents to the index." msgstr "" +"Choisir de mani챔re interactive les sections de patch entre l'index et la " +"copie de travail et les ajouter 횪 l'index. Cela permet 횪 l'utilisateur de " +"r챕viser les diff챕rences avec d'ajouter le contenu modifi챕 횪 l'index.\n" #. type: Plain text -#: en/git-config.txt:191 +#: en/git-add.txt:95 msgid "" -"For all options that output values and/or keys, always end values with the " -"null character (instead of a newline). Use newline instead as a delimiter " -"between key and value. This allows for secure parsing of the output without " -"getting confused e.g. by values that contain line breaks." +"This effectively runs `add --interactive`, but bypasses the initial command " +"menu and directly jumps to the `patch` subcommand. See ``Interactive mode'' " +"for details." msgstr "" +"Cela lance effectivement `add --interactive` mais court-circuite le menu " +"initial et saute directement 횪 la sous-commande `patch`. R챕f챕rez-vous 횪 " +"짬혻Mode interactif혻쨩 pour plus de d챕tails." #. type: Labeled list -#: en/git-config.txt:192 en/git-grep.txt:178 en/git-ls-tree.txt:59 -#: en/git-name-rev.txt:51 en/diff-options.txt:199 +#: en/git-add.txt:96 en/git-blame.txt:77 en/git-cat-file.txt:44 +#: en/git-cherry-pick.txt:55 en/git-commit.txt:212 en/git-config.txt:220 +#: en/git-grep.txt:260 en/git-revert.txt:43 en/git-shortlog.txt:38 +#: en/git-svn.txt:583 en/merge-options.txt:11 #, no-wrap -msgid "--name-only" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:195 -msgid "" -"Output only the names of config variables for `--list` or `--get-regexp`." -msgstr "" +msgid "-e" +msgstr "-e" #. type: Labeled list -#: en/git-config.txt:196 +#: en/git-add.txt:97 en/git-cherry-pick.txt:56 en/git-commit.txt:213 +#: en/git-config.txt:221 en/git-revert.txt:44 en/git-svn.txt:584 +#: en/merge-options.txt:10 #, no-wrap -msgid "--show-origin" -msgstr "" +msgid "--edit" +msgstr "--edit" #. type: Plain text -#: en/git-config.txt:201 +#: en/git-add.txt:101 msgid "" -"Augment the output of all queried config options with the origin type (file, " -"standard input, blob, command line) and the actual origin (config file path, " -"ref, or blob id if applicable)." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:202 -#, no-wrap -msgid "--get-colorbool name [stdout-is-tty]" +"Open the diff vs. the index in an editor and let the user edit it. After " +"the editor was closed, adjust the hunk headers and apply the patch to the " +"index." msgstr "" +"Ouvrir les diff챕rences avec l'index dans un 챕diteur et laisser l'utilisateur " +"les 챕diter. Apr챔s la fermeture de l'챕diteur, ajuster les ent챗tes de sections " +"et appliquer le patch 횪 l'index." #. type: Plain text -#: en/git-config.txt:212 +#: en/git-add.txt:107 msgid "" -"Find the color setting for `name` (e.g. `color.diff`) and output \"true\" or " -"\"false\". `stdout-is-tty` should be either \"true\" or \"false\", and is " -"taken into account when configuration says \"auto\". If `stdout-is-tty` is " -"missing, then checks the standard output of the command itself, and exits " -"with status 0 if color is to be used, or exits with status 1 otherwise. " -"When the color setting for `name` is undefined, the command uses `color.ui` " -"as fallback." +"The intent of this option is to pick and choose lines of the patch to apply, " +"or even to modify the contents of lines to be staged. This can be quicker " +"and more flexible than using the interactive hunk selector. However, it is " +"easy to confuse oneself and create a patch that does not apply to the index. " +"See EDITING PATCHES below." msgstr "" +"L'objectif de cette option est de permettre de choisir et retenir les lignes " +"du patch 횪 appliquer, ou m챗me de modifier le contenu des lignes\n" +"횪 indexer. Cela peut 챗tre plus rapide et plus flexible que l'utilisation du " +"s챕lecteur interactif. Cependant, il est plus facile de se \n" +"tromper et de cr챕er un patch qui ne s'applique pas. R챕f챕rez-vous 횪 횋DITER " +"LES PATCHS ci-dessous." #. type: Labeled list -#: en/git-config.txt:213 +#: en/git-add.txt:109 #, no-wrap -msgid "--get-color name [default]" -msgstr "" +msgid "--update" +msgstr "--update" #. type: Plain text -#: en/git-config.txt:219 +#: en/git-add.txt:113 msgid "" -"Find the color configured for `name` (e.g. `color.diff.new`) and output it " -"as the ANSI color escape sequence to the standard output. The optional " -"`default` parameter is used instead, if there is no color configured for " -"`name`." +"Update the index just where it already has an entry matching <pathspec>. " +"This removes as well as modifies index entries to match the working tree, " +"but adds no new files." msgstr "" +"Mettre 횪 jour l'index sur les seuls fichiers d챕j횪 pr챕sents et correspondant " +"횪 <chemin>. Cela retire ou modifie les entr챕es d'index pour correspondre 횪 " +"la copie de travail, mais n'ajoute pas de fichier." #. type: Plain text -#: en/git-config.txt:224 +#: en/git-add.txt:118 msgid "" -"Opens an editor to modify the specified config file; either `--system`, `--" -"global`, or repository (default)." +"If no <pathspec> is given when `-u` option is used, all tracked files in the " +"entire working tree are updated (old versions of Git used to limit the " +"update to the current directory and its subdirectories)." msgstr "" +"Si aucun <chemin> n'est sp챕cifi챕, quand l'option `-u` est utilis챕e, tous les " +"fichiers suivis dans la totalit챕 de l'arbre de travail sont mis 횪 jour (les " +"versions anciennes de Git limitaient la mise 횪 jour au r챕pertoire courant et " +"ses sous-r챕pertoires)." #. type: Labeled list -#: en/git-config.txt:225 +#: en/git-add.txt:119 en/git-repack.txt:44 en/git-svn.txt:402 #, no-wrap -msgid "--[no-]includes" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:230 -msgid "" -"Respect `include.*` directives in config files when looking up values. " -"Defaults to `off` when a specific file is given (e.g., using `--file`, `--" -"global`, etc) and `on` when searching all config files." -msgstr "" - -#. type: Plain text -#: en/git-config.txt:237 -msgid "" -"If not set explicitly with `--file`, there are four files where 'git config' " -"will search for configuration options:" -msgstr "" +msgid "-A" +msgstr "-A" -#. type: Plain text -#: en/git-config.txt:240 +#. type: Labeled list +#: en/git-add.txt:121 #, no-wrap -msgid "" -"$(prefix)/etc/gitconfig::\n" -"\tSystem-wide configuration file.\n" -msgstr "" +msgid "--no-ignore-removal" +msgstr "--no-ignore-removal" #. type: Plain text -#: en/git-config.txt:248 -#, no-wrap +#: en/git-add.txt:126 msgid "" -"$XDG_CONFIG_HOME/git/config::\n" -"\tSecond user-specific configuration file. If $XDG_CONFIG_HOME is not set\n" -"\tor empty, `$HOME/.config/git/config` will be used. Any single-valued\n" -"\tvariable set in this file will be overwritten by whatever is in\n" -"\t`~/.gitconfig`. It is a good idea not to create this file if\n" -"\tyou sometimes use older versions of Git, as support for this\n" -"\tfile was added fairly recently.\n" +"Update the index not only where the working tree has a file matching " +"<pathspec> but also where the index already has an entry. This adds, " +"modifies, and removes index entries to match the working tree." msgstr "" +"Mettre 횪 jour l'index non seulement pour tous les fichiers de l'arbre de " +"travail correspondant 횪 <chemin> mais aussi pour toutes les entr챕es existant " +"d챕j횪 dans l'index. Ceci ajoute, modifie et retire des entr챕es d'index pour " +"correspondre 횪 la copie de travail." #. type: Plain text -#: en/git-config.txt:252 -#, no-wrap +#: en/git-add.txt:131 msgid "" -"~/.gitconfig::\n" -"\tUser-specific configuration file. Also called \"global\"\n" -"\tconfiguration file.\n" +"If no <pathspec> is given when `-A` option is used, all files in the entire " +"working tree are updated (old versions of Git used to limit the update to " +"the current directory and its subdirectories)." msgstr "" +"Si aucun <chemin> n'est sp챕cifi챕 quand l'option `-A` est utilis챕e, tous les " +"fichiers de l'arbre de travail sont mis 횪 jour (les versions anciennes de " +"Git utilisaient le r챕pertoire courant et ses sous-r챕pertoires)." -#. type: Plain text -#: en/git-config.txt:255 +#. type: Labeled list +#: en/git-add.txt:132 #, no-wrap -msgid "" -"$GIT_DIR/config::\n" -"\tRepository specific configuration file.\n" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:261 -msgid "" -"If no further options are given, all reading options will read all of these " -"files that are available. If the global or the system-wide configuration " -"file are not available they will be ignored. If the repository configuration " -"file is not available or readable, 'git config' will exit with a non-zero " -"error code. However, in neither case will an error message be issued." -msgstr "" - -#. type: Plain text -#: en/git-config.txt:265 -msgid "" -"The files are read in the order given above, with last value found taking " -"precedence over values read earlier. When multiple values are taken then " -"all values of a key from all files will be used." -msgstr "" +msgid "--no-all" +msgstr "--no-all" -#. type: Plain text -#: en/git-config.txt:268 -msgid "" -"You may override individual configuration parameters when running any git " -"command by using the `-c` option. See linkgit:git[1] for details." -msgstr "" +#. type: Labeled list +#: en/git-add.txt:133 +#, no-wrap +msgid "--ignore-removal" +msgstr "--ignore-removal" #. type: Plain text -#: en/git-config.txt:272 +#: en/git-add.txt:138 msgid "" -"All writing options will per default write to the repository specific " -"configuration file. Note that this also affects options like `--replace-all` " -"and `--unset`. *'git config' will only ever change one file at a time*." +"Update the index by adding new files that are unknown to the index and files " +"modified in the working tree, but ignore files that have been removed from " +"the working tree. This option is a no-op when no <pathspec> is used." msgstr "" +"Mettre 횪 jour l'index en y ajoutant les nouveaux fichiers qui sont inconnus " +"et les fichiers modifi챕s dans la copie de travail, mais ignore les fichiers " +"qui ont 챕t챕 effac챕s de la copie de travail. Cette option ne fait rien quand " +"aucun <chemin> n'est utilis챕." #. type: Plain text -#: en/git-config.txt:277 +#: en/git-add.txt:142 msgid "" -"You can override these rules either by command-line options or by " -"environment variables. The `--global` and the `--system` options will limit " -"the file used to the global or system-wide file respectively. The " -"`GIT_CONFIG` environment variable has a similar effect, but you can specify " -"any filename you want." +"This option is primarily to help users who are used to older versions of " +"Git, whose \"git add <pathspec>...\" was a synonym for \"git add --no-all " +"<pathspec>...\", i.e. ignored removed files." msgstr "" +"Cette option sert principalement 횪 aider les utilisateurs de versions " +"anciennes de Git pour lesquels 짬혻git add <chemin>...혻쨩 챕tait synonyme de " +"짬혻git add --no-all <chemin>...혻쨩, c'est-횪-dire qui ignorait les fichiers " +"effac챕s." -#. type: Title - -#: en/git-config.txt:280 en/git-cvsserver.txt:310 en/git-daemon.txt:310 -#: en/git-http-backend.txt:243 en/git-notes.txt:373 +#. type: Labeled list +#: en/git-add.txt:143 en/git-format-patch.txt:97 en/git-submodule.txt:349 #, no-wrap -msgid "ENVIRONMENT" -msgstr "" +msgid "-N" +msgstr "-N" #. type: Labeled list -#: en/git-config.txt:282 +#: en/git-add.txt:144 #, no-wrap -msgid "GIT_CONFIG" -msgstr "" +msgid "--intent-to-add" +msgstr "--intent-to-add" #. type: Plain text -#: en/git-config.txt:286 +#: en/git-add.txt:150 msgid "" -"Take the configuration from the given file instead of .git/config. Using " -"the \"--global\" option forces this to ~/.gitconfig. Using the \"--system\" " -"option forces this to $(prefix)/etc/gitconfig." +"Record only the fact that the path will be added later. An entry for the " +"path is placed in the index with no content. This is useful for, among other " +"things, showing the unstaged content of such files with `git diff` and " +"committing them with `git commit -a`." msgstr "" +"N'enregistrer que le fait que le chemin sera ajout챕 plus tard. Une entr챕e " +"pour le chemin est plac챕e en index sans contenu. C'est particuli챔rement " +"utile pour, entre autres choses, montrer le contenu non index챕 de ces " +"fichiers avec `git diff` et les valider avec `git commit -a`." #. type: Labeled list -#: en/git-config.txt:287 +#: en/git-add.txt:151 en/git-update-index.txt:52 #, no-wrap -msgid "GIT_CONFIG_NOSYSTEM" -msgstr "" +msgid "--refresh" +msgstr "--refresh" #. type: Plain text -#: en/git-config.txt:290 +#: en/git-add.txt:154 msgid "" -"Whether to skip reading settings from the system-wide $(prefix)/etc/" -"gitconfig file. See linkgit:git[1] for details." -msgstr "" - -#. type: Plain text -#: en/git-config.txt:299 -msgid "Given a .git/config like this:" +"Don't add the file(s), but only refresh their stat() information in the " +"index." msgstr "" +"Ne pas ajouter le ou les fichiers mais rafra챤chir seulement leur information " +"de stat() dans l'index." -#. type: Plain text -#: en/git-config.txt:305 +#. type: Labeled list +#: en/git-add.txt:155 #, no-wrap -msgid "" -"\t#\n" -"\t# This is the config file, and\n" -"\t# a '#' or ';' character indicates\n" -"\t# a comment\n" -"\t#\n" -msgstr "" +msgid "--ignore-errors" +msgstr "--ignore-errors" #. type: Plain text -#: en/git-config.txt:310 -#, no-wrap +#: en/git-add.txt:161 msgid "" -"\t; core variables\n" -"\t[core]\n" -"\t\t; Don't trust file modes\n" -"\t\tfilemode = false\n" +"If some files could not be added because of errors indexing them, do not " +"abort the operation, but continue adding the others. The command shall still " +"exit with non-zero status. The configuration variable `add.ignoreErrors` " +"can be set to true to make this the default behaviour." msgstr "" +"Si des fichiers n'ont pas pu 챗tre ajout챕s 횪 cause d'erreurs lors de leur " +"indexation, ne pas annuler l'op챕ration mais continuer l'ajout des autres " +"fichiers. La commande se terminera tout de m챗me avec un code d'erreur non " +"nul. Le param챔tre de configuration `add.ignoreErrors` peut 챗tre positionn챕 횪 " +"true pour que ce comportement soit celui par d챕faut." -#. type: Plain text -#: en/git-config.txt:315 +#. type: Labeled list +#: en/git-add.txt:162 en/git-notes.txt:169 en/git-update-index.txt:70 +#: en/rev-list-options.txt:182 #, no-wrap -msgid "" -"\t; Our diff algorithm\n" -"\t[diff]\n" -"\t\texternal = /usr/local/bin/diff-wrapper\n" -"\t\trenames = true\n" -msgstr "" +msgid "--ignore-missing" +msgstr "--ignore-missing" #. type: Plain text -#: en/git-config.txt:320 -#, no-wrap +#: en/git-add.txt:167 msgid "" -"\t; Proxy settings\n" -"\t[core]\n" -"\t\tgitproxy=proxy-command for kernel.org\n" -"\t\tgitproxy=default-proxy ; for all the rest\n" +"This option can only be used together with --dry-run. By using this option " +"the user can check if any of the given files would be ignored, no matter if " +"they are already present in the work tree or not." msgstr "" +"Cette option ne peut 챗tre utilis챕e que coupl챕e avec --dry-run. L'utilisation " +"de cette option permet 횪 l'utilisateur de v챕rifier si un des fichiers " +"indiqu챕s serait ignor챕, qu'il soit pr챕sent ou non dans la copie de travail." -#. type: Plain text -#: en/git-config.txt:327 +#. type: Labeled list +#: en/git-add.txt:168 en/git-update-index.txt:83 #, no-wrap -msgid "" -"\t; HTTP\n" -"\t[http]\n" -"\t\tsslVerify\n" -"\t[http \"https://weak.example.com\"]\n" -"\t\tsslVerify = false\n" -"\t\tcookieFile = /tmp/cookie.txt\n" -msgstr "" +msgid "--chmod=(+|-)x" +msgstr "--chmod=(+|-)x" #. type: Plain text -#: en/git-config.txt:329 -msgid "you can set the filemode to true with" +#: en/git-add.txt:172 +msgid "" +"Override the executable bit of the added files. The executable bit is only " +"changed in the index, the files on disk are left unchanged." msgstr "" +"Forcer le bit ex챕cutable des fichiers ajout챕s. Le bit ex챕cutable n'est " +"modifi챕 que dans l'index, les fichiers de la copie de travail ne sont pas " +"modifi챕s." -#. type: delimited block - -#: en/git-config.txt:332 +#. type: Labeled list +#: en/git-add.txt:173 en/git-check-attr.txt:39 en/git-checkout-index.txt:71 +#: en/git-commit.txt:336 en/git-grep.txt:289 en/git-ls-files.txt:174 +#: en/git-merge-index.txt:23 en/git-prune.txt:45 en/git-rm.txt:53 +#: en/git-update-index.txt:204 en/git-verify-pack.txt:36 #, no-wrap -msgid "% git config core.filemode true\n" -msgstr "" +msgid "\\--" +msgstr "\\--" #. type: Plain text -#: en/git-config.txt:337 +#: en/git-add.txt:177 en/git-rm.txt:57 msgid "" -"The hypothetical proxy command entries actually have a postfix to discern " -"what URL they apply to. Here is how to change the entry for kernel.org to " -"\"ssh\"." +"This option can be used to separate command-line options from the list of " +"files, (useful when filenames might be mistaken for command-line options)." msgstr "" +"Cette option permet de s챕parer les options de la ligne de commande de la " +"liste des fichiers (utile si certains noms de fichiers peuvent 챗tre " +"confondus avec des options)." -#. type: delimited block - -#: en/git-config.txt:340 +#. type: Title - +#: en/git-add.txt:180 en/git-apply.txt:244 en/git-gc.txt:82 +#: en/git-repack.txt:147 en/git-update-index.txt:451 #, no-wrap -msgid "% git config core.gitproxy '\"ssh\" for kernel.org' 'for kernel.org$'\n" -msgstr "" +msgid "Configuration" +msgstr "Configuration" +# #. type: Plain text -#: en/git-config.txt:343 +#: en/git-add.txt:186 msgid "" -"This makes sure that only the key/value pair for kernel.org is replaced." -msgstr "" - -#. type: Plain text -#: en/git-config.txt:345 -msgid "To delete the entry for renames, do" +"The optional configuration variable `core.excludesFile` indicates a path to " +"a file containing patterns of file names to exclude from git-add, similar to " +"$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to " +"those in info/exclude. See linkgit:gitignore[5]." msgstr "" +"Le param챔tre de configuration optionnel `core.excludesFile` indique un " +"chemin vers un fichier contenant les patrons des noms de fichier 횪 exclure " +"de git-add, similaire 횪 $GIT_DIR/info/exclude. Les patrons dans le fichier " +"d'exclusion sont additionn챕s 횪 ceux de info/exclude. R챕f챕rez-vous 횪 linkgit:" +"gitignore[5]." -#. type: delimited block - -#: en/git-config.txt:348 +#. type: Title - +#: en/git-add.txt:189 en/git-archive.txt:149 en/git-bisect.txt:370 +#: en/git-check-attr.txt:71 en/git-checkout-index.txt:143 +#: en/git-checkout.txt:435 en/git-check-ref-format.txt:110 +#: en/git-cherry-pick.txt:156 en/git-cherry.txt:43 en/git-commit.txt:350 +#: en/git-config.txt:296 en/git-credential-cache.txt:52 +#: en/git-credential-store.txt:71 en/git-cvsexportcommit.txt:91 +#: en/git-daemon.txt:235 en/git-describe.txt:110 en/git-diff.txt:109 +#: en/git-fast-export.txt:125 en/git-fetch.txt:155 en/git-for-each-ref.txt:237 +#: en/git-format-patch.txt:591 en/git-http-backend.txt:67 en/git-init.txt:141 +#: en/git-interpret-trailers.txt:205 en/git-log.txt:108 en/git-ls-remote.txt:75 +#: en/git-merge-file.txt:81 en/git-merge.txt:310 en/git-notes.txt:278 +#: en/git-pull.txt:206 en/git-remote-fd.txt:37 en/git-reset.txt:102 +#: en/git-revert.txt:109 en/git-rev-parse.txt:427 en/git-rm.txt:159 +#: en/git-show.txt:58 en/git-stash.txt:201 en/git-stripspace.txt:49 +#: en/git-worktree.txt:224 #, no-wrap -msgid "% git config --unset diff.renames\n" -msgstr "" +msgid "EXAMPLES" +msgstr "EXEMPLES" +# #. type: Plain text -#: en/git-config.txt:352 +#: en/git-add.txt:193 msgid "" -"If you want to delete an entry for a multivar (like core.gitproxy above), " -"you have to provide a regex matching the value of exactly one line." -msgstr "" - -#. type: Plain text -#: en/git-config.txt:354 -msgid "To query the value for a given key, do" +"Adds content from all `*.txt` files under `Documentation` directory and its " +"subdirectories:" msgstr "" +"Ajouter le contenu de tous les fichiers `*.txt` sous le r챕pertoire " +"`Documentation` et ses sous r챕pertoires." #. type: delimited block - -#: en/git-config.txt:357 +#: en/git-add.txt:196 #, no-wrap -msgid "% git config --get core.filemode\n" -msgstr "" +msgid "$ git add Documentation/\\*.txt\n" +msgstr "$ git add Documentation/\\*.txt\n" +# #. type: Plain text -#: en/git-config.txt:360 en/git-gui.txt:120 en/git-merge-index.txt:64 -msgid "or" -msgstr "" - -#. type: delimited block - -#: en/git-config.txt:363 -#, no-wrap -msgid "% git config core.filemode\n" +#: en/git-add.txt:201 +msgid "" +"Note that the asterisk `*` is quoted from the shell in this example; this " +"lets the command include the files from subdirectories of `Documentation/` " +"directory." msgstr "" +"Remarquez que l'ast챕risque `*` est 챕chapp챕 du shell dans cet exemple혻; cela " +"permet d'inclure les fichiers dans les sous-r챕pertoires du R챕pertoire " +"`Documentation/`." +# #. type: Plain text -#: en/git-config.txt:366 -msgid "or, to query a multivar:" -msgstr "" +#: en/git-add.txt:203 +msgid "Considers adding content from all git-*.sh scripts:" +msgstr "Ajouter le contenu de tous les scripts git-*.sh혻:" #. type: delimited block - -#: en/git-config.txt:369 +#: en/git-add.txt:206 #, no-wrap -msgid "% git config --get core.gitproxy \"for kernel.org$\"\n" -msgstr "" +msgid "$ git add git-*.sh\n" +msgstr "$ git add git-*.sh\n" +# #. type: Plain text -#: en/git-config.txt:372 -msgid "If you want to know all the values for a multivar, do:" +#: en/git-add.txt:211 +msgid "" +"Because this example lets the shell expand the asterisk (i.e. you are " +"listing the files explicitly), it does not consider `subdir/git-foo.sh`." msgstr "" +"Comme cet exemple laisse le shell r챕aliser l'expansion de l'ast챕risque " +"(c'est-횪-dire que vous listez explicitement les fichiers du r챕pertoire), il " +"ne traite pas `subdir/git-foo.sh`." -#. type: delimited block - -#: en/git-config.txt:375 +#. type: Title - +#: en/git-add.txt:213 en/git-clean.txt:75 #, no-wrap -msgid "% git config --get-all core.gitproxy\n" -msgstr "" +msgid "Interactive mode" +msgstr "Mode interactif" +# #. type: Plain text -#: en/git-config.txt:379 +#: en/git-add.txt:217 msgid "" -"If you like to live dangerously, you can replace *all* core.gitproxy by a " -"new one with" -msgstr "" - -#. type: delimited block - -#: en/git-config.txt:382 -#, no-wrap -msgid "% git config --replace-all core.gitproxy ssh\n" +"When the command enters the interactive mode, it shows the output of the " +"'status' subcommand, and then goes into its interactive command loop." msgstr "" +"Quand la commande entre en mode interactif, elle affiche le r챕sultat de la " +"sous-commande 'status', puis entre en boucle de commande interactive." +# #. type: Plain text -#: en/git-config.txt:386 +#: en/git-add.txt:222 en/git-clean.txt:84 msgid "" -"However, if you really only want to replace the line for the default proxy, " -"i.e. the one without a \"for ...\" postfix, do something like this:" +"The command loop shows the list of subcommands available, and gives a prompt " +"\"What now> \". In general, when the prompt ends with a single '>', you can " +"pick only one of the choices given and type return, like this:" msgstr "" +"La boucle de commande affiche la liste des sous-commandes disponibles et " +"affiche le prompt 짬혻What now>혻쨩 (Que faire maintenant). En g챕n챕ral, lorsque " +"le prompt se termine par un '>' unique, vous ne pouvez choisir qu'une seule " +"des propositions et appuyer Entr챕e, comme cela :" #. type: delimited block - -#: en/git-config.txt:389 +#: en/git-add.txt:228 #, no-wrap -msgid "% git config core.gitproxy ssh '! for '\n" +msgid "" +" *** Commands ***\n" +" 1: status 2: update 3: revert 4: add untracked\n" +" 5: patch 6: diff 7: quit 8: help\n" +" What now> 1\n" msgstr "" +" *** Commands ***\n" +" 1: status 2: update 3: revert 4: add untracked\n" +" 5: patch 6: diff 7: quit 8: help\n" +" What now> 1\n" +# #. type: Plain text -#: en/git-config.txt:392 -msgid "To actually match only values with an exclamation mark, you have to" -msgstr "" - -#. type: delimited block - -#: en/git-config.txt:395 -#, no-wrap -msgid "% git config section.key value '[!]'\n" +#: en/git-add.txt:232 +msgid "" +"You also could say `s` or `sta` or `status` above as long as the choice is " +"unique." msgstr "" +"Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas ci-dessus, 횪 " +"condition que le choix soit univoque." +# #. type: Plain text -#: en/git-config.txt:398 -msgid "To add a new proxy, without altering any of the existing ones, use" +#: en/git-add.txt:234 +msgid "The main command loop has 6 subcommands (plus help and quit)." msgstr "" +"La boucle de commande principale propose 6 sous-commandes (plus help (aide) " +"et quit (quitter))." -#. type: delimited block - -#: en/git-config.txt:401 +#. type: Labeled list +#: en/git-add.txt:235 #, no-wrap -msgid "% git config --add core.gitproxy '\"proxy-command\" for example.com'\n" -msgstr "" +msgid "status" +msgstr "status" +# #. type: Plain text -#: en/git-config.txt:405 +#: en/git-add.txt:242 msgid "" -"An example to use customized color from the configuration in your script:" +"This shows the change between HEAD and index (i.e. what will be committed if " +"you say `git commit`), and between index and working tree files (i.e. what " +"you could stage further before `git commit` using `git add`) for each path. " +"A sample output looks like this:" msgstr "" +"Affiche les modifications entre HEAD et l'index (c-횪-d ce qui serait valid챕 " +"si vous lanciez `git commit`), et entre l'index et les fichiers de la copie " +"de travail (c-횪-d ce que vous pourriez indexer au moyen de `git add` avant " +"de lancer `git commit`) pour chaque chemin. Un exemple d'affichage ressemble " +"횪 ceci :" #. type: delimited block - -#: en/git-config.txt:411 +#: en/git-add.txt:247 #, no-wrap msgid "" -"#!/bin/sh\n" -"WS=$(git config --get-color color.diff.whitespace \"blue reverse\")\n" -"RESET=$(git config --get-color \"\" \"reset\")\n" -"echo \"${WS}your whitespace color or blue reverse${RESET}\"\n" +" staged unstaged path\n" +" 1: binary nothing foo.png\n" +" 2: +403/-35 +1/-1 git-add--interactive.perl\n" msgstr "" +" staged unstaged path\n" +" 1: binary nothing foo.png\n" +" 2: +403/-35 +1/-1 git-add--interactive.perl\n" +# #. type: Plain text -#: en/git-config.txt:415 +#: en/git-add.txt:258 msgid "" -"For URLs in `https://weak.example.com`, `http.sslVerify` is set to false, " -"while it is set to `true` for all others:" +"It shows that foo.png has differences from HEAD (but that is binary so line " +"count cannot be shown) and there is no difference between indexed copy and " +"the working tree version (if the working tree version were also different, " +"'binary' would have been shown in place of 'nothing'). The other file, git-" +"add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if you " +"commit what is in the index, but working tree file has further modifications " +"(one addition and one deletion)." msgstr "" +"foo.png contient des diff챕rences avec HEAD (mais c'est un format binaire " +"donc le nombre de lignes ne peut pas 챗tre affich챕) et il n'y a pas " +"diff챕rence entre la copie index챕e et la copie de travail (si la copie de " +"travail avait 챕t챕 aussi diff챕rente, 'binary' aurait 챕t챕 affich챕 횪 la place " +"de 'nothing'). L'autre fichier, git-add{litdd}interactive.perl, a 430 lignes " +"ajout챕es et 35 effac챕es si vous validez ce qui est dans l'index, mais la " +"copie de travail contient d'autres modifications (un ajout et un retrait)." -#. type: delimited block - -#: en/git-config.txt:424 +#. type: Labeled list +#: en/git-add.txt:259 en/git-update-ref.txt:94 #, no-wrap -msgid "" -"% git config --bool --get-urlmatch http.sslverify https://good.example.com\n" -"true\n" -"% git config --bool --get-urlmatch http.sslverify https://weak.example.com\n" -"false\n" -"% git config --get-urlmatch http https://weak.example.com\n" -"http.cookieFile /tmp/cookie.txt\n" -"http.sslverify false\n" -msgstr "" - -#. type: Title = -#: en/git-count-objects.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-count-objects(1)" -msgstr "git-commit(1)" +msgid "update" +msgstr "update" +# #. type: Plain text -#: en/git-count-objects.txt:7 +#: en/git-add.txt:268 msgid "" -"git-count-objects - Count unpacked number of objects and their disk " -"consumption" +"This shows the status information and issues an \"Update>>\" prompt. When " +"the prompt ends with double '>>', you can make more than one selection, " +"concatenated with whitespace or comma. Also you can say ranges. E.g. \"2-5 " +"7,9\" to choose 2,3,4,5,7,9 from the list. If the second number in a range " +"is omitted, all remaining patches are taken. E.g. \"7-\" to choose 7,8,9 " +"from the list. You can say '*' to choose everything." msgstr "" +"Affiche l'information d'챕tat et un prompt \"Update>>\". Quand le prompt se " +"termine par un double '>', vous pouvez s챕lectionner plus d'une option, " +"concat챕n챕es avec des espaces ou des virgules. Vous pouvez aussi indiquer des " +"intervalles. Par exemple \"2-5 7,9\" pour choisir 2, 3, 4, 5, 7 et 9 dans " +"la liste. Si le second nombre d'un intervalle est absent, tous les patchs " +"restants sont s챕lectionn챕s. Par ex. \"7-\" choisit 7, 8 et 9 dans la liste. " +"'*' permet de tout s챕lectionner." +# #. type: Plain text -#: en/git-count-objects.txt:12 -#, no-wrap -msgid "'git count-objects' [-v] [-H | --human-readable]\n" -msgstr "" +#: en/git-add.txt:271 +msgid "What you chose are then highlighted with '*', like this:" +msgstr "Tout ce qui a 챕t챕 s챕lectionn챕 est indiqu챕 par une '*', comme ceci혻:" -#. type: Plain text -#: en/git-count-objects.txt:17 +#. type: delimited block - +#: en/git-add.txt:276 +#, no-wrap msgid "" -"This counts the number of unpacked object files and disk space consumed by " -"them, to help you decide when it is a good time to repack." +" staged unstaged path\n" +" 1: binary nothing foo.png\n" +"* 2: +403/-35 +1/-1 git-add--interactive.perl\n" msgstr "" +" staged unstaged path\n" +" 1: binary nothing foo.png\n" +"* 2: +403/-35 +1/-1 git-add--interactive.perl\n" +# #. type: Plain text -#: en/git-count-objects.txt:24 -msgid "Report in more detail:" -msgstr "" +#: en/git-add.txt:280 +msgid "To remove selection, prefix the input with `-` like this:" +msgstr "Pour retirer une s챕lection, pr챕fixez-la avec `-` comme ceci혻:" -#. type: Plain text -#: en/git-count-objects.txt:26 -#, fuzzy -#| msgid "but can be used to amend a merge commit." -msgid "count: the number of loose objects" -msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." +#. type: delimited block - +#: en/git-add.txt:283 +#, no-wrap +msgid "Update>> -2\n" +msgstr "Update>> -2\n" +# #. type: Plain text -#: en/git-count-objects.txt:28 +#: en/git-add.txt:287 +#, fuzzy msgid "" -"size: disk space consumed by loose objects, in KiB (unless -H is specified)" +"After making the selection, answer with an empty line to stage the contents " +"of working tree files for selected paths in the index." msgstr "" +"Apr챔s s챕lection, r챕pondez avec une ligne vide pour indexer le contenu des " +"fichiers s챕lectionn챕s de l'arbre de travail." + +#. type: Labeled list +#: en/git-add.txt:288 +#, fuzzy, no-wrap +#| msgid "revert" +msgid "revert" +msgstr "revert" +# #. type: Plain text -#: en/git-count-objects.txt:30 -msgid "in-pack: the number of in-pack objects" +#: en/git-add.txt:293 +msgid "" +"This has a very similar UI to 'update', and the staged information for " +"selected paths are reverted to that of the HEAD version. Reverting new " +"paths makes them untracked." msgstr "" +"Ceci pr챕sente une interface d'utilisation similaire 횪 'update', et le " +"contenu index챕 des chemins s챕lectionn챕s sont ramen챕s 횪 la version HEAD. " +"Inverser des chemins nouveaux les rend non-suivis." + +#. type: Labeled list +#: en/git-add.txt:294 +#, no-wrap +msgid "add untracked" +msgstr "add untracked" +# #. type: Plain text -#: en/git-count-objects.txt:32 +#: en/git-add.txt:298 msgid "" -"size-pack: disk space consumed by the packs, in KiB (unless -H is specified)" +"This has a very similar UI to 'update' and 'revert', and lets you add " +"untracked paths to the index." msgstr "" +"Ceci pr챕sente une interface d'utilisation tr챔s similaire 횪 'update' et " +"'revert' et permet d'ajouter des chemins non-suivis 횪 l'index." + +#. type: Labeled list +#: en/git-add.txt:299 +#, no-wrap +msgid "patch" +msgstr "patch" +# #. type: Plain text -#: en/git-count-objects.txt:35 +#: en/git-add.txt:306 msgid "" -"prune-packable: the number of loose objects that are also present in the " -"packs. These objects could be pruned using `git prune-packed`." +"This lets you choose one path out of a 'status' like selection. After " +"choosing the path, it presents the diff between the index and the working " +"tree file and asks you if you want to stage the change of each hunk. You " +"can select one of the following options and type return:" msgstr "" +"Ceci permet de choisir un chemin depuis une s챕lection similaire 횪 'status'. " +"Apr챔s le choix du chemin, la diff챕rence entre l'index et le fichier dans " +"l'arbre de travail est pr챕sent챕 et vous demande si vous souhaitez indexer " +"chaque section de modification. Vous pouvez s챕lectionner une des options " +"suivantes et taper entr챕e혻:" +# #. type: Plain text -#: en/git-count-objects.txt:38 +#: en/git-add.txt:321 +#, no-wrap msgid "" -"garbage: the number of files in object database that are neither valid loose " -"objects nor valid packs" +"y - stage this hunk\n" +"n - do not stage this hunk\n" +"q - quit; do not stage this hunk or any of the remaining ones\n" +"a - stage this hunk and all later hunks in the file\n" +"d - do not stage this hunk or any of the later hunks in the file\n" +"g - select a hunk to go to\n" +"/ - search for a hunk matching the given regex\n" +"j - leave this hunk undecided, see next undecided hunk\n" +"J - leave this hunk undecided, see next hunk\n" +"k - leave this hunk undecided, see previous undecided hunk\n" +"K - leave this hunk undecided, see previous hunk\n" +"s - split the current hunk into smaller hunks\n" +"e - manually edit the current hunk\n" +"? - print help\n" msgstr "" +"y - stage this hunk\n" +"n - do not stage this hunk\n" +"q - quit; do not stage this hunk or any of the remaining ones\n" +"a - stage this hunk and all later hunks in the file\n" +"d - do not stage this hunk or any of the later hunks in the file\n" +"g - select a hunk to go to\n" +"/ - search for a hunk matching the given regex\n" +"j - leave this hunk undecided, see next undecided hunk\n" +"J - leave this hunk undecided, see next hunk\n" +"k - leave this hunk undecided, see previous undecided hunk\n" +"K - leave this hunk undecided, see previous hunk\n" +"s - split the current hunk into smaller hunks\n" +"e - manually edit the current hunk\n" +"? - print help\n" +# #. type: Plain text -#: en/git-count-objects.txt:41 +#: en/git-add.txt:324 msgid "" -"size-garbage: disk space consumed by garbage files, in KiB (unless -H is " -"specified)" +"After deciding the fate for all hunks, if there is any hunk that was chosen, " +"the index is updated with the selected hunks." msgstr "" +"Apr챔s avoir d챕cid챕 du devenir de chaque section, l'index est mis 횪 jour avec " +"les sections s챕lectionn챕es." +# #. type: Plain text -#: en/git-count-objects.txt:46 +#: en/git-add.txt:327 msgid "" -"alternate: absolute path of alternate object databases; may appear multiple " -"times, one line per path. Note that if the path contains non-printable " -"characters, it may be surrounded by double-quotes and contain C-style " -"backslashed escape sequences." -msgstr "" - -#. type: Labeled list -#: en/git-count-objects.txt:47 en/git-cvsserver.txt:49 en/git-grep.txt:142 -#, no-wrap -msgid "-H" +"You can omit having to type return here, by setting the configuration " +"variable `interactive.singleKey` to `true`." msgstr "" +"Vous pouvez vous 챕viter de taper entr챕e ici, en mettant la variable de " +"configuration `interactive.singlekey` 횪 `true`." #. type: Labeled list -#: en/git-count-objects.txt:48 +#: en/git-add.txt:328 #, no-wrap -msgid "--human-readable" -msgstr "" +msgid "diff" +msgstr "diff" +# #. type: Plain text -#: en/git-count-objects.txt:51 -msgid "Print sizes in human readable format" +#: en/git-add.txt:332 +msgid "" +"This lets you review what will be committed (i.e. between HEAD and index)." msgstr "" +"Ceci permet de faire une revue de ce qui sera valid챕 (c'est une diff챕rence " +"entre HEAD et index)." -#. type: Title = -#: en/git-credential-cache--daemon.txt:2 +#. type: Title - +#: en/git-add.txt:335 #, no-wrap -msgid "git-credential-cache--daemon(1)" -msgstr "" +msgid "EDITING PATCHES" +msgstr "횋DITER LES PATCHES" +# #. type: Plain text -#: en/git-credential-cache--daemon.txt:7 +#: en/git-add.txt:345 msgid "" -"git-credential-cache--daemon - Temporarily store user credentials in memory" +"Invoking `git add -e` or selecting `e` from the interactive hunk selector " +"will open a patch in your editor; after the editor exits, the result is " +"applied to the index. You are free to make arbitrary changes to the patch, " +"but note that some changes may have confusing results, or even result in a " +"patch that cannot be applied. If you want to abort the operation entirely " +"(i.e., stage nothing new in the index), simply delete all lines of the " +"patch. The list below describes some common things you may see in a patch, " +"and which editing operations make sense on them." msgstr "" +"Invoquer `git add -e` ou s챕lectionner `e` depuis le s챕lecteur interactif de " +"sections ouvre un patch dans votre 챕diteur혻; apr챔s avoir quitt챕 l'챕diteur, " +"le r챕sultat est appliqu챕 횪 l'index. Vous 챗tes libre de modifier en tout " +"point le patch, mais notez cependant que certaines modifications provoquent " +"des r챕sultats inattendus ou m챗me cr챕ent des patchs inapplicables. Si vous " +"souhaitez abandonner compl챔tement l'op챕ration (c'est-횪-dire ne rien ajouter " +"횪 l'index), effacez toutes les lignes du patch. La liste ci-dessous d챕crit " +"des formes habituelles dans les patchs et quelles op챕rations d'챕dition " +"peuvent 챗tre r챕alis챕es." -#. type: Plain text -#: en/git-credential-cache--daemon.txt:12 +#. type: Labeled list +#: en/git-add.txt:347 #, no-wrap -msgid "git credential-cache--daemon [--debug] <socket>\n" -msgstr "" +msgid "added content" +msgstr "contenu ajout챕" +# #. type: Plain text -#: en/git-credential-cache--daemon.txt:18 +#: en/git-add.txt:351 msgid "" -"You probably don't want to invoke this command yourself; it is started " -"automatically when you use linkgit:git-credential-cache[1]." +"Added content is represented by lines beginning with \"{plus}\". You can " +"prevent staging any addition lines by deleting them." msgstr "" +"Le contenu ajout챕 est repr챕sent챕 par des lignes commen챌ant par un " +"\"{plus}\". Vous pouvez emp챗cher l'indexation de lignes ajout챕es en les " +"supprimant." -#. type: Plain text -#: en/git-credential-cache--daemon.txt:23 -msgid "" -"This command listens on the Unix domain socket specified by `<socket>` for " -"`git-credential-cache` clients. Clients may store and retrieve credentials. " -"Each credential is held for a timeout specified by the client; once no " -"credentials are held, the daemon exits." -msgstr "" +#. type: Labeled list +#: en/git-add.txt:352 +#, no-wrap +msgid "removed content" +msgstr "contenu supprim챕" +# #. type: Plain text -#: en/git-credential-cache--daemon.txt:27 +#: en/git-add.txt:356 msgid "" -"If the `--debug` option is specified, the daemon does not close its stderr " -"stream, and may output extra diagnostics to it even after it has begun " -"listening for clients." +"Removed content is represented by lines beginning with \"-\". You can " +"prevent staging their removal by converting the \"-\" to a \" \" (space)." msgstr "" +"Le contenu supprim챕 est repr챕sent챕 par des lignes commen챌ant par \"-\". Vous " +"pouvez emp챗cher l'indexation de ces suppression en convertissant le \"-\" en " +"\" \" (espace)." -#. type: Title = -#: en/git-credential-cache.txt:2 +#. type: Labeled list +#: en/git-add.txt:357 #, no-wrap -msgid "git-credential-cache(1)" -msgstr "" +msgid "modified content" +msgstr "contenu modifi챕" +# #. type: Plain text -#: en/git-credential-cache.txt:7 -msgid "git-credential-cache - Helper to temporarily store passwords in memory" -msgstr "" - -#. type: delimited block - -#: en/git-credential-cache.txt:12 -#, no-wrap -msgid "git config credential.helper 'cache [options]'\n" +#: en/git-add.txt:364 +msgid "" +"Modified content is represented by \"-\" lines (removing the old content) " +"followed by \"{plus}\" lines (adding the replacement content). You can " +"prevent staging the modification by converting \"-\" lines to \" \", and " +"removing \"{plus}\" lines. Beware that modifying only half of the pair is " +"likely to introduce confusing changes to the index." msgstr "" +"Le contenu modifi챕 est repr챕sent챕 par des lignes \"-\" (supprimant l'ancien " +"contenu) suivies de lignes \"{plus}\" (ajoutant le nouveau contenu). Vous " +"pouvez emp챗cher l'indexation de ces modifications en convertissant les " +"lignes \"-\" en ligne \" \" et en supprimant les lignes \"{plus}\". M챕fiez-" +"vous혻: ne modifier que la moiti챕 de la paire de lignes a de fortes chances " +"de cr챕er des modifications inattendues dans l'index." +# #. type: Plain text -#: en/git-credential-cache.txt:21 +#: en/git-add.txt:372 msgid "" -"This command caches credentials in memory for use by future Git programs. " -"The stored credentials never touch the disk, and are forgotten after a " -"configurable timeout. The cache is accessible over a Unix domain socket, " -"restricted to the current user by filesystem permissions." +"There are also more complex operations that can be performed. But beware " +"that because the patch is applied only to the index and not the working " +"tree, the working tree will appear to \"undo\" the change in the index. For " +"example, introducing a new line into the index that is in neither the HEAD " +"nor the working tree will stage the new line for commit, but the line will " +"appear to be reverted in the working tree." msgstr "" +"Il existe aussi des op챕rations plus complexes. M챕fiez-vous혻: quand le patch " +"n'est appliqu챕 que dans l'index et pas dans l'arbre de travail, l'arbre de " +"travail semblera 짬혻d챕faire혻쨩 les modifications de l'index. Par exemple, " +"l'introduction dans l'index d'une nouvelle ligne qui n'apparait ni dans HEAD " +"ni dans l'arbre de travail indexera la nouvelle ligne pour validation, mais " +"cette ligne semblera 챗tre supprim챕e dans l'arbre de travail." +# #. type: Plain text -#: en/git-credential-cache.txt:25 -msgid "" -"You probably don't want to invoke this command directly; it is meant to be " -"used as a credential helper by other parts of Git. See linkgit:" -"gitcredentials[7] or `EXAMPLES` below." +#: en/git-add.txt:374 +msgid "Avoid using these constructs, or do so with extreme caution." msgstr "" +"횋vitez d'utiliser ces constructions, ou faites-le avec une extr챗me " +"pr챕caution." #. type: Labeled list -#: en/git-credential-cache.txt:29 +#: en/git-add.txt:376 #, no-wrap -msgid "--timeout <seconds>" -msgstr "" +msgid "removing untouched content" +msgstr "suppression de contenu intact" +# #. type: Plain text -#: en/git-credential-cache.txt:32 -msgid "Number of seconds to cache credentials (default: 900)." +#: en/git-add.txt:382 +msgid "" +"Content which does not differ between the index and working tree may be " +"shown on context lines, beginning with a \" \" (space). You can stage " +"context lines for removal by converting the space to a \"-\". The resulting " +"working tree file will appear to re-add the content." msgstr "" +"Le contenu qui ne diff챔re pas entre l'index et l'arbre de travail peut 챗tre " +"visible dans des lignes de contexte commen챌ant par un \" \" (espace). Vous " +"pouvez indexer l'챕limination de lignes de contexte en convertissant l'espace " +"en \"-\". Le fichier dans l'arbre de travail semblera r챕-ajouter le contenu." #. type: Labeled list -#: en/git-credential-cache.txt:33 +#: en/git-add.txt:383 #, no-wrap -msgid "--socket <path>" -msgstr "" +msgid "modifying existing content" +msgstr "modification de contenu existant" +# #. type: Plain text -#: en/git-credential-cache.txt:40 +#: en/git-add.txt:390 msgid "" -"Use `<path>` to contact a running cache daemon (or start a new cache daemon " -"if one is not started). Defaults to `~/.git-credential-cache/socket`. If " -"your home directory is on a network-mounted filesystem, you may need to " -"change this to a local filesystem. You must specify an absolute path." +"One can also modify context lines by staging them for removal (by converting " +"\" \" to \"-\") and adding a \"{plus}\" line with the new content. " +"Similarly, one can modify \"{plus}\" lines for existing additions or " +"modifications. In all cases, the new modification will appear reverted in " +"the working tree." msgstr "" +"On peut aussi modifier le contenu de lignes de contexte en indexant leur " +"suppression (en convertissant \" \" en \"-\") et en ajoutant dessous une " +"ligne \"{plus}\" avec le nouveau contenu. On peut modifier des lignes " +"\"{plus}\" dans des ajouts ou des modifications de contenu. Dans tous les " +"cas, la nouvelle modification index챕e semblera 챗tre annul챕e dans l'arbre de " +"travail." -#. type: Title - -#: en/git-credential-cache.txt:42 +#. type: Labeled list +#: en/git-add.txt:391 #, no-wrap -msgid "CONTROLLING THE DAEMON" -msgstr "" +msgid "new content" +msgstr "contenu nouveau" +# #. type: Plain text -#: en/git-credential-cache.txt:46 +#: en/git-add.txt:396 msgid "" -"If you would like the daemon to exit early, forgetting all cached " -"credentials before their timeout, you can issue an `exit` action:" +"You may also add new content that does not exist in the patch; simply add " +"new lines, each starting with \"{plus}\". The addition will appear reverted " +"in the working tree." msgstr "" +"Vous pouvez aussi ajouter du contenu nouveau qui n'existe pas dans le " +"patch혻; ajoutez simplement des nouvelles lignes, chacune commen챌ant par " +"\"{plus}\". L'ajout semblera annul챕 dans l'arbre de travail." -#. type: delimited block - -#: en/git-credential-cache.txt:49 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git credential-cache exit\n" -msgstr "git-commit(1)" - +# #. type: Plain text -#: en/git-credential-cache.txt:56 en/git-credential-store.txt:75 +#: en/git-add.txt:400 msgid "" -"The point of this helper is to reduce the number of times you must type your " -"username or password. For example:" +"There are also several operations which should be avoided entirely, as they " +"will make the patch impossible to apply:" msgstr "" +"Il existe aussi quelques op챕rations 횪 챕viter compl챔tement car celles-ci " +"rendent le patch inapplicable혻:" -#. type: delimited block - -#: en/git-credential-cache.txt:62 -#, no-wrap -msgid "" -"$ git config credential.helper cache\n" -"$ git push http://example.com/repo.git\n" -"Username: <type your username>\n" -"Password: <type your password>\n" -msgstr "" +# +#. type: Plain text +#: en/git-add.txt:402 +msgid "adding context (\" \") or removal (\"-\") lines" +msgstr "ajout de context (\" \") ou lignes de suppression (\"-\")" -#. type: delimited block - -#: en/git-credential-cache.txt:66 -#, no-wrap -msgid "" -"[work for 5 more minutes]\n" -"$ git push http://example.com/repo.git\n" -"[your credentials are used automatically]\n" -msgstr "" +# +#. type: Plain text +#: en/git-add.txt:403 +msgid "deleting context or removal lines" +msgstr "suppression de contexte ou de lignes supprim챕es" +# #. type: Plain text -#: en/git-credential-cache.txt:70 -msgid "" -"You can provide options via the credential.helper configuration variable " -"(this example drops the cache time to 5 minutes):" -msgstr "" +#: en/git-add.txt:404 +msgid "modifying the contents of context or removal lines" +msgstr "modification de contenu de contexte ou de lignes supprim챕es" -#. type: delimited block - -#: en/git-credential-cache.txt:73 +#. type: Title - +#: en/git-add.txt:406 en/git-am.txt:227 en/git-annotate.txt:29 +#: en/git-apply.txt:270 en/git-archive.txt:192 en/git-bisect.txt:494 +#: en/git-blame.txt:232 en/git-branch.txt:313 en/git-check-attr.txt:115 +#: en/git-check-ignore.txt:113 en/git-cherry-pick.txt:228 en/git-cherry.txt:140 +#: en/git-clean.txt:136 en/git-commit-tree.txt:113 en/git-commit.txt:480 +#: en/git-difftool.txt:135 en/git-diff.txt:179 en/git-fast-export.txt:213 +#: en/git-fast-import.txt:1470 en/git-fetch-pack.txt:127 en/git-fetch.txt:207 +#: en/git-fmt-merge-msg.txt:73 en/git-for-each-ref.txt:339 +#: en/git-format-patch.txt:636 en/git-gc.txt:178 en/git-gui.txt:103 +#: en/git-imap-send.txt:178 en/git-instaweb.txt:88 +#: en/git-interpret-trailers.txt:334 en/git-ls-files.txt:237 +#: en/git-merge.txt:353 en/git-pack-objects.txt:235 +#: en/git-pack-redundant.txt:43 en/git-prune-packed.txt:41 en/git-prune.txt:78 +#: en/git-pull.txt:252 en/git-read-tree.txt:425 en/git-receive-pack.txt:218 +#: en/git-remote-ext.txt:120 en/git-remote-fd.txt:54 +#: en/git-remote-testgit.txt:25 en/git-remote.txt:245 en/git-repack.txt:160 +#: en/git-replace.txt:144 en/git-revert.txt:124 en/git-rm.txt:183 +#: en/git-send-email.txt:477 en/git-shell.txt:83 en/git-show-ref.txt:178 +#: en/git-stash.txt:287 en/git-status.txt:354 en/git-svn.txt:1131 +#: en/git-tag.txt:345 en/git.txt:1287 en/git-update-index.txt:479 +#: en/git-upload-pack.txt:48 en/git-var.txt:63 #, no-wrap -msgid "$ git config credential.helper 'cache --timeout=300'\n" +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +# +#. type: Plain text +#: en/git-add.txt:413 +#, fuzzy +#| msgid "" +#| "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" +#| "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" +msgid "" +"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" +"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" msgstr "" +"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" +"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" -#. type: Title = -#: en/git-credential-store.txt:2 +#. type: Title - +#: en/git-add.txt:415 en/git-am.txt:231 en/git-annotate.txt:33 +#: en/git-apply.txt:274 en/git-archimport.txt:111 en/git-archive.txt:196 +#: en/git-bisect.txt:499 en/git-blame.txt:236 en/git-branch.txt:321 +#: en/git-bundle.txt:204 en/git-cat-file.txt:301 en/git-check-attr.txt:119 +#: en/git-check-ignore.txt:119 en/git-check-mailmap.txt:46 +#: en/git-checkout-index.txt:176 en/git-checkout.txt:521 +#: en/git-check-ref-format.txt:126 en/git-cherry-pick.txt:232 +#: en/git-cherry.txt:144 en/git-citool.txt:24 en/git-clean.txt:140 +#: en/git-clone.txt:296 en/git-column.txt:47 en/git-commit-tree.txt:117 +#: en/git-commit.txt:488 en/git-config.txt:429 en/git-count-objects.txt:53 +#: en/git-credential-cache--daemon.txt:29 en/git-credential-cache.txt:76 +#: en/git-credential-store.txt:105 en/git-cvsexportcommit.txt:117 +#: en/git-cvsimport.txt:227 en/git-cvsserver.txt:432 en/git-daemon.txt:317 +#: en/git-describe.txt:181 en/git-diff-files.txt:51 en/git-diff-index.txt:121 +#: en/git-difftool.txt:146 en/git-diff-tree.txt:166 en/git-diff.txt:188 +#: en/git-fast-export.txt:217 en/git-fast-import.txt:1474 +#: en/git-fetch-pack.txt:131 en/git-fetch.txt:211 en/git-filter-branch.txt:462 +#: en/git-fmt-merge-msg.txt:77 en/git-for-each-ref.txt:343 +#: en/git-format-patch.txt:640 en/git-fsck-objects.txt:21 en/git-fsck.txt:158 +#: en/git-gc.txt:185 en/git-get-tar-commit-id.txt:29 en/git-grep.txt:313 +#: en/git-gui.txt:126 en/git-hash-object.txt:64 en/git-help.txt:190 +#: en/git-http-backend.txt:276 en/git-http-fetch.txt:51 en/git-http-push.txt:96 +#: en/git-imap-send.txt:182 en/git-index-pack.txt:104 en/git-init-db.txt:22 +#: en/git-init.txt:157 en/git-instaweb.txt:92 en/git-interpret-trailers.txt:338 +#: en/git-log.txt:223 en/git-ls-files.txt:241 en/git-ls-remote.txt:94 +#: en/git-ls-tree.txt:103 en/git-mailinfo.txt:101 en/git-mailsplit.txt:56 +#: en/git-merge-base.txt:182 en/git-merge-file.txt:94 en/git-merge-index.txt:78 +#: en/git-merge-one-file.txt:20 en/git-mergetool--lib.txt:46 +#: en/git-mergetool.txt:100 en/git-merge-tree.txt:28 en/git-merge.txt:362 +#: en/git-mktag.txt:38 en/git-mktree.txt:39 en/git-mv.txt:68 +#: en/git-name-rev.txt:88 en/git-notes.txt:404 en/git-pack-objects.txt:241 +#: en/git-pack-redundant.txt:49 en/git-pack-refs.txt:72 +#: en/git-parse-remote.txt:22 en/git-patch-id.txt:63 en/git-prune-packed.txt:46 +#: en/git-prune.txt:85 en/git-pull.txt:256 en/git-push.txt:566 +#: en/git-quiltimport.txt:60 en/git-read-tree.txt:430 en/git-rebase.txt:801 +#: en/git-receive-pack.txt:222 en/git-reflog.txt:132 en/git-remote-ext.txt:124 +#: en/git-remote-fd.txt:58 en/git-remote-testgit.txt:29 en/git-remote.txt:251 +#: en/git-repack.txt:165 en/git-replace.txt:155 en/git-request-pull.txt:78 +#: en/git-rerere.txt:215 en/git-reset.txt:453 en/git-revert.txt:128 +#: en/git-rev-list.txt:120 en/git-rev-parse.txt:452 en/git-rm.txt:187 +#: en/git-send-email.txt:481 en/git-send-pack.txt:149 en/git-shell.txt:89 +#: en/git-sh-i18n--envsubst.txt:35 en/git-sh-i18n.txt:42 en/git-shortlog.txt:89 +#: en/git-show-branch.txt:203 en/git-show-index.txt:26 en/git-show-ref.txt:185 +#: en/git-show.txt:86 en/git-sh-setup.txt:94 en/git-stage.txt:22 +#: en/git-stash.txt:294 en/git-status.txt:358 en/git-stripspace.txt:93 +#: en/git-submodule.txt:437 en/git-svn.txt:1135 en/git-symbolic-ref.txt:68 +#: en/git-tag.txt:350 en/git.txt:1295 en/git-unpack-file.txt:27 +#: en/git-unpack-objects.txt:51 en/git-update-index.txt:485 +#: en/git-update-ref.txt:151 en/git-update-server-info.txt:43 +#: en/git-upload-archive.txt:61 en/git-upload-pack.txt:52 en/git-var.txt:69 +#: en/git-verify-commit.txt:31 en/git-verify-pack.txt:52 +#: en/git-verify-tag.txt:31 en/git-web--browse.txt:123 +#: en/git-whatchanged.txt:42 en/git-worktree.txt:258 en/git-write-tree.txt:41 #, no-wrap -msgid "git-credential-store(1)" -msgstr "" +msgid "GIT" +msgstr "GIT" +# #. type: Plain text -#: en/git-credential-store.txt:7 -msgid "git-credential-store - Helper to store credentials on disk" -msgstr "" +#: en/git-add.txt:416 en/git-am.txt:232 en/git-annotate.txt:34 +#: en/git-apply.txt:275 en/git-archimport.txt:112 en/git-archive.txt:197 +#: en/git-bisect.txt:500 en/git-blame.txt:237 en/git-branch.txt:322 +#: en/git-bundle.txt:205 en/git-cat-file.txt:302 en/git-check-attr.txt:120 +#: en/git-check-ignore.txt:120 en/git-check-mailmap.txt:47 +#: en/git-checkout-index.txt:177 en/git-checkout.txt:522 +#: en/git-check-ref-format.txt:127 en/git-cherry-pick.txt:233 +#: en/git-cherry.txt:145 en/git-citool.txt:25 en/git-clean.txt:141 +#: en/git-clone.txt:297 en/git-column.txt:48 en/git-commit-tree.txt:118 +#: en/git-commit.txt:489 en/git-config.txt:430 en/git-count-objects.txt:54 +#: en/git-credential-cache--daemon.txt:30 en/git-credential-cache.txt:77 +#: en/git-credential-store.txt:106 en/git-cvsexportcommit.txt:118 +#: en/git-cvsimport.txt:228 en/git-cvsserver.txt:433 en/git-daemon.txt:318 +#: en/git-describe.txt:182 en/git-diff-files.txt:52 en/git-diff-index.txt:122 +#: en/git-difftool.txt:147 en/git-diff-tree.txt:167 en/git-diff.txt:189 +#: en/git-fast-export.txt:218 en/git-fast-import.txt:1475 +#: en/git-fetch-pack.txt:132 en/git-fetch.txt:212 en/git-filter-branch.txt:463 +#: en/git-fmt-merge-msg.txt:78 en/git-for-each-ref.txt:344 +#: en/git-format-patch.txt:641 en/git-fsck-objects.txt:22 en/git-fsck.txt:159 +#: en/git-gc.txt:186 en/git-get-tar-commit-id.txt:30 en/git-grep.txt:314 +#: en/git-gui.txt:127 en/git-hash-object.txt:65 en/git-help.txt:191 +#: en/git-http-backend.txt:277 en/git-http-fetch.txt:52 en/git-http-push.txt:97 +#: en/git-imap-send.txt:183 en/git-index-pack.txt:105 en/git-init-db.txt:23 +#: en/git-init.txt:158 en/git-instaweb.txt:93 en/git-interpret-trailers.txt:339 +#: en/git-log.txt:224 en/git-ls-files.txt:242 en/git-ls-remote.txt:95 +#: en/git-ls-tree.txt:104 en/git-mailinfo.txt:102 en/git-mailsplit.txt:57 +#: en/git-merge-base.txt:183 en/git-merge-file.txt:95 en/git-merge-index.txt:79 +#: en/git-merge-one-file.txt:21 en/git-mergetool--lib.txt:47 +#: en/git-mergetool.txt:101 en/git-merge-tree.txt:29 en/git-merge.txt:363 +#: en/git-mktag.txt:39 en/git-mktree.txt:40 en/git-mv.txt:69 +#: en/git-name-rev.txt:89 en/git-notes.txt:405 en/git-pack-objects.txt:242 +#: en/git-pack-redundant.txt:50 en/git-pack-refs.txt:73 +#: en/git-parse-remote.txt:23 en/git-patch-id.txt:64 en/git-prune-packed.txt:47 +#: en/git-prune.txt:86 en/git-pull.txt:257 en/git-push.txt:567 +#: en/git-quiltimport.txt:61 en/git-read-tree.txt:431 en/git-rebase.txt:802 +#: en/git-receive-pack.txt:223 en/git-reflog.txt:133 en/git-remote-ext.txt:125 +#: en/git-remote-fd.txt:59 en/git-remote-testgit.txt:30 en/git-remote.txt:252 +#: en/git-repack.txt:166 en/git-replace.txt:156 en/git-request-pull.txt:79 +#: en/git-rerere.txt:216 en/git-reset.txt:454 en/git-revert.txt:129 +#: en/git-rev-list.txt:121 en/git-rev-parse.txt:453 en/git-rm.txt:188 +#: en/git-send-email.txt:482 en/git-send-pack.txt:150 en/git-shell.txt:90 +#: en/git-sh-i18n--envsubst.txt:36 en/git-sh-i18n.txt:43 en/git-shortlog.txt:90 +#: en/git-show-branch.txt:204 en/git-show-index.txt:27 en/git-show-ref.txt:186 +#: en/git-show.txt:87 en/git-sh-setup.txt:95 en/git-stage.txt:23 +#: en/git-stash.txt:295 en/git-status.txt:359 en/git-stripspace.txt:94 +#: en/git-submodule.txt:438 en/git-svn.txt:1136 en/git-symbolic-ref.txt:69 +#: en/git-tag.txt:351 en/git.txt:1296 en/git-unpack-file.txt:28 +#: en/git-unpack-objects.txt:52 en/git-update-index.txt:486 +#: en/git-update-ref.txt:152 en/git-update-server-info.txt:44 +#: en/git-upload-archive.txt:62 en/git-upload-pack.txt:53 en/git-var.txt:70 +#: en/git-verify-commit.txt:32 en/git-verify-pack.txt:53 +#: en/git-verify-tag.txt:32 en/git-web--browse.txt:124 +#: en/git-whatchanged.txt:43 en/git-worktree.txt:259 en/git-write-tree.txt:42 +msgid "Part of the linkgit:git[1] suite" +msgstr "Fait partie de la suite linkgit:git[1]" -#. type: delimited block - -#: en/git-credential-store.txt:12 +#. type: Title = +#: en/git-am.txt:2 #, no-wrap -msgid "git config credential.helper 'store [options]'\n" -msgstr "" +msgid "git-am(1)" +msgstr "git-am(1)" #. type: Plain text -#: en/git-credential-store.txt:21 -msgid "" -"Using this helper will store your passwords unencrypted on disk, protected " -"only by filesystem permissions. If this is not an acceptable security " -"tradeoff, try linkgit:git-credential-cache[1], or find a helper that " -"integrates with secure storage provided by your operating system." -msgstr "" +#: en/git-am.txt:7 +msgid "git-am - Apply a series of patches from a mailbox" +msgstr "git-am - Appliquer une s챕rie de rustines depuis des fichiers mailbox" #. type: Plain text -#: en/git-credential-store.txt:24 +#: en/git-am.txt:20 +#, no-wrap msgid "" -"This command stores credentials indefinitely on disk for use by future Git " -"programs." +"'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]\n" +"\t [--[no-]3way] [--interactive] [--committer-date-is-author-date]\n" +"\t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n" +"\t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]\n" +"\t [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]\n" +"\t [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]\n" +"\t [(<mbox> | <Maildir>)...]\n" +"'git am' (--continue | --skip | --abort)\n" msgstr "" +"'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]\n" +"\t [--[no-]3way] [--interactive] [--committer-date-is-author-date]\n" +"\t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n" +"\t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<r챕pertoire>]\n" +"\t [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]\n" +"\t [--[no-]scissors] [-S[<idcl챕>]] [--patch-format=<format>]\n" +"\t [(<mbox> | <Maildir>)...]\n" +"'git am' (--continue | --skip | --abort)\n" #. type: Plain text -#: en/git-credential-store.txt:28 +#: en/git-am.txt:26 msgid "" -"You probably don't want to invoke this command directly; it is meant to be " -"used as a credential helper by other parts of git. See linkgit:" -"gitcredentials[7] or `EXAMPLES` below." +"Splits mail messages in a mailbox into commit log message, authorship " +"information and patches, and applies them to the current branch." msgstr "" +"D챕coupe des messages courriel dans un bo챤te aux lettre en message, auteur, " +"information et rustine de commit, et les applique sur la branche en cours." #. type: Labeled list -#: en/git-credential-store.txt:32 -#, fuzzy, no-wrap -#| msgid "patch" -msgid "--file=<path>" -msgstr "patch" +#: en/git-am.txt:29 +#, no-wrap +msgid "(<mbox>|<Maildir>)..." +msgstr "(<mbox>|<Maildir>)..." #. type: Plain text -#: en/git-credential-store.txt:42 +#: en/git-am.txt:33 msgid "" -"Use `<path>` to lookup and store credentials. The file will have its " -"filesystem permissions set to prevent other users on the system from reading " -"it, but will not be encrypted or otherwise protected. If not specified, " -"credentials will be searched for from `~/.git-credentials` and `" -"$XDG_CONFIG_HOME/git/credentials`, and credentials will be written to `~/." -"git-credentials` if it exists, or `$XDG_CONFIG_HOME/git/credentials` if it " -"exists and the former does not. See also <<FILES>>." +"The list of mailbox files to read patches from. If you do not supply this " +"argument, the command reads from the standard input. If you supply " +"directories, they will be treated as Maildirs." msgstr "" +"La liste de fichiers de bo챤te aux lettres desquelles on lit les rustines. Si " +"vous ne fournissez pas cet argument, la commande lit depuis l'entr챕e " +"standard. Si vous fournissez des r챕pertoires, ils sont lus comme des " +"Maildirs." + +#. type: Labeled list +#: en/git-am.txt:35 en/git-cherry-pick.txt:101 en/git-commit.txt:160 +#: en/git-format-patch.txt:114 en/git-revert.txt:90 +#, no-wrap +msgid "--signoff" +msgstr "--signoff" #. type: Plain text -#: en/git-credential-store.txt:49 +#: en/git-am.txt:39 msgid "" -"If not set explicitly with `--file`, there are two files where git-" -"credential-store will search for credentials in order of precedence:" +"Add a `Signed-off-by:` line to the commit message, using the committer " +"identity of yourself. See the signoff option in linkgit:git-commit[1] for " +"more information." msgstr "" +"Ajouter une ligne `Signed-off-by:` au message de commit, en utilisant votre " +"identit챕 pour validateur. R챕f챕rez-vous 횪 l'option signoff dans linkgit:git-" +"commit[1] pour plus d'information." #. type: Plain text -#: en/git-credential-store.txt:52 +#: en/git-am.txt:43 +msgid "Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +msgstr "Passer l'option `-k` 횪 'git mailinfo' (voir linkgit:git-mailinfo[1])." + +#. type: Labeled list +#: en/git-am.txt:44 #, no-wrap -msgid "" -"~/.git-credentials::\n" -"\tUser-specific credentials file.\n" -msgstr "" +msgid "--keep-non-patch" +msgstr "--keep-non-patch" #. type: Plain text -#: en/git-credential-store.txt:59 +#: en/git-am.txt:46 +msgid "Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +msgstr "Passer l'option `-b` 횪 'git mailinfo' (voir linkgit:git-mailinfo[1])." + +#. type: Labeled list +#: en/git-am.txt:47 #, no-wrap -msgid "" -"$XDG_CONFIG_HOME/git/credentials::\n" -"\tSecond user-specific credentials file. If '$XDG_CONFIG_HOME' is not set\n" -"\tor empty, `$HOME/.config/git/credentials` will be used. Any credentials\n" -"\tstored in this file will not be used if `~/.git-credentials` has a\n" -"\tmatching credential as well. It is a good idea not to create this file\n" -"\tif you sometimes use older versions of Git that do not support it.\n" -msgstr "" +msgid "--[no-]keep-cr" +msgstr "--[no-]keep-cr" #. type: Plain text -#: en/git-credential-store.txt:63 +#: en/git-am.txt:52 msgid "" -"For credential lookups, the files are read in the order given above, with " -"the first matching credential found taking precedence over credentials found " -"in files further down the list." +"With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1]) with " +"the same option, to prevent it from stripping CR at the end of lines. `am." +"keepcr` configuration variable can be used to specify the default " +"behaviour. `--no-keep-cr` is useful to override `am.keepcr`." msgstr "" +"Avec `--keep-cr`, appeler 'git mailsplit' (voir linkgit:git-mailsplit[1]) " +"avec la m챗me option, pour l'emp챗cher de supprimer les CR en fin de ligne. La " +"variable de configuration `am.keepcr` peut 챗tre utilis챕e pour sp챕cifier le " +"comportement par d챕faut. `--no-keep-cr` permet de surcharger `am.keepcr`." -#. type: Plain text -#: en/git-credential-store.txt:67 -msgid "" -"Credential storage will by default write to the first existing file in the " -"list. If none of these files exist, `~/.git-credentials` will be created and " -"written to." -msgstr "" +#. type: Labeled list +#: en/git-am.txt:53 en/git-blame.txt:52 en/git-cvsexportcommit.txt:37 +#: en/git-diff-files.txt:37 en/git-diff-tree.txt:91 en/git-grep.txt:201 +#: en/git-http-fetch.txt:27 en/git-ls-files.txt:35 en/git-shortlog.txt:50 +#: en/git-stripspace.txt:42 en/rev-list-options.txt:866 +#, no-wrap +msgid "-c" +msgstr "-c" + +#. type: Labeled list +#: en/git-am.txt:54 en/git-mailinfo.txt:74 +#, no-wrap +msgid "--scissors" +msgstr "--scissors" #. type: Plain text -#: en/git-credential-store.txt:69 +#: en/git-am.txt:58 msgid "" -"When erasing credentials, matching credentials will be erased from all files." +"Remove everything in body before a scissors line (see linkgit:git-" +"mailinfo[1]). Can be activated by default using the `mailinfo.scissors` " +"configuration variable." msgstr "" +"Retirer tout du corps du message avant la ligne de ciseaux (voir linkgit:git-" +"mailinfo[1]). Peut 챗tre activ챕 par d챕faut en utilisant la variable de " +"configuration `mailinfo.scissors`." -#. type: delimited block - -#: en/git-credential-store.txt:81 +#. type: Labeled list +#: en/git-am.txt:59 en/git-mailinfo.txt:90 #, no-wrap -msgid "" -"$ git config credential.helper store\n" -"$ git push http://example.com/repo.git\n" -"Username: <type your username>\n" -"Password: <type your password>\n" -msgstr "" +msgid "--no-scissors" +msgstr "--no-scissors" -#. type: delimited block - -#: en/git-credential-store.txt:85 +#. type: Plain text +#: en/git-am.txt:61 +msgid "Ignore scissors lines (see linkgit:git-mailinfo[1])." +msgstr "Ignorer les lignes ciseaux (voir linkgit:git-mailinfo[1])." + +#. type: Labeled list +#: en/git-am.txt:62 en/git-branch.txt:107 en/git-checkout.txt:216 +#: en/git-cvsexportcommit.txt:60 en/git-cvsimport.txt:118 +#: en/git-diff-index.txt:32 en/git-diff-tree.txt:69 en/git-help.txt:56 +#: en/git-instaweb.txt:35 en/git-ls-files.txt:43 en/git-mailinfo.txt:69 +#: en/git-read-tree.txt:34 en/git-rebase.txt:270 en/git-svn.txt:292 +#: en/git-svn.txt:637 en/git-symbolic-ref.txt:49 en/rev-list-options.txt:879 #, no-wrap -msgid "" -"[several days later]\n" -"$ git push http://example.com/repo.git\n" -"[your credentials are used automatically]\n" -msgstr "" +msgid "-m" +msgstr "-m" -#. type: Title - -#: en/git-credential-store.txt:88 -#, fuzzy, no-wrap -#| msgid "DATE FORMATS" -msgid "STORAGE FORMAT" -msgstr "FORMATS DE DATE" +#. type: Labeled list +#: en/git-am.txt:63 en/git-mailinfo.txt:70 +#, no-wrap +msgid "--message-id" +msgstr "--message-id" #. type: Plain text -#: en/git-credential-store.txt:92 +#: en/git-am.txt:68 msgid "" -"The `.git-credentials` file is stored in plaintext. Each credential is " -"stored on its own line as a URL like:" +"Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]), so that " +"the Message-ID header is added to the commit message. The `am.messageid` " +"configuration variable can be used to specify the default behaviour." msgstr "" -#. type: delimited block - -#: en/git-credential-store.txt:95 +#. type: Labeled list +#: en/git-am.txt:69 #, no-wrap -msgid "https://user:pass@example.com\n" -msgstr "" +msgid "--no-message-id" +msgstr "--no-message-id" #. type: Plain text -#: en/git-credential-store.txt:103 +#: en/git-am.txt:72 msgid "" -"When Git needs authentication for a particular URL context, credential-store " -"will consider that context a pattern to match against each entry in the " -"credentials file. If the protocol, hostname, and username (if we already " -"have one) match, then the password is returned to Git. See the discussion of " -"configuration in linkgit:gitcredentials[7] for more information." +"Do not add the Message-ID header to the commit message. `no-message-id` is " +"useful to override `am.messageid`." msgstr "" - -#. type: Title = -#: en/git-credential.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-credential(1)" -msgstr "git-commit(1)" +"Ne pas ajouter l'ent챗te Message-ID au message de validation. `no-message-id` " +"est utile pour surcharger `am.messageid`." #. type: Plain text -#: en/git-credential.txt:7 -msgid "git-credential - Retrieve and store user credentials" -msgstr "" +#: en/git-am.txt:76 +msgid "Be quiet. Only print error messages." +msgstr "N'afficher que les messages d'erreur." -#. type: delimited block - -#: en/git-credential.txt:12 +#. type: Labeled list +#: en/git-am.txt:78 #, no-wrap -msgid "git credential <fill|approve|reject>\n" -msgstr "" +msgid "--utf8" +msgstr "--utf8" #. type: Plain text -#: en/git-credential.txt:25 +#: en/git-am.txt:84 msgid "" -"Git has an internal interface for storing and retrieving credentials from " -"system-specific helpers, as well as prompting the user for usernames and " -"passwords. The git-credential command exposes this interface to scripts " -"which may want to retrieve, store, or prompt for credentials in the same " -"manner as Git. The design of this scriptable interface models the internal C " -"API; see link:technical/api-credentials.html[the Git credential API] for " -"more background on the concepts." +"Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]). The " +"proposed commit log message taken from the e-mail is re-coded into UTF-8 " +"encoding (configuration variable `i18n.commitencoding` can be used to " +"specify project's preferred encoding if it is not UTF-8)." msgstr "" +"Passer l'option `-u` 횪 'git mailinfo' (voir linkgit:git-mailinfo[1]). Le " +"message de validation propos챕 extrait depuis le courriel est re-cod챕 en " +"UTF-8 (la variable de configuration `i18n.commitencoding` peut sp챕cifier un " +"codage pr챕f챕r챕 s'il est diff챕rent d'UTF-8)." #. type: Plain text -#: en/git-credential.txt:29 +#: en/git-am.txt:87 +#, no-wrap msgid "" -"git-credential takes an \"action\" option on the command-line (one of " -"`fill`, `approve`, or `reject`) and reads a credential description on stdin " -"(see <<IOFMT,INPUT/OUTPUT FORMAT>>)." +"This was optional in prior versions of git, but now it is the\n" +"default. You can use `--no-utf8` to override this.\n" msgstr "" +"C'챕tait optionnel dans les versions pr챕c챕dentes de git, mais c'est\n" +"횪 pr챕sent par d챕faut. Vous pouvez utiliser `--no-utf8` pour surcharger.\n" -#. type: Plain text -#: en/git-credential.txt:36 -msgid "" -"If the action is `fill`, git-credential will attempt to add \"username\" and " -"\"password\" attributes to the description by reading config files, by " -"contacting any configured credential helpers, or by prompting the user. The " -"username and password attributes of the credential description are then " -"printed to stdout together with the attributes already provided." -msgstr "" +#. type: Labeled list +#: en/git-am.txt:88 +#, no-wrap +msgid "--no-utf8" +msgstr "--no-utf8" #. type: Plain text -#: en/git-credential.txt:40 -msgid "" -"If the action is `approve`, git-credential will send the description to any " -"configured credential helpers, which may store the credential for later use." -msgstr "" +#: en/git-am.txt:91 +msgid "Pass `-n` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +msgstr "Passer l'option `-n` 횪 'git mailinfo' (voir linkgit:git-mailinfo[1])." + +#. type: Labeled list +#: en/git-am.txt:92 en/git-apply.txt:77 +#, no-wrap +msgid "-3" +msgstr "-3" + +#. type: Labeled list +#: en/git-am.txt:93 en/git-apply.txt:78 +#, no-wrap +msgid "--3way" +msgstr "--3way" + +#. type: Labeled list +#: en/git-am.txt:94 +#, no-wrap +msgid "--no-3way" +msgstr "--no-3way" #. type: Plain text -#: en/git-credential.txt:44 +#: en/git-am.txt:101 msgid "" -"If the action is `reject`, git-credential will send the description to any " -"configured credential helpers, which may erase any stored credential " -"matching the description." +"When the patch does not apply cleanly, fall back on 3-way merge if the patch " +"records the identity of blobs it is supposed to apply to and we have those " +"blobs available locally. `--no-3way` can be used to override am.threeWay " +"configuration variable. For more information, see am.threeWay in linkgit:git-" +"config[1]." msgstr "" +"Quand la rustine ne s'applique pas correctement, revenir 횪 une fusion 횪 3 " +"points si la rustine contient l'identit챕 des blobs auxquels elle est " +"suppos챕e s'appliquer et que ces blobs sont disponibles localement. `--" +"no-3way` permet de surcharger la variable de configuration am.threeWay. Pour " +"plus d'information, r챕f챕rez-vous 횪 am.threeWay dans linkgit:git-config[1]." -#. type: Plain text -#: en/git-credential.txt:46 -msgid "If the action is `approve` or `reject`, no output should be emitted." -msgstr "" +#. type: Labeled list +#: en/git-am.txt:103 en/git-apply.txt:173 en/git-rebase.txt:361 +#, no-wrap +msgid "--ignore-whitespace" +msgstr "--ignore-whitespace" -#. type: Title - -#: en/git-credential.txt:48 +#. type: Labeled list +#: en/git-am.txt:104 en/git-rebase.txt:362 #, no-wrap -msgid "TYPICAL USE OF GIT CREDENTIAL" -msgstr "" +msgid "--whitespace=<option>" +msgstr "--whitespace=<option>" + +#. type: Labeled list +#: en/git-am.txt:105 en/git-apply.txt:119 en/git-rebase.txt:329 +#, no-wrap +msgid "-C<n>" +msgstr "-C<n>" + +#. type: Labeled list +#: en/git-am.txt:106 en/git-apply.txt:115 +#, no-wrap +msgid "-p<n>" +msgstr "-p<n>" + +#. type: Labeled list +#: en/git-am.txt:107 +#, no-wrap +msgid "--directory=<dir>" +msgstr "--directory=<r챕p.>" + +#. type: Labeled list +#: en/git-am.txt:108 +#, no-wrap +msgid "--exclude=<path>" +msgstr "--exclude=<chemin>" + +#. type: Labeled list +#: en/git-am.txt:109 +#, no-wrap +msgid "--include=<path>" +msgstr "--include=<chemin>" + +#. type: Labeled list +#: en/git-am.txt:110 en/git-apply.txt:100 +#, no-wrap +msgid "--reject" +msgstr "--reject" #. type: Plain text -#: en/git-credential.txt:52 +#: en/git-am.txt:114 msgid "" -"An application using git-credential will typically use `git credential` " -"following these steps:" +"These flags are passed to the 'git apply' (see linkgit:git-apply[1]) " +"program that applies the patch." msgstr "" -#. type: Plain text -#: en/git-credential.txt:54 -msgid "Generate a credential description based on the context." -msgstr "" +#. type: Labeled list +#: en/git-am.txt:115 +#, no-wrap +msgid "--patch-format" +msgstr "--patch-format" #. type: Plain text -#: en/git-credential.txt:60 +#: en/git-am.txt:121 msgid "" -"For example, if we want a password for `https://example.com/foo.git`, we " -"might generate the following credential description (don't forget the blank " -"line at the end; it tells `git credential` that the application finished " -"feeding all the information it has):" +"By default the command will try to detect the patch format automatically. " +"This option allows the user to bypass the automatic detection and specify " +"the patch format that the patch(es) should be interpreted as. Valid formats " +"are mbox, mboxrd, stgit, stgit-series and hg." msgstr "" #. type: Plain text -#: en/git-credential.txt:64 +#: en/git-am.txt:125 +msgid "Run interactively." +msgstr "Lancer de mani챔re interactive" + +#. type: Labeled list +#: en/git-am.txt:126 en/git-rebase.txt:367 #, no-wrap -msgid "" -"\t protocol=https\n" -"\t host=example.com\n" -"\t path=foo.git\n" -msgstr "" +msgid "--committer-date-is-author-date" +msgstr "--committer-date-is-author-date" #. type: Plain text -#: en/git-credential.txt:70 +#: en/git-am.txt:132 msgid "" -"Ask git-credential to give us a username and password for this description. " -"This is done by running `git credential fill`, feeding the description from " -"step (1) to its standard input. The complete credential description " -"(including the credential per se, i.e. the login and password) will be " -"produced on standard output, like:" +"By default the command records the date from the e-mail message as the " +"commit author date, and uses the time of commit creation as the committer " +"date. This allows the user to lie about the committer date by using the same " +"value as the author date." msgstr "" -#. type: Plain text -#: en/git-credential.txt:75 +#. type: Labeled list +#: en/git-am.txt:133 en/git-rebase.txt:368 #, no-wrap -msgid "" -"protocol=https\n" -"host=example.com\n" -"username=bob\n" -"password=secr3t\n" -msgstr "" +msgid "--ignore-date" +msgstr "--ignore-date" #. type: Plain text -#: en/git-credential.txt:80 +#: en/git-am.txt:139 msgid "" -"In most cases, this means the attributes given in the input will be repeated " -"in the output, but Git may also modify the credential description, for " -"example by removing the `path` attribute when the protocol is HTTP(s) and " -"`credential.useHttpPath` is false." +"By default the command records the date from the e-mail message as the " +"commit author date, and uses the time of commit creation as the committer " +"date. This allows the user to lie about the author date by using the same " +"value as the committer date." msgstr "" +#. type: Labeled list +#: en/git-am.txt:140 en/git-rebase.txt:264 +#, no-wrap +msgid "--skip" +msgstr "--skip" + #. type: Plain text -#: en/git-credential.txt:86 +#: en/git-am.txt:143 msgid "" -"If the `git credential` knew about the password, this step may not have " -"involved the user actually typing this password (the user may have typed a " -"password to unlock the keychain instead, or no user interaction was done if " -"the keychain was already unlocked) before it returned `password=secr3t`." +"Skip the current patch. This is only meaningful when restarting an aborted " +"patch." msgstr "" +#. type: Labeled list +#: en/git-am.txt:144 en/git-cherry-pick.txt:105 en/git-commit-tree.txt:57 +#: en/git-commit.txt:326 en/git-merge.txt:72 en/git-rebase.txt:300 +#: en/git-revert.txt:83 +#, no-wrap +msgid "-S[<keyid>]" +msgstr "-S[<idcl챕>]" + +#. type: Labeled list +#: en/git-am.txt:145 en/git-cherry-pick.txt:106 en/git-commit-tree.txt:58 +#: en/git-commit.txt:327 en/git-merge.txt:73 en/git-rebase.txt:301 +#: en/git-revert.txt:84 +#, no-wrap +msgid "--gpg-sign[=<keyid>]" +msgstr "--gpg-sign[=<idcl챕>]" + #. type: Plain text -#: en/git-credential.txt:89 +#: en/git-am.txt:149 en/git-cherry-pick.txt:110 en/git-commit-tree.txt:62 +#: en/git-commit.txt:331 en/git-rebase.txt:305 en/git-revert.txt:88 msgid "" -"Use the credential (e.g., access the URL with the username and password from " -"step (2)), and see if it's accepted." +"GPG-sign commits. The `keyid` argument is optional and defaults to the " +"committer identity; if specified, it must be stuck to the option without a " +"space." msgstr "" +"Signer les commits avec GPG. L'argument `idcl챕` est optionnel avec par " +"d챕faut l'identit챕 du validateur혻; si sp챕cifi챕e, elle doit 챗tre coll챕e 횪 " +"l'option sans aucun espace." -#. type: Plain text -#: en/git-credential.txt:99 -msgid "" -"Report on the success or failure of the password. If the credential allowed " -"the operation to complete successfully, then it can be marked with an " -"\"approve\" action to tell `git credential` to reuse it in its next " -"invocation. If the credential was rejected during the operation, use the " -"\"reject\" action so that `git credential` will ask for a new password in " -"its next invocation. In either case, `git credential` should be fed with the " -"credential description obtained from step (2) (which also contain the ones " -"provided in step (1))." +#. type: Labeled list +#: en/git-am.txt:150 en/git-merge.txt:105 en/git-rebase.txt:245 +#: en/sequencer.txt:1 +#, no-wrap +msgid "--continue" msgstr "" -#. type: Title - -#: en/git-credential.txt:102 +#. type: Labeled list +#: en/git-am.txt:151 en/git-branch.txt:136 en/git-cherry-pick.txt:74 +#: en/git-diff-tree.txt:39 en/git-ls-tree.txt:44 en/git-pull.txt:103 +#: en/git-rm.txt:49 en/git-show-branch.txt:43 en/git-unpack-objects.txt:38 +#: en/rev-list-options.txt:887 #, no-wrap -msgid "INPUT/OUTPUT FORMAT" +msgid "-r" msgstr "" -#. type: Plain text -#: en/git-credential.txt:109 -msgid "" -"`git credential` reads and/or writes (depending on the action used) " -"credential information in its standard input/output. This information can " -"correspond either to keys for which `git credential` will obtain the login/" -"password information (e.g. host, protocol, path), or to the actual " -"credential data to be obtained (login/password)." +#. type: Labeled list +#: en/git-am.txt:152 +#, no-wrap +msgid "--resolved" msgstr "" #. type: Plain text -#: en/git-credential.txt:119 +#: en/git-am.txt:159 msgid "" -"The credential is split into a set of named attributes, with one attribute " -"per line. Each attribute is specified by a key-value pair, separated by an " -"`=` (equals) sign, followed by a newline. The key may contain any bytes " -"except `=`, newline, or NUL. The value may contain any bytes except newline " -"or NUL. In both cases, all bytes are treated as-is (i.e., there is no " -"quoting, and one cannot transmit a value with newline or NUL in it). The " -"list of attributes is terminated by a blank line or end-of-file. Git " -"understands the following attributes:" +"After a patch failure (e.g. attempting to apply conflicting patch), the user " +"has applied it by hand and the index file stores the result of the " +"application. Make a commit using the authorship and commit log extracted " +"from the e-mail message and the current index file, and continue." msgstr "" #. type: Labeled list -#: en/git-credential.txt:120 +#: en/git-am.txt:160 #, no-wrap -msgid "`protocol`" +msgid "--resolvemsg=<msg>" msgstr "" #. type: Plain text -#: en/git-credential.txt:124 -msgid "The protocol over which the credential will be used (e.g., `https`)." +#: en/git-am.txt:166 +msgid "" +"When a patch failure occurs, <msg> will be printed to the screen before " +"exiting. This overrides the standard message informing you to use `--" +"continue` or `--skip` to handle the failure. This is solely for internal " +"use between 'git rebase' and 'git am'." msgstr "" #. type: Labeled list -#: en/git-credential.txt:125 +#: en/git-am.txt:167 en/git-merge.txt:93 en/git-notes.txt:201 +#: en/git-rebase.txt:248 en/sequencer.txt:11 #, no-wrap -msgid "`host`" +msgid "--abort" msgstr "" #. type: Plain text -#: en/git-credential.txt:128 -msgid "The remote hostname for a network credential." +#: en/git-am.txt:169 +msgid "Restore the original branch and abort the patching operation." msgstr "" -#. type: Labeled list -#: en/git-credential.txt:129 +#. type: Title - +#: en/git-am.txt:171 en/git-commit.txt:444 en/git-format-patch.txt:308 +#: en/git-fsck.txt:100 en/git-log.txt:165 en/git-merge-base.txt:76 +#: en/git-notes.txt:218 en/git-remote.txt:196 en/git-rerere.txt:77 +#: en/git-reset.txt:345 en/git-rm.txt:73 en/git-stash.txt:183 +#: en/git-tag.txt:195 #, no-wrap -msgid "`path`" -msgstr "" +msgid "DISCUSSION" +msgstr "DISCUSSION" #. type: Plain text -#: en/git-credential.txt:134 +#: en/git-am.txt:179 msgid "" -"The path with which the credential will be used. E.g., for accessing a " -"remote https repository, this will be the repository's path on the server." +"The commit author name is taken from the \"From: \" line of the message, and " +"commit author date is taken from the \"Date: \" line of the message. The " +"\"Subject: \" line is used as the title of the commit, after stripping " +"common prefix \"[PATCH <anything>]\". The \"Subject: \" line is supposed to " +"concisely describe what the commit is about in one line of text." msgstr "" -#. type: Labeled list -#: en/git-credential.txt:135 -#, no-wrap -msgid "`username`" +#. type: Plain text +#: en/git-am.txt:182 +msgid "" +"\"From: \" and \"Subject: \" lines starting the body override the respective " +"commit author name and title values taken from the headers." msgstr "" #. type: Plain text -#: en/git-credential.txt:139 +#: en/git-am.txt:187 msgid "" -"The credential's username, if we already have one (e.g., from a URL, from " -"the user, or from a previously run helper)." +"The commit message is formed by the title taken from the \"Subject: \", a " +"blank line and the body of the message up to where the patch begins. Excess " +"whitespace at the end of each line is automatically stripped." msgstr "" -#. type: Labeled list -#: en/git-credential.txt:140 -#, no-wrap -msgid "`password`" +#. type: Plain text +#: en/git-am.txt:190 +msgid "" +"The patch is expected to be inline, directly following the message. Any " +"line that is of the form:" msgstr "" #. type: Plain text -#: en/git-credential.txt:143 -msgid "The credential's password, if we are asking it to be stored." +#: en/git-am.txt:192 +msgid "three-dashes and end-of-line, or" msgstr "" -#. type: Labeled list -#: en/git-credential.txt:144 -#, no-wrap -msgid "`url`" +#. type: Plain text +#: en/git-am.txt:193 +msgid "a line that begins with \"diff -\", or" msgstr "" #. type: Plain text -#: en/git-credential.txt:154 -msgid "" -"When this special attribute is read by `git credential`, the value is parsed " -"as a URL and treated as if its constituent parts were read (e.g., " -"`url=https://example.com` would behave as if `protocol=https` and " -"`host=example.com` had been provided). This can help callers avoid parsing " -"URLs themselves. Note that any components which are missing from the URL (e." -"g., there is no username in the example above) will be set to empty; if you " -"want to provide a URL and override some attributes, provide the URL " -"attribute first, followed by any overrides." +#: en/git-am.txt:194 +msgid "a line that begins with \"Index: \"" msgstr "" -#. type: Title = -#: en/git-cvsexportcommit.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-cvsexportcommit(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-cvsexportcommit.txt:7 -msgid "git-cvsexportcommit - Export a single commit to a CVS checkout" +#: en/git-am.txt:197 +msgid "" +"is taken as the beginning of a patch, and the commit log message is " +"terminated before the first occurrence of such a line." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:14 -#, no-wrap +#: en/git-am.txt:201 msgid "" -"'git cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]\n" -"\t[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID\n" +"When initially invoking `git am`, you give it the names of the mailboxes to " +"process. Upon seeing the first patch that does not apply, it aborts in the " +"middle. You can recover from this in one of two ways:" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:20 +#: en/git-am.txt:204 msgid "" -"Exports a commit from Git to a CVS checkout, making it easier to merge " -"patches from a Git repository into a CVS repository." +"skip the current patch by re-running the command with the `--skip` option." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:24 +#: en/git-am.txt:208 msgid "" -"Specify the name of a CVS checkout using the -w switch or execute it from " -"the root of the CVS working copy. In the latter case GIT_DIR must be " -"defined. See examples below." +"hand resolve the conflict in the working directory, and update the index " +"file to bring it into a state that the patch should have produced. Then run " +"the command with the `--continue` option." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:28 +#: en/git-am.txt:213 msgid "" -"It does its best to do the safe thing, it will check that the files are " -"unchanged and up to date in the CVS checkout, and it will not autocommit by " -"default." +"The command refuses to process new mailboxes until the current operation is " +"finished, so if you decide to start over from scratch, run `git am --abort` " +"before running the command with mailbox names." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:30 +#: en/git-am.txt:219 msgid "" -"Supports file additions, removals, and commits that affect binary files." +"Before any patches are applied, ORIG_HEAD is set to the tip of the current " +"branch. This is useful if you have problems with multiple commits, like " +"running 'git am' on the wrong branch or an error in the commits that is more " +"easily fixed by changing the mailbox (e.g. errors in the \"From:\" lines)." msgstr "" +#. type: Title - +#: en/git-am.txt:221 en/git-commit.txt:464 en/git-gc.txt:171 +#, no-wrap +msgid "HOOKS" +msgstr "CROCHETS" + #. type: Plain text -#: en/git-cvsexportcommit.txt:33 +#: en/git-am.txt:225 +#, fuzzy +#| msgid "" +#| "This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, " +#| "and `post-commit` hooks. See linkgit:githooks[5] for more information." msgid "" -"If the commit is a merge commit, you must tell 'git cvsexportcommit' what " -"parent the changeset should be done against." +"This command can run `applypatch-msg`, `pre-applypatch`, and `post-" +"applypatch` hooks. See linkgit:githooks[5] for more information." msgstr "" +"Cette commande peut lancer les crochets `commit-msg`, `prepare-commit-msg`, " +"`pre-commit` et `post-commit`. Voir linkgit:githooks[5] pour de plus amples " +"informations." #. type: Plain text -#: en/git-cvsexportcommit.txt:40 -msgid "" -"Commit automatically if the patch applied cleanly. It will not commit if any " -"hunks fail to apply or there were other problems." -msgstr "" +#: en/git-am.txt:229 +msgid "linkgit:git-apply[1]." +msgstr "linkgit:git-apply[1]." + +#. type: Title = +#: en/git-annotate.txt:2 +#, no-wrap +msgid "git-annotate(1)" +msgstr "git-annotate(1)" #. type: Plain text -#: en/git-cvsexportcommit.txt:44 -msgid "" -"Be pedantic (paranoid) when applying patches. Invokes patch with --fuzz=0" +#: en/git-annotate.txt:7 +msgid "git-annotate - Annotate file lines with commit information" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:48 -msgid "" -"Add authorship information. Adds Author line, and Committer (if different " -"from Author) to the message." +#: en/git-annotate.txt:12 +#, no-wrap +msgid "'git annotate' [options] file [revision]\n" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:53 +#: en/git-annotate.txt:17 msgid "" -"Set an alternative CVSROOT to use. This corresponds to the CVS -d " -"parameter. Usually users will not want to set this, except if using CVS in " -"an asymmetric fashion." +"Annotates each line in the given file with information from the commit which " +"introduced the line. Optionally annotates from a given revision." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:56 -msgid "Force the merge even if the files are not up to date." +#: en/git-annotate.txt:22 +msgid "" +"The only difference between this command and linkgit:git-blame[1] is that " +"they use slightly different output formats, and this command exists only for " +"backward compatibility to support existing scripts, and provide a more " +"familiar command name for people coming from other SCM systems." msgstr "" -#. type: Labeled list -#: en/git-cvsexportcommit.txt:57 en/git-grep.txt:162 +#. type: Title = +#: en/git-apply.txt:2 #, no-wrap -msgid "-P" -msgstr "" +msgid "git-apply(1)" +msgstr "git-apply(1)" +# #. type: Plain text -#: en/git-cvsexportcommit.txt:59 -msgid "Force the parent commit, even if it is not a direct parent." -msgstr "" +#: en/git-apply.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-apply - Apply a patch to files and/or to the index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-cvsexportcommit.txt:63 +#: en/git-apply.txt:20 +#, no-wrap msgid "" -"Prepend the commit message with the provided prefix. Useful for patch " -"series and the like." +"'git apply' [--stat] [--numstat] [--summary] [--check] [--index] [--3way]\n" +"\t [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]\n" +"\t [--allow-binary-replacement | --binary] [--reject] [-z]\n" +"\t [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]\n" +"\t [--ignore-space-change | --ignore-whitespace]\n" +"\t [--whitespace=(nowarn|warn|fix|error|error-all)]\n" +"\t [--exclude=<path>] [--include=<path>] [--directory=<root>]\n" +"\t [--verbose] [--unsafe-paths] [<patch>...]\n" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:66 -msgid "Update affected files from CVS repository before attempting export." +#: en/git-apply.txt:30 +msgid "" +"Reads the supplied diff output (i.e. \"a patch\") and applies it to files. " +"When running from a subdirectory in a repository, patched paths outside the " +"directory are ignored. With the `--index` option the patch is also applied " +"to the index, and with the `--cached` option the patch is only applied to " +"the index. Without these options, the command applies the patch only to " +"files, and does not require them to be in a Git repository." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:70 +#: en/git-apply.txt:34 msgid "" -"Reverse CVS keyword expansion (e.g. $Revision: 1.2.3.4$ becomes $Revision$) " -"in working CVS checkout before applying patch." +"This command applies the patch but does not create a commit. Use linkgit:" +"git-am[1] to create commits from patches generated by linkgit:git-format-" +"patch[1] and/or received by email." msgstr "" +#. type: Labeled list +#: en/git-apply.txt:37 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "<patch>..." +msgstr "patch" + #. type: Plain text -#: en/git-cvsexportcommit.txt:76 +#: en/git-apply.txt:40 msgid "" -"Specify the location of the CVS checkout to use for the export. This option " -"does not require GIT_DIR to be set before execution if the current directory " -"is within a Git repository. The default is the value of 'cvsexportcommit." -"cvsdir'." +"The files to read the patch from. '-' can be used to read from the standard " +"input." msgstr "" +"Prendre le message de validation depuis le fichier indiqu챕. Utilisez '-' " +"pour lire le message depuis l'entr챕e standard." #. type: Labeled list -#: en/git-cvsexportcommit.txt:77 en/git-grep.txt:246 en/diff-options.txt:546 -#, no-wrap -msgid "-W" -msgstr "" +#: en/git-apply.txt:41 en/git-rebase.txt:314 en/merge-options.txt:55 +#, fuzzy, no-wrap +#| msgid "status" +msgid "--stat" +msgstr "status" #. type: Plain text -#: en/git-cvsexportcommit.txt:81 +#: en/git-apply.txt:44 msgid "" -"Tell cvsexportcommit that the current working directory is not only a Git " -"checkout, but also the CVS checkout. Therefore, Git will reset the working " -"directory to the parent commit before proceeding." +"Instead of applying the patch, output diffstat for the input. Turns off " +"\"apply\"." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:84 -msgid "Verbose." +#: en/git-apply.txt:51 +msgid "" +"Similar to `--stat`, but shows the number of added and deleted lines in " +"decimal notation and the pathname without abbreviation, to make it more " +"machine friendly. For binary files, outputs two `-` instead of saying `0 " +"0`. Turns off \"apply\"." msgstr "" -#. type: Labeled list -#: en/git-cvsexportcommit.txt:87 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "cvsexportcommit.cvsdir" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-apply.txt:57 +msgid "" +"Instead of applying the patch, output a condensed summary of information " +"obtained from git diff extended headers, such as creations, renames and mode " +"changes. Turns off \"apply\"." +msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:89 -msgid "The default location of the CVS checkout to use for the export." +#: en/git-apply.txt:62 +msgid "" +"Instead of applying the patch, see if the patch is applicable to the current " +"working tree and/or the index file and detects errors. Turns off \"apply\"." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:93 +#: en/git-apply.txt:63 en/git-checkout-index.txt:26 #, no-wrap -msgid "Merge one patch into CVS" +msgid "--index" msgstr "" -#. type: delimited block - -#: en/git-cvsexportcommit.txt:100 -#, no-wrap +#. type: Plain text +#: en/git-apply.txt:71 msgid "" -"$ export GIT_DIR=~/project/.git\n" -"$ cd ~/project_cvs_checkout\n" -"$ git cvsexportcommit -v <commit-sha1>\n" -"$ cvs commit -F .msg <files>\n" +"When `--check` is in effect, or when applying the patch (which is the " +"default when none of the options that disables it is in effect), make sure " +"the patch is applicable to what the current index file records. If the file " +"to be patched in the working tree is not up-to-date, it is flagged as an " +"error. This flag also causes the index file to be updated." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:102 +#: en/git-apply.txt:72 en/git-check-attr.txt:27 en/git-diff-index.txt:29 +#: en/git-grep.txt:72 en/git-ls-files.txt:36 en/git-rm.txt:58 +#: en/git-submodule.txt:300 #, no-wrap -msgid "Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo" +msgid "--cached" msgstr "" -#. type: delimited block - -#: en/git-cvsexportcommit.txt:106 -#, no-wrap -msgid "\t$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>\n" +#. type: Plain text +#: en/git-apply.txt:76 +msgid "" +"Apply a patch without touching the working tree. Instead take the cached " +"data, apply the patch, and store the result in the index without using the " +"working tree. This implies `--index`." +msgstr "" + +#. type: Plain text +#: en/git-apply.txt:85 +msgid "" +"When the patch does not apply cleanly, fall back on 3-way merge if the patch " +"records the identity of blobs it is supposed to apply to, and we have those " +"blobs available locally, possibly leaving the conflict markers in the files " +"in the working tree for the user to resolve. This option implies the `--" +"index` option, and is incompatible with the `--reject` and the `--cached` " +"options." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:108 +#: en/git-apply.txt:86 #, no-wrap -msgid "Merge pending patches into CVS automatically -- only if you really know what you are doing" +msgid "--build-fake-ancestor=<file>" msgstr "" -#. type: delimited block - -#: en/git-cvsexportcommit.txt:114 -#, no-wrap +#. type: Plain text +#: en/git-apply.txt:92 msgid "" -"$ export GIT_DIR=~/project/.git\n" -"$ cd ~/project_cvs_checkout\n" -"$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v\n" +"Newer 'git diff' output has embedded 'index information' for each blob to " +"help identify the original version that the patch applies to. When this " +"flag is given, and if the original versions of the blobs are available " +"locally, builds a temporary index containing those blobs." msgstr "" -#. type: Title = -#: en/git-cvsimport.txt:2 +#. type: Plain text +#: en/git-apply.txt:95 +msgid "" +"When a pure mode change is encountered (which has no index information), the " +"information is read from the current index instead." +msgstr "" + +#. type: Labeled list +#: en/git-apply.txt:97 en/rev-list-options.txt:659 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-cvsimport(1)" -msgstr "git-commit(1)" +#| msgid "revert" +msgid "--reverse" +msgstr "revert" #. type: Plain text -#: en/git-cvsimport.txt:7 -msgid "" -"git-cvsimport - Salvage your data out of another SCM people love to hate" +#: en/git-apply.txt:99 +#, fuzzy +#| msgid "" +#| "-v::\n" +#| "--verbose::\n" +#| " Be verbose.\n" +msgid "Apply the patch in reverse." msgstr "" +"-v::\n" +"--verbose::\n" +" Mode bavard.\n" #. type: Plain text -#: en/git-cvsimport.txt:17 -#, no-wrap +#: en/git-apply.txt:106 msgid "" -"'git cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]\n" -"\t [-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]\n" -"\t [-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]\n" -"\t [-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]\n" -"\t [-r <remote>] [-R] [<CVS_module>]\n" +"For atomicity, 'git apply' by default fails the whole patch and does not " +"touch the working tree when some of the hunks do not apply. This option " +"makes it apply the parts of the patch that are applicable, and leave the " +"rejected hunks in corresponding *.rej files." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:26 -#, no-wrap +#: en/git-apply.txt:110 msgid "" -"*WARNING:* `git cvsimport` uses cvsps version 2, which is considered\n" -"deprecated; it does not work with cvsps version 3 and later. If you are\n" -"performing a one-shot import of a CVS repository consider using\n" -"http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or\n" -"http://www.catb.org/esr/cvs-fast-export/[cvs-fast-export].\n" +"When `--numstat` has been given, do not munge pathnames, but use a NUL-" +"terminated machine-readable format." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:29 +#: en/git-apply.txt:118 msgid "" -"Imports a CVS repository into Git. It will either create a new repository, " -"or incrementally import into an existing one." +"Remove <n> leading slashes from traditional diff paths. The default is 1." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:32 +#: en/git-apply.txt:124 en/git-rebase.txt:334 msgid "" -"Splitting the CVS log into patch sets is done by 'cvsps'. At least version " -"2.1 is required." +"Ensure at least <n> lines of surrounding context match before and after each " +"change. When fewer lines of surrounding context exist they all must match. " +"By default no context is ever ignored." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:35 +#. type: Labeled list +#: en/git-apply.txt:125 #, no-wrap -msgid "" -"*WARNING:* for certain situations the import leads to incorrect results.\n" -"Please see the section <<issues,ISSUES>> for further reference.\n" +msgid "--unidiff-zero" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:42 +#: en/git-apply.txt:131 msgid "" -"You should *never* do any work of your own on the branches that are created " -"by 'git cvsimport'. By default initial import will create and populate a " -"\"master\" branch from the CVS repository's main branch which you're free to " -"work with; after that, you need to 'git merge' incremental imports, or any " -"CVS branches, yourself. It is advisable to specify a named remote via -r to " -"separate and protect the incoming branches." +"By default, 'git apply' expects that the patch being applied is a unified " +"diff with at least one line of context. This provides good safety measures, " +"but breaks down when applying a diff generated with `--unified=0`. To bypass " +"these checks use `--unidiff-zero`." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:48 +#: en/git-apply.txt:134 msgid "" -"If you intend to set up a shared public repository that all developers can " -"read/write, or if you want to use linkgit:git-cvsserver[1], then you " -"probably want to make a bare clone of the imported repository, and use the " -"clone as the shared repository. See linkgit:gitcvs-migration[7]." +"Note, for the reasons stated above usage of context-free patches is " +"discouraged." msgstr "" +#. type: Labeled list +#: en/git-apply.txt:135 +#, fuzzy, no-wrap +#| msgid "git-apply(1)" +msgid "--apply" +msgstr "git-apply(1)" + #. type: Plain text -#: en/git-cvsimport.txt:54 -msgid "Verbosity: let 'cvsimport' report what it is doing." +#: en/git-apply.txt:141 +msgid "" +"If you use any of the options marked \"Turns off 'apply'\" above, 'git " +"apply' reads and outputs the requested information without actually applying " +"the patch. Give this flag after those flags to also apply the patch." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:55 +#: en/git-apply.txt:142 #, no-wrap -msgid "-d <CVSROOT>" +msgid "--no-add" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:61 +#: en/git-apply.txt:148 msgid "" -"The root of the CVS archive. May be local (a simple path) or remote; " -"currently, only the :local:, :ext: and :pserver: access methods are " -"supported. If not given, 'git cvsimport' will try to read it from `CVS/" -"Root`. If no such file exists, it checks for the `CVSROOT` environment " -"variable." +"When applying a patch, ignore additions made by the patch. This can be used " +"to extract the common part between two files by first running 'diff' on them " +"and applying the result with this option, which would apply the deletion " +"part but not the addition part." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:62 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "<CVS_module>" -msgstr "git-add(1)" +#: en/git-apply.txt:149 +#, no-wrap +msgid "--allow-binary-replacement" +msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:66 +#: en/git-apply.txt:155 msgid "" -"The CVS module you want to import. Relative to <CVSROOT>. If not given, " -"'git cvsimport' tries to read it from `CVS/Repository`." +"Historically we did not allow binary patch applied without an explicit " +"permission from the user, and this flag was the way to do so. Currently we " +"always allow binary patch application, so this is a no-op." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:67 +#: en/git-apply.txt:156 #, no-wrap -msgid "-C <target-dir>" -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:69 -msgid "The Git repository to import to. If the directory doesn't" +msgid "--exclude=<path-pattern>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:70 -#, no-wrap -msgid "exist, it will be created. Default is the current directory.\n" +#: en/git-apply.txt:160 +msgid "" +"Don't apply changes to files matching the given path pattern. This can be " +"useful when importing patchsets, where you want to exclude certain files or " +"directories." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:71 +#: en/git-apply.txt:161 #, no-wrap -msgid "-r <remote>" +msgid "--include=<path-pattern>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:75 +#: en/git-apply.txt:165 msgid "" -"The Git remote to import this CVS repository into. Moves all CVS branches " -"into remotes/<remote>/<branch> akin to the way 'git clone' uses 'origin' by " -"default." +"Apply changes to files matching the given path pattern. This can be useful " +"when importing patchsets, where you want to include certain files or " +"directories." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:76 -#, no-wrap -msgid "-o <branch-for-HEAD>" +#. type: Plain text +#: en/git-apply.txt:171 +msgid "" +"When `--exclude` and `--include` patterns are used, they are examined in the " +"order they appear on the command line, and the first match determines if a " +"patch to each path is used. A patch to a path that does not match any " +"include/exclude pattern is used by default if there is no include pattern on " +"the command line, and ignored if there is any include pattern." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:84 +#: en/git-apply.txt:179 msgid "" -"When no remote is specified (via -r) the `HEAD` branch from CVS is imported " -"to the 'origin' branch within the Git repository, as `HEAD` already has a " -"special meaning for Git. When a remote is specified the `HEAD` branch is " -"named remotes/<remote>/master mirroring 'git clone' behaviour. Use this " -"option if you want to import into a different branch." +"When applying a patch, ignore changes in whitespace in context lines if " +"necessary. Context lines will preserve their whitespace, and they will not " +"undergo whitespace fixing regardless of the value of the `--whitespace` " +"option. New lines will still be fixed, though." msgstr "" +#. type: Labeled list +#: en/git-apply.txt:180 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "--whitespace=<action>" +msgstr "whitespace" + #. type: Plain text -#: en/git-cvsimport.txt:87 +#: en/git-apply.txt:188 msgid "" -"Use '-o master' for continuing an import that was initially done by the old " -"cvs2git tool." +"When applying a patch, detect a new or modified line that has whitespace " +"errors. What are considered whitespace errors is controlled by `core." +"whitespace` configuration. By default, trailing whitespaces (including " +"lines that solely consist of whitespaces) and a space character that is " +"immediately followed by a tab character inside the initial indent of the " +"line are considered whitespace errors." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:92 +#: en/git-apply.txt:192 msgid "" -"Import-only: don't perform a checkout after importing. This option ensures " -"the working directory and index remain untouched and will not create them if " -"they do not exist." +"By default, the command outputs warning messages but applies the patch. " +"When `git-apply` is used for statistics and not applying a patch, it " +"defaults to `nowarn`." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:97 +#: en/git-apply.txt:195 +msgid "You can use different `<action>` values to control this behavior:" +msgstr "" + +#. type: Plain text +#: en/git-apply.txt:197 +msgid "`nowarn` turns off the trailing whitespace warning." +msgstr "" + +#. type: Plain text +#: en/git-apply.txt:199 msgid "" -"Kill keywords: will extract files with '-kk' from the CVS archive to avoid " -"noisy changesets. Highly recommended, but off by default to preserve " -"compatibility with early imported trees." +"`warn` outputs warnings for a few such errors, but applies the patch as-is " +"(default)." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:100 -msgid "Convert underscores in tag and branch names to dots." +#: en/git-apply.txt:203 +msgid "" +"`fix` outputs warnings for a few such errors, and applies the patch after " +"fixing them (`strip` is a synonym --- the tool used to consider only " +"trailing whitespace characters as errors, and the fix involved 'stripping' " +"them, but modern Gits do more)." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:101 -#, no-wrap -msgid "-s <subst>" +#. type: Plain text +#: en/git-apply.txt:205 +msgid "" +"`error` outputs warnings for a few such errors, and refuses to apply the " +"patch." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:103 -msgid "Substitute the character \"/\" in branch names with <subst>" +#: en/git-apply.txt:206 +msgid "`error-all` is similar to `error` but shows all errors." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:104 +#: en/git-apply.txt:207 #, no-wrap -msgid "-p <options-for-cvsps>" +msgid "--inaccurate-eof" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:107 +#: en/git-apply.txt:213 msgid "" -"Additional options for cvsps. The options `-u` and '-A' are implicit and " -"should not be used here." +"Under certain circumstances, some versions of 'diff' do not correctly detect " +"a missing new-line at the end of the file. As a result, patches created by " +"such 'diff' programs do not record incomplete lines correctly. This option " +"adds support for applying such patches by working around this bug." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:109 -msgid "If you need to pass multiple options, separate them with a comma." +#: en/git-apply.txt:219 +msgid "" +"Report progress to stderr. By default, only a message about the current " +"patch being applied will be printed. This option will cause additional " +"information to be reported." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:110 +#: en/git-apply.txt:220 #, no-wrap -msgid "-z <fuzz>" +msgid "--recount" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:113 +#: en/git-apply.txt:224 msgid "" -"Pass the timestamp fuzz factor to cvsps, in seconds. If unset, cvsps " -"defaults to 300s." +"Do not trust the line counts in the hunk headers, but infer them by " +"inspecting the patch (e.g. after editing the patch without adjusting the " +"hunk headers appropriately)." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:114 +#: en/git-apply.txt:225 #, no-wrap -msgid "-P <cvsps-output-file>" +msgid "--directory=<root>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:117 +#: en/git-apply.txt:228 msgid "" -"Instead of calling cvsps, read the provided cvsps output file. Useful for " -"debugging or when cvsps is being handled outside cvsimport." +"Prepend <root> to all filenames. If a \"-p\" argument was also passed, it " +"is applied before prepending the new root." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:122 +#: en/git-apply.txt:232 msgid "" -"Attempt to detect merges based on the commit message. This option will " -"enable default regexes that try to capture the source branch name from the " -"commit message." +"For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui." +"sh` can be applied to the file in the working tree `modules/git-gui/git-gui." +"sh` by running `git apply --directory=modules/git-gui`." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:123 +#: en/git-apply.txt:233 #, no-wrap -msgid "-M <regex>" +msgid "--unsafe-paths" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:127 +#: en/git-apply.txt:238 msgid "" -"Attempt to detect merges based on the commit message with a custom regex. It " -"can be used with `-m` to enable the default regexes as well. You must escape " -"forward slashes." -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:129 -msgid "The regex must capture the source branch name in $1." +"By default, a patch that affects outside the working area (either a Git " +"controlled working tree, or the current working directory when \"git apply\" " +"is used as a replacement of GNU patch) is rejected as a mistake (or a " +"mischief)." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:131 +#: en/git-apply.txt:242 msgid "" -"This option can be used several times to provide several detection regexes." -msgstr "" - -#. type: Labeled list -#: en/git-cvsimport.txt:132 -#, no-wrap -msgid "-S <regex>" +"When `git apply` is used as a \"better GNU patch\", the user can pass the `--" +"unsafe-paths` option to override this safety check. This option has no " +"effect when `--index` or `--cached` is in use." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:134 -msgid "Skip paths matching the regex." +#: en/git-apply.txt:250 +msgid "" +"Set to 'change' if you want changes in whitespace to be ignored by default. " +"Set to one of: no, none, never, false if you want changes in whitespace to " +"be significant." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:138 +#: en/git-apply.txt:253 msgid "" -"Import all commits, including recent ones. cvsimport by default skips " -"commits that have a timestamp less than 10 minutes ago." +"When no `--whitespace` flag is given from the command line, this " +"configuration item is used as the default." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:139 -#, no-wrap -msgid "-L <limit>" -msgstr "" +#. type: Title - +#: en/git-apply.txt:255 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "Submodules" +msgstr "git-add(1)" #. type: Plain text -#: en/git-cvsimport.txt:142 +#: en/git-apply.txt:258 msgid "" -"Limit the number of commits imported. Workaround for cases where cvsimport " -"leaks memory." +"If the patch contains any changes to submodules then 'git apply' treats " +"these changes as follows." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:143 -#, no-wrap -msgid "-A <author-conv-file>" +#. type: Plain text +#: en/git-apply.txt:264 +msgid "" +"If `--index` is specified (explicitly or implicitly), then the submodule " +"commits must match the index exactly for the patch to apply. If any of the " +"submodules are checked-out, then these check-outs are completely ignored, i." +"e., they are not required to be up-to-date or clean and they are not updated." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:148 +#: en/git-apply.txt:268 msgid "" -"CVS by default uses the Unix username when writing its commit logs. Using " -"this option and an author-conv-file maps the name recorded in CVS to author " -"name, e-mail and optional time zone:" +"If `--index` is not specified, then the submodule commits in the patch are " +"ignored and only the absence or presence of the corresponding subdirectory " +"is checked and (if possible) updated." msgstr "" -#. type: delimited block - -#: en/git-cvsimport.txt:152 +#. type: Plain text +#: en/git-apply.txt:272 +msgid "linkgit:git-am[1]." +msgstr "linkgit:git-am[1]." + +#. type: Title = +#: en/git-archimport.txt:2 #, no-wrap -msgid "" -"\texon=Andreas Ericsson <ae@op5.se>\n" -"\tspawn=Simon Pawn <spawn@frog-pond.org> America/Chicago\n" -msgstr "" +msgid "git-archimport(1)" +msgstr "git-archimport(1)" #. type: Plain text -#: en/git-cvsimport.txt:159 -msgid "" -"'git cvsimport' will make it appear as those authors had their " -"GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly all along. If a time zone " -"is specified, GIT_AUTHOR_DATE will have the corresponding offset applied." +#: en/git-archimport.txt:7 +msgid "git-archimport - Import an Arch repository into Git" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:163 +#: en/git-archimport.txt:14 +#, no-wrap msgid "" -"For convenience, this data is saved to `$GIT_DIR/cvs-authors` each time the " -"'-A' option is provided and read from that same file each time 'git " -"cvsimport' is run." +"'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]\n" +" <archive/branch>[:<git-branch>] ...\n" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:167 +#: en/git-archimport.txt:22 msgid "" -"It is not recommended to use this feature if you intend to export changes " -"back to CVS again later with 'git cvsexportcommit'." +"Imports a project from one or more Arch repositories. It will follow " +"branches and repositories within the namespaces defined by the <archive/" +"branch> parameters supplied. If it cannot find the remote branch a merge " +"comes from it will just import it as a regular commit. If it can find it, it " +"will mark it as a merge whenever possible (see discussion below)." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:173 +#: en/git-archimport.txt:26 msgid "" -"Generate a `$GIT_DIR/cvs-revisions` file containing a mapping from CVS " -"revision numbers to newly-created Git commit IDs. The generated file will " -"contain one line for each (filename, revision) pair imported; each line will " -"look like" -msgstr "" - -#. type: delimited block - -#: en/git-cvsimport.txt:176 -#, no-wrap -msgid "src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7\n" +"The script expects you to provide the key roots where it can start the " +"import from an 'initial import' or 'tag' type of Arch commit. It will follow " +"and import new branches within the provided roots." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:180 +#: en/git-archimport.txt:31 msgid "" -"The revision data is appended to the file if it already exists, for use when " -"doing incremental imports." +"It expects to be dealing with one project only. If it sees branches that " +"have different roots, it will refuse to run. In that case, edit your " +"<archive/branch> parameters to define clearly the scope of the import." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:183 +#: en/git-archimport.txt:36 msgid "" -"This option may be useful if you have CVS revision numbers stored in commit " -"messages, bug-tracking systems, email archives, and the like." +"'git archimport' uses `tla` extensively in the background to access the Arch " +"repository. Make sure you have a recent version of `tla` available in the " +"path. `tla` must know about the repositories you pass to 'git archimport'." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:186 -msgid "Print a short usage message and exit." +#: en/git-archimport.txt:41 +msgid "" +"For the initial import, 'git archimport' expects to find itself in an empty " +"directory. To follow the development of a project that uses Arch, rerun 'git " +"archimport' with the same parameters as the initial import to perform " +"incremental imports." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:190 -msgid "If `-v` is specified, the script reports what it is doing." +#: en/git-archimport.txt:48 +msgid "" +"While 'git archimport' will try to create sensible branch names for the " +"archives that it imports, it is also possible to specify Git branch names " +"manually. To do so, write a Git branch name after each <archive/branch> " +"parameter, separated by a colon. This way, you can shorten the Arch branch " +"names and convert Arch jargon to Git jargon, for example mapping a " +"\"PROJECT{litdd}devo{litdd}VERSION\" branch to \"master\"." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:193 +#: en/git-archimport.txt:53 msgid "" -"Otherwise, success is indicated the Unix way, i.e. by simply exiting with a " -"zero exit status." +"Associating multiple Arch branches to one Git branch is possible; the result " +"will make the most sense only if no commits are made to the first branch, " +"after the second branch is created. Still, this is useful to convert Arch " +"repositories that had been rotated periodically." msgstr "" #. type: Title - -#: en/git-cvsimport.txt:196 +#: en/git-archimport.txt:56 #, no-wrap -msgid "ISSUES" -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:198 -msgid "Problems related to timestamps:" +msgid "MERGES" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:202 +#: en/git-archimport.txt:62 msgid "" -"If timestamps of commits in the CVS repository are not stable enough to be " -"used for ordering commits changes may show up in the wrong order." +"Patch merge data from Arch is used to mark merges in Git as well. Git does " +"not care much about tracking patches, and only considers a merge when a " +"branch incorporates all the commits since the point they forked. The end " +"result is that Git will have a good idea of how far branches have diverged. " +"So the import process does lose some patch-trading metadata." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:204 +#: en/git-archimport.txt:66 msgid "" -"If any files were ever \"cvs import\"ed more than once (e.g., import of more " -"than one vendor release) the HEAD contains the wrong content." +"Fortunately, when you try and merge branches imported from Arch, Git will " +"find a good merge base, and it has a good chance of identifying patches that " +"have been traded out-of-sequence between the branches." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:207 -msgid "" -"If the timestamp order of different files cross the revision order within " -"the commit matching time window the order of commits may be wrong." +#: en/git-archimport.txt:72 +msgid "Display usage." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:209 -msgid "Problems related to branches:" +#: en/git-archimport.txt:75 +msgid "Verbose output." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:211 -msgid "Branches on which no commits have been made are not imported." +#. type: Labeled list +#: en/git-archimport.txt:76 +#, no-wrap +msgid "-T" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:213 +#: en/git-archimport.txt:79 msgid "" -"All files from the branching point are added to a branch even if never added " -"in CVS." +"Many tags. Will create a tag for every commit, reflecting the commit name in " +"the Arch repository." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:216 +#: en/git-archimport.txt:84 msgid "" -"This applies to files added to the source branch *after* a daughter branch " -"was created: if previously no commit was made on the daughter branch they " -"will erroneously be added to the daughter branch in git." +"Use the fast patchset import strategy. This can be significantly faster for " +"large trees, but cannot handle directory renames or permissions changes. " +"The default strategy is slow and safe." msgstr "" +#. type: Labeled list +#: en/git-archimport.txt:85 en/git-commit.txt:260 en/git-ls-files.txt:47 +#: en/git-merge-index.txt:29 en/git-push.txt:159 +#, no-wrap +msgid "-o" +msgstr "-o" + #. type: Plain text -#: en/git-cvsimport.txt:218 -msgid "Problems related to tags:" +#: en/git-archimport.txt:92 +msgid "" +"Use this for compatibility with old-style branch names used by earlier " +"versions of 'git archimport'. Old-style branch names were category{litdd}" +"branch, whereas new-style branch names are archive,category{litdd}" +"branch{litdd}version. In both cases, names given on the command-line will " +"override the automatically-generated ones." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:220 -msgid "Multiple tags on the same revision are not imported." +#. type: Labeled list +#: en/git-archimport.txt:93 +#, no-wrap +msgid "-D <depth>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:223 +#: en/git-archimport.txt:97 msgid "" -"If you suspect that any of these issues may apply to the repository you want " -"to import, consider using cvs2git:" +"Follow merge ancestry and attempt to import trees that have been merged " +"from. Specify a depth greater than 1 if patch logs have been pruned." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:225 -msgid "cvs2git (part of cvs2svn), `http://subversion.apache.org/`" +#: en/git-archimport.txt:101 +msgid "" +"Attempt to auto-register archives at http://mirrors.sourcecontrol.net This " +"is particularly useful with the -D option." msgstr "" -#. type: Title = -#: en/git-cvsserver.txt:2 +#. type: Labeled list +#: en/git-archimport.txt:102 #, no-wrap -msgid "git-cvsserver(1)" +msgid "-t <tmpdir>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:7 -msgid "git-cvsserver - A CVS server emulator for Git" +#: en/git-archimport.txt:104 +msgid "Override the default tempdir." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:12 -msgid "SSH:" +#. type: Labeled list +#: en/git-archimport.txt:106 +#, no-wrap +msgid "<archive/branch>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:16 -#, no-wrap -msgid "" -"export CVS_SERVER=\"git cvsserver\"\n" -"'cvs' -d :ext:user@server/path/repo.git co <HEAD_name>\n" +#: en/git-archimport.txt:108 +msgid "Archive/branch identifier in a format that `tla log` understands." msgstr "" +#. type: Title = +#: en/git-archive.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-archive(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-cvsserver.txt:18 -msgid "pserver (/etc/inetd.conf):" +#: en/git-archive.txt:7 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "git-archive - Create an archive of files from a named tree" msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-cvsserver.txt:21 +#: en/git-archive.txt:16 #, no-wrap -msgid "cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver\n" +msgid "" +"'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]\n" +"\t [-o <file> | --output=<file>] [--worktree-attributes]\n" +"\t [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>\n" +"\t [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:23 -msgid "Usage:" +#: en/git-archive.txt:23 +msgid "" +"Creates an archive of the specified format containing the tree structure for " +"the named tree, and writes it out to the standard output. If <prefix> is " +"specified it is prepended to the filenames in the archive." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:26 -#, no-wrap -msgid "'git-cvsserver' [options] [pserver|server] [<directory> ...]\n" +#: en/git-archive.txt:32 +msgid "" +"'git archive' behaves differently when given a tree ID versus when given a " +"commit ID or tag ID. In the first case the current time is used as the " +"modification time of each file in the archive. In the latter case the " +"commit time as recorded in the referenced commit object is used instead. " +"Additionally the commit ID is stored in a global extended pax header if the " +"tar format is used; it can be extracted using 'git get-tar-commit-id'. In " +"ZIP files it is stored as a file comment." msgstr "" +#. type: Labeled list +#: en/git-archive.txt:36 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--format=<fmt>" +msgstr "Configuration" + #. type: Plain text -#: en/git-cvsserver.txt:33 +#: en/git-archive.txt:42 msgid "" -"All these options obviously only make sense if enforced by the server side. " -"They have been implemented to resemble the linkgit:git-daemon[1] options as " -"closely as possible." +"Format of the resulting archive: 'tar' or 'zip'. If this option is not " +"given, and the output file is specified, the format is inferred from the " +"filename if possible (e.g. writing to \"foo.zip\" makes the output to be in " +"the zip format). Otherwise the output format is `tar`." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:34 +#: en/git-archive.txt:44 en/git-branch.txt:144 en/git-config.txt:160 +#: en/git-show-branch.txt:80 #, no-wrap -msgid "--base-path <path>" +msgid "--list" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:36 -msgid "Prepend 'path' to requested CVSROOT" +#: en/git-archive.txt:46 +msgid "Show all available formats." +msgstr "" + +#. type: Plain text +#: en/git-archive.txt:50 +#, fuzzy +#| msgid "" +#| "-v::\n" +#| "--verbose::\n" +#| " Be verbose.\n" +msgid "Report progress to stderr." msgstr "" +"-v::\n" +"--verbose::\n" +" Mode bavard.\n" #. type: Labeled list -#: en/git-cvsserver.txt:37 en/git-daemon.txt:48 +#: en/git-archive.txt:51 en/git-read-tree.txt:84 en/git-write-tree.txt:35 #, no-wrap -msgid "--strict-paths" +msgid "--prefix=<prefix>/" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:39 -msgid "Don't allow recursing into subdirectories" +#: en/git-archive.txt:53 +msgid "Prepend <prefix>/ to each filename in the archive." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:40 en/git-daemon.txt:77 +#: en/git-archive.txt:54 #, no-wrap -msgid "--export-all" +msgid "-o <file>" +msgstr "" + +#. type: Labeled list +#: en/git-archive.txt:55 +#, no-wrap +msgid "--output=<file>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:43 -msgid "" -"Don't check for `gitcvs.enabled` in config. You also have to specify a list " -"of allowed directories (see below) if you want to use this option." +#: en/git-archive.txt:57 +msgid "Write the archive to <file> instead of stdout." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:44 +#: en/git-archive.txt:58 #, no-wrap -msgid "-V" +msgid "--worktree-attributes" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:47 -msgid "Print version information and exit" +#: en/git-archive.txt:61 +msgid "" +"Look for attributes in .gitattributes files in the working tree as well (see " +"<<ATTRIBUTES>>)." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:52 -msgid "Print usage information and exit" +#. type: Labeled list +#: en/git-archive.txt:62 +#, no-wrap +msgid "<extra>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:58 +#: en/git-archive.txt:65 msgid "" -"You can specify a list of allowed directories. If no directories are given, " -"all are allowed. This is an additional restriction, gitcvs access still " -"needs to be enabled by the `gitcvs.enabled` config option unless `--export-" -"all` was given, too." +"This can be any options that the archiver backend understands. See next " +"section." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:64 -msgid "This application is a CVS emulation layer for Git." +#. type: Labeled list +#: en/git-archive.txt:66 +#, no-wrap +msgid "--remote=<repo>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:68 +#: en/git-archive.txt:72 msgid "" -"It is highly functional. However, not all methods are implemented, and for " -"those methods that are implemented, not all switches are implemented." +"Instead of making a tar archive from the local repository, retrieve a tar " +"archive from a remote repository. Note that the remote repository may place " +"restrictions on which sha1 expressions may be allowed in `<tree-ish>`. See " +"linkgit:git-upload-archive[1] for details." msgstr "" +#. type: Labeled list +#: en/git-archive.txt:73 +#, no-wrap +msgid "--exec=<git-upload-archive>" +msgstr "--exec=<git-upload-archive>" + #. type: Plain text -#: en/git-cvsserver.txt:71 +#: en/git-archive.txt:76 msgid "" -"Testing has been done using both the CLI CVS client, and the Eclipse CVS " -"plugin. Most functionality works fine with both of these clients." +"Used with --remote to specify the path to the 'git-upload-archive' on the " +"remote side." msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:73 +#. type: Labeled list +#: en/git-archive.txt:77 en/git-checkout.txt:281 en/git-diff-index.txt:26 +#: en/git-diff-tree.txt:29 en/git-ls-tree.txt:38 en/git.txt:792 #, no-wrap -msgid "LIMITATIONS" +msgid "<tree-ish>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:76 -msgid "CVS clients cannot tag, branch or perform Git merges." +#: en/git-archive.txt:79 +msgid "The tree or commit to produce an archive for." +msgstr "" + +#. type: Labeled list +#: en/git-archive.txt:80 +#, no-wrap +msgid "<path>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:80 +#: en/git-archive.txt:84 msgid "" -"'git-cvsserver' maps Git branches to CVS modules. This is very different " -"from what most CVS users would expect since in CVS modules usually represent " -"one or more directories." +"Without an optional path parameter, all files and subdirectories of the " +"current working directory are included in the archive. If one or more paths " +"are specified, only these are included." msgstr "" #. type: Title - -#: en/git-cvsserver.txt:82 +#: en/git-archive.txt:86 #, no-wrap -msgid "INSTALLATION" +msgid "BACKEND EXTRA OPTIONS" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:86 -msgid "" -"If you are going to offer CVS access via pserver, add a line in /etc/inetd." -"conf like" +#. type: Title ~ +#: en/git-archive.txt:89 +#, no-wrap +msgid "zip" msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:90 +#. type: Labeled list +#: en/git-archive.txt:90 en/git-diff-files.txt:28 #, no-wrap -msgid " cvspserver stream tcp nowait nobody git-cvsserver pserver\n" +msgid "-0" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:96 -msgid "" -"Note: Some inetd servers let you specify the name of the executable " -"independently of the value of argv[0] (i.e. the name the program assumes it " -"was executed with). In this case the correct line in /etc/inetd.conf looks " -"like" +#: en/git-archive.txt:92 +msgid "Store the files instead of deflating them." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:99 +#. type: Labeled list +#: en/git-archive.txt:92 #, no-wrap -msgid " cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver\n" +msgid "-9" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:106 +#: en/git-archive.txt:95 msgid "" -"Only anonymous access is provided by pserve by default. To commit you will " -"have to create pserver accounts, simply add a gitcvs.authdb setting in the " -"config file of the repositories you want the cvsserver to allow writes to, " -"for example:" +"Highest and slowest compression level. You can specify any number from 1 to " +"9 to adjust compression speed and ratio." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:111 +#. type: Title - +#: en/git-archive.txt:98 en/git-cvsexportcommit.txt:86 +#: en/git-fmt-merge-msg.txt:53 en/git-format-patch.txt:287 en/git-grep.txt:42 +#: en/git-imap-send.txt:52 en/git-instaweb.txt:69 en/git-log.txt:170 +#: en/git-merge.txt:344 en/git-notes.txt:311 en/git-rebase.txt:204 +#: en/git-send-email.txt:402 en/git-status.txt:331 en/git-svn.txt:1045 +#: en/git-tag.txt:182 #, no-wrap -msgid "" -" [gitcvs]\n" -"\tauthdb = /etc/cvsserver/passwd\n" +msgid "CONFIGURATION" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:115 +#: en/git-archive.txt:107 msgid "" -"The format of these files is username followed by the encrypted password, " -"for example:" +"This variable can be used to restrict the permission bits of tar archive " +"entries. The default is 0002, which turns off the world write bit. The " +"special value \"user\" indicates that the archiving user's umask will be " +"used instead. See umask(2) for details. If `--remote` is used then only " +"the configuration of the remote repository takes effect." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:119 +#. type: Labeled list +#: en/git-archive.txt:108 #, no-wrap -msgid "" -" myuser:$1Oyx5r9mdGZ2\n" -" myuser:$1$BA)@$vbnMJMDym7tA32AamXrm./\n" +msgid "tar.<format>.command" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:123 +#: en/git-archive.txt:117 msgid "" -"You can use the 'htpasswd' facility that comes with Apache to make these " -"files, but Apache's MD5 crypt method differs from the one used by most C " -"library's crypt() function, so don't use the -m option." +"This variable specifies a shell command through which the tar output " +"generated by `git archive` should be piped. The command is executed using " +"the shell with the generated tar file on its standard input, and should " +"produce the final output on its standard output. Any compression-level " +"options will be passed to the command (e.g., \"-9\"). An output file with " +"the same extension as `<format>` will be use this format if no other format " +"is given." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:125 +#: en/git-archive.txt:120 msgid "" -"Alternatively you can produce the password with perl's crypt() operator:" +"The \"tar.gz\" and \"tgz\" formats are defined automatically and default to " +"`gzip -cn`. You may override them with custom commands." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:127 +#. type: Labeled list +#: en/git-archive.txt:121 #, no-wrap -msgid " perl -e 'my ($user, $pass) = @ARGV; printf \"%s:%s\\n\", $user, crypt($user, $pass)' $USER password\n" +msgid "tar.<format>.remote" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:130 -msgid "Then provide your password via the pserver method, for example:" +#: en/git-archive.txt:126 +msgid "" +"If true, enable `<format>` for use by remote clients via linkgit:git-upload-" +"archive[1]. Defaults to false for user-defined formats, but true for the " +"\"tar.gz\" and \"tgz\" formats." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:132 +#. type: Title - +#: en/git-archive.txt:129 #, no-wrap -msgid " cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co <HEAD_name>\n" +msgid "ATTRIBUTES" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:136 -msgid "" -"No special setup is needed for SSH access, other than having Git tools in " -"the PATH. If you have clients that do not accept the CVS_SERVER environment " -"variable, you can rename 'git-cvsserver' to `cvs`." +#. type: Labeled list +#: en/git-archive.txt:131 +#, no-wrap +msgid "export-ignore" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:139 +#: en/git-archive.txt:134 msgid "" -"Note: Newer CVS versions (>= 1.12.11) also support specifying CVS_SERVER " -"directly in CVSROOT like" +"Files and directories with the attribute export-ignore won't be added to " +"archive files. See linkgit:gitattributes[5] for details." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:142 +#. type: Labeled list +#: en/git-archive.txt:135 #, no-wrap -msgid "cvs -d \":ext;CVS_SERVER=git cvsserver:user@server/path/repo.git\" co <HEAD_name>\n" +msgid "export-subst" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:148 +#: en/git-archive.txt:139 msgid "" -"This has the advantage that it will be saved in your 'CVS/Root' files and " -"you don't need to worry about always setting the correct environment " -"variable. SSH users restricted to 'git-shell' don't need to override the " -"default with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to " -"mean 'git-cvsserver' and pretends that the other end runs the real 'cvs' " -"better." +"If the attribute export-subst is set for a file then Git will expand several " +"placeholders when adding this file to an archive. See linkgit:" +"gitattributes[5] for details." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:151 +#: en/git-archive.txt:147 msgid "" -"For each repo that you want accessible from CVS you need to edit config in " -"the repo and add the following section." +"Note that attributes are by default taken from the `.gitattributes` files in " +"the tree that is being archived. If you want to tweak the way the output is " +"generated after the fact (e.g. you committed without adding an appropriate " +"export-ignore in its `.gitattributes`), adjust the checked out `." +"gitattributes` file as necessary and use `--worktree-attributes` option. " +"Alternatively you can keep necessary attributes that should apply while " +"archiving any tree in your `$GIT_DIR/info/attributes` file." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:158 +#. type: Labeled list +#: en/git-archive.txt:150 #, no-wrap -msgid "" -" [gitcvs]\n" -" enabled=1\n" -" # optional for debugging\n" -"\tlogFile=/path/to/logfile\n" +msgid "`git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:164 +#: en/git-archive.txt:155 msgid "" -"Note: you need to ensure each user that is going to invoke 'git-cvsserver' " -"has write access to the log file and to the database (see <<dbbackend," -"Database Backend>>. If you want to offer write access over SSH, the users of " -"course also need write access to the Git repository itself." +"Create a tar archive that contains the contents of the latest commit on the " +"current branch, and extract it in the `/var/tmp/junk` directory." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:167 -msgid "" -"You also need to ensure that each repository is \"bare\" (without a Git " -"index file) for `cvs commit` to work. See linkgit:gitcvs-migration[7]." +#. type: Labeled list +#: en/git-archive.txt:156 +#, no-wrap +msgid "`git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:173 -msgid "" -"All configuration variables can also be overridden for a specific method of " -"access. Valid method names are \"ext\" (for SSH access) and \"pserver\". The " -"following example configuration would disable pserver access while still " -"allowing access over SSH." +#: en/git-archive.txt:159 +msgid "Create a compressed tarball for v1.4.0 release." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:176 +#. type: Labeled list +#: en/git-archive.txt:160 #, no-wrap -msgid "" -" [gitcvs]\n" -" enabled=0\n" +msgid "`git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz`" msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:179 +#. type: Plain text +#: en/git-archive.txt:163 +msgid "Same as above, but using the builtin tar.gz handling." +msgstr "" + +#. type: Labeled list +#: en/git-archive.txt:164 #, no-wrap -msgid "" -" [gitcvs \"ext\"]\n" -" enabled=1\n" +msgid "`git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:186 -msgid "" -"If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout " -"command, automatically saving it in your 'CVS/Root' files, then you need to " -"set them explicitly in your environment. CVSROOT should be set as per " -"normal, but the directory should point at the appropriate Git repo. As " -"above, for SSH clients _not_ restricted to 'git-shell', CVS_SERVER should be " -"set to 'git-cvsserver'." +#: en/git-archive.txt:167 +msgid "Same as above, but the format is inferred from the output file." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:191 +#. type: Labeled list +#: en/git-archive.txt:168 #, no-wrap -msgid "" -" export CVSROOT=:ext:user@server:/var/git/project.git\n" -" export CVS_SERVER=\"git cvsserver\"\n" +msgid "`git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:198 +#: en/git-archive.txt:172 msgid "" -"For SSH clients that will make commits, make sure their server-side .ssh/" -"environment files (or .bashrc, etc., according to their specific shell) " -"export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, " -"GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL. For SSH clients whose login " -"shell is bash, .bashrc may be a reasonable alternative." +"Create a compressed tarball for v1.4.0 release, but without a global " +"extended pax header." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:204 -msgid "" -"Clients should now be able to check out the project. Use the CVS 'module' " -"name to indicate what Git 'head' you want to check out. This also sets the " -"name of your newly checked-out directory, unless you tell it otherwise with " -"`-d <dir_name>`. For example, this checks out 'master' branch to the " -"`project-master` directory:" +#. type: Labeled list +#: en/git-archive.txt:173 +#, no-wrap +msgid "`git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip`" msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:207 -#, no-wrap -msgid " cvs co -d project-master master\n" +#. type: Plain text +#: en/git-archive.txt:177 +msgid "" +"Put everything in the current head's Documentation/ directory into " +"'git-1.4.0-docs.zip', with the prefix 'git-docs/'." msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:211 +#. type: Labeled list +#: en/git-archive.txt:178 #, no-wrap -msgid "Database Backend" +msgid "`git archive -o latest.zip HEAD`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:217 +#: en/git-archive.txt:183 msgid "" -"'git-cvsserver' uses one database per Git head (i.e. CVS module) to store " -"information about the repository to maintain consistent CVS revision " -"numbers. The database needs to be updated (i.e. written to) after every " -"commit." +"Create a Zip archive that contains the contents of the latest commit on the " +"current branch. Note that the output format is inferred by the extension of " +"the output file." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:222 -msgid "" -"If the commit is done directly by using `git` (as opposed to using 'git-" -"cvsserver') the update will need to happen on the next repository access by " -"'git-cvsserver', independent of access method and requested operation." +#. type: Labeled list +#: en/git-archive.txt:184 +#, no-wrap +msgid "`git config tar.tar.xz.command \"xz -c\"`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:227 +#: en/git-archive.txt:189 msgid "" -"That means that even if you offer only read access (e.g. by using the " -"pserver method), 'git-cvsserver' should have write access to the database to " -"work reliably (otherwise you need to make sure that the database is up-to-" -"date any time 'git-cvsserver' is executed)." +"Configure a \"tar.xz\" format for making LZMA-compressed tarfiles. You can " +"use it specifying `--format=tar.xz`, or by creating an output file like `-o " +"foo.tar.xz`." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:234 -msgid "" -"By default it uses SQLite databases in the Git directory, named `gitcvs." -"<module_name>.sqlite`. Note that the SQLite backend creates temporary files " -"in the same directory as the database file on write so it might not be " -"enough to grant the users using 'git-cvsserver' write access to the database " -"file without granting them write access to the directory, too." -msgstr "" +#: en/git-archive.txt:194 +msgid "linkgit:gitattributes[5]" +msgstr "linkgit:gitattributes[5]" -#. type: Plain text -#: en/git-cvsserver.txt:246 -msgid "" -"The database can not be reliably regenerated in a consistent form after the " -"branch it is tracking has changed. Example: For merged branches, 'git-" -"cvsserver' only tracks one branch of development, and after a 'git merge' an " -"incrementally updated database may track a different branch than a database " -"regenerated from scratch, causing inconsistent CVS revision numbers. `git-" -"cvsserver` has no way of knowing which branch it would have picked if it had " -"been run incrementally pre-merge. So if you have to fully or partially (from " -"old backup) regenerate the database, you should be suspicious of pre-" -"existing CVS sandboxes." -msgstr "" +#. type: Title = +#: en/git-bisect.txt:2 +#, no-wrap +msgid "git-bisect(1)" +msgstr "git-bisect(1)" #. type: Plain text -#: en/git-cvsserver.txt:249 -msgid "" -"You can configure the database backend with the following configuration " -"variables:" +#: en/git-bisect.txt:7 +msgid "git-bisect - Use binary search to find the commit that introduced a bug" msgstr "" -#. type: Title ~ -#: en/git-cvsserver.txt:251 +#. type: Plain text +#: en/git-bisect.txt:13 #, no-wrap -msgid "Configuring database backend" +msgid "'git bisect' <subcommand> <options>\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:256 +#: en/git-bisect.txt:18 en/git-reflog.txt:18 msgid "" -"'git-cvsserver' uses the Perl DBI module. Please also read its documentation " -"if changing these variables, especially about `DBI->connect()`." +"The command takes various subcommands, and different options depending on " +"the subcommand:" msgstr "" -#. type: Labeled list -#: en/git-cvsserver.txt:257 en/config.txt:1567 +#. type: Plain text +#: en/git-bisect.txt:31 #, no-wrap -msgid "gitcvs.dbName" +msgid "" +" git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>]\n" +"\t\t [--no-checkout] [<bad> [<good>...]] [--] [<paths>...]\n" +" git bisect (bad|new|<term-new>) [<rev>]\n" +" git bisect (good|old|<term-old>) [<rev>...]\n" +" git bisect terms [--term-good | --term-bad]\n" +" git bisect skip [(<rev>|<range>)...]\n" +" git bisect reset [<commit>]\n" +" git bisect visualize\n" +" git bisect replay <logfile>\n" +" git bisect log\n" +" git bisect run <cmd>...\n" +" git bisect help\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:263 +#: en/git-bisect.txt:40 msgid "" -"Database name. The exact meaning depends on the selected database driver, " -"for SQLite this is a filename. Supports variable substitution (see below). " -"May not contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" -msgstr "" - -#. type: Labeled list -#: en/git-cvsserver.txt:264 en/config.txt:1575 -#, no-wrap -msgid "gitcvs.dbDriver" +"This command uses a binary search algorithm to find which commit in your " +"project's history introduced a bug. You use it by first telling it a \"bad\" " +"commit that is known to contain the bug, and a \"good\" commit that is known " +"to be before the bug was introduced. Then `git bisect` picks a commit " +"between those two endpoints and asks you whether the selected commit is " +"\"good\" or \"bad\". It continues narrowing down the range until it finds " +"the exact commit that introduced the change." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:272 +#: en/git-bisect.txt:47 msgid "" -"Used DBI driver. You can specify any available driver for this here, but it " -"might not work. cvsserver is tested with 'DBD::SQLite', reported to work " -"with 'DBD::Pg', and reported *not* to work with 'DBD::mysql'. Please regard " -"this as an experimental feature. May not contain colons (`:`). Default: " -"'SQLite'" +"In fact, `git bisect` can be used to find the commit that changed *any* " +"property of your project; e.g., the commit that fixed a bug, or the commit " +"that caused a benchmark's performance to improve. To support this more " +"general usage, the terms \"old\" and \"new\" can be used in place of \"good" +"\" and \"bad\", or you can choose your own terms. See section \"Alternate " +"terms\" below for more information." msgstr "" -#. type: Labeled list -#: en/git-cvsserver.txt:273 +#. type: Title ~ +#: en/git-bisect.txt:49 #, no-wrap -msgid "gitcvs.dbuser" +msgid "Basic bisect commands: start, bad, good" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:277 +#: en/git-bisect.txt:54 msgid "" -"Database user. Only useful if setting `dbDriver`, since SQLite has no " -"concept of database users. Supports variable substitution (see below)." +"As an example, suppose you are trying to find the commit that broke a " +"feature that was known to work in version `v2.6.13-rc2` of your project. You " +"start a bisect session as follows:" msgstr "" -#. type: Labeled list -#: en/git-cvsserver.txt:278 +#. type: delimited block - +#: en/git-bisect.txt:59 #, no-wrap -msgid "gitcvs.dbPass" +msgid "" +"$ git bisect start\n" +"$ git bisect bad # Current version is bad\n" +"$ git bisect good v2.6.13-rc2 # v2.6.13-rc2 is known to be good\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:281 +#: en/git-bisect.txt:64 msgid "" -"Database password. Only useful if setting `dbDriver`, since SQLite has no " -"concept of database passwords." +"Once you have specified at least one bad and one good commit, `git bisect` " +"selects a commit in the middle of that range of history, checks it out, and " +"outputs something similar to the following:" msgstr "" -#. type: Labeled list -#: en/git-cvsserver.txt:282 en/config.txt:1589 +#. type: delimited block - +#: en/git-bisect.txt:67 #, no-wrap -msgid "gitcvs.dbTableNamePrefix" +msgid "Bisecting: 675 revisions left to test after this (roughly 10 steps)\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:286 +#: en/git-bisect.txt:71 msgid "" -"Database table name prefix. Supports variable substitution (see below). " -"Any non-alphabetic characters will be replaced with underscores." +"You should now compile the checked-out version and test it. If that version " +"works correctly, type" msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:74 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git bisect good\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-cvsserver.txt:288 -msgid "" -"All variables can also be set per access method, see <<configaccessmethod," -"above>>." +#: en/git-bisect.txt:77 +msgid "If that version is broken, type" msgstr "" -#. type: Title ^ -#: en/git-cvsserver.txt:290 -#, no-wrap -msgid "Variable substitution" -msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:80 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git bisect bad\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-cvsserver.txt:292 -msgid "In `dbDriver` and `dbUser` you can use the following variables:" +#: en/git-bisect.txt:83 +msgid "Then `git bisect` will respond with something like" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:308 +#. type: delimited block - +#: en/git-bisect.txt:86 #, no-wrap -msgid "" -"%G::\n" -"\tGit directory name\n" -"%g::\n" -"\tGit directory name, where all characters except for\n" -"\talpha-numeric ones, `.`, and `-` are replaced with\n" -"\t`_` (this should make it easier to use the directory\n" -"\tname in a filename if wanted)\n" -"%m::\n" -"\tCVS module/Git head name\n" -"%a::\n" -"\taccess method (one of \"ext\" or \"pserver\")\n" -"%u::\n" -"\tName of the user running 'git-cvsserver'.\n" -"\tIf no name can be determined, the\n" -"\tnumeric uid is used.\n" +msgid "Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:314 +#: en/git-bisect.txt:91 msgid "" -"These variables obviate the need for command-line options in some " -"circumstances, allowing easier restricted usage through git-shell." -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:316 -msgid "GIT_CVSSERVER_BASE_PATH takes the place of the argument to --base-path." +"Keep repeating the process: compile the tree, test it, and depending on " +"whether it is good or bad run `git bisect good` or `git bisect bad` to ask " +"for the next commit that needs testing." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:320 +#: en/git-bisect.txt:95 msgid "" -"GIT_CVSSERVER_ROOT specifies a single-directory whitelist. The repository " -"must still be configured to allow access through git-cvsserver, as described " -"above." +"Eventually there will be no more revisions left to inspect, and the command " +"will print out a description of the first bad commit. The reference `refs/" +"bisect/bad` will be left pointing at that commit." msgstr "" +#. type: Title ~ +#: en/git-bisect.txt:98 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "Bisect reset" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-cvsserver.txt:323 +#: en/git-bisect.txt:102 msgid "" -"When these environment variables are set, the corresponding command-line " -"arguments may not be used." +"After a bisect session, to clean up the bisection state and return to the " +"original HEAD, issue the following command:" msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:325 -#, no-wrap -msgid "Eclipse CVS Client Notes" -msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:105 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git bisect reset\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-cvsserver.txt:328 -msgid "To get a checkout with the Eclipse CVS client:" +#: en/git-bisect.txt:110 +msgid "" +"By default, this will return your tree to the commit that was checked out " +"before `git bisect start`. (A new `git bisect start` will also do that, as " +"it cleans up the old bisection state.)" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:330 -msgid "Select \"Create a new project -> From CVS checkout\"" +#: en/git-bisect.txt:113 +msgid "" +"With an optional argument, you can return to a different commit instead:" msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:116 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git bisect reset <commit>\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-cvsserver.txt:332 +#: en/git-bisect.txt:121 msgid "" -"Create a new location. See the notes below for details on how to choose the " -"right protocol." +"For example, `git bisect reset bisect/bad` will check out the first bad " +"revision, while `git bisect reset HEAD` will leave you on the current " +"bisection commit and avoid switching commits at all." +msgstr "" + +#. type: Title ~ +#: en/git-bisect.txt:124 +#, no-wrap +msgid "Alternate terms" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:335 +#: en/git-bisect.txt:132 msgid "" -"Browse the 'modules' available. It will give you a list of the heads in the " -"repository. You will not be able to browse the tree from there. Only the " -"heads." +"Sometimes you are not looking for the commit that introduced a breakage, but " +"rather for a commit that caused a change between some other \"old\" state " +"and \"new\" state. For example, you might be looking for the commit that " +"introduced a particular fix. Or you might be looking for the first commit in " +"which the source-code filenames were finally all converted to your company's " +"naming standard. Or whatever." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:337 +#: en/git-bisect.txt:138 msgid "" -"Pick `HEAD` when it asks what branch/tag to check out. Untick the \"launch " -"commit wizard\" to avoid committing the .project file." +"In such cases it can be very confusing to use the terms \"good\" and \"bad\" " +"to refer to \"the state before the change\" and \"the state after the change" +"\". So instead, you can use the terms \"old\" and \"new\", respectively, in " +"place of \"good\" and \"bad\". (But note that you cannot mix \"good\" and " +"\"bad\" with \"old\" and \"new\" in a single session.)" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:343 +#: en/git-bisect.txt:145 msgid "" -"Protocol notes: If you are using anonymous access via pserver, just select " -"that. Those using SSH access should choose the 'ext' protocol, and " -"configure 'ext' access on the Preferences->Team->CVS->ExtConnection pane. " -"Set CVS_SERVER to \"`git cvsserver`\". Note that password support is not " -"good when using 'ext', you will definitely want to have SSH keys setup." +"In this more general usage, you provide `git bisect` with a \"new\" commit " +"has some property and an \"old\" commit that doesn't have that property. " +"Each time `git bisect` checks out a commit, you test if that commit has the " +"property. If it does, mark the commit as \"new\"; otherwise, mark it as \"old" +"\". When the bisection is done, `git bisect` will report which commit " +"introduced the property." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:348 +#: en/git-bisect.txt:149 msgid "" -"Alternatively, you can just use the non-standard extssh protocol that " -"Eclipse offer. In that case CVS_SERVER is ignored, and you will have to " -"replace the cvs utility on the server with 'git-cvsserver' or manipulate " -"your `.bashrc` so that calling 'cvs' effectively calls 'git-cvsserver'." +"To use \"old\" and \"new\" instead of \"good\" and bad, you must run `git " +"bisect start` without commits as argument and then run the following " +"commands to add the commits:" msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:350 -#, no-wrap -msgid "Clients known to work" -msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:152 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "git bisect old [<rev>]\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-cvsserver.txt:353 -msgid "CVS 1.12.9 on Debian" +#: en/git-bisect.txt:155 +msgid "to indicate that a commit was before the sought change, or" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:354 -msgid "CVS 1.11.17 on MacOSX (from Fink package)" -msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:158 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "git bisect new [<rev>...]\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-cvsserver.txt:355 -msgid "Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)" +#: en/git-bisect.txt:161 +msgid "to indicate that it was after." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:356 -msgid "TortoiseCVS" +#: en/git-bisect.txt:163 +msgid "To get a reminder of the currently used terms, use" msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:358 -#, no-wrap -msgid "Operations supported" -msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:166 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "git bisect terms\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-cvsserver.txt:362 +#: en/git-bisect.txt:170 msgid "" -"All the operations required for normal use are supported, including " -"checkout, diff, status, update, log, add, remove, commit." +"You can get just the old (respectively new) term with `git bisect term --" +"term-old` or `git bisect term --term-good`." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:371 +#: en/git-bisect.txt:175 msgid "" -"Most CVS command arguments that read CVS tags or revision numbers (typically " -"-r) work, and also support any git refspec (tag, branch, commit ID, etc). " -"However, CVS revision numbers for non-default branches are not well " -"emulated, and cvs log does not show tags or branches at all. (Non-main-" -"branch CVS revision numbers superficially resemble CVS revision numbers, but " -"they actually encode a git commit ID directly, rather than represent the " -"number of revisions since the branch point.)" +"If you would like to use your own terms instead of \"bad\"/\"good\" or \"new" +"\"/\"old\", you can choose any names you like (except existing bisect " +"subcommands like `reset`, `start`, ...) by starting the bisection using" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:385 -msgid "" -"Note that there are two ways to checkout a particular branch. As described " -"elsewhere on this page, the \"module\" parameter of cvs checkout is " -"interpreted as a branch name, and it becomes the main branch. It remains " -"the main branch for a given sandbox even if you temporarily make another " -"branch sticky with cvs update -r. Alternatively, the -r argument can " -"indicate some other branch to actually checkout, even though the module is " -"still the \"main\" branch. Tradeoffs (as currently implemented): Each new " -"\"module\" creates a new database on disk with a history for the given " -"module, and after the database is created, operations against that main " -"branch are fast. Or alternatively, -r doesn't take any extra disk space, " -"but may be significantly slower for many operations, like cvs update." +#. type: delimited block - +#: en/git-bisect.txt:178 +#, no-wrap +msgid "git bisect start --term-old <term-old> --term-new <term-new>\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:398 +#: en/git-bisect.txt:182 msgid "" -"If you want to refer to a git refspec that has characters that are not " -"allowed by CVS, you have two options. First, it may just work to supply the " -"git refspec directly to the appropriate CVS -r argument; some CVS clients " -"don't seem to do much sanity checking of the argument. Second, if that " -"fails, you can use a special character escape mechanism that only uses " -"characters that are valid in CVS tags. A sequence of 4 or 5 characters of " -"the form (underscore (`\"_\"`), dash (`\"-\"`), one or two characters, and " -"dash (`\"-\"`)) can encode various characters based on the one or two " -"letters: `\"s\"` for slash (`\"/\"`), `\"p\"` for period (`\".\"`), `\"u\"` " -"for underscore (`\"_\"`), or two hexadecimal digits for any byte value at " -"all (typically an ASCII number, or perhaps a part of a UTF-8 encoded " -"character)." +"For example, if you are looking for a commit that introduced a performance " +"regression, you might use" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:185 +#, no-wrap +msgid "git bisect start --term-old fast --term-new slow\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:401 -msgid "" -"Legacy monitoring operations are not supported (edit, watch and related). " -"Exports and tagging (tags and branches) are not supported at this stage." +#: en/git-bisect.txt:188 +msgid "Or if you are looking for the commit that fixed a bug, you might use" msgstr "" -#. type: Title ~ -#: en/git-cvsserver.txt:403 +#. type: delimited block - +#: en/git-bisect.txt:191 #, no-wrap -msgid "CRLF Line Ending Conversions" +msgid "git bisect start --term-new fixed --term-old broken\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:408 +#: en/git-bisect.txt:195 msgid "" -"By default the server leaves the `-k` mode blank for all files, which causes " -"the CVS client to treat them as a text files, subject to end-of-line " -"conversion on some platforms." +"Then, use `git bisect <term-old>` and `git bisect <term-new>` instead of " +"`git bisect good` and `git bisect bad` to mark commits." msgstr "" +#. type: Title ~ +#: en/git-bisect.txt:197 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "Bisect visualize" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-cvsserver.txt:413 +#: en/git-bisect.txt:201 msgid "" -"You can make the server use the end-of-line conversion attributes to set the " -"`-k` modes for files by setting the `gitcvs.usecrlfattr` config variable. " -"See linkgit:gitattributes[5] for more information about end-of-line " -"conversion." +"To see the currently remaining suspects in 'gitk', issue the following " +"command during the bisection process:" msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:204 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git bisect visualize\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-cvsserver.txt:422 -msgid "" -"Alternatively, if `gitcvs.usecrlfattr` config is not enabled or the " -"attributes do not allow automatic detection for a filename, then the server " -"uses the `gitcvs.allBinary` config for the default setting. If `gitcvs." -"allBinary` is set, then file not otherwise specified will default to '-kb' " -"mode. Otherwise the `-k` mode is left blank. But if `gitcvs.allBinary` is " -"set to \"guess\", then the correct `-k` mode will be guessed based on the " -"contents of the file." +#: en/git-bisect.txt:207 +msgid "`view` may also be used as a synonym for `visualize`." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:426 +#: en/git-bisect.txt:211 msgid "" -"For best consistency with 'cvs', it is probably best to override the " -"defaults by setting `gitcvs.usecrlfattr` to true, and `gitcvs.allBinary` to " -"\"guess\"." +"If the `DISPLAY` environment variable is not set, 'git log' is used " +"instead. You can also give command-line options such as `-p` and `--stat`." msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:428 +#. type: delimited block - +#: en/git-bisect.txt:214 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git bisect view --stat\n" +msgstr "$ git commit\n" + +#. type: Title ~ +#: en/git-bisect.txt:217 #, no-wrap -msgid "Dependencies" +msgid "Bisect log and bisect replay" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:430 -msgid "'git-cvsserver' depends on DBD::SQLite." +#: en/git-bisect.txt:221 +msgid "" +"After having marked revisions as good or bad, issue the following command to " +"show what has been done so far:" msgstr "" -#. type: Title = -#: en/git-daemon.txt:2 +#. type: delimited block - +#: en/git-bisect.txt:224 #, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-daemon(1)" -msgstr "git-add(1)" +#| msgid "$ git commit\n" +msgid "$ git bisect log\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-daemon.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-daemon - A really simple server for Git repositories" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-bisect.txt:230 +msgid "" +"If you discover that you made a mistake in specifying the status of a " +"revision, you can save the output of this command to a file, edit it to " +"remove the incorrect entries, and then issue the following commands to " +"return to a corrected state:" +msgstr "" -#. type: Plain text -#: en/git-daemon.txt:24 +#. type: delimited block - +#: en/git-bisect.txt:234 #, no-wrap msgid "" -"'git daemon' [--verbose] [--syslog] [--export-all]\n" -"\t [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>]\n" -"\t [--strict-paths] [--base-path=<path>] [--base-path-relaxed]\n" -"\t [--user-path | --user-path=<path>]\n" -"\t [--interpolated-path=<pathtemplate>]\n" -"\t [--reuseaddr] [--detach] [--pid-file=<file>]\n" -"\t [--enable=<service>] [--disable=<service>]\n" -"\t [--allow-override=<service>] [--forbid-override=<service>]\n" -"\t [--access-hook=<path>] [--[no-]informative-errors]\n" -"\t [--inetd |\n" -"\t [--listen=<host_or_ipaddr>] [--port=<n>]\n" -"\t [--user=<user> [--group=<group>]]]\n" -"\t [<directory>...]\n" +"$ git bisect reset\n" +"$ git bisect replay that-file\n" msgstr "" +#. type: Title ~ +#: en/git-bisect.txt:237 +#, fuzzy, no-wrap +#| msgid "modifying existing content" +msgid "Avoiding testing a commit" +msgstr "modification de contenu existant" + #. type: Plain text -#: en/git-daemon.txt:30 +#: en/git-bisect.txt:244 msgid "" -"A really simple TCP Git daemon that normally listens on port " -"\"DEFAULT_GIT_PORT\" aka 9418. It waits for a connection asking for a " -"service, and will serve that service if it is enabled." +"If, in the middle of a bisect session, you know that the suggested revision " +"is not a good one to test (e.g. it fails to build and you know that the " +"failure does not have anything to do with the bug you are chasing), you can " +"manually select a nearby commit and test that one instead." msgstr "" #. type: Plain text -#: en/git-daemon.txt:36 -msgid "" -"It verifies that the directory has the magic file \"git-daemon-export-ok\", " -"and it will refuse to export any Git directory that hasn't explicitly been " -"marked for export this way (unless the `--export-all` parameter is " -"specified). If you pass some directory paths as 'git daemon' arguments, you " -"can further restrict the offers to a whitelist comprising of those." +#: en/git-bisect.txt:246 en/git-tag.txt:337 +msgid "For example:" msgstr "" -#. type: Plain text -#: en/git-daemon.txt:40 +#. type: delimited block - +#: en/git-bisect.txt:253 +#, no-wrap msgid "" -"By default, only `upload-pack` service is enabled, which serves 'git fetch-" -"pack' and 'git ls-remote' clients, which are invoked from 'git fetch', 'git " -"pull', and 'git clone'." +"$ git bisect good/bad\t\t\t# previous round was good or bad.\n" +"Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" +"$ git bisect visualize\t\t\t# oops, that is uninteresting.\n" +"$ git reset --hard HEAD~3\t\t# try 3 revisions before what\n" +"\t\t\t\t\t# was suggested\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:43 +#: en/git-bisect.txt:257 msgid "" -"This is ideally suited for read-only updates, i.e., pulling from Git " -"repositories." +"Then compile and test the chosen revision, and afterwards mark the revision " +"as good or bad in the usual manner." msgstr "" -#. type: Plain text -#: en/git-daemon.txt:45 -msgid "An `upload-archive` also exists to serve 'git archive'." +#. type: Title ~ +#: en/git-bisect.txt:259 +#, no-wrap +msgid "Bisect skip" msgstr "" #. type: Plain text -#: en/git-daemon.txt:53 +#: en/git-bisect.txt:263 msgid "" -"Match paths exactly (i.e. don't allow \"/foo/repo\" when the real path is \"/" -"foo/repo.git\" or \"/foo/repo/.git\") and don't do user-relative paths. " -"'git daemon' will refuse to start when this option is enabled and no " -"whitelist is specified." +"Instead of choosing a nearby commit by yourself, you can ask Git to do it " +"for you by issuing the command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:54 +#. type: delimited block - +#: en/git-bisect.txt:266 #, no-wrap -msgid "--base-path=<path>" +msgid "$ git bisect skip # Current version cannot be tested\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:60 +#: en/git-bisect.txt:271 msgid "" -"Remap all the path requests as relative to the given path. This is sort of " -"\"Git root\" - if you run 'git daemon' with '--base-path=/srv/git' on " -"example.com, then if you later try to pull 'git://example.com/hello.git', " -"'git daemon' will interpret the path as '/srv/git/hello.git'." -msgstr "" - -#. type: Labeled list -#: en/git-daemon.txt:61 -#, no-wrap -msgid "--base-path-relaxed" +"However, if you skip a commit adjacent to the one you are looking for, Git " +"will be unable to tell exactly which of those commits was the first bad one." msgstr "" #. type: Plain text -#: en/git-daemon.txt:66 +#: en/git-bisect.txt:274 msgid "" -"If --base-path is enabled and repo lookup fails, with this option 'git " -"daemon' will attempt to lookup without prefixing the base path. This is " -"useful for switching to --base-path usage, while still allowing the old " -"paths." +"You can also skip a range of commits, instead of just one commit, using " +"range notation. For example:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:67 +#. type: delimited block - +#: en/git-bisect.txt:277 #, no-wrap -msgid "--interpolated-path=<pathtemplate>" +msgid "$ git bisect skip v2.5..v2.6\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:76 +#: en/git-bisect.txt:281 msgid "" -"To support virtual hosting, an interpolated path template can be used to " -"dynamically construct alternate paths. The template supports %H for the " -"target hostname as supplied by the client but converted to all lowercase, " -"%CH for the canonical hostname, %IP for the server's IP address, %P for the " -"port number, and %D for the absolute path of the named repository. After " -"interpolation, the path is validated against the directory whitelist." +"This tells the bisect process that no commit after `v2.5`, up to and " +"including `v2.6`, should be tested." msgstr "" #. type: Plain text -#: en/git-daemon.txt:81 +#: en/git-bisect.txt:284 msgid "" -"Allow pulling from all directories that look like Git repositories (have the " -"'objects' and 'refs' subdirectories), even if they do not have the 'git-" -"daemon-export-ok' file." +"Note that if you also want to skip the first commit of the range you would " +"issue the command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:82 +#. type: delimited block - +#: en/git-bisect.txt:287 #, no-wrap -msgid "--inetd" +msgid "$ git bisect skip v2.5 v2.5..v2.6\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:86 +#: en/git-bisect.txt:291 msgid "" -"Have the server run as an inetd service. Implies --syslog. Incompatible " -"with --detach, --port, --listen, --user and --group options." +"This tells the bisect process that the commits between `v2.5` and `v2.6` " +"(inclusive) should be skipped." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:87 +#. type: Title ~ +#: en/git-bisect.txt:294 #, no-wrap -msgid "--listen=<host_or_ipaddr>" +msgid "Cutting down bisection by giving more parameters to bisect start" msgstr "" #. type: Plain text -#: en/git-daemon.txt:94 +#: en/git-bisect.txt:299 msgid "" -"Listen on a specific IP address or hostname. IP addresses can be either an " -"IPv4 address or an IPv6 address if supported. If IPv6 is not supported, " -"then --listen=hostname is also not supported and --listen must be given an " -"IPv4 address. Can be given more than once. Incompatible with `--inetd` " -"option." +"You can further cut down the number of trials, if you know what part of the " +"tree is involved in the problem you are tracking down, by specifying path " +"parameters when issuing the `bisect start` command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:95 +#. type: delimited block - +#: en/git-bisect.txt:302 #, no-wrap -msgid "--port=<n>" +msgid "$ git bisect start -- arch/i386 include/asm-i386\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:97 -msgid "Listen on an alternative port. Incompatible with `--inetd` option." +#: en/git-bisect.txt:307 +msgid "" +"If you know beforehand more than one good commit, you can narrow the bisect " +"space down by specifying all of the good commits immediately after the bad " +"commit when issuing the `bisect start` command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:98 +#. type: delimited block - +#: en/git-bisect.txt:312 #, no-wrap -msgid "--init-timeout=<n>" +msgid "" +"$ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --\n" +" # v2.6.20-rc6 is bad\n" +" # v2.6.20-rc4 and v2.6.20-rc1 are good\n" +msgstr "" + +#. type: Title ~ +#: en/git-bisect.txt:315 +#, no-wrap +msgid "Bisect run" msgstr "" #. type: Plain text -#: en/git-daemon.txt:102 +#: en/git-bisect.txt:319 msgid "" -"Timeout (in seconds) between the moment the connection is established and " -"the client request is received (typically a rather low value, since that " -"should be basically immediate)." +"If you have a script that can tell if the current source code is good or " +"bad, you can bisect by issuing the command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:103 en/git-upload-pack.txt:31 -#, no-wrap -msgid "--timeout=<n>" -msgstr "" +#. type: delimited block - +#: en/git-bisect.txt:322 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git bisect run my_script arguments\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-daemon.txt:107 +#: en/git-bisect.txt:328 msgid "" -"Timeout (in seconds) for specific client sub-requests. This includes the " -"time it takes for the server to process the sub-request and the time spent " -"waiting for the next client's request." +"Note that the script (`my_script` in the above example) should exit with " +"code 0 if the current source code is good/old, and exit with a code between " +"1 and 127 (inclusive), except 125, if the current source code is bad/new." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:108 -#, no-wrap -msgid "--max-connections=<n>" +#. type: Plain text +#: en/git-bisect.txt:332 +msgid "" +"Any other exit code will abort the bisect process. It should be noted that a " +"program that terminates via `exit(-1)` leaves $? = 255, (see the exit(3) " +"manual page), as the value is chopped with `& 0377`." msgstr "" #. type: Plain text -#: en/git-daemon.txt:111 +#: en/git-bisect.txt:341 msgid "" -"Maximum number of concurrent clients, defaults to 32. Set it to zero for no " -"limit." +"The special exit code 125 should be used when the current source code cannot " +"be tested. If the script exits with this code, the current revision will be " +"skipped (see `git bisect skip` above). 125 was chosen as the highest " +"sensible value to use for this purpose, because 126 and 127 are used by " +"POSIX shells to signal specific error status (127 is for command not found, " +"126 is for command found but not executable--these details do not matter, as " +"they are normal errors in the script, as far as `bisect run` is concerned)." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:112 -#, no-wrap -msgid "--syslog" +#. type: Plain text +#: en/git-bisect.txt:347 +msgid "" +"You may often find that during a bisect session you want to have temporary " +"modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a header file, or " +"\"revision that does not have this commit needs this patch applied to work " +"around another problem this bisection is not interested in\") applied to the " +"revision being tested." msgstr "" #. type: Plain text -#: en/git-daemon.txt:115 +#: en/git-bisect.txt:355 msgid "" -"Log to syslog instead of stderr. Note that this option does not imply --" -"verbose, thus by default only error conditions will be logged." +"To cope with such a situation, after the inner 'git bisect' finds the next " +"revision to test, the script can apply the patch before compiling, run the " +"real test, and afterwards decide if the revision (possibly with the needed " +"patch) passed the test and then rewind the tree to the pristine state. " +"Finally the script should exit with the status of the real test to let the " +"`git bisect run` command loop determine the eventual outcome of the bisect " +"session." msgstr "" #. type: Labeled list -#: en/git-daemon.txt:116 +#: en/git-bisect.txt:358 en/git-clone.txt:134 #, no-wrap -msgid "--user-path" -msgstr "" +msgid "--no-checkout" +msgstr "--no-checkout" -#. type: Labeled list -#: en/git-daemon.txt:117 -#, no-wrap -msgid "--user-path=<path>" +#. type: Plain text +#: en/git-bisect.txt:363 +msgid "" +"Do not checkout the new working tree at each iteration of the bisection " +"process. Instead just update a special reference named `BISECT_HEAD` to make " +"it point to the commit that should be tested." msgstr "" #. type: Plain text -#: en/git-daemon.txt:125 +#: en/git-bisect.txt:366 msgid "" -"Allow {tilde}user notation to be used in requests. When specified with no " -"parameter, requests to git://host/{tilde}alice/foo is taken as a request to " -"access 'foo' repository in the home directory of user `alice`. If `--user-" -"path=path` is specified, the same request is taken as a request to access " -"`path/foo` repository in the home directory of user `alice`." +"This option may be useful when the test you would perform in each step does " +"not require a checked out tree." msgstr "" #. type: Plain text -#: en/git-daemon.txt:128 -msgid "Log details about the incoming connections and requested files." +#: en/git-bisect.txt:368 +msgid "If the repository is bare, `--no-checkout` is assumed." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:129 -#, no-wrap -msgid "--reuseaddr" +#. type: Plain text +#: en/git-bisect.txt:373 +msgid "Automatically bisect a broken build between v1.2 and HEAD:" msgstr "" -#. type: Plain text -#: en/git-daemon.txt:133 +#. type: delimited block - +#: en/git-bisect.txt:378 +#, no-wrap msgid "" -"Use SO_REUSEADDR when binding the listening socket. This allows the server " -"to restart without waiting for old connections to time out." +"$ git bisect start HEAD v1.2 -- # HEAD is bad, v1.2 is good\n" +"$ git bisect run make # \"make\" builds the app\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:136 -msgid "Detach from the shell. Implies --syslog." +#: en/git-bisect.txt:381 +msgid "Automatically bisect a test failure between origin and HEAD:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:137 +#. type: delimited block - +#: en/git-bisect.txt:386 #, no-wrap -msgid "--pid-file=<file>" -msgstr "" - -#. type: Plain text -#: en/git-daemon.txt:140 msgid "" -"Save the process id in 'file'. Ignored when the daemon is run under `--" -"inetd`." +"$ git bisect start HEAD origin -- # HEAD is bad, origin is good\n" +"$ git bisect run make test # \"make test\" builds and tests\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:141 -#, no-wrap -msgid "--user=<user>" +#. type: Plain text +#: en/git-bisect.txt:389 en/git-bisect.txt:443 +msgid "Automatically bisect a broken test case:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:142 +#. type: delimited block - +#: en/git-bisect.txt:398 #, no-wrap -msgid "--group=<group>" +msgid "" +"$ cat ~/test.sh\n" +"#!/bin/sh\n" +"make || exit 125 # this skips broken builds\n" +"~/check_test_case.sh # does the test case pass?\n" +"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" +"$ git bisect run ~/test.sh\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:148 +#: en/git-bisect.txt:404 msgid "" -"Change daemon's uid and gid before entering the service loop. When only `--" -"user` is given without `--group`, the primary group ID for the user is " -"used. The values of the option are given to `getpwnam(3)` and `getgrnam(3)` " -"and numeric IDs are not supported." +"Here we use a `test.sh` custom script. In this script, if `make` fails, we " +"skip the current commit. `check_test_case.sh` should `exit 0` if the test " +"case passes, and `exit 1` otherwise." msgstr "" #. type: Plain text -#: en/git-daemon.txt:152 +#: en/git-bisect.txt:408 msgid "" -"Giving these options is an error when used with `--inetd`; use the facility " -"of inet daemon to achieve the same before spawning 'git daemon' if needed." +"It is safer if both `test.sh` and `check_test_case.sh` are outside the " +"repository to prevent interactions between the bisect, make and test " +"processes and the scripts." msgstr "" #. type: Plain text -#: en/git-daemon.txt:159 -msgid "" -"Like many programs that switch user id, the daemon does not reset " -"environment variables such as `$HOME` when it runs git programs, e.g. " -"`upload-pack` and `receive-pack`. When using this option, you may also want " -"to set and export `HOME` to point at the home directory of `<user>` before " -"starting the daemon, and make sure any Git configuration files in that " -"directory are readable by `<user>`." +#: en/git-bisect.txt:410 +msgid "Automatically bisect with temporary modifications (hot-fix):" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:160 +#. type: delimited block - +#: en/git-bisect.txt:414 #, no-wrap -msgid "--enable=<service>" +msgid "" +"$ cat ~/test.sh\n" +"#!/bin/sh\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:161 +#. type: delimited block - +#: en/git-bisect.txt:427 #, no-wrap -msgid "--disable=<service>" -msgstr "" - -#. type: Plain text -#: en/git-daemon.txt:167 msgid "" -"Enable/disable the service site-wide per default. Note that a service " -"disabled site-wide can still be enabled per repository if it is marked " -"overridable and the repository enables the service with a configuration item." +"# tweak the working tree by merging the hot-fix branch\n" +"# and then attempt a build\n" +"if\tgit merge --no-commit hot-fix &&\n" +"\tmake\n" +"then\n" +"\t# run project specific test and report its status\n" +"\t~/check_test_case.sh\n" +"\tstatus=$?\n" +"else\n" +"\t# tell the caller this is untestable\n" +"\tstatus=125\n" +"fi\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:168 +#. type: delimited block - +#: en/git-bisect.txt:430 #, no-wrap -msgid "--allow-override=<service>" +msgid "" +"# undo the tweak to allow clean flipping to the next commit\n" +"git reset --hard\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:169 +#. type: delimited block - +#: en/git-bisect.txt:433 #, no-wrap -msgid "--forbid-override=<service>" +msgid "" +"# return control\n" +"exit $status\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:173 +#: en/git-bisect.txt:441 msgid "" -"Allow/forbid overriding the site-wide default with per repository " -"configuration. By default, all the services may be overridden." +"This applies modifications from a hot-fix branch before each test run, e.g. " +"in case your build or test environment changed so that older revisions may " +"need a fix which newer ones have already. (Make sure the hot-fix branch is " +"based off a commit which is contained in all revisions which you are " +"bisecting, so that the merge does not pull in too much, or use `git cherry-" +"pick` instead of `git merge`.)" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:174 +#. type: delimited block - +#: en/git-bisect.txt:448 #, no-wrap -msgid "--[no-]informative-errors" +msgid "" +"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" +"$ git bisect run sh -c \"make || exit 125; ~/check_test_case.sh\"\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:182 +#: en/git-bisect.txt:452 msgid "" -"When informative errors are turned on, git-daemon will report more verbose " -"errors to the client, differentiating conditions like \"no such repository\" " -"from \"repository not exported\". This is more convenient for clients, but " -"may leak information about the existence of unexported repositories. When " -"informative errors are not enabled, all errors report \"access denied\" to " -"the client. The default is --no-informative-errors." +"This shows that you can do without a run script if you write the test on a " +"single line." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:183 -#, no-wrap -msgid "--access-hook=<path>" +#. type: Plain text +#: en/git-bisect.txt:454 +msgid "Locate a good region of the object graph in a damaged repository" msgstr "" -#. type: Plain text -#: en/git-daemon.txt:193 +#. type: delimited block - +#: en/git-bisect.txt:464 +#, no-wrap msgid "" -"Every time a client connects, first run an external command specified by the " -"<path> with service name (e.g. \"upload-pack\"), path to the repository, " -"hostname (%H), canonical hostname (%CH), IP address (%IP), and TCP port (%P) " -"as its command-line arguments. The external command can decide to decline " -"the service by exiting with a non-zero status (or to allow it by exiting " -"with a zero status). It can also look at the $REMOTE_ADDR and `" -"$REMOTE_PORT` environment variables to learn about the requestor when making " -"this decision." +"$ git bisect start HEAD <known-good-commit> [ <boundary-commit> ... ] --no-checkout\n" +"$ git bisect run sh -c '\n" +"\tGOOD=$(git for-each-ref \"--format=%(objectname)\" refs/bisect/good-*) &&\n" +"\tgit rev-list --objects BISECT_HEAD --not $GOOD >tmp.$$ &&\n" +"\tgit pack-objects --stdout >/dev/null <tmp.$$\n" +"\trc=$?\n" +"\trm -f tmp.$$\n" +"\ttest $rc = 0'\n" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:466 +#, no-wrap +msgid "$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:197 +#: en/git-bisect.txt:471 msgid "" -"The external command can optionally write a single line to its standard " -"output to be sent to the requestor as an error message when it declines the " -"service." +"In this case, when 'git bisect run' finishes, bisect/bad will refer to a " +"commit that has at least one parent whose reachable graph is fully " +"traversable in the sense required by 'git pack objects'." msgstr "" #. type: Plain text -#: en/git-daemon.txt:202 -msgid "" -"A directory to add to the whitelist of allowed directories. Unless --strict-" -"paths is specified this will also include subdirectories of each named " -"directory." +#: en/git-bisect.txt:473 +msgid "Look for a fix instead of a regression in the code" msgstr "" -#. type: Title - -#: en/git-daemon.txt:204 en/git-http-backend.txt:33 +#. type: delimited block - +#: en/git-bisect.txt:478 #, no-wrap -msgid "SERVICES" +msgid "" +"$ git bisect start\n" +"$ git bisect new HEAD # current commit is marked as new\n" +"$ git bisect old HEAD~10 # the tenth commit from now is marked as old\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:212 +#: en/git-bisect.txt:481 +msgid "or:" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:485 +#, no-wrap msgid "" -"These services can be globally enabled/disabled using the command-line " -"options of this command. If finer-grained control is desired (e.g. to allow " -"'git archive' to be run against only in a few selected repositories the " -"daemon serves), the per-repository configuration file can be used to enable " -"or disable them." +"$ git bisect start --term-old broken --term-new fixed\n" +"$ git bisect fixed\n" +"$ git bisect broken HEAD~10\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:213 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "upload-pack" -msgstr "git-add(1)" +#. type: Title ~ +#: en/git-bisect.txt:488 +#, no-wrap +msgid "Getting help" +msgstr "" #. type: Plain text -#: en/git-daemon.txt:218 +#: en/git-bisect.txt:492 msgid "" -"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " -"default, but a repository can disable it by setting `daemon.uploadpack` " -"configuration item to `false`." +"Use `git bisect` to get a short usage description, and `git bisect help` or " +"`git bisect -h` to get a long usage description." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:219 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "upload-archive" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-daemon.txt:223 +#: en/git-bisect.txt:497 msgid "" -"This serves 'git archive --remote'. It is disabled by default, but a " -"repository can enable it by setting `daemon.uploadarch` configuration item " -"to `true`." +"link:git-bisect-lk2009.html[Fighting regressions with git bisect], linkgit:" +"git-blame[1]." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:224 +#. type: Title = +#: en/git-blame.txt:2 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "receive-pack" -msgstr "git-commit(1)" +#| msgid "git-add(1)" +msgid "git-blame(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-daemon.txt:233 +#: en/git-blame.txt:7 msgid "" -"This serves 'git send-pack' clients, allowing anonymous push. It is " -"disabled by default, as there is _no_ authentication in the protocol (in " -"other words, anybody can push anything into the repository, including " -"removal of refs). This is solely meant for a closed LAN setting where " -"everybody is friendly. This service can be enabled by setting `daemon." -"receivepack` configuration item to `true`." -msgstr "" - -#. type: Labeled list -#: en/git-daemon.txt:236 -#, no-wrap -msgid "We assume the following in /etc/services" +"git-blame - Show what revision and author last modified each line of a file" msgstr "" -#. type: delimited block - -#: en/git-daemon.txt:241 +#. type: Plain text +#: en/git-blame.txt:15 #, no-wrap msgid "" -"$ grep 9418 /etc/services\n" -"git\t\t9418/tcp\t\t# Git Version Control System\n" +"'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]\n" +"\t [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]\n" +"\t [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>]\n" +"\t [--] <file>\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:243 -#, no-wrap -msgid "'git daemon' as inetd server" +#. type: Plain text +#: en/git-blame.txt:21 +msgid "" +"Annotates each line in the given file with information from the revision " +"which last modified the line. Optionally, start annotating from the given " +"revision." msgstr "" #. type: Plain text -#: en/git-daemon.txt:248 +#: en/git-blame.txt:24 msgid "" -"To set up 'git daemon' as an inetd service that handles any repository under " -"the whitelisted set of directories, /pub/foo and /pub/bar, place an entry " -"like the following into /etc/inetd all on one line:" +"When specified one or more times, `-L` restricts annotation to the requested " +"lines." msgstr "" -#. type: delimited block - -#: en/git-daemon.txt:253 -#, no-wrap +#. type: Plain text +#: en/git-blame.txt:30 msgid "" -"\tgit stream tcp nowait nobody /usr/bin/git\n" -"\t\tgit daemon --inetd --verbose --export-all\n" -"\t\t/pub/foo /pub/bar\n" +"The origin of lines is automatically followed across whole-file renames " +"(currently there is no option to turn the rename-following off). To follow " +"lines moved from one file to another, or to follow lines that were copied " +"and pasted from another file, etc., see the `-C` and `-M` options." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:256 -#, no-wrap -msgid "'git daemon' as inetd server for virtual hosts" +#. type: Plain text +#: en/git-blame.txt:34 +msgid "" +"The report does not tell you anything about lines which have been deleted or " +"replaced; you need to use a tool such as 'git diff' or the \"pickaxe\" " +"interface briefly mentioned in the following paragraph." msgstr "" #. type: Plain text -#: en/git-daemon.txt:261 +#: en/git-blame.txt:41 msgid "" -"To set up 'git daemon' as an inetd service that handles repositories for " -"different virtual hosts, `www.example.com` and `www.example.org`, place an " -"entry like the following into `/etc/inetd` all on one line:" +"Apart from supporting file annotation, Git also supports searching the " +"development history for when a code snippet occurred in a change. This makes " +"it possible to track when a code snippet was added to a file, moved or " +"copied between files, and eventually deleted or replaced. It works by " +"searching for a text string in the diff. A small example of the pickaxe " +"interface that searches for `blame_usage`:" msgstr "" #. type: delimited block - -#: en/git-daemon.txt:269 +#: en/git-blame.txt:46 #, no-wrap msgid "" -"\tgit stream tcp nowait nobody /usr/bin/git\n" -"\t\tgit daemon --inetd --verbose --export-all\n" -"\t\t--interpolated-path=/pub/%H%D\n" -"\t\t/pub/www.example.org/software\n" -"\t\t/pub/www.example.com/software\n" -"\t\t/software\n" +"$ git log --pretty=oneline -S'blame_usage'\n" +"5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>\n" +"ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:277 -msgid "" -"In this example, the root-level directory `/pub` will contain a subdirectory " -"for each virtual host name supported. Further, both hosts advertise " -"repositories simply as `git://www.example.com/software/repo.git`. For " -"pre-1.4.0 clients, a symlink from `/software` into the appropriate default " -"repository could be made as well." +#: en/git-blame.txt:54 +msgid "Use the same output mode as linkgit:git-annotate[1] (Default: off)." msgstr "" #. type: Labeled list -#: en/git-daemon.txt:279 +#: en/git-blame.txt:55 #, no-wrap -msgid "'git daemon' as regular daemon for virtual hosts" +msgid "--score-debug" msgstr "" #. type: Plain text -#: en/git-daemon.txt:283 +#: en/git-blame.txt:63 msgid "" -"To set up 'git daemon' as a regular, non-inetd service that handles " -"repositories for multiple virtual hosts based on their IP addresses, start " -"the daemon like this:" +"Include debugging information related to the movement of lines between files " +"(see `-C`) and lines moved within a file (see `-M`). The first number " +"listed is the score. This is the number of alphanumeric characters detected " +"as having been moved between or within files. This must be above a certain " +"threshold for 'git blame' to consider those lines of code to have been moved." msgstr "" -#. type: delimited block - -#: en/git-daemon.txt:289 +#. type: Labeled list +#: en/git-blame.txt:65 #, no-wrap -msgid "" -"\tgit daemon --verbose --export-all\n" -"\t\t--interpolated-path=/pub/%IP/%D\n" -"\t\t/pub/192.168.1.200/software\n" -"\t\t/pub/10.10.220.23/software\n" +msgid "--show-name" msgstr "" #. type: Plain text -#: en/git-daemon.txt:295 +#: en/git-blame.txt:69 msgid "" -"In this example, the root-level directory `/pub` will contain a subdirectory " -"for each virtual host IP address supported. Repositories can still be " -"accessed by hostname though, assuming they correspond to these IP addresses." +"Show the filename in the original commit. By default the filename is shown " +"if there is any line that came from a file with a different name, due to " +"rename detection." msgstr "" #. type: Labeled list -#: en/git-daemon.txt:296 +#: en/git-blame.txt:71 #, no-wrap -msgid "selectively enable/disable services per repository" +msgid "--show-number" msgstr "" #. type: Plain text -#: en/git-daemon.txt:301 -msgid "" -"To enable 'git archive --remote' and disable 'git fetch' against a " -"repository, have the following in the configuration file in the repository " -"(that is the file 'config' next to `HEAD`, 'refs' and 'objects')." +#: en/git-blame.txt:73 +msgid "Show the line number in the original commit (Default: off)." msgstr "" -#. type: delimited block - -#: en/git-daemon.txt:306 -#, no-wrap -msgid "" -"\t[daemon]\n" -"\t\tuploadpack = false\n" -"\t\tuploadarch = true\n" +#. type: Plain text +#: en/git-blame.txt:76 +msgid "Suppress the author name and timestamp from the output." msgstr "" +#. type: Labeled list +#: en/git-blame.txt:78 +#, no-wrap +msgid "--show-email" +msgstr "--show-email" + #. type: Plain text -#: en/git-daemon.txt:315 +#: en/git-blame.txt:82 msgid "" -"'git daemon' will set REMOTE_ADDR to the IP address of the client that " -"connected to it, if the IP address is available. REMOTE_ADDR will be " -"available in the environment of hooks called when services are performed." +"Show the author email instead of author name (Default: off). This can also " +"be controlled via the `blame.showEmail` config option." msgstr "" -#. type: Title = -#: en/git-describe.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-describe(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-describe.txt:7 +#: en/git-blame.txt:86 msgid "" -"git-describe - Describe a commit using the most recent tag reachable from it" +"Ignore whitespace when comparing the parent's version and the child's to " +"find where the lines came from." msgstr "" -#. type: Plain text -#: en/git-describe.txt:14 +#. type: Labeled list +#: en/git-blame.txt:87 en/git-describe.txt:52 #, no-wrap -msgid "" -"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]\n" -"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]\n" +msgid "--abbrev=<n>" msgstr "" #. type: Plain text -#: en/git-describe.txt:22 +#: en/git-blame.txt:91 msgid "" -"The command finds the most recent tag that is reachable from a commit. If " -"the tag points to the commit, then only the tag is shown. Otherwise, it " -"suffixes the tag name with the number of additional commits on top of the " -"tagged object and the abbreviated object name of the most recent commit." +"Instead of using the default 7+1 hexadecimal digits as the abbreviated " +"object name, use <n>+1 digits. Note that 1 column is used for a caret to " +"mark the boundary commit." +msgstr "" + +#. type: Title - +#: en/git-blame.txt:96 +#, no-wrap +msgid "THE PORCELAIN FORMAT" msgstr "" #. type: Plain text -#: en/git-describe.txt:26 +#: en/git-blame.txt:100 msgid "" -"By default (without --all or --tags) `git describe` only shows annotated " -"tags. For more information about creating annotated tags see the -a and -s " -"options to linkgit:git-tag[1]." +"In this format, each line is output after a header; the header at the " +"minimum has the first line which has:" msgstr "" -#. type: Labeled list -#: en/git-describe.txt:29 -#, no-wrap -msgid "<commit-ish>..." +#. type: Plain text +#: en/git-blame.txt:102 +msgid "40-byte SHA-1 of the commit the line is attributed to;" msgstr "" #. type: Plain text -#: en/git-describe.txt:31 -msgid "Commit-ish object names to describe. Defaults to HEAD if omitted." +#: en/git-blame.txt:103 +msgid "the line number of the line in the original file;" msgstr "" -#. type: Labeled list -#: en/git-describe.txt:32 -#, no-wrap -msgid "--dirty[=<mark>]" +#. type: Plain text +#: en/git-blame.txt:104 +msgid "the line number of the line in the final file;" msgstr "" #. type: Plain text -#: en/git-describe.txt:36 +#: en/git-blame.txt:107 msgid "" -"Describe the working tree. It means describe HEAD and appends <mark> (`-" -"dirty` by default) if the working tree is dirty." +"on a line that starts a group of lines from a different commit than the " +"previous one, the number of lines in this group. On subsequent lines this " +"field is absent." msgstr "" #. type: Plain text -#: en/git-describe.txt:41 +#: en/git-blame.txt:110 msgid "" -"Instead of using only the annotated tags, use any ref found in `refs/` " -"namespace. This option enables matching any known branch, remote-tracking " -"branch, or lightweight tag." -msgstr "" - -#. type: Labeled list -#: en/git-describe.txt:42 en/git-fsck.txt:41 en/git-ls-remote.txt:27 -#: en/git-name-rev.txt:24 en/git-push.txt:130 en/git-show-ref.txt:40 -#: en/fetch-options.txt:99 -#, no-wrap -msgid "--tags" +"This header line is followed by the following information at least once for " +"each commit:" msgstr "" #. type: Plain text -#: en/git-describe.txt:46 +#: en/git-blame.txt:114 msgid "" -"Instead of using only the annotated tags, use any tag found in `refs/tags` " -"namespace. This option enables matching a lightweight (non-annotated) tag." +"the author name (\"author\"), email (\"author-mail\"), time (\"author-time" +"\"), and time zone (\"author-tz\"); similarly for committer." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:47 -#, no-wrap -msgid "--contains" +#. type: Plain text +#: en/git-blame.txt:115 +msgid "the filename in the commit that the line is attributed to." msgstr "" #. type: Plain text -#: en/git-describe.txt:51 -msgid "" -"Instead of finding the tag that predates the commit, find the tag that comes " -"after the commit, and thus contains it. Automatically implies --tags." +#: en/git-blame.txt:116 +msgid "the first line of the commit log message (\"summary\")." msgstr "" #. type: Plain text -#: en/git-describe.txt:57 +#: en/git-blame.txt:120 msgid "" -"Instead of using the default 7 hexadecimal digits as the abbreviated object " -"name, use <n> digits, or as many digits as needed to form a unique object " -"name. An <n> of 0 will suppress long format, only showing the closest tag." +"The contents of the actual line is output after the above header, prefixed " +"by a TAB. This is to allow adding more header elements later." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:58 -#, no-wrap -msgid "--candidates=<n>" +#. type: Plain text +#: en/git-blame.txt:128 +msgid "" +"The porcelain format generally suppresses commit information that has " +"already been seen. For example, two lines that are blamed to the same commit " +"will both be shown, but the details for that commit will be shown only once. " +"This is more efficient, but may require more state be kept by the reader. " +"The `--line-porcelain` option can be used to output full commit information " +"for each line, allowing simpler (but less efficient) usage like:" msgstr "" #. type: Plain text -#: en/git-describe.txt:64 +#: en/git-blame.txt:133 +#, no-wrap msgid "" -"Instead of considering only the 10 most recent tags as candidates to " -"describe the input commit-ish consider up to <n> candidates. Increasing <n> " -"above 10 will take slightly longer but may produce a more accurate result. " -"An <n> of 0 will cause only exact matches to be output." +"\t# count the number of lines attributed to each author\n" +"\tgit blame --line-porcelain file |\n" +"\tsed -n 's/^author //p' |\n" +"\tsort | uniq -c | sort -rn\n" msgstr "" -#. type: Labeled list -#: en/git-describe.txt:65 +#. type: Title - +#: en/git-blame.txt:136 en/revisions.txt:237 #, no-wrap -msgid "--exact-match" +msgid "SPECIFYING RANGES" msgstr "" #. type: Plain text -#: en/git-describe.txt:68 +#: en/git-blame.txt:142 msgid "" -"Only output exact matches (a tag directly references the supplied commit). " -"This is a synonym for --candidates=0." +"Unlike 'git blame' and 'git annotate' in older versions of git, the extent " +"of the annotation can be limited to both line ranges and revision ranges. " +"The `-L` option, which limits annotation to a range of lines, may be " +"specified multiple times." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:69 en/git-ls-files.txt:151 -#, no-wrap -msgid "--debug" +#. type: Plain text +#: en/git-blame.txt:147 +msgid "" +"When you are interested in finding the origin for lines 40-60 for file " +"`foo`, you can use the `-L` option like so (they mean the same thing -- both " +"ask for 21 lines starting at line 40):" msgstr "" #. type: Plain text -#: en/git-describe.txt:73 +#: en/git-blame.txt:150 +#, no-wrap msgid "" -"Verbosely display information about the searching strategy being employed to " -"standard error. The tag name will still be printed to standard out." +"\tgit blame -L 40,60 foo\n" +"\tgit blame -L 40,+21 foo\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:82 -msgid "" -"Always output the long format (the tag, the number of commits and the " -"abbreviated commit name) even when it matches a tag. This is useful when " -"you want to see parts of the commit object name in \"describe\" output, even " -"when the commit in question happens to be a tagged version. Instead of just " -"emitting the tag name, it will describe such a commit as v1.2-0-gdeadbee " -"(0th commit since tag v1.2 that points at object deadbee....)." +#: en/git-blame.txt:152 +msgid "Also you can use a regular expression to specify the line range:" msgstr "" -#. type: Labeled list -#: en/git-describe.txt:83 +#. type: Plain text +#: en/git-blame.txt:154 #, no-wrap -msgid "--match <pattern>" +msgid "\tgit blame -L '/^sub hello {/,/^}$/' foo\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:90 -msgid "" -"Only consider tags matching the given `glob(7)` pattern, excluding the " -"\"refs/tags/\" prefix. This can be used to avoid leaking private tags from " -"the repository. If given multiple times, a list of patterns will be " -"accumulated, and tags matching any of the patterns will be considered. Use " -"`--no-match` to clear and reset the list of patterns." +#: en/git-blame.txt:156 +msgid "which limits the annotation to the body of the `hello` subroutine." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:91 -#, no-wrap -msgid "--exclude <pattern>" +#. type: Plain text +#: en/git-blame.txt:160 +msgid "" +"When you are not interested in changes older than version v2.6.18, or " +"changes older than 3 weeks, you can use revision range specifiers similar to " +"'git rev-list':" msgstr "" #. type: Plain text -#: en/git-describe.txt:100 +#: en/git-blame.txt:163 +#, no-wrap msgid "" -"Do not consider tags matching the given `glob(7)` pattern, excluding the " -"\"refs/tags/\" prefix. This can be used to narrow the tag space and find " -"only tags matching some meaningful criteria. If given multiple times, a list " -"of patterns will be accumulated and tags matching any of the patterns will " -"be excluded. When combined with --match a tag will be considered when it " -"matches at least one --match pattern and does not match any of the --exclude " -"patterns. Use `--no-exclude` to clear and reset the list of patterns." +"\tgit blame v2.6.18.. -- foo\n" +"\tgit blame --since=3.weeks -- foo\n" msgstr "" -#. type: Labeled list -#: en/git-describe.txt:101 en/git-diff-tree.txt:111 en/git-name-rev.txt:61 -#, no-wrap -msgid "--always" +#. type: Plain text +#: en/git-blame.txt:169 +msgid "" +"When revision range specifiers are used to limit the annotation, lines that " +"have not changed since the range boundary (either the commit v2.6.18 or the " +"most recent commit that is more than 3 weeks old in the above example) are " +"blamed for that range boundary commit." msgstr "" #. type: Plain text -#: en/git-describe.txt:103 en/git-name-rev.txt:63 -msgid "Show uniquely abbreviated commit object as fallback." +#: en/git-blame.txt:175 +msgid "" +"A particularly useful way is to see if an added file has lines created by " +"copy-and-paste from existing files. Sometimes this indicates that the " +"developer was being sloppy and did not refactor the code properly. You can " +"first find the commit that introduced the file with:" msgstr "" -#. type: Labeled list -#: en/git-describe.txt:104 en/rev-list-options.txt:121 +#. type: Plain text +#: en/git-blame.txt:177 #, no-wrap -msgid "--first-parent" +msgid "\tgit log --diff-filter=A --pretty=short -- foo\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:108 +#: en/git-blame.txt:180 msgid "" -"Follow only the first parent commit upon seeing a merge commit. This is " -"useful when you wish to not match tags on branches merged in the history of " -"the target commit." +"and then annotate the change between the commit and its parents, using " +"`commit^!` notation:" msgstr "" #. type: Plain text -#: en/git-describe.txt:113 -msgid "With something like git.git current tree, I get:" +#: en/git-blame.txt:182 +#, no-wrap +msgid "\tgit blame -C -C -f $commit^! -- foo\n" msgstr "" -#. type: Plain text -#: en/git-describe.txt:116 +#. type: Title - +#: en/git-blame.txt:185 #, no-wrap -msgid "" -"\t[torvalds@g5 git]$ git describe parent\n" -"\tv1.0.4-14-g2414721\n" +msgid "INCREMENTAL OUTPUT" msgstr "" #. type: Plain text -#: en/git-describe.txt:122 +#: en/git-blame.txt:192 msgid "" -"i.e. the current head of my \"parent\" branch is based on v1.0.4, but since " -"it has a few commits on top of that, describe has added the number of " -"additional commits (\"14\") and an abbreviated object name for the commit " -"itself (\"2414721\") at the end." +"When called with `--incremental` option, the command outputs the result as " +"it is built. The output generally will talk about lines touched by more " +"recent commits first (i.e. the lines will be annotated out of order) and is " +"meant to be used by interactive viewers." msgstr "" #. type: Plain text -#: en/git-describe.txt:130 +#: en/git-blame.txt:196 msgid "" -"The number of additional commits is the number of commits which would be " -"displayed by \"git log v1.0.4..parent\". The hash suffix is \"-g\" + 7-char " -"abbreviation for the tip commit of parent (which was " -"`2414721b194453f058079d897d13c4e377f92dc6`). The \"g\" prefix stands for " -"\"git\" and is used to allow describing the version of a software depending " -"on the SCM the software is managed with. This is useful in an environment " -"where people may use different SCMs." +"The output format is similar to the Porcelain format, but it does not " +"contain the actual lines from the file that is being annotated." msgstr "" #. type: Plain text -#: en/git-describe.txt:132 -msgid "Doing a 'git describe' on a tag-name will just show the tag name:" +#: en/git-blame.txt:198 +msgid "Each blame entry always starts with a line of:" msgstr "" #. type: Plain text -#: en/git-describe.txt:135 +#: en/git-blame.txt:200 #, no-wrap -msgid "" -"\t[torvalds@g5 git]$ git describe v1.0.4\n" -"\tv1.0.4\n" +msgid "<40-byte hex sha1> <sourceline> <resultline> <num_lines>\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:138 -msgid "" -"With --all, the command can use branch heads as references, so the output " -"shows the reference path as well:" +#: en/git-blame.txt:202 +msgid "Line numbers count from 1." msgstr "" #. type: Plain text -#: en/git-describe.txt:141 -#, no-wrap +#: en/git-blame.txt:207 msgid "" -"\t[torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2\n" -"\ttags/v1.0.0-21-g975b\n" +"The first time that a commit shows up in the stream, it has various other " +"information about it printed out with a one-word tag at the beginning of " +"each line describing the extra commit information (author, email, committer, " +"dates, summary, etc.)." msgstr "" #. type: Plain text -#: en/git-describe.txt:144 -#, no-wrap +#: en/git-blame.txt:210 msgid "" -"\t[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^\n" -"\theads/lt/describe-7-g975b\n" +"Unlike the Porcelain format, the filename information is always given and " +"terminates the entry:" msgstr "" #. type: Plain text -#: en/git-describe.txt:147 -msgid "" -"With --abbrev set to 0, the command can be used to find the closest tagname " -"without any suffix:" +#: en/git-blame.txt:212 +#, no-wrap +msgid "\"filename\" <whitespace-quoted-filename-goes-here>\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:150 -#, no-wrap +#: en/git-blame.txt:215 msgid "" -"\t[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2\n" -"\ttags/v1.0.0\n" +"and thus it is really quite easy to parse for some line- and word-oriented " +"parser (which should be quite natural for most scripting languages)." msgstr "" #. type: Plain text -#: en/git-describe.txt:156 +#: en/git-blame.txt:223 msgid "" -"Note that the suffix you get if you type these commands today may be longer " -"than what Linus saw above when he ran these commands, as your Git repository " -"may have new commits whose object names begin with 975b that did not exist " -"back then, and \"-g975b\" suffix alone may not be sufficient to disambiguate " -"these commits." +"For people who do parsing: to make it more robust, just ignore any lines " +"between the first and last one (\"<sha1>\" and \"filename\" lines) where " +"you do not recognize the tag words (or care about that particular one) at " +"the beginning of the \"extended information\" lines. That way, if there is " +"ever added information (like the commit encoding or extended commit " +"commentary), a blame viewer will not care." msgstr "" #. type: Title - -#: en/git-describe.txt:159 +#: en/git-blame.txt:226 en/git-check-mailmap.txt:40 en/git-shortlog.txt:80 #, no-wrap -msgid "SEARCH STRATEGY" +msgid "MAPPING AUTHORS" msgstr "" +#. type: Title = +#: en/git-branch.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-branch(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-describe.txt:166 -msgid "" -"For each commit-ish supplied, 'git describe' will first look for a tag which " -"tags exactly that commit. Annotated tags will always be preferred over " -"lightweight tags, and tags with newer dates will always be preferred over " -"tags with older dates. If an exact match is found, its name will be output " -"and searching will stop." +#: en/git-branch.txt:7 +msgid "git-branch - List, create, or delete branches" msgstr "" #. type: Plain text -#: en/git-describe.txt:173 +#: en/git-branch.txt:22 +#, no-wrap msgid "" -"If an exact match was not found, 'git describe' will walk back through the " -"commit history to locate an ancestor commit which has been tagged. The " -"ancestor's tag will be output along with an abbreviation of the input commit-" -"ish's SHA-1. If `--first-parent` was specified then the walk will only " -"consider the first parent of each commit." +"'git branch' [--color[=<when>] | --no-color] [-r | -a]\n" +"\t[--list] [-v [--abbrev=<length> | --no-abbrev]]\n" +"\t[--column[=<options>] | --no-column]\n" +"\t[(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]\n" +"\t[--points-at <object>] [--format=<format>] [<pattern>...]\n" +"'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]\n" +"'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]\n" +"'git branch' --unset-upstream [<branchname>]\n" +"'git branch' (-m | -M) [<oldbranch>] <newbranch>\n" +"'git branch' (-d | -D) [-r] <branchname>...\n" +"'git branch' --edit-description [<branchname>]\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:179 +#: en/git-branch.txt:35 msgid "" -"If multiple tags were found during the walk then the tag which has the " -"fewest commits different from the input commit-ish will be selected and " -"output. Here fewest commits different is defined as the number of commits " -"which would be shown by `git log tag..input` will be the smallest number of " -"commits possible." -msgstr "" - -#. type: Title = -#: en/git-diff-files.txt:2 -#, no-wrap -msgid "git-diff-files(1)" +"If `--list` is given, or if there are no non-option arguments, existing " +"branches are listed; the current branch will be highlighted with an " +"asterisk. Option `-r` causes the remote-tracking branches to be listed, and " +"option `-a` shows both local and remote branches. If a `<pattern>` is given, " +"it is used as a shell wildcard to restrict the output to matching branches. " +"If multiple patterns are given, a branch is shown if it matches any of the " +"patterns. Note that when providing a `<pattern>`, you must use `--list`; " +"otherwise the command is interpreted as branch creation." msgstr "" #. type: Plain text -#: en/git-diff-files.txt:7 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "git-diff-files - Compares files in the working tree and the index" +#: en/git-branch.txt:43 +msgid "" +"With `--contains`, shows only the branches that contain the named commit (in " +"other words, the branches whose tip commits are descendants of the named " +"commit). With `--merged`, only branches merged into the named commit (i.e. " +"the branches whose tip commits are reachable from the named commit) will be " +"listed. With `--no-merged` only branches not merged into the named commit " +"will be listed. If the <commit> argument is missing it defaults to `HEAD` " +"(i.e. the tip of the current branch)." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-diff-files.txt:13 -#, no-wrap -msgid "'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]\n" +#: en/git-branch.txt:46 +msgid "" +"The command's second form creates a new branch head named <branchname> which " +"points to the current `HEAD`, or <start-point> if given." msgstr "" #. type: Plain text -#: en/git-diff-files.txt:20 +#: en/git-branch.txt:50 msgid "" -"Compares the files in the working tree and the index. When paths are " -"specified, compares only those named paths. Otherwise all entries in the " -"index are compared. The output format is the same as for 'git diff-index' " -"and 'git diff-tree'." -msgstr "" - -#. type: Labeled list -#: en/git-diff-files.txt:25 -#, no-wrap -msgid "-1 --base" +"Note that this will create the new branch, but it will not switch the " +"working tree to it; use \"git checkout <newbranch>\" to switch to the new " +"branch." msgstr "" -#. type: Labeled list -#: en/git-diff-files.txt:26 -#, no-wrap -msgid "-2 --ours" +#. type: Plain text +#: en/git-branch.txt:58 +msgid "" +"When a local branch is started off a remote-tracking branch, Git sets up the " +"branch (specifically the `branch.<name>.remote` and `branch.<name>.merge` " +"configuration entries) so that 'git pull' will appropriately merge from the " +"remote-tracking branch. This behavior may be changed via the global `branch." +"autoSetupMerge` configuration flag. That setting can be overridden by using " +"the `--track` and `--no-track` options, and changed later using `git branch " +"--set-upstream-to`." msgstr "" -#. type: Labeled list -#: en/git-diff-files.txt:27 -#, no-wrap -msgid "-3 --theirs" +#. type: Plain text +#: en/git-branch.txt:64 +msgid "" +"With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>. If " +"<oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, " +"and a reflog entry is created to remember the branch renaming. If " +"<newbranch> exists, -M must be used to force the rename to happen." msgstr "" #. type: Plain text -#: en/git-diff-files.txt:32 +#: en/git-branch.txt:68 msgid "" -"Diff against the \"base\" version, \"our branch\" or \"their branch\" " -"respectively. With these options, diffs for merged entries are not shown." +"With a `-d` or `-D` option, `<branchname>` will be deleted. You may specify " +"more than one branch for deletion. If the branch currently has a reflog " +"then the reflog will also be deleted." msgstr "" #. type: Plain text -#: en/git-diff-files.txt:36 +#: en/git-branch.txt:74 msgid "" -"The default is to diff against our branch (-2) and the cleanly resolved " -"paths. The option -0 can be given to omit diff output for unmerged entries " -"and just show \"Unmerged\"." +"Use `-r` together with `-d` to delete remote-tracking branches. Note, that " +"it only makes sense to delete remote-tracking branches if they no longer " +"exist in the remote repository or if 'git fetch' was configured not to fetch " +"them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a " +"way to clean up all obsolete remote-tracking branches." msgstr "" #. type: Labeled list -#: en/git-diff-files.txt:38 en/git-diff-tree.txt:101 -#: en/rev-list-options.txt:873 +#: en/git-branch.txt:78 en/git-clean.txt:28 en/git-cvsexportcommit.txt:49 +#: en/git-difftool.txt:22 en/git-http-push.txt:44 en/git-instaweb.txt:27 +#: en/git-ls-files.txt:39 en/git-ls-tree.txt:41 en/git-repack.txt:55 +#: en/git-replace.txt:64 en/git-show-ref.txt:47 en/git-symbolic-ref.txt:35 +#: en/git-tag.txt:75 #, no-wrap -msgid "--cc" +msgid "-d" msgstr "" -#. type: Plain text -#: en/git-diff-files.txt:43 -msgid "" -"This compares stage 2 (our branch), stage 3 (their branch) and the working " -"tree file and outputs a combined diff, similar to the way 'diff-tree' shows " -"a merge commit with these flags." +#. type: Labeled list +#: en/git-branch.txt:79 en/git-push.txt:126 en/git-replace.txt:65 +#: en/git-symbolic-ref.txt:36 en/git-tag.txt:76 +#, no-wrap +msgid "--delete" msgstr "" #. type: Plain text -#: en/git-diff-files.txt:46 -msgid "Remain silent even on nonexistent files" +#: en/git-branch.txt:83 +msgid "" +"Delete a branch. The branch must be fully merged in its upstream branch, or " +"in `HEAD` if no upstream was set with `--track` or `--set-upstream`." msgstr "" -#. type: Title = -#: en/git-diff-index.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-diff-index(1)" -msgstr "git-add(1)" - -# #. type: Plain text -#: en/git-diff-index.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-diff-index - Compare a tree to the working tree or index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-branch.txt:86 +msgid "Shortcut for `--delete --force`." +msgstr "" -#. type: Plain text -#: en/git-diff-index.txt:13 +#. type: Labeled list +#: en/git-branch.txt:88 en/git-tag.txt:152 #, no-wrap -msgid "'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]\n" +msgid "--create-reflog" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:21 +#: en/git-branch.txt:97 msgid "" -"Compares the content and mode of the blobs found in a tree object with the " -"corresponding tracked files in the working tree, or with the corresponding " -"paths in the index. When <path> arguments are present, compares only paths " -"matching those patterns. Otherwise all tracked files are compared." -msgstr "" - -#. type: Plain text -#: en/git-diff-index.txt:28 -msgid "The id of a tree object to diff against." +"Create the branch's reflog. This activates recording of all changes made to " +"the branch ref, enabling use of date based sha1 expressions such as " +"\"<branchname>@\\{yesterday}\". Note that in non-bare repositories, reflogs " +"are usually enabled by default by the `core.logallrefupdates` config " +"option. The negated form `--no-create-reflog` only overrides an earlier `--" +"create-reflog`, but currently does not negate the setting of `core." +"logallrefupdates`." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:31 -#, fuzzy -#| msgid "Do not change the message at all." -msgid "do not consider the on-disk file at all" -msgstr "Laisser le message inchang챕." - -#. type: Plain text -#: en/git-diff-index.txt:37 +#: en/git-branch.txt:106 msgid "" -"By default, files recorded in the index but not checked out are reported as " -"deleted. This flag makes 'git diff-index' say that all non-checked-out " -"files are up to date." +"Reset <branchname> to <startpoint> if <branchname> exists already. Without `-" +"f` 'git branch' refuses to change an existing branch. In combination with `-" +"d` (or `--delete`), allow deleting the branch irrespective of its merged " +"status. In combination with `-m` (or `--move`), allow renaming the branch " +"even if the new branch name already exists." msgstr "" -#. type: Title - -#: en/git-diff-index.txt:41 +#. type: Labeled list +#: en/git-branch.txt:108 #, no-wrap -msgid "Operating Modes" +msgid "--move" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:46 -msgid "" -"You can choose whether you want to trust the index file entirely (using the " -"`--cached` flag) or ask the diff logic to show any files that don't match " -"the stat state as being \"tentatively changed\". Both of these operations " -"are very useful indeed." +#: en/git-branch.txt:110 +msgid "Move/rename a branch and the corresponding reflog." msgstr "" -#. type: Title - -#: en/git-diff-index.txt:48 +#. type: Labeled list +#: en/git-branch.txt:111 en/git-fast-export.txt:53 en/git-p4.txt:280 #, no-wrap -msgid "Cached Mode" +msgid "-M" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:50 -msgid "If `--cached` is specified, it allows you to ask:" +#: en/git-branch.txt:113 +msgid "Shortcut for `--move --force`." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:53 -#, no-wrap +#: en/git-branch.txt:118 msgid "" -"\tshow me the differences between HEAD and the current index\n" -"\tcontents (the ones I'd write using 'git write-tree')\n" +"Color branches to highlight current, local, and remote-tracking branches. " +"The value must be always (the default), never, or auto." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:58 +#: en/git-branch.txt:123 msgid "" -"For example, let's say that you have worked on your working directory, " -"updated some files in the index and are ready to commit. You want to see " -"exactly *what* you are going to commit, without having to write a new tree " -"object and compare it that way, and to do that, you just do" +"Turn off branch colors, even when the configuration file gives the default " +"to color output. Same as `--color=never`." msgstr "" +#. type: Labeled list +#: en/git-branch.txt:125 en/git-for-each-ref.txt:82 en/git-grep.txt:117 +#: en/git-tag.txt:112 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "--ignore-case" +msgstr "whitespace" + #. type: Plain text -#: en/git-diff-index.txt:60 +#: en/git-branch.txt:127 +msgid "Sorting and filtering branches are case insensitive." +msgstr "" + +#. type: Labeled list +#: en/git-branch.txt:128 en/git-status.txt:104 en/git-tag.txt:115 #, no-wrap -msgid "\tgit diff-index --cached HEAD\n" +msgid "--column[=<options>]" msgstr "" +#. type: Labeled list +#: en/git-branch.txt:129 en/git-status.txt:105 en/git-tag.txt:116 +#, fuzzy, no-wrap +#| msgid "status" +msgid "--no-column" +msgstr "status" + #. type: Plain text -#: en/git-diff-index.txt:65 +#: en/git-branch.txt:133 msgid "" -"Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had " -"done an `update-index` to make that effective in the index file. `git diff-" -"files` wouldn't show anything at all, since the index file matches my " -"working directory. But doing a 'git diff-index' does:" +"Display branch listing in columns. See configuration variable column.branch " +"for option syntax.`--column` and `--no-column` without options are " +"equivalent to 'always' and 'never' respectively." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:69 -#, no-wrap -msgid "" -" torvalds@ppc970:~/git> git diff-index --cached HEAD\n" -" -100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c\n" -" +100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 git-commit.c\n" +#: en/git-branch.txt:135 +msgid "This option is only applicable in non-verbose mode." msgstr "" +#. type: Labeled list +#: en/git-branch.txt:137 en/git-show-branch.txt:44 +#, no-wrap +msgid "--remotes" +msgstr "--remotes" + #. type: Plain text -#: en/git-diff-index.txt:71 -msgid "You can see easily that the above is a rename." +#: en/git-branch.txt:139 +msgid "List or delete (if used with -d) the remote-tracking branches." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:75 -msgid "" -"In fact, `git diff-index --cached` *should* always be entirely equivalent to " -"actually doing a 'git write-tree' and comparing that. Except this one is " -"much nicer for the case where you just want to check where you are." +#: en/git-branch.txt:143 +msgid "List both remote-tracking branches and local branches." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:79 +#: en/git-branch.txt:147 msgid "" -"So doing a `git diff-index --cached` is basically very useful when you are " -"asking yourself \"what have I already marked for being committed, and what's " -"the difference to a previous tree\"." +"Activate the list mode. `git branch <pattern>` would try to create a branch, " +"use `git branch --list <pattern>` to list matching branches." msgstr "" -#. type: Title - -#: en/git-diff-index.txt:81 +#. type: Labeled list +#: en/git-branch.txt:149 #, no-wrap -msgid "Non-cached Mode" +msgid "-vv" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:86 +#: en/git-branch.txt:156 msgid "" -"The \"non-cached\" mode takes a different approach, and is potentially the " -"more useful of the two in that what it does can't be emulated with a 'git " -"write-tree' + 'git diff-tree'. Thus that's the default mode. The non-cached " -"version asks the question:" +"When in list mode, show sha1 and commit subject line for each head, along " +"with relationship to upstream branch (if any). If given twice, print the " +"name of the upstream branch, as well (see also `git remote show <remote>`)." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:89 -#, no-wrap +#: en/git-branch.txt:161 msgid "" -" show me the differences between HEAD and the currently checked out\n" -" tree - index contents _and_ files that aren't up-to-date\n" +"Be more quiet when creating or deleting a branch, suppressing non-error " +"messages." msgstr "" -#. type: Plain text -#: en/git-diff-index.txt:93 -msgid "" -"which is obviously a very useful question too, since that tells you what you " -"*could* commit. Again, the output matches the 'git diff-tree -r' output to a " -"tee, but with a twist." +#. type: Labeled list +#: en/git-branch.txt:162 +#, no-wrap +msgid "--abbrev=<length>" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:99 +#: en/git-branch.txt:166 msgid "" -"The twist is that if some file doesn't match the index, we don't have a " -"backing store thing for it, and we use the magic \"all-zero\" sha1 to show " -"that. So let's say that you have edited `kernel/sched.c`, but have not " -"actually done a 'git update-index' on it yet - there is no \"object\" " -"associated with the new state, and you get:" +"Alter the sha1's minimum display length in the output listing. The default " +"value is 7 and can be overridden by the `core.abbrev` config option." msgstr "" -#. type: Plain text -#: en/git-diff-index.txt:102 +#. type: Labeled list +#: en/git-branch.txt:167 #, no-wrap -msgid "" -" torvalds@ppc970:~/v2.6/linux> git diff-index --abbrev HEAD\n" -" :100644 100664 7476bb... 000000... kernel/sched.c\n" +msgid "--no-abbrev" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:107 +#: en/git-branch.txt:169 msgid "" -"i.e., it shows that the tree has changed, and that `kernel/sched.c` has is " -"not up-to-date and may contain new stuff. The all-zero sha1 means that to " -"get the real diff, you need to look at the object in the working directory " -"directly rather than do an object-to-object diff." +"Display the full sha1s in the output listing rather than abbreviating them." msgstr "" -#. type: Plain text -#: en/git-diff-index.txt:113 -msgid "" -"As with other commands of this type, 'git diff-index' does not actually look " -"at the contents of the file at all. So maybe `kernel/sched.c` hasn't " -"actually changed, and it's just that you touched it. In either case, it's a " -"note that you need to 'git update-index' it to make the index be in sync." +#. type: Labeled list +#: en/git-branch.txt:171 en/git-checkout.txt:156 +#, no-wrap +msgid "--track" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:119 +#: en/git-branch.txt:179 msgid "" -"You can have a mixture of files show up as \"has been updated\" and \"is " -"still dirty in the working directory\" together. You can always tell which " -"file is in which state, since the \"has been updated\" ones show a valid " -"sha1, and the \"not in sync with the index\" ones will always have the " -"special all-zero sha1." +"When creating a new branch, set up `branch.<name>.remote` and `branch.<name>." +"merge` configuration entries to mark the start-point branch as \"upstream\" " +"from the new branch. This configuration will tell git to show the " +"relationship between the two branches in `git status` and `git branch -v`. " +"Furthermore, it directs `git pull` without arguments to pull from the " +"upstream when the new branch is checked out." msgstr "" -#. type: Title = -#: en/git-difftool.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-difftool(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-difftool.txt:7 -msgid "git-difftool - Show changes using common diff tools" +#: en/git-branch.txt:185 +msgid "" +"This behavior is the default when the start point is a remote-tracking " +"branch. Set the branch.autoSetupMerge configuration variable to `false` if " +"you want `git checkout` and `git branch` to always behave as if `--no-track` " +"were given. Set it to `always` if you want this behavior when the start-" +"point is either a local or remote-tracking branch." msgstr "" -#. type: Plain text -#: en/git-difftool.txt:12 +#. type: Labeled list +#: en/git-branch.txt:186 en/git-checkout.txt:170 #, no-wrap -msgid "'git difftool' [<options>] [<commit> [<commit>]] [--] [<path>...]\n" +msgid "--no-track" msgstr "" #. type: Plain text -#: en/git-difftool.txt:19 +#: en/git-branch.txt:189 en/git-checkout.txt:173 msgid "" -"'git difftool' is a Git command that allows you to compare and edit files " -"between revisions using common diff tools. 'git difftool' is a frontend to " -"'git diff' and accepts the same options and arguments. See linkgit:git-" -"diff[1]." +"Do not set up \"upstream\" configuration, even if the branch.autoSetupMerge " +"configuration variable is true." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:23 +#: en/git-branch.txt:190 en/git-push.txt:246 #, no-wrap -msgid "--dir-diff" +msgid "--set-upstream" msgstr "" #. type: Plain text -#: en/git-difftool.txt:27 +#: en/git-branch.txt:195 msgid "" -"Copy the modified files to a temporary location and perform a directory diff " -"on them. This mode never prompts before launching the diff tool." +"If specified branch does not exist yet or if `--force` has been given, acts " +"exactly like `--track`. Otherwise sets up configuration like `--track` would " +"when creating the branch, except that where branch points to is not changed." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:28 en/git-mergetool.txt:70 +#: en/git-branch.txt:196 #, no-wrap -msgid "-y" +msgid "-u <upstream>" msgstr "" #. type: Labeled list -#: en/git-difftool.txt:29 en/git-mergetool.txt:71 +#: en/git-branch.txt:197 #, no-wrap -msgid "--no-prompt" +msgid "--set-upstream-to=<upstream>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:31 -msgid "Do not prompt before launching a diff tool." +#: en/git-branch.txt:201 +msgid "" +"Set up <branchname>'s tracking information so <upstream> is considered " +"<branchname>'s upstream branch. If no <branchname> is specified, then it " +"defaults to the current branch." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:32 en/git-mergetool.txt:78 +#: en/git-branch.txt:202 #, no-wrap -msgid "--prompt" +msgid "--unset-upstream" msgstr "" #. type: Plain text -#: en/git-difftool.txt:36 +#: en/git-branch.txt:205 msgid "" -"Prompt before each invocation of the diff tool. This is the default " -"behaviour; the option is provided to override any configuration settings." -msgstr "" - -#. type: Labeled list -#: en/git-difftool.txt:37 en/git-mergetool.txt:27 -#, no-wrap -msgid "-t <tool>" +"Remove the upstream information for <branchname>. If no branch is specified " +"it defaults to the current branch." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:38 en/git-mergetool.txt:28 +#: en/git-branch.txt:206 #, fuzzy, no-wrap -#| msgid "diff" -msgid "--tool=<tool>" -msgstr "diff" +#| msgid "git-add(1)" +msgid "--edit-description" +msgstr "git-add(1)" #. type: Plain text -#: en/git-difftool.txt:42 +#: en/git-branch.txt:211 msgid "" -"Use the diff tool specified by <tool>. Valid values include emerge, " -"kompare, meld, and vimdiff. Run `git difftool --tool-help` for the list of " -"valid <tool> settings." +"Open an editor and edit the text to explain what the branch is for, to be " +"used by various other commands (e.g. `format-patch`, `request-pull`, and " +"`merge` (if enabled)). Multi-line explanations may be used." msgstr "" -#. type: Plain text -#: en/git-difftool.txt:47 -msgid "" -"If a diff tool is not specified, 'git difftool' will use the configuration " -"variable `diff.tool`. If the configuration variable `diff.tool` is not set, " -"'git difftool' will pick a suitable default." +#. type: Labeled list +#: en/git-branch.txt:212 en/git-tag.txt:123 +#, no-wrap +msgid "--contains [<commit>]" msgstr "" #. type: Plain text -#: en/git-difftool.txt:53 +#: en/git-branch.txt:215 msgid "" -"You can explicitly provide a full path to the tool by setting the " -"configuration variable `difftool.<tool>.path`. For example, you can " -"configure the absolute path to kdiff3 by setting `difftool.kdiff3.path`. " -"Otherwise, 'git difftool' assumes the tool is available in PATH." +"Only list branches which contain the specified commit (HEAD if not " +"specified). Implies `--list`." msgstr "" -#. type: Plain text -#: en/git-difftool.txt:58 -msgid "" -"Instead of running one of the known diff tools, 'git difftool' can be " -"customized to run an alternative program by specifying the command line to " -"invoke in a configuration variable `difftool.<tool>.cmd`." +#. type: Labeled list +#: en/git-branch.txt:216 +#, no-wrap +msgid "--merged [<commit>]" msgstr "" #. type: Plain text -#: en/git-difftool.txt:68 +#: en/git-branch.txt:219 msgid "" -"When 'git difftool' is invoked with this tool (either through the `-t` or `--" -"tool` option or the `diff.tool` configuration variable) the configured " -"command line will be invoked with the following variables available: `" -"$LOCAL` is set to the name of the temporary file containing the contents of " -"the diff pre-image and `$REMOTE` is set to the name of the temporary file " -"containing the contents of the diff post-image. `$MERGED` is the name of " -"the file which is being compared. `$BASE` is provided for compatibility with " -"custom merge tool commands and has the same value as `$MERGED`." +"Only list branches whose tips are reachable from the specified commit (HEAD " +"if not specified). Implies `--list`." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:69 en/git-mergetool.txt:67 +#: en/git-branch.txt:220 #, no-wrap -msgid "--tool-help" +msgid "--no-merged [<commit>]" msgstr "" #. type: Plain text -#: en/git-difftool.txt:71 -msgid "Print a list of diff tools that may be used with `--tool`." +#: en/git-branch.txt:223 +msgid "" +"Only list branches whose tips are not reachable from the specified commit " +"(HEAD if not specified). Implies `--list`." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:72 +#: en/git-branch.txt:224 #, no-wrap -msgid "--[no-]symlinks" +msgid "<branchname>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:77 +#: en/git-branch.txt:229 msgid "" -"'git difftool''s default behavior is create symlinks to the working tree " -"when run in `--dir-diff` mode and the right-hand side of the comparison " -"yields the same content as the file in the working tree." +"The name of the branch to create or delete. The new branch name must pass " +"all checks defined by linkgit:git-check-ref-format[1]. Some of these checks " +"may restrict the characters allowed in a branch name." +msgstr "" + +#. type: Labeled list +#: en/git-branch.txt:230 +#, no-wrap +msgid "<start-point>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:80 +#: en/git-branch.txt:234 msgid "" -"Specifying `--no-symlinks` instructs 'git difftool' to create copies " -"instead. `--no-symlinks` is the default on Windows." +"The new branch head will point to this commit. It may be given as a branch " +"name, a commit-id, or a tag. If this option is omitted, the current HEAD " +"will be used instead." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:81 +#: en/git-branch.txt:235 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "-x <command>" -msgstr "git-commit(1)" +#| msgid "Interactive mode" +msgid "<oldbranch>" +msgstr "Mode interactif" + +#. type: Plain text +#: en/git-branch.txt:237 +msgid "The name of an existing branch to rename." +msgstr "" #. type: Labeled list -#: en/git-difftool.txt:82 +#: en/git-branch.txt:238 #, no-wrap -msgid "--extcmd=<command>" +msgid "<newbranch>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:87 +#: en/git-branch.txt:241 msgid "" -"Specify a custom command for viewing diffs. 'git-difftool' ignores the " -"configured defaults and runs `$command $LOCAL $REMOTE` when this option is " -"specified. Additionally, `$BASE` is set in the environment." +"The new name for an existing branch. The same restrictions as for " +"<branchname> apply." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:88 en/git-help.txt:46 en/git-show-branch.txt:111 -#: en/git-update-index.txt:114 en/rev-list-options.txt:245 +#: en/git-branch.txt:242 en/git-tag.txt:98 #, no-wrap -msgid "-g" +msgid "--sort=<key>" +msgstr "" + +#. type: Plain text +#: en/git-branch.txt:251 +msgid "" +"Sort based on the key given. Prefix `-` to sort in descending order of the " +"value. You may use the --sort=<key> option multiple times, in which case the " +"last key becomes the primary key. The keys supported are the same as those " +"in `git for-each-ref`. Sort order defaults to sorting based on the full " +"refname (including `refs/...` prefix). This lists detached HEAD (if present) " +"first, then local branches and finally remote-tracking branches." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:89 +#: en/git-branch.txt:253 en/git-for-each-ref.txt:67 en/git-tag.txt:127 #, no-wrap -msgid "--[no-]gui" +msgid "--points-at <object>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:94 +#: en/git-branch.txt:255 +msgid "Only list branches of the given object." +msgstr "" + +#. type: Labeled list +#: en/git-branch.txt:256 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--format <format>" +msgstr "Configuration" + +#. type: Plain text +#: en/git-branch.txt:260 msgid "" -"When 'git-difftool' is invoked with the `-g` or `--gui` option the default " -"diff tool will be read from the configured `diff.guitool` variable instead " -"of `diff.tool`. The `--no-gui` option can be used to override this setting." +"A string that interpolates `%(fieldname)` from the object pointed at by a " +"ref being shown. The format is the same as that of linkgit:git-for-each-" +"ref[1]." +msgstr "" + +#. type: Title - +#: en/git-branch.txt:262 en/git-clone.txt:258 en/git-filter-branch.txt:214 +#: en/git-grep.txt:298 en/git-gui.txt:52 en/git-imap-send.txt:106 +#: en/git-push.txt:467 en/git-remote.txt:203 en/git-update-index.txt:337 +#: en/git-whatchanged.txt:29 +#, no-wrap +msgid "Examples" msgstr "" #. type: Labeled list -#: en/git-difftool.txt:95 +#: en/git-branch.txt:264 #, no-wrap -msgid "--[no-]trust-exit-code" +msgid "Start development from a known tag" msgstr "" -#. type: Plain text -#: en/git-difftool.txt:100 +#. type: delimited block - +#: en/git-branch.txt:271 +#, no-wrap msgid "" -"'git-difftool' invokes a diff tool individually on each file. Errors " -"reported by the diff tool are ignored by default. Use `--trust-exit-code` " -"to make 'git-difftool' exit when an invoked diff tool returns a non-zero " -"exit code." +"$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6\n" +"$ cd my2.6\n" +"$ git branch my2.6.14 v2.6.14 <1>\n" +"$ git checkout my2.6.14\n" msgstr "" #. type: Plain text -#: en/git-difftool.txt:103 +#: en/git-branch.txt:275 msgid "" -"'git-difftool' will forward the exit code of the invoked tool when `--trust-" -"exit-code` is used." +"This step and the next one could be combined into a single step with " +"\"checkout -b my2.6.14 v2.6.14\"." msgstr "" -#. type: Plain text -#: en/git-difftool.txt:105 -msgid "See linkgit:git-diff[1] for the full list of supported options." +#. type: Labeled list +#: en/git-branch.txt:276 +#, no-wrap +msgid "Delete an unneeded branch" msgstr "" -#. type: Title - -#: en/git-difftool.txt:107 +#. type: delimited block - +#: en/git-branch.txt:283 #, no-wrap -msgid "CONFIG VARIABLES" +msgid "" +"$ git clone git://git.kernel.org/.../git.git my.git\n" +"$ cd my.git\n" +"$ git branch -d -r origin/todo origin/html origin/man <1>\n" +"$ git branch -D test <2>\n" msgstr "" #. type: Plain text -#: en/git-difftool.txt:110 +#: en/git-branch.txt:288 msgid "" -"'git difftool' falls back to 'git mergetool' config variables when the " -"difftool equivalents have not been defined." +"Delete the remote-tracking branches \"todo\", \"html\" and \"man\". The next " +"'fetch' or 'pull' will create them again unless you configure them not to. " +"See linkgit:git-fetch[1]." msgstr "" -#. type: Labeled list -#: en/git-difftool.txt:111 en/diff-config.txt:172 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "diff.tool" -msgstr "diff" - #. type: Plain text -#: en/git-difftool.txt:113 -msgid "The default diff tool to use." +#: en/git-branch.txt:290 +msgid "" +"Delete the \"test\" branch even if the \"master\" branch (or whichever " +"branch is currently checked out) does not have all commits from the test " +"branch." msgstr "" -#. type: Labeled list -#: en/git-difftool.txt:114 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "diff.guitool" -msgstr "diff" +#. type: Title - +#: en/git-branch.txt:293 en/git-filter-branch.txt:431 en/git-gc.txt:138 +#: en/git-prune.txt:68 +#, no-wrap +msgid "Notes" +msgstr "" #. type: Plain text -#: en/git-difftool.txt:116 -msgid "The default diff tool to use when `--gui` is specified." +#: en/git-branch.txt:298 +msgid "" +"If you are creating a branch that you want to checkout immediately, it is " +"easier to use the git checkout command with its `-b` option to create a " +"branch and check it out with a single command." msgstr "" -#. type: Labeled list -#: en/git-difftool.txt:117 en/config.txt:1270 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "difftool.<tool>.path" -msgstr "diff" +#. type: Plain text +#: en/git-branch.txt:301 +msgid "" +"The options `--contains`, `--merged` and `--no-merged` serve three related " +"but different purposes:" +msgstr "" + +#. type: Plain text +#: en/git-branch.txt:305 +msgid "" +"`--contains <commit>` is used to find all branches which will need special " +"attention if <commit> were to be rebased or amended, since those branches " +"contain the specified <commit>." +msgstr "" #. type: Plain text -#: en/git-difftool.txt:120 en/config.txt:1273 en/config.txt:2188 +#: en/git-branch.txt:308 msgid "" -"Override the path for the given tool. This is useful in case your tool is " -"not in the PATH." +"`--merged` is used to find all branches which can be safely deleted, since " +"those branches are fully contained by HEAD." msgstr "" -#. type: Labeled list -#: en/git-difftool.txt:121 en/config.txt:1274 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "difftool.<tool>.cmd" -msgstr "diff" - #. type: Plain text -#: en/git-difftool.txt:123 -msgid "Specify the command to invoke the specified diff tool." +#: en/git-branch.txt:311 +msgid "" +"`--no-merged` is used to find branches which are candidates for merging into " +"HEAD, since those branches are not fully contained by HEAD." msgstr "" #. type: Plain text -#: en/git-difftool.txt:125 -msgid "See the `--tool=<tool>` option above for more details." +#: en/git-branch.txt:319 +msgid "" +"linkgit:git-check-ref-format[1], linkgit:git-fetch[1], linkgit:git-" +"remote[1], link:user-manual.html#what-is-a-branch[``Understanding history: " +"What is a branch?''] in the Git User's Manual." msgstr "" -#. type: Labeled list -#: en/git-difftool.txt:126 en/config.txt:1282 +#. type: Title = +#: en/git-bundle.txt:2 #, fuzzy, no-wrap -#| msgid "diff" -msgid "difftool.prompt" -msgstr "diff" +#| msgid "git-add(1)" +msgid "git-bundle(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-difftool.txt:128 en/config.txt:1284 -msgid "Prompt before each invocation of the diff tool." +#: en/git-bundle.txt:7 +msgid "git-bundle - Move objects and refs by archive" msgstr "" -#. type: Labeled list -#: en/git-difftool.txt:129 +#. type: Plain text +#: en/git-bundle.txt:16 #, no-wrap -msgid "difftool.trustExitCode" +msgid "" +"'git bundle' create <file> <git-rev-list-args>\n" +"'git bundle' verify <file>\n" +"'git bundle' list-heads <file> [<refname>...]\n" +"'git bundle' unbundle <file> [<refname>...]\n" msgstr "" #. type: Plain text -#: en/git-difftool.txt:131 -msgid "Exit difftool if the invoked diff tool returns a non-zero exit status." +#: en/git-bundle.txt:32 +msgid "" +"Some workflows require that one or more branches of development on one " +"machine be replicated on another machine, but the two machines cannot be " +"directly connected, and therefore the interactive Git protocols (git, ssh, " +"http) cannot be used. This command provides support for 'git fetch' and " +"'git pull' to operate by packaging objects and references in an archive at " +"the originating machine, then importing those into another repository using " +"'git fetch' and 'git pull' after moving the archive by some means (e.g., by " +"sneakernet). As no direct connection between the repositories exists, the " +"user must specify a basis for the bundle that is held by the destination " +"repository: the bundle assumes that all objects in the basis are already in " +"the destination repository." +msgstr "" + +#. type: Labeled list +#: en/git-bundle.txt:36 +#, no-wrap +msgid "create <file>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:133 -msgid "See the `--trust-exit-code` option above for more details." +#: en/git-bundle.txt:39 +msgid "" +"Used to create a bundle named 'file'. This requires the 'git-rev-list-args' " +"arguments to define the bundle contents." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:136 en/cmds-mainporcelain.txt:40 +#: en/git-bundle.txt:40 #, no-wrap -msgid "linkgit:git-diff[1]" +msgid "verify <file>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:138 -msgid "Show changes between commits, commit and working tree, etc" +#: en/git-bundle.txt:47 +msgid "" +"Used to check that a bundle file is valid and will apply cleanly to the " +"current repository. This includes checks on the bundle format itself as " +"well as checking that the prerequisite commits exist and are fully linked in " +"the current repository. 'git bundle' prints a list of missing commits, if " +"any, and exits with a non-zero status." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:139 en/cmds-ancillarymanipulators.txt:13 +#: en/git-bundle.txt:48 #, no-wrap -msgid "linkgit:git-mergetool[1]" +msgid "list-heads <file>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:141 -msgid "Run merge conflict resolution tools to resolve merge conflicts" +#: en/git-bundle.txt:52 +msgid "" +"Lists the references defined in the bundle. If followed by a list of " +"references, only references matching those given are printed out." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:142 en/cmds-ancillarymanipulators.txt:1 +#: en/git-bundle.txt:53 #, no-wrap -msgid "linkgit:git-config[1]" +msgid "unbundle <file>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:144 -msgid "Get and set repository or global options" +#: en/git-bundle.txt:59 +msgid "" +"Passes the objects in the bundle to 'git index-pack' for storage in the " +"repository, then prints the names of all defined references. If a list of " +"references is given, only references matching those in the list are printed. " +"This command is really plumbing, intended to be called only by 'git fetch'." msgstr "" -#. type: Title = -#: en/git-diff-tree.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-diff-tree(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/git-bundle.txt:60 +#, no-wrap +msgid "<git-rev-list-args>" +msgstr "<git-rev-list-args>" #. type: Plain text -#: en/git-diff-tree.txt:7 +#: en/git-bundle.txt:69 msgid "" -"git-diff-tree - Compares the content and mode of blobs found via two tree " -"objects" +"A list of arguments, acceptable to 'git rev-parse' and 'git rev-list' (and " +"containing a named ref, see SPECIFYING REFERENCES below), that specifies the " +"specific objects and references to transport. For example, `master~10.." +"master` causes the current master reference to be packaged along with all " +"objects added since its 10th ancestor commit. There is no explicit limit to " +"the number of references and objects that may be packaged." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:15 +#: en/git-bundle.txt:77 #, no-wrap msgid "" -"'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]\n" -"\t [-t] [-r] [-c | --cc] [--root] [<common diff options>]\n" -"\t <tree-ish> [<tree-ish>] [<path>...]\n" +"[<refname>...]::\n" +"\tA list of references used to limit the references reported as\n" +"\tavailable. This is principally of use to 'git fetch', which\n" +"\texpects to receive only those references asked for and not\n" +"\tnecessarily everything in the pack (in this case, 'git bundle' acts\n" +"\tlike 'git fetch-pack').\n" +msgstr "" + +#. type: Title - +#: en/git-bundle.txt:79 +#, no-wrap +msgid "SPECIFYING REFERENCES" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:19 -msgid "Compares the content and mode of the blobs found via two tree objects." +#: en/git-bundle.txt:89 +msgid "" +"'git bundle' will only package references that are shown by 'git show-ref': " +"this includes heads, tags, and remote heads. References such as `master~1` " +"cannot be packaged, but are perfectly suitable for defining the basis. More " +"than one reference may be packaged, and more than one basis can be " +"specified. The objects packaged are those not contained in the union of the " +"given bases. Each basis can be specified explicitly (e.g. `^master~10`), or " +"implicitly (e.g. `master~10..master`, `--since=10.days.ago master`)." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:22 +#: en/git-bundle.txt:94 msgid "" -"If there is only one <tree-ish> given, the commit is compared with its " -"parents (see --stdin below)." +"It is very important that the basis used be held by the destination. It is " +"okay to err on the side of caution, causing the bundle file to contain " +"objects already in the destination, as these are ignored when unpacking at " +"the destination." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:24 +#: en/git-bundle.txt:96 en/git-fmt-merge-msg.txt:61 en/git-imap-send.txt:140 +#: en/git-name-rev.txt:65 en/git-p4.txt:33 en/git-prune.txt:57 +#: en/git-request-pull.txt:50 en/git-send-email.txt:441 en/git-shell.txt:66 +#: en/git-show-branch.txt:177 en/git-show-ref.txt:124 en/git-var.txt:27 +#, fuzzy, no-wrap +#| msgid "EXAMPLES" +msgid "EXAMPLE" +msgstr "EXEMPLES" + +#. type: Plain text +#: en/git-bundle.txt:103 msgid "" -"Note that 'git diff-tree' can use the tree encapsulated in a commit object." +"Assume you want to transfer the history from a repository R1 on machine A to " +"another repository R2 on machine B. For whatever reason, direct connection " +"between A and B is not allowed, but we can move data from A to B via some " +"mechanism (CD, email, etc.). We want to update R2 with development made on " +"the branch master in R1." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:31 -msgid "The id of a tree object." +#: en/git-bundle.txt:108 +msgid "" +"To bootstrap the process, you can first create a bundle that does not have " +"any basis. You can use a tag to remember up to what commit you last " +"processed, in order to make it easy to later update the other repository " +"with an incremental bundle:" msgstr "" -#. type: Labeled list -#: en/git-diff-tree.txt:32 en/git-diff.txt:100 en/git-submodule.txt:423 +#. type: delimited block - +#: en/git-bundle.txt:113 #, no-wrap -msgid "<path>..." +msgid "" +"machineA$ cd R1\n" +"machineA$ git bundle create file.bundle master\n" +"machineA$ git tag -f lastR2bundle master\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:38 +#: en/git-bundle.txt:118 msgid "" -"If provided, the results are limited to a subset of files matching one of " -"these prefix strings. i.e., file matches `/^<pattern1>|<pattern2>|.../` " -"Note that this parameter does not provide any wildcard or regexp features." +"Then you transfer file.bundle to the target machine B. Because this bundle " +"does not require any existing object to be extracted, you can create a new " +"repository on machine B by cloning from it:" msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:41 -msgid "recurse into sub-trees" +#. type: delimited block - +#: en/git-bundle.txt:121 +#, no-wrap +msgid "machineB$ git clone -b master /home/me/tmp/file.bundle R2\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:44 -msgid "show tree entry itself as well as subtrees. Implies -r." +#: en/git-bundle.txt:126 +msgid "" +"This will define a remote called \"origin\" in the resulting repository that " +"lets you fetch and pull from the bundle. The $GIT_DIR/config file in R2 will " +"have an entry like this:" msgstr "" -#. type: Labeled list -#: en/git-diff-tree.txt:45 en/git-format-patch.txt:279 en/git-fsck.txt:38 -#: en/git-rebase.txt:415 en/blame-options.txt:5 +#. type: delimited block - +#: en/git-bundle.txt:131 #, no-wrap -msgid "--root" +msgid "" +"[remote \"origin\"]\n" +" url = /home/me/tmp/file.bundle\n" +" fetch = refs/heads/*:refs/remotes/origin/*\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:48 +#: en/git-bundle.txt:136 msgid "" -"When `--root` is specified the initial commit will be shown as a big " -"creation event. This is equivalent to a diff against the NULL tree." +"To update the resulting mine.git repository, you can fetch or pull after " +"replacing the bundle stored at /home/me/tmp/file.bundle with incremental " +"updates." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:55 +#: en/git-bundle.txt:139 msgid "" -"When `--stdin` is specified, the command does not take <tree-ish> arguments " -"from the command line. Instead, it reads lines containing either two " -"<tree>, one <commit>, or a list of <commit> from its standard input. (Use a " -"single space as separator.)" +"After working some more in the original repository, you can create an " +"incremental bundle to update the other repository:" msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:60 +#. type: delimited block - +#: en/git-bundle.txt:144 +#, no-wrap msgid "" -"When two trees are given, it compares the first tree with the second. When " -"a single commit is given, it compares the commit with its parents. The " -"remaining commits, when given, are used as if they are parents of the first " -"commit." +"machineA$ cd R1\n" +"machineA$ git bundle create file.bundle lastR2bundle..master\n" +"machineA$ git tag -f lastR2bundle master\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:65 +#: en/git-bundle.txt:148 msgid "" -"When comparing two trees, the ID of both trees (separated by a space and " -"terminated by a newline) is printed before the difference. When comparing " -"commits, the ID of the first (or only) commit, followed by a newline, is " -"printed." +"You then transfer the bundle to the other machine to replace /home/me/tmp/" +"file.bundle, and pull from it." msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:68 +#. type: delimited block - +#: en/git-bundle.txt:152 +#, no-wrap msgid "" -"The following flags further affect the behavior when comparing commits (but " -"not trees)." +"machineB$ cd R2\n" +"machineB$ git pull\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:74 +#: en/git-bundle.txt:160 msgid "" -"By default, 'git diff-tree --stdin' does not show differences for merge " -"commits. With this flag, it shows differences to that commit from all of " -"its parents. See also `-c`." +"If you know up to what commit the intended recipient repository should have " +"the necessary objects, you can use that knowledge to specify the basis, " +"giving a cut-off point to limit the revisions and objects that go in the " +"resulting bundle. The previous example used the lastR2bundle tag for this " +"purpose, but you can use any other options that you would give to the " +"linkgit:git-log[1] command. Here are more examples:" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:80 -msgid "" -"By default, 'git diff-tree --stdin' shows differences, either in machine-" -"readable form (without `-p`) or in patch form (with `-p`). This output can " -"be suppressed. It is only useful with `-v` flag." +#: en/git-bundle.txt:162 +msgid "You can use a tag that is present in both:" +msgstr "" + +#. type: delimited block - +#: en/git-bundle.txt:165 +#, no-wrap +msgid "$ git bundle create mybundle v1.0.0..master\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:84 -msgid "" -"This flag causes 'git diff-tree --stdin' to also show the commit message " -"before the differences." +#: en/git-bundle.txt:168 +msgid "You can use a basis based on time:" msgstr "" -#. type: Labeled list -#: en/git-diff-tree.txt:87 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--no-commit-id" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/git-bundle.txt:171 +#, no-wrap +msgid "$ git bundle create mybundle --since=10.days master\n" +msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:90 -msgid "" -"'git diff-tree' outputs a line with the commit ID when applicable. This " -"flag suppressed the commit ID output." +#: en/git-bundle.txt:174 +#, fuzzy +#| msgid "but can be used to amend a merge commit." +msgid "You can use the number of commits:" +msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." + +#. type: delimited block - +#: en/git-bundle.txt:177 +#, no-wrap +msgid "$ git bundle create mybundle -10 master\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:100 +#: en/git-bundle.txt:181 msgid "" -"This flag changes the way a merge commit is displayed (which means it is " -"useful only when the command is given one <tree-ish>, or `--stdin`). It " -"shows the differences from each of the parents to the merge result " -"simultaneously instead of showing pairwise diff between a parent and the " -"result one at a time (which is what the `-m` option does). Furthermore, it " -"lists only files which were modified from all parents." +"You can run `git-bundle verify` to see if you can extract from a bundle that " +"was created with a basis:" +msgstr "" + +#. type: delimited block - +#: en/git-bundle.txt:184 +#, no-wrap +msgid "$ git bundle verify mybundle\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:110 +#: en/git-bundle.txt:188 msgid "" -"This flag changes the way a merge commit patch is displayed, in a similar " -"way to the `-c` option. It implies the `-c` and `-p` options and further " -"compresses the patch output by omitting uninteresting hunks whose the " -"contents in the parents have only two variants and the merge result picks " -"one of them without modification. When all hunks are uninteresting, the " -"commit itself and the commit log message is not shown, just like in any " -"other \"empty diff\" case." +"This will list what commits you must have in order to extract from the " +"bundle and will error out if you do not have them." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:114 +#: en/git-bundle.txt:192 msgid "" -"Show the commit itself and the commit log message even if the diff itself is " -"empty." +"A bundle from a recipient repository's point of view is just like a regular " +"repository which it fetches or pulls from. You can, for example, map " +"references when fetching:" msgstr "" -#. type: Title - -#: en/git-diff-tree.txt:120 +#. type: delimited block - +#: en/git-bundle.txt:195 #, no-wrap -msgid "Limiting Output" +msgid "$ git fetch mybundle master:localRef\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:123 -msgid "" -"If you're only interested in differences in a subset of files, for example " -"some architecture-specific files, you might do:" +#: en/git-bundle.txt:198 +msgid "You can also see what references it offers:" msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:125 +#. type: delimited block - +#: en/git-bundle.txt:201 #, no-wrap -msgid "\tgit diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64\n" +msgid "$ git ls-remote mybundle\n" msgstr "" +#. type: Title = +#: en/git-cat-file.txt:2 +#, no-wrap +msgid "git-cat-file(1)" +msgstr "git-cat-file(1)" + #. type: Plain text -#: en/git-diff-tree.txt:127 -msgid "and it will only show you what changed in those two directories." +#: en/git-cat-file.txt:7 +msgid "" +"git-cat-file - Provide content or type and size information for repository " +"objects" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:129 +#: en/git-cat-file.txt:14 +#, no-wrap msgid "" -"Or if you are searching for what changed in just `kernel/sched.c`, just do" +"'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv | --filters ) [--path=<path>] <object>\n" +"'git cat-file' (--batch | --batch-check) [ --textconv | --filters ] [--follow-symlinks]\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:131 -#, no-wrap -msgid "\tgit diff-tree -r <tree-ish> <tree-ish> kernel/sched.c\n" +#: en/git-cat-file.txt:21 +msgid "" +"In its first form, the command provides the content or the type of an object " +"in the repository. The type is required unless `-t` or `-p` is used to find " +"the object type, or `-s` is used to find the object size, or `--textconv` or " +"`--filters` is used (which imply type \"blob\")." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:133 -msgid "and it will ignore all differences to other files." +#: en/git-cat-file.txt:28 +msgid "" +"In the second form, a list of objects (separated by linefeeds) is provided " +"on stdin, and the SHA-1, type, and size of each object is printed on stdout. " +"The output format can be overridden using the optional `<format>` argument. " +"If either `--textconv` or `--filters` was specified, the input is expected " +"to list the object names followed by the path name, separated by a single " +"white space, so that the appropriate drivers can be determined." +msgstr "" + +#. type: Labeled list +#: en/git-cat-file.txt:31 en/git-fsck.txt:23 en/git-tag.txt:166 en/git.txt:780 +#, no-wrap +msgid "<object>" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:138 +#: en/git-cat-file.txt:35 msgid "" -"The pattern is always the prefix, and is matched exactly. There are no " -"wildcards. Even stricter, it has to match a complete path component. I.e. " -"\"foo\" does not pick up `foobar.h`. \"foo\" does match `foo/bar.h` so it " -"can be used to name subdirectories." +"The name of the object to show. For a more complete list of ways to spell " +"object names, see the \"SPECIFYING REVISIONS\" section in linkgit:" +"gitrevisions[7]." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:140 -msgid "An example of normal usage is:" +#: en/git-cat-file.txt:39 +msgid "Instead of the content, show the object type identified by <object>." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:143 -#, no-wrap -msgid "" -" torvalds@ppc970:~/git> git diff-tree --abbrev 5319e4\n" -" :100664 100664 ac348b... a01513...\tgit-fsck-objects.c\n" +#: en/git-cat-file.txt:43 +msgid "Instead of the content, show the object size identified by <object>." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:146 +#: en/git-cat-file.txt:47 msgid "" -"which tells you that the last commit changed just one file (it's from this " -"one:" +"Suppress all output; instead exit with zero status if <object> exists and is " +"a valid object." msgstr "" -#. type: delimited block - -#: en/git-diff-tree.txt:153 -#, no-wrap -msgid "" -"commit 3c6f7ca19ad4043e9e72fa94106f352897e651a8\n" -"tree 5319e4d609cdd282069cc4dce33c1db559539b03\n" -"parent b4e628ea30d5ab3606119d2ea5caeab141d38df7\n" -"author Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005\n" -"committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005\n" +#. type: Plain text +#: en/git-cat-file.txt:50 +msgid "Pretty-print the contents of <object> based on its type." msgstr "" -#. type: delimited block - -#: en/git-diff-tree.txt:155 +#. type: Labeled list +#: en/git-cat-file.txt:51 en/git.txt:804 #, no-wrap -msgid "Make \"git-fsck-objects\" print out all the root commits it finds.\n" +msgid "<type>" msgstr "" -#. type: delimited block - -#: en/git-diff-tree.txt:158 -#, no-wrap +#. type: Plain text +#: en/git-cat-file.txt:58 msgid "" -"Once I do the reference tracking, I'll also make it print out all the\n" -"HEAD commits it finds, which is even more interesting.\n" +"Typically this matches the real type of <object> but asking for a type that " +"can trivially be dereferenced from the given <object> is also permitted. An " +"example is to ask for a \"tree\" with <object> being a commit object that " +"contains it, or to ask for a \"blob\" with <object> being a tag object that " +"points at it." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:161 -msgid "in case you care)." +#: en/git-cat-file.txt:64 +msgid "" +"Show the content as transformed by a textconv filter. In this case, <object> " +"has to be of the form <tree-ish>:<path>, or :<path> in order to apply the " +"filter to the content recorded in the index at <path>." msgstr "" -#. type: Title = -#: en/git-diff.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-diff(1)" -msgstr "git-add(1)" - -#. type: Plain text -#: en/git-diff.txt:7 -msgid "git-diff - Show changes between commits, commit and working tree, etc" +#. type: Labeled list +#: en/git-cat-file.txt:65 +#, no-wrap +msgid "--filters" msgstr "" #. type: Plain text -#: en/git-diff.txt:17 -#, no-wrap +#: en/git-cat-file.txt:70 msgid "" -"'git diff' [options] [<commit>] [--] [<path>...]\n" -"'git diff' [options] --cached [<commit>] [--] [<path>...]\n" -"'git diff' [options] <commit> <commit> [--] [<path>...]\n" -"'git diff' [options] <blob> <blob>\n" -"'git diff' [options] [--no-index] [--] <path> <path>\n" +"Show the content as converted by the filters configured in the current " +"working tree for the given <path> (i.e. smudge filters, end-of-line " +"conversion, etc). In this case, <object> has to be of the form <tree-ish>:" +"<path>, or :<path>." msgstr "" +#. type: Labeled list +#: en/git-cat-file.txt:71 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "--path=<path>" +msgstr "patch" + #. type: Plain text -#: en/git-diff.txt:23 +#: en/git-cat-file.txt:75 msgid "" -"Show changes between the working tree and the index or a tree, changes " -"between the index and a tree, changes between two trees, changes between two " -"blob objects, or changes between two files on disk." +"For use with --textconv or --filters, to allow specifying an object name and " +"a path separately, e.g. when it is difficult to figure out the revision from " +"which the blob came." msgstr "" #. type: Labeled list -#: en/git-diff.txt:24 -#, no-wrap -msgid "'git diff' [--options] [--] [<path>...]" -msgstr "" +#: en/git-cat-file.txt:76 en/git-mktree.txt:32 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "--batch" +msgstr "patch" + +#. type: Labeled list +#: en/git-cat-file.txt:77 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--batch=<format>" +msgstr "Configuration" #. type: Plain text -#: en/git-diff.txt:31 +#: en/git-cat-file.txt:83 msgid "" -"This form is to view the changes you made relative to the index (staging " -"area for the next commit). In other words, the differences are what you " -"_could_ tell Git to further add to the index but you still haven't. You can " -"stage these changes by using linkgit:git-add[1]." +"Print object information and contents for each object provided on stdin. " +"May not be combined with any other options or arguments except `--textconv` " +"or `--filters`, in which case the input lines also need to specify the path, " +"separated by white space. See the section `BATCH OUTPUT` below for details." msgstr "" #. type: Labeled list -#: en/git-diff.txt:32 +#: en/git-cat-file.txt:84 #, no-wrap -msgid "'git diff' --no-index [--options] [--] [<path>...]" -msgstr "" - -#. type: Plain text -#: en/git-diff.txt:40 -msgid "" -"This form is to compare the given two paths on the filesystem. You can omit " -"the `--no-index` option when running the command in a working tree " -"controlled by Git and at least one of the paths points outside the working " -"tree, or when running the command outside a working tree controlled by Git." +msgid "--batch-check" msgstr "" #. type: Labeled list -#: en/git-diff.txt:41 +#: en/git-cat-file.txt:85 #, no-wrap -msgid "'git diff' [--options] --cached [<commit>] [--] [<path>...]" +msgid "--batch-check=<format>" msgstr "" #. type: Plain text -#: en/git-diff.txt:50 +#: en/git-cat-file.txt:91 msgid "" -"This form is to view the changes you staged for the next commit relative to " -"the named <commit>. Typically you would want comparison with the latest " -"commit, so if you do not give <commit>, it defaults to HEAD. If HEAD does " -"not exist (e.g. unborn branches) and <commit> is not given, it shows all " -"staged changes. --staged is a synonym of --cached." +"Print object information for each object provided on stdin. May not be " +"combined with any other options or arguments except `--textconv` or `--" +"filters`, in which case the input lines also need to specify the path, " +"separated by white space. See the section `BATCH OUTPUT` below for details." msgstr "" #. type: Labeled list -#: en/git-diff.txt:51 +#: en/git-cat-file.txt:92 #, no-wrap -msgid "'git diff' [--options] <commit> [--] [<path>...]" +msgid "--batch-all-objects" msgstr "" #. type: Plain text -#: en/git-diff.txt:58 +#: en/git-cat-file.txt:98 msgid "" -"This form is to view the changes you have in your working tree relative to " -"the named <commit>. You can use HEAD to compare it with the latest commit, " -"or a branch name to compare with the tip of a different branch." +"Instead of reading a list of objects on stdin, perform the requested batch " +"operation on all objects in the repository and any alternate object stores " +"(not just reachable objects). Requires `--batch` or `--batch-check` be " +"specified. Note that the objects are visited in order sorted by their hashes." msgstr "" #. type: Labeled list -#: en/git-diff.txt:59 +#: en/git-cat-file.txt:99 #, no-wrap -msgid "'git diff' [--options] <commit> <commit> [--] [<path>...]" +msgid "--buffer" msgstr "" #. type: Plain text -#: en/git-diff.txt:63 -msgid "This is to view the changes between two arbitrary <commit>." +#: en/git-cat-file.txt:105 +msgid "" +"Normally batch output is flushed after each object is output, so that a " +"process can interactively read and write from `cat-file`. With this option, " +"the output uses normal stdio buffering; this is much more efficient when " +"invoking `--batch-check` on a large number of objects." msgstr "" #. type: Labeled list -#: en/git-diff.txt:64 +#: en/git-cat-file.txt:106 #, no-wrap -msgid "'git diff' [--options] <commit>..<commit> [--] [<path>...]" +msgid "--allow-unknown-type" msgstr "" #. type: Plain text -#: en/git-diff.txt:69 -msgid "" -"This is synonymous to the previous form. If <commit> on one side is " -"omitted, it will have the same effect as using HEAD instead." +#: en/git-cat-file.txt:108 +msgid "Allow -s or -t to query broken/corrupt objects of unknown type." msgstr "" #. type: Labeled list -#: en/git-diff.txt:70 +#: en/git-cat-file.txt:109 #, no-wrap -msgid "'git diff' [--options] <commit>\\...<commit> [--] [<path>...]" +msgid "--follow-symlinks" msgstr "" #. type: Plain text -#: en/git-diff.txt:77 +#: en/git-cat-file.txt:118 msgid "" -"This form is to view the changes on the branch containing and up to the " -"second <commit>, starting at a common ancestor of both <commit>. \"git diff " -"A\\...B\" is equivalent to \"git diff $(git-merge-base A B) B\". You can " -"omit any one of <commit>, which has the same effect as using HEAD instead." +"With --batch or --batch-check, follow symlinks inside the repository when " +"requesting objects with extended SHA-1 expressions of the form tree-ish:path-" +"in-tree. Instead of providing output about the link itself, provide output " +"about the linked-to object. If a symlink points outside the tree-ish (e.g. " +"a link to /foo or a root-level link to ../foo), the portion of the link " +"which is outside the tree will be printed." msgstr "" #. type: Plain text -#: en/git-diff.txt:82 +#: en/git-cat-file.txt:122 msgid "" -"Just in case if you are doing something exotic, it should be noted that all " -"of the <commit> in the above description, except in the last two forms that " -"use \"..\" notations, can be any <tree>." +"This option does not (currently) work correctly when an object in the index " +"is specified (e.g. `:link` instead of `HEAD:link`) rather than one in the " +"tree." msgstr "" #. type: Plain text -#: en/git-diff.txt:89 +#: en/git-cat-file.txt:125 msgid "" -"For a more complete list of ways to spell <commit>, see \"SPECIFYING " -"REVISIONS\" section in linkgit:gitrevisions[7]. However, \"diff\" is about " -"comparing two _endpoints_, not ranges, and the range notations (\"<commit>.." -"<commit>\" and \"<commit>\\...<commit>\") do not mean a range as defined in " -"the \"SPECIFYING RANGES\" section in linkgit:gitrevisions[7]." -msgstr "" - -#. type: Labeled list -#: en/git-diff.txt:90 -#, no-wrap -msgid "'git diff' [options] <blob> <blob>" +"This option cannot (currently) be used unless `--batch` or `--batch-check` " +"is used." msgstr "" #. type: Plain text -#: en/git-diff.txt:94 -msgid "" -"This form is to view the differences between the raw contents of two blob " -"objects." +#: en/git-cat-file.txt:127 +msgid "For example, consider a git repository containing:" msgstr "" #. type: Plain text -#: en/git-diff.txt:104 -msgid "" -"The <paths> parameters, when given, are used to limit the diff to the named " -"paths (you can give directory names and get diff for all files under them)." -msgstr "" - -#. type: Labeled list -#: en/git-diff.txt:111 +#: en/git-cat-file.txt:134 #, no-wrap -msgid "Various ways to check your working tree" +msgid "" +"\tf: a file containing \"hello\\n\"\n" +"\tlink: a symlink to f\n" +"\tdir/link: a symlink to ../f\n" +"\tplink: a symlink to ../f\n" +"\talink: a symlink to /etc/passwd\n" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:117 -#, no-wrap +#. type: Plain text +#: en/git-cat-file.txt:137 msgid "" -"$ git diff <1>\n" -"$ git diff --cached <2>\n" -"$ git diff HEAD <3>\n" +"For a regular file `f`, `echo HEAD:f | git cat-file --batch` would print" msgstr "" #. type: Plain text -#: en/git-diff.txt:120 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Changes in the working tree not yet staged for the next commit." +#: en/git-cat-file.txt:140 +#, no-wrap +msgid "\tce013625030ba8dba906f756967f9e9ca394464a blob 6\n" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-diff.txt:122 +#: en/git-cat-file.txt:145 msgid "" -"Changes between the index and your last commit; what you would be committing " -"if you run \"git commit\" without \"-a\" option." +"And `echo HEAD:link | git cat-file --batch --follow-symlinks` would print " +"the same thing, as would `HEAD:dir/link`, as they both point at `HEAD:f`." msgstr "" #. type: Plain text -#: en/git-diff.txt:124 +#: en/git-cat-file.txt:148 msgid "" -"Changes in the working tree since your last commit; what you would be " -"committing if you run \"git commit -a\"" -msgstr "" - -#. type: Labeled list -#: en/git-diff.txt:125 -#, no-wrap -msgid "Comparing with arbitrary commits" +"Without `--follow-symlinks`, these would print data about the symlink " +"itself. In the case of `HEAD:link`, you would see" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:131 +#. type: Plain text +#: en/git-cat-file.txt:151 #, no-wrap -msgid "" -"$ git diff test <1>\n" -"$ git diff HEAD -- ./test <2>\n" -"$ git diff HEAD^ HEAD <3>\n" +msgid "\t4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:135 +#: en/git-cat-file.txt:155 msgid "" -"Instead of using the tip of the current branch, compare with the tip of " -"\"test\" branch." +"Both `plink` and `alink` point outside the tree, so they would respectively " +"print:" msgstr "" #. type: Plain text -#: en/git-diff.txt:138 +#: en/git-cat-file.txt:159 +#, no-wrap msgid "" -"Instead of comparing with the tip of \"test\" branch, compare with the tip " -"of the current branch, but limit the comparison to the file \"test\"." +"\tsymlink 4\n" +"\t../f\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:139 -msgid "Compare the version before the last commit and the last commit." -msgstr "" - -#. type: Labeled list -#: en/git-diff.txt:140 +#: en/git-cat-file.txt:162 #, no-wrap -msgid "Comparing branches" +msgid "" +"\tsymlink 11\n" +"\t/etc/passwd\n" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:146 +#. type: Title - +#: en/git-cat-file.txt:166 en/git-check-attr.txt:48 en/git-check-ignore.txt:60 +#: en/git-check-mailmap.txt:32 en/git-cvsimport.txt:188 en/git-fetch.txt:103 +#: en/git-push.txt:306 en/git-show-branch.txt:134 en/git-show-ref.txt:97 +#: en/git-status.txt:113 en/git-update-server-info.txt:32 #, no-wrap -msgid "" -"$ git diff topic master <1>\n" -"$ git diff topic..master <2>\n" -"$ git diff topic...master <3>\n" +msgid "OUTPUT" msgstr "" #. type: Plain text -#: en/git-diff.txt:149 -msgid "Changes between the tips of the topic and the master branches." +#: en/git-cat-file.txt:168 +msgid "If `-t` is specified, one of the <type>." msgstr "" #. type: Plain text -#: en/git-diff.txt:150 en/git-remote-fd.txt:44 en/git-remote-fd.txt:52 -#: en/git-web--browse.txt:52 -msgid "Same as above." +#: en/git-cat-file.txt:170 +msgid "If `-s` is specified, the size of the <object> in bytes." msgstr "" #. type: Plain text -#: en/git-diff.txt:152 -msgid "" -"Changes that occurred on the master branch since when the topic branch was " -"started off it." +#: en/git-cat-file.txt:172 +msgid "If `-e` is specified, no output." msgstr "" -#. type: Labeled list -#: en/git-diff.txt:153 -#, no-wrap -msgid "Limiting the diff output" +#. type: Plain text +#: en/git-cat-file.txt:174 +msgid "If `-p` is specified, the contents of <object> are pretty-printed." msgstr "" -#. type: delimited block - -#: en/git-diff.txt:159 -#, no-wrap +#. type: Plain text +#: en/git-cat-file.txt:177 msgid "" -"$ git diff --diff-filter=MRC <1>\n" -"$ git diff --name-status <2>\n" -"$ git diff arch/i386 include/asm-i386 <3>\n" +"If <type> is specified, the raw (though uncompressed) contents of the " +"<object> will be returned." msgstr "" -#. type: Plain text -#: en/git-diff.txt:163 -msgid "Show only modification, rename, and copy, but not addition or deletion." -msgstr "" +#. type: Title - +#: en/git-cat-file.txt:179 +#, fuzzy, no-wrap +#| msgid "DATE FORMATS" +msgid "BATCH OUTPUT" +msgstr "FORMATS DE DATE" #. type: Plain text -#: en/git-diff.txt:165 -msgid "Show only names and the nature of change, but not actual diff output." +#: en/git-cat-file.txt:185 +msgid "" +"If `--batch` or `--batch-check` is given, `cat-file` will read objects from " +"stdin, one per line, and print information about them. By default, the whole " +"line is considered as an object, as if it were fed to linkgit:git-rev-" +"parse[1]." msgstr "" #. type: Plain text -#: en/git-diff.txt:166 -msgid "Limit diff output to named subtrees." +#: en/git-cat-file.txt:190 +msgid "" +"You can specify the information shown for each object by using a custom " +"`<format>`. The `<format>` is copied literally to stdout for each object, " +"with placeholders of the form `%(atom)` expanded, followed by a newline. The " +"available atoms are:" msgstr "" #. type: Labeled list -#: en/git-diff.txt:167 -#, no-wrap -msgid "Munging the diff output" -msgstr "" - -#. type: delimited block - -#: en/git-diff.txt:172 +#: en/git-cat-file.txt:191 #, no-wrap -msgid "" -"$ git diff --find-copies-harder -B -C <1>\n" -"$ git diff -R <2>\n" +msgid "`objectname`" msgstr "" #. type: Plain text -#: en/git-diff.txt:176 -msgid "" -"Spend extra cycles to find renames, copies and complete rewrites (very " -"expensive)." +#: en/git-cat-file.txt:193 +msgid "The 40-hex object name of the object." msgstr "" -#. type: Plain text -#: en/git-diff.txt:177 -msgid "Output diff in reverse." +#. type: Labeled list +#: en/git-cat-file.txt:194 +#, no-wrap +msgid "`objecttype`" msgstr "" -# #. type: Plain text -#: en/git-diff.txt:186 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "" -"diff(1), linkgit:git-difftool[1], linkgit:git-log[1], linkgit:" -"gitdiffcore[7], linkgit:git-format-patch[1], linkgit:git-apply[1]" +#: en/git-cat-file.txt:196 +msgid "The type of of the object (the same as `cat-file -t` reports)." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-fast-export.txt:2 +#. type: Labeled list +#: en/git-cat-file.txt:197 #, no-wrap -msgid "git-fast-export(1)" +msgid "`objectsize`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:7 -msgid "git-fast-export - Git data exporter" +#: en/git-cat-file.txt:200 +msgid "The size, in bytes, of the object (the same as `cat-file -s` reports)." msgstr "" -#. type: Plain text -#: en/git-fast-export.txt:13 +#. type: Labeled list +#: en/git-cat-file.txt:201 #, no-wrap -msgid "'git fast-export [options]' | 'git fast-import'\n" -msgstr "" - -#. type: Plain text -#: en/git-fast-export.txt:18 -msgid "" -"This program dumps the given revisions in a form suitable to be piped into " -"'git fast-import'." +msgid "`objectsize:disk`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:22 +#: en/git-cat-file.txt:204 msgid "" -"You can use it as a human-readable bundle replacement (see linkgit:git-" -"bundle[1]), or as a kind of an interactive 'git filter-branch'." +"The size, in bytes, that the object takes up on disk. See the note about on-" +"disk sizes in the `CAVEATS` section below." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:26 +#: en/git-cat-file.txt:205 #, no-wrap -msgid "--progress=<n>" +msgid "`deltabase`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:29 +#: en/git-cat-file.txt:209 msgid "" -"Insert 'progress' statements every <n> objects, to be shown by 'git fast-" -"import' during import." +"If the object is stored as a delta on-disk, this expands to the 40-hex sha1 " +"of the delta base object. Otherwise, expands to the null sha1 (40 zeroes). " +"See `CAVEATS` below." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:30 +#: en/git-cat-file.txt:210 #, no-wrap -msgid "--signed-tags=(verbatim|warn|warn-strip|strip|abort)" +msgid "`rest`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:34 +#: en/git-cat-file.txt:216 msgid "" -"Specify how to handle signed tags. Since any transformation after the " -"export can change the tag names (which can also happen when excluding " -"revisions) the signatures will not match." +"If this atom is used in the output string, input lines are split at the " +"first whitespace boundary. All characters before that whitespace are " +"considered to be the object name; characters after that first run of " +"whitespace (i.e., the \"rest\" of the line) are output in place of the `" +"%(rest)` atom." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:41 +#: en/git-cat-file.txt:219 msgid "" -"When asking to 'abort' (which is the default), this program will die when " -"encountering a signed tag. With 'strip', the tags will silently be made " -"unsigned, with 'warn-strip' they will be made unsigned but a warning will be " -"displayed, with 'verbatim', they will be silently exported and with 'warn', " -"they will be exported, but you will see a warning." +"If no format is specified, the default format is `%(objectname) " +"%(objecttype) %(objectsize)`." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:42 -#, no-wrap -msgid "--tag-of-filtered-object=(abort|drop|rewrite)" +#. type: Plain text +#: en/git-cat-file.txt:223 +msgid "" +"If `--batch` is specified, the object information is followed by the object " +"contents (consisting of `%(objectsize)` bytes), followed by a newline." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:46 +#: en/git-cat-file.txt:225 +msgid "For example, `--batch` without a custom format would produce:" +msgstr "" + +#. type: delimited block - +#: en/git-cat-file.txt:229 +#, no-wrap msgid "" -"Specify how to handle tags whose tagged object is filtered out. Since " -"revisions and files to export can be limited by path, tagged objects may be " -"filtered completely." +"<sha1> SP <type> SP <size> LF\n" +"<contents> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:52 -msgid "" -"When asking to 'abort' (which is the default), this program will die when " -"encountering such a tag. With 'drop' it will omit such tags from the " -"output. With 'rewrite', if the tagged object is a commit, it will rewrite " -"the tag to tag an ancestor commit (via parent rewriting; see linkgit:git-rev-" -"list[1])" +#: en/git-cat-file.txt:232 +msgid "Whereas `--batch-check='%(objectname) %(objecttype)'` would produce:" msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:54 +#. type: delimited block - +#: en/git-cat-file.txt:235 #, no-wrap -msgid "-C" +msgid "<sha1> SP <type> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:58 +#: en/git-cat-file.txt:239 msgid "" -"Perform move and/or copy detection, as described in the linkgit:git-diff[1] " -"manual page, and use it to generate rename and copy commands in the output " -"dump." +"If a name is specified on stdin that cannot be resolved to an object in the " +"repository, then `cat-file` will ignore any custom format and print:" +msgstr "" + +#. type: delimited block - +#: en/git-cat-file.txt:242 en/git-cat-file.txt:262 +#, no-wrap +msgid "<object> SP missing LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:61 +#: en/git-cat-file.txt:247 msgid "" -"Note that earlier versions of this command did not complain and produced " -"incorrect results if you gave these options." +"If --follow-symlinks is used, and a symlink in the repository points outside " +"the repository, then `cat-file` will ignore any custom format and print:" msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:62 en/git-fast-import.txt:77 +#. type: delimited block - +#: en/git-cat-file.txt:251 #, no-wrap -msgid "--export-marks=<file>" +msgid "" +"symlink SP <size> LF\n" +"<symlink> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:73 +#: en/git-cat-file.txt:256 msgid "" -"Dumps the internal marks table to <file> when complete. Marks are written " -"one per line as `:markid SHA-1`. Only marks for revisions are dumped; marks " -"for blobs are ignored. Backends can use this file to validate imports after " -"they have been completed, or to save the marks table across incremental " -"runs. As <file> is only opened and truncated at completion, the same path " -"can also be safely given to --import-marks. The file will not be written if " -"no new object has been marked/exported." +"The symlink will either be absolute (beginning with a /), or relative to the " +"tree root. For instance, if dir/link points to ../../foo, then <symlink> " +"will be ../foo. <size> is the size of the symlink in bytes." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:74 en/git-fast-import.txt:86 -#, no-wrap -msgid "--import-marks=<file>" +#. type: Plain text +#: en/git-cat-file.txt:259 +msgid "" +"If --follow-symlinks is used, the following error messages will be displayed:" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:78 +#: en/git-cat-file.txt:264 +msgid "is printed when the initial symlink requested does not exist." +msgstr "" + +#. type: delimited block - +#: en/git-cat-file.txt:268 +#, no-wrap msgid "" -"Before processing any input, load the marks specified in <file>. The input " -"file must exist, must be readable, and must use the same format as produced " -"by --export-marks." +"dangling SP <size> LF\n" +"<object> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:83 +#: en/git-cat-file.txt:271 msgid "" -"Any commits that have already been marked will not be exported again. If " -"the backend uses a similar --import-marks file, this allows for incremental " -"bidirectional exporting of the repository by keeping the marks the same " -"across runs." +"is printed when the initial symlink exists, but something that it " +"(transitive-of) points to does not." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:84 +#. type: delimited block - +#: en/git-cat-file.txt:275 #, no-wrap -msgid "--fake-missing-tagger" +msgid "" +"loop SP <size> LF\n" +"<object> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:89 +#: en/git-cat-file.txt:278 msgid "" -"Some old repositories have tags without a tagger. The fast-import protocol " -"was pretty strict about that, and did not allow that. So fake a tagger to " -"be able to fast-import the output." +"is printed for symlink loops (or any symlinks that require more than 40 link " +"resolutions to resolve)." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:90 +#. type: delimited block - +#: en/git-cat-file.txt:282 #, no-wrap -msgid "--use-done-feature" +msgid "" +"notdir SP <size> LF\n" +"<object> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:93 +#: en/git-cat-file.txt:285 msgid "" -"Start the stream with a 'feature done' stanza, and terminate it with a " -"'done' command." +"is printed when, during symlink resolution, a file is used as a directory " +"name." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:94 +#. type: Title - +#: en/git-cat-file.txt:287 en/git-svn.txt:960 #, no-wrap -msgid "--no-data" +msgid "CAVEATS" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:101 +#: en/git-cat-file.txt:295 msgid "" -"Skip output of blob objects and instead refer to blobs via their original " -"SHA-1 hash. This is useful when rewriting the directory structure or " -"history of a repository without touching the contents of individual files. " -"Note that the resulting stream can only be used by a repository which " -"already contains the necessary objects." +"Note that the sizes of objects on disk are reported accurately, but care " +"should be taken in drawing conclusions about which refs or objects are " +"responsible for disk usage. The size of a packed non-delta object may be " +"much larger than the size of objects which delta against it, but the choice " +"of which object is the base and which is the delta is arbitrary and is " +"subject to change during a repack." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:102 en/git-ls-tree.txt:72 -#, no-wrap -msgid "--full-tree" +#. type: Plain text +#: en/git-cat-file.txt:299 +msgid "" +"Note also that multiple copies of an object may be present in the object " +"database; in this case, it is undefined which copy's size or delta base will " +"be reported." msgstr "" +#. type: Title = +#: en/git-check-attr.txt:2 +#, no-wrap +msgid "git-check-attr(1)" +msgstr "git-check-attr(1)" + #. type: Plain text -#: en/git-fast-export.txt:107 -msgid "" -"This option will cause fast-export to issue a \"deleteall\" directive for " -"each commit followed by a full list of all files in the commit (as opposed " -"to just listing the files which are different from the commit's first " -"parent)." +#: en/git-check-attr.txt:7 +msgid "git-check-attr - Display gitattributes information" msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:108 +#. type: Plain text +#: en/git-check-attr.txt:14 #, no-wrap -msgid "--anonymize" +msgid "" +"'git check-attr' [-a | --all | attr...] [--] pathname...\n" +"'git check-attr' --stdin [-z] [-a | --all | attr...]\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:112 +#: en/git-check-attr.txt:19 msgid "" -"Anonymize the contents of the repository while still retaining the shape of " -"the history and stored tree. See the section on `ANONYMIZING` below." +"For every pathname, this command will list if each attribute is " +"'unspecified', 'set', or 'unset' as a gitattribute on that pathname." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:113 +#: en/git-check-attr.txt:22 #, no-wrap -msgid "--refspec" +msgid "-a, --all" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:116 +#: en/git-check-attr.txt:26 msgid "" -"Apply the specified refspec to each ref exported. Multiple of them can be " -"specified." +"List all attributes that are associated with the specified paths. If this " +"option is used, then 'unspecified' attributes will not be included in the " +"output." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:123 -#, no-wrap -msgid "" -"[<git-rev-list-args>...]::\n" -"\tA list of arguments, acceptable to 'git rev-parse' and\n" -"\t'git rev-list', that specifies the specific objects and references\n" -"\tto export. For example, `master~10..master` causes the\n" -"\tcurrent master reference to be exported along with all objects\n" -"\tadded since its 10th ancestor commit.\n" +#: en/git-check-attr.txt:29 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Consider `.gitattributes` in the index only, ignoring the working tree." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: delimited block - -#: en/git-fast-export.txt:129 +#. type: Labeled list +#: en/git-check-attr.txt:30 en/git-check-ignore.txt:37 +#: en/git-check-mailmap.txt:26 en/git-checkout-index.txt:62 +#: en/git-diff-tree.txt:49 en/git-fetch-pack.txt:38 en/git-hash-object.txt:34 +#: en/git-http-fetch.txt:40 en/git-index-pack.txt:38 en/git-name-rev.txt:45 +#: en/git-notes.txt:173 en/git-send-pack.txt:41 en/git-svn.txt:564 +#: en/git-update-index.txt:140 en/rev-list-options.txt:194 #, no-wrap -msgid "$ git fast-export --all | (cd /empty/repository && git fast-import)\n" +msgid "--stdin" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:134 +#: en/git-check-attr.txt:33 en/git-check-ignore.txt:40 msgid "" -"This will export the whole repository and import it into the existing empty " -"repository. Except for reencoding commits that are not in UTF-8, it would " -"be a one-to-one mirror." +"Read pathnames from the standard input, one per line, instead of from the " +"command-line." msgstr "" -#. type: delimited block - -#: en/git-fast-export.txt:139 -#, no-wrap +#. type: Plain text +#: en/git-check-attr.txt:38 msgid "" -"$ git fast-export master~5..master |\n" -"\tsed \"s|refs/heads/master|refs/heads/other|\" |\n" -"\tgit fast-import\n" +"The output format is modified to be machine-parseable. If `--stdin` is also " +"given, input paths are separated with a NUL character instead of a linefeed " +"character." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:143 +#: en/git-check-attr.txt:42 msgid "" -"This makes a new branch called 'other' from 'master~5..master' (i.e. if " -"'master' has linear history, it will take the last 5 commits)." +"Interpret all preceding arguments as attributes and all following arguments " +"as path names." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:147 +#: en/git-check-attr.txt:46 msgid "" -"Note that this assumes that none of the blobs and commit messages referenced " -"by that revision range contains the string 'refs/heads/master'." -msgstr "" - -#. type: Title - -#: en/git-fast-export.txt:150 -#, no-wrap -msgid "ANONYMIZING" +"If none of `--stdin`, `--all`, or `--` is used, the first argument will be " +"treated as an attribute and the rest of the arguments as pathnames." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:158 +#: en/git-check-attr.txt:52 msgid "" -"If the `--anonymize` option is given, git will attempt to remove all " -"identifying information from the repository while still retaining enough of " -"the original tree and history patterns to reproduce some bugs. The goal is " -"that a git bug which is found on a private repository will persist in the " -"anonymized repository, and the latter can be shared with git developers to " -"help solve the bug." +"The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:170 +#: en/git-check-attr.txt:55 msgid "" -"With this option, git will replace all refnames, paths, blob contents, " -"commit and tag messages, names, and email addresses in the output with " -"anonymized data. Two instances of the same string will be replaced " -"equivalently (e.g., two commits with the same author will have the same " -"anonymized author in the output, but bear no resemblance to the original " -"author string). The relationship between commits, branches, and tags is " -"retained, as well as the commit timestamps (but the commit messages and " -"refnames bear no resemblance to the originals). The relative makeup of the " -"tree is retained (e.g., if you have a root tree with 10 files and 3 trees, " -"so will the output), but their names and the contents of the files will be " -"replaced." +"unless `-z` is in effect, in which case NUL is used as delimiter: <path> NUL " +"<attribute> NUL <info> NUL" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:173 +#: en/git-check-attr.txt:59 msgid "" -"If you think you have found a git bug, you can start by exporting an " -"anonymized stream of the whole repository:" +"<path> is the path of a file being queried, <attribute> is an attribute " +"being queried and <info> can be either:" msgstr "" -#. type: delimited block - -#: en/git-fast-export.txt:176 +#. type: Labeled list +#: en/git-check-attr.txt:60 #, no-wrap -msgid "$ git fast-export --anonymize --all >anon-stream\n" +msgid "'unspecified'" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:181 -msgid "" -"Then confirm that the bug persists in a repository created from that stream " -"(many bugs will not, as they really do depend on the exact repository " -"contents):" +#: en/git-check-attr.txt:61 +msgid "when the attribute is not defined for the path." msgstr "" -#. type: delimited block - -#: en/git-fast-export.txt:187 +#. type: Labeled list +#: en/git-check-attr.txt:61 #, no-wrap -msgid "" -"$ git init anon-repo\n" -"$ cd anon-repo\n" -"$ git fast-import <../anon-stream\n" -"$ ... test your bug ...\n" +msgid "'unset'" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:194 -msgid "" -"If the anonymized repository shows the bug, it may be worth sharing `anon-" -"stream` along with a regular bug report. Note that the anonymized stream " -"compresses very well, so gzipping it is encouraged. If you want to examine " -"the stream to see that it does not contain any private data, you can peruse " -"it directly before sending. You may also want to try:" +#: en/git-check-attr.txt:62 +msgid "when the attribute is defined as false." msgstr "" -#. type: delimited block - -#: en/git-fast-export.txt:197 +#. type: Labeled list +#: en/git-check-attr.txt:62 #, no-wrap -msgid "$ perl -pe 's/\\d+/X/g' <anon-stream | sort -u | less\n" +msgid "'set'" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:203 -msgid "" -"which shows all of the unique lines (with numbers converted to \"X\", to " -"collapse \"User 0\", \"User 1\", etc into \"User X\"). This produces a much " -"smaller output, and it is usually easy to quickly confirm that there is no " -"private data in the stream." +#: en/git-check-attr.txt:63 +msgid "when the attribute is defined as true." msgstr "" -#. type: Title - -#: en/git-fast-export.txt:206 +#. type: Labeled list +#: en/git-check-attr.txt:63 #, no-wrap -msgid "Limitations" +msgid "<value>" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:211 +#: en/git-check-attr.txt:64 +msgid "when a value has been assigned to the attribute." +msgstr "" + +#. type: Plain text +#: en/git-check-attr.txt:69 en/git-check-ignore.txt:99 msgid "" -"Since 'git fast-import' cannot tag trees, you will not be able to export the " -"linux.git repository completely, as it contains a tag referencing a tree " -"instead of a commit." +"Buffering happens as documented under the `GIT_FLUSH` option in linkgit:" +"git[1]. The caller is responsible for avoiding deadlocks caused by " +"overfilling an input buffer or reading from an empty output buffer." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:215 en/cmds-ancillarymanipulators.txt:7 -#, no-wrap -msgid "linkgit:git-fast-import[1]" +#. type: Plain text +#: en/git-check-attr.txt:74 +msgid "In the examples, the following '.gitattributes' file is used:" msgstr "" -#. type: Title = -#: en/git-fast-import.txt:2 +#. type: delimited block - +#: en/git-check-attr.txt:78 #, no-wrap -msgid "git-fast-import(1)" +msgid "" +"*.java diff=java -crlf myAttr\n" +"NoMyAttr.java !myAttr\n" +"README caveat=unspecified\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:7 -msgid "git-fast-import - Backend for fast Git data importers" +#: en/git-check-attr.txt:81 +msgid "Listing a single attribute:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:13 +#. type: delimited block - +#: en/git-check-attr.txt:84 #, no-wrap -msgid "frontend | 'git fast-import' [options]\n" +msgid "" +"$ git check-attr diff org/example/MyClass.java\n" +"org/example/MyClass.java: diff: java\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:20 -msgid "" -"This program is usually not what the end user wants to run directly. Most " -"end users want to use one of the existing frontend programs, which parses a " -"specific type of foreign source and feeds the contents stored there to 'git " -"fast-import'." +#: en/git-check-attr.txt:87 +msgid "Listing multiple attributes for a file:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:26 +#. type: delimited block - +#: en/git-check-attr.txt:92 +#, no-wrap msgid "" -"fast-import reads a mixed command/data stream from standard input and writes " -"one or more packfiles directly into the current repository. When EOF is " -"received on standard input, fast import writes out updated branch and tag " -"refs, fully updating the current repository with the newly imported data." +"$ git check-attr crlf diff myAttr -- org/example/MyClass.java\n" +"org/example/MyClass.java: crlf: unset\n" +"org/example/MyClass.java: diff: java\n" +"org/example/MyClass.java: myAttr: set\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:32 -msgid "" -"The fast-import backend itself can import into an empty repository (one that " -"has already been initialized by 'git init') or incrementally update an " -"existing populated repository. Whether or not incremental imports are " -"supported from a particular foreign source depends on the frontend program " -"in use." +#: en/git-check-attr.txt:95 +msgid "Listing all attributes for a file:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:41 +#. type: delimited block - +#: en/git-check-attr.txt:99 +#, no-wrap msgid "" -"Force updating modified existing branches, even if doing so would cause " -"commits to be lost (as the new commit does not contain the old commit)." +"$ git check-attr --all -- org/example/MyClass.java\n" +"org/example/MyClass.java: diff: java\n" +"org/example/MyClass.java: myAttr: set\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:46 -msgid "" -"Disable all non-fatal output, making fast-import silent when it is " -"successful. This option disables the output shown by --stats." +#: en/git-check-attr.txt:102 +msgid "Listing an attribute for multiple files:" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:47 -#, fuzzy, no-wrap -#| msgid "status" -msgid "--stats" -msgstr "status" +#. type: delimited block - +#: en/git-check-attr.txt:106 +#, no-wrap +msgid "" +"$ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java\n" +"org/example/MyClass.java: myAttr: set\n" +"org/example/NoMyAttr.java: myAttr: unspecified\n" +msgstr "" #. type: Plain text -#: en/git-fast-import.txt:52 -msgid "" -"Display some basic statistics about the objects fast-import has created, the " -"packfiles they were stored into, and the memory used by fast-import during " -"this run. Showing this output is currently the default, but can be disabled " -"with --quiet." +#: en/git-check-attr.txt:109 +msgid "Not all values are equally unambiguous:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:54 +#. type: delimited block - +#: en/git-check-attr.txt:112 #, no-wrap -msgid "Options for Frontends" +msgid "" +"$ git check-attr caveat README\n" +"README: caveat: unspecified\n" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:56 +#. type: Plain text +#: en/git-check-attr.txt:117 +msgid "linkgit:gitattributes[5]." +msgstr "linkgit:gitattributes[5]." + +#. type: Title = +#: en/git-check-ignore.txt:2 #, no-wrap -msgid "--cat-blob-fd=<fd>" +msgid "git-check-ignore(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:61 -msgid "" -"Write responses to `get-mark`, `cat-blob`, and `ls` queries to the file " -"descriptor <fd> instead of `stdout`. Allows `progress` output intended for " -"the end-user to be separated from other output." +#: en/git-check-ignore.txt:7 +msgid "git-check-ignore - Debug gitignore / exclude files" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:62 +#. type: Plain text +#: en/git-check-ignore.txt:14 #, no-wrap -msgid "--date-format=<fmt>" +msgid "" +"'git check-ignore' [options] pathname...\n" +"'git check-ignore' [options] --stdin\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:67 +#: en/git-check-ignore.txt:22 msgid "" -"Specify the type of dates the frontend will supply to fast-import within " -"`author`, `committer` and `tagger` commands. See ``Date Formats'' below for " -"details about which formats are supported, and their syntax." +"For each pathname given via the command-line or from a file via `--stdin`, " +"check whether the file is excluded by .gitignore (or other input files to " +"the exclude mechanism) and output the path if it is excluded." +msgstr "" + +#. type: Plain text +#: en/git-check-ignore.txt:25 +msgid "" +"By default, tracked files are not shown at all since they are not subject to " +"exclude rules; but see `--no-index'." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:68 +#: en/git-check-ignore.txt:28 #, no-wrap -msgid "--done" +msgid "-q, --quiet" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:73 +#: en/git-check-ignore.txt:31 msgid "" -"Terminate with error if there is no `done` command at the end of the " -"stream. This option might be useful for detecting errors that cause the " -"frontend to terminate before it has started to write a stream." +"Don't output anything, just set exit status. This is only valid with a " +"single pathname." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:75 +#. type: Labeled list +#: en/git-check-ignore.txt:32 #, no-wrap -msgid "Locations of Marks Files" +msgid "-v, --verbose" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:85 +#: en/git-check-ignore.txt:36 msgid "" -"Dumps the internal marks table to <file> when complete. Marks are written " -"one per line as `:markid SHA-1`. Frontends can use this file to validate " -"imports after they have been completed, or to save the marks table across " -"incremental runs. As <file> is only opened and truncated at checkpoint (or " -"completion) the same path can also be safely given to --import-marks." +"Also output details about the matching pattern (if any) for each given " +"pathname. For precedence rules within and between exclude sources, see " +"linkgit:gitignore[5]." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:93 +#: en/git-check-ignore.txt:45 msgid "" -"Before processing any input, load the marks specified in <file>. The input " -"file must exist, must be readable, and must use the same format as produced " -"by --export-marks. Multiple options may be supplied to import more than one " -"set of marks. If a mark is defined to different values, the last file wins." +"The output format is modified to be machine-parseable (see below). If `--" +"stdin` is also given, input paths are separated with a NUL character instead " +"of a linefeed character." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:94 +#: en/git-check-ignore.txt:46 #, no-wrap -msgid "--import-marks-if-exists=<file>" +msgid "-n, --non-matching" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:97 +#: en/git-check-ignore.txt:51 msgid "" -"Like --import-marks but instead of erroring out, silently skips the file if " -"it does not exist." +"Show given paths which don't match any pattern.\t This only makes sense when " +"`--verbose` is enabled, otherwise it would not be possible to distinguish " +"between paths which match a pattern and those which don't." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:98 +#: en/git-check-ignore.txt:52 en/git-grep.txt:76 #, no-wrap -msgid "--[no-]relative-marks" +msgid "--no-index" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:105 +#: en/git-check-ignore.txt:58 msgid "" -"After specifying --relative-marks the paths specified with --import-marks= " -"and --export-marks= are relative to an internal directory in the current " -"repository. In git-fast-import this means that the paths are relative to " -"the .git/info/fast-import directory. However, other importers may use a " -"different location." +"Don't look in the index when undertaking the checks. This can be used to " +"debug why a path became tracked by e.g. `git add .` and was not ignored by " +"the rules as expected by the user or when developing patterns including " +"negation to match a path previously added with `git add -f`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:108 +#: en/git-check-ignore.txt:66 msgid "" -"Relative and non-relative marks may be combined by interweaving --(no-)-" -"relative-marks with the --(import|export)-marks= options." +"By default, any of the given pathnames which match an ignore pattern will be " +"output, one per line. If no pattern matches a given path, nothing will be " +"output for that path; this means that path will not be ignored." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:110 -#, no-wrap -msgid "Performance and Compression Tuning" +#. type: Plain text +#: en/git-check-ignore.txt:68 +msgid "" +"If `--verbose` is specified, the output is a series of lines of the form:" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:112 -#, no-wrap -msgid "--active-branches=<n>" +#. type: Plain text +#: en/git-check-ignore.txt:70 +msgid "<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:115 +#: en/git-check-ignore.txt:78 msgid "" -"Maximum number of branches to maintain active at once. See ``Memory " -"Utilization'' below for details. Default is 5." +"<pathname> is the path of a file being queried, <pattern> is the matching " +"pattern, <source> is the pattern's source file, and <linenum> is the line " +"number of the pattern within that source. If the pattern contained a `!` " +"prefix or `/` suffix, it will be preserved in the output. <source> will be " +"an absolute path when referring to the file configured by `core." +"excludesFile`, or relative to the repository root when referring to `.git/" +"info/exclude` or a per-directory exclude file." msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:116 -#, no-wrap -msgid "--big-file-threshold=<n>" +#. type: Plain text +#: en/git-check-ignore.txt:82 +msgid "" +"If `-z` is specified, the pathnames in the output are delimited by the null " +"character; if `--verbose` is also specified then null characters are also " +"used instead of colons and hard tabs:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:121 +#: en/git-check-ignore.txt:84 +msgid "<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>" +msgstr "" + +#. type: Plain text +#: en/git-check-ignore.txt:94 msgid "" -"Maximum size of a blob that fast-import will attempt to create a delta for, " -"expressed in bytes. The default is 512m (512 MiB). Some importers may wish " -"to lower this on systems with constrained memory." +"If `-n` or `--non-matching` are specified, non-matching pathnames will also " +"be output, in which case all fields in each output record except for " +"<pathname> will be empty. This can be useful when running non-" +"interactively, so that files can be incrementally streamed to STDIN of a " +"long-running check-ignore process, and for each of these files, STDOUT will " +"indicate whether that file matched a pattern or not. (Without this option, " +"it would be impossible to tell whether the absence of output for a given " +"file meant that it didn't match any pattern, or that the output hadn't been " +"generated yet.)" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:122 en/git-fetch-pack.txt:85 -#: en/git-pack-objects.txt:87 en/git-repack.txt:85 +#. type: Title - +#: en/git-check-ignore.txt:101 #, no-wrap -msgid "--depth=<n>" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:125 -msgid "Maximum delta depth, for blob and tree deltification. Default is 10." +msgid "EXIT STATUS" msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:126 +#: en/git-check-ignore.txt:103 #, no-wrap -msgid "--export-pack-edges=<file>" +msgid "0" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:134 -msgid "" -"After creating a packfile, print a line of data to <file> listing the " -"filename of the packfile and the last commit on each branch that was written " -"to that packfile. This information may be useful after importing projects " -"whose total object set exceeds the 4 GiB packfile limit, as these commits " -"can be used as edge points during calls to 'git pack-objects'." +#: en/git-check-ignore.txt:105 +msgid "One or more of the provided paths is ignored." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:135 en/git-pack-objects.txt:110 en/git-repack.txt:108 +#: en/git-check-ignore.txt:106 #, no-wrap -msgid "--max-pack-size=<n>" +msgid "1" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:138 -msgid "Maximum size of each output packfile. The default is unlimited." +#: en/git-check-ignore.txt:108 +msgid "None of the provided paths are ignored." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:139 en/config.txt:1285 +#: en/git-check-ignore.txt:109 #, no-wrap -msgid "fastimport.unpackLimit" +msgid "128" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:141 -#, fuzzy -#| msgid "git-commit(1)" -msgid "See linkgit:git-config[1]" -msgstr "git-commit(1)" - -#. type: Title - -#: en/git-fast-import.txt:143 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Performance" -msgstr "Configuration" - -#. type: Plain text -#: en/git-fast-import.txt:150 -msgid "" -"The design of fast-import allows it to import large projects in a minimum " -"amount of memory usage and processing time. Assuming the frontend is able " -"to keep up with fast-import and feed it a constant stream of data, import " -"times for projects holding 10+ years of history and containing 100,000+ " -"individual commits are generally completed in just 1-2 hours on quite modest " -"(~$2,000 USD) hardware." +#: en/git-check-ignore.txt:111 +msgid "A fatal error was encountered." msgstr "" +# #. type: Plain text -#: en/git-fast-import.txt:156 -msgid "" -"Most bottlenecks appear to be in foreign source data access (the source just " -"cannot extract revisions fast enough) or disk IO (fast-import writes as fast " -"as the disk will take the data). Imports will run faster if the source data " -"is stored on a different drive than the destination Git repository (due to " -"less IO contention)." -msgstr "" +#: en/git-check-ignore.txt:117 +msgid "linkgit:gitignore[5] linkgit:git-config[1] linkgit:git-ls-files[1]" +msgstr "linkgit:gitignore[5] linkgit:git-config[1] linkgit:git-ls-files[1]" -#. type: Title - -#: en/git-fast-import.txt:159 +#. type: Title = +#: en/git-check-mailmap.txt:2 #, no-wrap -msgid "Development Cost" -msgstr "" +msgid "git-check-mailmap(1)" +msgstr "git-check-mailmap(1)" #. type: Plain text -#: en/git-fast-import.txt:166 +#: en/git-check-mailmap.txt:7 msgid "" -"A typical frontend for fast-import tends to weigh in at approximately 200 " -"lines of Perl/Python/Ruby code. Most developers have been able to create " -"working importers in just a couple of hours, even though it is their first " -"exposure to fast-import, and sometimes even to Git. This is an ideal " -"situation, given that most conversion tools are throw-away (use once, and " -"never look back)." +"git-check-mailmap - Show canonical names and email addresses of contacts" msgstr "" -#. type: Title - -#: en/git-fast-import.txt:169 +#. type: Plain text +#: en/git-check-mailmap.txt:13 #, no-wrap -msgid "Parallel Operation" +msgid "'git check-mailmap' [options] <contact>...\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:174 +#: en/git-check-mailmap.txt:22 msgid "" -"Like 'git push' or 'git fetch', imports handled by fast-import are safe to " -"run alongside parallel `git repack -a -d` or `git gc` invocations, or any " -"other Git operation (including 'git prune', as loose objects are never used " -"by fast-import)." +"For each ``Name $$<user@host>$$'' or ``$$<user@host>$$'' from the command-" +"line or standard input (when using `--stdin`), look up the person's " +"canonical name and email address (see \"Mapping Authors\" below). If found, " +"print them; otherwise print the input as-is." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:183 +#: en/git-check-mailmap.txt:29 msgid "" -"fast-import does not lock the branch or tag refs it is actively importing. " -"After the import, during its ref update phase, fast-import tests each " -"existing branch ref to verify the update will be a fast-forward update (the " -"commit stored in the ref is contained in the new history of the commit to be " -"written). If the update is not a fast-forward update, fast-import will skip " -"updating that ref and instead prints a warning message. fast-import will " -"always attempt to update all branch refs, and does not stop on the first " -"failure." +"Read contacts, one per line, from the standard input after exhausting " +"contacts provided on the command-line." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:187 +#: en/git-check-mailmap.txt:37 msgid "" -"Branch updates can be forced with --force, but it's recommended that this " -"only be used on an otherwise quiet repository. Using --force is not " -"necessary for an initial import into an empty repository." +"For each contact, a single line is output, terminated by a newline. If the " +"name is provided or known to the 'mailmap', ``Name $$<user@host>$$'' is " +"printed; otherwise only ``$$<user@host>$$'' is printed." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:190 +#. type: Title = +#: en/git-checkout-index.txt:2 #, no-wrap -msgid "Technical Discussion" +msgid "git-checkout-index(1)" msgstr "" +# #. type: Plain text -#: en/git-fast-import.txt:197 -msgid "" -"fast-import tracks a set of branches in memory. Any branch can be created " -"or modified at any point during the import process by sending a `commit` " -"command on the input stream. This design allows a frontend program to " -"process an unlimited number of branches simultaneously, generating commits " -"in the order they are available from the source data. It also simplifies " -"the frontend programs considerably." -msgstr "" +#: en/git-checkout-index.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-checkout-index - Copy files from the index to the working tree" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-fast-import.txt:206 +#: en/git-checkout-index.txt:17 +#, no-wrap msgid "" -"fast-import does not use or alter the current working directory, or any file " -"within it. (It does however update the current Git repository, as " -"referenced by `GIT_DIR`.) Therefore an import frontend may use the working " -"directory for its own purposes, such as extracting file revisions from the " -"foreign source. This ignorance of the working directory also allows fast-" -"import to run very quickly, as it does not need to perform any costly file " -"update operations when switching between branches." +"'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]\n" +"\t\t [--stage=<number>|all]\n" +"\t\t [--temp]\n" +"\t\t [-z] [--stdin]\n" +"\t\t [--] [<file>...]\n" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:208 en/git-rev-parse.txt:309 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Input Format" -msgstr "Configuration" - #. type: Plain text -#: en/git-fast-import.txt:214 +#: en/git-checkout-index.txt:22 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" msgid "" -"With the exception of raw file data (which Git does not interpret) the fast-" -"import input format is text (ASCII) based. This text based format " -"simplifies development and debugging of frontend programs, especially when a " -"higher level language such as Perl, Python or Ruby is being used." +"Will copy all files listed from the index to the working directory (not " +"overwriting existing files)." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-fast-import.txt:222 -msgid "" -"fast-import is very strict about its input. Where we say SP below we mean " -"*exactly* one space. Likewise LF means one (and only one) linefeed and HT " -"one (and only one) horizontal tab. Supplying additional whitespace " -"characters will cause unexpected results, such as branch names or file names " -"with leading or trailing spaces in their name, or early termination of fast-" -"import when it encounters unexpected input." +#: en/git-checkout-index.txt:29 +msgid "update stat information for the checked out entries in the index file." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:224 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "Stream Comments" -msgstr "$ git commit\n" - +# #. type: Plain text -#: en/git-fast-import.txt:231 -msgid "" -"To aid in debugging frontends fast-import ignores any line that begins with " -"`#` (ASCII pound/hash) up to and including the line ending `LF`. A comment " -"line may contain any sequence of bytes that does not contain an LF and " -"therefore may be used to include any detailed debugging information that " -"might be specific to the frontend and useful when inspecting a fast-import " -"data stream." -msgstr "" +#: en/git-checkout-index.txt:33 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "be quiet if files exist or are not in the index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" -#. type: Title ~ -#: en/git-fast-import.txt:233 -#, no-wrap -msgid "Date Formats" +#. type: Plain text +#: en/git-checkout-index.txt:37 +#, fuzzy +#| msgid "" +#| "-f::\n" +#| "--force::\n" +#| "\tAllow adding otherwise ignored files.\n" +msgid "forces overwrite of existing files" msgstr "" +"-f::\n" +"--force::\n" +"\tForce l'ajout de fichiers qui sont normalement ignor챕s.\n" #. type: Plain text -#: en/git-fast-import.txt:237 +#: en/git-checkout-index.txt:42 msgid "" -"The following date formats are supported. A frontend should select the " -"format it will use for this import by passing the format name in the --date-" -"format=<fmt> command-line option." +"checks out all files in the index. Cannot be used together with explicit " +"filenames." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:238 +#: en/git-checkout-index.txt:44 #, no-wrap -msgid "`raw`" +msgid "--no-create" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:242 -msgid "" -"This is the Git native format and is `<time> SP <offutc>`. It is also fast-" -"import's default format, if --date-format was not specified." +#: en/git-checkout-index.txt:47 +msgid "Don't checkout new files, only refresh files already checked out." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:246 -msgid "" -"The time of the event is specified by `<time>` as the number of seconds " -"since the UNIX epoch (midnight, Jan 1, 1970, UTC) and is written as an ASCII " -"decimal integer." +#. type: Labeled list +#: en/git-checkout-index.txt:48 +#, no-wrap +msgid "--prefix=<string>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:252 +#: en/git-checkout-index.txt:51 msgid "" -"The local offset is specified by `<offutc>` as a positive or negative offset " -"from UTC. For example EST (which is 5 hours behind UTC) would be expressed " -"in `<tz>` by ``-0500'' while UTC is ``+0000''. The local offset does not " -"affect `<time>`; it is used only as an advisement to help formatting " -"routines display the timestamp." +"When creating files, prepend <string> (usually a directory including a " +"trailing /)" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:258 -msgid "" -"If the local offset is not available in the source material, use ``+0000'', " -"or the most common local offset. For example many organizations have a CVS " -"repository which has only ever been accessed by users who are located in the " -"same location and time zone. In this case a reasonable offset from UTC " -"could be assumed." +#. type: Labeled list +#: en/git-checkout-index.txt:52 +#, no-wrap +msgid "--stage=<number>|all" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:261 +#: en/git-checkout-index.txt:56 msgid "" -"Unlike the `rfc2822` format, this format is very strict. Any variation in " -"formatting will cause fast-import to reject the value." +"Instead of checking out unmerged entries, copy out the files from named " +"stage. <number> must be between 1 and 3. Note: --stage=all automatically " +"implies --temp." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:262 +#: en/git-checkout-index.txt:57 #, no-wrap -msgid "`rfc2822`" +msgid "--temp" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:264 -#, fuzzy -#| msgid "" -#| "The standard email format as described by RFC 2822, for example `Thu, 07 " -#| "Apr 2005 22:13:13 +0200`." -msgid "This is the standard email format as described by RFC 2822." +#: en/git-checkout-index.txt:61 +msgid "" +"Instead of copying the files to the working directory write the content to " +"temporary files. The temporary name associations will be written to stdout." msgstr "" -"Le standard de format des courriel tel que d챕crit par la RFC 2822, par " -"exemple `Thu, 07 Apr 2005 22:13:13 +0200`." #. type: Plain text -#: en/git-fast-import.txt:269 +#: en/git-checkout-index.txt:66 en/git-update-index.txt:144 msgid "" -"An example value is ``Tue Feb 6 11:22:18 2007 -0500''. The Git parser is " -"accurate, but a little on the lenient side. It is the same parser used by " -"'git am' when applying patches received from email." +"Instead of taking list of paths from the command line, read list of paths " +"from the standard input. Paths are separated by LF (i.e. one path per line) " +"by default." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:275 +#: en/git-checkout-index.txt:70 msgid "" -"Some malformed strings may be accepted as valid dates. In some of these " -"cases Git will still be able to obtain the correct date from the malformed " -"string. There are also some types of malformed strings which Git will parse " -"wrong, and yet consider valid. Seriously malformed strings will be rejected." +"Only meaningful with `--stdin`; paths are separated with NUL character " +"instead of LF." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:280 -msgid "" -"Unlike the `raw` format above, the time zone/UTC offset information " -"contained in an RFC 2822 date string is used to adjust the date value to UTC " -"prior to storage. Therefore it is important that this information be as " -"accurate as possible." +#: en/git-checkout-index.txt:73 en/git-commit.txt:338 en/git-ls-files.txt:176 +#: en/git-merge-index.txt:25 en/git-prune.txt:47 en/git-update-index.txt:206 +#: en/git-verify-pack.txt:38 +msgid "Do not interpret any more arguments as options." +msgstr "Ne pas interpr챕ter les arguments qui suivent comme options." + +#. type: Plain text +#: en/git-checkout-index.txt:75 +msgid "The order of the flags used to matter, but not anymore." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:285 +#: en/git-checkout-index.txt:79 msgid "" -"If the source material uses RFC 2822 style dates, the frontend should let " -"fast-import handle the parsing and conversion (rather than attempting to do " -"it itself) as the Git parser has been well tested in the wild." +"Just doing `git checkout-index` does nothing. You probably meant `git " +"checkout-index -a`. And if you want to force it, you want `git checkout-" +"index -f -a`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:290 +#: en/git-checkout-index.txt:83 msgid "" -"Frontends should prefer the `raw` format if the source material already uses " -"UNIX-epoch format, can be coaxed to give dates in that format, or its format " -"is easily convertible to it, as there is no ambiguity in parsing." +"Intuitiveness is not the goal here. Repeatability is. The reason for the " +"\"no arguments means no work\" behavior is that from scripts you are " +"supposed to be able to do:" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:291 +#. type: delimited block - +#: en/git-checkout-index.txt:86 #, no-wrap -msgid "`now`" +msgid "$ find . -name '*.h' -print0 | xargs -0 git checkout-index -f --\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:294 +#: en/git-checkout-index.txt:92 msgid "" -"Always use the current time and time zone. The literal `now` must always be " -"supplied for `<when>`." +"which will force all existing `*.h` files to be replaced with their cached " +"copies. If an empty command line implied \"all\", then this would force-" +"refresh everything in the index, which was not the point. But since 'git " +"checkout-index' accepts --stdin it would be faster to use:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:299 -msgid "" -"This is a toy format. The current time and time zone of this system is " -"always copied into the identity string at the time it is being created by " -"fast-import. There is no way to specify a different time or time zone." +#. type: delimited block - +#: en/git-checkout-index.txt:95 +#, no-wrap +msgid "$ find . -name '*.h' -print0 | git checkout-index -f -z --stdin\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:304 +#: en/git-checkout-index.txt:100 msgid "" -"This particular format is supplied as it's short to implement and may be " -"useful to a process that wants to create a new commit right now, without " -"needing to use a working directory or 'git update-index'." +"The `--` is just a good idea when you know the rest will be filenames; it " +"will prevent problems with a filename of, for example, `-a`. Using `--` is " +"probably a good policy in scripts." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:311 -msgid "" -"If separate `author` and `committer` commands are used in a `commit` the " -"timestamps may not match, as the system clock will be polled twice (once for " -"each command). The only way to ensure that both author and committer " -"identity information has the same timestamp is to omit `author` (thus " -"copying from `committer`) or to use a date format other than `now`." +#. type: Title - +#: en/git-checkout-index.txt:103 +#, no-wrap +msgid "Using --temp or --stage=all" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:313 -#, no-wrap -msgid "Commands" +#. type: Plain text +#: en/git-checkout-index.txt:110 +msgid "" +"When `--temp` is used (or implied by `--stage=all`) 'git checkout-index' " +"will create a temporary file for each index entry being checked out. The " +"index will not be updated with stat information. These options can be " +"useful if the caller needs all stages of all unmerged entries so that the " +"unmerged files can be processed by an external merge tool." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:317 +#: en/git-checkout-index.txt:114 msgid "" -"fast-import accepts several commands to update the current repository and " -"control the current import process. More detailed discussion (with " -"examples) of each command follows later." +"A listing will be written to stdout providing the association of temporary " +"file names to tracked path names. The listing format has two variations:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:318 en/git-fast-import.txt:380 -#, no-wrap -msgid "`commit`" +#. type: Plain text +#: en/git-checkout-index.txt:116 +msgid "tempname TAB path RS" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:322 +#: en/git-checkout-index.txt:121 msgid "" -"Creates a new branch or updates an existing branch by creating a new commit " -"and updating the branch to point at the newly created commit." +"The first format is what gets used when `--stage` is omitted or is not `--" +"stage=all`. The field tempname is the temporary file name holding the file " +"content and path is the tracked path name in the index. Only the requested " +"entries are output." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:323 en/git-fast-import.txt:744 -#, no-wrap -msgid "`tag`" +#. type: Plain text +#: en/git-checkout-index.txt:123 +msgid "stage1temp SP stage2temp SP stage3tmp TAB path RS" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:328 +#: en/git-checkout-index.txt:129 msgid "" -"Creates an annotated tag object from an existing commit or branch. " -"Lightweight tags are not supported by this command, as they are not " -"recommended for recording meaningful points in time." +"The second format is what gets used when `--stage=all`. The three stage " +"temporary fields (stage1temp, stage2temp, stage3temp) list the name of the " +"temporary file if there is a stage entry in the index or `.` if there is no " +"stage entry. Paths which only have a stage 0 entry will always be omitted " +"from the output." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:329 en/git-fast-import.txt:787 -#, no-wrap -msgid "`reset`" +#. type: Plain text +#: en/git-checkout-index.txt:136 +msgid "" +"In both formats RS (the record separator) is newline by default but will be " +"the null byte if -z was passed on the command line. The temporary file " +"names are always safe strings; they will never contain directory separators " +"or whitespace characters. The path field is always relative to the current " +"directory and the temporary file names are always relative to the top level " +"directory." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:333 +#: en/git-checkout-index.txt:140 msgid "" -"Reset an existing branch (or a new branch) to a specific revision. This " -"command must be used to change a branch to a specific revision without " -"making a commit on it." +"If the object being copied out to a temporary file is a symbolic link the " +"content of the link will be written to a normal file. It is up to the end-" +"user or the Porcelain to make use of this information." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:334 en/git-fast-import.txt:816 +#. type: Labeled list +#: en/git-checkout-index.txt:144 #, no-wrap -msgid "`blob`" +msgid "To update and refresh only the files already checked out" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:338 -msgid "" -"Convert raw file data into a blob, for future use in a `commit` command. " -"This command is optional and is not needed to perform an import." +#. type: delimited block - +#: en/git-checkout-index.txt:148 en/git-update-index.txt:342 +#, no-wrap +msgid "$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh\n" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:339 en/git-fast-import.txt:888 +#. type: Labeled list +#: en/git-checkout-index.txt:150 #, no-wrap -msgid "`checkpoint`" +msgid "Using 'git checkout-index' to \"export an entire tree\"" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:344 +#: en/git-checkout-index.txt:154 msgid "" -"Forces fast-import to close the current packfile, generate its unique SHA-1 " -"checksum and index, and start a new packfile. This command is optional and " -"is not needed to perform an import." +"The prefix ability basically makes it trivial to use 'git checkout-index' as " +"an \"export as tree\" function. Just read the desired tree into the index, " +"and do:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:345 en/git-fast-import.txt:916 +#. type: delimited block - +#: en/git-checkout-index.txt:157 #, no-wrap -msgid "`progress`" +msgid "$ git checkout-index --prefix=git-export-dir/ -a\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:349 +#: en/git-checkout-index.txt:161 msgid "" -"Causes fast-import to echo the entire line to its own standard output. This " -"command is optional and is not needed to perform an import." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:350 en/git-fast-import.txt:1126 -#, no-wrap -msgid "`done`" +"`git checkout-index` will \"export\" the index into the specified directory." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:354 +#: en/git-checkout-index.txt:165 msgid "" -"Marks the end of the stream. This command is optional unless the `done` " -"feature was requested using the `--done` command-line option or `feature " -"done` command." +"The final \"/\" is important. The exported name is literally just prefixed " +"with the specified string. Contrast this with the following example." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:355 en/git-fast-import.txt:941 +#. type: Labeled list +#: en/git-checkout-index.txt:166 #, no-wrap -msgid "`get-mark`" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:359 -msgid "" -"Causes fast-import to print the SHA-1 corresponding to a mark to the file " -"descriptor set with `--cat-blob-fd`, or `stdout` if unspecified." +msgid "Export files with a prefix" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:360 en/git-fast-import.txt:960 +#. type: delimited block - +#: en/git-checkout-index.txt:170 #, no-wrap -msgid "`cat-blob`" +msgid "$ git checkout-index --prefix=.merged- Makefile\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:364 +#: en/git-checkout-index.txt:174 msgid "" -"Causes fast-import to print a blob in 'cat-file --batch' format to the file " -"descriptor set with `--cat-blob-fd` or `stdout` if unspecified." +"This will check out the currently cached copy of `Makefile` into the file `." +"merged-Makefile`." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:365 en/git-fast-import.txt:990 +#. type: Title = +#: en/git-checkout.txt:2 #, no-wrap -msgid "`ls`" -msgstr "" +msgid "git-checkout(1)" +msgstr "git-checkout(1)" +# #. type: Plain text -#: en/git-fast-import.txt:369 -msgid "" -"Causes fast-import to print a line describing a directory entry in 'ls-tree' " -"format to the file descriptor set with `--cat-blob-fd` or `stdout` if " -"unspecified." -msgstr "" +#: en/git-checkout.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-checkout - Switch branches or restore working tree files" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" -#. type: Title ~ -#: en/git-fast-import.txt:370 en/git-fast-import.txt:1043 +#. type: Plain text +#: en/git-checkout.txt:17 #, no-wrap -msgid "`feature`" +msgid "" +"'git checkout' [-q] [-f] [-m] [<branch>]\n" +"'git checkout' [-q] [-f] [-m] --detach [<branch>]\n" +"'git checkout' [-q] [-f] [-m] [--detach] <commit>\n" +"'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]\n" +"'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>...\n" +"'git checkout' [-p|--patch] [<tree-ish>] [--] [<paths>...]\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:373 +#: en/git-checkout.txt:24 msgid "" -"Enable the specified feature. This requires that fast-import supports the " -"specified feature, and aborts if it does not." +"Updates files in the working tree to match the version in the index or the " +"specified tree. If no paths are given, 'git checkout' will also update " +"`HEAD` to set the specified branch as the current branch." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:374 en/git-fast-import.txt:1098 -#, no-wrap -msgid "`option`" -msgstr "" +#. type: Labeled list +#: en/git-checkout.txt:25 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "'git checkout' <branch>" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-fast-import.txt:378 +#: en/git-checkout.txt:31 msgid "" -"Specify any of the options listed under OPTIONS that do not change stream " -"semantic to suit the frontend's needs. This command is optional and is not " -"needed to perform an import." +"To prepare for working on <branch>, switch to it by updating the index and " +"the files in the working tree, and by pointing HEAD at the branch. Local " +"modifications to the files in the working tree are kept, so that they can be " +"committed to the <branch>." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:383 +#: en/git-checkout.txt:35 msgid "" -"Create or update a branch with a new commit, recording one logical change to " -"the project." +"If <branch> is not found but there does exist a tracking branch in exactly " +"one remote (call it <remote>) with a matching name, treat as equivalent to" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:394 +#. type: delimited block - +#: en/git-checkout.txt:38 #, no-wrap -msgid "" -"\t'commit' SP <ref> LF\n" -"\tmark?\n" -"\t('author' (SP <name>)? SP LT <email> GT SP <when> LF)?\n" -"\t'committer' (SP <name>)? SP LT <email> GT SP <when> LF\n" -"\tdata\n" -"\t('from' SP <commit-ish> LF)?\n" -"\t('merge' SP <commit-ish> LF)?\n" -"\t(filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)*\n" -"\tLF?\n" +msgid "$ git checkout -b <branch> --track <remote>/<branch>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:402 +#: en/git-checkout.txt:44 msgid "" -"where `<ref>` is the name of the branch to make the commit on. Typically " -"branch names are prefixed with `refs/heads/` in Git, so importing the CVS " -"branch symbol `RELENG-1_0` would use `refs/heads/RELENG-1_0` for the value " -"of `<ref>`. The value of `<ref>` must be a valid refname in Git. As `LF` " -"is not valid in a Git refname, no quoting or escaping syntax is supported " -"here." +"You could omit <branch>, in which case the command degenerates to \"check " +"out the current branch\", which is a glorified no-op with a rather expensive " +"side-effects to show only the tracking information, if exists, for the " +"current branch." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:408 -msgid "" -"A `mark` command may optionally appear, requesting fast-import to save a " -"reference to the newly created commit for future use by the frontend (see " -"below for format). It is very common for frontends to mark every commit " -"they create, thereby allowing future branch creation from any imported " -"commit." +#. type: Labeled list +#: en/git-checkout.txt:45 +#, no-wrap +msgid "'git checkout' -b|-B <new_branch> [<start point>]" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:414 +#: en/git-checkout.txt:53 msgid "" -"The `data` command following `committer` must supply the commit message (see " -"below for `data` command syntax). To import an empty commit message use a 0 " -"length data. Commit messages are free-form and are not interpreted by Git. " -"Currently they must be encoded in UTF-8, as fast-import does not permit " -"other encodings to be specified." +"Specifying `-b` causes a new branch to be created as if linkgit:git-" +"branch[1] were called and then checked out. In this case you can use the `--" +"track` or `--no-track` options, which will be passed to 'git branch'. As a " +"convenience, `--track` without `-b` implies branch creation; see the " +"description of `--track` below." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:422 +#: en/git-checkout.txt:56 msgid "" -"Zero or more `filemodify`, `filedelete`, `filecopy`, `filerename`, " -"`filedeleteall` and `notemodify` commands may be included to update the " -"contents of the branch prior to creating the commit. These commands may be " -"supplied in any order. However it is recommended that a `filedeleteall` " -"command precede all `filemodify`, `filecopy`, `filerename` and `notemodify` " -"commands in the same commit, as `filedeleteall` wipes the branch clean (see " -"below)." -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:424 en/git-fast-import.txt:803 -#: en/git-fast-import.txt:914 -msgid "The `LF` after the command is optional (it used to be required)." +"If `-B` is given, <new_branch> is created if it doesn't exist; otherwise, it " +"is reset. This is the transactional equivalent of" msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:426 +#. type: delimited block - +#: en/git-checkout.txt:60 #, no-wrap -msgid "`author`" +msgid "" +"$ git branch -f <branch> [<start point>]\n" +"$ git checkout <branch>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:432 +#: en/git-checkout.txt:64 msgid "" -"An `author` command may optionally appear, if the author information might " -"differ from the committer information. If `author` is omitted then fast-" -"import will automatically use the committer's information for the author " -"portion of the commit. See below for a description of the fields in " -"`author`, as they are identical to `committer`." +"that is to say, the branch is not reset/created unless \"git checkout\" is " +"successful." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:434 +#. type: Labeled list +#: en/git-checkout.txt:65 +#, no-wrap +msgid "'git checkout' --detach [<branch>]" +msgstr "" + +#. type: Labeled list +#: en/git-checkout.txt:66 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "`committer`" -msgstr "git-commit(1)" +#| msgid "$ git commit\n" +msgid "'git checkout' [--detach] <commit>" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-fast-import.txt:437 +#: en/git-checkout.txt:74 msgid "" -"The `committer` command indicates who made this commit, and when they made " -"it." +"Prepare to work on top of <commit>, by detaching HEAD at it (see \"DETACHED " +"HEAD\" section), and updating the index and the files in the working tree. " +"Local modifications to the files in the working tree are kept, so that the " +"resulting working tree will be the state recorded in the commit plus the " +"local modifications." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:445 +#: en/git-checkout.txt:78 msgid "" -"Here `<name>` is the person's display name (for example ``Com M Itter'') and " -"`<email>` is the person's email address (``\\cm@example.com''). `LT` and " -"`GT` are the literal less-than (\\x3c) and greater-than (\\x3e) symbols. " -"These are required to delimit the email address from the other fields in the " -"line. Note that `<name>` and `<email>` are free-form and may contain any " -"sequence of bytes, except `LT`, `GT` and `LF`. `<name>` is typically UTF-8 " -"encoded." +"When the <commit> argument is a branch name, the `--detach` option can be " +"used to detach HEAD at the tip of the branch (`git checkout <branch>` would " +"check out that branch without detaching HEAD)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:450 -msgid "" -"The time of the change is specified by `<when>` using the date format that " -"was selected by the --date-format=<fmt> command-line option. See ``Date " -"Formats'' above for the set of supported formats, and their syntax." +#: en/git-checkout.txt:80 +msgid "Omitting <branch> detaches HEAD at the tip of the current branch." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:452 +#. type: Labeled list +#: en/git-checkout.txt:81 #, no-wrap -msgid "`from`" +msgid "'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>..." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:458 +#: en/git-checkout.txt:91 msgid "" -"The `from` command is used to specify the commit to initialize this branch " -"from. This revision will be the first ancestor of the new commit. The " -"state of the tree built at this commit will begin with the state at the " -"`from` commit, and be altered by the content modifications in this commit." +"When <paths> or `--patch` are given, 'git checkout' does *not* switch " +"branches. It updates the named paths in the working tree from the index " +"file or from a named <tree-ish> (most often a commit). In this case, the `-" +"b` and `--track` options are meaningless and giving either of them results " +"in an error. The <tree-ish> argument can be used to specify a specific tree-" +"ish (i.e. commit, tag or tree) to update the index for the given paths " +"before updating the working tree." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:468 +#: en/git-checkout.txt:95 msgid "" -"Omitting the `from` command in the first commit of a new branch will cause " -"fast-import to create that commit with no ancestor. This tends to be desired " -"only for the initial commit of a project. If the frontend creates all files " -"from scratch when making a new branch, a `merge` command may be used instead " -"of `from` to start the commit with an empty tree. Omitting the `from` " -"command on existing branches is usually desired, as the current commit on " -"that branch is automatically assumed to be the first ancestor of the new " -"commit." +"'git checkout' with <paths> or `--patch` is used to restore modified or " +"deleted paths to their original contents from the index or replace paths " +"with the contents from a named <tree-ish> (most often a commit-ish)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:471 +#: en/git-checkout.txt:103 msgid "" -"As `LF` is not valid in a Git refname or SHA-1 expression, no quoting or " -"escaping syntax is supported within `<commit-ish>`." +"The index may contain unmerged entries because of a previous failed merge. " +"By default, if you try to check out such an entry from the index, the " +"checkout operation will fail and nothing will be checked out. Using `-f` " +"will ignore these unmerged entries. The contents from a specific side of " +"the merge can be checked out of the index by using `--ours` or `--theirs`. " +"With `-m`, changes made to the working tree file can be discarded to re-" +"create the original conflicted merge result." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:473 -msgid "Here `<commit-ish>` is any of the following:" +#: en/git-checkout.txt:109 +#, fuzzy +#| msgid "" +#| "-q::\n" +#| "--quiet::\n" +#| "\tSuppress commit summary message.\n" +msgid "Quiet, suppress feedback messages." msgstr "" +"-q::\n" +"--quiet::\n" +"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Plain text -#: en/git-fast-import.txt:477 +#: en/git-checkout.txt:115 msgid "" -"The name of an existing branch already in fast-import's internal branch " -"table. If fast-import doesn't know the name, it's treated as a SHA-1 " -"expression." +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal, unless `--quiet` is specified. This flag enables " +"progress reporting even if not attached to a terminal, regardless of `--" +"quiet`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:479 -msgid "A mark reference, `:<idnum>`, where `<idnum>` is the mark number." +#: en/git-checkout.txt:121 +msgid "" +"When switching branches, proceed even if the index or the working tree " +"differs from HEAD. This is used to throw away local changes." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:485 +#: en/git-checkout.txt:124 msgid "" -"The reason fast-import uses `:` to denote a mark reference is this character " -"is not legal in a Git branch name. The leading `:` makes it easy to " -"distinguish between the mark 42 (`:42`) and the branch 42 (`42` or `refs/" -"heads/42`), or an abbreviated SHA-1 which happened to consist only of " -"base-10 digits." +"When checking out paths from the index, do not fail upon unmerged entries; " +"instead, unmerged entries are ignored." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:487 -msgid "Marks must be declared (via `mark`) before they can be used." +#. type: Labeled list +#: en/git-checkout.txt:125 en/git-merge-file.txt:73 +#, no-wrap +msgid "--ours" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:489 -msgid "A complete 40 byte or abbreviated commit SHA-1 in hex." +#. type: Labeled list +#: en/git-checkout.txt:126 en/git-merge-file.txt:74 +#, no-wrap +msgid "--theirs" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:492 +#: en/git-checkout.txt:129 msgid "" -"Any valid Git SHA-1 expression that resolves to a commit. See ``SPECIFYING " -"REVISIONS'' in linkgit:gitrevisions[7] for details." +"When checking out paths from the index, check out stage #2 ('ours') or #3 " +"('theirs') for unmerged paths." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:495 +#: en/git-checkout.txt:134 msgid "" -"The special null SHA-1 (40 zeros) specifies that the branch is to be removed." +"Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' " +"may appear swapped; `--ours` gives the version from the branch the changes " +"are rebased onto, while `--theirs` gives the version from the branch that " +"holds your work that is being rebased." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:498 +#: en/git-checkout.txt:144 msgid "" -"The special case of restarting an incremental import from the current branch " -"value should be written as:" +"This is because `rebase` is used in a workflow that treats the history at " +"the remote as the shared canonical one, and treats the work done on the " +"branch you are rebasing as the third-party work to be integrated, and you " +"are temporarily assuming the role of the keeper of the canonical history " +"during the rebase. As the keeper of the canonical history, you need to view " +"the history from the remote as `ours` (i.e. \"our shared canonical history" +"\"), while what you did on your side branch as `theirs` (i.e. \"one " +"contributor's work on top of it\")." msgstr "" -#. type: delimited block - -#: en/git-fast-import.txt:500 -#, no-wrap -msgid "\tfrom refs/heads/branch^0\n" -msgstr "" +#. type: Labeled list +#: en/git-checkout.txt:145 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "-b <new_branch>" +msgstr "Mode interactif" #. type: Plain text -#: en/git-fast-import.txt:507 +#: en/git-checkout.txt:148 msgid "" -"The `^0` suffix is necessary as fast-import does not permit a branch to " -"start from itself, and the branch is created in memory before the `from` " -"command is even read from the input. Adding `^0` will force fast-import to " -"resolve the commit through Git's revision parsing library, rather than its " -"internal branch table, thereby loading in the existing value of the branch." +"Create a new branch named <new_branch> and start it at <start_point>; see " +"linkgit:git-branch[1] for details." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:509 +#. type: Labeled list +#: en/git-checkout.txt:149 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "`merge`" -msgstr "git-commit(1)" +#| msgid "Interactive mode" +msgid "-B <new_branch>" +msgstr "Mode interactif" #. type: Plain text -#: en/git-fast-import.txt:517 +#: en/git-checkout.txt:154 msgid "" -"Includes one additional ancestor commit. The additional ancestry link does " -"not change the way the tree state is built at this commit. If the `from` " -"command is omitted when creating a new branch, the first `merge` commit will " -"be the first ancestor of the current commit, and the branch will start out " -"with no files. An unlimited number of `merge` commands per commit are " -"permitted by fast-import, thereby establishing an n-way merge." +"Creates the branch <new_branch> and start it at <start_point>; if it already " +"exists, then reset it to <start_point>. This is equivalent to running \"git " +"branch\" with \"-f\"; see linkgit:git-branch[1] for details." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:520 +#: en/git-checkout.txt:159 msgid "" -"Here `<commit-ish>` is any of the commit specification expressions also " -"accepted by `from` (see above)." +"When creating a new branch, set up \"upstream\" configuration. See \"--track" +"\" in linkgit:git-branch[1] for details." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:522 -#, no-wrap -msgid "`filemodify`" +#. type: Plain text +#: en/git-checkout.txt:169 +msgid "" +"If no `-b` option is given, the name of the new branch will be derived from " +"the remote-tracking branch, by looking at the local part of the refspec " +"configured for the corresponding remote, and then stripping the initial part " +"up to the \"*\". This would tell us to use \"hack\" as the local branch " +"when branching off of \"origin/hack\" (or \"remotes/origin/hack\", or even " +"\"refs/remotes/origin/hack\"). If the given name has no slash, or the above " +"guessing results in an empty name, the guessing is aborted. You can " +"explicitly give a name with `-b` in such a case." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:526 -msgid "" -"Included in a `commit` command to add a new file or change the content of an " -"existing file. This command has two different means of specifying the " -"content of the file." +#: en/git-checkout.txt:177 +msgid "Create the new branch's reflog; see linkgit:git-branch[1] for details." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:527 en/git-fast-import.txt:694 -#, fuzzy, no-wrap -#| msgid "Git internal format" -msgid "External data format" -msgstr "Format interne de Git" +#: en/git-checkout.txt:178 en/git-daemon.txt:134 en/git-worktree.txt:100 +#, no-wrap +msgid "--detach" +msgstr "" #. type: Plain text -#: en/git-fast-import.txt:530 +#: en/git-checkout.txt:184 msgid "" -"The data content for the file was already supplied by a prior `blob` " -"command. The frontend just needs to connect it." +"Rather than checking out a branch to work on it, check out a commit for " +"inspection and discardable experiments. This is the default behavior of " +"\"git checkout <commit>\" when <commit> is not a branch name. See the " +"\"DETACHED HEAD\" section below for details." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:533 +#. type: Labeled list +#: en/git-checkout.txt:185 #, no-wrap -msgid "\t'M' SP <mode> SP <dataref> SP <path> LF\n" +msgid "--orphan <new_branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:540 +#: en/git-checkout.txt:191 msgid "" -"Here usually `<dataref>` must be either a mark reference (`:<idnum>`) set " -"by a prior `blob` command, or a full 40-byte SHA-1 of an existing Git blob " -"object. If `<mode>` is `040000`` then `<dataref>` must be the full 40-byte " -"SHA-1 of an existing Git tree object or a mark reference set with `--import-" -"marks`." +"Create a new 'orphan' branch, named <new_branch>, started from <start_point> " +"and switch to it. The first commit made on this new branch will have no " +"parents and it will be the root of a new history totally disconnected from " +"all the other branches and commits." msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:541 en/git-fast-import.txt:707 -#, fuzzy, no-wrap -#| msgid "Git internal format" -msgid "Inline data format" -msgstr "Format interne de Git" +#. type: Plain text +#: en/git-checkout.txt:196 +msgid "" +"The index and the working tree are adjusted as if you had previously run " +"\"git checkout <start_point>\". This allows you to start a new history that " +"records a set of paths similar to <start_point> by easily running \"git " +"commit -a\" to make the root commit." +msgstr "" #. type: Plain text -#: en/git-fast-import.txt:545 +#: en/git-checkout.txt:202 msgid "" -"The data content for the file has not been supplied yet. The frontend wants " -"to supply it as part of this modify command." +"This can be useful when you want to publish the tree from a commit without " +"exposing its full history. You might want to do this to publish an open " +"source branch of a project whose current tree is \"clean\", but whose full " +"history contains proprietary or otherwise encumbered bits of code." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:549 +#. type: Plain text +#: en/git-checkout.txt:209 +msgid "" +"If you want to start a disconnected history that records a set of paths that " +"is totally different from the one of <start_point>, then you should clear " +"the index and the working tree right after creating the orphan branch by " +"running \"git rm -rf .\" from the top level of the working tree. Afterwards " +"you will be ready to prepare your new files, repopulating the working tree, " +"by copying them from elsewhere, extracting a tarball, etc." +msgstr "" + +#. type: Labeled list +#: en/git-checkout.txt:210 #, no-wrap +msgid "--ignore-skip-worktree-bits" +msgstr "--ignore-skip-worktree-bits" + +#. type: Plain text +#: en/git-checkout.txt:215 msgid "" -"\t'M' SP <mode> SP 'inline' SP <path> LF\n" -"\tdata\n" +"In sparse checkout mode, `git checkout -- <paths>` would update only entries " +"matched by <paths> and sparse patterns in $GIT_DIR/info/sparse-checkout. " +"This option ignores the sparse patterns and adds back any files in <paths>." msgstr "" +#. type: Labeled list +#: en/git-checkout.txt:217 en/git-rebase.txt:271 en/git-reset.txt:71 +#: en/git-submodule.txt:363 en/git-svn.txt:638 en/rev-list-options.txt:278 +#, no-wrap +msgid "--merge" +msgstr "--merge" + #. type: Plain text -#: en/git-fast-import.txt:552 en/git-fast-import.txt:718 -msgid "See below for a detailed description of the `data` command." +#: en/git-checkout.txt:226 +msgid "" +"When switching branches, if you have local modifications to one or more " +"files that are different between the current branch and the branch to which " +"you are switching, the command refuses to switch branches in order to " +"preserve your modifications in context. However, with this option, a three-" +"way merge between the current branch, your working tree contents, and the " +"new branch is done, and you will be on the new branch." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:555 +#: en/git-checkout.txt:231 msgid "" -"In both formats `<mode>` is the type of file entry, specified in octal. Git " -"only supports the following modes:" +"When a merge conflict happens, the index entries for conflicting paths are " +"left unmerged, and you need to resolve the conflicts and mark the resolved " +"paths with `git add` (or `git rm` if the merge should result in deletion of " +"the path)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:559 +#: en/git-checkout.txt:234 msgid "" -"`100644` or `644`: A normal (not-executable) file. The majority of files in " -"most projects use this mode. If in doubt, this is what you want." +"When checking out paths from the index, this option lets you recreate the " +"conflicted merge in the specified paths." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:560 -msgid "`100755` or `755`: A normal, but executable, file." +#. type: Labeled list +#: en/git-checkout.txt:235 +#, no-wrap +msgid "--conflict=<style>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:561 -msgid "`120000`: A symlink, the content of the file will be the link target." +#: en/git-checkout.txt:241 +msgid "" +"The same as --merge option above, but changes the way the conflicting hunks " +"are presented, overriding the merge.conflictStyle configuration variable. " +"Possible values are \"merge\" (default) and \"diff3\" (in addition to what " +"is shown by \"merge\" style, shows the original contents)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:564 +#: en/git-checkout.txt:248 msgid "" -"`160000`: A gitlink, SHA-1 of the object refers to a commit in another " -"repository. Git links can only be specified by SHA or through a commit mark. " -"They are used to implement submodules." +"Interactively select hunks in the difference between the <tree-ish> (or the " +"index, if unspecified) and the working tree. The chosen hunks are then " +"applied in reverse to the working tree (and if a <tree-ish> was specified, " +"the index)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:566 +#: en/git-checkout.txt:252 +#, fuzzy +#| msgid "" +#| "by using the --interactive or --patch switches with the 'commit' command " +#| "to decide one by one which files or hunks should be part of the commit in " +#| "addition to contents in the index, before finalizing the operation. See " +#| "the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to " +#| "operate these modes." msgid "" -"`040000`: A subdirectory. Subdirectories can only be specified by SHA or " -"through a tree mark set with `--import-marks`." +"This means that you can use `git checkout -p` to selectively discard edits " +"from your current working tree. See the ``Interactive Mode'' section of " +"linkgit:git-add[1] to learn how to operate the `--patch` mode." msgstr "" +"en utilisant les options --interactive ou --patch avec la commande 'commit' " +"pour choisir quels fichiers ou sections de fichier doivent 챗tre inclus dans " +"le commit en plus de l'index, avant finalisation de l'op챕ration. R챕f챕rez-" +"vous 횪 la section 짬혻Mode interactif혻쨩 de linkgit:git-add[1] pour la " +"description de ces modes." -#. type: Plain text -#: en/git-fast-import.txt:569 -msgid "" -"In both formats `<path>` is the complete path of the file to be added (if " -"not already existing) or modified (if already existing)." +#. type: Labeled list +#: en/git-checkout.txt:253 +#, no-wrap +msgid "--ignore-other-worktrees" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:573 +#: en/git-checkout.txt:258 msgid "" -"A `<path>` string must use UNIX-style directory separators (forward slash `/" -"`), may contain any byte other than `LF`, and must not start with double " -"quote (`\"`)." +"`git checkout` refuses when the wanted ref is already checked out by another " +"worktree. This option makes it check the ref out anyway. In other words, the " +"ref can be held by more than one worktree." msgstr "" +#. type: Labeled list +#: en/git-checkout.txt:259 en/git-rebase.txt:242 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "<branch>" +msgstr "Mode interactif" + #. type: Plain text -#: en/git-fast-import.txt:580 +#: en/git-checkout.txt:265 msgid "" -"A path can use C-style string quoting; this is accepted in all cases and " -"mandatory if the filename starts with double quote or contains `LF`. In C-" -"style quoting, the complete name should be surrounded with double quotes, " -"and any `LF`, backslash, or double quote characters must be escaped by " -"preceding them with a backslash (e.g., `\"path/with\\n, \\\\ and \\\" in it" -"\"`)." +"Branch to checkout; if it refers to a branch (i.e., a name that, when " +"prepended with \"refs/heads/\", is a valid ref), then that branch is checked " +"out. Otherwise, if it refers to a valid commit, your HEAD becomes \"detached" +"\" and you are no longer on any branch (see below for details)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:582 -msgid "The value of `<path>` must be in canonical form. That is it must not:" +#: en/git-checkout.txt:269 +msgid "" +"As a special case, the `\"@{-N}\"` syntax for the N-th last branch/commit " +"checks out branches (instead of detaching). You may also specify `-` which " +"is synonymous with `\"@{-1}\"`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:584 -msgid "contain an empty directory component (e.g. `foo//bar` is invalid)," +#: en/git-checkout.txt:273 +msgid "" +"As a further special case, you may use `\"A...B\"` as a shortcut for the " +"merge base of `A` and `B` if there is exactly one merge base. You can leave " +"out at most one of `A` and `B`, in which case it defaults to `HEAD`." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:585 -msgid "end with a directory separator (e.g. `foo/` is invalid)," +#. type: Labeled list +#: en/git-checkout.txt:274 +#, no-wrap +msgid "<new_branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:586 -msgid "start with a directory separator (e.g. `/foo` is invalid)," +#: en/git-checkout.txt:276 +msgid "Name for the new branch." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:588 -msgid "" -"contain the special component `.` or `..` (e.g. `foo/./bar` and `foo/../bar` " -"are invalid)." +#. type: Labeled list +#: en/git-checkout.txt:277 +#, no-wrap +msgid "<start_point>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:590 -msgid "The root of the tree can be represented by an empty string as `<path>`." +#: en/git-checkout.txt:280 +msgid "" +"The name of a commit at which to start the new branch; see linkgit:git-" +"branch[1] for details. Defaults to HEAD." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:592 -msgid "It is recommended that `<path>` always be encoded using UTF-8." +#: en/git-checkout.txt:284 +msgid "" +"Tree to checkout from (when paths are given). If not specified, the index " +"will be used." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:594 +#. type: Title - +#: en/git-checkout.txt:288 #, no-wrap -msgid "`filedelete`" +msgid "DETACHED HEAD" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:600 +#: en/git-checkout.txt:292 msgid "" -"Included in a `commit` command to remove a file or recursively delete an " -"entire directory from the branch. If the file or directory removal makes " -"its parent directory empty, the parent directory will be automatically " -"removed too. This cascades up the tree until the first non-empty directory " -"or the root is reached." +"HEAD normally refers to a named branch (e.g. 'master'). Meanwhile, each " +"branch refers to a specific commit. Let's look at a repo with three commits, " +"one of them tagged, and with branch 'master' checked out:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:603 +#. type: delimited block - +#: en/git-checkout.txt:301 #, no-wrap -msgid "\t'D' SP <path> LF\n" +msgid "" +"\t HEAD (refers to branch 'master')\n" +"\t |\n" +"\t v\n" +"a---b---c branch 'master' (refers to commit 'c')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:608 +#: en/git-checkout.txt:308 msgid "" -"here `<path>` is the complete path of the file or subdirectory to be removed " -"from the branch. See `filemodify` above for a detailed description of " -"`<path>`." +"When a commit is created in this state, the branch is updated to refer to " +"the new commit. Specifically, 'git commit' creates a new commit 'd', whose " +"parent is commit 'c', and then updates branch 'master' to refer to new " +"commit 'd'. HEAD still refers to branch 'master' and so indirectly now " +"refers to commit 'd':" msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:610 +#. type: delimited block - +#: en/git-checkout.txt:311 en/git-checkout.txt:346 en/git-checkout.txt:363 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ edit; git add; git commit\n" +msgstr "$ git commit\n" + +#. type: delimited block - +#: en/git-checkout.txt:319 #, no-wrap -msgid "`filecopy`" +msgid "" +"\t HEAD (refers to branch 'master')\n" +"\t\t|\n" +"\t\tv\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:615 +#: en/git-checkout.txt:325 msgid "" -"Recursively copies an existing file or subdirectory to a different location " -"within the branch. The existing file or directory must exist. If the " -"destination exists it will be completely replaced by the content copied from " -"the source." +"It is sometimes useful to be able to checkout a commit that is not at the " +"tip of any named branch, or even to create a new commit that is not " +"referenced by a named branch. Let's look at what happens when we checkout " +"commit 'b' (here we show two ways this may be done):" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:618 -#, no-wrap -msgid "\t'C' SP <path> SP <path> LF\n" -msgstr "" +#. type: delimited block - +#: en/git-checkout.txt:329 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "" +"$ git checkout v2.0 # or\n" +"$ git checkout master^^\n" +msgstr "$ git commit\n" -#. type: Plain text -#: en/git-fast-import.txt:624 en/git-fast-import.txt:644 +#. type: delimited block - +#: en/git-checkout.txt:337 +#, no-wrap msgid "" -"here the first `<path>` is the source location and the second `<path>` is " -"the destination. See `filemodify` above for a detailed description of what " -"`<path>` may look like. To use a source path that contains SP the path must " -"be quoted." +" HEAD (refers to commit 'b')\n" +" |\n" +" v\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:629 +#: en/git-checkout.txt:343 msgid "" -"A `filecopy` command takes effect immediately. Once the source location has " -"been copied to the destination any future commands applied to the source " -"location will not impact the destination of the copy." +"Notice that regardless of which checkout command we use, HEAD now refers " +"directly to commit 'b'. This is known as being in detached HEAD state. It " +"means simply that HEAD refers to a specific commit, as opposed to referring " +"to a named branch. Let's see what happens when we create a commit:" msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:631 +#. type: delimited block - +#: en/git-checkout.txt:356 #, no-wrap -msgid "`filerename`" +msgid "" +" HEAD (refers to commit 'e')\n" +" |\n" +" v\n" +" e\n" +" /\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:635 +#: en/git-checkout.txt:360 msgid "" -"Renames an existing file or subdirectory to a different location within the " -"branch. The existing file or directory must exist. If the destination " -"exists it will be replaced by the source directory." +"There is now a new commit 'e', but it is referenced only by HEAD. We can of " +"course add yet another commit in this state:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:638 +#. type: delimited block - +#: en/git-checkout.txt:373 #, no-wrap -msgid "\t'R' SP <path> SP <path> LF\n" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:649 msgid "" -"A `filerename` command takes effect immediately. Once the source location " -"has been renamed to the destination any future commands applied to the " -"source location will create new files there and not impact the destination " -"of the rename." +"\t HEAD (refers to commit 'f')\n" +"\t |\n" +"\t v\n" +" e---f\n" +" /\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:658 +#: en/git-checkout.txt:377 msgid "" -"Note that a `filerename` is the same as a `filecopy` followed by a " -"`filedelete` of the source location. There is a slight performance " -"advantage to using `filerename`, but the advantage is so small that it is " -"never worth trying to convert a delete/add pair in source material into a " -"rename for fast-import. This `filerename` command is provided just to " -"simplify frontends that already have rename information and don't want " -"bother with decomposing it into a `filecopy` followed by a `filedelete`." +"In fact, we can perform all the normal Git operations. But, let's look at " +"what happens when we then checkout master:" msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:660 +#. type: delimited block - +#: en/git-checkout.txt:380 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git checkout master\n" +msgstr "$ git commit\n" + +#. type: delimited block - +#: en/git-checkout.txt:388 #, no-wrap -msgid "`filedeleteall`" +msgid "" +"\t HEAD (refers to branch 'master')\n" +" e---f |\n" +" / v\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:665 +#: en/git-checkout.txt:395 msgid "" -"Included in a `commit` command to remove all files (and also all " -"directories) from the branch. This command resets the internal branch " -"structure to have no files in it, allowing the frontend to subsequently add " -"all interesting files from scratch." +"It is important to realize that at this point nothing refers to commit 'f'. " +"Eventually commit 'f' (and by extension commit 'e') will be deleted by the " +"routine Git garbage collection process, unless we create a reference before " +"that happens. If we have not yet moved away from commit 'f', any of these " +"will create a reference to it:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:668 +#. type: delimited block - +#: en/git-checkout.txt:400 #, no-wrap -msgid "\t'deleteall' LF\n" +msgid "" +"$ git checkout -b foo <1>\n" +"$ git branch foo <2>\n" +"$ git tag foo <3>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:674 +#: en/git-checkout.txt:405 msgid "" -"This command is extremely useful if the frontend does not know (or does not " -"care to know) what files are currently on the branch, and therefore cannot " -"generate the proper `filedelete` commands to update the content." +"creates a new branch 'foo', which refers to commit 'f', and then updates " +"HEAD to refer to branch 'foo'. In other words, we'll no longer be in " +"detached HEAD state after this command." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:682 +#: en/git-checkout.txt:408 msgid "" -"Issuing a `filedeleteall` followed by the needed `filemodify` commands to " -"set the correct content will produce the same results as sending only the " -"needed `filemodify` and `filedelete` commands. The `filedeleteall` approach " -"may however require fast-import to use slightly more memory per active " -"branch (less than 1 MiB for even most large projects); so frontends that can " -"easily obtain only the affected paths for a commit are encouraged to do so." +"similarly creates a new branch 'foo', which refers to commit 'f', but leaves " +"HEAD detached." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:684 -#, no-wrap -msgid "`notemodify`" +#. type: Plain text +#: en/git-checkout.txt:411 +msgid "" +"creates a new tag 'foo', which refers to commit 'f', leaving HEAD detached." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:693 +#: en/git-checkout.txt:416 msgid "" -"Included in a `commit` `<notes_ref>` command to add a new note annotating a " -"`<commit-ish>` or change this annotation contents. Internally it is similar " -"to filemodify 100644 on `<commit-ish>` path (maybe split into " -"subdirectories). It's not advised to use any other commands to write to the " -"`<notes_ref>` tree except `filedeleteall` to delete all existing notes in " -"this tree. This command has two different means of specifying the content " -"of the note." +"If we have moved away from commit 'f', then we must first recover its object " +"name (typically by using git reflog), and then we can create a reference to " +"it. For example, to see the last two commits to which HEAD referred, we can " +"use either of these commands:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:698 +#. type: delimited block - +#: en/git-checkout.txt:420 +#, no-wrap msgid "" -"The data content for the note was already supplied by a prior `blob` " -"command. The frontend just needs to connect it to the commit that is to be " -"annotated." +"$ git reflog -2 HEAD # or\n" +"$ git log -g -2 HEAD\n" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:701 +#. type: Title - +#: en/git-checkout.txt:423 #, no-wrap -msgid "\t'N' SP <dataref> SP <commit-ish> LF\n" +msgid "ARGUMENT DISAMBIGUATION" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:706 +#: en/git-checkout.txt:433 msgid "" -"Here `<dataref>` can be either a mark reference (`:<idnum>`) set by a prior " -"`blob` command, or a full 40-byte SHA-1 of an existing Git blob object." +"When there is only one argument given and it is not `--` (e.g. \"git " +"checkout abc\"), and when the argument is both a valid `<tree-ish>` (e.g. a " +"branch \"abc\" exists) and a valid `<pathspec>` (e.g. a file or a directory " +"whose name is \"abc\" exists), Git would usually ask you to disambiguate. " +"Because checking out a branch is so common an operation, however, \"git " +"checkout abc\" takes \"abc\" as a `<tree-ish>` in such a situation. Use " +"`git checkout -- <pathspec>` if you want to checkout these paths out of the " +"index." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:711 +#: en/git-checkout.txt:440 msgid "" -"The data content for the note has not been supplied yet. The frontend wants " -"to supply it as part of this modify command." +"The following sequence checks out the `master` branch, reverts the " +"`Makefile` to two revisions back, deletes hello.c by mistake, and gets it " +"back from the index." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:715 +#. type: delimited block - +#: en/git-checkout.txt:446 #, no-wrap msgid "" -"\t'N' SP 'inline' SP <commit-ish> LF\n" -"\tdata\n" +"$ git checkout master <1>\n" +"$ git checkout master~2 Makefile <2>\n" +"$ rm -f hello.c\n" +"$ git checkout hello.c <3>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:721 -msgid "" -"In both formats `<commit-ish>` is any of the commit specification " -"expressions also accepted by `from` (see above)." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:723 -#, no-wrap -msgid "`mark`" -msgstr "" +#: en/git-checkout.txt:449 +#, fuzzy +#| msgid "git-add(1)" +msgid "switch branch" +msgstr "git-add(1)" #. type: Plain text -#: en/git-fast-import.txt:729 -msgid "" -"Arranges for fast-import to save a reference to the current object, allowing " -"the frontend to recall this object at a future point in time, without " -"knowing its SHA-1. Here the current object is the object creation command " -"the `mark` command appears within. This can be `commit`, `tag`, and `blob`, " -"but `commit` is the most common usage." -msgstr "" - -#. type: delimited block . -#: en/git-fast-import.txt:732 -#, no-wrap -msgid "\t'mark' SP ':' <idnum> LF\n" +#: en/git-checkout.txt:450 +msgid "take a file out of another commit" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:738 -msgid "" -"where `<idnum>` is the number assigned by the frontend to this mark. The " -"value of `<idnum>` is expressed as an ASCII decimal integer. The value 0 is " -"reserved and cannot be used as a mark. Only values greater than or equal to " -"1 may be used as marks." +#: en/git-checkout.txt:451 +msgid "restore hello.c from the index" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:742 +#: en/git-checkout.txt:454 msgid "" -"New marks are created automatically. Existing marks can be moved to another " -"object simply by reusing the same `<idnum>` in another `mark` command." +"If you want to check out _all_ C source files out of the index, you can say" msgstr "" +#. type: delimited block - +#: en/git-checkout.txt:457 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git checkout -- '*.c'\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-fast-import.txt:747 +#: en/git-checkout.txt:463 msgid "" -"Creates an annotated tag referring to a specific commit. To create " -"lightweight (non-annotated) tags see the `reset` command below." +"Note the quotes around `*.c`. The file `hello.c` will also be checked out, " +"even though it is no longer in the working tree, because the file globbing " +"is used to match entries in the index (not in the working tree by the shell)." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:753 -#, no-wrap +#. type: Plain text +#: en/git-checkout.txt:467 msgid "" -"\t'tag' SP <name> LF\n" -"\t'from' SP <commit-ish> LF\n" -"\t'tagger' (SP <name>)? SP LT <email> GT SP <when> LF\n" -"\tdata\n" +"If you have an unfortunate branch that is named `hello.c`, this step would " +"be confused as an instruction to switch to that branch. You should instead " +"write:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:756 -msgid "where `<name>` is the name of the tag to create." -msgstr "" +#. type: delimited block - +#: en/git-checkout.txt:470 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git checkout -- hello.c\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-fast-import.txt:761 +#: en/git-checkout.txt:474 msgid "" -"Tag names are automatically prefixed with `refs/tags/` when stored in Git, " -"so importing the CVS branch symbol `RELENG-1_0-FINAL` would use just " -"`RELENG-1_0-FINAL` for `<name>`, and fast-import will write the " -"corresponding ref as `refs/tags/RELENG-1_0-FINAL`." +"After working in the wrong branch, switching to the correct branch would be " +"done using:" msgstr "" +#. type: delimited block - +#: en/git-checkout.txt:477 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git checkout mytopic\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-fast-import.txt:765 +#: en/git-checkout.txt:482 msgid "" -"The value of `<name>` must be a valid refname in Git and therefore may " -"contain forward slashes. As `LF` is not valid in a Git refname, no quoting " -"or escaping syntax is supported here." +"However, your \"wrong\" branch and correct \"mytopic\" branch may differ in " +"files that you have modified locally, in which case the above checkout would " +"fail like this:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:768 +#. type: delimited block - +#: en/git-checkout.txt:486 +#, no-wrap msgid "" -"The `from` command is the same as in the `commit` command; see above for " -"details." +"$ git checkout mytopic\n" +"error: You have local changes to 'frotz'; not switching branches.\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:771 +#: en/git-checkout.txt:490 msgid "" -"The `tagger` command uses the same format as `committer` within `commit`; " -"again see above for details." +"You can give the `-m` flag to the command, which would try a three-way merge:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:777 +#. type: delimited block - +#: en/git-checkout.txt:494 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" msgid "" -"The `data` command following `tagger` must supply the annotated tag message " -"(see below for `data` command syntax). To import an empty tag message use a " -"0 length data. Tag messages are free-form and are not interpreted by Git. " -"Currently they must be encoded in UTF-8, as fast-import does not permit " -"other encodings to be specified." -msgstr "" +"$ git checkout -m mytopic\n" +"Auto-merging frotz\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-fast-import.txt:785 +#: en/git-checkout.txt:499 msgid "" -"Signing annotated tags during import from within fast-import is not " -"supported. Trying to include your own PGP/GPG signature is not recommended, " -"as the frontend does not (easily) have access to the complete set of bytes " -"which normally goes into such a signature. If signing is required, create " -"lightweight tags from within fast-import with `reset`, then create the " -"annotated versions of those tags offline with the standard 'git tag' process." +"After this three-way merge, the local modifications are _not_ registered in " +"your index file, so `git diff` would show you what changes you made since " +"the tip of the new branch." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:792 +#: en/git-checkout.txt:502 msgid "" -"Creates (or recreates) the named branch, optionally starting from a specific " -"revision. The reset command allows a frontend to issue a new `from` command " -"for an existing branch, or to create a new branch from an existing commit " -"without creating a new commit." +"When a merge conflict happens during switching branches with the `-m` " +"option, you would see something like this:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:797 +#. type: delimited block - +#: en/git-checkout.txt:508 #, no-wrap msgid "" -"\t'reset' SP <ref> LF\n" -"\t('from' SP <commit-ish> LF)?\n" -"\tLF?\n" +"$ git checkout -m mytopic\n" +"Auto-merging frotz\n" +"ERROR: Merge conflict in frotz\n" +"fatal: merge program failed\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:801 +#: en/git-checkout.txt:514 msgid "" -"For a detailed description of `<ref>` and `<commit-ish>` see above under " -"`commit` and `from`." +"At this point, `git diff` shows the changes cleanly merged as in the " +"previous example, as well as the changes in the conflicted files. Edit and " +"resolve the conflict and mark it resolved with `git add` as usual:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:806 +#. type: delimited block - +#: en/git-checkout.txt:518 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" msgid "" -"The `reset` command can also be used to create lightweight (non-annotated) " -"tags. For example:" -msgstr "" +"$ edit frotz\n" +"$ git add frotz\n" +msgstr "$ git commit\n" -#. type: delimited block = -#: en/git-fast-import.txt:810 +#. type: Title = +#: en/git-check-ref-format.txt:2 #, no-wrap -msgid "" -"\treset refs/tags/938\n" -"\tfrom :938\n" -msgstr "" +msgid "git-check-ref-format(1)" +msgstr "git-check-ref-format(1)" #. type: Plain text -#: en/git-fast-import.txt:814 -msgid "" -"would create the lightweight tag `refs/tags/938` referring to whatever " -"commit mark `:938` references." +#: en/git-check-ref-format.txt:7 +msgid "git-check-ref-format - Ensures that a reference name is well formed" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:821 +#: en/git-check-ref-format.txt:15 +#, no-wrap msgid "" -"Requests writing one file revision to the packfile. The revision is not " -"connected to any commit; this connection must be formed in a subsequent " -"`commit` command by referencing the blob through an assigned mark." +"'git check-ref-format' [--normalize]\n" +" [--[no-]allow-onelevel] [--refspec-pattern]\n" +" <refname>\n" +"'git check-ref-format' --branch <branchname-shorthand>\n" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:826 -#, no-wrap +#. type: Plain text +#: en/git-check-ref-format.txt:20 msgid "" -"\t'blob' LF\n" -"\tmark?\n" -"\tdata\n" +"Checks if a given 'refname' is acceptable, and exits with a non-zero status " +"if it is not." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:832 +#: en/git-check-ref-format.txt:27 msgid "" -"The mark command is optional here as some frontends have chosen to generate " -"the Git SHA-1 for the blob on their own, and feed that directly to " -"`commit`. This is typically more work than it's worth however, as marks are " -"inexpensive to store and easy to use." +"A reference is used in Git to specify branches and tags. A branch head is " +"stored in the `refs/heads` hierarchy, while a tag is stored in the `refs/" +"tags` hierarchy of the ref namespace (typically in `$GIT_DIR/refs/heads` and " +"`$GIT_DIR/refs/tags` directories or, as entries in file `$GIT_DIR/packed-" +"refs` if refs are packed by `git gc`)." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:834 -#, no-wrap -msgid "`data`" +#. type: Plain text +#: en/git-check-ref-format.txt:29 +msgid "Git imposes the following rules on how references are named:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:841 +#: en/git-check-ref-format.txt:33 msgid "" -"Supplies raw data (for use as blob/file content, commit messages, or " -"annotated tag messages) to fast-import. Data can be supplied using an exact " -"byte count or delimited with a terminating line. Real frontends intended " -"for production-quality conversions should always use the exact byte count " -"format, as it is more robust and performs better. The delimited format is " -"intended primarily for testing fast-import." +"They can include slash `/` for hierarchical (directory) grouping, but no " +"slash-separated component can begin with a dot `.` or end with the sequence " +"`.lock`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:846 +#: en/git-check-ref-format.txt:38 msgid "" -"Comment lines appearing within the `<raw>` part of `data` commands are " -"always taken to be part of the body of the data and are therefore never " -"ignored by fast-import. This makes it safe to import any file/message " -"content whose lines might start with `#`." -msgstr "" - -#. type: Labeled list -#: en/git-fast-import.txt:847 -#, no-wrap -msgid "Exact byte count format" +"They must contain at least one `/`. This enforces the presence of a category " +"like `heads/`, `tags/` etc. but the actual names are not restricted. If the " +"`--allow-onelevel` option is used, this rule is waived." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:849 -msgid "The frontend must specify the number of bytes of data." +#: en/git-check-ref-format.txt:40 +msgid "They cannot have two consecutive dots `..` anywhere." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:853 -#, no-wrap +#. type: Plain text +#: en/git-check-ref-format.txt:44 msgid "" -"\t'data' SP <count> LF\n" -"\t<raw> LF?\n" +"They cannot have ASCII control characters (i.e. bytes whose values are lower " +"than \\040, or \\177 `DEL`), space, tilde `~`, caret `^`, or colon `:` " +"anywhere." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:859 +#: en/git-check-ref-format.txt:48 msgid "" -"where `<count>` is the exact number of bytes appearing within `<raw>`. The " -"value of `<count>` is expressed as an ASCII decimal integer. The `LF` on " -"either side of `<raw>` is not included in `<count>` and will not be included " -"in the imported data." +"They cannot have question-mark `?`, asterisk `*`, or open bracket `[` " +"anywhere. See the `--refspec-pattern` option below for an exception to this " +"rule." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:864 +#: en/git-check-ref-format.txt:52 msgid "" -"The `LF` after `<raw>` is optional (it used to be required) but " -"recommended. Always including it makes debugging a fast-import stream " -"easier as the next command always starts in column 0 of the next line, even " -"if `<raw>` did not end with an `LF`." +"They cannot begin or end with a slash `/` or contain multiple consecutive " +"slashes (see the `--normalize` option below for an exception to this rule)" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:865 -#, fuzzy, no-wrap -#| msgid "Git internal format" -msgid "Delimited format" -msgstr "Format interne de Git" - #. type: Plain text -#: en/git-fast-import.txt:870 -msgid "" -"A delimiter string is used to mark the end of the data. fast-import will " -"compute the length by searching for the delimiter. This format is primarily " -"useful for testing and is not recommended for real data." +#: en/git-check-ref-format.txt:54 +msgid "They cannot end with a dot `.`." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:876 -#, no-wrap -msgid "" -"\t'data' SP '<<' <delim> LF\n" -"\t<raw> LF\n" -"\t<delim> LF\n" -"\tLF?\n" +#. type: Plain text +#: en/git-check-ref-format.txt:56 +msgid "They cannot contain a sequence `@{`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:884 -msgid "" -"where `<delim>` is the chosen delimiter string. The string `<delim>` must " -"not appear on a line by itself within `<raw>`, as otherwise fast-import will " -"think the data ends earlier than it really does. The `LF` immediately " -"trailing `<raw>` is part of `<raw>`. This is one of the limitations of the " -"delimited format, it is impossible to supply a data chunk which does not " -"have an LF as its last byte." +#: en/git-check-ref-format.txt:58 +msgid "They cannot be the single character `@`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:886 -msgid "The `LF` after `<delim> LF` is optional (it used to be required)." +#: en/git-check-ref-format.txt:60 +msgid "They cannot contain a `\\`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:891 +#: en/git-check-ref-format.txt:65 msgid "" -"Forces fast-import to close the current packfile, start a new one, and to " -"save out all current branch refs, tags and marks." +"These rules make it easy for shell script based tools to parse reference " +"names, pathname expansion by the shell when a reference name is used " +"unquoted (by mistake), and also avoid ambiguities in certain reference name " +"expressions (see linkgit:gitrevisions[7]):" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:895 -#, no-wrap +#. type: Plain text +#: en/git-check-ref-format.txt:69 msgid "" -"\t'checkpoint' LF\n" -"\tLF?\n" +"A double-dot `..` is often used as in `ref1..ref2`, and in some contexts " +"this notation means `^ref1 ref2` (i.e. not in `ref1` and in `ref2`)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:901 +#: en/git-check-ref-format.txt:72 msgid "" -"Note that fast-import automatically switches packfiles when the current " -"packfile reaches --max-pack-size, or 4 GiB, whichever limit is smaller. " -"During an automatic packfile switch fast-import does not update the branch " -"refs, tags or marks." +"A tilde `~` and caret `^` are used to introduce the postfix 'nth parent' and " +"'peel onion' operation." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:906 +#: en/git-check-ref-format.txt:77 msgid "" -"As a `checkpoint` can require a significant amount of CPU time and disk IO " -"(to compute the overall pack SHA-1 checksum, generate the corresponding " -"index file, and update the refs) it can easily take several minutes for a " -"single `checkpoint` command to complete." +"A colon `:` is used as in `srcref:dstref` to mean \"use srcref\\'s value and " +"store it in dstref\" in fetch and push operations. It may also be used to " +"select a specific object such as with 'git cat-file': \"git cat-file blob " +"v1.3.3:refs.c\"." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:912 -msgid "" -"Frontends may choose to issue checkpoints during extremely large and long " -"running imports, or when they need to allow another Git process access to a " -"branch. However given that a 30 GiB Subversion repository can be loaded " -"into Git through fast-import in about 3 hours, explicit checkpointing may " -"not be necessary." +#: en/git-check-ref-format.txt:79 +msgid "at-open-brace `@{` is used as a notation to access a reflog entry." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:921 +#: en/git-check-ref-format.txt:85 msgid "" -"Causes fast-import to print the entire `progress` line unmodified to its " -"standard output channel (file descriptor 1) when the command is processed " -"from the input stream. The command otherwise has no impact on the current " -"import, or on any of fast-import's internal state." +"With the `--branch` option, it expands the ``previous branch syntax'' `@{-n}" +"`. For example, `@{-1}` is a way to refer the last branch you were on. " +"This option should be used by porcelains to accept this syntax anywhere a " +"branch name is expected, so they can act as if you typed the branch name." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:925 +#. type: Labeled list +#: en/git-check-ref-format.txt:88 #, no-wrap -msgid "" -"\t'progress' SP <any> LF\n" -"\tLF?\n" +msgid "--[no-]allow-onelevel" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:931 +#: en/git-check-ref-format.txt:92 msgid "" -"The `<any>` part of the command may contain any sequence of bytes that does " -"not contain `LF`. The `LF` after the command is optional. Callers may wish " -"to process the output through a tool such as sed to remove the leading part " -"of the line, for example:" +"Controls whether one-level refnames are accepted (i.e., refnames that do not " +"contain multiple `/`-separated components). The default is `--no-allow-" +"onelevel`." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:934 +#. type: Labeled list +#: en/git-check-ref-format.txt:93 #, no-wrap -msgid "\tfrontend | git fast-import | sed 's/^progress //'\n" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:939 -msgid "" -"Placing a `progress` command immediately after a `checkpoint` will inform " -"the reader when the `checkpoint` has been completed and it can safely access " -"the refs that fast-import updated." +msgid "--refspec-pattern" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:947 +#: en/git-check-ref-format.txt:99 msgid "" -"Causes fast-import to print the SHA-1 corresponding to a mark to stdout or " -"to the file descriptor previously arranged with the `--cat-blob-fd` " -"argument. The command otherwise has no impact on the current import; its " -"purpose is to retrieve SHA-1s that later commits might want to refer to in " -"their commit messages." +"Interpret <refname> as a reference name pattern for a refspec (as used with " +"remote repositories). If this option is enabled, <refname> is allowed to " +"contain a single `*` in the refspec (e.g., `foo/bar*/baz` or `foo/bar*baz/` " +"but not `foo/bar*/baz*`)." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:950 +#. type: Labeled list +#: en/git-check-ref-format.txt:100 #, no-wrap -msgid "\t'get-mark' SP ':' <idnum> LF\n" +msgid "--normalize" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:955 +#: en/git-check-ref-format.txt:107 msgid "" -"This command can be used anywhere in the stream that comments are accepted. " -"In particular, the `get-mark` command can be used in the middle of a commit " -"but not in the middle of a `data` command." +"Normalize 'refname' by removing any leading slash (`/`) characters and " +"collapsing runs of adjacent slashes between name components into a single " +"slash. If the normalized refname is valid then print it to standard output " +"and exit with a status of 0, otherwise exit with a non-zero status. (`--" +"print` is a deprecated way to spell `--normalize`.)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:958 en/git-fast-import.txt:988 -#: en/git-fast-import.txt:1041 -msgid "" -"See ``Responses To Commands'' below for details about how to read this " -"output safely." +#: en/git-check-ref-format.txt:113 +msgid "Print the name of the previous branch:" msgstr "" +#. type: delimited block - +#: en/git-check-ref-format.txt:116 +#, no-wrap +msgid "$ git check-ref-format --branch @{-1}\n" +msgstr "$ git check-ref-format --branch @{-1}\n" + #. type: Plain text -#: en/git-fast-import.txt:966 -msgid "" -"Causes fast-import to print a blob to a file descriptor previously arranged " -"with the `--cat-blob-fd` argument. The command otherwise has no impact on " -"the current import; its main purpose is to retrieve blobs that may be in " -"fast-import's memory but not accessible from the target repository." +#: en/git-check-ref-format.txt:119 +msgid "Determine the reference name to use for a new branch:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:969 +#. type: delimited block - +#: en/git-check-ref-format.txt:123 #, no-wrap -msgid "\t'cat-blob' SP <dataref> LF\n" +msgid "" +"$ ref=$(git check-ref-format --normalize \"refs/heads/$newbranch\")||\n" +"{ echo \"we do not like '$newbranch' as a branch name.\" >&2 ; exit 1 ; }\n" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:974 -msgid "" -"The `<dataref>` can be either a mark reference (`:<idnum>`) set previously " -"or a full 40-byte SHA-1 of a Git blob, preexisting or ready to be written." +#. type: Title = +#: en/git-cherry-pick.txt:2 +#, no-wrap +msgid "git-cherry-pick(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:976 -msgid "Output uses the same format as `git cat-file --batch`:" +#: en/git-cherry-pick.txt:7 +msgid "git-cherry-pick - Apply the changes introduced by some existing commits" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:980 +#. type: Plain text +#: en/git-cherry-pick.txt:16 #, no-wrap msgid "" -"\t<sha1> SP 'blob' SP <size> LF\n" -"\t<contents> LF\n" +"'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]\n" +"\t\t [-S[<keyid>]] <commit>...\n" +"'git cherry-pick' --continue\n" +"'git cherry-pick' --quit\n" +"'git cherry-pick' --abort\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:985 +#: en/git-cherry-pick.txt:23 msgid "" -"This command can be used anywhere in the stream that comments are accepted. " -"In particular, the `cat-blob` command can be used in the middle of a commit " -"but not in the middle of a `data` command." +"Given one or more existing commits, apply the change each one introduces, " +"recording a new commit for each. This requires your working tree to be " +"clean (no modifications from the HEAD commit)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:996 -msgid "" -"Prints information about the object at a path to a file descriptor " -"previously arranged with the `--cat-blob-fd` argument. This allows printing " -"a blob from the active commit (with `cat-blob`) or copying a blob or tree " -"from a previous commit for use in the current one (with `filemodify`)." +#: en/git-cherry-pick.txt:26 +msgid "When it is not obvious how to apply a change, the following happens:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:999 +#: en/git-cherry-pick.txt:29 msgid "" -"The `ls` command can be used anywhere in the stream that comments are " -"accepted, including the middle of a commit." -msgstr "" - -#. type: Labeled list -#: en/git-fast-import.txt:1000 -#, no-wrap -msgid "Reading from the active commit" +"The current branch and `HEAD` pointer stay at the last commit successfully " +"made." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1004 +#: en/git-cherry-pick.txt:31 msgid "" -"This form can only be used in the middle of a `commit`. The path names a " -"directory entry within fast-import's active commit. The path must be quoted " -"in this case." -msgstr "" - -#. type: delimited block . -#: en/git-fast-import.txt:1007 -#, no-wrap -msgid "\t'ls' SP <path> LF\n" -msgstr "" - -#. type: Labeled list -#: en/git-fast-import.txt:1009 -#, no-wrap -msgid "Reading from a named tree" +"The `CHERRY_PICK_HEAD` ref is set to point at the commit that introduced the " +"change that is difficult to apply." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1015 +#: en/git-cherry-pick.txt:33 msgid "" -"The `<dataref>` can be a mark reference (`:<idnum>`) or the full 40-byte " -"SHA-1 of a Git tag, commit, or tree object, preexisting or waiting to be " -"written. The path is relative to the top level of the tree named by " -"`<dataref>`." +"Paths in which the change applied cleanly are updated both in the index file " +"and in your working tree." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:1018 -#, no-wrap -msgid "\t'ls' SP <dataref> SP <path> LF\n" +#. type: Plain text +#: en/git-cherry-pick.txt:38 +msgid "" +"For conflicting paths, the index file records up to three versions, as " +"described in the \"TRUE MERGE\" section of linkgit:git-merge[1]. The " +"working tree files will include a description of the conflict bracketed by " +"the usual conflict markers `<<<<<<<` and `>>>>>>>`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1021 -msgid "See `filemodify` above for a detailed description of `<path>`." +#: en/git-cherry-pick.txt:39 +msgid "No other modifications are made." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1023 -msgid "Output uses the same format as `git ls-tree <tree> -- <path>`:" +#: en/git-cherry-pick.txt:42 +msgid "See linkgit:git-merge[1] for some hints on resolving such conflicts." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1026 +#. type: Labeled list +#: en/git-cherry-pick.txt:45 en/git-merge.txt:110 en/git-revert.txt:35 +#: en/git-verify-commit.txt:27 #, no-wrap -msgid "\t<mode> SP ('blob' | 'tree' | 'commit') SP <dataref> HT <path> LF\n" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:1031 -msgid "" -"The <dataref> represents the blob, tree, or commit object at <path> and can " -"be used in later 'get-mark', 'cat-blob', 'filemodify', or 'ls' commands." -msgstr "" +msgid "<commit>..." +msgstr "<commit>..." #. type: Plain text -#: en/git-fast-import.txt:1034 +#: en/git-cherry-pick.txt:54 msgid "" -"If there is no file or subtree at that path, 'git fast-import' will instead " -"report" -msgstr "" - -#. type: delimited block = -#: en/git-fast-import.txt:1037 -#, no-wrap -msgid "\tmissing SP <path> LF\n" +"Commits to cherry-pick. For a more complete list of ways to spell commits, " +"see linkgit:gitrevisions[7]. Sets of commits can be passed but no traversal " +"is done by default, as if the `--no-walk` option was specified, see linkgit:" +"git-rev-list[1]. Note that specifying a range will feed all <commit>... " +"arguments to a single revision walk (see a later example that uses 'maint " +"master..next')." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1046 +#: en/git-cherry-pick.txt:59 msgid "" -"Require that fast-import supports the specified feature, or abort if it does " -"not." +"With this option, 'git cherry-pick' will let you edit the commit message " +"prior to committing." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:1049 +#. type: Labeled list +#: en/git-cherry-pick.txt:60 en/git-clean.txt:62 #, no-wrap -msgid "\t'feature' SP <feature> ('=' <argument>)? LF\n" +msgid "-x" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1052 -msgid "The <feature> part of the command may be any one of the following:" +#: en/git-cherry-pick.txt:73 +msgid "" +"When recording the commit, append a line that says \"(cherry picked from " +"commit ...)\" to the original commit message in order to indicate which " +"commit this change was cherry-picked from. This is done only for cherry " +"picks without conflicts. Do not use this option if you are cherry-picking " +"from your private branch because the information is useless to the " +"recipient. If on the other hand you are cherry-picking between two publicly " +"visible branches (e.g. backporting a fix to a maintenance branch for an " +"older release from a development branch), adding this information can be " +"useful." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1053 en/git-fast-import.txt:1120 -#, no-wrap -msgid "date-format" +#: en/git-cherry-pick.txt:78 +msgid "" +"It used to be that the command defaulted to do `-x` described above, and `-" +"r` was to disable it. Now the default is not to do `-x` so this option is a " +"no-op." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1054 en/git-fast-import.txt:1122 +#. type: Labeled list +#: en/git-cherry-pick.txt:79 en/git-revert.txt:49 #, no-wrap -msgid "export-marks" +msgid "-m parent-number" msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1055 +#: en/git-cherry-pick.txt:80 en/git-revert.txt:50 #, no-wrap -msgid "relative-marks" +msgid "--mainline parent-number" +msgstr "" + +#. type: Plain text +#: en/git-cherry-pick.txt:86 +msgid "" +"Usually you cannot cherry-pick a merge because you do not know which side of " +"the merge should be considered the mainline. This option specifies the " +"parent number (starting from 1) of the mainline and allows cherry-pick to " +"replay the change relative to the specified parent." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1056 +#: en/git-cherry-pick.txt:88 en/git-revert.txt:70 en/merge-options.txt:2 #, no-wrap -msgid "no-relative-marks" -msgstr "" +msgid "--no-commit" +msgstr "--no-commit" #. type: Plain text -#: en/git-fast-import.txt:1057 en/git-fast-import.txt:1124 -#, no-wrap -msgid "force" +#: en/git-cherry-pick.txt:96 +msgid "" +"Usually the command automatically creates a sequence of commits. This flag " +"applies the changes necessary to cherry-pick each named commit to your " +"working tree and the index, without making any commit. In addition, when " +"this option is used, your index does not have to match the HEAD commit. The " +"cherry-pick is done against the beginning state of your index." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1061 +#: en/git-cherry-pick.txt:99 msgid "" -"Act as though the corresponding command-line option with a leading `--` was " -"passed on the command line (see OPTIONS, above)." +"This is useful when cherry-picking more than one commits' effect to your " +"index in a row." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1062 en/git-fast-import.txt:1121 -#, no-wrap -msgid "import-marks" +#: en/git-cherry-pick.txt:104 en/git-revert.txt:93 +msgid "" +"Add Signed-off-by line at the end of the commit message. See the signoff " +"option in linkgit:git-commit[1] for more information." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1063 +#: en/git-cherry-pick.txt:111 en/merge-options.txt:30 #, no-wrap -msgid "import-marks-if-exists" +msgid "--ff" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1071 +#: en/git-cherry-pick.txt:115 msgid "" -"Like --import-marks except in two respects: first, only one \"feature import-" -"marks\" or \"feature import-marks-if-exists\" command is allowed per stream; " -"second, an --import-marks= or --import-marks-if-exists command-line option " -"overrides any of these \"feature\" commands in the stream; third, \"feature " -"import-marks-if-exists\" like a corresponding command-line option silently " -"skips a nonexistent file." +"If the current HEAD is the same as the parent of the cherry-pick'ed commit, " +"then a fast forward to this commit will be performed." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1072 +#: en/git-cherry-pick.txt:116 en/git-commit.txt:173 en/git-notes.txt:158 #, no-wrap -msgid "get-mark" +msgid "--allow-empty" +msgstr "--allow-empty" + +#. type: Plain text +#: en/git-cherry-pick.txt:128 +msgid "" +"By default, cherry-picking an empty commit will fail, indicating that an " +"explicit invocation of `git commit --allow-empty` is required. This option " +"overrides that behavior, allowing empty commits to be preserved " +"automatically in a cherry-pick. Note that when \"--ff\" is in effect, empty " +"commits that meet the \"fast-forward\" requirement will be kept even without " +"this option. Note also, that use of this option only keeps commits that " +"were initially empty (i.e. the commit recorded the same tree as its " +"parent). Commits which are made empty due to a previous commit are " +"dropped. To force the inclusion of those commits use `--keep-redundant-" +"commits`." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1073 +#: en/git-cherry-pick.txt:129 en/git-commit.txt:179 #, no-wrap -msgid "cat-blob" +msgid "--allow-empty-message" +msgstr "--allow-empty-message" + +#. type: Plain text +#: en/git-cherry-pick.txt:133 +msgid "" +"By default, cherry-picking a commit with an empty message will fail. This " +"option overrides that behavior, allowing commits with empty messages to be " +"cherry picked." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1074 +#: en/git-cherry-pick.txt:134 #, no-wrap -msgid "ls" +msgid "--keep-redundant-commits" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1082 +#: en/git-cherry-pick.txt:140 msgid "" -"Require that the backend support the 'get-mark', 'cat-blob', or 'ls' command " -"respectively. Versions of fast-import not supporting the specified command " -"will exit with a message indicating so. This lets the import error out " -"early with a clear message, rather than wasting time on the early part of an " -"import before the unsupported command is detected." +"If a commit being cherry picked duplicates a commit already in the current " +"history, it will become empty. By default these redundant commits cause " +"`cherry-pick` to stop so the user can examine the commit. This option " +"overrides that behavior and creates an empty commit object. Implies `--" +"allow-empty`." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1083 +#: en/git-cherry-pick.txt:141 en/git-notes.txt:184 en/git-rebase.txt:283 +#: en/git-revert.txt:94 en/git-svn.txt:640 en/merge-options.txt:78 #, no-wrap -msgid "notes" +msgid "--strategy=<strategy>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1088 +#: en/git-cherry-pick.txt:145 en/git-revert.txt:98 msgid "" -"Require that the backend support the 'notemodify' (N) subcommand to the " -"'commit' command. Versions of fast-import not supporting notes will exit " -"with a message indicating so." +"Use the given merge strategy. Should only be used once. See the MERGE " +"STRATEGIES section in linkgit:git-merge[1] for details." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1089 +#: en/git-cherry-pick.txt:146 en/git-revert.txt:99 +#, fuzzy, no-wrap +#| msgid "status" +msgid "-X<option>" +msgstr "status" + +#. type: Labeled list +#: en/git-cherry-pick.txt:147 en/git-revert.txt:100 en/merge-options.txt:86 #, no-wrap -msgid "done" +msgid "--strategy-option=<option>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1096 +#: en/git-cherry-pick.txt:150 en/git-revert.txt:103 msgid "" -"Error out if the stream ends without a 'done' command. Without this " -"feature, errors causing the frontend to end abruptly at a convenient point " -"in the stream can go undetected. This may occur, for example, if an import " -"front end dies in mid-operation without emitting SIGTERM or SIGKILL at its " -"subordinate git fast-import instance." +"Pass the merge strategy-specific option through to the merge strategy. See " +"linkgit:git-merge[1] for details." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1103 -msgid "" -"Processes the specified option so that git fast-import behaves in a way that " -"suits the frontend's needs. Note that options specified by the frontend are " -"overridden by any options the user may specify to git fast-import itself." +#. type: Title - +#: en/git-cherry-pick.txt:152 en/git-revert.txt:105 +#, no-wrap +msgid "SEQUENCER SUBCOMMANDS" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:1106 +#. type: Labeled list +#: en/git-cherry-pick.txt:157 #, no-wrap -msgid " 'option' SP <option> LF\n" +msgid "`git cherry-pick master`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1111 +#: en/git-cherry-pick.txt:161 msgid "" -"The `<option>` part of the command may contain any of the options listed in " -"the OPTIONS section that do not change import semantics, without the leading " -"`--` and is treated in the same way." +"Apply the change introduced by the commit at the tip of the master branch " +"and create a new commit with this change." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1115 -msgid "" -"Option commands must be the first commands on the input (not counting " -"feature commands), to give an option command after any non-option command is " -"an error." +#. type: Labeled list +#: en/git-cherry-pick.txt:162 +#, no-wrap +msgid "`git cherry-pick ..master`" +msgstr "" + +#. type: Labeled list +#: en/git-cherry-pick.txt:163 +#, no-wrap +msgid "`git cherry-pick ^HEAD master`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1118 +#: en/git-cherry-pick.txt:167 msgid "" -"The following command-line options change import semantics and may therefore " -"not be passed as option:" +"Apply the changes introduced by all commits that are ancestors of master but " +"not of HEAD to produce new commits." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1123 -msgid "cat-blob-fd" +#. type: Labeled list +#: en/git-cherry-pick.txt:168 +#, no-wrap +msgid "`git cherry-pick maint next ^master`" +msgstr "" + +#. type: Labeled list +#: en/git-cherry-pick.txt:169 +#, no-wrap +msgid "`git cherry-pick maint master..next`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1129 +#: en/git-cherry-pick.txt:176 msgid "" -"If the `done` feature is not in use, treated as if EOF was read. This can " -"be used to tell fast-import to finish early." +"Apply the changes introduced by all commits that are ancestors of maint or " +"next, but not master or any of its ancestors. Note that the latter does not " +"mean `maint` and everything between `master` and `next`; specifically, " +"`maint` will not be used if it is included in `master`." +msgstr "" + +#. type: Labeled list +#: en/git-cherry-pick.txt:177 +#, no-wrap +msgid "`git cherry-pick master~4 master~2`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1133 +#: en/git-cherry-pick.txt:182 msgid "" -"If the `--done` command-line option or `feature done` command is in use, the " -"`done` command is mandatory and marks the end of the stream." +"Apply the changes introduced by the fifth and third last commits pointed to " +"by master and create 2 new commits with these changes." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1135 +#. type: Labeled list +#: en/git-cherry-pick.txt:183 #, no-wrap -msgid "Responses To Commands" +msgid "`git cherry-pick -n master~1 next`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1142 +#: en/git-cherry-pick.txt:189 msgid "" -"New objects written by fast-import are not available immediately. Most fast-" -"import commands have no visible effect until the next checkpoint (or " -"completion). The frontend can send commands to fill fast-import's input " -"pipe without worrying about how quickly they will take effect, which " -"improves performance by simplifying scheduling." +"Apply to the working tree and the index the changes introduced by the second " +"last commit pointed to by master and by the last commit pointed to by next, " +"but do not create any commit with these changes." +msgstr "" + +#. type: Labeled list +#: en/git-cherry-pick.txt:190 +#, no-wrap +msgid "`git cherry-pick --ff ..next`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1149 +#: en/git-cherry-pick.txt:197 msgid "" -"For some frontends, though, it is useful to be able to read back data from " -"the current repository as it is being updated (for example when the source " -"material describes objects in terms of patches to be applied to previously " -"imported objects). This can be accomplished by connecting the frontend and " -"fast-import via bidirectional pipes:" +"If history is linear and HEAD is an ancestor of next, update the working " +"tree and advance the HEAD pointer to match next. Otherwise, apply the " +"changes introduced by those commits that are in next but not HEAD to the " +"current branch, creating a new commit for each new change." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1154 +#. type: Labeled list +#: en/git-cherry-pick.txt:198 #, no-wrap -msgid "" -"\tmkfifo fast-import-output\n" -"\tfrontend <fast-import-output |\n" -"\tgit fast-import >fast-import-output\n" +msgid "`git rev-list --reverse master -- README | git cherry-pick -n --stdin`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1158 +#: en/git-cherry-pick.txt:204 msgid "" -"A frontend set up this way can use `progress`, `get-mark`, `ls`, and `cat-" -"blob` commands to read information from the import in progress." +"Apply the changes introduced by all commits on the master branch that " +"touched README to the working tree and index, so the result can be inspected " +"and made into a single new commit if suitable." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1162 +#: en/git-cherry-pick.txt:208 msgid "" -"To avoid deadlock, such frontends must completely consume any pending output " -"from `progress`, `ls`, `get-mark`, and `cat-blob` before performing writes " -"to fast-import that might block." +"The following sequence attempts to backport a patch, bails out because the " +"code the patch applies to has changed too much, and then tries again, this " +"time exercising more care about matching up context lines." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1164 +#. type: delimited block - +#: en/git-cherry-pick.txt:214 #, no-wrap -msgid "Crash Reports" +msgid "" +"$ git cherry-pick topic^ <1>\n" +"$ git diff <2>\n" +"$ git reset --merge ORIG_HEAD <3>\n" +"$ git cherry-pick -Xpatience topic^ <4>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1170 +#: en/git-cherry-pick.txt:219 msgid "" -"If fast-import is supplied invalid input it will terminate with a non-zero " -"exit status and create a crash report in the top level of the Git repository " -"it was importing into. Crash reports contain a snapshot of the internal " -"fast-import state as well as the most recent commands that lead up to the " -"crash." +"apply the change that would be shown by `git show topic^`. In this example, " +"the patch does not apply cleanly, so information about the conflict is " +"written to the index and working tree and no new commit results." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1177 -msgid "" -"All recent commands (including stream comments, file changes and progress " -"commands) are shown in the command history within the crash report, but raw " -"file data and commit messages are excluded from the crash report. This " -"exclusion saves space within the report file and reduces the amount of " -"buffering that fast-import must perform during execution." +#: en/git-cherry-pick.txt:220 +msgid "summarize changes to be reconciled" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1185 +#: en/git-cherry-pick.txt:223 msgid "" -"After writing a crash report fast-import will close the current packfile and " -"export the marks table. This allows the frontend developer to inspect the " -"repository state and resume the import from the point where it crashed. The " -"modified branches and tags are not updated during a crash, as the import did " -"not complete successfully. Branch and tag information can be found in the " -"crash report and must be applied manually if the update is needed." +"cancel the cherry-pick. In other words, return to the pre-cherry-pick " +"state, preserving any local modifications you had in the working tree." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1187 -msgid "An example crash:" -msgstr "" - -#. type: delimited block = -#: en/git-fast-import.txt:1203 -#, no-wrap +#: en/git-cherry-pick.txt:226 msgid "" -"\t$ cat >in <<END_OF_INPUT\n" -"\t# my very first test commit\n" -"\tcommit refs/heads/master\n" -"\tcommitter Shawn O. Pearce <spearce> 19283 -0400\n" -"\t# who is that guy anyway?\n" -"\tdata <<EOF\n" -"\tthis is my commit\n" -"\tEOF\n" -"\tM 644 inline .gitignore\n" -"\tdata <<EOF\n" -"\t.gitignore\n" -"\tEOF\n" -"\tM 777 inline bob\n" -"\tEND_OF_INPUT\n" +"try to apply the change introduced by `topic^` again, spending extra time to " +"avoid mistakes based on incorrectly matching context lines." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1207 +#. type: Title = +#: en/git-cherry.txt:2 #, no-wrap -msgid "" -"\t$ git fast-import <in\n" -"\tfatal: Corrupt mode: M 777 inline bob\n" -"\tfast-import: dumping crash report to .git/fast_import_crash_8434\n" -msgstr "" +msgid "git-cherry(1)" +msgstr "git-cherry(1)" -#. type: delimited block = -#: en/git-fast-import.txt:1213 -#, no-wrap -msgid "" -"\t$ cat .git/fast_import_crash_8434\n" -"\tfast-import crash report:\n" -"\t fast-import process: 8434\n" -"\t parent process : 1391\n" -"\t at Sat Sep 1 00:58:12 2007\n" +#. type: Plain text +#: en/git-cherry.txt:7 +msgid "git-cherry - Find commits yet to be applied to upstream" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1215 +#. type: Plain text +#: en/git-cherry.txt:12 #, no-wrap -msgid "\tfatal: Corrupt mode: M 777 inline bob\n" +msgid "'git cherry' [-v] [<upstream> [<head> [<limit>]]]\n" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1225 -#, no-wrap +#. type: Plain text +#: en/git-cherry.txt:17 msgid "" -"\tMost Recent Commands Before Crash\n" -"\t---------------------------------\n" -"\t # my very first test commit\n" -"\t commit refs/heads/master\n" -"\t committer Shawn O. Pearce <spearce> 19283 -0400\n" -"\t # who is that guy anyway?\n" -"\t data <<EOF\n" -"\t M 644 inline .gitignore\n" -"\t data <<EOF\n" +"Determine whether there are commits in `<head>..<upstream>` that are " +"equivalent to those in the range `<limit>..<head>`." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1226 -#, no-wrap -msgid "M 777 inline bob\n" +#. type: Plain text +#: en/git-cherry.txt:22 +msgid "" +"The equivalence test is based on the diff, after removing whitespace and " +"line numbers. git-cherry therefore detects when commits have been \"copied" +"\" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or linkgit:git-" +"rebase[1]." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1229 -#, no-wrap +#. type: Plain text +#: en/git-cherry.txt:26 msgid "" -"Active Branch LRU\n" -"-----------------\n" +"Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with `-` for " +"commits that have an equivalent in <upstream>, and `+` for commits that do " +"not." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1230 -#, no-wrap -msgid "active_branches = 1 cur, 5 max\n" +#. type: Plain text +#: en/git-cherry.txt:31 +msgid "Show the commit subjects next to the SHA1s." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1233 -msgid "pos clock name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +#. type: Labeled list +#: en/git-cherry.txt:32 en/git-rebase.txt:237 +#, no-wrap +msgid "<upstream>" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1234 -msgid "0 refs/heads/master" +#. type: Plain text +#: en/git-cherry.txt:35 +msgid "" +"Upstream branch to search for equivalent commits. Defaults to the upstream " +"branch of HEAD." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1238 +#. type: Labeled list +#: en/git-cherry.txt:36 en/git.txt:824 #, no-wrap -msgid "" -"Inactive Branches\n" -"-----------------\n" -"refs/heads/master:\n" +msgid "<head>" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1244 -#, no-wrap -msgid "" -"status : active loaded dirty\n" -"tip commit : 0000000000000000000000000000000000000000\n" -"old tree : 0000000000000000000000000000000000000000\n" -"cur tree : 0000000000000000000000000000000000000000\n" -"commit clock: 0\n" -"last pack :\n" +#. type: Plain text +#: en/git-cherry.txt:38 en/git-rebase.txt:244 +msgid "Working branch; defaults to HEAD." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1248 -msgid "------------------- END OF CRASH REPORT" +#. type: Plain text +#: en/git-cherry.txt:41 +msgid "Do not report commits up to (and including) limit." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1251 +#. type: Title ~ +#: en/git-cherry.txt:46 #, no-wrap -msgid "Tips and Tricks" +msgid "Patch workflows" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1254 +#: en/git-cherry.txt:52 msgid "" -"The following tips and tricks have been collected from various users of fast-" -"import, and are offered here as suggestions." +"git-cherry is frequently used in patch-based workflows (see linkgit:" +"gitworkflows[7]) to determine if a series of patches has been applied by the " +"upstream maintainer. In such a workflow you might create and send a topic " +"branch like this:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1256 +#. type: delimited block - +#: en/git-cherry.txt:58 #, no-wrap -msgid "Use One Mark Per Commit" +msgid "" +"$ git checkout -b topic origin/master\n" +"# work and create some commits\n" +"$ git format-patch origin/master\n" +"$ git send-email ... 00*\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1264 +#: en/git-cherry.txt:62 msgid "" -"When doing a repository conversion, use a unique mark per commit (`mark :" -"<n>`) and supply the --export-marks option on the command line. fast-import " -"will dump a file which lists every mark and the Git object SHA-1 that " -"corresponds to it. If the frontend can tie the marks back to the source " -"repository, it is easy to verify the accuracy and completeness of the import " -"by comparing each Git commit to the corresponding source revision." +"Later, you can see whether your changes have been applied by saying (still " +"on `topic`):" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1268 +#. type: delimited block - +#: en/git-cherry.txt:66 +#, no-wrap msgid "" -"Coming from a system such as Perforce or Subversion this should be quite " -"simple, as the fast-import mark can also be the Perforce changeset number or " -"the Subversion revision number." +"$ git fetch # update your notion of origin/master\n" +"$ git cherry -v\n" msgstr "" #. type: Title ~ -#: en/git-fast-import.txt:1270 +#: en/git-cherry.txt:69 #, no-wrap -msgid "Freely Skip Around Branches" +msgid "Concrete example" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1275 +#: en/git-cherry.txt:73 msgid "" -"Don't bother trying to optimize the frontend to stick to one branch at a " -"time during an import. Although doing so might be slightly faster for fast-" -"import, it tends to increase the complexity of the frontend code " -"considerably." +"In a situation where topic consisted of three commits, and the maintainer " +"applied two of them, the situation might look like:" +msgstr "" + +#. type: delimited block - +#: en/git-cherry.txt:86 +#, no-wrap +msgid "" +"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" +"* 7654321 (origin/master) upstream tip commit\n" +"[... snip some other commits ...]\n" +"* cccc111 cherry-pick of C\n" +"* aaaa111 cherry-pick of A\n" +"[... snip a lot more that has happened ...]\n" +"| * cccc000 (topic) commit C\n" +"| * bbbb000 commit B\n" +"| * aaaa000 commit A\n" +"|/\n" +"o 1234567 branch point\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1279 +#: en/git-cherry.txt:90 msgid "" -"The branch LRU builtin to fast-import tends to behave very well, and the " -"cost of activating an inactive branch is so low that bouncing around between " -"branches has virtually no impact on import performance." +"In such cases, git-cherry shows a concise summary of what has yet to be " +"applied:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1281 +#. type: delimited block - +#: en/git-cherry.txt:96 #, no-wrap -msgid "Handling Renames" +msgid "" +"$ git cherry origin/master topic\n" +"- cccc000... commit C\n" +"+ bbbb000... commit B\n" +"- aaaa000... commit A\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1286 +#: en/git-cherry.txt:102 msgid "" -"When importing a renamed file or directory, simply delete the old name(s) " -"and modify the new name(s) during the corresponding commit. Git performs " -"rename detection after-the-fact, rather than explicitly during a commit." +"Here, we see that the commits A and C (marked with `-`) can be dropped from " +"your `topic` branch when you rebase it on top of `origin/master`, while the " +"commit B (marked with `+`) still needs to be kept so that it will be sent to " +"be applied to `origin/master`." msgstr "" #. type: Title ~ -#: en/git-fast-import.txt:1288 +#: en/git-cherry.txt:105 #, no-wrap -msgid "Use Tag Fixup Branches" +msgid "Using a limit" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1292 +#: en/git-cherry.txt:110 msgid "" -"Some other SCM systems let the user create a tag from multiple files which " -"are not from the same commit/changeset. Or to create tags which are a " -"subset of the files available in the repository." +"The optional <limit> is useful in cases where your topic is based on other " +"work that is not in upstream. Expanding on the previous example, this might " +"look like:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1299 +#. type: delimited block - +#: en/git-cherry.txt:126 +#, no-wrap msgid "" -"Importing these tags as-is in Git is impossible without making at least one " -"commit which ``fixes up'' the files to match the content of the tag. Use " -"fast-import's `reset` command to reset a dummy branch outside of your normal " -"branch space to the base commit for the tag, then commit one or more file " -"fixup commits, and finally tag the dummy branch." +"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" +"* 7654321 (origin/master) upstream tip commit\n" +"[... snip some other commits ...]\n" +"* cccc111 cherry-pick of C\n" +"* aaaa111 cherry-pick of A\n" +"[... snip a lot more that has happened ...]\n" +"| * cccc000 (topic) commit C\n" +"| * bbbb000 commit B\n" +"| * aaaa000 commit A\n" +"| * 0000fff (base) unpublished stuff F\n" +"[... snip ...]\n" +"| * 0000aaa unpublished stuff A\n" +"|/\n" +"o 1234567 merge-base between upstream and topic\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1305 +#: en/git-cherry.txt:130 msgid "" -"For example since all normal branches are stored under `refs/heads/` name " -"the tag fixup branch `TAG_FIXUP`. This way it is impossible for the fixup " -"branch used by the importer to have namespace conflicts with real branches " -"imported from the source (the name `TAG_FIXUP` is not `refs/heads/" -"TAG_FIXUP`)." +"By specifying `base` as the limit, you can avoid listing commits between " +"`base` and `topic`:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1311 +#. type: delimited block - +#: en/git-cherry.txt:136 +#, no-wrap msgid "" -"When committing fixups, consider using `merge` to connect the commit(s) " -"which are supplying file revisions to the fixup branch. Doing so will allow " -"tools such as 'git blame' to track through the real commit history and " -"properly annotate the source files." +"$ git cherry origin/master topic base\n" +"- cccc000... commit C\n" +"+ bbbb000... commit B\n" +"- aaaa000... commit A\n" msgstr "" +#. type: Title = +#: en/git-citool.txt:2 +#, no-wrap +msgid "git-citool(1)" +msgstr "git-citool(1)" + #. type: Plain text -#: en/git-fast-import.txt:1314 -msgid "" -"After fast-import terminates the frontend will need to do `rm .git/" -"TAG_FIXUP` to remove the dummy branch." +#: en/git-citool.txt:7 +msgid "git-citool - Graphical alternative to git-commit" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1316 +#. type: Plain text +#: en/git-citool.txt:12 #, no-wrap -msgid "Import Now, Repack Later" -msgstr "" +msgid "'git citool'\n" +msgstr "'git citool'\n" #. type: Plain text -#: en/git-fast-import.txt:1320 +#: en/git-citool.txt:19 msgid "" -"As soon as fast-import completes the Git repository is completely valid and " -"ready for use. Typically this takes only a very short time, even for " -"considerably large projects (100,000+ commits)." +"A Tcl/Tk based graphical interface to review modified files, stage them into " +"the index, enter a commit message and record the new commit onto the current " +"branch. This interface is an alternative to the less interactive 'git " +"commit' program." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1327 +#: en/git-citool.txt:22 msgid "" -"However repacking the repository is necessary to improve data locality and " -"access performance. It can also take hours on extremely large projects " -"(especially if -f and a large --window parameter is used). Since repacking " -"is safe to run alongside readers and writers, run the repack in the " -"background and let it finish when it finishes. There is no reason to wait " -"to explore your new Git project!" +"'git citool' is actually a standard alias for `git gui citool`. See linkgit:" +"git-gui[1] for more details." msgstr "" +#. type: Title = +#: en/git-clean.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-clean(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-fast-import.txt:1332 -msgid "" -"If you choose to wait for the repack, don't try to run benchmarks or " -"performance tests until repacking is completed. fast-import outputs " -"suboptimal packfiles that are simply never seen in real use situations." +#: en/git-clean.txt:7 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "git-clean - Remove untracked files from the working tree" msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Title ~ -#: en/git-fast-import.txt:1334 +#. type: Plain text +#: en/git-clean.txt:12 #, no-wrap -msgid "Repacking Historical Data" +msgid "'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1341 +#: en/git-clean.txt:18 msgid "" -"If you are repacking very old imported data (e.g. older than the last year), " -"consider expending some extra CPU time and supplying --window=50 (or higher) " -"when you run 'git repack'. This will take longer, but will also produce a " -"smaller packfile. You only need to expend the effort once, and everyone " -"using your project will benefit from the smaller repository." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:1343 -#, no-wrap -msgid "Include Some Progress Messages" +"Cleans the working tree by recursively removing files that are not under " +"version control, starting from the current directory." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1350 +#: en/git-clean.txt:22 msgid "" -"Every once in a while have your frontend emit a `progress` message to fast-" -"import. The contents of the messages are entirely free-form, so one " -"suggestion would be to output the current month and year each time the " -"current commit date moves into the next month. Your users will feel better " -"knowing how much of the data stream has been processed." -msgstr "" - -#. type: Title - -#: en/git-fast-import.txt:1353 -#, no-wrap -msgid "Packfile Optimization" +"Normally, only files unknown to Git are removed, but if the `-x` option is " +"specified, ignored files are also removed. This can, for example, be useful " +"to remove all build products." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1359 +#: en/git-clean.txt:25 msgid "" -"When packing a blob fast-import always attempts to deltify against the last " -"blob written. Unless specifically arranged for by the frontend, this will " -"probably not be a prior version of the same file, so the generated delta " -"will not be the smallest possible. The resulting packfile will be " -"compressed, but will not be optimal." +"If any optional `<path>...` arguments are given, only those paths are " +"affected." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1367 +#: en/git-clean.txt:33 msgid "" -"Frontends which have efficient access to all revisions of a single file (for " -"example reading an RCS/CVS ,v file) can choose to supply all revisions of " -"that file as a sequence of consecutive `blob` commands. This allows fast-" -"import to deltify the different file revisions against each other, saving " -"space in the final packfile. Marks can be used to later identify individual " -"file revisions during a sequence of `commit` commands." +"Remove untracked directories in addition to untracked files. If an " +"untracked directory is managed by a different Git repository, it is not " +"removed by default. Use -f option twice if you really want to remove such a " +"directory." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1374 +#: en/git-clean.txt:41 msgid "" -"The packfile(s) created by fast-import do not encourage good disk access " -"patterns. This is caused by fast-import writing the data in the order it is " -"received on standard input, while Git typically organizes data within " -"packfiles to make the most recent (current tip) data appear before " -"historical data. Git also clusters commits together, speeding up revision " -"traversal through better cache locality." +"If the Git configuration variable clean.requireForce is not set to false, " +"'git clean' will refuse to delete files or directories unless given -f, -n " +"or -i. Git will refuse to delete directories with .git sub directory or file " +"unless a second -f is given." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1381 +#: en/git-clean.txt:46 msgid "" -"For this reason it is strongly recommended that users repack the repository " -"with `git repack -a -d` after fast-import completes, allowing Git to " -"reorganize the packfiles for faster data access. If blob deltas are " -"suboptimal (see above) then also adding the `-f` option to force " -"recomputation of all deltas can significantly reduce the final packfile size " -"(30-50% smaller can be quite typical)." +"Show what would be done and clean files interactively. See ``Interactive " +"mode'' for details." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1384 -#, no-wrap -msgid "Memory Utilization" +#. type: Plain text +#: en/git-clean.txt:50 +#, fuzzy +#| msgid "" +#| "-n::\n" +#| "--dry-run::\n" +#| "\tDon't actually add the file(s), just show if they exist and/or will\n" +#| "\tbe ignored.\n" +msgid "Don't actually remove anything, just show what would be done." msgstr "" +"-n::\n" +"--dry-run::\n" +"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" +"\tou seront ignor챕s.\n" #. type: Plain text -#: en/git-fast-import.txt:1390 +#: en/git-clean.txt:55 msgid "" -"There are a number of factors which affect how much memory fast-import " -"requires to perform an import. Like critical sections of core Git, fast-" -"import uses its own memory allocators to amortize any overheads associated " -"with malloc. In practice fast-import tends to amortize any malloc overheads " -"to 0, due to its use of large block allocations." +"Be quiet, only report errors, but not the files that are successfully " +"removed." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1392 +#. type: Labeled list +#: en/git-clean.txt:56 #, no-wrap -msgid "per object" +msgid "-e <pattern>" +msgstr "" + +#. type: Labeled list +#: en/git-clean.txt:57 en/git-ls-files.txt:84 en/git-name-rev.txt:33 +#, no-wrap +msgid "--exclude=<pattern>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1399 +#: en/git-clean.txt:61 msgid "" -"fast-import maintains an in-memory structure for every object written in " -"this execution. On a 32 bit system the structure is 32 bytes, on a 64 bit " -"system the structure is 40 bytes (due to the larger pointer sizes). Objects " -"in the table are not deallocated until fast-import terminates. Importing 2 " -"million objects on a 32 bit system will require approximately 64 MiB of " -"memory." +"In addition to those found in .gitignore (per directory) and $GIT_DIR/info/" +"exclude, also consider these patterns to be in the set of the ignore rules " +"in effect." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1405 +#: en/git-clean.txt:69 msgid "" -"The object table is actually a hashtable keyed on the object name (the " -"unique SHA-1). This storage configuration allows fast-import to reuse an " -"existing or already written object and avoid writing duplicates to the " -"output packfile. Duplicate blobs are surprisingly common in an import, " -"typically due to branch merges in the source." +"Don't use the standard ignore rules read from .gitignore (per directory) and " +"$GIT_DIR/info/exclude, but do still use the ignore rules given with `-e` " +"options. This allows removing all untracked files, including build " +"products. This can be used (possibly in conjunction with 'git reset') to " +"create a pristine working directory to test a clean build." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1407 +#. type: Labeled list +#: en/git-clean.txt:70 #, no-wrap -msgid "per mark" +msgid "-X" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1413 +#: en/git-clean.txt:73 msgid "" -"Marks are stored in a sparse array, using 1 pointer (4 bytes or 8 bytes, " -"depending on pointer size) per mark. Although the array is sparse, " -"frontends are still strongly encouraged to use marks between 1 and n, where " -"n is the total number of marks required for this import." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:1415 -#, no-wrap -msgid "per branch" +"Remove only files ignored by Git. This may be useful to rebuild everything " +"from scratch, but keep manually created files." msgstr "" +# #. type: Plain text -#: en/git-fast-import.txt:1418 +#: en/git-clean.txt:79 +#, fuzzy +#| msgid "" +#| "When the command enters the interactive mode, it shows the output of the " +#| "'status' subcommand, and then goes into its interactive command loop." msgid "" -"Branches are classified as active and inactive. The memory usage of the two " -"classes is significantly different." +"When the command enters the interactive mode, it shows the files and " +"directories to be cleaned, and goes into its interactive command loop." msgstr "" +"Quand la commande entre en mode interactif, elle affiche le r챕sultat de la " +"sous-commande 'status', puis entre en boucle de commande interactive." -#. type: Plain text -#: en/git-fast-import.txt:1424 +#. type: delimited block - +#: en/git-clean.txt:90 +#, fuzzy, no-wrap +#| msgid "" +#| " *** Commands ***\n" +#| " 1: status 2: update 3: revert 4: add untracked\n" +#| " 5: patch 6: diff 7: quit 8: help\n" +#| " What now> 1\n" msgid "" -"Inactive branches are stored in a structure which uses 96 or 120 bytes (32 " -"bit or 64 bit systems, respectively), plus the length of the branch name " -"(typically under 200 bytes), per branch. fast-import will easily handle as " -"many as 10,000 inactive branches in under 2 MiB of memory." +" *** Commands ***\n" +"\t1: clean 2: filter by pattern 3: select by numbers\n" +"\t4: ask each 5: quit 6: help\n" +" What now> 1\n" msgstr "" +" *** Commands ***\n" +" 1: status 2: update 3: revert 4: add untracked\n" +" 5: patch 6: diff 7: quit 8: help\n" +" What now> 1\n" +# #. type: Plain text -#: en/git-fast-import.txt:1431 +#: en/git-clean.txt:93 +#, fuzzy +#| msgid "" +#| "You also could say `s` or `sta` or `status` above as long as the choice " +#| "is unique." msgid "" -"Active branches have the same overhead as inactive branches, but also " -"contain copies of every tree that has been recently modified on that " -"branch. If subtree `include` has not been modified since the branch became " -"active, its contents will not be loaded into memory, but if subtree `src` " -"has been modified by a commit since the branch became active, then its " -"contents will be loaded in memory." +"You also could say `c` or `clean` above as long as the choice is unique." msgstr "" +"Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas si dessus, 횪 " +"condition que le choix soit unique." +# #. type: Plain text -#: en/git-fast-import.txt:1435 -msgid "" -"As active branches store metadata about the files contained on that branch, " -"their in-memory storage size can grow to a considerable size (see below)." +#: en/git-clean.txt:95 +#, fuzzy +#| msgid "The main command loop has 6 subcommands (plus help and quit)." +msgid "The main command loop has 6 subcommands." +msgstr "" +"La boucle de commande principale propose 6 sous-commandes (plus help (aide) " +"et quit (quitter))." + +#. type: Labeled list +#: en/git-clean.txt:96 +#, no-wrap +msgid "clean" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1440 -msgid "" -"fast-import automatically moves active branches to inactive status based on " -"a simple least-recently-used algorithm. The LRU chain is updated on each " -"`commit` command. The maximum number of active branches can be increased or " -"decreased on the command line with --active-branches=." +#: en/git-clean.txt:99 +msgid "Start cleaning files and directories, and then quit." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1442 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "per active tree" -msgstr "Mode interactif" +#. type: Labeled list +#: en/git-clean.txt:100 +#, no-wrap +msgid "filter by pattern" +msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1447 +#: en/git-clean.txt:108 msgid "" -"Trees (aka directories) use just 12 bytes of memory on top of the memory " -"required for their entries (see ``per active file'' below). The cost of a " -"tree is virtually 0, as its overhead amortizes out over the individual file " -"entries." +"This shows the files and directories to be deleted and issues an \"Input " +"ignore patterns>>\" prompt. You can input space-separated patterns to " +"exclude files and directories from deletion. E.g. \"*.c *.h\" will excludes " +"files end with \".c\" and \".h\" from deletion. When you are satisfied with " +"the filtered result, press ENTER (empty) back to the main menu." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1449 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "per active file entry" -msgstr "Mode interactif" +#. type: Labeled list +#: en/git-clean.txt:109 +#, no-wrap +msgid "select by numbers" +msgstr "" +# #. type: Plain text -#: en/git-fast-import.txt:1455 +#: en/git-clean.txt:120 +#, fuzzy +#| msgid "" +#| "This shows the status information and issues an \"Update>>\" prompt. " +#| "When the prompt ends with double '>>', you can make more than one " +#| "selection, concatenated with whitespace or comma. Also you can say " +#| "ranges. E.g. \"2-5 7,9\" to choose 2,3,4,5,7,9 from the list. If the " +#| "second number in a range is omitted, all remaining patches are taken. E." +#| "g. \"7-\" to choose 7,8,9 from the list. You can say '*' to choose " +#| "everything." msgid "" -"Files (and pointers to subtrees) within active trees require 52 or 64 bytes " -"(32/64 bit platforms) per entry. To conserve space, file and tree names are " -"pooled in a common string table, allowing the filename ``Makefile'' to use " -"just 16 bytes (after including the string header overhead) no matter how " -"many times it occurs within the project." +"This shows the files and directories to be deleted and issues an \"Select " +"items to delete>>\" prompt. When the prompt ends with double '>>' like this, " +"you can make more than one selection, concatenated with whitespace or " +"comma. Also you can say ranges. E.g. \"2-5 7,9\" to choose 2,3,4,5,7,9 " +"from the list. If the second number in a range is omitted, all remaining " +"items are selected. E.g. \"7-\" to choose 7,8,9 from the list. You can say " +"'*' to choose everything. Also when you are satisfied with the filtered " +"result, press ENTER (empty) back to the main menu." +msgstr "" +"Affiche l'information d'챕tat et un prompt \"Update>>\". Quand le prompt se " +"termine par un double '>', vous pouvez s챕lectionner plus d'une option, " +"concat챕n챕es avec des espaces ou des virgules. Vous pouvez aussi indiquer des " +"intervalles. Par exemple \"2-5 7,9\" pour choisir 2, 3, 4, 5, 7 et 9 dans " +"la liste. Si le second nombre d'un intervalle est absent, tous les patchs " +"restants sont s챕lectionn챕s. Par ex. \"7-\" choisit 7, 8 et 9 dans la liste. " +"'*' permet de tout s챕lectionner." + +#. type: Labeled list +#: en/git-clean.txt:121 +#, no-wrap +msgid "ask each" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1460 +#: en/git-clean.txt:126 msgid "" -"The active branch LRU, when coupled with the filename string pool and lazy " -"loading of subtrees, allows fast-import to efficiently import projects with " -"2,000+ branches and 45,114+ files in a very limited memory footprint (less " -"than 2.7 MiB per active branch)." +"This will start to clean, and you must confirm one by one in order to delete " +"items. Please note that this action is not as efficient as the above two " +"actions." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1462 +#. type: Labeled list +#: en/git-clean.txt:127 #, no-wrap -msgid "Signals" +msgid "quit" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1468 -msgid "" -"Sending *SIGUSR1* to the 'git fast-import' process ends the current packfile " -"early, simulating a `checkpoint` command. The impatient operator can use " -"this facility to peek at the objects and refs from an import in progress, at " -"the cost of some added running time and worse compression." +#: en/git-clean.txt:130 +msgid "This lets you quit without do cleaning." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1472 en/cmds-ancillarymanipulators.txt:4 +#: en/git-clean.txt:131 #, no-wrap -msgid "linkgit:git-fast-export[1]" +msgid "help" +msgstr "" + +#. type: Plain text +#: en/git-clean.txt:134 +msgid "Show brief usage of interactive git-clean." +msgstr "" + +#. type: Plain text +#: en/git-clean.txt:138 en/git-status.txt:356 +msgid "linkgit:gitignore[5]" msgstr "" #. type: Title = -#: en/git-fetch-pack.txt:2 +#: en/git-clone.txt:2 #, no-wrap -msgid "git-fetch-pack(1)" -msgstr "" +msgid "git-clone(1)" +msgstr "git-clone(1)" #. type: Plain text -#: en/git-fetch-pack.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-fetch-pack - Receive missing objects from another repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-clone.txt:7 +msgid "git-clone - Clone a repository into a new directory" +msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:16 +#: en/git-clone.txt:19 #, no-wrap msgid "" -"'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]\n" -"\t[--upload-pack=<git-upload-pack>]\n" -"\t[--depth=<n>] [--no-progress]\n" -"\t[-v] <repository> [<refs>...]\n" +"'git clone' [--template=<template_directory>]\n" +"\t [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]\n" +"\t [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]\n" +"\t [--dissociate] [--separate-git-dir <git dir>]\n" +"\t [--depth <depth>] [--[no-]single-branch]\n" +"\t [--recursive | --recurse-submodules] [--[no-]shallow-submodules]\n" +"\t [--jobs <n>] [--] <repository> [<directory>]\n" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:21 +#: en/git-clone.txt:28 msgid "" -"Usually you would want to use 'git fetch', which is a higher level wrapper " -"of this command, instead." +"Clones a repository into a newly created directory, creates remote-tracking " +"branches for each branch in the cloned repository (visible using `git branch " +"-r`), and creates and checks out an initial branch that is forked from the " +"cloned repository's currently active branch." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:27 +#: en/git-clone.txt:34 msgid "" -"Invokes 'git-upload-pack' on a possibly remote repository and asks it to " -"send objects missing from this repository, to update the named heads. The " -"list of commits available locally is found out by scanning the local refs/ " -"hierarchy and sent to 'git-upload-pack' running on the other end." +"After the clone, a plain `git fetch` without arguments will update all the " +"remote-tracking branches, and a `git pull` without arguments will in " +"addition merge the remote master branch into the current master branch, if " +"any (this is untrue when \"--single-branch\" is given; see below)." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:31 +#: en/git-clone.txt:39 +#, fuzzy +#| msgid "" +#| "The default can be changed by the `commit.cleanup` configuration variable " +#| "(see linkgit:git-config[1])." msgid "" -"This command degenerates to download everything to complete the asked refs " -"from the remote side when the local side does not have a common ancestor " -"commit." +"This default configuration is achieved by creating references to the remote " +"branch heads under `refs/remotes/origin` and by initializing `remote.origin." +"url` and `remote.origin.fetch` configuration variables." msgstr "" +"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " +"`commit.cleanup` (voir linkgit:git-config[1])." -#. type: Plain text -#: en/git-fetch-pack.txt:37 -msgid "Fetch all remote refs." +#. type: Labeled list +#: en/git-clone.txt:43 en/git-config.txt:127 en/git-instaweb.txt:24 +#: en/git-pack-objects.txt:127 en/git-svn.txt:229 +#, no-wrap +msgid "--local" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:43 en/git-send-pack.txt:46 +#: en/git-clone.txt:51 msgid "" -"Take the list of refs from stdin, one per line. If there are refs specified " -"on the command line in addition to this option, then the refs from stdin are " -"processed after those on the command line." +"When the repository to clone from is on a local machine, this flag bypasses " +"the normal \"Git aware\" transport mechanism and clones the repository by " +"making a copy of HEAD and everything under objects and refs directories. " +"The files under `.git/objects/` directory are hardlinked to save space when " +"possible." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:47 en/git-send-pack.txt:50 +#: en/git-clone.txt:58 msgid "" -"If `--stateless-rpc` is specified together with this option then the list of " -"refs must be in packet format (pkt-line). Each ref must be in a separate " -"packet, and the list must end with a flush packet." +"If the repository is specified as a local path (e.g., `/path/to/repo`), this " +"is the default, and --local is essentially a no-op. If the repository is " +"specified as a URL, then this flag is ignored (and we never use the local " +"optimizations). Specifying `--no-local` will override the default when `/" +"path/to/repo` is given, using the regular Git transport instead." msgstr "" -#. type: Plain text -#: en/git-fetch-pack.txt:52 -msgid "" -"Pass `-q` flag to 'git unpack-objects'; this makes the cloning process less " -"verbose." +#. type: Labeled list +#: en/git-clone.txt:59 +#, no-wrap +msgid "--no-hardlinks" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:59 +#: en/git-clone.txt:64 msgid "" -"Do not invoke 'git unpack-objects' on received data, but create a single " -"packfile out of it instead, and store it in the object database. If provided " -"twice then the pack is locked against repacking." +"Force the cloning process from a repository on a local filesystem to copy " +"the files under the `.git/objects` directory instead of using hardlinks. " +"This may be desirable if you are trying to make a back-up of your repository." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:60 en/git-pack-objects.txt:184 en/git-send-pack.txt:64 +#: en/git-clone.txt:65 #, no-wrap -msgid "--thin" +msgid "--shared" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:63 +#: en/git-clone.txt:72 msgid "" -"Fetch a \"thin\" pack, which records objects in deltified form based on " -"objects not included in the pack to reduce network traffic." +"When the repository to clone is on the local machine, instead of using hard " +"links, automatically setup `.git/objects/info/alternates` to share the " +"objects with the source repository. The resulting repository starts out " +"without any object of its own." msgstr "" -#. type: Labeled list -#: en/git-fetch-pack.txt:64 en/git-pack-objects.txt:81 +#. type: Plain text +#: en/git-clone.txt:82 #, no-wrap -msgid "--include-tag" +msgid "" +"*NOTE*: this is a possibly dangerous operation; do *not* use\n" +"it unless you understand what it does. If you clone your\n" +"repository using this option and then delete branches (or use any\n" +"other Git command that makes any existing commit unreferenced) in the\n" +"source repository, some objects may become unreferenced (or dangling).\n" +"These objects may be removed by normal Git operations (such as `git commit`)\n" +"which automatically call `git gc --auto`. (See linkgit:git-gc[1].)\n" +"If these objects are removed and were referenced by the cloned repository,\n" +"then the cloned repository will become corrupt.\n" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:69 +#: en/git-clone.txt:88 msgid "" -"If the remote side supports it, annotated tags objects will be downloaded on " -"the same connection as the other objects if the object the tag references is " -"downloaded. The caller must otherwise determine the tags this option made " -"available." +"Note that running `git repack` without the `-l` option in a repository " +"cloned with `-s` will copy objects from the source repository into a pack in " +"the cloned repository, removing the disk space savings of `clone -s`. It is " +"safe, however, to run `git gc`, which uses the `-l` option by default." +msgstr "" + +#. type: Plain text +#: en/git-clone.txt:92 +msgid "" +"If you want to break the dependency of a repository cloned with `-s` on its " +"source repository, you can simply run `git repack -a` to copy all objects " +"from the source repository into a pack in the cloned repository." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:70 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--upload-pack=<git-upload-pack>" -msgstr "git-add(1)" +#: en/git-clone.txt:93 +#, no-wrap +msgid "--reference[-if-able] <repository>" +msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:81 +#: en/git-clone.txt:103 msgid "" -"Use this to specify the path to 'git-upload-pack' on the remote side, if is " -"not found on your $PATH. Installations of sshd ignores the user's " -"environment setup scripts for login shells (e.g. .bash_profile) and your " -"privately installed git may not be found on the system default $PATH. " -"Another workaround suggested is to set up your $PATH in \".bashrc\", but " -"this flag is for people who do not want to pay the overhead for non-" -"interactive shells by having a lean .bashrc file (they set most of the " -"things up in .bash_profile)." +"If the reference repository is on the local machine, automatically setup `." +"git/objects/info/alternates` to obtain objects from the reference " +"repository. Using an already existing repository as an alternate will " +"require fewer objects to be copied from the repository being cloned, " +"reducing network and local storage costs. When using the `--reference-if-" +"able`, a non existing directory is skipped with a warning instead of " +"aborting the clone." +msgstr "" + +#. type: Plain text +#: en/git-clone.txt:106 +#, no-wrap +msgid "" +"*NOTE*: see the NOTE for the `--shared` option, and also the\n" +"`--dissociate` option.\n" msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:82 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--exec=<git-upload-pack>" -msgstr "git-add(1)" +#: en/git-clone.txt:107 +#, no-wrap +msgid "--dissociate" +msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:84 -msgid "Same as --upload-pack=<git-upload-pack>." +#: en/git-clone.txt:117 +msgid "" +"Borrow the objects from reference repositories specified with the `--" +"reference` options only to reduce network transfer, and stop borrowing from " +"them after a clone is made by making necessary local copies of borrowed " +"objects. This option can also be used when cloning locally from a " +"repository that already borrows objects from another repository--the new " +"repository will borrow objects from the same repository, and this option can " +"be used to stop the borrowing." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:89 +#: en/git-clone.txt:122 msgid "" -"Limit fetching to ancestor-chains not longer than n. 'git-upload-pack' " -"treats the special depth 2147483647 as infinite even if there is an ancestor-" -"chain that long." +"Operate quietly. Progress is not reported to the standard error stream." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:93 +#: en/git-clone.txt:127 msgid "" -"Deepen or shorten the history of a shallow'repository to include all " -"reachable commits after <date>." +"Run verbosely. Does not affect the reporting of progress status to the " +"standard error stream." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:98 en/fetch-options.txt:30 -msgid "" -"Deepen or shorten the history of a shallow repository to exclude commits " -"reachable from a specified remote branch or tag. This option can be " -"specified multiple times." +#: en/git-clone.txt:137 +msgid "No checkout of HEAD is performed after the clone is complete." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:99 +#: en/git-clone.txt:138 en/git-init.txt:48 en/git-p4.txt:268 en/git.txt:624 #, no-wrap -msgid "--deepen-relative" +msgid "--bare" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:103 +#: en/git-clone.txt:149 msgid "" -"Argument --depth specifies the number of commits from the current shallow " -"boundary instead of from the tip of each remote branch history." +"Make a 'bare' Git repository. That is, instead of creating `<directory>` " +"and placing the administrative files in `<directory>/.git`, make the " +"`<directory>` itself the `$GIT_DIR`. This obviously implies the `-n` because " +"there is nowhere to check out the working tree. Also the branch heads at " +"the remote are copied directly to corresponding local branch heads, without " +"mapping them to `refs/remotes/origin/`. When this option is used, neither " +"remote-tracking branches nor the related configuration variables are created." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:104 en/merge-options.txt:113 +#: en/git-clone.txt:150 en/git-push.txt:106 #, no-wrap -msgid "--no-progress" +msgid "--mirror" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:106 -msgid "Do not show the progress." +#: en/git-clone.txt:157 +msgid "" +"Set up a mirror of the source repository. This implies `--bare`. Compared " +"to `--bare`, `--mirror` not only maps local branches of the source to local " +"branches of the target, it maps all refs (including remote-tracking " +"branches, notes etc.) and sets up a refspec configuration such that all " +"these refs are overwritten by a `git remote update` in the target repository." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:107 en/git-index-pack.txt:77 +#: en/git-clone.txt:158 #, no-wrap -msgid "--check-self-contained-and-connected" +msgid "--origin <name>" msgstr "" -#. type: Plain text -#: en/git-fetch-pack.txt:110 -msgid "" -"Output \"connectivity-ok\" if the received pack is self-contained and " -"connected." +#. type: Labeled list +#: en/git-clone.txt:159 +#, no-wrap +msgid "-o <name>" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:113 en/git-push.txt:267 en/git-send-pack.txt:63 -#, fuzzy -#| msgid "" -#| "-v::\n" -#| "--verbose::\n" -#| " Be verbose.\n" -msgid "Run verbosely." +#: en/git-clone.txt:162 +msgid "" +"Instead of using the remote name `origin` to keep track of the upstream " +"repository, use `<name>`." msgstr "" -"-v::\n" -"--verbose::\n" -" Mode bavard.\n" -#. type: Plain text -#: en/git-fetch-pack.txt:116 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "The URL to the remote repository." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#. type: Labeled list +#: en/git-clone.txt:163 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "--branch <name>" +msgstr "Mode interactif" #. type: Labeled list -#: en/git-fetch-pack.txt:117 en/git-ls-remote.txt:68 +#: en/git-clone.txt:164 #, no-wrap -msgid "<refs>..." +msgid "-b <name>" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:121 +#: en/git-clone.txt:171 msgid "" -"The remote heads to update from. This is relative to $GIT_DIR (e.g. \"HEAD" -"\", \"refs/heads/master\"). When unspecified, update from all heads the " -"remote side has." +"Instead of pointing the newly created HEAD to the branch pointed to by the " +"cloned repository's HEAD, point to `<name>` branch instead. In a non-bare " +"repository, this is the branch that will be checked out. `--branch` can " +"also take tags and detaches the HEAD at that commit in the resulting " +"repository." msgstr "" +#. type: Labeled list +#: en/git-clone.txt:173 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "-u <upload-pack>" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-fetch-pack.txt:125 +#: en/git-clone.txt:177 msgid "" -"If the remote has enabled the options `uploadpack.allowTipSHA1InWant`, " -"`uploadpack.allowReachableSHA1InWant`, or `uploadpack.allowAnySHA1InWant`, " -"they may alternatively be 40-hex sha1s present on the remote." +"When given, and the repository to clone from is accessed via ssh, this " +"specifies a non-default path for the command run on the other end." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:129 en/cmds-mainporcelain.txt:43 +#: en/git-clone.txt:178 en/git-init.txt:53 en/git-svn.txt:547 #, no-wrap -msgid "linkgit:git-fetch[1]" +msgid "--template=<template_directory>" msgstr "" -#. type: Title = -#: en/git-fetch.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-fetch(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-fetch.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-fetch - Download objects and refs from another repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-clone.txt:181 +msgid "" +"Specify the directory from which templates will be used; (See the \"TEMPLATE " +"DIRECTORY\" section of linkgit:git-init[1].)" +msgstr "" -#. type: Plain text -#: en/git-fetch.txt:16 +#. type: Labeled list +#: en/git-clone.txt:182 #, no-wrap -msgid "" -"'git fetch' [<options>] [<repository> [<refspec>...]]\n" -"'git fetch' [<options>] <group>\n" -"'git fetch' --multiple [<options>] [(<repository> | <group>)...]\n" -"'git fetch' --all [<options>]\n" +msgid "--config <key>=<value>" msgstr "" -#. type: Plain text -#: en/git-fetch.txt:24 -msgid "" -"Fetch branches and/or tags (collectively, \"refs\") from one or more other " -"repositories, along with the objects necessary to complete their histories. " -"Remote-tracking branches are updated (see the description of <refspec> below " -"for ways to control this behavior)." +#. type: Labeled list +#: en/git-clone.txt:183 +#, no-wrap +msgid "-c <key>=<value>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:32 +#: en/git-clone.txt:192 msgid "" -"By default, any tag that points into the histories being fetched is also " -"fetched; the effect is to fetch tags that point at branches that you are " -"interested in. This default behavior can be changed by using the --tags or " -"--no-tags options or by configuring remote.<name>.tagOpt. By using a " -"refspec that fetches tags explicitly, you can fetch tags that do not point " -"into branches you are interested in as well." +"Set a configuration variable in the newly-created repository; this takes " +"effect immediately after the repository is initialized, but before the " +"remote history is fetched or any files checked out. The key is in the same " +"format as expected by linkgit:git-config[1] (e.g., `core.eol=true`). If " +"multiple values are given for the same key, each value will be written to " +"the config file. This makes it safe, for example, to add additional fetch " +"refspecs to the origin remote." +msgstr "" + +#. type: Labeled list +#: en/git-clone.txt:193 +#, no-wrap +msgid "--depth <depth>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:37 +#: en/git-clone.txt:199 msgid "" -"'git fetch' can fetch from either a single named repository or URL, or from " -"several repositories at once if <group> is given and there is a remotes." -"<group> entry in the configuration file. (See linkgit:git-config[1])." +"Create a 'shallow' clone with a history truncated to the specified number of " +"commits. Implies `--single-branch` unless `--no-single-branch` is given to " +"fetch the histories near the tips of all branches. If you want to clone " +"submodules shallowly, also pass `--shallow-submodules`." msgstr "" #. type: Plain text -#: en/git-fetch.txt:40 -msgid "" -"When no remote is specified, by default the `origin` remote will be used, " -"unless there's an upstream branch configured for the current branch." +#: en/git-clone.txt:202 +msgid "Create a shallow clone with a history after the specified time." msgstr "" #. type: Plain text -#: en/git-fetch.txt:44 +#: en/git-clone.txt:207 msgid "" -"The names of refs that are fetched, together with the object names they " -"point at, are written to `.git/FETCH_HEAD`. This information may be used by " -"scripts or other git commands, such as linkgit:git-pull[1]." +"Create a shallow clone with a history, excluding commits reachable from a " +"specified remote branch or tag. This option can be specified multiple times." msgstr "" -#. type: Title - -#: en/git-fetch.txt:55 +#. type: Labeled list +#: en/git-clone.txt:208 #, no-wrap -msgid "CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]" +msgid "--[no-]single-branch" msgstr "" #. type: Plain text -#: en/git-fetch.txt:61 +#: en/git-clone.txt:217 msgid "" -"You often interact with the same remote repository by regularly and " -"repeatedly fetching from it. In order to keep track of the progress of such " -"a remote repository, `git fetch` allows you to configure `remote." -"<repository>.fetch` configuration variables." +"Clone only the history leading to the tip of a single branch, either " +"specified by the `--branch` option or the primary branch remote's `HEAD` " +"points at. Further fetches into the resulting repository will only update " +"the remote-tracking branch for the branch this option was used for the " +"initial cloning. If the HEAD at the remote did not point at any branch when " +"`--single-branch` clone was made, no remote-tracking branch is created." +msgstr "" + +#. type: Labeled list +#: en/git-clone.txt:218 en/git-submodule.txt:400 +#, no-wrap +msgid "--recursive" msgstr "" +#. type: Labeled list +#: en/git-clone.txt:219 en/git-grep.txt:92 en/git-ls-files.txt:142 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--recurse-submodules" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-fetch.txt:63 -msgid "Typically such a variable may look like this:" +#: en/git-clone.txt:226 +msgid "" +"After the clone is created, initialize all submodules within, using their " +"default settings. This is equivalent to running `git submodule update --init " +"--recursive` immediately after the clone is finished. This option is ignored " +"if the cloned repository does not have a worktree/checkout (i.e. if any of " +"`--no-checkout`/`-n`, `--bare`, or `--mirror` is given)" msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:67 +#. type: Labeled list +#: en/git-clone.txt:227 #, no-wrap -msgid "" -"[remote \"origin\"]\n" -"\tfetch = +refs/heads/*:refs/remotes/origin/*\n" +msgid "--[no-]shallow-submodules" msgstr "" #. type: Plain text -#: en/git-fetch.txt:70 -msgid "This configuration is used in two ways:" +#: en/git-clone.txt:229 +msgid "All submodules which are cloned will be shallow with a depth of 1." msgstr "" -#. type: Plain text -#: en/git-fetch.txt:80 -msgid "" -"When `git fetch` is run without specifying what branches and/or tags to " -"fetch on the command line, e.g. `git fetch origin` or `git fetch`, `remote." -"<repository>.fetch` values are used as the refspecs--they specify which refs " -"to fetch and which local refs to update. The example above will fetch all " -"branches that exist in the `origin` (i.e. any ref that matches the left-hand " -"side of the value, `refs/heads/*`) and update the corresponding remote-" -"tracking branches in the `refs/remotes/origin/*` hierarchy." +#. type: Labeled list +#: en/git-clone.txt:230 en/git-init.txt:58 +#, no-wrap +msgid "--separate-git-dir=<git dir>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:97 +#: en/git-clone.txt:236 msgid "" -"When `git fetch` is run with explicit branches and/or tags to fetch on the " -"command line, e.g. `git fetch origin master`, the <refspec>s given on the " -"command line determine what are to be fetched (e.g. `master` in the example, " -"which is a short-hand for `master:`, which in turn means \"fetch the " -"'master' branch but I do not explicitly say what remote-tracking branch to " -"update with it from the command line\"), and the example command will fetch " -"_only_ the 'master' branch. The `remote.<repository>.fetch` values " -"determine which remote-tracking branch, if any, is updated. When used in " -"this way, the `remote.<repository>.fetch` values do not have any effect in " -"deciding _what_ gets fetched (i.e. the values are not used as refspecs when " -"the command-line lists refspecs); they are only used to decide _where_ the " -"refs that are fetched are stored by acting as a mapping." +"Instead of placing the cloned repository where it is supposed to be, place " +"the cloned repository at the specified directory, then make a filesystem-" +"agnostic Git symbolic link to there. The result is Git repository can be " +"separated from working tree." +msgstr "" + +#. type: Labeled list +#: en/git-clone.txt:237 en/git-submodule.txt:417 +#, no-wrap +msgid "-j <n>" +msgstr "" + +#. type: Labeled list +#: en/git-clone.txt:238 en/git-submodule.txt:418 +#, no-wrap +msgid "--jobs <n>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:101 +#: en/git-clone.txt:241 msgid "" -"The latter use of the `remote.<repository>.fetch` values can be overridden " -"by giving the `--refmap=<refspec>` parameter(s) on the command line." +"The number of submodules fetched at the same time. Defaults to the " +"`submodule.fetchJobs` option." msgstr "" -#. type: Plain text -#: en/git-fetch.txt:108 -msgid "" -"The output of \"git fetch\" depends on the transport method used; this " -"section describes the output when fetching over the Git protocol (either " -"locally or via ssh) and Smart HTTP protocol." +#. type: Labeled list +#: en/git-clone.txt:242 en/git-fetch-pack.txt:114 en/git-ls-remote.txt:63 +#: en/git-push.txt:50 en/pull-fetch-param.txt:1 +#, no-wrap +msgid "<repository>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:111 +#: en/git-clone.txt:246 msgid "" -"The status of the fetch is output in tabular form, with each line " -"representing the status of a single ref. Each line is of the form:" +"The (possibly remote) repository to clone from. See the <<URLS,URLS>> " +"section below for more information on specifying repositories." msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:114 +#. type: Labeled list +#: en/git-clone.txt:247 en/git-cvsserver.txt:53 en/git-daemon.txt:198 +#: en/git-receive-pack.txt:41 en/git-send-pack.txt:89 +#: en/git-upload-archive.txt:57 en/git-upload-pack.txt:44 #, no-wrap -msgid " <flag> <summary> <from> -> <to> [<reason>]\n" +msgid "<directory>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:118 +#: en/git-clone.txt:253 msgid "" -"The status of up-to-date refs is shown only if the --verbose option is used." +"The name of a new directory to clone into. The \"humanish\" part of the " +"source repository is used if no directory is explicitly given (`repo` for `/" +"path/to/repo.git` and `foo` for `host.xz:foo/.git`). Cloning into an " +"existing directory is only allowed if the directory is empty." msgstr "" #. type: Plain text -#: en/git-fetch.txt:123 -msgid "" -"In compact output mode, specified with configuration variable fetch.output, " -"if either entire `<from>` or `<to>` is found in the other string, it will be " -"substituted with `*` in the other string. For example, `master -> origin/" -"master` becomes `master -> origin/*`." +#: en/git-clone.txt:261 +msgid "Clone from upstream:" msgstr "" -#. type: Labeled list -#: en/git-fetch.txt:124 en/git-push.txt:328 +#. type: delimited block - +#: en/git-clone.txt:266 #, no-wrap -msgid "flag" +msgid "" +"$ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux\n" +"$ cd my-linux\n" +"$ make\n" msgstr "" #. type: Plain text -#: en/git-fetch.txt:126 en/git-push.txt:330 -msgid "A single character indicating the status of the ref:" +#: en/git-clone.txt:270 +msgid "" +"Make a local clone that borrows from the current directory, without checking " +"things out:" msgstr "" -#. type: Labeled list -#: en/git-fetch.txt:126 en/git-push.txt:330 +#. type: delimited block - +#: en/git-clone.txt:275 #, no-wrap -msgid "(space)" +msgid "" +"$ git clone -l -s -n . ../copy\n" +"$ cd ../copy\n" +"$ git show-branch\n" msgstr "" #. type: Plain text -#: en/git-fetch.txt:127 -msgid "for a successfully fetched fast-forward;" +#: en/git-clone.txt:279 +msgid "Clone from upstream while borrowing from an existing local directory:" msgstr "" -#. type: Labeled list -#: en/git-fetch.txt:127 en/git-push.txt:331 +#. type: delimited block - +#: en/git-clone.txt:285 #, no-wrap -msgid "`+`" +msgid "" +"$ git clone --reference /git/linux.git \\\n" +"\tgit://git.kernel.org/pub/scm/.../linux.git \\\n" +"\tmy-linux\n" +"$ cd my-linux\n" msgstr "" #. type: Plain text -#: en/git-fetch.txt:128 en/git-push.txt:332 -msgid "for a successful forced update;" +#: en/git-clone.txt:289 +msgid "Create a bare repository to publish your changes to the public:" msgstr "" -#. type: Labeled list -#: en/git-fetch.txt:128 en/git-push.txt:332 +#. type: delimited block - +#: en/git-clone.txt:292 #, no-wrap -msgid "`-`" +msgid "$ git clone --bare -l /home/proj/.git /pub/scm/proj.git\n" msgstr "" +#. type: Title = +#: en/git-column.txt:2 +#, fuzzy, no-wrap +msgid "git-column(1)" +msgstr "git-column(1)" + #. type: Plain text -#: en/git-fetch.txt:129 -msgid "for a successfully pruned ref;" +#: en/git-column.txt:7 +msgid "git-column - Display data in columns" msgstr "" -#. type: Labeled list -#: en/git-fetch.txt:129 +#. type: Plain text +#: en/git-column.txt:13 #, no-wrap -msgid "`t`" +msgid "" +"'git column' [--command=<name>] [--[raw-]mode=<mode>] [--width=<width>]\n" +"\t [--indent=<string>] [--nl=<string>] [--padding=<n>]\n" msgstr "" #. type: Plain text -#: en/git-fetch.txt:130 -msgid "for a successful tag update;" +#: en/git-column.txt:17 +msgid "This command formats its input into multiple columns." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:130 en/git-push.txt:333 +#: en/git-column.txt:20 #, no-wrap -msgid "`*`" +msgid "--command=<name>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:131 -msgid "for a successfully fetched new ref;" +#: en/git-column.txt:23 +msgid "" +"Look up layout mode using configuration variable column.<name> and column.ui." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:131 en/git-push.txt:334 +#: en/git-column.txt:24 #, no-wrap -msgid "`!`" +msgid "--mode=<mode>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:132 -msgid "for a ref that was rejected or failed to update; and" +#: en/git-column.txt:27 +msgid "" +"Specify layout mode. See configuration variable column.ui for option syntax." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:132 en/git-push.txt:335 +#: en/git-column.txt:28 #, no-wrap -msgid "`=`" +msgid "--raw-mode=<n>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:133 -msgid "for a ref that was up to date and did not need fetching." +#: en/git-column.txt:31 +msgid "" +"Same as --mode but take mode encoded as a number. This is mainly used by " +"other commands that have already parsed layout mode." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:134 en/git-push.txt:337 +#: en/git-column.txt:32 #, no-wrap -msgid "summary" +msgid "--width=<width>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:139 +#: en/git-column.txt:35 msgid "" -"For a successfully fetched ref, the summary shows the old and new values of " -"the ref in a form suitable for using as an argument to `git log` (this is " -"`<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-" -"forward updates)." +"Specify the terminal width. By default 'git column' will detect the terminal " +"width, or fall back to 80 if it is unable to do so." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:140 en/git-push.txt:365 +#: en/git-column.txt:36 #, no-wrap -msgid "from" +msgid "--indent=<string>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:144 -msgid "" -"The name of the remote ref being fetched from, minus its `refs/<type>/` " -"prefix. In the case of deletion, the name of the remote ref is \"(none)\"." +#: en/git-column.txt:38 +msgid "String to be printed at the beginning of each line." msgstr "" -#. type: Plain text -#: en/git-fetch.txt:145 en/git-push.txt:370 en/git-rebase.txt:790 +#. type: Labeled list +#: en/git-column.txt:39 #, no-wrap -msgid "to" +msgid "--nl=<N>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:148 +#: en/git-column.txt:42 msgid "" -"The name of the local ref being updated, minus its `refs/<type>/` prefix." +"String to be printed at the end of each line, including newline character." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:149 en/git-push.txt:374 +#: en/git-column.txt:43 #, no-wrap -msgid "reason" -msgstr "" - -#. type: Plain text -#: en/git-fetch.txt:153 -msgid "" -"A human-readable explanation. In the case of successfully fetched refs, no " -"explanation is needed. For a failed ref, the reason for failure is described." +msgid "--padding=<N>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:158 -msgid "Update the remote-tracking branches:" +#: en/git-column.txt:45 +msgid "The number of spaces between columns. One space by default." msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:161 +#. type: Title = +#: en/git-commit-tree.txt:2 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git fetch origin\n" -msgstr "$ git commit\n" +#| msgid "git-commit(1)" +msgid "git-commit-tree(1)" +msgstr "git-commit(1)" +# #. type: Plain text -#: en/git-fetch.txt:167 -msgid "" -"The above command copies all branches from the remote refs/heads/ namespace " -"and stores them to the local refs/remotes/origin/ namespace, unless the " -"branch.<name>.fetch option is used to specify a non-default refspec." -msgstr "" +#: en/git-commit-tree.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-commit-tree - Create a new commit object" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-fetch.txt:169 -msgid "Using refspecs explicitly:" +#: en/git-commit-tree.txt:15 +#, no-wrap +msgid "" +"'git commit-tree' <tree> [(-p <parent>)...]\n" +"'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n" +"\t\t [(-F <file>)...] <tree>\n" msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:172 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git fetch origin +pu:pu maint:tmp\n" -msgstr "$ git commit\n" - #. type: Plain text -#: en/git-fetch.txt:177 +#: en/git-commit-tree.txt:21 msgid "" -"This updates (or creates, as necessary) branches `pu` and `tmp` in the local " -"repository by fetching from the branches (respectively) `pu` and `maint` " -"from the remote repository." +"This is usually not what an end user wants to run directly. See linkgit:git-" +"commit[1] instead." msgstr "" #. type: Plain text -#: en/git-fetch.txt:180 +#: en/git-commit-tree.txt:25 msgid "" -"The `pu` branch will be updated even if it is does not fast-forward, because " -"it is prefixed with a plus sign; `tmp` will not be." +"Creates a new commit object based on the provided tree object and emits the " +"new commit object id on stdout. The log message is read from the standard " +"input, unless `-m` or `-F` options are given." msgstr "" #. type: Plain text -#: en/git-fetch.txt:183 +#: en/git-commit-tree.txt:30 msgid "" -"Peek at a remote's branch, without configuring the remote in your local " -"repository:" +"A commit object may have any number of parents. With exactly one parent, it " +"is an ordinary commit. Having more than one parent makes the commit a merge " +"between several lines of history. Initial (root) commits have no parents." msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:187 -#, no-wrap +#. type: Plain text +#: en/git-commit-tree.txt:34 msgid "" -"$ git fetch git://git.kernel.org/pub/scm/git/git.git maint\n" -"$ git log FETCH_HEAD\n" +"While a tree represents a particular directory state of a working directory, " +"a commit represents that state in \"time\", and explains how to get there." msgstr "" #. type: Plain text -#: en/git-fetch.txt:194 +#: en/git-commit-tree.txt:40 msgid "" -"The first command fetches the `maint` branch from the repository at `git://" -"git.kernel.org/pub/scm/git/git.git` and the second command uses `FETCH_HEAD` " -"to examine the branch with linkgit:git-log[1]. The fetched objects will " -"eventually be removed by git's built-in housekeeping (see linkgit:git-gc[1])." +"Normally a commit would identify a new \"HEAD\" state, and while Git doesn't " +"care where you save the note about that state, in practice we tend to just " +"write the result to the file that is pointed at by `.git/HEAD`, so that we " +"can always see what the last committed state was." msgstr "" -#. type: Title - -#: en/git-fetch.txt:198 en/git-mv.txt:56 en/git-pack-refs.txt:64 -#: en/git-pull.txt:243 en/git-rebase.txt:779 en/git-replace.txt:134 -#: en/git-rm.txt:174 en/git-svn.txt:1026 en/git-worktree.txt:245 +#. type: Labeled list +#: en/git-commit-tree.txt:43 en/git.txt:786 #, no-wrap -msgid "BUGS" +msgid "<tree>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:205 en/git-pull.txt:250 -msgid "" -"Using --recurse-submodules can only fetch new commits in already checked out " -"submodules right now. When e.g. upstream added a new submodule in the just " -"fetched commits of the superproject the submodule itself can not be fetched, " -"making it impossible to check out that submodule later without having to do " -"a fetch again. This is expected to be fixed in a future Git version." +#: en/git-commit-tree.txt:45 +msgid "An existing tree object" msgstr "" #. type: Labeled list -#: en/git-fetch.txt:209 en/cmds-mainporcelain.txt:73 -#, no-wrap -msgid "linkgit:git-pull[1]" -msgstr "" - -#. type: Title = -#: en/git-filter-branch.txt:2 +#: en/git-commit-tree.txt:46 #, no-wrap -msgid "git-filter-branch(1)" +msgid "-p <parent>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:7 -msgid "git-filter-branch - Rewrite branches" +#: en/git-commit-tree.txt:48 +msgid "Each `-p` indicates the id of a parent commit object." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:18 +#. type: Labeled list +#: en/git-commit-tree.txt:49 en/git-fmt-merge-msg.txt:42 #, no-wrap -msgid "" -"'git filter-branch' [--env-filter <command>] [--tree-filter <command>]\n" -"\t[--index-filter <command>] [--parent-filter <command>]\n" -"\t[--msg-filter <command>] [--commit-filter <command>]\n" -"\t[--tag-name-filter <command>] [--subdirectory-filter <directory>]\n" -"\t[--prune-empty]\n" -"\t[--original <namespace>] [-d <directory>] [-f | --force]\n" -"\t[--] [<rev-list options>...]\n" +msgid "-m <message>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:27 +#: en/git-commit-tree.txt:52 msgid "" -"Lets you rewrite Git revision history by rewriting the branches mentioned in " -"the <rev-list options>, applying custom filters on each revision. Those " -"filters can modify each tree (e.g. removing a file or running a perl rewrite " -"on all files) or information about each commit. Otherwise, all information " -"(including original commit times or merge information) will be preserved." +"A paragraph in the commit log message. This can be given more than once and " +"each <message> becomes its own paragraph." msgstr "" +#. type: Labeled list +#: en/git-commit-tree.txt:53 en/git-commit.txt:127 en/git-fmt-merge-msg.txt:47 +#: en/git-notes.txt:140 en/git-tag.txt:138 +#, no-wrap +msgid "-F <file>" +msgstr "-F <fichier>" + #. type: Plain text -#: en/git-filter-branch.txt:34 +#: en/git-commit-tree.txt:56 +#, fuzzy +#| msgid "" +#| "-F <file>::\n" +#| "--file=<file>::\n" +#| "\tTake the commit message from the given file. Use '-' to\n" +#| "\tread the message from the standard input.\n" msgid "" -"The command will only rewrite the _positive_ refs mentioned in the command " -"line (e.g. if you pass 'a..b', only 'b' will be rewritten). If you specify " -"no filters, the commits will be recommitted without any changes, which would " -"normally have no effect. Nevertheless, this may be useful in the future for " -"compensating for some Git bugs or such, therefore such a usage is permitted." +"Read the commit log message from the given file. Use `-` to read from the " +"standard input." msgstr "" +"-F <fichier>::\n" +"--file=<fichier>::\n" +"\tPrendre le message de validation depuis le fichier indiqu챕.\n" +"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" -#. type: Plain text -#: en/git-filter-branch.txt:39 +#. type: Labeled list +#: en/git-commit-tree.txt:63 en/git-commit.txt:332 #, no-wrap -msgid "" -"*NOTE*: This command honors `.git/info/grafts` file and refs in\n" -"the `refs/replace/` namespace.\n" -"If you have any grafts or replacement refs defined, running this command\n" -"will make them permanent.\n" +msgid "--no-gpg-sign" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:48 -#, no-wrap +#: en/git-commit-tree.txt:66 msgid "" -"*WARNING*! The rewritten history will have different object names for all\n" -"the objects and will not converge with the original branch. You will not\n" -"be able to easily push and distribute the rewritten branch on top of the\n" -"original branch. Please do not use this command if you do not know the\n" -"full implications, and avoid using it anyway, if a simple single commit\n" -"would suffice to fix your problem. (See the \"RECOVERING FROM UPSTREAM\n" -"REBASE\" section in linkgit:git-rebase[1] for further information about\n" -"rewriting published history.)\n" +"Do not GPG-sign commit, to countermand a `--gpg-sign` option given earlier " +"on the command line." msgstr "" +#. type: Title - +#: en/git-commit-tree.txt:69 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Commit Information" +msgstr "Configuration" + #. type: Plain text -#: en/git-filter-branch.txt:52 -msgid "" -"Always verify that the rewritten version is correct: The original refs, if " -"different from the rewritten ones, will be stored in the namespace 'refs/" -"original/'." +#: en/git-commit-tree.txt:72 +msgid "A commit encapsulates:" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:56 -msgid "" -"Note that since this operation is very I/O expensive, it might be a good " -"idea to redirect the temporary directory off-disk with the `-d` option, e.g. " -"on tmpfs. Reportedly the speedup is very noticeable." +#: en/git-commit-tree.txt:74 +msgid "all parent object ids" msgstr "" -#. type: Title ~ -#: en/git-filter-branch.txt:59 -#, no-wrap -msgid "Filters" +#. type: Plain text +#: en/git-commit-tree.txt:75 +msgid "author name, email and date" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:71 -msgid "" -"The filters are applied in the order as listed below. The <command> " -"argument is always evaluated in the shell context using the 'eval' command " -"(with the notable exception of the commit filter, for technical reasons). " -"Prior to that, the `$GIT_COMMIT` environment variable will be set to contain " -"the id of the commit being rewritten. Also, GIT_AUTHOR_NAME, " -"GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, " -"and GIT_COMMITTER_DATE are taken from the current commit and exported to the " -"environment, in order to affect the author and committer identities of the " -"replacement commit created by linkgit:git-commit-tree[1] after the filters " -"have run." +#: en/git-commit-tree.txt:76 +msgid "committer name and email and the commit time." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:74 +#: en/git-commit-tree.txt:80 msgid "" -"If any evaluation of <command> returns a non-zero exit status, the whole " -"operation will be aborted." +"While parent object ids are provided on the command line, author and " +"committer information is taken from the following environment variables, if " +"set:" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:80 +#: en/git-commit-tree.txt:87 +#, no-wrap msgid "" -"A 'map' function is available that takes an \"original sha1 id\" argument " -"and outputs a \"rewritten sha1 id\" if the commit has been already " -"rewritten, and \"original sha1 id\" otherwise; the 'map' function can return " -"several ids on separate lines if your commit filter emitted multiple commits." +"\tGIT_AUTHOR_NAME\n" +"\tGIT_AUTHOR_EMAIL\n" +"\tGIT_AUTHOR_DATE\n" +"\tGIT_COMMITTER_NAME\n" +"\tGIT_COMMITTER_EMAIL\n" +"\tGIT_COMMITTER_DATE\n" msgstr "" -#. type: Labeled list -#: en/git-filter-branch.txt:85 -#, no-wrap -msgid "--env-filter <command>" +#. type: Plain text +#: en/git-commit-tree.txt:89 +msgid "(nb \"<\", \">\" and \"\\n\"s are stripped)" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:91 +#: en/git-commit-tree.txt:96 msgid "" -"This filter may be used if you only need to modify the environment in which " -"the commit will be performed. Specifically, you might want to rewrite the " -"author/committer name/email/time environment variables (see linkgit:git-" -"commit-tree[1] for details). Do not forget to re-export the variables." -msgstr "" - -#. type: Labeled list -#: en/git-filter-branch.txt:92 -#, no-wrap -msgid "--tree-filter <command>" +"In case (some of) these environment variables are not set, the information " +"is taken from the configuration items user.name and user.email, or, if not " +"present, the environment variable EMAIL, or, if that is not set, system user " +"name and the hostname used for outgoing mail (taken from `/etc/mailname` and " +"falling back to the fully qualified hostname when that file does not exist)." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:99 +#: en/git-commit-tree.txt:100 msgid "" -"This is the filter for rewriting the tree and its contents. The argument is " -"evaluated in shell with the working directory set to the root of the checked " -"out tree. The new tree is then used as-is (new files are auto-added, " -"disappeared files are auto-removed - neither .gitignore files nor any other " -"ignore rules *HAVE ANY EFFECT*!)." +"A commit comment is read from stdin. If a changelog entry is not provided " +"via \"<\" redirection, 'git commit-tree' will just wait for one to be " +"entered and terminated with ^D." msgstr "" -#. type: Labeled list -#: en/git-filter-branch.txt:100 +#. type: Title - +#: en/git-commit-tree.txt:104 en/git-show.txt:81 #, no-wrap -msgid "--index-filter <command>" +msgid "Discussion" msgstr "" +#. type: Title - +#: en/git-commit-tree.txt:109 en/git-commit.txt:470 en/git-config.txt:233 +#: en/git-credential-store.txt:45 en/git-show-ref.txt:174 +#: en/git-submodule.txt:429 en/git-svn.txt:1118 +#, no-wrap +msgid "FILES" +msgstr "FICHIERS" + #. type: Plain text -#: en/git-filter-branch.txt:106 -msgid "" -"This is the filter for rewriting the index. It is similar to the tree " -"filter but does not check out the tree, which makes it much faster. " -"Frequently used with `git rm --cached --ignore-unmatch ...`, see EXAMPLES " -"below. For hairy cases, see linkgit:git-update-index[1]." +#: en/git-commit-tree.txt:111 +msgid "/etc/mailname" msgstr "" -#. type: Labeled list -#: en/git-filter-branch.txt:107 +#. type: Title = +#: en/git-commit.txt:2 #, no-wrap -msgid "--parent-filter <command>" -msgstr "" +msgid "git-commit(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-filter-branch.txt:114 -msgid "" -"This is the filter for rewriting the commit's parent list. It will receive " -"the parent string on stdin and shall output the new parent string on " -"stdout. The parent string is in the format described in linkgit:git-commit-" -"tree[1]: empty for the initial commit, \"-p parent\" for a normal commit and " -"\"-p parent1 -p parent2 -p parent3 ...\" for a merge commit." -msgstr "" +#: en/git-commit.txt:7 +msgid "git-commit - Record changes to the repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" -#. type: Labeled list -#: en/git-filter-branch.txt:115 +#. type: Plain text +#: en/git-commit.txt:17 #, no-wrap -msgid "--msg-filter <command>" +msgid "" +"'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n" +"\t [--dry-run] [(-c | -C | --fixup | --squash) <commit>]\n" +"\t [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n" +"\t [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n" +"\t [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n" +"\t [-i | -o] [-S[<keyid>]] [--] [<file>...]\n" msgstr "" +"'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n" +"\t [--dry-run] [(-c | -C | --fixup | --squash) <commit>]\n" +"\t [-F <fichier> | -m <msg>] [--reset-author] [--allow-empty]\n" +"\t [--allow-empty-message] [--no-verify] [-e] [--author=<auteur>]\n" +"\t [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n" +"\t [-i | -o] [-S[<idcl챕>]] [--] [<fichier>...]\n" #. type: Plain text -#: en/git-filter-branch.txt:120 +#: en/git-commit.txt:22 msgid "" -"This is the filter for rewriting the commit messages. The argument is " -"evaluated in the shell with the original commit message on standard input; " -"its standard output is used as the new commit message." +"Stores the current contents of the index in a new commit along with a log " +"message from the user describing the changes." msgstr "" +"Enregistre les contenus actuels de l'index dans un nouveau commit avec un " +"message de journal de l'utilisateur d챕crivant les modifications." -#. type: Labeled list -#: en/git-filter-branch.txt:121 -#, no-wrap -msgid "--commit-filter <command>" -msgstr "" +#. type: Plain text +#: en/git-commit.txt:24 +msgid "The content to be added can be specified in several ways:" +msgstr "Le contenu 횪 ajouter peut 챗tre sp챕cifi챕 de diff챕rentes mani챔res혻:" #. type: Plain text -#: en/git-filter-branch.txt:127 +#: en/git-commit.txt:28 msgid "" -"This is the filter for performing the commit. If this filter is specified, " -"it will be called instead of the 'git commit-tree' command, with arguments " -"of the form \"<TREE_ID> [(-p <PARENT_COMMIT_ID>)...]\" and the log message " -"on stdin. The commit id is expected on stdout." +"by using 'git add' to incrementally \"add\" changes to the index before " +"using the 'commit' command (Note: even modified files must be \"added\");" msgstr "" +"en utilisant 'git add' pour 짬혻ajouter혻쨩 de mani챔re incr챕mentale des " +"modifications 횪 l'index avant d'utiliser la commande 'commit' (Note혻: les " +"fichiers doivent 챗tre 짬혻ajout챕s혻쨩 pour faire partie du commit, m챗me s'ils " +"ont 챕t챕 modifi챕s), " #. type: Plain text -#: en/git-filter-branch.txt:131 +#: en/git-commit.txt:31 msgid "" -"As a special extension, the commit filter may emit multiple commit ids; in " -"that case, the rewritten children of the original commit will have all of " -"them as parents." +"by using 'git rm' to remove files from the working tree and the index, again " +"before using the 'commit' command;" msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-filter-branch.txt:136 +#: en/git-commit.txt:37 msgid "" -"You can use the 'map' convenience function in this filter, and other " -"convenience functions, too. For example, calling 'skip_commit \"$@\"' will " -"leave out the current commit (but not its changes! If you want that, use " -"'git rebase' instead)." +"by listing files as arguments to the 'commit' command (without --interactive " +"or --patch switch), in which case the commit will ignore changes staged in " +"the index, and instead record the current content of the listed files (which " +"must already be known to Git);" msgstr "" +"en listant les fichiers comme arguments de la commande 'commit' (sans les " +"options --interactive ou --patch), auquel cas la validation ignorera les " +"modifications index챕es et enregistrera plut척t le contenu actuel des fichiers " +"list챕s (qui doivent d챕j횪 챗tre connus de Git)," #. type: Plain text -#: en/git-filter-branch.txt:140 +#: en/git-commit.txt:43 msgid "" -"You can also use the `git_commit_non_empty_tree \"$@\"` instead of `git " -"commit-tree \"$@\"` if you don't wish to keep commits with a single parent " -"and that makes no change to the tree." -msgstr "" - -#. type: Labeled list -#: en/git-filter-branch.txt:141 -#, no-wrap -msgid "--tag-name-filter <command>" +"by using the -a switch with the 'commit' command to automatically \"add\" " +"changes from all known files (i.e. all files that are already listed in the " +"index) and to automatically \"rm\" files in the index that have been removed " +"from the working tree, and then perform the actual commit;" msgstr "" +"en utilisant l'option -a avec la commande 'commit' pour 짬혻ajouter혻쨩 " +"automatiquement les modifications de tous les fichiers connus (c'est-횪-dire " +"les fichiers list챕s dans l'index) et supprimer ('rm') automatiquement les " +"fichiers de l'index qui ont 챕t챕 supprim챕s dans l'arbre de travail, puis " +"d'effectuer la validation, " #. type: Plain text -#: en/git-filter-branch.txt:147 +#: en/git-commit.txt:49 msgid "" -"This is the filter for rewriting tag names. When passed, it will be called " -"for every tag ref that points to a rewritten object (or to a tag object " -"which points to a rewritten object). The original tag name is passed via " -"standard input, and the new tag name is expected on standard output." +"by using the --interactive or --patch switches with the 'commit' command to " +"decide one by one which files or hunks should be part of the commit in " +"addition to contents in the index, before finalizing the operation. See the " +"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " +"these modes." msgstr "" +"en utilisant les options --interactive ou --patch avec la commande 'commit' " +"pour choisir quels fichiers ou sections de fichier doivent 챗tre inclus dans " +"le commit en plus de l'index, avant finalisation de l'op챕ration. R챕f챕rez-" +"vous 횪 la section 짬혻Mode interactif혻쨩 de linkgit:git-add[1] pour la " +"description de ces modes." #. type: Plain text -#: en/git-filter-branch.txt:152 +#: en/git-commit.txt:53 +#, fuzzy msgid "" -"The original tags are not deleted, but can be overwritten; use \"--tag-name-" -"filter cat\" to simply update the tags. In this case, be very careful and " -"make sure you have the old tags backed up in case the conversion has run " -"afoul." +"The `--dry-run` option can be used to obtain a summary of what is included " +"by any of the above for the next commit by giving the same set of parameters " +"(options and paths)." msgstr "" +"L'option `--dry-run` peut 챗tre utilis챕e pour obtenir un r챕sum챕 de ce qui " +"sera inclus par une des commandes ci-dessus pour la prochaine validation en " +"fournissant le jeu de param챔tres (options et chemins)." #. type: Plain text -#: en/git-filter-branch.txt:163 +#: en/git-commit.txt:56 msgid "" -"Nearly proper rewriting of tag objects is supported. If the tag has a " -"message attached, a new tag object will be created with the same message, " -"author, and timestamp. If the tag has a signature attached, the signature " -"will be stripped. It is by definition impossible to preserve signatures. The " -"reason this is \"nearly\" proper, is because ideally if the tag did not " -"change (points to the same object, has the same name, etc.) it should " -"retain any signature. That is not the case, signatures will always be " -"removed, buyer beware. There is also no support for changing the author or " -"timestamp (or the tag message for that matter). Tags which point to other " -"tags will be rewritten to point to the underlying commit." +"If you make a commit and then find a mistake immediately after that, you can " +"recover from it with 'git reset'." msgstr "" +"Si vous validez et trouvez une erreur imm챕diatement apr챔s, vous pouvez " +"annuler la validation avec 'git reset'." -#. type: Labeled list -#: en/git-filter-branch.txt:164 -#, no-wrap -msgid "--subdirectory-filter <directory>" -msgstr "" +#. type: Plain text +#: en/git-commit.txt:65 +msgid "" +"Tell the command to automatically stage files that have been modified and " +"deleted, but new files you have not told Git about are not affected." +msgstr "Indiquer 횪 la commande d'indexer automatiquement les fichiers qui ont 챕t챕 modifi챕s ou supprim챕s, mais les nouveaux fichiers dont vous n'avez pas signal챕 la pr챕sence 횪 Git ne sont pas affect챕s." #. type: Plain text -#: en/git-filter-branch.txt:168 +#: en/git-commit.txt:71 msgid "" -"Only look at the history which touches the given subdirectory. The result " -"will contain that directory (and only that) as its project root. Implies " -"<<Remap_to_ancestor>>." +"Use the interactive patch selection interface to chose which changes to " +"commit. See linkgit:git-add[1] for details." msgstr "" +"Utiliser la s챕lection interactive de rustine pour choisir quelles " +"modifications valider. R챕f챕rez-vous 횪 linkgit:git-add[1] pour plus de " +"d챕tails." #. type: Labeled list -#: en/git-filter-branch.txt:169 +#: en/git-commit.txt:72 #, no-wrap -msgid "--prune-empty" -msgstr "" - -#. type: Plain text -#: en/git-filter-branch.txt:176 -msgid "" -"Some filters will generate empty commits that leave the tree untouched. " -"This option instructs git-filter-branch to remove such commits if they have " -"exactly one or zero non-pruned parents; merge commits will therefore remain " -"intact. This option cannot be used together with `--commit-filter`, though " -"the same effect can be achieved by using the provided " -"`git_commit_non_empty_tree` function in a commit filter." -msgstr "" +msgid "-C <commit>" +msgstr "-C <commit>" #. type: Labeled list -#: en/git-filter-branch.txt:177 +#: en/git-commit.txt:73 #, no-wrap -msgid "--original <namespace>" -msgstr "" +msgid "--reuse-message=<commit>" +msgstr "--reuse-message=<commit>" #. type: Plain text -#: en/git-filter-branch.txt:180 +#: en/git-commit.txt:77 msgid "" -"Use this option to set the namespace where the original commits will be " -"stored. The default value is 'refs/original'." +"Take an existing commit object, and reuse the log message and the authorship " +"information (including the timestamp) when creating the commit." msgstr "" +"Prendre un objet commit existant et r챕utiliser son message de validation et " +"son information d'auteur (y compris l'horodatage) pour la cr챕ation du commit." #. type: Labeled list -#: en/git-filter-branch.txt:181 +#: en/git-commit.txt:78 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "-c <commit>" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/git-commit.txt:79 #, no-wrap -msgid "-d <directory>" +msgid "--reedit-message=<commit>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:188 +#: en/git-commit.txt:82 msgid "" -"Use this option to set the path to the temporary directory used for " -"rewriting. When applying a tree filter, the command needs to temporarily " -"check out the tree to some directory, which may consume considerable space " -"in case of large projects. By default it does this in the '.git-rewrite/' " -"directory but you can override that choice by this parameter." -msgstr "" +"Like '-C', but with `-c` the editor is invoked, so that the user can further " +"edit the commit message." +msgstr "Comme '-C', mais avec '-c', l'챕diteur est appel챕 pour permettre 횪 l'utilisateur de modifier le message de validation." + +#. type: Labeled list +#: en/git-commit.txt:83 +#, no-wrap +msgid "--fixup=<commit>" +msgstr "--fixup=<commit>" #. type: Plain text -#: en/git-filter-branch.txt:194 +#: en/git-commit.txt:88 +#, fuzzy msgid "" -"'git filter-branch' refuses to start with an existing temporary directory or " -"when there are already refs starting with 'refs/original/', unless forced." -msgstr "" +"Construct a commit message for use with `rebase --autosquash`. The commit " +"message will be the subject line from the specified commit with a prefix of " +"\"fixup! \". See linkgit:git-rebase[1] for details." +msgstr "Construire un message de validation pour une utilisation avec `rebase --autosquash`. Le message de validation sera la ligne de titre du commit sp챕cifi챕 pr챕fix챕 de 짬혻fixup! 혻쨩. R챕f챕rez-vous 횪 linkgit:git-rebase[1] pour de plus amples d챕tails." #. type: Labeled list -#: en/git-filter-branch.txt:195 +#: en/git-commit.txt:89 #, no-wrap -msgid "<rev-list options>..." -msgstr "" +msgid "--squash=<commit>" +msgstr "--squash=<commit>" #. type: Plain text -#: en/git-filter-branch.txt:200 +#: en/git-commit.txt:95 msgid "" -"Arguments for 'git rev-list'. All positive refs included by these options " -"are rewritten. You may also specify options such as `--all`, but you must " -"use `--` to separate them from the 'git filter-branch' options. Implies " -"<<Remap_to_ancestor>>." -msgstr "" +"Construct a commit message for use with `rebase --autosquash`. The commit " +"message subject line is taken from the specified commit with a prefix of " +"\"squash! \". Can be used with additional commit message options (`-m`/`-c`/" +"`-C`/`-F`). See linkgit:git-rebase[1] for details." +msgstr "Construire un message de validation pour une utilisation avec `rebase --autosquash`. La ligne de titre du message de validation est tir챕e du commit sp챕cifi챕 pr챕fix챕 par 짬혻squash!혻쨩. Peut 챗tre utilis챕 avec d'autres options de 'commit' (`-m`/`-c`/`-C`/`-F`). R챕f챕rez-vous 횪 linkgit:git-rebase[1] pour plus de d챕tails." -#. type: Title ~ -#: en/git-filter-branch.txt:204 +#. type: Labeled list +#: en/git-commit.txt:96 #, no-wrap -msgid "Remap to ancestor" -msgstr "" +msgid "--reset-author" +msgstr "--reset-author" #. type: Plain text -#: en/git-filter-branch.txt:211 +#: en/git-commit.txt:101 msgid "" -"By using linkgit:git-rev-list[1] arguments, e.g., path limiters, you can " -"limit the set of revisions which get rewritten. However, positive refs on " -"the command line are distinguished: we don't let them be excluded by such " -"limiters. For this purpose, they are instead rewritten to point at the " -"nearest ancestor that was not excluded." -msgstr "" +"When used with -C/-c/--amend options, or when committing after a a " +"conflicting cherry-pick, declare that the authorship of the resulting commit " +"now belongs to the committer. This also renews the author timestamp." +msgstr "Utilis챕 avec les options -C/-c/--amend ou lors de validation apr챔s un picorage conflictuel, d챕clarer que la paternit챕 du commit r챕sultant appartient 횪 pr챕sent au validateur avec un horodatage mis 횪 jour." + +#. type: Labeled list +#: en/git-commit.txt:102 en/git-rev-parse.txt:139 en/git-status.txt:28 +#: en/git-symbolic-ref.txt:45 +#, no-wrap +msgid "--short" +msgstr "--short" #. type: Plain text -#: en/git-filter-branch.txt:218 +#: en/git-commit.txt:105 msgid "" -"Suppose you want to remove a file (containing confidential information or " -"copyright violation) from all commits:" -msgstr "" +"When doing a dry-run, give the output in the short-format. See linkgit:git-" +"status[1] for details. Implies `--dry-run`." +msgstr "Seulement avec '--dry-run', fournir la sortie en format court. Voir linkgit:git-status[1] pour plus de d챕tails." -#. type: delimited block - -#: en/git-filter-branch.txt:221 +#. type: Labeled list +#: en/git-commit.txt:106 en/git-status.txt:32 en/git-submodule.txt:280 #, no-wrap -msgid "git filter-branch --tree-filter 'rm filename' HEAD\n" -msgstr "" +msgid "--branch" +msgstr "--branch" #. type: Plain text -#: en/git-filter-branch.txt:226 -msgid "" -"However, if the file is absent from the tree of some commit, a simple `rm " -"filename` will fail for that tree and commit. Thus you may instead want to " -"use `rm -f filename` as the script." -msgstr "" +#: en/git-commit.txt:108 en/git-status.txt:34 +msgid "Show the branch and tracking info even in short-format." +msgstr "Montrer la branche et l'information de suivi, y compris en format court." #. type: Plain text -#: en/git-filter-branch.txt:232 +#: en/git-commit.txt:113 msgid "" -"Using `--index-filter` with 'git rm' yields a significantly faster version. " -"Like with using `rm filename`, `git rm --cached filename` will fail if the " -"file is absent from the tree of a commit. If you want to \"completely forget" -"\" a file, it does not matter when it entered history, so we also add `--" -"ignore-unmatch`:" -msgstr "" +"When doing a dry-run, give the output in a porcelain-ready format. See " +"linkgit:git-status[1] for details. Implies `--dry-run`." +msgstr "Seulement avec '--dry-run', donner la sortie en format compatible porcelaine. Voir linkgit:git-status[1] pour plus de d챕tails." -#. type: delimited block - -#: en/git-filter-branch.txt:235 +#. type: Labeled list +#: en/git-commit.txt:114 en/git-describe.txt:74 en/git-ls-tree.txt:52 +#: en/git-status.txt:44 #, no-wrap -msgid "git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' HEAD\n" -msgstr "" - -#. type: Plain text -#: en/git-filter-branch.txt:238 -msgid "Now, you will get the rewritten history saved in HEAD." -msgstr "" +msgid "--long" +msgstr "--long" #. type: Plain text -#: en/git-filter-branch.txt:241 +#: en/git-commit.txt:117 msgid "" -"To rewrite the repository to look as if `foodir/` had been its project root, " -"and discard all other history:" -msgstr "" +"When doing a dry-run, give the output in a the long-format. Implies `--dry-" +"run`." +msgstr "Seulement avec '--dry-run', donner la sortie en format long." -#. type: delimited block - -#: en/git-filter-branch.txt:244 +#. type: Labeled list +#: en/git-commit.txt:119 en/git-config.txt:184 en/git-grep.txt:197 #, no-wrap -msgid "git filter-branch --subdirectory-filter foodir -- --all\n" -msgstr "" +msgid "--null" +msgstr "--null" #. type: Plain text -#: en/git-filter-branch.txt:249 +#: en/git-commit.txt:126 msgid "" -"Thus you can, e.g., turn a library subdirectory into a repository of its " -"own. Note the `--` that separates 'filter-branch' options from revision " -"options, and the `--all` to rewrite all branches and tags." -msgstr "" +"When showing `short` or `porcelain` status output, print the filename " +"verbatim and terminate the entries with NUL, instead of LF. If no format is " +"given, implies the `--porcelain` output format. Without the `-z` option, " +"filenames with \"unusual\" characters are quoted as explained for the " +"configuration variable `core.quotePath` (see linkgit:git-config[1])." +msgstr "Avec les sorties de status `short` ou `porcelain`, afficher le nom du fichier verbatim et terminer par NUL, au lieu de LF. Si aucun format n'est sp챕cifi챕, implique `--porcelain`. Sans l'option `-z`, les noms de fichier contenant des caract챔res 짬혻inusuels혻쨩 sont cit챕s selon la variable de configuration `core.quotePath` (voir linkgit:git-config[1]). " + +#. type: Labeled list +#: en/git-commit.txt:128 en/git-notes.txt:141 en/git-tag.txt:139 +#, no-wrap +msgid "--file=<file>" +msgstr "--file=<fichier>" #. type: Plain text -#: en/git-filter-branch.txt:253 +#: en/git-commit.txt:131 msgid "" -"To set a commit (which typically is at the tip of another history) to be the " -"parent of the current initial commit, in order to paste the other history " -"behind the current history:" +"Take the commit message from the given file. Use '-' to read the message " +"from the standard input." msgstr "" +"Prendre le message de validation depuis le fichier indiqu챕. Utilisez '-' " +"pour lire le message depuis l'entr챕e standard." -#. type: delimited block - -#: en/git-filter-branch.txt:256 +#. type: Labeled list +#: en/git-commit.txt:132 #, no-wrap -msgid "git filter-branch --parent-filter 'sed \"s/^\\$/-p <graft-id>/\"' HEAD\n" -msgstr "" +msgid "--author=<author>" +msgstr "--author=<auteur>" #. type: Plain text -#: en/git-filter-branch.txt:262 +#: en/git-commit.txt:138 msgid "" -"(if the parent string is empty - which happens when we are dealing with the " -"initial commit - add graftcommit as a parent). Note that this assumes " -"history with a single root (that is, no merge without common ancestors " -"happened). If this is not the case, use:" -msgstr "" +"Override the commit author. Specify an explicit author using the standard `A " +"U Thor <author@example.com>` format. Otherwise <author> is assumed to be a " +"pattern and is used to search for an existing commit by that author (i.e. " +"rev-list --all -i --author=<author>); the commit author is then copied from " +"the first such commit found." +msgstr "Surcharger l'auteur du commit. Sp챕cifier un auteur explicite avec le format standard `A U Teur <auteur@exemple.com>`. Sinon <auteur> est consid챕r챕 comme un patron utilis챕 pour chercher un commit existant par cet auteur (c-횪-d rev-list --all -i --author=<auteur>)혻; l'auteur du commit est alors copi챕 depuis le premier commit trouv챕." -#. type: delimited block - -#: en/git-filter-branch.txt:266 +#. type: Labeled list +#: en/git-commit.txt:139 #, no-wrap -msgid "" -"git filter-branch --parent-filter \\\n" -"\t'test $GIT_COMMIT = <commit-id> && echo \"-p <graft-id>\" || cat' HEAD\n" -msgstr "" +msgid "--date=<date>" +msgstr "--date=<date>" #. type: Plain text -#: en/git-filter-branch.txt:269 -msgid "or even simpler:" -msgstr "" +#: en/git-commit.txt:141 +msgid "Override the author date used in the commit." +msgstr "Surcharger la date d'auteur utilis챕e dans le commit." -#. type: delimited block - -#: en/git-filter-branch.txt:273 +#. type: Labeled list +#: en/git-commit.txt:142 en/git-merge.txt:78 en/git-notes.txt:132 +#: en/git-tag.txt:130 #, no-wrap -msgid "" -"echo \"$commit-id $graft-id\" >> .git/info/grafts\n" -"git filter-branch $graft-id..HEAD\n" -msgstr "" - -#. type: Plain text -#: en/git-filter-branch.txt:276 -msgid "To remove commits authored by \"Darl McBribe\" from the history:" -msgstr "" +msgid "-m <msg>" +msgstr "-m <msg>" -#. type: delimited block - -#: en/git-filter-branch.txt:285 +#. type: Labeled list +#: en/git-commit.txt:143 en/git-notes.txt:133 en/git-tag.txt:131 #, no-wrap -msgid "" -"git filter-branch --commit-filter '\n" -"\tif [ \"$GIT_AUTHOR_NAME\" = \"Darl McBribe\" ];\n" -"\tthen\n" -"\t\tskip_commit \"$@\";\n" -"\telse\n" -"\t\tgit commit-tree \"$@\";\n" -"\tfi' HEAD\n" -msgstr "" +msgid "--message=<msg>" +msgstr "--message=<msg>" #. type: Plain text -#: en/git-filter-branch.txt:288 -msgid "The function 'skip_commit' is defined as follows:" -msgstr "" +#: en/git-commit.txt:147 +msgid "" +"Use the given <msg> as the commit message. If multiple `-m` options are " +"given, their values are concatenated as separate paragraphs." +msgstr "Utiliser le <msg> fourni comme message de validation. Si plusieurs options `-m` sont fournies, leurs valeurs sont concat챕n챕es comme paragraphes s챕par챕s." -#. type: delimited block - -#: en/git-filter-branch.txt:300 +#. type: Labeled list +#: en/git-commit.txt:148 #, no-wrap -msgid "" -"skip_commit()\n" -"{\n" -"\tshift;\n" -"\twhile [ -n \"$1\" ];\n" -"\tdo\n" -"\t\tshift;\n" -"\t\tmap \"$1\";\n" -"\t\tshift;\n" -"\tdone;\n" -"}\n" -msgstr "" +msgid "-t <file>" +msgstr "-t <fichier>" + +#. type: Labeled list +#: en/git-commit.txt:149 +#, no-wrap +msgid "--template=<file>" +msgstr "--template=<fichier>" #. type: Plain text -#: en/git-filter-branch.txt:307 +#: en/git-commit.txt:158 msgid "" -"The shift magic first throws away the tree id and then the -p parameters. " -"Note that this handles merges properly! In case Darl committed a merge " -"between P1 and P2, it will be propagated properly and all children of the " -"merge will become merge commits with P1,P2 as their parents instead of the " -"merge commit." -msgstr "" +"When editing the commit message, start the editor with the contents in the " +"given file. The `commit.template` configuration variable is often used to " +"give this option implicitly to the command. This mechanism can be used by " +"projects that want to guide participants with some hints on what to write in " +"the message in what order. If the user exits the editor without editing the " +"message, the commit is aborted. This has no effect when a message is given " +"by other means, e.g. with the `-m` or `-F` options." +msgstr "� l'챕dition du message de validation, d챕marrer l'챕diteur avec le contenu du fichier indiqu챕. La variable de configuration `commit.template` est souvent utilis챕e pour fournir implicitement cette option 횪 la commande. Ce m챕canisme peut 챗tre utilis챕 par les projets qui souhaitent guider les collaborateurs avec une aide sur ce qu'il faut 챕crire dans le message et dans quel ordre. Si l'utilisateur sort de l'챕diteur sans changer le message, la validation est annul챕e. Ceci n'a aucun effet quand un message est fourni par un autre moyen, par exemple par les options `-m` ou `-F`." #. type: Plain text -#: en/git-filter-branch.txt:312 -#, no-wrap +#: en/git-commit.txt:167 msgid "" -"*NOTE* the changes introduced by the commits, and which are not reverted\n" -"by subsequent commits, will still be in the rewritten branch. If you want\n" -"to throw out _changes_ together with the commits, you should use the\n" -"interactive mode of 'git rebase'.\n" -msgstr "" +"Add Signed-off-by line by the committer at the end of the commit log " +"message. The meaning of a signoff depends on the project, but it typically " +"certifies that committer has the rights to submit this work under the same " +"license and agrees to a Developer Certificate of Origin (see http://" +"developercertificate.org/ for more information)." +msgstr "Ajouter une ligne Signed-off-by du validateur 횪 la fin du message de validation. La signification de signoff d챕pend du projet, mais ceci certifie typiquement que le validateur a les droits de soumettre son travail sous la m챗me licence et accepte un Certificat d'Origine de D챕veloppeur (voir http://developercertificate.org/ pour plus d'information). " + +#. type: Labeled list +#: en/git-commit.txt:169 en/git-rebase.txt:322 +#, no-wrap +msgid "--no-verify" +msgstr "--no-verify" #. type: Plain text -#: en/git-filter-branch.txt:316 +#: en/git-commit.txt:172 msgid "" -"You can rewrite the commit log messages using `--msg-filter`. For example, " -"'git svn-id' strings in a repository created by 'git svn' can be removed " -"this way:" -msgstr "" +"This option bypasses the pre-commit and commit-msg hooks. See also linkgit:" +"githooks[5]." +msgstr "Cette option court-circuite les crochets pre-commit et commit-msg. Voir aussi linkgit:githooks[5]." -#. type: delimited block - -#: en/git-filter-branch.txt:321 -#, no-wrap +#. type: Plain text +#: en/git-commit.txt:178 msgid "" -"git filter-branch --msg-filter '\n" -"\tsed -e \"/^git-svn-id:/d\"\n" -"'\n" -msgstr "" +"Usually recording a commit that has the exact same tree as its sole parent " +"commit is a mistake, and the command prevents you from making such a " +"commit. This option bypasses the safety, and is primarily for use by " +"foreign SCM interface scripts." +msgstr "G챕n챕ralement enregistrer un commit qui pointe sur la m챗me version que son unique parent est une erreur et la commande vous emp챗che de cr챕er un tel commit. Cette option court-circuite cette s챕curit챕 et sert principalement dans les scripts d'interface avec d'autres SCM." #. type: Plain text -#: en/git-filter-branch.txt:325 +#: en/git-commit.txt:184 msgid "" -"If you need to add 'Acked-by' lines to, say, the last 10 commits (none of " -"which is a merge), use this command:" -msgstr "" +"Like --allow-empty this command is primarily for use by foreign SCM " +"interface scripts. It allows you to create a commit with an empty commit " +"message without using plumbing commands like linkgit:git-commit-tree[1]." +msgstr "Comme --allow-empty cette commande est principalement utilis챕e par les scripts d'interface d'autres SCM. Elle vous permet de cr챕er un commit avec un message vide sans utiliser de commande de plomberie telle que linkgit:git-commit-tree[1]." -#. type: delimited block - -#: en/git-filter-branch.txt:331 +#. type: Labeled list +#: en/git-commit.txt:185 en/git-tag.txt:145 #, no-wrap -msgid "" -"git filter-branch --msg-filter '\n" -"\tcat &&\n" -"\techo \"Acked-by: Bugs Bunny <bunny@bugzilla.org>\"\n" -"' HEAD~10..HEAD\n" -msgstr "" +msgid "--cleanup=<mode>" +msgstr "--cleanup=<mode>" #. type: Plain text -#: en/git-filter-branch.txt:337 +#: en/git-commit.txt:189 msgid "" -"The `--env-filter` option can be used to modify committer and/or author " -"identity. For example, if you found out that your commits have the wrong " -"identity due to a misconfigured user.email, you can make a correction, " -"before publishing the project, like this:" -msgstr "" +"This option determines how the supplied commit message should be cleaned up " +"before committing. The '<mode>' can be `strip`, `whitespace`, `verbatim`, " +"`scissors` or `default`." +msgstr "Cette option d챕termine comment le message fourni doit 챗tre nettoy챕 avant la validation. Le '<mode>' peut 챗tre `strip`, `whitespace`, `verbatim`, `scissors` ou `default`." -#. type: delimited block - -#: en/git-filter-branch.txt:351 +#. type: Labeled list +#: en/git-commit.txt:191 #, no-wrap -msgid "" -"git filter-branch --env-filter '\n" -"\tif test \"$GIT_AUTHOR_EMAIL\" = \"root@localhost\"\n" -"\tthen\n" -"\t\tGIT_AUTHOR_EMAIL=john@example.com\n" -"\t\texport GIT_AUTHOR_EMAIL\n" -"\tfi\n" -"\tif test \"$GIT_COMMITTER_EMAIL\" = \"root@localhost\"\n" -"\tthen\n" -"\t\tGIT_COMMITTER_EMAIL=john@example.com\n" -"\t\texport GIT_COMMITTER_EMAIL\n" -"\tfi\n" -"' -- --all\n" -msgstr "" +msgid "strip" +msgstr "strip" #. type: Plain text -#: en/git-filter-branch.txt:357 +#: en/git-commit.txt:194 msgid "" -"To restrict rewriting to only part of the history, specify a revision range " -"in addition to the new branch name. The new branch name will point to the " -"top-most revision that a 'git rev-list' of this range will print." -msgstr "" - -#. type: Plain text -#: en/git-filter-branch.txt:359 -msgid "Consider this history:" +"Strip leading and trailing empty lines, trailing whitespace, commentary and " +"collapse consecutive empty lines." msgstr "" +"Retirer les lignes vides en d챕but et fin du message, les espaces de fin de " +"ligne, les commentaires et d챕dupliquer les lignes vides cons챕cutives." -#. type: delimited block - -#: en/git-filter-branch.txt:364 +#. type: Labeled list +#: en/git-commit.txt:194 #, no-wrap -msgid "" -" D--E--F--G--H\n" -" / /\n" -"A--B-----C\n" -msgstr "" +msgid "whitespace" +msgstr "whitespace" #. type: Plain text -#: en/git-filter-branch.txt:367 -msgid "To rewrite only commits D,E,F,G,H, but leave A, B and C alone, use:" -msgstr "" +#: en/git-commit.txt:196 +msgid "Same as `strip` except #commentary is not removed." +msgstr "Identique 횪 `strip` sauf que les #commentaires ne sont pas supprim챕s." -#. type: delimited block - -#: en/git-filter-branch.txt:370 +#. type: Labeled list +#: en/git-commit.txt:196 #, no-wrap -msgid "git filter-branch ... C..H\n" -msgstr "" +msgid "verbatim" +msgstr "verbatim" #. type: Plain text -#: en/git-filter-branch.txt:373 -msgid "To rewrite commits E,F,G,H, use one of these:" -msgstr "" +#: en/git-commit.txt:198 +msgid "Do not change the message at all." +msgstr "Laisser le message inchang챕." -#. type: delimited block - -#: en/git-filter-branch.txt:377 +#. type: Labeled list +#: en/git-commit.txt:198 #, no-wrap -msgid "" -"git filter-branch ... C..H --not D\n" -"git filter-branch ... D..H --not C\n" -msgstr "" +msgid "scissors" +msgstr "scissors" #. type: Plain text -#: en/git-filter-branch.txt:380 -msgid "To move the whole tree into a subdirectory, or remove it from there:" -msgstr "" - -#. type: delimited block - -#: en/git-filter-branch.txt:387 -#, no-wrap +#: en/git-commit.txt:204 +#, fuzzy +#| msgid "" +#| "Same as `whitespace`, except that everything from (and including) the " +#| "line \"`# ------------------------ >8 ------------------------`\" is " +#| "truncated if the message is to be edited. \"`#`\" can be customized with " +#| "core.commentChar." msgid "" -"git filter-branch --index-filter \\\n" -"\t'git ls-files -s | sed \"s-\\t\\\"*-&newsubdir/-\" |\n" -"\t\tGIT_INDEX_FILE=$GIT_INDEX_FILE.new \\\n" -"\t\t\tgit update-index --index-info &&\n" -"\t mv \"$GIT_INDEX_FILE.new\" \"$GIT_INDEX_FILE\"' HEAD\n" +"Same as `whitespace`, except that everything from (and including) the line " +"\"`# ------------------------ >8 ------------------------`\" is truncated if " +"the message is to be edited. \"`#`\" can be customized with core.commentChar." msgstr "" +"Identique 횪 `whitespace`, 횪 l'exception que tout 횪 partir de la ligne \"`# " +"------------------------ >8 ------------------------`\" incluse sera 챕limin챕 " +"si le message est 챕dit챕. \"`#`\" peut 챗tre personnalis챕 gr창ce 횪 core." +"commentChar." -#. type: Title - -#: en/git-filter-branch.txt:392 +#. type: Labeled list +#: en/git-commit.txt:204 #, no-wrap -msgid "Checklist for Shrinking a Repository" -msgstr "" +msgid "default" +msgstr "default" #. type: Plain text -#: en/git-filter-branch.txt:400 +#: en/git-commit.txt:207 msgid "" -"git-filter-branch can be used to get rid of a subset of files, usually with " -"some combination of `--index-filter` and `--subdirectory-filter`. People " -"expect the resulting repository to be smaller than the original, but you " -"need a few more steps to actually make it smaller, because Git tries hard " -"not to lose your objects until you tell it to. First make sure that:" +"Same as `strip` if the message is to be edited. Otherwise `whitespace`." msgstr "" +"Identique 횪 `strip` si le messages est 챕dit챕. Sinon identique 횪 `whitespace`." #. type: Plain text -#: en/git-filter-branch.txt:404 +#: en/git-commit.txt:211 msgid "" -"You really removed all variants of a filename, if a blob was moved over its " -"lifetime. `git log --name-only --follow --all -- filename` can help you " -"find renames." +"The default can be changed by the `commit.cleanup` configuration variable " +"(see linkgit:git-config[1])." msgstr "" +"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " +"`commit.cleanup` (voir linkgit:git-config[1])." #. type: Plain text -#: en/git-filter-branch.txt:407 +#: en/git-commit.txt:218 msgid "" -"You really filtered all refs: use `--tag-name-filter cat -- --all` when " -"calling git-filter-branch." -msgstr "" +"The message taken from file with `-F`, command line with `-m`, and from " +"commit object with `-C` are usually used as the commit log message " +"unmodified. This option lets you further edit the message taken from these " +"sources." +msgstr "Le message tir챕 d'un fichier avec `-F`, ou de la ligne de commande avec `-m`, ou depuis un objet commit avec `-C` est g챕n챕ralement utilis챕 sans modification. Cette option permet d'챕diter au passage le message tir챕 de ces sources." + +#. type: Labeled list +#: en/git-commit.txt:219 en/git-revert.txt:65 en/merge-options.txt:12 +#, no-wrap +msgid "--no-edit" +msgstr "--no-edit" #. type: Plain text -#: en/git-filter-branch.txt:410 +#: en/git-commit.txt:223 msgid "" -"Then there are two ways to get a smaller repository. A safer way is to " -"clone, that keeps your original intact." -msgstr "" +"Use the selected commit message without launching an editor. For example, " +"`git commit --amend --no-edit` amends a commit without changing its commit " +"message." +msgstr "Utiliser le message de validation s챕lectionn챕 sans lancer d'챕diteur. Par exemple, `git commit --amend --no-edit` corrige un commit sans changer son message de validation." + +#. type: Labeled list +#: en/git-commit.txt:224 +#, no-wrap +msgid "--amend" +msgstr "--amend" #. type: Plain text -#: en/git-filter-branch.txt:414 +#: en/git-commit.txt:234 +#, fuzzy msgid "" -"Clone it with `git clone file:///path/to/repo`. The clone will not have the " -"removed objects. See linkgit:git-clone[1]. (Note that cloning with a plain " -"path just hardlinks everything!)" -msgstr "" +"Replace the tip of the current branch by creating a new commit. The recorded " +"tree is prepared as usual (including the effect of the `-i` and `-o` options " +"and explicit pathspec), and the message from the original commit is used as " +"the starting point, instead of an empty message, when no other message is " +"specified from the command line via options such as `-m`, `-F`, `-c`, etc. " +"The new commit has the same parents and author as the current one (the `--" +"reset-author` option can countermand this)." +msgstr "Remplacer le sommet de la branche actuelle en cr챕ant un nouveau commit. L'arbre enregistr챕 est pr챕par챕 comme d'habitude (incluant l'effet des options `-i` et `-o` et les sp챕cificateurs explicites de chemin) et le message du commit originel est utilis챕 comme point de d챕part au lieu d'un message vide, quand aucun autre message n'est sp챕cifi챕 횪 la ligne de commande via des options telles que `-m`, `-F`, `-c`, etc. Le nouveau commit a les m챗mes parents et auteur que l'originel (l'option `--reset-author` peut modifier l'auteur)." #. type: Plain text -#: en/git-filter-branch.txt:419 +#: en/git-commit.txt:237 +msgid "It is a rough equivalent for:" +msgstr "C'est un 챕quivalent grossier de혻:" + +#. type: delimited block - +#: en/git-commit.txt:241 +#, no-wrap msgid "" -"If you really don't want to clone it, for whatever reasons, check the " -"following points instead (in this order). This is a very destructive " -"approach, so *make a backup* or go back to cloning it. You have been warned." +"\t$ git reset --soft HEAD^\n" +"\t$ ... do something else to come up with the right tree ...\n" +"\t$ git commit -c ORIG_HEAD\n" msgstr "" +"\t$ git reset --soft HEAD^\n" +"\t$ ... faire autre chose pour obtenir l'arbre correct ...\n" +"\t$ git commit -c ORIG_HEAD\n" #. type: Plain text -#: en/git-filter-branch.txt:423 +#: en/git-commit.txt:244 +msgid "but can be used to amend a merge commit." +msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." + +#. type: Plain text +#: en/git-commit.txt:249 msgid "" -"Remove the original refs backed up by git-filter-branch: say `git for-each-" -"ref --format=\"%(refname)\" refs/original/ | xargs -n 1 git update-ref -d`." +"You should understand the implications of rewriting history if you amend a " +"commit that has already been published. (See the \"RECOVERING FROM UPSTREAM " +"REBASE\" section in linkgit:git-rebase[1].)" msgstr "" +"Vous devriez comprendre les implications d'une r챕챕criture de l'historique si " +"vous modifiez un commit qui a d챕j횪 챕t챕 publi챕 (Voir la section 짬혻RATTRAPPER " +"UN REBASAGE AMONT혻쨩 dans linkgit:git-rebase[1])." + +#. type: Labeled list +#: en/git-commit.txt:250 +#, no-wrap +msgid "--no-post-rewrite" +msgstr "--no-post-rewrite" #. type: Plain text -#: en/git-filter-branch.txt:425 -msgid "Expire all reflogs with `git reflog expire --expire=now --all`." -msgstr "" +#: en/git-commit.txt:252 +msgid "Bypass the post-rewrite hook." +msgstr "Court-circuiter le crochet post-rewrite." + +#. type: Labeled list +#: en/git-commit.txt:254 +#, no-wrap +msgid "--include" +msgstr "--include" #. type: Plain text -#: en/git-filter-branch.txt:429 +#: en/git-commit.txt:259 msgid "" -"Garbage collect all unreferenced objects with `git gc --prune=now` (or if " -"your git-gc is not new enough to support arguments to `--prune`, use `git " -"repack -ad; git prune` instead)." -msgstr "" +"Before making a commit out of staged contents so far, stage the contents of " +"paths given on the command line as well. This is usually not what you want " +"unless you are concluding a conflicted merge." +msgstr "Avant de cr챕er un commit 횪 partir du contenu index챕 jusqu'횪 pr챕sent, indexer aussi les contenus des chemins fournis sur la ligne de commande. Cela n'est habituellement pas ce que vous souhaitez, 횪 part si vous terminez une fusion conflictuelle." + +#. type: Labeled list +#: en/git-commit.txt:261 +#, no-wrap +msgid "--only" +msgstr "--only" #. type: Plain text -#: en/git-filter-branch.txt:441 +#: en/git-commit.txt:273 msgid "" -"git-filter-branch allows you to make complex shell-scripted rewrites of your " -"Git history, but you probably don't need this flexibility if you're simply " -"_removing unwanted data_ like large files or passwords. For those " -"operations you may want to consider http://rtyley.github.io/bfg-repo-cleaner/" -"[The BFG Repo-Cleaner], a JVM-based alternative to git-filter-branch, " -"typically at least 10-50x faster for those use-cases, and with quite " -"different characteristics:" -msgstr "" +"Make a commit by taking the updated working tree contents of the paths " +"specified on the command line, disregarding any contents that have been " +"staged for other paths. This is the default mode of operation of 'git " +"commit' if any paths are given on the command line, in which case this " +"option can be omitted. If this option is specified together with `--amend`, " +"then no paths need to be specified, which can be used to amend the last " +"commit without committing changes that have already been staged. If used " +"together with `--allow-empty` paths are also not required, and an empty " +"commit will be created." +msgstr "R챕aliser une validation en prenant le contenu de l'arbre de travail des chemins sp챕cifi챕s sur la ligne de commande, en ignorant tout contenu d'autres chemins d챕j횪 index챕. C'est le mode d'op챕ration par d챕faut de 'git commit' si des chemins sont fournis sur la ligne de commande, auquel cas l'option peut 챗tre omise. Si cette option est sp챕cifi챕e en m챗me temps que `--amend`, alors il n'est pas n챕cessaire de sp챕cifier des chemins, ce qui peut 챗tre utile pour corriger le dernier commit sans valider les modifications qui ont d챕j횪 챕t챕 index챕es. Si utilis챕 avec `--allow-empty`, les chemins ne sont pas n챕cessaires non plus et un commit vide sera cr챕챕." + +#. type: Labeled list +#: en/git-commit.txt:274 en/git-status.txt:55 +#, no-wrap +msgid "-u[<mode>]" +msgstr "-u[<mode>]" + +#. type: Labeled list +#: en/git-commit.txt:275 en/git-status.txt:56 +#, no-wrap +msgid "--untracked-files[=<mode>]" +msgstr "--untracked-files[=<mode>]" #. type: Plain text -#: en/git-filter-branch.txt:449 -msgid "" -"Any particular version of a file is cleaned exactly _once_. The BFG, unlike " -"git-filter-branch, does not give you the opportunity to handle a file " -"differently based on where or when it was committed within your history. " -"This constraint gives the core performance benefit of The BFG, and is well-" -"suited to the task of cleansing bad data - you don't care _where_ the bad " -"data is, you just want it _gone_." -msgstr "" +#: en/git-commit.txt:277 en/git-status.txt:58 +msgid "Show untracked files." +msgstr "Montrer les fichiers non-suivis." #. type: Plain text -#: en/git-filter-branch.txt:455 +#: en/git-commit.txt:281 msgid "" -"By default The BFG takes full advantage of multi-core machines, cleansing " -"commit file-trees in parallel. git-filter-branch cleans commits sequentially " -"(i.e. in a single-threaded manner), though it _is_ possible to write filters " -"that include their own parallelism, in the scripts executed against each " -"commit." +"The mode parameter is optional (defaults to 'all'), and is used to specify " +"the handling of untracked files; when -u is not used, the default is " +"'normal', i.e. show untracked files and directories." msgstr "" +"Le param챔tre de mode est optionnel (par d챕faut, 'all') et sert 횪 sp챕cifier " +"la gestion des fichiers non suivis ; quand -u n'est pas utilis챕, le mode par " +"d챕faut est 'normal', c'est-횪-dire montrer les fichiers et les dossiers non-" +"suivis." #. type: Plain text -#: en/git-filter-branch.txt:460 -msgid "" -"The http://rtyley.github.io/bfg-repo-cleaner/#examples[command options] are " -"much more restrictive than git-filter branch, and dedicated just to the " -"tasks of removing unwanted data- e.g: `--strip-blobs-bigger-than 1M`." -msgstr "" +#: en/git-commit.txt:283 en/git-status.txt:64 +msgid "The possible options are:" +msgstr "Les options possibles sont혻:" -#. type: Title = -#: en/git-fmt-merge-msg.txt:2 +#. type: Plain text +#: en/git-commit.txt:285 #, no-wrap -msgid "git-fmt-merge-msg(1)" -msgstr "" +msgid "'no' - Show no untracked files\n" +msgstr "'no' - Ne montrer aucun fichier non-suivi\n" #. type: Plain text -#: en/git-fmt-merge-msg.txt:7 -msgid "git-fmt-merge-msg - Produce a merge commit message" -msgstr "" +#: en/git-commit.txt:286 +#, no-wrap +msgid "'normal' - Shows untracked files and directories\n" +msgstr "'normal' - Montrer les fichiers et les dossiers non-suivis\n" #. type: Plain text -#: en/git-fmt-merge-msg.txt:14 +#: en/git-commit.txt:287 en/git-status.txt:68 #, no-wrap +msgid "'all' - Also shows individual files in untracked directories.\n" +msgstr "'all' - Montrer aussi les fichiers individuels dans les dossiers non-suivis.\n" + +#. type: Plain text +#: en/git-commit.txt:290 en/git-status.txt:81 msgid "" -"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log]\n" -"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log] -F <file>\n" +"The default can be changed using the status.showUntrackedFiles configuration " +"variable documented in linkgit:git-config[1]." msgstr "" +"La valeur par d챕faut est contenue dans la variable de configuration status." +"showUntrackedFiles document챕e dans linkgit:git-config[1]." #. type: Plain text -#: en/git-fmt-merge-msg.txt:20 +#: en/git-commit.txt:301 msgid "" -"Takes the list of merged objects on stdin and produces a suitable commit " -"message to be used for the merge commit, usually to be passed as the '<merge-" -"message>' argument of 'git merge'." -msgstr "" +"Show unified diff between the HEAD commit and what would be committed at the " +"bottom of the commit message template to help the user describe the commit " +"by reminding what changes the commit has. Note that this diff output " +"doesn't have its lines prefixed with '#'. This diff will not be a part of " +"the commit message. See the `commit.verbose` configuration variable in " +"linkgit:git-config[1]." +msgstr "Afficher en bas du mod챔le de message de validation un diff unifi챕 entre le commit HEAD et ce qui serait valid챕 pour aider l'utilisateur 횪 d챕crire le commit en lui rappelant les modifications qui seront valid챕es. Veuillez noter que cette sortie de diff n'est pas pr챕fix챕e par des '#'. Elle ne fera pas pour autant partie du message de validation. R챕f챕rez-vous 횪 la variable de configuration `commit.verbose` dans linkgit:git-config[1]. " #. type: Plain text -#: en/git-fmt-merge-msg.txt:23 +#: en/git-commit.txt:305 msgid "" -"This command is intended mostly for internal use by scripts automatically " -"invoking 'git merge'." +"If specified twice, show in addition the unified diff between what would be " +"committed and the worktree files, i.e. the unstaged changes to tracked files." msgstr "" +"Si sp챕cifi챕 deux fois, afficher en plus le diff unifi챕 entre ce qui serait " +"vali챕 et les fichiers de l'arbre de travail, c'est-횪-dire les modifications " +"non-index챕es des fichiers suivis." -#. type: Labeled list -#: en/git-fmt-merge-msg.txt:27 en/merge-options.txt:45 -#, no-wrap -msgid "--log[=<n>]" -msgstr "" +#. type: Plain text +#: en/git-commit.txt:309 +msgid "Suppress commit summary message." +msgstr "Supprimer le message de r챕sum챕 de commit." #. type: Plain text -#: en/git-fmt-merge-msg.txt:33 +#: en/git-commit.txt:314 msgid "" -"In addition to branch names, populate the log message with one-line " -"descriptions from the actual commits that are being merged. At most <n> " -"commits from each merge parent will be used (20 if <n> is omitted). This " -"overrides the `merge.log` configuration variable." -msgstr "" +"Do not create a commit, but show a list of paths that are to be committed, " +"paths with local changes that will be left uncommitted and paths that are " +"untracked." +msgstr "Ne pas cr챕er de commit, mais montrer une liste des chemins qui seront valid챕s, une de ceux contenant des modifications locales et qui ne seront pas valid챕s, et une de ceux non-suivis." #. type: Labeled list -#: en/git-fmt-merge-msg.txt:34 en/merge-options.txt:46 +#: en/git-commit.txt:315 #, no-wrap -msgid "--no-log" -msgstr "" +msgid "--status" +msgstr "--status" #. type: Plain text -#: en/git-fmt-merge-msg.txt:37 -msgid "Do not list one-line descriptions from the actual commits being merged." -msgstr "" +#: en/git-commit.txt:320 +msgid "" +"Include the output of linkgit:git-status[1] in the commit message template " +"when using an editor to prepare the commit message. Defaults to on, but can " +"be used to override configuration variable commit.status." +msgstr "Inclure la sortie de linkgit:git-status[1] dans le mod챔le de message de validation lors de l'utilisation d'un 챕diteur pour pr챕parer le message de validation. Activ챕 par d챕faut, mais peut surcharger la variable de configuration commit.status." #. type: Labeled list -#: en/git-fmt-merge-msg.txt:38 -#, no-wrap -msgid "--[no-]summary" -msgstr "" +#: en/git-commit.txt:321 +#, fuzzy, no-wrap +msgid "--no-status" +msgstr "--no-status" #. type: Plain text -#: en/git-fmt-merge-msg.txt:41 +#: en/git-commit.txt:325 msgid "" -"Synonyms to --log and --no-log; these are deprecated and will be removed in " -"the future." -msgstr "" - -#. type: Labeled list -#: en/git-fmt-merge-msg.txt:43 -#, no-wrap -msgid "--message <message>" -msgstr "" +"Do not include the output of linkgit:git-status[1] in the commit message " +"template when using an editor to prepare the default commit message." +msgstr "Ne pas inclure la sortie de linkgit:git-status[1] dans le mod챔le de message de validation lors de l'utilisation d'un 챕diteur pour pr챕parer le message de validation par d챕faut." #. type: Plain text -#: en/git-fmt-merge-msg.txt:46 +#: en/git-commit.txt:335 msgid "" -"Use <message> instead of the branch names for the first line of the log " -"message. For use with `--log`." -msgstr "" +"Countermand `commit.gpgSign` configuration variable that is set to force " +"each and every commit to be signed." +msgstr "Annuler la variable de configuration `commit.gpgSign` qui force tous les commits 횪 챗tre sign챕s." #. type: Labeled list -#: en/git-fmt-merge-msg.txt:48 +#: en/git-commit.txt:339 en/git-rm.txt:29 #, no-wrap -msgid "--file <file>" -msgstr "" +msgid "<file>..." +msgstr "<fichier>..." #. type: Plain text -#: en/git-fmt-merge-msg.txt:51 -#, fuzzy -#| msgid "" -#| "-F <file>::\n" -#| "--file=<file>::\n" -#| "\tTake the commit message from the given file. Use '-' to\n" -#| "\tread the message from the standard input.\n" -msgid "Take the list of merged objects from <file> instead of stdin." -msgstr "" -"-F <fichier>::\n" -"--file=<fichier>::\n" -"\tPrendre le message de validation depuis le fichier indiqu챕.\n" -"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" - -#. type: Labeled list -#: en/git-fmt-merge-msg.txt:56 -#, no-wrap -msgid "merge.summary" -msgstr "" +#: en/git-commit.txt:345 +msgid "" +"When files are given on the command line, the command commits the contents " +"of the named files, without recording the changes already staged. The " +"contents of these files are also staged for the next commit on top of what " +"have been staged before." +msgstr "Quand des chemins sont fournis sur la ligne de commande, la commande valide le contenu des fichiers sp챕cifi챕s, sans enregistrer les modifications d챕j횪 index챕es. Le contenu de ces fichiers est aussi index챕 pour le commit suivant par-dessus ce qui a 챕t챕 index챕 auparavant." #. type: Plain text -#: en/git-fmt-merge-msg.txt:59 +#: en/git-commit.txt:362 msgid "" -"Synonym to `merge.log`; this is deprecated and will be removed in the future." -msgstr "" +"When recording your own work, the contents of modified files in your working " +"tree are temporarily stored to a staging area called the \"index\" with 'git " +"add'. A file can be reverted back, only in the index but not in the working " +"tree, to that of the last commit with `git reset HEAD -- <file>`, which " +"effectively reverts 'git add' and prevents the changes to this file from " +"participating in the next commit. After building the state to be committed " +"incrementally with these commands, `git commit` (without any pathname " +"parameter) is used to record what has been staged so far. This is the most " +"basic form of the command. An example:" +msgstr "Lors de l'enregistrement de votre propre travail, le contenu des fichiers modifi챕s dans votre arbre de travail est temporairement stock챕 au moyen de `git add` dans une zone de stockage interm챕diaire appel챕e 짬혻l'index혻쨩. Un fichier peut n'챗tre ramen챕 횪 son contenu correspondant au dernier commit seulement dans l'index mais pas dans l'arbre de travail gr창ce 횪 `git reset HEAD -- <fichier>`, ce qui inverse effectivement le 'git add' et emp챗che les modifications de ce fichier de participer 횪 la prochaine validation. Apr챔s avoir construit l'챕tat 횪 valider de mani챔re incr챕mentale avec ces commandes, `git commit` (sans aucun nom de chemin en param챔tre) sert 횪 enregistrer ce qui a 챕t챕 pr챕par챕 jusqu'ici. C'est la forme la plus simple de la commande. Par exemple혻:" #. type: delimited block - -#: en/git-fmt-merge-msg.txt:66 +#: en/git-commit.txt:368 #, no-wrap msgid "" -"$ git fetch origin master\n" -"$ git fmt-merge-msg --log <$GIT_DIR/FETCH_HEAD\n" +"$ edit hello.c\n" +"$ git rm goodbye.c\n" +"$ git add hello.c\n" +"$ git commit\n" msgstr "" +"$ edit hello.c\n" +"$ git rm goodbye.c\n" +"$ git add hello.c\n" +"$ git commit\n" #. type: Plain text -#: en/git-fmt-merge-msg.txt:70 +#: en/git-commit.txt:376 msgid "" -"Print a log message describing a merge of the \"master\" branch from the " -"\"origin\" remote." -msgstr "" - -#. type: Labeled list -#: en/git-fmt-merge-msg.txt:75 en/cmds-mainporcelain.txt:64 -#, no-wrap -msgid "linkgit:git-merge[1]" +"Instead of staging files after each individual change, you can tell `git " +"commit` to notice the changes to the files whose contents are tracked in " +"your working tree and do corresponding `git add` and `git rm` for you. That " +"is, this example does the same as the earlier example if there is no other " +"change in your working tree:" msgstr "" +"Au lieu d'indexer les fichiers apr챔s chaque modification individuelle, vous " +"pouvez ordonner 횪 `git commit` d'observer les modifications aux fichiers " +"dans le contenu est d챕j횪 suivi dans votre arbre de travail et de r챕aliser " +"les `git add` et `git rm` correspondant pour vous. De fait, l'exemple " +"suivant fait la m챗me chose que l'exemple pr챕c챕dent si aucune autre " +"modification n'a eu lieu dans votre arbre de travail혻:" -#. type: Title = -#: en/git-for-each-ref.txt:2 +#. type: delimited block - +#: en/git-commit.txt:381 #, no-wrap -msgid "git-for-each-ref(1)" +msgid "" +"$ edit hello.c\n" +"$ rm goodbye.c\n" +"$ git commit -a\n" msgstr "" - -# -#. type: Plain text -#: en/git-for-each-ref.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-for-each-ref - Output information on each ref" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +"$ edit hello.c\n" +"$ rm goodbye.c\n" +"$ git commit -a\n" #. type: Plain text -#: en/git-for-each-ref.txt:15 -#, no-wrap +#: en/git-commit.txt:386 msgid "" -"'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]\n" -"\t\t [(--sort=<key>)...] [--format=<format>] [<pattern>...]\n" -"\t\t [--points-at <object>] [(--merged | --no-merged) [<object>]]\n" -"\t\t [--contains [<object>]]\n" +"The command `git commit -a` first looks at your working tree, notices that " +"you have modified hello.c and removed goodbye.c, and performs necessary `git " +"add` and `git rm` for you." msgstr "" +"La commande `git commit -a` observe votre arbre de travail, remarque que " +"vous avez modifi챕 hello.c et supprim챕 goodbye.c, puis r챕alise les `git add` " +"et `git rm` n챕cessaires pour vous." #. type: Plain text -#: en/git-for-each-ref.txt:25 +#: en/git-commit.txt:391 msgid "" -"Iterate over all refs that match `<pattern>` and show them according to the " -"given `<format>`, after sorting them according to the given set of `<key>`. " -"If `<count>` is given, stop after showing that many refs. The interpolated " -"values in `<format>` can optionally be quoted as string literals in the " -"specified host language allowing their direct evaluation in that language." +"After staging changes to many files, you can alter the order the changes are " +"recorded in, by giving pathnames to `git commit`. When pathnames are given, " +"the command makes a commit that only records the changes made to the named " +"paths:" msgstr "" +"Apr챔s l'indexation des modifications de nombreux fichiers, vous pouvez " +"modifier l'ordre dans lequel les modifications sont enregistr챕es, en " +"fournissant des chemins 횪 `git commit`. Quand ces chemins sont fournis, la " +"commande cr챕e un commit qui n'enregistre que les modifications aux chemins " +"indiqu챕s혻: " -#. type: Labeled list -#: en/git-for-each-ref.txt:28 +#. type: delimited block - +#: en/git-commit.txt:397 #, no-wrap -msgid "<count>" +msgid "" +"$ edit hello.c hello.h\n" +"$ git add hello.c hello.h\n" +"$ edit Makefile\n" +"$ git commit Makefile\n" msgstr "" +"$ edit hello.c hello.h\n" +"$ git add hello.c hello.h\n" +"$ edit Makefile\n" +"$ git commit Makefile\n" #. type: Plain text -#: en/git-for-each-ref.txt:32 +#: en/git-commit.txt:404 msgid "" -"By default the command shows all refs that match `<pattern>`. This option " -"makes it stop after showing that many refs." +"This makes a commit that records the modification to `Makefile`. The " +"changes staged for `hello.c` and `hello.h` are not included in the resulting " +"commit. However, their changes are not lost -- they are still staged and " +"merely held back. After the above sequence, if you do:" msgstr "" +"Ceci cr챕e un commit qui enregistre les modifications de `Makefile`. Les " +"modifications index챕es pour `hello.c` et `hello.h` ne sont pas incluses dans " +"le commit r챕sultant. Cependant, leurs modifications ne sont pas perdues -- " +"elles sont toujours index챕es et simplement suspendues. Apr챔s la s챕quence ci-" +"dessus, si vous faites혻:" -#. type: Labeled list -#: en/git-for-each-ref.txt:33 +#. type: delimited block - +#: en/git-commit.txt:407 en/git-commit.txt:433 #, no-wrap -msgid "<key>" -msgstr "" +msgid "$ git commit\n" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-for-each-ref.txt:39 +#: en/git-commit.txt:411 msgid "" -"A field name to sort on. Prefix `-` to sort in descending order of the " -"value. When unspecified, `refname` is used. You may use the --sort=<key> " -"option multiple times, in which case the last key becomes the primary key." +"this second commit would record the changes to `hello.c` and `hello.h` as " +"expected." msgstr "" - -#. type: Labeled list -#: en/git-for-each-ref.txt:40 en/git-tag.txt:170 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "<format>" -msgstr "Configuration" +"cette seconde validation enregistrerait les modifications de `hello.c` et " +"`hello.h` comme attendu." #. type: Plain text -#: en/git-for-each-ref.txt:51 +#: en/git-commit.txt:419 msgid "" -"A string that interpolates `%(fieldname)` from the object pointed at by a " -"ref being shown. If `fieldname` is prefixed with an asterisk (`*`) and the " -"ref points at a tag object, the value for the field in the object tag refers " -"is used. When unspecified, defaults to `%(objectname) SPC %(objecttype) TAB " -"%(refname)`. It also interpolates `%%` to `%`, and `%xx` where `xx` are hex " -"digits interpolates to character with hex code `xx`; for example `%00` " -"interpolates to `\\0` (NUL), `%09` to `\\t` (TAB) and `%0a` to `\\n` (LF)." +"After a merge (initiated by 'git merge' or 'git pull') stops because of " +"conflicts, cleanly merged paths are already staged to be committed for you, " +"and paths that conflicted are left in unmerged state. You would have to " +"first check which paths are conflicting with 'git status' and after fixing " +"them manually in your working tree, you would stage the result as usual with " +"'git add':" msgstr "" +"Apr챔s l'arr챗t d'une fusion (commenc챕e avec `git merge` ou `git pull`) pour " +"cause de conflit, les chemins fusionn챕s proprement sont d챕j횪 index챕s pour " +"vous, et les chemins en conflit sont laiss챕 dans un 챕tat non-fusionn챕. Vous " +"auriez 횪 chercher d'abord les chemins en conflit avec `git status` et apr챔s " +"les avoir corrig챕s manuellement dans votre copie de travail, vous les " +"indexeriez comme d'habitude avec `git add`혻:" -#. type: Labeled list -#: en/git-for-each-ref.txt:52 en/git-show-ref.txt:88 +#. type: delimited block - +#: en/git-commit.txt:425 #, no-wrap -msgid "<pattern>..." +msgid "" +"$ git status | grep unmerged\n" +"unmerged: hello.c\n" +"$ edit hello.c\n" +"$ git add hello.c\n" msgstr "" +"$ git status | grep non-fusionn챕\n" +"non-fusionn챕혻: hello.c\n" +"$ edit hello.c\n" +"$ git add hello.c\n" #. type: Plain text -#: en/git-for-each-ref.txt:57 +#: en/git-commit.txt:430 msgid "" -"If one or more patterns are given, only refs are shown that match against at " -"least one pattern, either using fnmatch(3) or literally, in the latter case " -"matching completely or from the beginning up to a slash." +"After resolving conflicts and staging the result, `git ls-files -u` would " +"stop mentioning the conflicted path. When you are done, run `git commit` to " +"finally record the merge:" msgstr "" +"Apr챔s avoir r챕solu les conflits et index챕 le r챕sultat, `git ls-files -u` " +"arr챗terait de mentionner les chemins en conflit. Quand vous avez termin챕, " +"lancez `git commit` pour finaliser la validation de la fusion혻:" -#. type: Labeled list -#: en/git-for-each-ref.txt:58 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--shell" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/git-for-each-ref.txt:59 -#, no-wrap -msgid "--perl" +#. type: Plain text +#: en/git-commit.txt:441 +msgid "" +"As with the case to record your own changes, you can use `-a` option to save " +"typing. One difference is that during a merge resolution, you cannot use " +"`git commit` with pathnames to alter the order the changes are committed, " +"because the merge should be recorded as a single commit. In fact, the " +"command refuses to run when given pathnames (but see `-i` option)." msgstr "" +"Comme dans le cas de la validation de vos propres modifications, vous pouvez " +"utiliser l'option `-a` pour vous 챕pargner de la frappe. Une diff챕rence est " +"que pendant la r챕solution de fusion, vous ne pouvez pas utiliser `git " +"commit` avec des noms de chemin pour changer l'ordre des modifications 횪 " +"valider, parce que la fusion doit 챗tre enregistr챕e comme un commit unique. " +"En fait, la commande refuse d'챗tre lanc챕e avec des noms de chemin (voir par " +"contre l'option `-i`)." -#. type: Labeled list -#: en/git-for-each-ref.txt:60 -#, no-wrap -msgid "--python" +#. type: Plain text +#: en/git-commit.txt:453 +msgid "" +"Though not required, it's a good idea to begin the commit message with a " +"single short (less than 50 character) line summarizing the change, followed " +"by a blank line and then a more thorough description. The text up to the " +"first blank line in a commit message is treated as the commit title, and " +"that title is used throughout Git. For example, linkgit:git-format-patch[1] " +"turns a commit into email, and it uses the title on the Subject line and the " +"rest of the commit in the body." msgstr "" +"Bien que 챌a ne soit pas requis, c'est une bonne pratique de commencer les " +"messages de validation avec une courte ligne seule (moins de 50 caract챔res) " +"pour r챕sumer la modification, suivie d'une ligne blanche, suivie d'un " +"description plus pr챕cise. Le texte jusqu'횪 la ligne vide du message de " +"validation est trait챕 comme le titre du commit, et ce titre est utilis챕 " +"extensivement dans Git. Par exemple, linkgit:git-format-patch[1] transforme " +"un commit en courriel et utilise le titre comme sujet et le reste du texte " +"comme corps. " -#. type: Labeled list -#: en/git-for-each-ref.txt:61 +#. type: Title - +#: en/git-commit.txt:457 #, no-wrap -msgid "--tcl" -msgstr "" +msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" +msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" #. type: Plain text -#: en/git-for-each-ref.txt:66 +#: en/git-commit.txt:462 msgid "" -"If given, strings that substitute `%(fieldname)` placeholders are quoted as " -"string literals suitable for the specified host language. This is meant to " -"produce a scriptlet that can directly be `eval`ed." +"The editor used to edit the commit log message will be chosen from the " +"`GIT_EDITOR` environment variable, the core.editor configuration variable, " +"the `VISUAL` environment variable, or the `EDITOR` environment variable (in " +"that order). See linkgit:git-var[1] for details." msgstr "" +"L'챕diteur utilis챕 pour 챕diter le message de validation sera choisi dans " +"l'ordre de recherche depuis la variable d'environnement `GIT_EDITOR`, puis " +"depuis la variable de configuration `core.editor`, puis depuis la variable " +"d'environnement `VISUAL` ou la variable d'environnement `EDITOR`. Voir " +"linkgit:git-var[1] pour plus de d챕tails. " #. type: Plain text -#: en/git-for-each-ref.txt:69 -msgid "Only list refs which points at the given object." +#: en/git-commit.txt:468 +msgid "" +"This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, `post-" +"commit` and `post-rewrite` hooks. See linkgit:githooks[5] for more " +"information." msgstr "" +"Cette commande peut lancer les crochets `commit-msg`, `prepare-commit-msg`, " +"`pre-commit`, `post-commit` et `post-rewrite`. Voir linkgit:githooks[5] " +"pour de plus amples informations." #. type: Labeled list -#: en/git-for-each-ref.txt:70 +#: en/git-commit.txt:472 #, no-wrap -msgid "--merged [<object>]" -msgstr "" +msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" #. type: Plain text -#: en/git-for-each-ref.txt:73 +#: en/git-commit.txt:478 msgid "" -"Only list refs whose tips are reachable from the specified commit (HEAD if " -"not specified)." -msgstr "" - -#. type: Labeled list -#: en/git-for-each-ref.txt:74 -#, no-wrap -msgid "--no-merged [<object>]" +"This file contains the commit message of a commit in progress. If `git " +"commit` exits due to an error before creating a commit, any commit message " +"that has been provided by the user (e.g., in an editor session) will be " +"available in this file, but will be overwritten by the next invocation of " +"`git commit`." msgstr "" +"Ce fichier contient le message de validation en cours. Si `git commit` sort " +"횪 cause d'une erreur avant de cr챕er un commit, tout message de validation " +"fourni par l'utilisateur (par exemple dans une session d'챕diteur) sera " +"disponible dans ce fichier, mais sera 챕cras챕 par l'invocation suivante de " +"`git commit`." +# #. type: Plain text -#: en/git-for-each-ref.txt:77 +#: en/git-commit.txt:486 msgid "" -"Only list refs whose tips are not reachable from the specified commit (HEAD " -"if not specified)." +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/git-for-each-ref.txt:78 -#, no-wrap -msgid "--contains [<object>]" -msgstr "" +#. type: Title = +#: en/git-config.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-config(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-for-each-ref.txt:81 -msgid "" -"Only list refs which contain the specified commit (HEAD if not specified)." -msgstr "" +#: en/git-config.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-config - Get and set repository or global options" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Plain text -#: en/git-for-each-ref.txt:84 -msgid "Sorting and filtering refs are case insensitive." +#: en/git-config.txt:27 +#, no-wrap +msgid "" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] name [value [value_regex]]\n" +"'git config' [<file-option>] [type] --add name value\n" +"'git config' [<file-option>] [type] --replace-all name value [value_regex]\n" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get name [value_regex]\n" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get-all name [value_regex]\n" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]\n" +"'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL\n" +"'git config' [<file-option>] --unset name [value_regex]\n" +"'git config' [<file-option>] --unset-all name [value_regex]\n" +"'git config' [<file-option>] --rename-section old_name new_name\n" +"'git config' [<file-option>] --remove-section name\n" +"'git config' [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | --list\n" +"'git config' [<file-option>] --get-color name [default]\n" +"'git config' [<file-option>] --get-colorbool name [stdout-is-tty]\n" +"'git config' [<file-option>] -e | --edit\n" msgstr "" -#. type: Title - -#: en/git-for-each-ref.txt:86 -#, no-wrap -msgid "FIELD NAMES" +#. type: Plain text +#: en/git-config.txt:33 +msgid "" +"You can query/set/replace/unset options with this command. The name is " +"actually the section and the key separated by a dot, and the value will be " +"escaped." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:91 +#: en/git-config.txt:40 msgid "" -"Various values from structured fields in referenced objects can be used to " -"interpolate into the resulting output, or as sort keys." +"Multiple lines can be added to an option by using the `--add` option. If " +"you want to update or unset an option which can occur on multiple lines, a " +"POSIX regexp `value_regex` needs to be given. Only the existing values that " +"match the regexp are updated or unset. If you want to handle the lines that " +"do *not* match the regex, just prepend a single exclamation mark in front " +"(see also <<EXAMPLES>>)." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:93 -msgid "For all objects, the following names can be used:" +#: en/git-config.txt:47 +msgid "" +"The type specifier can be either `--int` or `--bool`, to make 'git config' " +"ensure that the variable(s) are of the given type and convert the value to " +"the canonical form (simple decimal number for int, a \"true\" or \"false\" " +"string for bool), or `--path`, which does some path expansion (see `--path` " +"below). If no type specifier is passed, no checks or transformations are " +"performed on the value." msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:94 -#, no-wrap -msgid "refname" +#. type: Plain text +#: en/git-config.txt:52 +msgid "" +"When reading, the values are read from the system, global and repository " +"local configuration files by default, and options `--system`, `--global`, `--" +"local` and `--file <filename>` can be used to tell the command to read from " +"only that location (see <<FILES>>)." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:110 +#: en/git-config.txt:57 msgid "" -"The name of the ref (the part after $GIT_DIR/). For a non-ambiguous short " -"name of the ref append `:short`. The option core.warnAmbiguousRefs is used " -"to select the strict abbreviation mode. If `lstrip=<N>` (`rstrip=<N>`) is " -"appended, strips `<N>` slash-separated path components from the front (back) " -"of the refname (e.g. `%(refname:lstrip=2)` turns `refs/tags/foo` into `foo` " -"and `%(refname:rstrip=2)` turns `refs/tags/foo` into `refs`). If `<N>` is a " -"negative number, strip as many path components as necessary from the " -"specified end to leave `-<N>` path components (e.g. `%(refname:lstrip=-2)` " -"turns `refs/tags/foo` into `tags/foo` and `%(refname:rstrip=-1)` turns `refs/" -"tags/foo` into `refs`). When the ref does not have enough components, the " -"result becomes an empty string if stripping with positive <N>, or it becomes " -"the full refname if stripping with negative <N>. Neither is an error." +"When writing, the new value is written to the repository local configuration " +"file by default, and options `--system`, `--global`, `--file <filename>` can " +"be used to tell the command to write to that location (you can say `--local` " +"but that is the default)." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:112 -msgid "`strip` can be used as a synomym to `lstrip`." +#: en/git-config.txt:60 +msgid "" +"This command will fail with non-zero status upon error. Some exit codes are:" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:113 -#, no-wrap -msgid "objecttype" +#. type: Plain text +#: en/git-config.txt:62 +msgid "The section or key is invalid (ret=1)," msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:115 -msgid "The type of the object (`blob`, `tree`, `commit`, `tag`)." +#: en/git-config.txt:63 +msgid "no section or name was provided (ret=2)," msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:116 -#, no-wrap -msgid "objectsize" +#. type: Plain text +#: en/git-config.txt:64 +msgid "the config file is invalid (ret=3)," msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:118 -msgid "The size of the object (the same as 'git cat-file -s' reports)." +#: en/git-config.txt:65 +msgid "the config file cannot be written (ret=4)," msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:119 -#, no-wrap -msgid "objectname" +#. type: Plain text +#: en/git-config.txt:66 +msgid "you try to unset an option which does not exist (ret=5)," msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:125 +#: en/git-config.txt:67 msgid "" -"The object name (aka SHA-1). For a non-ambiguous abbreviation of the object " -"name append `:short`. For an abbreviation of the object name with desired " -"length append `:short=<length>`, where the minimum length is MINIMUM_ABBREV. " -"The length may be exceeded to ensure unique object names." +"you try to unset/set an option for which multiple lines match (ret=5), or" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:126 -#, no-wrap -msgid "upstream" +#. type: Plain text +#: en/git-config.txt:68 +msgid "you try to use an invalid regexp (ret=6)." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:140 -msgid "" -"The name of a local ref which can be considered ``upstream'' from the " -"displayed ref. Respects `:short`, `:lstrip` and `:rstrip` in the same way as " -"`refname` above. Additionally respects `:track` to show \"[ahead N, behind " -"M]\" and `:trackshort` to show the terse version: \">\" (ahead), \"<" -"\" (behind), \"<>\" (ahead and behind), or \"=\" (in sync). `:track` also " -"prints \"[gone]\" whenever unknown upstream ref is encountered. Append `:" -"track,nobracket` to show tracking information without brackets (i.e \"ahead " -"N, behind M\"). Has no effect if the ref does not have tracking information " -"associated with it. All the options apart from `nobracket` are mutually " -"exclusive, but if used together the last option is selected." +#: en/git-config.txt:70 +msgid "On success, the command returns the exit code 0." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:141 +#: en/git-config.txt:74 #, no-wrap -msgid "push" -msgstr "" - -#. type: Plain text -#: en/git-for-each-ref.txt:147 -msgid "" -"The name of a local ref which represents the `@{push}` location for the " -"displayed ref. Respects `:short`, `:lstrip`, `:rstrip`, `:track`, and `:" -"trackshort` options as `upstream` does. Produces an empty string if no " -"`@{push}` ref is configured." +msgid "--replace-all" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:151 +#: en/git-config.txt:77 msgid "" -"'*' if HEAD matches current ref (the checked out branch), ' ' otherwise." +"Default behavior is to replace at most one line. This replaces all lines " +"matching the key (and optionally the value_regex)." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:152 en/config.txt:214 en/diff-options.txt:241 +#: en/git-config.txt:78 en/git-update-index.txt:42 #, no-wrap -msgid "color" +msgid "--add" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:155 +#: en/git-config.txt:82 msgid "" -"Change output color. Followed by `:<colorname>`, where names are described " -"in `color.branch.*`." +"Adds a new line to the option without altering any existing values. This is " +"the same as providing '^$' as the value_regex in `--replace-all`." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:156 +#: en/git-config.txt:83 #, no-wrap -msgid "align" +msgid "--get" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:170 +#: en/git-config.txt:87 msgid "" -"Left-, middle-, or right-align the content between %(align:...) and %(end). " -"The \"align:\" is followed by `width=<width>` and `position=<position>` in " -"any order separated by a comma, where the `<position>` is either left, right " -"or middle, default being left and `<width>` is the total length of the " -"content with alignment. For brevity, the \"width=\" and/or \"position=\" " -"prefixes may be omitted, and bare <width> and <position> used instead. For " -"instance, `%(align:<width>,<position>)`. If the contents length is more than " -"the width then no alignment is performed. If used with `--quote` everything " -"in between %(align:...) and %(end) is quoted, but if nested then only the " -"topmost level performs quoting." +"Get the value for a given key (optionally filtered by a regex matching the " +"value). Returns error code 1 if the key was not found and the last value if " +"multiple key values were found." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:171 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "if" -msgstr "diff" +#: en/git-config.txt:88 +#, no-wrap +msgid "--get-all" +msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:183 -msgid "" -"Used as %(if)...%(then)...%(end) or %(if)...%(then)...%(else)...%(end). If " -"there is an atom with value or string literal after the %(if) then " -"everything after the %(then) is printed, else if the %(else) atom is used, " -"then everything after %(else) is printed. We ignore space when evaluating " -"the string before %(then), this is useful when we use the %(HEAD) atom which " -"prints either \"*\" or \" \" and we want to apply the 'if' condition only on " -"the 'HEAD' ref. Append \":equals=<string>\" or \":notequals=<string>\" to " -"compare the value between the %(if:...) and %(then) atoms with the given " -"string." +#: en/git-config.txt:90 +msgid "Like get, but returns all values for a multi-valued key." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:184 +#: en/git-config.txt:91 #, no-wrap -msgid "symref" +msgid "--get-regexp" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:189 +#: en/git-config.txt:97 msgid "" -"The ref which the given symbolic ref refers to. If not a symbolic ref, " -"nothing is printed. Respects the `:short`, `:lstrip` and `:rstrip` options " -"in the same way as `refname` above." +"Like --get-all, but interprets the name as a regular expression and writes " +"out the key names. Regular expression matching is currently case-sensitive " +"and done against a canonicalized version of the key in which section and " +"variable names are lowercased, but subsection names are not." msgstr "" -#. type: Plain text -#: en/git-for-each-ref.txt:193 -msgid "" -"In addition to the above, for commit and tag objects, the header field names " -"(`tree`, `parent`, `object`, `type`, and `tag`) can be used to specify the " -"value in the header field." +#. type: Labeled list +#: en/git-config.txt:98 +#, no-wrap +msgid "--get-urlmatch name URL" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:198 +#: en/git-config.txt:105 msgid "" -"For commit and tag objects, the special `creatordate` and `creator` fields " -"will correspond to the appropriate date or name-email-date tuple from the " -"`committer` or `tagger` fields depending on the object type. These are " -"intended for working on a mix of annotated and lightweight tags." +"When given a two-part name section.key, the value for section.<url>.key " +"whose <url> part matches the best to the given URL is returned (if no such " +"key exists, the value for section.key is used as a fallback). When given " +"just the section as name, do so for all the keys in the section and list " +"them. Returns error code 1 if no value is found." msgstr "" -#. type: Plain text -#: en/git-for-each-ref.txt:202 -msgid "" -"Fields that have name-email-date tuple as its value (`author`, `committer`, " -"and `tagger`) can be suffixed with `name`, `email`, and `date` to extract " -"the named component." +#. type: Labeled list +#: en/git-config.txt:106 +#, no-wrap +msgid "--global" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:211 +#: en/git-config.txt:111 msgid "" -"The complete message in a commit and tag object is `contents`. Its first " -"line is `contents:subject`, where subject is the concatenation of all lines " -"of the commit message up to the first blank line. The next line is " -"'contents:body', where body is all of the lines after the first blank line. " -"The optional GPG signature is `contents:signature`. The first `N` lines of " -"the message is obtained using `contents:lines=N`. Additionally, the " -"trailers as interpreted by linkgit:git-interpret-trailers[1] are obtained as " -"'contents:trailers'." +"For writing options: write to global `~/.gitconfig` file rather than the " +"repository `.git/config`, write to `$XDG_CONFIG_HOME/git/config` file if " +"this file exists and the `~/.gitconfig` file doesn't." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:215 +#: en/git-config.txt:114 msgid "" -"For sorting purposes, fields with numeric values sort in numeric order " -"(`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`). " -"All other fields are used to sort in their byte-value order." +"For reading options: read only from global `~/.gitconfig` and from `" +"$XDG_CONFIG_HOME/git/config` rather than from all available files." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:218 -msgid "" -"There is also an option to sort by versions, this can be done by using the " -"fieldname `version:refname` or its alias `v:refname`." +#: en/git-config.txt:116 en/git-config.txt:126 en/git-config.txt:135 +#: en/git-config.txt:292 +msgid "See also <<FILES>>." msgstr "" -#. type: Plain text -#: en/git-for-each-ref.txt:222 -msgid "" -"In any case, a field name that refers to a field inapplicable to the object " -"referred by the ref does not cause an error. It returns an empty string " -"instead." +#. type: Labeled list +#: en/git-config.txt:117 +#, no-wrap +msgid "--system" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:226 +#: en/git-config.txt:121 msgid "" -"As a special case for the date-type fields, you may specify a format for the " -"date by adding `:` followed by date format name (see the values the `--date` " -"option to linkgit:git-rev-list[1] takes)." +"For writing options: write to system-wide `$(prefix)/etc/gitconfig` rather " +"than the repository `.git/config`." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:229 +#: en/git-config.txt:124 msgid "" -"Some atoms like %(align) and %(if) always require a matching %(end). We " -"call them \"opening atoms\" and sometimes denote them as %($open)." +"For reading options: read only from system-wide `$(prefix)/etc/gitconfig` " +"rather than from all available files." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:234 +#: en/git-config.txt:130 msgid "" -"When a scripting language specific quoting is in effect, everything between " -"a top-level opening atom and its matching %(end) is evaluated according to " -"the semantics of the opening atom and only its result from the top-level is " -"quoted." +"For writing options: write to the repository `.git/config` file. This is" +"\tthe default behavior." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:241 +#: en/git-config.txt:133 msgid "" -"An example directly producing formatted text. Show the most recent 3 tagged " -"commits:" +"For reading options: read only from the repository `.git/config` rather than " +"from all available files." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:244 en/git-for-each-ref.txt:260 -#: en/git-for-each-ref.txt:274 +#. type: Labeled list +#: en/git-config.txt:136 #, no-wrap -msgid "#!/bin/sh\n" +msgid "-f config-file" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:250 +#. type: Labeled list +#: en/git-config.txt:137 #, no-wrap -msgid "" -"git for-each-ref --count=3 --sort='-*authordate' \\\n" -"--format='From: %(*authorname) %(*authoremail)\n" -"Subject: %(*subject)\n" -"Date: %(*authordate)\n" -"Ref: %(*refname)\n" +msgid "--file config-file" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:253 +#. type: Plain text +#: en/git-config.txt:139 +msgid "Use the given config file instead of the one specified by GIT_CONFIG." +msgstr "" + +#. type: Labeled list +#: en/git-config.txt:140 #, no-wrap -msgid "" -"%(*body)\n" -"' 'refs/tags'\n" +msgid "--blob blob" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:258 +#: en/git-config.txt:146 msgid "" -"A simple example showing the use of shell eval on the output, demonstrating " -"the use of --shell. List the prefixes of all heads:" +"Similar to `--file` but use the given blob instead of a file. E.g. you can " +"use 'master:.gitmodules' to read values from the file '.gitmodules' in the " +"master branch. See \"SPECIFYING REVISIONS\" section in linkgit:" +"gitrevisions[7] for a more complete list of ways to spell blob names." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:267 +#. type: Labeled list +#: en/git-config.txt:147 #, no-wrap -msgid "" -"git for-each-ref --shell --format=\"ref=%(refname)\" refs/heads | \\\n" -"while read entry\n" -"do\n" -"\teval \"$entry\"\n" -"\techo `dirname $ref`\n" -"done\n" +msgid "--remove-section" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:272 -msgid "" -"A bit more elaborate report on tags, demonstrating that the format may be an " -"entire script:" +#: en/git-config.txt:149 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Remove the given section from the configuration file." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: delimited block - -#: en/git-for-each-ref.txt:279 +#. type: Labeled list +#: en/git-config.txt:150 #, no-wrap -msgid "" -"fmt='\n" -"\tr=%(refname)\n" -"\tt=%(*objecttype)\n" -"\tT=${r#refs/tags/}\n" +msgid "--rename-section" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:286 -#, no-wrap -msgid "" -"\to=%(*objectname)\n" -"\tn=%(*authorname)\n" -"\te=%(*authoremail)\n" -"\ts=%(*subject)\n" -"\td=%(*authordate)\n" -"\tb=%(*body)\n" +#. type: Plain text +#: en/git-config.txt:152 +msgid "Rename the given section to a new name." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:305 +#. type: Labeled list +#: en/git-config.txt:153 #, no-wrap -msgid "" -"\tkind=Tag\n" -"\tif test \"z$t\" = z\n" -"\tthen\n" -"\t\t# could be a lightweight tag\n" -"\t\tt=%(objecttype)\n" -"\t\tkind=\"Lightweight tag\"\n" -"\t\to=%(objectname)\n" -"\t\tn=%(authorname)\n" -"\t\te=%(authoremail)\n" -"\t\ts=%(subject)\n" -"\t\td=%(authordate)\n" -"\t\tb=%(body)\n" -"\tfi\n" -"\techo \"$kind $T points at a $t object $o\"\n" -"\tif test \"z$t\" = zcommit\n" -"\tthen\n" -"\t\techo \"The commit was authored by $n $e\n" -"at $d, and titled\n" +msgid "--unset" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:307 -#, no-wrap -msgid " $s\n" +#. type: Plain text +#: en/git-config.txt:155 +msgid "Remove the line matching the key from config file." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:314 +#. type: Labeled list +#: en/git-config.txt:156 #, no-wrap -msgid "" -"Its message reads as:\n" -"\"\n" -"\t\techo \"$b\" | sed -e \"s/^/ /\"\n" -"\t\techo\n" -"\tfi\n" -"'\n" +msgid "--unset-all" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:320 -#, no-wrap -msgid "" -"eval=`git for-each-ref --shell --format=\"$fmt\" \\\n" -"\t--sort='*objecttype' \\\n" -"\t--sort=-taggerdate \\\n" -"\trefs/tags`\n" -"eval \"$eval\"\n" +#. type: Plain text +#: en/git-config.txt:158 +msgid "Remove all lines matching the key from config file." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:325 -msgid "" -"An example to show the usage of %(if)...%(then)...%(else)...%(end). This " -"prefixes the current branch with a star." +#: en/git-config.txt:162 +msgid "List all variables set in config file, along with their values." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:328 +#. type: Labeled list +#: en/git-config.txt:163 #, no-wrap -msgid "git for-each-ref --format=\"%(if)%(HEAD)%(then)* %(else) %(end)%(refname:short)\" refs/heads/\n" +msgid "--bool" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:333 -msgid "" -"An example to show the usage of %(if)...%(then)...%(end). This prints the " -"authorname, if present." +#: en/git-config.txt:165 +msgid "'git config' will ensure that the output is \"true\" or \"false\"" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:336 +#. type: Labeled list +#: en/git-config.txt:166 #, no-wrap -msgid "git for-each-ref --format=\"%(refname)%(if)%(authorname)%(then) Authored by: %(authorname)%(end)\"\n" +msgid "--int" +msgstr "" + +#. type: Plain text +#: en/git-config.txt:171 +msgid "" +"'git config' will ensure that the output is a simple decimal number. An " +"optional value suffix of 'k', 'm', or 'g' in the config file will cause the " +"value to be multiplied by 1024, 1048576, or 1073741824 prior to output." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:341 en/cmds-plumbinginterrogators.txt:40 +#: en/git-config.txt:172 #, no-wrap -msgid "linkgit:git-show-ref[1]" +msgid "--bool-or-int" msgstr "" -#. type: Title = -#: en/git-format-patch.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-format-patch(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-format-patch.txt:7 -msgid "git-format-patch - Prepare patches for e-mail submission" +#: en/git-config.txt:175 +msgid "" +"'git config' will ensure that the output matches the format of either --bool " +"or --int, as described above." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:28 +#. type: Labeled list +#: en/git-config.txt:176 en/git-hash-object.txt:41 #, no-wrap -msgid "" -"'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout]\n" -"\t\t [--no-thread | --thread[=<style>]]\n" -"\t\t [(--attach|--inline)[=<boundary>] | --no-attach]\n" -"\t\t [-s | --signoff]\n" -"\t\t [--signature=<signature> | --no-signature]\n" -"\t\t [--signature-file=<file>]\n" -"\t\t [-n | --numbered | -N | --no-numbered]\n" -"\t\t [--start-number <n>] [--numbered-files]\n" -"\t\t [--in-reply-to=Message-Id] [--suffix=.<sfx>]\n" -"\t\t [--ignore-if-in-upstream]\n" -"\t\t [--rfc] [--subject-prefix=Subject-Prefix]\n" -"\t\t [(--reroll-count|-v) <n>]\n" -"\t\t [--to=<email>] [--cc=<email>]\n" -"\t\t [--[no-]cover-letter] [--quiet] [--notes[=<ref>]]\n" -"\t\t [<common diff options>]\n" -"\t\t [ <since> | <revision range> ]\n" +msgid "--path" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:36 +#: en/git-config.txt:182 msgid "" -"Prepare each commit with its patch in one file per commit, formatted to " -"resemble UNIX mailbox format. The output of this command is convenient for " -"e-mail submission or for use with 'git am'." +"'git-config' will expand leading '{tilde}' to the value of '$HOME', and " +"'{tilde}user' to the home directory for the specified user. This option has " +"no effect when setting the value (but you can use 'git config bla {tilde}/' " +"from the command line to let your shell do the expansion)." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:38 -msgid "There are two ways to specify which commits to operate on." +#: en/git-config.txt:191 +msgid "" +"For all options that output values and/or keys, always end values with the " +"null character (instead of a newline). Use newline instead as a delimiter " +"between key and value. This allows for secure parsing of the output without " +"getting confused e.g. by values that contain line breaks." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:42 +#: en/git-config.txt:195 msgid "" -"A single commit, <since>, specifies that the commits leading to the tip of " -"the current branch that are not in the history that leads to the <since> to " -"be output." +"Output only the names of config variables for `--list` or `--get-regexp`." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:46 -msgid "" -"Generic <revision range> expression (see \"SPECIFYING REVISIONS\" section in " -"linkgit:gitrevisions[7]) means the commits in the specified range." +#. type: Labeled list +#: en/git-config.txt:196 +#, no-wrap +msgid "--show-origin" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:52 +#: en/git-config.txt:201 msgid "" -"The first rule takes precedence in the case of a single <commit>. To apply " -"the second rule, i.e., format everything since the beginning of history up " -"until <commit>, use the '\\--root' option: `git format-patch --root " -"<commit>`. If you want to format only <commit> itself, you can do this with " -"`git format-patch -1 <commit>`." +"Augment the output of all queried config options with the origin type (file, " +"standard input, blob, command line) and the actual origin (config file path, " +"ref, or blob id if applicable)." +msgstr "" + +#. type: Labeled list +#: en/git-config.txt:202 +#, no-wrap +msgid "--get-colorbool name [stdout-is-tty]" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:59 +#: en/git-config.txt:212 msgid "" -"By default, each output file is numbered sequentially from 1, and uses the " -"first line of the commit message (massaged for pathname safety) as the " -"filename. With the `--numbered-files` option, the output file names will " -"only be numbers, without the first line of the commit appended. The names " -"of the output files are printed to standard output, unless the `--stdout` " -"option is specified." +"Find the color setting for `name` (e.g. `color.diff`) and output \"true\" or " +"\"false\". `stdout-is-tty` should be either \"true\" or \"false\", and is " +"taken into account when configuration says \"auto\". If `stdout-is-tty` is " +"missing, then checks the standard output of the command itself, and exits " +"with status 0 if color is to be used, or exits with status 1 otherwise. " +"When the color setting for `name` is undefined, the command uses `color.ui` " +"as fallback." +msgstr "" + +#. type: Labeled list +#: en/git-config.txt:213 +#, no-wrap +msgid "--get-color name [default]" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:66 +#: en/git-config.txt:219 msgid "" -"If `-o` is specified, output files are created in <dir>. Otherwise they are " -"created in the current working directory. The default path can be set with " -"the `format.outputDirectory` configuration option. The `-o` option takes " -"precedence over `format.outputDirectory`. To store patches in the current " -"working directory even when `format.outputDirectory` points elsewhere, use `-" -"o .`." +"Find the color configured for `name` (e.g. `color.diff.new`) and output it " +"as the ANSI color escape sequence to the standard output. The optional " +"`default` parameter is used instead, if there is no color configured for " +"`name`." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:70 +#: en/git-config.txt:224 msgid "" -"By default, the subject of a single patch is \"[PATCH] \" followed by the " -"concatenation of lines from the commit message up to the first blank line " -"(see the DISCUSSION section of linkgit:git-commit[1])." +"Opens an editor to modify the specified config file; either `--system`, `--" +"global`, or repository (default)." +msgstr "" + +#. type: Labeled list +#: en/git-config.txt:225 +#, no-wrap +msgid "--[no-]includes" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:74 +#: en/git-config.txt:230 msgid "" -"When multiple patches are output, the subject prefix will instead be " -"\"[PATCH n/m] \". To force 1/1 to be added for a single patch, use `-n`. " -"To omit patch numbers from the subject, use `-N`." +"Respect `include.*` directives in config files when looking up values. " +"Defaults to `off` when a specific file is given (e.g., using `--file`, `--" +"global`, etc) and `on` when searching all config files." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:79 +#: en/git-config.txt:237 msgid "" -"If given `--thread`, `git-format-patch` will generate `In-Reply-To` and " -"`References` headers to make the second and subsequent patch mails appear as " -"replies to the first mail; this also generates a `Message-Id` header to " -"reference." +"If not set explicitly with `--file`, there are four files where 'git config' " +"will search for configuration options:" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:85 +#. type: Plain text +#: en/git-config.txt:240 #, no-wrap -msgid "-<n>" +msgid "" +"$(prefix)/etc/gitconfig::\n" +"\tSystem-wide configuration file.\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:87 -msgid "Prepare patches from the topmost <n> commits." +#: en/git-config.txt:248 +#, no-wrap +msgid "" +"$XDG_CONFIG_HOME/git/config::\n" +"\tSecond user-specific configuration file. If $XDG_CONFIG_HOME is not set\n" +"\tor empty, `$HOME/.config/git/config` will be used. Any single-valued\n" +"\tvariable set in this file will be overwritten by whatever is in\n" +"\t`~/.gitconfig`. It is a good idea not to create this file if\n" +"\tyou sometimes use older versions of Git, as support for this\n" +"\tfile was added fairly recently.\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:88 +#. type: Plain text +#: en/git-config.txt:252 #, no-wrap -msgid "-o <dir>" +msgid "" +"~/.gitconfig::\n" +"\tUser-specific configuration file. Also called \"global\"\n" +"\tconfiguration file.\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:89 +#. type: Plain text +#: en/git-config.txt:255 #, no-wrap -msgid "--output-directory <dir>" +msgid "" +"$GIT_DIR/config::\n" +"\tRepository specific configuration file.\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:92 +#: en/git-config.txt:261 msgid "" -"Use <dir> to store the resulting files, instead of the current working " -"directory." +"If no further options are given, all reading options will read all of these " +"files that are available. If the global or the system-wide configuration " +"file are not available they will be ignored. If the repository configuration " +"file is not available or readable, 'git config' will exit with a non-zero " +"error code. However, in neither case will an error message be issued." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:94 en/git-shortlog.txt:30 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--numbered" -msgstr "Configuration" +#. type: Plain text +#: en/git-config.txt:265 +msgid "" +"The files are read in the order given above, with last value found taking " +"precedence over values read earlier. When multiple values are taken then " +"all values of a key from all files will be used." +msgstr "" #. type: Plain text -#: en/git-format-patch.txt:96 -msgid "Name output in '[PATCH n/m]' format, even with a single patch." +#: en/git-config.txt:268 +msgid "" +"You may override individual configuration parameters when running any git " +"command by using the `-c` option. See linkgit:git[1] for details." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:98 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--no-numbered" -msgstr "Configuration" +#. type: Plain text +#: en/git-config.txt:272 +msgid "" +"All writing options will per default write to the repository specific " +"configuration file. Note that this also affects options like `--replace-all` " +"and `--unset`. *'git config' will only ever change one file at a time*." +msgstr "" #. type: Plain text -#: en/git-format-patch.txt:100 -msgid "Name output in '[PATCH]' format." +#: en/git-config.txt:277 +msgid "" +"You can override these rules either by command-line options or by " +"environment variables. The `--global` and the `--system` options will limit " +"the file used to the global or system-wide file respectively. The " +"`GIT_CONFIG` environment variable has a similar effect, but you can specify " +"any filename you want." +msgstr "" + +#. type: Title - +#: en/git-config.txt:280 en/git-cvsserver.txt:310 en/git-daemon.txt:310 +#: en/git-http-backend.txt:243 en/git-notes.txt:373 +#, no-wrap +msgid "ENVIRONMENT" msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:101 +#: en/git-config.txt:282 #, no-wrap -msgid "--start-number <n>" +msgid "GIT_CONFIG" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:103 -msgid "Start numbering the patches at <n> instead of 1." +#: en/git-config.txt:286 +msgid "" +"Take the configuration from the given file instead of .git/config. Using " +"the \"--global\" option forces this to ~/.gitconfig. Using the \"--system\" " +"option forces this to $(prefix)/etc/gitconfig." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:104 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--numbered-files" -msgstr "git-commit(1)" +#: en/git-config.txt:287 +#, no-wrap +msgid "GIT_CONFIG_NOSYSTEM" +msgstr "" #. type: Plain text -#: en/git-format-patch.txt:107 +#: en/git-config.txt:290 msgid "" -"Output file names will be a simple number sequence without the default first " -"line of the commit appended." +"Whether to skip reading settings from the system-wide $(prefix)/etc/" +"gitconfig file. See linkgit:git[1] for details." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:109 -#, no-wrap -msgid "--keep-subject" +#. type: Plain text +#: en/git-config.txt:299 +msgid "Given a .git/config like this:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:112 +#: en/git-config.txt:305 +#, no-wrap msgid "" -"Do not strip/add '[PATCH]' from the first line of the commit log message." +"\t#\n" +"\t# This is the config file, and\n" +"\t# a '#' or ';' character indicates\n" +"\t# a comment\n" +"\t#\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:118 +#: en/git-config.txt:310 +#, no-wrap msgid "" -"Add `Signed-off-by:` line to the commit message, using the committer " -"identity of yourself. See the signoff option in linkgit:git-commit[1] for " -"more information." +"\t; core variables\n" +"\t[core]\n" +"\t\t; Don't trust file modes\n" +"\t\tfilemode = false\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:119 en/git-pack-objects.txt:57 +#. type: Plain text +#: en/git-config.txt:315 #, no-wrap -msgid "--stdout" +msgid "" +"\t; Our diff algorithm\n" +"\t[diff]\n" +"\t\texternal = /usr/local/bin/diff-wrapper\n" +"\t\trenames = true\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:122 +#: en/git-config.txt:320 +#, no-wrap msgid "" -"Print all commits to the standard output in mbox format, instead of creating " -"a file for each one." +"\t; Proxy settings\n" +"\t[core]\n" +"\t\tgitproxy=proxy-command for kernel.org\n" +"\t\tgitproxy=default-proxy ; for all the rest\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:123 +#. type: Plain text +#: en/git-config.txt:327 #, no-wrap -msgid "--attach[=<boundary>]" +msgid "" +"\t; HTTP\n" +"\t[http]\n" +"\t\tsslVerify\n" +"\t[http \"https://weak.example.com\"]\n" +"\t\tsslVerify = false\n" +"\t\tcookieFile = /tmp/cookie.txt\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:127 -msgid "" -"Create multipart/mixed attachment, the first part of which is the commit " -"message and the patch itself in the second part, with `Content-Disposition: " -"attachment`." +#: en/git-config.txt:329 +msgid "you can set the filemode to true with" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:128 +#. type: delimited block - +#: en/git-config.txt:332 #, no-wrap -msgid "--no-attach" +msgid "% git config core.filemode true\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:131 +#: en/git-config.txt:337 msgid "" -"Disable the creation of an attachment, overriding the configuration setting." +"The hypothetical proxy command entries actually have a postfix to discern " +"what URL they apply to. Here is how to change the entry for kernel.org to " +"\"ssh\"." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:132 +#. type: delimited block - +#: en/git-config.txt:340 #, no-wrap -msgid "--inline[=<boundary>]" +msgid "% git config core.gitproxy '\"ssh\" for kernel.org' 'for kernel.org$'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:136 +#: en/git-config.txt:343 msgid "" -"Create multipart/mixed attachment, the first part of which is the commit " -"message and the patch itself in the second part, with `Content-Disposition: " -"inline`." +"This makes sure that only the key/value pair for kernel.org is replaced." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:137 -#, no-wrap -msgid "--thread[=<style>]" +#. type: Plain text +#: en/git-config.txt:345 +msgid "To delete the entry for renames, do" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:138 +#. type: delimited block - +#: en/git-config.txt:348 #, no-wrap -msgid "--no-thread" +msgid "% git config --unset diff.renames\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:143 +#: en/git-config.txt:352 msgid "" -"Controls addition of `In-Reply-To` and `References` headers to make the " -"second and subsequent mails appear as replies to the first. Also controls " -"generation of the `Message-Id` header to reference." +"If you want to delete an entry for a multivar (like core.gitproxy above), " +"you have to provide a regex matching the value of exactly one line." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:149 -msgid "" -"The optional <style> argument can be either `shallow` or `deep`. 'shallow' " -"threading makes every mail a reply to the head of the series, where the head " -"is chosen from the cover letter, the `--in-reply-to`, and the first patch " -"mail, in this order. 'deep' threading makes every mail a reply to the " -"previous one." +#: en/git-config.txt:354 +msgid "To query the value for a given key, do" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:153 -msgid "" -"The default is `--no-thread`, unless the `format.thread` configuration is " -"set. If `--thread` is specified without a style, it defaults to the style " -"specified by `format.thread` if any, or else `shallow`." +#. type: delimited block - +#: en/git-config.txt:357 +#, no-wrap +msgid "% git config --get core.filemode\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:157 -msgid "" -"Beware that the default for 'git send-email' is to thread emails itself. If " -"you want `git format-patch` to take care of threading, you will want to " -"ensure that threading is disabled for `git send-email`." +#: en/git-config.txt:360 en/git-gui.txt:120 en/git-merge-index.txt:64 +msgid "or" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:158 +#. type: delimited block - +#: en/git-config.txt:363 #, no-wrap -msgid "--in-reply-to=Message-Id" +msgid "% git config core.filemode\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:162 -msgid "" -"Make the first mail (or all the mails with `--no-thread`) appear as a reply " -"to the given Message-Id, which avoids breaking threads to provide a new " -"patch series." +#: en/git-config.txt:366 +msgid "or, to query a multivar:" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:163 +#. type: delimited block - +#: en/git-config.txt:369 #, no-wrap -msgid "--ignore-if-in-upstream" +msgid "% git config --get core.gitproxy \"for kernel.org$\"\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:169 -msgid "" -"Do not include a patch that matches a commit in <until>..<since>. This will " -"examine all patches reachable from <since> but not from <until> and compare " -"them with the patches being generated, and any patch that matches is ignored." +#: en/git-config.txt:372 +msgid "If you want to know all the values for a multivar, do:" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:170 +#. type: delimited block - +#: en/git-config.txt:375 #, no-wrap -msgid "--subject-prefix=<Subject-Prefix>" +msgid "% git config --get-all core.gitproxy\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:175 +#: en/git-config.txt:379 msgid "" -"Instead of the standard '[PATCH]' prefix in the subject line, instead use " -"'[<Subject-Prefix>]'. This allows for useful naming of a patch series, and " -"can be combined with the `--numbered` option." +"If you like to live dangerously, you can replace *all* core.gitproxy by a " +"new one with" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:176 +#. type: delimited block - +#: en/git-config.txt:382 #, no-wrap -msgid "--rfc" +msgid "% git config --replace-all core.gitproxy ssh\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:180 +#: en/git-config.txt:386 msgid "" -"Alias for `--subject-prefix=\"RFC PATCH\"`. RFC means \"Request For Comments" -"\"; use this when sending an experimental patch for discussion rather than " -"application." +"However, if you really only want to replace the line for the default proxy, " +"i.e. the one without a \"for ...\" postfix, do something like this:" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:181 +#. type: delimited block - +#: en/git-config.txt:389 #, no-wrap -msgid "-v <n>" +msgid "% git config core.gitproxy ssh '! for '\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:182 +#. type: Plain text +#: en/git-config.txt:392 +msgid "To actually match only values with an exclamation mark, you have to" +msgstr "" + +#. type: delimited block - +#: en/git-config.txt:395 #, no-wrap -msgid "--reroll-count=<n>" +msgid "% git config section.key value '[!]'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:189 -msgid "" -"Mark the series as the <n>-th iteration of the topic. The output filenames " -"have `v<n>` prepended to them, and the subject prefix (\"PATCH\" by default, " -"but configurable via the `--subject-prefix` option) has ` v<n>` appended to " -"it. E.g. `--reroll-count=4` may produce `v4-0001-add-makefile.patch` file " -"that has \"Subject: [PATCH v4 1/20] Add makefile\" in it." +#: en/git-config.txt:398 +msgid "To add a new proxy, without altering any of the existing ones, use" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:190 +#. type: delimited block - +#: en/git-config.txt:401 #, no-wrap -msgid "--to=<email>" +msgid "% git config --add core.gitproxy '\"proxy-command\" for example.com'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:195 +#: en/git-config.txt:405 msgid "" -"Add a `To:` header to the email headers. This is in addition to any " -"configured headers, and may be used multiple times. The negated form `--no-" -"to` discards all `To:` headers added so far (from config or command line)." +"An example to use customized color from the configuration in your script:" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:196 +#. type: delimited block - +#: en/git-config.txt:411 #, no-wrap -msgid "--cc=<email>" +msgid "" +"#!/bin/sh\n" +"WS=$(git config --get-color color.diff.whitespace \"blue reverse\")\n" +"RESET=$(git config --get-color \"\" \"reset\")\n" +"echo \"${WS}your whitespace color or blue reverse${RESET}\"\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:201 +#: en/git-config.txt:415 msgid "" -"Add a `Cc:` header to the email headers. This is in addition to any " -"configured headers, and may be used multiple times. The negated form `--no-" -"cc` discards all `Cc:` headers added so far (from config or command line)." +"For URLs in `https://weak.example.com`, `http.sslVerify` is set to false, " +"while it is set to `true` for all others:" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:202 +#. type: delimited block - +#: en/git-config.txt:424 #, no-wrap -msgid "--from" +msgid "" +"% git config --bool --get-urlmatch http.sslverify https://good.example.com\n" +"true\n" +"% git config --bool --get-urlmatch http.sslverify https://weak.example.com\n" +"false\n" +"% git config --get-urlmatch http https://weak.example.com\n" +"http.cookieFile /tmp/cookie.txt\n" +"http.sslverify false\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:203 -#, no-wrap -msgid "--from=<ident>" -msgstr "" +#. type: Title = +#: en/git-count-objects.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-count-objects(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-format-patch.txt:209 +#: en/git-count-objects.txt:7 msgid "" -"Use `ident` in the `From:` header of each commit email. If the author ident " -"of the commit is not textually identical to the provided `ident`, place a " -"`From:` header in the body of the message with the original author. If no " -"`ident` is given, use the committer ident." +"git-count-objects - Count unpacked number of objects and their disk " +"consumption" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:216 -msgid "" -"Note that this option is only useful if you are actually sending the emails " -"and want to identify yourself as the sender, but retain the original author " -"(and `git am` will correctly pick up the in-body header). Note also that " -"`git send-email` already handles this transformation for you, and this " -"option should not be used if you are feeding the result to `git send-email`." -msgstr "" - -#. type: Labeled list -#: en/git-format-patch.txt:217 +#: en/git-count-objects.txt:12 #, no-wrap -msgid "--add-header=<header>" +msgid "'git count-objects' [-v] [-H | --human-readable]\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:224 +#: en/git-count-objects.txt:17 msgid "" -"Add an arbitrary header to the email headers. This is in addition to any " -"configured headers, and may be used multiple times. For example, `--add-" -"header=\"Organization: git-foo\"`. The negated form `--no-add-header` " -"discards *all* (`To:`, `Cc:`, and custom) headers added so far from config " -"or command line." +"This counts the number of unpacked object files and disk space consumed by " +"them, to help you decide when it is a good time to repack." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:225 -#, no-wrap -msgid "--[no-]cover-letter" +#. type: Plain text +#: en/git-count-objects.txt:24 +msgid "Report in more detail:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:229 +#: en/git-count-objects.txt:26 +#, fuzzy +#| msgid "but can be used to amend a merge commit." +msgid "count: the number of loose objects" +msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." + +#. type: Plain text +#: en/git-count-objects.txt:28 msgid "" -"In addition to the patches, generate a cover letter file containing the " -"branch description, shortlog and the overall diffstat. You can fill in a " -"description in the file before sending it out." +"size: disk space consumed by loose objects, in KiB (unless -H is specified)" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:230 -#, no-wrap -msgid "--notes[=<ref>]" +#. type: Plain text +#: en/git-count-objects.txt:30 +msgid "in-pack: the number of in-pack objects" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:233 +#: en/git-count-objects.txt:32 msgid "" -"Append the notes (see linkgit:git-notes[1]) for the commit after the three-" -"dash line." +"size-pack: disk space consumed by the packs, in KiB (unless -H is specified)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:241 +#: en/git-count-objects.txt:35 msgid "" -"The expected use case of this is to write supporting explanation for the " -"commit that does not belong to the commit log message proper, and include it " -"with the patch submission. While one can simply write these explanations " -"after `format-patch` has run but before sending, keeping them as Git notes " -"allows them to be maintained between versions of the patch series (but see " -"the discussion of the `notes.rewrite` configuration options in linkgit:git-" -"notes[1] to use this workflow)." +"prune-packable: the number of loose objects that are also present in the " +"packs. These objects could be pruned using `git prune-packed`." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:242 -#, no-wrap -msgid "--[no-]signature=<signature>" +#. type: Plain text +#: en/git-count-objects.txt:38 +msgid "" +"garbage: the number of files in object database that are neither valid loose " +"objects nor valid packs" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:247 +#: en/git-count-objects.txt:41 msgid "" -"Add a signature to each message produced. Per RFC 3676 the signature is " -"separated from the body by a line with '-- ' on it. If the signature option " -"is omitted the signature defaults to the Git version number." +"size-garbage: disk space consumed by garbage files, in KiB (unless -H is " +"specified)" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:248 -#, no-wrap -msgid "--signature-file=<file>" +#. type: Plain text +#: en/git-count-objects.txt:46 +msgid "" +"alternate: absolute path of alternate object databases; may appear multiple " +"times, one line per path. Note that if the path contains non-printable " +"characters, it may be surrounded by double-quotes and contain C-style " +"backslashed escape sequences." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:250 -msgid "Works just like --signature except the signature is read from a file." +#. type: Labeled list +#: en/git-count-objects.txt:47 en/git-cvsserver.txt:49 en/git-grep.txt:142 +#, no-wrap +msgid "-H" msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:251 +#: en/git-count-objects.txt:48 #, no-wrap -msgid "--suffix=.<sfx>" +msgid "--human-readable" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:256 -msgid "" -"Instead of using `.patch` as the suffix for generated filenames, use " -"specified suffix. A common alternative is `--suffix=.txt`. Leaving this " -"empty will remove the `.patch` suffix." +#: en/git-count-objects.txt:51 +msgid "Print sizes in human readable format" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:259 -msgid "" -"Note that the leading character does not have to be a dot; for example, you " -"can use `--suffix=-patch` to get `0001-description-of-my-change-patch`." +#. type: Title = +#: en/git-credential-cache--daemon.txt:2 +#, no-wrap +msgid "git-credential-cache--daemon(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:263 -msgid "Do not print the names of the generated files to standard output." +#: en/git-credential-cache--daemon.txt:7 +msgid "" +"git-credential-cache--daemon - Temporarily store user credentials in memory" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:264 +#. type: Plain text +#: en/git-credential-cache--daemon.txt:12 #, no-wrap -msgid "--no-binary" +msgid "git credential-cache--daemon [--debug] <socket>\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:269 +#: en/git-credential-cache--daemon.txt:18 msgid "" -"Do not output contents of changes in binary files, instead display a notice " -"that those files changed. Patches generated using this option cannot be " -"applied properly, but they are still useful for code review." +"You probably don't want to invoke this command yourself; it is started " +"automatically when you use linkgit:git-credential-cache[1]." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:270 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--zero-commit" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-format-patch.txt:273 +#: en/git-credential-cache--daemon.txt:23 msgid "" -"Output an all-zero hash in each patch's From header instead of the hash of " -"the commit." +"This command listens on the Unix domain socket specified by `<socket>` for " +"`git-credential-cache` clients. Clients may store and retrieve credentials. " +"Each credential is held for a timeout specified by the client; once no " +"credentials are held, the daemon exits." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:274 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--base=<commit>" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-format-patch.txt:278 +#: en/git-credential-cache--daemon.txt:27 msgid "" -"Record the base tree information to identify the state the patch series " -"applies to. See the BASE TREE INFORMATION section below for details." +"If the `--debug` option is specified, the daemon does not close its stderr " +"stream, and may output extra diagnostics to it even after it has begun " +"listening for clients." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:285 -msgid "" -"Treat the revision argument as a <revision range>, even if it is just a " -"single commit (that would normally be treated as a <since>). Note that root " -"commits included in the specified range are always formatted as creation " -"patches, independently of this flag." +#. type: Title = +#: en/git-credential-cache.txt:2 +#, no-wrap +msgid "git-credential-cache(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:292 -msgid "" -"You can specify extra mail header lines to be added to each message, " -"defaults for the subject prefix and file suffix, number patches when " -"outputting more than one patch, add \"To\" or \"Cc:\" headers, configure " -"attachments, and sign off patches with configuration variables." +#: en/git-credential-cache.txt:7 +msgid "git-credential-cache - Helper to temporarily store passwords in memory" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:304 +#: en/git-credential-cache.txt:12 #, no-wrap -msgid "" -"[format]\n" -"\theaders = \"Organization: git-foo\\n\"\n" -"\tsubjectPrefix = CHANGE\n" -"\tsuffix = .txt\n" -"\tnumbered = auto\n" -"\tto = <email>\n" -"\tcc = <email>\n" -"\tattach [ = mime-boundary-string ]\n" -"\tsignOff = true\n" -"\tcoverletter = auto\n" +msgid "git config credential.helper 'cache [options]'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:313 +#: en/git-credential-cache.txt:21 msgid "" -"The patch produced by 'git format-patch' is in UNIX mailbox format, with a " -"fixed \"magic\" time stamp to indicate that the file is output from format-" -"patch rather than a real mailbox, like so:" +"This command caches credentials in memory for use by future Git programs. " +"The stored credentials never touch the disk, and are forgotten after a " +"configurable timeout. The cache is accessible over a Unix domain socket, " +"restricted to the current user by filesystem permissions." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:323 -#, no-wrap +#. type: Plain text +#: en/git-credential-cache.txt:25 msgid "" -"From 8f72bad1baf19a53459661343e21d6491c3908d3 Mon Sep 17 00:00:00 2001\n" -"From: Tony Luck <tony.luck@intel.com>\n" -"Date: Tue, 13 Jul 2010 11:42:54 -0700\n" -"Subject: [PATCH] =?UTF-8?q?[IA64]=20Put=20ia64=20config=20files=20on=20the=20?=\n" -" =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20diet?=\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" +"You probably don't want to invoke this command directly; it is meant to be " +"used as a credential helper by other parts of Git. See linkgit:" +"gitcredentials[7] or `EXAMPLES` below." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:326 +#. type: Labeled list +#: en/git-credential-cache.txt:29 #, no-wrap -msgid "" -"arch/arm config files were slimmed down using a python script\n" -"(See commit c2330e286f68f1c408b4aa6515ba49d57f05beae comment)\n" +msgid "--timeout <seconds>" msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:329 +#. type: Plain text +#: en/git-credential-cache.txt:32 +msgid "Number of seconds to cache credentials (default: 900)." +msgstr "" + +#. type: Labeled list +#: en/git-credential-cache.txt:33 #, no-wrap -msgid "" -"Do the same for ia64 so we can have sleek & trim looking\n" -"...\n" +msgid "--socket <path>" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:337 +#: en/git-credential-cache.txt:40 msgid "" -"Typically it will be placed in a MUA's drafts folder, edited to add timely " -"commentary that should not go in the changelog after the three dashes, and " -"then sent as a message whose body, in our example, starts with \"arch/arm " -"config files were...\". On the receiving end, readers can save interesting " -"patches in a UNIX mailbox and apply them with linkgit:git-am[1]." +"Use `<path>` to contact a running cache daemon (or start a new cache daemon " +"if one is not started). Defaults to `~/.git-credential-cache/socket`. If " +"your home directory is on a network-mounted filesystem, you may need to " +"change this to a local filesystem. You must specify an absolute path." +msgstr "" + +#. type: Title - +#: en/git-credential-cache.txt:42 +#, no-wrap +msgid "CONTROLLING THE DAEMON" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:343 +#: en/git-credential-cache.txt:46 msgid "" -"When a patch is part of an ongoing discussion, the patch generated by 'git " -"format-patch' can be tweaked to take advantage of the 'git am --scissors' " -"feature. After your response to the discussion comes a line that consists " -"solely of \"`-- >8 --`\" (scissors and perforation), followed by the patch " -"with unnecessary header fields removed:" +"If you would like the daemon to exit early, forgetting all cached " +"credentials before their timeout, you can issue an `exit` action:" +msgstr "" + +#. type: delimited block - +#: en/git-credential-cache.txt:49 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git credential-cache exit\n" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-credential-cache.txt:56 en/git-credential-store.txt:75 +msgid "" +"The point of this helper is to reduce the number of times you must type your " +"username or password. For example:" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:347 +#: en/git-credential-cache.txt:62 #, no-wrap msgid "" -"...\n" -"> So we should do such-and-such.\n" +"$ git config credential.helper cache\n" +"$ git push http://example.com/repo.git\n" +"Username: <type your username>\n" +"Password: <type your password>\n" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:349 +#: en/git-credential-cache.txt:66 #, no-wrap -msgid "Makes sense to me. How about this patch?\n" +msgid "" +"[work for 5 more minutes]\n" +"$ git push http://example.com/repo.git\n" +"[your credentials are used automatically]\n" msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:352 -#, no-wrap +#. type: Plain text +#: en/git-credential-cache.txt:70 msgid "" -"-- >8 --\n" -"Subject: [IA64] Put ia64 config files on the Uwe Kleine-K철nig diet\n" +"You can provide options via the credential.helper configuration variable " +"(this example drops the cache time to 5 minutes):" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:355 +#: en/git-credential-cache.txt:73 #, no-wrap -msgid "" -"arch/arm config files were slimmed down using a python script\n" -"...\n" +msgid "$ git config credential.helper 'cache --timeout=300'\n" +msgstr "" + +#. type: Title = +#: en/git-credential-store.txt:2 +#, no-wrap +msgid "git-credential-store(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:363 -msgid "" -"When sending a patch this way, most often you are sending your own patch, so " -"in addition to the \"`From $SHA1 $magic_timestamp`\" marker you should omit " -"`From:` and `Date:` lines from the patch file. The patch title is likely to " -"be different from the subject of the discussion the patch is in response to, " -"so it is likely that you would want to keep the Subject: line, like the " -"example above." +#: en/git-credential-store.txt:7 +msgid "git-credential-store - Helper to store credentials on disk" msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:365 +#. type: delimited block - +#: en/git-credential-store.txt:12 #, no-wrap -msgid "Checking for patch corruption" +msgid "git config credential.helper 'store [options]'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:368 +#: en/git-credential-store.txt:21 msgid "" -"Many mailers if not set up properly will corrupt whitespace. Here are two " -"common types of corruption:" +"Using this helper will store your passwords unencrypted on disk, protected " +"only by filesystem permissions. If this is not an acceptable security " +"tradeoff, try linkgit:git-credential-cache[1], or find a helper that " +"integrates with secure storage provided by your operating system." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:370 -msgid "Empty context lines that do not have _any_ whitespace." +#: en/git-credential-store.txt:24 +msgid "" +"This command stores credentials indefinitely on disk for use by future Git " +"programs." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:373 +#: en/git-credential-store.txt:28 msgid "" -"Non-empty context lines that have one extra whitespace at the beginning." +"You probably don't want to invoke this command directly; it is meant to be " +"used as a credential helper by other parts of git. See linkgit:" +"gitcredentials[7] or `EXAMPLES` below." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:375 -msgid "One way to test if your MUA is set up correctly is:" -msgstr "" +#. type: Labeled list +#: en/git-credential-store.txt:32 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "--file=<path>" +msgstr "patch" #. type: Plain text -#: en/git-format-patch.txt:379 +#: en/git-credential-store.txt:42 msgid "" -"Send the patch to yourself, exactly the way you would, except with To: and " -"Cc: lines that do not contain the list and maintainer address." +"Use `<path>` to lookup and store credentials. The file will have its " +"filesystem permissions set to prevent other users on the system from reading " +"it, but will not be encrypted or otherwise protected. If not specified, " +"credentials will be searched for from `~/.git-credentials` and `" +"$XDG_CONFIG_HOME/git/credentials`, and credentials will be written to `~/." +"git-credentials` if it exists, or `$XDG_CONFIG_HOME/git/credentials` if it " +"exists and the former does not. See also <<FILES>>." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:382 +#: en/git-credential-store.txt:49 msgid "" -"Save that patch to a file in UNIX mailbox format. Call it a.patch, say." +"If not set explicitly with `--file`, there are two files where git-" +"credential-store will search for credentials in order of precedence:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:384 -msgid "Apply it:" +#: en/git-credential-store.txt:52 +#, no-wrap +msgid "" +"~/.git-credentials::\n" +"\tUser-specific credentials file.\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:389 +#: en/git-credential-store.txt:59 #, no-wrap msgid "" -"$ git fetch <project> master:test-apply\n" -"$ git checkout test-apply\n" -"$ git reset --hard\n" -"$ git am a.patch\n" +"$XDG_CONFIG_HOME/git/credentials::\n" +"\tSecond user-specific credentials file. If '$XDG_CONFIG_HOME' is not set\n" +"\tor empty, `$HOME/.config/git/credentials` will be used. Any credentials\n" +"\tstored in this file will not be used if `~/.git-credentials` has a\n" +"\tmatching credential as well. It is a good idea not to create this file\n" +"\tif you sometimes use older versions of Git that do not support it.\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:391 -msgid "If it does not apply correctly, there can be various reasons." +#: en/git-credential-store.txt:63 +msgid "" +"For credential lookups, the files are read in the order given above, with " +"the first matching credential found taking precedence over credentials found " +"in files further down the list." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:396 +#: en/git-credential-store.txt:67 msgid "" -"The patch itself does not apply cleanly. That is _bad_ but does not have " -"much to do with your MUA. You might want to rebase the patch with linkgit:" -"git-rebase[1] before regenerating it in this case." +"Credential storage will by default write to the first existing file in the " +"list. If none of these files exist, `~/.git-credentials` will be created and " +"written to." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:401 +#: en/git-credential-store.txt:69 msgid "" -"The MUA corrupted your patch; \"am\" would complain that the patch does not " -"apply. Look in the .git/rebase-apply/ subdirectory and see what 'patch' " -"file contains and check for the common corruption patterns mentioned above." +"When erasing credentials, matching credentials will be erased from all files." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:409 +#. type: delimited block - +#: en/git-credential-store.txt:81 +#, no-wrap msgid "" -"While at it, check the 'info' and 'final-commit' files as well. If what is " -"in 'final-commit' is not exactly what you would want to see in the commit " -"log message, it is very likely that the receiver would end up hand editing " -"the log message when applying your patch. Things like \"Hi, this is my " -"first patch.\\n\" in the patch e-mail should come after the three-dash line " -"that signals the end of the commit message." +"$ git config credential.helper store\n" +"$ git push http://example.com/repo.git\n" +"Username: <type your username>\n" +"Password: <type your password>\n" msgstr "" -#. type: Title - -#: en/git-format-patch.txt:411 +#. type: delimited block - +#: en/git-credential-store.txt:85 #, no-wrap -msgid "MUA-SPECIFIC HINTS" +msgid "" +"[several days later]\n" +"$ git push http://example.com/repo.git\n" +"[your credentials are used automatically]\n" msgstr "" +#. type: Title - +#: en/git-credential-store.txt:88 +#, fuzzy, no-wrap +#| msgid "DATE FORMATS" +msgid "STORAGE FORMAT" +msgstr "FORMATS DE DATE" + #. type: Plain text -#: en/git-format-patch.txt:414 +#: en/git-credential-store.txt:92 msgid "" -"Here are some hints on how to successfully submit patches inline using " -"various mailers." +"The `.git-credentials` file is stored in plaintext. Each credential is " +"stored on its own line as a URL like:" msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:416 +#. type: delimited block - +#: en/git-credential-store.txt:95 #, no-wrap -msgid "GMail" +msgid "https://user:pass@example.com\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:422 +#: en/git-credential-store.txt:103 msgid "" -"GMail does not have any way to turn off line wrapping in the web interface, " -"so it will mangle any emails that you send. You can however use \"git send-" -"email\" and send your patches through the GMail SMTP server, or use any IMAP " -"email client to connect to the google IMAP server and forward the emails " -"through that." +"When Git needs authentication for a particular URL context, credential-store " +"will consider that context a pattern to match against each entry in the " +"credentials file. If the protocol, hostname, and username (if we already " +"have one) match, then the password is returned to Git. See the discussion of " +"configuration in linkgit:gitcredentials[7] for more information." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:425 -msgid "" -"For hints on using 'git send-email' to send your patches through the GMail " -"SMTP server, see the EXAMPLE section of linkgit:git-send-email[1]." -msgstr "" +#. type: Title = +#: en/git-credential.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-credential(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-format-patch.txt:428 -msgid "" -"For hints on submission using the IMAP interface, see the EXAMPLE section of " -"linkgit:git-imap-send[1]." +#: en/git-credential.txt:7 +msgid "git-credential - Retrieve and store user credentials" msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:430 +#. type: delimited block - +#: en/git-credential.txt:12 #, no-wrap -msgid "Thunderbird" +msgid "git credential <fill|approve|reject>\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:434 +#: en/git-credential.txt:25 msgid "" -"By default, Thunderbird will both wrap emails as well as flag them as being " -"'format=flowed', both of which will make the resulting email unusable by Git." +"Git has an internal interface for storing and retrieving credentials from " +"system-specific helpers, as well as prompting the user for usernames and " +"passwords. The git-credential command exposes this interface to scripts " +"which may want to retrieve, store, or prompt for credentials in the same " +"manner as Git. The design of this scriptable interface models the internal C " +"API; see link:technical/api-credentials.html[the Git credential API] for " +"more background on the concepts." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:438 +#: en/git-credential.txt:29 msgid "" -"There are three different approaches: use an add-on to turn off line wraps, " -"configure Thunderbird to not mangle patches, or use an external editor to " -"keep Thunderbird from mangling the patches." +"git-credential takes an \"action\" option on the command-line (one of " +"`fill`, `approve`, or `reject`) and reads a credential description on stdin " +"(see <<IOFMT,INPUT/OUTPUT FORMAT>>)." msgstr "" -#. type: Title ^ -#: en/git-format-patch.txt:440 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Approach #1 (add-on)" -msgstr "Configuration" - #. type: Plain text -#: en/git-format-patch.txt:448 +#: en/git-credential.txt:36 msgid "" -"Install the Toggle Word Wrap add-on that is available from https://addons." -"mozilla.org/thunderbird/addon/toggle-word-wrap/ It adds a menu entry " -"\"Enable Word Wrap\" in the composer's \"Options\" menu that you can tick " -"off. Now you can compose the message as you otherwise do (cut + paste, 'git " -"format-patch' | 'git imap-send', etc), but you have to insert line breaks " -"manually in any text that you type." +"If the action is `fill`, git-credential will attempt to add \"username\" and " +"\"password\" attributes to the description by reading config files, by " +"contacting any configured credential helpers, or by prompting the user. The " +"username and password attributes of the credential description are then " +"printed to stdout together with the attributes already provided." msgstr "" -#. type: Title ^ -#: en/git-format-patch.txt:450 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Approach #2 (configuration)" -msgstr "Configuration" - #. type: Plain text -#: en/git-format-patch.txt:452 -msgid "Three steps:" +#: en/git-credential.txt:40 +msgid "" +"If the action is `approve`, git-credential will send the description to any " +"configured credential helpers, which may store the credential for later use." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:456 +#: en/git-credential.txt:44 msgid "" -"Configure your mail server composition as plain text: Edit...Account " -"Settings...Composition & Addressing, uncheck \"Compose Messages in HTML\"." +"If the action is `reject`, git-credential will send the description to any " +"configured credential helpers, which may erase any stored credential " +"matching the description." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:458 -msgid "Configure your general composition window to not wrap." +#: en/git-credential.txt:46 +msgid "If the action is `approve` or `reject`, no output should be emitted." +msgstr "" + +#. type: Title - +#: en/git-credential.txt:48 +#, no-wrap +msgid "TYPICAL USE OF GIT CREDENTIAL" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:461 +#: en/git-credential.txt:52 msgid "" -"In Thunderbird 2: Edit..Preferences..Composition, wrap plain text messages " -"at 0" +"An application using git-credential will typically use `git credential` " +"following these steps:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:467 -msgid "" -"In Thunderbird 3: Edit..Preferences..Advanced..Config Editor. Search for " -"\"mail.wrap_long_lines\". Toggle it to make sure it is set to `false`. " -"Also, search for \"mailnews.wraplength\" and set the value to 0." +#: en/git-credential.txt:54 +msgid "Generate a credential description based on the context." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:472 +#: en/git-credential.txt:60 msgid "" -"Disable the use of format=flowed: Edit..Preferences..Advanced..Config " -"Editor. Search for \"mailnews.send_plaintext_flowed\". Toggle it to make " -"sure it is set to `false`." +"For example, if we want a password for `https://example.com/foo.git`, we " +"might generate the following credential description (don't forget the blank " +"line at the end; it tells `git credential` that the application finished " +"feeding all the information it has):" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:476 +#: en/git-credential.txt:64 +#, no-wrap msgid "" -"After that is done, you should be able to compose email as you otherwise " -"would (cut + paste, 'git format-patch' | 'git imap-send', etc), and the " -"patches will not be mangled." +"\t protocol=https\n" +"\t host=example.com\n" +"\t path=foo.git\n" msgstr "" -#. type: Title ^ -#: en/git-format-patch.txt:478 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Approach #3 (external editor)" -msgstr "Configuration" - #. type: Plain text -#: en/git-format-patch.txt:483 +#: en/git-credential.txt:70 msgid "" -"The following Thunderbird extensions are needed: AboutConfig from http://" -"aboutconfig.mozdev.org/ and External Editor from http://globs.org/articles." -"php?lng=en&pg=8" +"Ask git-credential to give us a username and password for this description. " +"This is done by running `git credential fill`, feeding the description from " +"step (1) to its standard input. The complete credential description " +"(including the credential per se, i.e. the login and password) will be " +"produced on standard output, like:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:485 -msgid "Prepare the patch as a text file using your method of choice." +#: en/git-credential.txt:75 +#, no-wrap +msgid "" +"protocol=https\n" +"host=example.com\n" +"username=bob\n" +"password=secr3t\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:490 +#: en/git-credential.txt:80 msgid "" -"Before opening a compose window, use Edit->Account Settings to uncheck the " -"\"Compose messages in HTML format\" setting in the \"Composition & Addressing" -"\" panel of the account to be used to send the patch." +"In most cases, this means the attributes given in the input will be repeated " +"in the output, but Git may also modify the credential description, for " +"example by removing the `path` attribute when the protocol is HTTP(s) and " +"`credential.useHttpPath` is false." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:494 +#: en/git-credential.txt:86 msgid "" -"In the main Thunderbird window, 'before' you open the compose window for the " -"patch, use Tools->about:config to set the following to the indicated values:" +"If the `git credential` knew about the password, this step may not have " +"involved the user actually typing this password (the user may have typed a " +"password to unlock the keychain instead, or no user interaction was done if " +"the keychain was already unlocked) before it returned `password=secr3t`." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:498 -#, no-wrap +#. type: Plain text +#: en/git-credential.txt:89 msgid "" -"\tmailnews.send_plaintext_flowed => false\n" -"\tmailnews.wraplength => 0\n" +"Use the credential (e.g., access the URL with the username and password from " +"step (2)), and see if it's accepted." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:501 -msgid "Open a compose window and click the external editor icon." +#: en/git-credential.txt:99 +msgid "" +"Report on the success or failure of the password. If the credential allowed " +"the operation to complete successfully, then it can be marked with an " +"\"approve\" action to tell `git credential` to reuse it in its next " +"invocation. If the credential was rejected during the operation, use the " +"\"reject\" action so that `git credential` will ask for a new password in " +"its next invocation. In either case, `git credential` should be fed with the " +"credential description obtained from step (2) (which also contain the ones " +"provided in step (1))." +msgstr "" + +#. type: Title - +#: en/git-credential.txt:102 +#, no-wrap +msgid "INPUT/OUTPUT FORMAT" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:504 +#: en/git-credential.txt:109 msgid "" -"In the external editor window, read in the patch file and exit the editor " -"normally." +"`git credential` reads and/or writes (depending on the action used) " +"credential information in its standard input/output. This information can " +"correspond either to keys for which `git credential` will obtain the login/" +"password information (e.g. host, protocol, path), or to the actual " +"credential data to be obtained (login/password)." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:507 +#: en/git-credential.txt:119 msgid "" -"Side note: it may be possible to do step 2 with about:config and the " -"following settings but no one's tried yet." +"The credential is split into a set of named attributes, with one attribute " +"per line. Each attribute is specified by a key-value pair, separated by an " +"`=` (equals) sign, followed by a newline. The key may contain any bytes " +"except `=`, newline, or NUL. The value may contain any bytes except newline " +"or NUL. In both cases, all bytes are treated as-is (i.e., there is no " +"quoting, and one cannot transmit a value with newline or NUL in it). The " +"list of attributes is terminated by a blank line or end-of-file. Git " +"understands the following attributes:" msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:512 +#. type: Labeled list +#: en/git-credential.txt:120 #, no-wrap -msgid "" -"\tmail.html_compose => false\n" -"\tmail.identity.default.compose_html => false\n" -"\tmail.identity.id?.compose_html => false\n" +msgid "`protocol`" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:517 -msgid "" -"There is a script in contrib/thunderbird-patch-inline which can help you " -"include patches with Thunderbird in an easy way. To use it, do the steps " -"above and then use the script as the external editor." +#: en/git-credential.txt:124 +msgid "The protocol over which the credential will be used (e.g., `https`)." msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:519 +#. type: Labeled list +#: en/git-credential.txt:125 #, no-wrap -msgid "KMail" +msgid "`host`" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:521 -msgid "This should help you to submit patches inline using KMail." +#: en/git-credential.txt:128 +msgid "The remote hostname for a network credential." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:523 -msgid "Prepare the patch as a text file." +#. type: Labeled list +#: en/git-credential.txt:129 +#, no-wrap +msgid "`path`" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:525 -msgid "Click on New Mail." +#: en/git-credential.txt:134 +msgid "" +"The path with which the credential will be used. E.g., for accessing a " +"remote https repository, this will be the repository's path on the server." +msgstr "" + +#. type: Labeled list +#: en/git-credential.txt:135 +#, no-wrap +msgid "`username`" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:528 +#: en/git-credential.txt:139 msgid "" -"Go under \"Options\" in the Composer window and be sure that \"Word wrap\" " -"is not set." +"The credential's username, if we already have one (e.g., from a URL, from " +"the user, or from a previously run helper)." +msgstr "" + +#. type: Labeled list +#: en/git-credential.txt:140 +#, no-wrap +msgid "`password`" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:530 -msgid "Use Message -> Insert file... and insert the patch." +#: en/git-credential.txt:143 +msgid "The credential's password, if we are asking it to be stored." +msgstr "" + +#. type: Labeled list +#: en/git-credential.txt:144 +#, no-wrap +msgid "`url`" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:533 +#: en/git-credential.txt:154 msgid "" -"Back in the compose window: add whatever other text you wish to the message, " -"complete the addressing and subject fields, and press send." +"When this special attribute is read by `git credential`, the value is parsed " +"as a URL and treated as if its constituent parts were read (e.g., " +"`url=https://example.com` would behave as if `protocol=https` and " +"`host=example.com` had been provided). This can help callers avoid parsing " +"URLs themselves. Note that any components which are missing from the URL (e." +"g., there is no username in the example above) will be set to empty; if you " +"want to provide a URL and override some attributes, provide the URL " +"attribute first, followed by any overrides." msgstr "" -#. type: Title - -#: en/git-format-patch.txt:535 +#. type: Title = +#: en/git-cvsexportcommit.txt:2 #, fuzzy, no-wrap -#| msgid "DATE FORMATS" -msgid "BASE TREE INFORMATION" -msgstr "FORMATS DE DATE" +#| msgid "git-commit(1)" +msgid "git-cvsexportcommit(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-format-patch.txt:544 -msgid "" -"The base tree information block is used for maintainers or third party " -"testers to know the exact state the patch series applies to. It consists of " -"the 'base commit', which is a well-known commit that is part of the stable " -"part of the project history everybody else works off of, and zero or more " -"'prerequisite patches', which are well-known patches in flight that is not " -"yet part of the 'base commit' that need to be applied on top of 'base " -"commit' in topological order before the patches can be applied." +#: en/git-cvsexportcommit.txt:7 +msgid "git-cvsexportcommit - Export a single commit to a CVS checkout" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:550 +#: en/git-cvsexportcommit.txt:14 +#, no-wrap msgid "" -"The 'base commit' is shown as \"base-commit: \" followed by the 40-hex of " -"the commit object name. A 'prerequisite patch' is shown as \"prerequisite-" -"patch-id: \" followed by the 40-hex 'patch id', which can be obtained by " -"passing the patch through the `git patch-id --stable` command." +"'git cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]\n" +"\t[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:554 +#: en/git-cvsexportcommit.txt:20 msgid "" -"Imagine that on top of the public commit P, you applied well-known patches " -"X, Y and Z from somebody else, and then built your three-patch series A, B, " -"C, the history would be like:" -msgstr "" - -#. type: delimited block . -#: en/git-format-patch.txt:557 -#, no-wrap -msgid "---P---X---Y---Z---A---B---C\n" +"Exports a commit from Git to a CVS checkout, making it easier to merge " +"patches from a Git repository into a CVS repository." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:564 +#: en/git-cvsexportcommit.txt:24 msgid "" -"With `git format-patch --base=P -3 C` (or variants thereof, e.g. with `--" -"cover-letter` of using `Z..C` instead of `-3 C` to specify the range), the " -"base tree information block is shown at the end of the first message the " -"command outputs (either the first patch, or the cover letter), like this:" +"Specify the name of a CVS checkout using the -w switch or execute it from " +"the root of the CVS working copy. In the latter case GIT_DIR must be " +"defined. See examples below." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:570 -#, no-wrap +#. type: Plain text +#: en/git-cvsexportcommit.txt:28 msgid "" -"base-commit: P\n" -"prerequisite-patch-id: X\n" -"prerequisite-patch-id: Y\n" -"prerequisite-patch-id: Z\n" +"It does its best to do the safe thing, it will check that the files are " +"unchanged and up to date in the CVS checkout, and it will not autocommit by " +"default." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:573 -msgid "For non-linear topology, such as" +#: en/git-cvsexportcommit.txt:30 +msgid "" +"Supports file additions, removals, and commits that affect binary files." msgstr "" -#. type: delimited block . -#: en/git-format-patch.txt:578 -#, no-wrap +#. type: Plain text +#: en/git-cvsexportcommit.txt:33 msgid "" -"---P---X---A---M---C\n" -" \\ /\n" -" Y---Z---B\n" +"If the commit is a merge commit, you must tell 'git cvsexportcommit' what " +"parent the changeset should be done against." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:583 +#: en/git-cvsexportcommit.txt:40 msgid "" -"You can also use `git format-patch --base=P -3 C` to generate patches for A, " -"B and C, and the identifiers for P, X, Y, Z are appended at the end of the " -"first message." +"Commit automatically if the patch applied cleanly. It will not commit if any " +"hunks fail to apply or there were other problems." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:589 +#: en/git-cvsexportcommit.txt:44 msgid "" -"If set `--base=auto` in cmdline, it will track base commit automatically, " -"the base commit will be the merge base of tip commit of the remote-tracking " -"branch and revision-range specified in cmdline. For a local branch, you " -"need to track a remote branch by `git branch --set-upstream-to` before using " -"this option." +"Be pedantic (paranoid) when applying patches. Invokes patch with --fuzz=0" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:595 +#: en/git-cvsexportcommit.txt:48 msgid "" -"Extract commits between revisions R1 and R2, and apply them on top of the " -"current branch using 'git am' to cherry-pick them:" +"Add authorship information. Adds Author line, and Committer (if different " +"from Author) to the message." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:598 -#, no-wrap -msgid "$ git format-patch -k --stdout R1..R2 | git am -3 -k\n" +#. type: Plain text +#: en/git-cvsexportcommit.txt:53 +msgid "" +"Set an alternative CVSROOT to use. This corresponds to the CVS -d " +"parameter. Usually users will not want to set this, except if using CVS in " +"an asymmetric fashion." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:602 -msgid "" -"Extract all commits which are in the current branch but not in the origin " -"branch:" +#: en/git-cvsexportcommit.txt:56 +msgid "Force the merge even if the files are not up to date." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:605 +#. type: Labeled list +#: en/git-cvsexportcommit.txt:57 en/git-grep.txt:162 #, no-wrap -msgid "$ git format-patch origin\n" +msgid "-P" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:608 -msgid "For each commit a separate file is created in the current directory." +#: en/git-cvsexportcommit.txt:59 +msgid "Force the parent commit, even if it is not a direct parent." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:611 +#: en/git-cvsexportcommit.txt:63 msgid "" -"Extract all commits that lead to 'origin' since the inception of the project:" -msgstr "" - -#. type: delimited block - -#: en/git-format-patch.txt:614 -#, no-wrap -msgid "$ git format-patch --root origin\n" +"Prepend the commit message with the provided prefix. Useful for patch " +"series and the like." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:617 -msgid "The same as the previous one:" +#: en/git-cvsexportcommit.txt:66 +msgid "Update affected files from CVS repository before attempting export." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:620 -#, no-wrap -msgid "$ git format-patch -M -B origin\n" +#. type: Plain text +#: en/git-cvsexportcommit.txt:70 +msgid "" +"Reverse CVS keyword expansion (e.g. $Revision: 1.2.3.4$ becomes $Revision$) " +"in working CVS checkout before applying patch." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:627 +#: en/git-cvsexportcommit.txt:76 msgid "" -"Additionally, it detects and handles renames and complete rewrites " -"intelligently to produce a renaming patch. A renaming patch reduces the " -"amount of text output, and generally makes it easier to review. Note that " -"non-Git \"patch\" programs won't understand renaming patches, so use it only " -"when you know the recipient uses Git to apply your patch." +"Specify the location of the CVS checkout to use for the export. This option " +"does not require GIT_DIR to be set before execution if the current directory " +"is within a Git repository. The default is the value of 'cvsexportcommit." +"cvsdir'." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:630 +#: en/git-cvsexportcommit.txt:81 msgid "" -"Extract three topmost commits from the current branch and format them as e-" -"mailable patches:" +"Tell cvsexportcommit that the current working directory is not only a Git " +"checkout, but also the CVS checkout. Therefore, Git will reset the working " +"directory to the parent commit before proceeding." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:633 -#, no-wrap -msgid "$ git format-patch -3\n" +#. type: Plain text +#: en/git-cvsexportcommit.txt:84 +msgid "Verbose." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:638 -#, fuzzy +#. type: Labeled list +#: en/git-cvsexportcommit.txt:87 +#, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "linkgit:git-am[1], linkgit:git-send-email[1]" +msgid "cvsexportcommit.cvsdir" msgstr "git-commit(1)" -#. type: Title = -#: en/git-fsck-objects.txt:2 -#, no-wrap -msgid "git-fsck-objects(1)" -msgstr "git-fsck-objects(1)" - #. type: Plain text -#: en/git-fsck-objects.txt:7 -#, fuzzy -#| msgid "" -#| "git-fsck-objects - Verifies the connectivity and validity of the objects " -#| "in the database" -msgid "" -"git-fsck-objects - Verifies the connectivity and validity of the objects in " -"the database" +#: en/git-cvsexportcommit.txt:89 +msgid "The default location of the CVS checkout to use for the export." msgstr "" -"git-fsck-objects - V챕rifier la connectivit챕 et la validit챕 des objets en " -"base de donn챕es" -#. type: Plain text -#: en/git-fsck-objects.txt:13 +#. type: Labeled list +#: en/git-cvsexportcommit.txt:93 #, no-wrap -msgid "'git fsck-objects' ...\n" -msgstr "'git fsck-objects' ...\n" - -#. type: Plain text -#: en/git-fsck-objects.txt:19 -#, fuzzy -#| msgid "" -#| "This is a synonym for linkgit:git-fsck[1]. Please refer to the " -#| "documentation of that command." -msgid "" -"This is a synonym for linkgit:git-fsck[1]. Please refer to the " -"documentation of that command." +msgid "Merge one patch into CVS" msgstr "" -"Ceci est un synonyme pour linkgit:git-fsck[1]. Veuillez vous r챕f챕rer 횪 la " -"documentation de cette commande." -#. type: Title = -#: en/git-fsck.txt:2 +#. type: delimited block - +#: en/git-cvsexportcommit.txt:100 #, no-wrap -msgid "git-fsck(1)" -msgstr "git-fsck(1)" - -#. type: Plain text -#: en/git-fsck.txt:7 -#, fuzzy -#| msgid "" -#| "git-fsck - Verifies the connectivity and validity of the objects in the " -#| "database" msgid "" -"git-fsck - Verifies the connectivity and validity of the objects in the " -"database" +"$ export GIT_DIR=~/project/.git\n" +"$ cd ~/project_cvs_checkout\n" +"$ git cvsexportcommit -v <commit-sha1>\n" +"$ cvs commit -F .msg <files>\n" msgstr "" -"git-fsck - V챕rifier la connectivit챕 et la validit챕 des objets dans la base " -"de donn챕es" -#. type: Plain text -#: en/git-fsck.txt:16 +#. type: Labeled list +#: en/git-cvsexportcommit.txt:102 #, no-wrap -msgid "" -"'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n" -"\t [--[no-]full] [--strict] [--verbose] [--lost-found]\n" -"\t [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n" -"\t [--[no-]name-objects] [<object>*]\n" +msgid "Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo" msgstr "" -"'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n" -"\t [--[no-]full] [--strict] [--verbose] [--lost-found]\n" -"\t [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n" -"\t [--[no-]name-objects] [<objet>*]\n" - -#. type: Plain text -#: en/git-fsck.txt:20 en/cmds-ancillaryinterrogators.txt:18 -msgid "Verifies the connectivity and validity of the objects in the database." -msgstr "V챕rifie la connectivit챕 et la validit챕 des objets en base de donn챕es." -#. type: Plain text -#: en/git-fsck.txt:25 -#, fuzzy -#| msgid "" -#| "<object>::\n" -#| "\tAn object to treat as the head of an unreachability trace.\n" -msgid "An object to treat as the head of an unreachability trace." +#. type: delimited block - +#: en/git-cvsexportcommit.txt:106 +#, no-wrap +msgid "\t$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>\n" msgstr "" -"<objet>::\n" -"\tUn objet 횪 traiter comme la t챗te d'une trace d'inaccessibilit챕.\n" -#. type: Plain text -#: en/git-fsck.txt:29 -msgid "" -"If no objects are given, 'git fsck' defaults to using the index file, all " -"SHA-1 references in `refs` namespace, and all reflogs (unless --no-reflogs " -"is given) as heads." +#. type: Labeled list +#: en/git-cvsexportcommit.txt:108 +#, no-wrap +msgid "Merge pending patches into CVS automatically -- only if you really know what you are doing" msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:30 +#. type: delimited block - +#: en/git-cvsexportcommit.txt:114 #, no-wrap -msgid "--unreachable" +msgid "" +"$ export GIT_DIR=~/project/.git\n" +"$ cd ~/project_cvs_checkout\n" +"$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v\n" msgstr "" +#. type: Title = +#: en/git-cvsimport.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-cvsimport(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-fsck.txt:33 +#: en/git-cvsimport.txt:7 msgid "" -"Print out objects that exist but that aren't reachable from any of the " -"reference nodes." +"git-cvsimport - Salvage your data out of another SCM people love to hate" msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:34 +#. type: Plain text +#: en/git-cvsimport.txt:17 #, no-wrap -msgid "--[no-]dangling" +msgid "" +"'git cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]\n" +"\t [-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]\n" +"\t [-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]\n" +"\t [-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]\n" +"\t [-r <remote>] [-R] [<CVS_module>]\n" msgstr "" #. type: Plain text -#: en/git-fsck.txt:37 +#: en/git-cvsimport.txt:26 +#, no-wrap msgid "" -"Print objects that exist but that are never 'directly' used (default). `--" -"no-dangling` can be used to omit this information from the output." +"*WARNING:* `git cvsimport` uses cvsps version 2, which is considered\n" +"deprecated; it does not work with cvsps version 3 and later. If you are\n" +"performing a one-shot import of a CVS repository consider using\n" +"http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or\n" +"http://www.catb.org/esr/cvs-fast-export/[cvs-fast-export].\n" msgstr "" #. type: Plain text -#: en/git-fsck.txt:40 -msgid "Report root nodes." +#: en/git-cvsimport.txt:29 +msgid "" +"Imports a CVS repository into Git. It will either create a new repository, " +"or incrementally import into an existing one." msgstr "" #. type: Plain text -#: en/git-fsck.txt:43 -msgid "Report tags." +#: en/git-cvsimport.txt:32 +msgid "" +"Splitting the CVS log into patch sets is done by 'cvsps'. At least version " +"2.1 is required." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:44 +#. type: Plain text +#: en/git-cvsimport.txt:35 #, no-wrap -msgid "--cache" +msgid "" +"*WARNING:* for certain situations the import leads to incorrect results.\n" +"Please see the section <<issues,ISSUES>> for further reference.\n" msgstr "" #. type: Plain text -#: en/git-fsck.txt:47 -#, fuzzy -#| msgid "" -#| "<object>::\n" -#| "\tAn object to treat as the head of an unreachability trace.\n" +#: en/git-cvsimport.txt:42 msgid "" -"Consider any object recorded in the index also as a head node for an " -"unreachability trace." +"You should *never* do any work of your own on the branches that are created " +"by 'git cvsimport'. By default initial import will create and populate a " +"\"master\" branch from the CVS repository's main branch which you're free to " +"work with; after that, you need to 'git merge' incremental imports, or any " +"CVS branches, yourself. It is advisable to specify a named remote via -r to " +"separate and protect the incoming branches." msgstr "" -"<objet>::\n" -"\tUn objet 횪 traiter comme la t챗te d'une trace d'inaccessibilit챕.\n" -#. type: Labeled list -#: en/git-fsck.txt:48 -#, no-wrap -msgid "--no-reflogs" +#. type: Plain text +#: en/git-cvsimport.txt:48 +msgid "" +"If you intend to set up a shared public repository that all developers can " +"read/write, or if you want to use linkgit:git-cvsserver[1], then you " +"probably want to make a bare clone of the imported repository, and use the " +"clone as the shared repository. See linkgit:gitcvs-migration[7]." msgstr "" #. type: Plain text -#: en/git-fsck.txt:53 -msgid "" -"Do not consider commits that are referenced only by an entry in a reflog to " -"be reachable. This option is meant only to search for commits that used to " -"be in a ref, but now aren't, but are still in that corresponding reflog." +#: en/git-cvsimport.txt:54 +msgid "Verbosity: let 'cvsimport' report what it is doing." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:54 +#: en/git-cvsimport.txt:55 #, no-wrap -msgid "--full" +msgid "-d <CVSROOT>" msgstr "" #. type: Plain text -#: en/git-fsck.txt:63 +#: en/git-cvsimport.txt:61 msgid "" -"Check not just objects in GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), but also " -"the ones found in alternate object pools listed in " -"GIT_ALTERNATE_OBJECT_DIRECTORIES or $GIT_DIR/objects/info/alternates, and in " -"packed Git archives found in $GIT_DIR/objects/pack and corresponding pack " -"subdirectories in alternate object pools. This is now default; you can turn " -"it off with --no-full." +"The root of the CVS archive. May be local (a simple path) or remote; " +"currently, only the :local:, :ext: and :pserver: access methods are " +"supported. If not given, 'git cvsimport' will try to read it from `CVS/" +"Root`. If no such file exists, it checks for the `CVSROOT` environment " +"variable." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:64 -#, no-wrap -msgid "--connectivity-only" -msgstr "" +#: en/git-cvsimport.txt:62 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "<CVS_module>" +msgstr "git-add(1)" #. type: Plain text -#: en/git-fsck.txt:68 +#: en/git-cvsimport.txt:66 msgid "" -"Check only the connectivity of tags, commits and tree objects. By avoiding " -"to unpack blobs, this speeds up the operation, at the expense of missing " -"corrupt objects or other problematic issues." +"The CVS module you want to import. Relative to <CVSROOT>. If not given, " +"'git cvsimport' tries to read it from `CVS/Repository`." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:69 en/git-index-pack.txt:74 en/git-unpack-objects.txt:44 -#, fuzzy, no-wrap -#| msgid "strip" -msgid "--strict" -msgstr "strip" +#: en/git-cvsimport.txt:67 +#, no-wrap +msgid "-C <target-dir>" +msgstr "" #. type: Plain text -#: en/git-fsck.txt:76 -msgid "" -"Enable more strict checking, namely to catch a file mode recorded with g+w " -"bit set, which was created by older versions of Git. Existing repositories, " -"including the Linux kernel, Git itself, and sparse repository have old " -"objects that triggers this check, but it is recommended to check new " -"projects with this flag." +#: en/git-cvsimport.txt:69 +msgid "The Git repository to import to. If the directory doesn't" msgstr "" #. type: Plain text -#: en/git-fsck.txt:79 -msgid "Be chatty." +#: en/git-cvsimport.txt:70 +#, no-wrap +msgid "exist, it will be created. Default is the current directory.\n" msgstr "" #. type: Labeled list -#: en/git-fsck.txt:80 +#: en/git-cvsimport.txt:71 #, no-wrap -msgid "--lost-found" +msgid "-r <remote>" msgstr "" #. type: Plain text -#: en/git-fsck.txt:85 +#: en/git-cvsimport.txt:75 msgid "" -"Write dangling objects into .git/lost-found/commit/ or .git/lost-found/" -"other/, depending on type. If the object is a blob, the contents are " -"written into the file, rather than its object name." +"The Git remote to import this CVS repository into. Moves all CVS branches " +"into remotes/<remote>/<branch> akin to the way 'git clone' uses 'origin' by " +"default." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:86 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--name-objects" -msgstr "git-commit(1)" +#: en/git-cvsimport.txt:76 +#, no-wrap +msgid "-o <branch-for-HEAD>" +msgstr "" #. type: Plain text -#: en/git-fsck.txt:91 +#: en/git-cvsimport.txt:84 msgid "" -"When displaying names of reachable objects, in addition to the SHA-1 also " -"display a name that describes *how* they are reachable, compatible with " -"linkgit:git-rev-parse[1], e.g. `HEAD@{1234567890}~25^2:src/`." +"When no remote is specified (via -r) the `HEAD` branch from CVS is imported " +"to the 'origin' branch within the Git repository, as `HEAD` already has a " +"special meaning for Git. When a remote is specified the `HEAD` branch is " +"named remotes/<remote>/master mirroring 'git clone' behaviour. Use this " +"option if you want to import into a different branch." msgstr "" #. type: Plain text -#: en/git-fsck.txt:98 +#: en/git-cvsimport.txt:87 msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal, unless --no-progress or --verbose is specified. --" -"progress forces progress status even if the standard error stream is not " -"directed to a terminal." +"Use '-o master' for continuing an import that was initially done by the old " +"cvs2git tool." msgstr "" #. type: Plain text -#: en/git-fsck.txt:108 +#: en/git-cvsimport.txt:92 msgid "" -"git-fsck tests SHA-1 and general object sanity, and it does full tracking of " -"the resulting reachability and everything else. It prints out any corruption " -"it finds (missing or bad objects), and if you use the `--unreachable` flag " -"it will also print out objects that exist but that aren't reachable from any " -"of the specified head nodes (or the default set, as mentioned above)." +"Import-only: don't perform a checkout after importing. This option ensures " +"the working directory and index remain untouched and will not create them if " +"they do not exist." msgstr "" #. type: Plain text -#: en/git-fsck.txt:112 +#: en/git-cvsimport.txt:97 msgid "" -"Any corrupt objects you will have to find in backups or other archives (i." -"e., you can just remove them and do an 'rsync' with some other site in the " -"hopes that somebody else has the object you have corrupted)." -msgstr "" - -#. type: Title - -#: en/git-fsck.txt:114 -#, no-wrap -msgid "Extracted Diagnostics" -msgstr "" - -#. type: Labeled list -#: en/git-fsck.txt:116 -#, no-wrap -msgid "expect dangling commits - potential heads - due to lack of head information" +"Kill keywords: will extract files with '-kk' from the CVS archive to avoid " +"noisy changesets. Highly recommended, but off by default to preserve " +"compatibility with early imported trees." msgstr "" #. type: Plain text -#: en/git-fsck.txt:120 -msgid "" -"You haven't specified any nodes as heads so it won't be possible to " -"differentiate between un-parented commits and root nodes." +#: en/git-cvsimport.txt:100 +msgid "Convert underscores in tag and branch names to dots." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:121 +#: en/git-cvsimport.txt:101 #, no-wrap -msgid "missing sha1 directory '<dir>'" +msgid "-s <subst>" msgstr "" #. type: Plain text -#: en/git-fsck.txt:123 -msgid "The directory holding the sha1 objects is missing." +#: en/git-cvsimport.txt:103 +msgid "Substitute the character \"/\" in branch names with <subst>" msgstr "" #. type: Labeled list -#: en/git-fsck.txt:124 +#: en/git-cvsimport.txt:104 #, no-wrap -msgid "unreachable <type> <object>" +msgid "-p <options-for-cvsps>" msgstr "" #. type: Plain text -#: en/git-fsck.txt:131 +#: en/git-cvsimport.txt:107 msgid "" -"The <type> object <object>, isn't actually referred to directly or " -"indirectly in any of the trees or commits seen. This can mean that there's " -"another root node that you're not specifying or that the tree is corrupt. If " -"you haven't missed a root node then you might as well delete unreachable " -"nodes since they can't be used." +"Additional options for cvsps. The options `-u` and '-A' are implicit and " +"should not be used here." +msgstr "" + +#. type: Plain text +#: en/git-cvsimport.txt:109 +msgid "If you need to pass multiple options, separate them with a comma." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:132 +#: en/git-cvsimport.txt:110 #, no-wrap -msgid "missing <type> <object>" +msgid "-z <fuzz>" msgstr "" #. type: Plain text -#: en/git-fsck.txt:135 +#: en/git-cvsimport.txt:113 msgid "" -"The <type> object <object>, is referred to but isn't present in the database." +"Pass the timestamp fuzz factor to cvsps, in seconds. If unset, cvsps " +"defaults to 300s." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:136 +#: en/git-cvsimport.txt:114 #, no-wrap -msgid "dangling <type> <object>" +msgid "-P <cvsps-output-file>" msgstr "" #. type: Plain text -#: en/git-fsck.txt:139 +#: en/git-cvsimport.txt:117 msgid "" -"The <type> object <object>, is present in the database but never 'directly' " -"used. A dangling commit could be a root node." +"Instead of calling cvsps, read the provided cvsps output file. Useful for " +"debugging or when cvsps is being handled outside cvsimport." +msgstr "" + +#. type: Plain text +#: en/git-cvsimport.txt:122 +msgid "" +"Attempt to detect merges based on the commit message. This option will " +"enable default regexes that try to capture the source branch name from the " +"commit message." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:140 +#: en/git-cvsimport.txt:123 #, no-wrap -msgid "sha1 mismatch <object>" +msgid "-M <regex>" msgstr "" #. type: Plain text -#: en/git-fsck.txt:144 +#: en/git-cvsimport.txt:127 msgid "" -"The database has an object who's sha1 doesn't match the database value. " -"This indicates a serious data integrity problem." +"Attempt to detect merges based on the commit message with a custom regex. It " +"can be used with `-m` to enable the default regexes as well. You must escape " +"forward slashes." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:148 -#, no-wrap -msgid "GIT_OBJECT_DIRECTORY" +#. type: Plain text +#: en/git-cvsimport.txt:129 +msgid "The regex must capture the source branch name in $1." msgstr "" #. type: Plain text -#: en/git-fsck.txt:150 -msgid "used to specify the object database root (usually $GIT_DIR/objects)" +#: en/git-cvsimport.txt:131 +msgid "" +"This option can be used several times to provide several detection regexes." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:151 +#: en/git-cvsimport.txt:132 #, no-wrap -msgid "GIT_INDEX_FILE" +msgid "-S <regex>" msgstr "" -# #. type: Plain text -#: en/git-fsck.txt:153 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "used to specify the index file of the index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Labeled list -#: en/git-fsck.txt:154 -#, no-wrap -msgid "GIT_ALTERNATE_OBJECT_DIRECTORIES" +#: en/git-cvsimport.txt:134 +msgid "Skip paths matching the regex." msgstr "" #. type: Plain text -#: en/git-fsck.txt:156 -msgid "used to specify additional object database roots (usually unset)" +#: en/git-cvsimport.txt:138 +msgid "" +"Import all commits, including recent ones. cvsimport by default skips " +"commits that have a timestamp less than 10 minutes ago." msgstr "" -#. type: Title = -#: en/git-gc.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-gc(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-cvsimport.txt:139 +#, no-wrap +msgid "-L <limit>" +msgstr "" #. type: Plain text -#: en/git-gc.txt:7 -msgid "git-gc - Cleanup unnecessary files and optimize the local repository" +#: en/git-cvsimport.txt:142 +msgid "" +"Limit the number of commits imported. Workaround for cases where cvsimport " +"leaks memory." msgstr "" -#. type: Plain text -#: en/git-gc.txt:13 +#. type: Labeled list +#: en/git-cvsimport.txt:143 #, no-wrap -msgid "'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune] [--force]\n" +msgid "-A <author-conv-file>" msgstr "" #. type: Plain text -#: en/git-gc.txt:20 +#: en/git-cvsimport.txt:148 msgid "" -"Runs a number of housekeeping tasks within the current repository, such as " -"compressing file revisions (to reduce disk space and increase performance) " -"and removing unreachable objects which may have been created from prior " -"invocations of 'git add'." +"CVS by default uses the Unix username when writing its commit logs. Using " +"this option and an author-conv-file maps the name recorded in CVS to author " +"name, e-mail and optional time zone:" msgstr "" -#. type: Plain text -#: en/git-gc.txt:24 +#. type: delimited block - +#: en/git-cvsimport.txt:152 +#, no-wrap msgid "" -"Users are encouraged to run this task on a regular basis within each " -"repository to maintain good disk space utilization and good operating " -"performance." +"\texon=Andreas Ericsson <ae@op5.se>\n" +"\tspawn=Simon Pawn <spawn@frog-pond.org> America/Chicago\n" msgstr "" #. type: Plain text -#: en/git-gc.txt:28 +#: en/git-cvsimport.txt:159 msgid "" -"Some git commands may automatically run 'git gc'; see the `--auto` flag " -"below for details. If you know what you're doing and all you want is to " -"disable this behavior permanently without further considerations, just do:" +"'git cvsimport' will make it appear as those authors had their " +"GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly all along. If a time zone " +"is specified, GIT_AUTHOR_DATE will have the corresponding offset applied." msgstr "" -#. type: delimited block - -#: en/git-gc.txt:31 -#, no-wrap -msgid "$ git config --global gc.auto 0\n" +#. type: Plain text +#: en/git-cvsimport.txt:163 +msgid "" +"For convenience, this data is saved to `$GIT_DIR/cvs-authors` each time the " +"'-A' option is provided and read from that same file each time 'git " +"cvsimport' is run." msgstr "" -#. type: Labeled list -#: en/git-gc.txt:36 en/git-read-tree.txt:71 -#, no-wrap -msgid "--aggressive" +#. type: Plain text +#: en/git-cvsimport.txt:167 +msgid "" +"It is not recommended to use this feature if you intend to export changes " +"back to CVS again later with 'git cvsexportcommit'." msgstr "" #. type: Plain text -#: en/git-gc.txt:43 +#: en/git-cvsimport.txt:173 msgid "" -"Usually 'git gc' runs very quickly while providing good disk space " -"utilization and performance. This option will cause 'git gc' to more " -"aggressively optimize the repository at the expense of taking much more " -"time. The effects of this optimization are persistent, so this option only " -"needs to be used occasionally; every few hundred changesets or so." +"Generate a `$GIT_DIR/cvs-revisions` file containing a mapping from CVS " +"revision numbers to newly-created Git commit IDs. The generated file will " +"contain one line for each (filename, revision) pair imported; each line will " +"look like" msgstr "" -#. type: Labeled list -#: en/git-gc.txt:44 +#. type: delimited block - +#: en/git-cvsimport.txt:176 #, no-wrap -msgid "--auto" +msgid "src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7\n" msgstr "" #. type: Plain text -#: en/git-gc.txt:49 +#: en/git-cvsimport.txt:180 msgid "" -"With this option, 'git gc' checks whether any housekeeping is required; if " -"not, it exits without performing any work. Some git commands run `git gc --" -"auto` after performing operations that could create many loose objects." +"The revision data is appended to the file if it already exists, for use when " +"doing incremental imports." msgstr "" #. type: Plain text -#: en/git-gc.txt:56 +#: en/git-cvsimport.txt:183 msgid "" -"Housekeeping is required if there are too many loose objects or too many " -"packs in the repository. If the number of loose objects exceeds the value of " -"the `gc.auto` configuration variable, then all loose objects are combined " -"into a single pack using `git repack -d -l`. Setting the value of `gc.auto` " -"to 0 disables automatic packing of loose objects." +"This option may be useful if you have CVS revision numbers stored in commit " +"messages, bug-tracking systems, email archives, and the like." msgstr "" #. type: Plain text -#: en/git-gc.txt:62 -msgid "" -"If the number of packs exceeds the value of `gc.autoPackLimit`, then " -"existing packs (except those marked with a `.keep` file) are consolidated " -"into a single pack by using the `-A` option of 'git repack'. Setting `gc." -"autoPackLimit` to 0 disables automatic consolidation of packs." +#: en/git-cvsimport.txt:186 +msgid "Print a short usage message and exit." msgstr "" -#. type: Labeled list -#: en/git-gc.txt:63 -#, no-wrap -msgid "--prune=<date>" +#. type: Plain text +#: en/git-cvsimport.txt:190 +msgid "If `-v` is specified, the script reports what it is doing." msgstr "" #. type: Plain text -#: en/git-gc.txt:70 +#: en/git-cvsimport.txt:193 msgid "" -"Prune loose objects older than date (default is 2 weeks ago, overridable by " -"the config variable `gc.pruneExpire`). --prune=all prunes loose objects " -"regardless of their age and increases the risk of corruption if another " -"process is writing to the repository concurrently; see \"NOTES\" below. --" -"prune is on by default." +"Otherwise, success is indicated the Unix way, i.e. by simply exiting with a " +"zero exit status." msgstr "" -#. type: Labeled list -#: en/git-gc.txt:71 en/git-pack-refs.txt:57 +#. type: Title - +#: en/git-cvsimport.txt:196 #, no-wrap -msgid "--no-prune" +msgid "ISSUES" msgstr "" #. type: Plain text -#: en/git-gc.txt:73 -#, fuzzy -#| msgid "but can be used to amend a merge commit." -msgid "Do not prune any loose objects." -msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." +#: en/git-cvsimport.txt:198 +msgid "Problems related to timestamps:" +msgstr "" #. type: Plain text -#: en/git-gc.txt:76 -#, fuzzy -#| msgid "" -#| "-q::\n" -#| "--quiet::\n" -#| "\tSuppress commit summary message.\n" -msgid "Suppress all progress reports." +#: en/git-cvsimport.txt:202 +msgid "" +"If timestamps of commits in the CVS repository are not stable enough to be " +"used for ordering commits changes may show up in the wrong order." msgstr "" -"-q::\n" -"--quiet::\n" -"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Plain text -#: en/git-gc.txt:80 +#: en/git-cvsimport.txt:204 msgid "" -"Force `git gc` to run even if there may be another `git gc` instance running " -"on this repository." +"If any files were ever \"cvs import\"ed more than once (e.g., import of more " +"than one vendor release) the HEAD contains the wrong content." msgstr "" #. type: Plain text -#: en/git-gc.txt:89 +#: en/git-cvsimport.txt:207 msgid "" -"The optional configuration variable `gc.reflogExpire` can be set to indicate " -"how long historical entries within each branch's reflog should remain " -"available in this repository. The setting is expressed as a length of time, " -"for example '90 days' or '3 months'. It defaults to '90 days'." +"If the timestamp order of different files cross the revision order within " +"the commit matching time window the order of commits may be wrong." msgstr "" #. type: Plain text -#: en/git-gc.txt:98 -msgid "" -"The optional configuration variable `gc.reflogExpireUnreachable` can be set " -"to indicate how long historical reflog entries which are not part of the " -"current branch should remain available in this repository. These types of " -"entries are generally created as a result of using `git commit --amend` or " -"`git rebase` and are the commits prior to the amend or rebase occurring. " -"Since these changes are not part of the current project most users will want " -"to expire them sooner. This option defaults to '30 days'." +#: en/git-cvsimport.txt:209 +msgid "Problems related to branches:" msgstr "" #. type: Plain text -#: en/git-gc.txt:102 -msgid "" -"The above two configuration variables can be given to a pattern. For " -"example, this sets non-default expiry values only to remote-tracking " -"branches:" +#: en/git-cvsimport.txt:211 +msgid "Branches on which no commits have been made are not imported." msgstr "" -#. type: delimited block - -#: en/git-gc.txt:107 -#, no-wrap +#. type: Plain text +#: en/git-cvsimport.txt:213 msgid "" -"[gc \"refs/remotes/*\"]\n" -"\treflogExpire = never\n" -"\treflogExpireUnreachable = 3 days\n" +"All files from the branching point are added to a branch even if never added " +"in CVS." msgstr "" #. type: Plain text -#: en/git-gc.txt:112 +#: en/git-cvsimport.txt:216 msgid "" -"The optional configuration variable `gc.rerereResolved` indicates how long " -"records of conflicted merge you resolved earlier are kept. This defaults to " -"60 days." +"This applies to files added to the source branch *after* a daughter branch " +"was created: if previously no commit was made on the daughter branch they " +"will erroneously be added to the daughter branch in git." msgstr "" #. type: Plain text -#: en/git-gc.txt:116 -msgid "" -"The optional configuration variable `gc.rerereUnresolved` indicates how long " -"records of conflicted merge you have not resolved are kept. This defaults " -"to 15 days." +#: en/git-cvsimport.txt:218 +msgid "Problems related to tags:" msgstr "" #. type: Plain text -#: en/git-gc.txt:121 -msgid "" -"The optional configuration variable `gc.packRefs` determines if 'git gc' " -"runs 'git pack-refs'. This can be set to \"notbare\" to enable it within all " -"non-bare repos or it can be set to a boolean value. This defaults to true." +#: en/git-cvsimport.txt:220 +msgid "Multiple tags on the same revision are not imported." msgstr "" #. type: Plain text -#: en/git-gc.txt:128 +#: en/git-cvsimport.txt:223 msgid "" -"The optional configuration variable `gc.aggressiveWindow` controls how much " -"time is spent optimizing the delta compression of the objects in the " -"repository when the --aggressive option is specified. The larger the value, " -"the more time is spent optimizing the delta compression. See the " -"documentation for the --window' option in linkgit:git-repack[1] for more " -"details. This defaults to 250." +"If you suspect that any of these issues may apply to the repository you want " +"to import, consider using cvs2git:" msgstr "" #. type: Plain text -#: en/git-gc.txt:131 -msgid "" -"Similarly, the optional configuration variable `gc.aggressiveDepth` controls " -"--depth option in linkgit:git-repack[1]. This defaults to 50." +#: en/git-cvsimport.txt:225 +msgid "cvs2git (part of cvs2svn), `http://subversion.apache.org/`" +msgstr "" + +#. type: Title = +#: en/git-cvsserver.txt:2 +#, no-wrap +msgid "git-cvsserver(1)" msgstr "" #. type: Plain text -#: en/git-gc.txt:135 -msgid "" -"The optional configuration variable `gc.pruneExpire` controls how old the " -"unreferenced loose objects have to be before they are pruned. The default " -"is \"2 weeks ago\"." +#: en/git-cvsserver.txt:7 +msgid "git-cvsserver - A CVS server emulator for Git" msgstr "" #. type: Plain text -#: en/git-gc.txt:150 -msgid "" -"'git gc' tries very hard not to delete objects that are referenced anywhere " -"in your repository. In particular, it will keep not only objects referenced " -"by your current set of branches and tags, but also objects referenced by the " -"index, remote-tracking branches, refs saved by 'git filter-branch' in refs/" -"original/, or reflogs (which may reference commits in branches that were " -"later amended or rewound). If you are expecting some objects to be deleted " -"and they aren't, check all of those locations and decide whether it makes " -"sense in your case to remove those references." +#: en/git-cvsserver.txt:12 +msgid "SSH:" msgstr "" #. type: Plain text -#: en/git-gc.txt:157 +#: en/git-cvsserver.txt:16 +#, no-wrap msgid "" -"On the other hand, when 'git gc' runs concurrently with another process, " -"there is a risk of it deleting an object that the other process is using but " -"hasn't created a reference to. This may just cause the other process to fail " -"or may corrupt the repository if the other process later adds a reference to " -"the deleted object. Git has two features that significantly mitigate this " -"problem:" +"export CVS_SERVER=\"git cvsserver\"\n" +"'cvs' -d :ext:user@server/path/repo.git co <HEAD_name>\n" msgstr "" #. type: Plain text -#: en/git-gc.txt:160 -msgid "" -"Any object with modification time newer than the `--prune` date is kept, " -"along with everything reachable from it." +#: en/git-cvsserver.txt:18 +msgid "pserver (/etc/inetd.conf):" msgstr "" #. type: Plain text -#: en/git-gc.txt:164 -msgid "" -"Most operations that add an object to the database update the modification " -"time of the object if it is already present so that #1 applies." +#: en/git-cvsserver.txt:21 +#, no-wrap +msgid "cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver\n" msgstr "" #. type: Plain text -#: en/git-gc.txt:169 -msgid "" -"However, these features fall short of a complete solution, so users who run " -"commands concurrently have to live with some risk of corruption (which seems " -"to be low in practice) unless they turn off automatic garbage collection " -"with 'git config gc.auto 0'." +#: en/git-cvsserver.txt:23 +msgid "Usage:" msgstr "" #. type: Plain text -#: en/git-gc.txt:175 -#, fuzzy -#| msgid "" -#| "This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, " -#| "and `post-commit` hooks. See linkgit:githooks[5] for more information." -msgid "" -"The 'git gc --auto' command will run the 'pre-auto-gc' hook. See linkgit:" -"githooks[5] for more information." +#: en/git-cvsserver.txt:26 +#, no-wrap +msgid "'git-cvsserver' [options] [pserver|server] [<directory> ...]\n" msgstr "" -"Cette commande peut lancer les crochets `commit-msg`, `prepare-commit-msg`, " -"`pre-commit` et `post-commit`. Voir linkgit:githooks[5] pour de plus amples " -"informations." -# #. type: Plain text -#: en/git-gc.txt:183 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-cvsserver.txt:33 msgid "" -"linkgit:git-prune[1] linkgit:git-reflog[1] linkgit:git-repack[1] linkgit:git-" -"rerere[1]" +"All these options obviously only make sense if enforced by the server side. " +"They have been implemented to resemble the linkgit:git-daemon[1] options as " +"closely as possible." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-get-tar-commit-id.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-get-tar-commit-id(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/git-cvsserver.txt:34 +#, no-wrap +msgid "--base-path <path>" +msgstr "" #. type: Plain text -#: en/git-get-tar-commit-id.txt:7 -msgid "" -"git-get-tar-commit-id - Extract commit ID from an archive created using git-" -"archive" +#: en/git-cvsserver.txt:36 +msgid "Prepend 'path' to requested CVSROOT" +msgstr "" + +#. type: Labeled list +#: en/git-cvsserver.txt:37 en/git-daemon.txt:48 +#, no-wrap +msgid "--strict-paths" msgstr "" #. type: Plain text -#: en/git-get-tar-commit-id.txt:13 +#: en/git-cvsserver.txt:39 +msgid "Don't allow recursing into subdirectories" +msgstr "" + +#. type: Labeled list +#: en/git-cvsserver.txt:40 en/git-daemon.txt:77 #, no-wrap -msgid "'git get-tar-commit-id'\n" +msgid "--export-all" msgstr "" #. type: Plain text -#: en/git-get-tar-commit-id.txt:22 +#: en/git-cvsserver.txt:43 msgid "" -"Read a tar archive created by 'git archive' from the standard input and " -"extract the commit ID stored in it. It reads only the first 1024 bytes of " -"input, thus its runtime is not influenced by the size of the tar archive " -"very much." +"Don't check for `gitcvs.enabled` in config. You also have to specify a list " +"of allowed directories (see below) if you want to use this option." +msgstr "" + +#. type: Labeled list +#: en/git-cvsserver.txt:44 +#, no-wrap +msgid "-V" +msgstr "" + +#. type: Labeled list +#: en/git-cvsserver.txt:45 en/git.txt:534 +#, no-wrap +msgid "--version" msgstr "" #. type: Plain text -#: en/git-get-tar-commit-id.txt:27 -msgid "" -"If no commit ID is found, 'git get-tar-commit-id' quietly exists with a " -"return code of 1. This can happen if the archive had not been created using " -"'git archive' or if the first parameter of 'git archive' had been a tree ID " -"instead of a commit ID or tag." +#: en/git-cvsserver.txt:47 +msgid "Print version information and exit" msgstr "" -#. type: Title = -#: en/git-grep.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-grep(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-cvsserver.txt:50 en/git.txt:537 +#, no-wrap +msgid "--help" +msgstr "" #. type: Plain text -#: en/git-grep.txt:7 -msgid "git-grep - Print lines matching a pattern" +#: en/git-cvsserver.txt:52 +msgid "Print usage information and exit" msgstr "" #. type: Plain text -#: en/git-grep.txt:32 -#, no-wrap +#: en/git-cvsserver.txt:58 msgid "" -"'git grep' [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | --word-regexp]\n" -"\t [-v | --invert-match] [-h|-H] [--full-name]\n" -"\t [-E | --extended-regexp] [-G | --basic-regexp]\n" -"\t [-P | --perl-regexp]\n" -"\t [-F | --fixed-strings] [-n | --line-number]\n" -"\t [-l | --files-with-matches] [-L | --files-without-match]\n" -"\t [(-O | --open-files-in-pager) [<pager>]]\n" -"\t [-z | --null]\n" -"\t [-c | --count] [--all-match] [-q | --quiet]\n" -"\t [--max-depth <depth>]\n" -"\t [--color[=<when>] | --no-color]\n" -"\t [--break] [--heading] [-p | --show-function]\n" -"\t [-A <post-context>] [-B <pre-context>] [-C <context>]\n" -"\t [-W | --function-context]\n" -"\t [--threads <num>]\n" -"\t [-f <file>] [-e] <pattern>\n" -"\t [--and|--or|--not|(|)|-e <pattern>...]\n" -"\t [--recurse-submodules] [--parent-basename <basename>]\n" -"\t [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | <tree>...]\n" -"\t [--] [<pathspec>...]\n" +"You can specify a list of allowed directories. If no directories are given, " +"all are allowed. This is an additional restriction, gitcvs access still " +"needs to be enabled by the `gitcvs.enabled` config option unless `--export-" +"all` was given, too." msgstr "" #. type: Plain text -#: en/git-grep.txt:39 -msgid "" -"Look for specified patterns in the tracked files in the work tree, blobs " -"registered in the index file, or blobs in given tree objects. Patterns are " -"lists of one or more search expressions separated by newline characters. An " -"empty string as search expression matches all lines." +#: en/git-cvsserver.txt:64 +msgid "This application is a CVS emulation layer for Git." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:44 en/config.txt:1619 -#, no-wrap -msgid "grep.lineNumber" +#. type: Plain text +#: en/git-cvsserver.txt:68 +msgid "" +"It is highly functional. However, not all methods are implemented, and for " +"those methods that are implemented, not all switches are implemented." msgstr "" #. type: Plain text -#: en/git-grep.txt:46 en/config.txt:1621 -msgid "If set to true, enable `-n` option by default." +#: en/git-cvsserver.txt:71 +msgid "" +"Testing has been done using both the CLI CVS client, and the Eclipse CVS " +"plugin. Most functionality works fine with both of these clients." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:47 en/config.txt:1622 +#. type: Title - +#: en/git-cvsserver.txt:73 #, no-wrap -msgid "grep.patternType" +msgid "LIMITATIONS" +msgstr "" + +#. type: Plain text +#: en/git-cvsserver.txt:76 +msgid "CVS clients cannot tag, branch or perform Git merges." msgstr "" #. type: Plain text -#: en/git-grep.txt:52 en/config.txt:1627 +#: en/git-cvsserver.txt:80 msgid "" -"Set the default matching behavior. Using a value of 'basic', 'extended', " -"'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`, `--" -"fixed-strings`, or `--perl-regexp` option accordingly, while the value " -"'default' will return to the default matching behavior." +"'git-cvsserver' maps Git branches to CVS modules. This is very different " +"from what most CVS users would expect since in CVS modules usually represent " +"one or more directories." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:53 en/config.txt:1628 +#. type: Title - +#: en/git-cvsserver.txt:82 #, no-wrap -msgid "grep.extendedRegexp" +msgid "INSTALLATION" msgstr "" #. type: Plain text -#: en/git-grep.txt:57 en/config.txt:1632 +#: en/git-cvsserver.txt:86 msgid "" -"If set to true, enable `--extended-regexp` option by default. This option is " -"ignored when the `grep.patternType` option is set to a value other than " -"'default'." +"If you are going to offer CVS access via pserver, add a line in /etc/inetd." +"conf like" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:58 en/config.txt:1633 +#. type: delimited block - +#: en/git-cvsserver.txt:90 #, no-wrap -msgid "grep.threads" +msgid " cvspserver stream tcp nowait nobody git-cvsserver pserver\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:61 +#: en/git-cvsserver.txt:96 msgid "" -"Number of grep worker threads to use. If unset (or set to 0), 8 threads are " -"used by default (for now)." +"Note: Some inetd servers let you specify the name of the executable " +"independently of the value of argv[0] (i.e. the name the program assumes it " +"was executed with). In this case the correct line in /etc/inetd.conf looks " +"like" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:62 +#. type: delimited block - +#: en/git-cvsserver.txt:99 #, no-wrap -msgid "grep.fullName" +msgid " cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:64 -msgid "If set to true, enable `--full-name` option by default." +#: en/git-cvsserver.txt:106 +msgid "" +"Only anonymous access is provided by pserve by default. To commit you will " +"have to create pserver accounts, simply add a gitcvs.authdb setting in the " +"config file of the repositories you want the cvsserver to allow writes to, " +"for example:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:65 en/config.txt:1637 +#. type: delimited block - +#: en/git-cvsserver.txt:111 #, no-wrap -msgid "grep.fallbackToNoIndex" +msgid "" +" [gitcvs]\n" +"\tauthdb = /etc/cvsserver/passwd\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:68 en/config.txt:1640 +#: en/git-cvsserver.txt:115 msgid "" -"If set to true, fall back to git grep --no-index if git grep is executed " -"outside of a git repository. Defaults to false." +"The format of these files is username followed by the encrypted password, " +"for example:" msgstr "" -#. type: Plain text -#: en/git-grep.txt:75 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" +#. type: delimited block - +#: en/git-cvsserver.txt:119 +#, no-wrap msgid "" -"Instead of searching tracked files in the working tree, search blobs " -"registered in the index file." +" myuser:$1Oyx5r9mdGZ2\n" +" myuser:$1$BA)@$vbnMJMDym7tA32AamXrm./\n" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-grep.txt:78 -msgid "Search files in the current directory that is not managed by Git." +#: en/git-cvsserver.txt:123 +msgid "" +"You can use the 'htpasswd' facility that comes with Apache to make these " +"files, but Apache's MD5 crypt method differs from the one used by most C " +"library's crypt() function, so don't use the -m option." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:79 -#, fuzzy, no-wrap -#| msgid "add untracked" -msgid "--untracked" -msgstr "add untracked" - #. type: Plain text -#: en/git-grep.txt:82 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" +#: en/git-cvsserver.txt:125 msgid "" -"In addition to searching in the tracked files in the working tree, search " -"also in untracked files." +"Alternatively you can produce the password with perl's crypt() operator:" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Labeled list -#: en/git-grep.txt:83 +#. type: delimited block - +#: en/git-cvsserver.txt:127 #, no-wrap -msgid "--no-exclude-standard" +msgid " perl -e 'my ($user, $pass) = @ARGV; printf \"%s:%s\\n\", $user, crypt($user, $pass)' $USER password\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:86 -msgid "" -"Also search in ignored files by not honoring the `.gitignore` mechanism. " -"Only useful with `--untracked`." +#: en/git-cvsserver.txt:130 +msgid "Then provide your password via the pserver method, for example:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:87 en/git-ls-files.txt:97 +#. type: delimited block - +#: en/git-cvsserver.txt:132 #, no-wrap -msgid "--exclude-standard" +msgid " cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co <HEAD_name>\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:91 +#: en/git-cvsserver.txt:136 msgid "" -"Do not pay attention to ignored files specified via the\t`.gitignore` " -"mechanism. Only useful when searching files in the current directory with " -"`--no-index`." +"No special setup is needed for SSH access, other than having Git tools in " +"the PATH. If you have clients that do not accept the CVS_SERVER environment " +"variable, you can rename 'git-cvsserver' to `cvs`." msgstr "" #. type: Plain text -#: en/git-grep.txt:97 +#: en/git-cvsserver.txt:139 msgid "" -"Recursively search in each submodule that has been initialized and checked " -"out in the repository. When used in combination with the <tree> option the " -"prefix of all submodule output will be the name of the parent project's " -"<tree> object." +"Note: Newer CVS versions (>= 1.12.11) also support specifying CVS_SERVER " +"directly in CVSROOT like" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:98 +#. type: delimited block - +#: en/git-cvsserver.txt:142 #, no-wrap -msgid "--parent-basename <basename>" +msgid "cvs -d \":ext;CVS_SERVER=git cvsserver:user@server/path/repo.git\" co <HEAD_name>\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:104 +#: en/git-cvsserver.txt:148 msgid "" -"For internal use only. In order to produce uniform output with the --" -"recurse-submodules option, this option can be used to provide the basename " -"of a parent's <tree> object to a submodule so the submodule can prefix its " -"output with the parent's name rather than the SHA1 of the submodule." +"This has the advantage that it will be saved in your 'CVS/Root' files and " +"you don't need to worry about always setting the correct environment " +"variable. SSH users restricted to 'git-shell' don't need to override the " +"default with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to " +"mean 'git-cvsserver' and pretends that the other end runs the real 'cvs' " +"better." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:106 en/diff-options.txt:519 -#, no-wrap -msgid "--text" +#. type: Plain text +#: en/git-cvsserver.txt:151 +msgid "" +"For each repo that you want accessible from CVS you need to edit config in " +"the repo and add the following section." msgstr "" -#. type: Plain text -#: en/git-grep.txt:108 -msgid "Process binary files as if they were text." +#. type: delimited block - +#: en/git-cvsserver.txt:158 +#, no-wrap +msgid "" +" [gitcvs]\n" +" enabled=1\n" +" # optional for debugging\n" +"\tlogFile=/path/to/logfile\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:111 -msgid "Honor textconv filter settings." +#: en/git-cvsserver.txt:164 +msgid "" +"Note: you need to ensure each user that is going to invoke 'git-cvsserver' " +"has write access to the log file and to the database (see <<dbbackend," +"Database Backend>>. If you want to offer write access over SSH, the users of " +"course also need write access to the Git repository itself." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:112 en/diff-options.txt:571 -#, no-wrap -msgid "--no-textconv" +#. type: Plain text +#: en/git-cvsserver.txt:167 +msgid "" +"You also need to ensure that each repository is \"bare\" (without a Git " +"index file) for `cvs commit` to work. See linkgit:gitcvs-migration[7]." msgstr "" #. type: Plain text -#: en/git-grep.txt:115 -msgid "Do not honor textconv filter settings. This is the default." +#: en/git-cvsserver.txt:173 +msgid "" +"All configuration variables can also be overridden for a specific method of " +"access. Valid method names are \"ext\" (for SSH access) and \"pserver\". The " +"following example configuration would disable pserver access while still " +"allowing access over SSH." msgstr "" -#. type: Plain text -#: en/git-grep.txt:120 -msgid "Ignore case differences between the patterns and the files." +#. type: delimited block - +#: en/git-cvsserver.txt:176 +#, no-wrap +msgid "" +" [gitcvs]\n" +" enabled=0\n" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:121 +#. type: delimited block - +#: en/git-cvsserver.txt:179 #, no-wrap -msgid "-I" +msgid "" +" [gitcvs \"ext\"]\n" +" enabled=1\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:123 -msgid "Don't match the pattern in binary files." +#: en/git-cvsserver.txt:186 +msgid "" +"If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout " +"command, automatically saving it in your 'CVS/Root' files, then you need to " +"set them explicitly in your environment. CVSROOT should be set as per " +"normal, but the directory should point at the appropriate Git repo. As " +"above, for SSH clients _not_ restricted to 'git-shell', CVS_SERVER should be " +"set to 'git-cvsserver'." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:124 +#. type: delimited block - +#: en/git-cvsserver.txt:191 #, no-wrap -msgid "--max-depth <depth>" +msgid "" +" export CVSROOT=:ext:user@server:/var/git/project.git\n" +" export CVS_SERVER=\"git cvsserver\"\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:130 +#: en/git-cvsserver.txt:198 msgid "" -"For each <pathspec> given on command line, descend at most <depth> levels of " -"directories. A negative value means no limit. This option is ignored if " -"<pathspec> contains active wildcards. In other words if \"a*\" matches a " -"directory named \"a*\", \"*\" is matched literally so --max-depth is still " -"effective." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:132 -#, no-wrap -msgid "--word-regexp" +"For SSH clients that will make commits, make sure their server-side .ssh/" +"environment files (or .bashrc, etc., according to their specific shell) " +"export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, " +"GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL. For SSH clients whose login " +"shell is bash, .bashrc may be a reasonable alternative." msgstr "" #. type: Plain text -#: en/git-grep.txt:136 +#: en/git-cvsserver.txt:204 msgid "" -"Match the pattern only at word boundary (either begin at the beginning of a " -"line, or preceded by a non-word character; end at the end of a line or " -"followed by a non-word character)." +"Clients should now be able to check out the project. Use the CVS 'module' " +"name to indicate what Git 'head' you want to check out. This also sets the " +"name of your newly checked-out directory, unless you tell it otherwise with " +"`-d <dir_name>`. For example, this checks out 'master' branch to the " +"`project-master` directory:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:138 +#. type: delimited block - +#: en/git-cvsserver.txt:207 #, no-wrap -msgid "--invert-match" +msgid " cvs co -d project-master master\n" +msgstr "" + +#. type: Title - +#: en/git-cvsserver.txt:211 +#, no-wrap +msgid "Database Backend" msgstr "" #. type: Plain text -#: en/git-grep.txt:140 -msgid "Select non-matching lines." +#: en/git-cvsserver.txt:217 +msgid "" +"'git-cvsserver' uses one database per Git head (i.e. CVS module) to store " +"information about the repository to maintain consistent CVS revision " +"numbers. The database needs to be updated (i.e. written to) after every " +"commit." msgstr "" #. type: Plain text -#: en/git-grep.txt:148 +#: en/git-cvsserver.txt:222 msgid "" -"By default, the command shows the filename for each match. `-h` option is " -"used to suppress this output. `-H` is there for completeness and does not " -"do anything except it overrides `-h` given earlier on the command line." +"If the commit is done directly by using `git` (as opposed to using 'git-" +"cvsserver') the update will need to happen on the next repository access by " +"'git-cvsserver', independent of access method and requested operation." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:149 en/git-ls-files.txt:136 en/git-ls-tree.txt:68 -#, no-wrap -msgid "--full-name" +#. type: Plain text +#: en/git-cvsserver.txt:227 +msgid "" +"That means that even if you offer only read access (e.g. by using the " +"pserver method), 'git-cvsserver' should have write access to the database to " +"work reliably (otherwise you need to make sure that the database is up-to-" +"date any time 'git-cvsserver' is executed)." msgstr "" #. type: Plain text -#: en/git-grep.txt:154 en/git-ls-files.txt:141 +#: en/git-cvsserver.txt:234 msgid "" -"When run from a subdirectory, the command usually outputs paths relative to " -"the current directory. This option forces paths to be output relative to " -"the project top directory." +"By default it uses SQLite databases in the Git directory, named `gitcvs." +"<module_name>.sqlite`. Note that the SQLite backend creates temporary files " +"in the same directory as the database file on write so it might not be " +"enough to grant the users using 'git-cvsserver' write access to the database " +"file without granting them write access to the directory, too." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:155 en/rev-list-options.txt:84 -#, no-wrap -msgid "-E" +#. type: Plain text +#: en/git-cvsserver.txt:246 +msgid "" +"The database can not be reliably regenerated in a consistent form after the " +"branch it is tracking has changed. Example: For merged branches, 'git-" +"cvsserver' only tracks one branch of development, and after a 'git merge' an " +"incrementally updated database may track a different branch than a database " +"regenerated from scratch, causing inconsistent CVS revision numbers. `git-" +"cvsserver` has no way of knowing which branch it would have picked if it had " +"been run incrementally pre-merge. So if you have to fully or partially (from " +"old backup) regenerate the database, you should be suspicious of pre-" +"existing CVS sandboxes." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:156 en/rev-list-options.txt:85 -#, no-wrap -msgid "--extended-regexp" +#. type: Plain text +#: en/git-cvsserver.txt:249 +msgid "" +"You can configure the database backend with the following configuration " +"variables:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:157 +#. type: Title ~ +#: en/git-cvsserver.txt:251 #, no-wrap -msgid "-G" +msgid "Configuring database backend" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:158 en/rev-list-options.txt:80 -#, no-wrap -msgid "--basic-regexp" +#. type: Plain text +#: en/git-cvsserver.txt:256 +msgid "" +"'git-cvsserver' uses the Perl DBI module. Please also read its documentation " +"if changing these variables, especially about `DBI->connect()`." msgstr "" #. type: Plain text -#: en/git-grep.txt:161 +#: en/git-cvsserver.txt:263 msgid "" -"Use POSIX extended/basic regexp for patterns. Default is to use basic " -"regexp." +"Database name. The exact meaning depends on the selected database driver, " +"for SQLite this is a filename. Supports variable substitution (see below). " +"May not contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" +msgstr "" + +#. type: Plain text +#: en/git-cvsserver.txt:272 +msgid "" +"Used DBI driver. You can specify any available driver for this here, but it " +"might not work. cvsserver is tested with 'DBD::SQLite', reported to work " +"with 'DBD::Pg', and reported *not* to work with 'DBD::mysql'. Please regard " +"this as an experimental feature. May not contain colons (`:`). Default: " +"'SQLite'" msgstr "" #. type: Labeled list -#: en/git-grep.txt:163 en/rev-list-options.txt:94 +#: en/git-cvsserver.txt:273 #, no-wrap -msgid "--perl-regexp" +msgid "gitcvs.dbuser" msgstr "" #. type: Plain text -#: en/git-grep.txt:166 +#: en/git-cvsserver.txt:277 msgid "" -"Use Perl-compatible regexp for patterns. Requires libpcre to be compiled in." +"Database user. Only useful if setting `dbDriver`, since SQLite has no " +"concept of database users. Supports variable substitution (see below)." msgstr "" #. type: Labeled list -#: en/git-grep.txt:167 en/git-repack.txt:69 en/rev-list-options.txt:89 +#: en/git-cvsserver.txt:278 #, no-wrap -msgid "-F" +msgid "gitcvs.dbPass" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:168 en/rev-list-options.txt:90 -#, no-wrap -msgid "--fixed-strings" +#. type: Plain text +#: en/git-cvsserver.txt:281 +msgid "" +"Database password. Only useful if setting `dbDriver`, since SQLite has no " +"concept of database passwords." msgstr "" #. type: Plain text -#: en/git-grep.txt:171 -msgid "Use fixed strings for patterns (don't interpret pattern as a regex)." +#: en/git-cvsserver.txt:286 +msgid "" +"Database table name prefix. Supports variable substitution (see below). " +"Any non-alphabetic characters will be replaced with underscores." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:173 +#. type: Plain text +#: en/git-cvsserver.txt:288 +msgid "" +"All variables can also be set per access method, see <<configaccessmethod," +"above>>." +msgstr "" + +#. type: Title ^ +#: en/git-cvsserver.txt:290 #, no-wrap -msgid "--line-number" +msgid "Variable substitution" msgstr "" #. type: Plain text -#: en/git-grep.txt:175 -msgid "Prefix the line number to matching lines." +#: en/git-cvsserver.txt:292 +msgid "In `dbDriver` and `dbUser` you can use the following variables:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:177 +#. type: Plain text +#: en/git-cvsserver.txt:308 #, no-wrap -msgid "--files-with-matches" +msgid "" +"%G::\n" +"\tGit directory name\n" +"%g::\n" +"\tGit directory name, where all characters except for\n" +"\talpha-numeric ones, `.`, and `-` are replaced with\n" +"\t`_` (this should make it easier to use the directory\n" +"\tname in a filename if wanted)\n" +"%m::\n" +"\tCVS module/Git head name\n" +"%a::\n" +"\taccess method (one of \"ext\" or \"pserver\")\n" +"%u::\n" +"\tName of the user running 'git-cvsserver'.\n" +"\tIf no name can be determined, the\n" +"\tnumeric uid is used.\n" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:179 -#, no-wrap -msgid "-L" +#. type: Plain text +#: en/git-cvsserver.txt:314 +msgid "" +"These variables obviate the need for command-line options in some " +"circumstances, allowing easier restricted usage through git-shell." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:180 -#, no-wrap -msgid "--files-without-match" +#. type: Plain text +#: en/git-cvsserver.txt:316 +msgid "GIT_CVSSERVER_BASE_PATH takes the place of the argument to --base-path." msgstr "" #. type: Plain text -#: en/git-grep.txt:185 +#: en/git-cvsserver.txt:320 msgid "" -"Instead of showing every matched line, show only the names of files that " -"contain (or do not contain) matches. For better compatibility with 'git " -"diff', `--name-only` is a synonym for `--files-with-matches`." +"GIT_CVSSERVER_ROOT specifies a single-directory whitelist. The repository " +"must still be configured to allow access through git-cvsserver, as described " +"above." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:186 -#, no-wrap -msgid "-O[<pager>]" +#. type: Plain text +#: en/git-cvsserver.txt:323 +msgid "" +"When these environment variables are set, the corresponding command-line " +"arguments may not be used." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:187 +#. type: Title - +#: en/git-cvsserver.txt:325 #, no-wrap -msgid "--open-files-in-pager[=<pager>]" +msgid "Eclipse CVS Client Notes" msgstr "" #. type: Plain text -#: en/git-grep.txt:195 -msgid "" -"Open the matching files in the pager (not the output of 'grep'). If the " -"pager happens to be \"less\" or \"vi\", and the user specified only one " -"pattern, the first file is positioned at the first match automatically. The " -"`pager` argument is optional; if specified, it must be stuck to the option " -"without a space. If `pager` is unspecified, the default pager will be used " -"(see `core.pager` in linkgit:git-config[1])." +#: en/git-cvsserver.txt:328 +msgid "To get a checkout with the Eclipse CVS client:" msgstr "" #. type: Plain text -#: en/git-grep.txt:200 -msgid "Output \\0 instead of the character that normally follows a file name." +#: en/git-cvsserver.txt:330 +msgid "Select \"Create a new project -> From CVS checkout\"" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:202 en/rev-list-options.txt:848 -#, no-wrap -msgid "--count" +#. type: Plain text +#: en/git-cvsserver.txt:332 +msgid "" +"Create a new location. See the notes below for details on how to choose the " +"right protocol." +msgstr "" + +#. type: Plain text +#: en/git-cvsserver.txt:335 +msgid "" +"Browse the 'modules' available. It will give you a list of the heads in the " +"repository. You will not be able to browse the tree from there. Only the " +"heads." msgstr "" #. type: Plain text -#: en/git-grep.txt:205 +#: en/git-cvsserver.txt:337 msgid "" -"Instead of showing every matched line, show the number of lines that match." +"Pick `HEAD` when it asks what branch/tag to check out. Untick the \"launch " +"commit wizard\" to avoid committing the .project file." msgstr "" #. type: Plain text -#: en/git-grep.txt:209 +#: en/git-cvsserver.txt:343 msgid "" -"Show colored matches. The value must be always (the default), never, or " -"auto." +"Protocol notes: If you are using anonymous access via pserver, just select " +"that. Those using SSH access should choose the 'ext' protocol, and " +"configure 'ext' access on the Preferences->Team->CVS->ExtConnection pane. " +"Set CVS_SERVER to \"`git cvsserver`\". Note that password support is not " +"good when using 'ext', you will definitely want to have SSH keys setup." msgstr "" #. type: Plain text -#: en/git-grep.txt:214 +#: en/git-cvsserver.txt:348 msgid "" -"Turn off match highlighting, even when the configuration file gives the " -"default to color output. Same as `--color=never`." +"Alternatively, you can just use the non-standard extssh protocol that " +"Eclipse offer. In that case CVS_SERVER is ignored, and you will have to " +"replace the cvs utility on the server with 'git-cvsserver' or manipulate " +"your `.bashrc` so that calling 'cvs' effectively calls 'git-cvsserver'." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:215 +#. type: Title - +#: en/git-cvsserver.txt:350 #, no-wrap -msgid "--break" +msgid "Clients known to work" msgstr "" #. type: Plain text -#: en/git-grep.txt:217 -msgid "Print an empty line between matches from different files." +#: en/git-cvsserver.txt:353 +msgid "CVS 1.12.9 on Debian" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:218 -#, no-wrap -msgid "--heading" +#. type: Plain text +#: en/git-cvsserver.txt:354 +msgid "CVS 1.11.17 on MacOSX (from Fink package)" msgstr "" #. type: Plain text -#: en/git-grep.txt:221 -msgid "" -"Show the filename above the matches in that file instead of at the start of " -"each shown line." +#: en/git-cvsserver.txt:355 +msgid "Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:223 +#. type: Plain text +#: en/git-cvsserver.txt:356 +msgid "TortoiseCVS" +msgstr "" + +#. type: Title - +#: en/git-cvsserver.txt:358 #, no-wrap -msgid "--show-function" +msgid "Operations supported" msgstr "" #. type: Plain text -#: en/git-grep.txt:229 +#: en/git-cvsserver.txt:362 msgid "" -"Show the preceding line that contains the function name of the match, unless " -"the matching line is a function name itself. The name is determined in the " -"same way as 'git diff' works out patch hunk headers (see 'Defining a custom " -"hunk-header' in linkgit:gitattributes[5])." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:230 -#, no-wrap -msgid "-<num>" +"All the operations required for normal use are supported, including " +"checkout, diff, status, update, log, add, remove, commit." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:231 -#, no-wrap -msgid "-C <num>" +#. type: Plain text +#: en/git-cvsserver.txt:371 +msgid "" +"Most CVS command arguments that read CVS tags or revision numbers (typically " +"-r) work, and also support any git refspec (tag, branch, commit ID, etc). " +"However, CVS revision numbers for non-default branches are not well " +"emulated, and cvs log does not show tags or branches at all. (Non-main-" +"branch CVS revision numbers superficially resemble CVS revision numbers, but " +"they actually encode a git commit ID directly, rather than represent the " +"number of revisions since the branch point.)" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:232 -#, no-wrap -msgid "--context <num>" +#. type: Plain text +#: en/git-cvsserver.txt:385 +msgid "" +"Note that there are two ways to checkout a particular branch. As described " +"elsewhere on this page, the \"module\" parameter of cvs checkout is " +"interpreted as a branch name, and it becomes the main branch. It remains " +"the main branch for a given sandbox even if you temporarily make another " +"branch sticky with cvs update -r. Alternatively, the -r argument can " +"indicate some other branch to actually checkout, even though the module is " +"still the \"main\" branch. Tradeoffs (as currently implemented): Each new " +"\"module\" creates a new database on disk with a history for the given " +"module, and after the database is created, operations against that main " +"branch are fast. Or alternatively, -r doesn't take any extra disk space, " +"but may be significantly slower for many operations, like cvs update." msgstr "" #. type: Plain text -#: en/git-grep.txt:235 +#: en/git-cvsserver.txt:398 msgid "" -"Show <num> leading and trailing lines, and place a line containing `--` " -"between contiguous groups of matches." +"If you want to refer to a git refspec that has characters that are not " +"allowed by CVS, you have two options. First, it may just work to supply the " +"git refspec directly to the appropriate CVS -r argument; some CVS clients " +"don't seem to do much sanity checking of the argument. Second, if that " +"fails, you can use a special character escape mechanism that only uses " +"characters that are valid in CVS tags. A sequence of 4 or 5 characters of " +"the form (underscore (`\"_\"`), dash (`\"-\"`), one or two characters, and " +"dash (`\"-\"`)) can encode various characters based on the one or two " +"letters: `\"s\"` for slash (`\"/\"`), `\"p\"` for period (`\".\"`), `\"u\"` " +"for underscore (`\"_\"`), or two hexadecimal digits for any byte value at " +"all (typically an ASCII number, or perhaps a part of a UTF-8 encoded " +"character)." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:236 -#, no-wrap -msgid "-A <num>" +#. type: Plain text +#: en/git-cvsserver.txt:401 +msgid "" +"Legacy monitoring operations are not supported (edit, watch and related). " +"Exports and tagging (tags and branches) are not supported at this stage." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:237 +#. type: Title ~ +#: en/git-cvsserver.txt:403 #, no-wrap -msgid "--after-context <num>" +msgid "CRLF Line Ending Conversions" msgstr "" #. type: Plain text -#: en/git-grep.txt:240 +#: en/git-cvsserver.txt:408 msgid "" -"Show <num> trailing lines, and place a line containing `--` between " -"contiguous groups of matches." +"By default the server leaves the `-k` mode blank for all files, which causes " +"the CVS client to treat them as a text files, subject to end-of-line " +"conversion on some platforms." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:241 -#, no-wrap -msgid "-B <num>" +#. type: Plain text +#: en/git-cvsserver.txt:413 +msgid "" +"You can make the server use the end-of-line conversion attributes to set the " +"`-k` modes for files by setting the `gitcvs.usecrlfattr` config variable. " +"See linkgit:gitattributes[5] for more information about end-of-line " +"conversion." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:242 -#, no-wrap -msgid "--before-context <num>" +#. type: Plain text +#: en/git-cvsserver.txt:422 +msgid "" +"Alternatively, if `gitcvs.usecrlfattr` config is not enabled or the " +"attributes do not allow automatic detection for a filename, then the server " +"uses the `gitcvs.allBinary` config for the default setting. If `gitcvs." +"allBinary` is set, then file not otherwise specified will default to '-kb' " +"mode. Otherwise the `-k` mode is left blank. But if `gitcvs.allBinary` is " +"set to \"guess\", then the correct `-k` mode will be guessed based on the " +"contents of the file." msgstr "" #. type: Plain text -#: en/git-grep.txt:245 +#: en/git-cvsserver.txt:426 msgid "" -"Show <num> leading lines, and place a line containing `--` between " -"contiguous groups of matches." +"For best consistency with 'cvs', it is probably best to override the " +"defaults by setting `gitcvs.usecrlfattr` to true, and `gitcvs.allBinary` to " +"\"guess\"." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:247 en/diff-options.txt:547 +#. type: Title - +#: en/git-cvsserver.txt:428 #, no-wrap -msgid "--function-context" +msgid "Dependencies" msgstr "" #. type: Plain text -#: en/git-grep.txt:252 -msgid "" -"Show the surrounding text from the previous line containing a function name " -"up to the one before the next function name, effectively showing the whole " -"function in which the match was found." +#: en/git-cvsserver.txt:430 +msgid "'git-cvsserver' depends on DBD::SQLite." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:253 -#, no-wrap -msgid "--threads <num>" -msgstr "" +#. type: Title = +#: en/git-daemon.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-daemon(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-grep.txt:256 +#: en/git-daemon.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-daemon - A really simple server for Git repositories" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" + +#. type: Plain text +#: en/git-daemon.txt:24 +#, no-wrap msgid "" -"Number of grep worker threads to use. See `grep.threads` in 'CONFIGURATION' " -"for more information." +"'git daemon' [--verbose] [--syslog] [--export-all]\n" +"\t [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>]\n" +"\t [--strict-paths] [--base-path=<path>] [--base-path-relaxed]\n" +"\t [--user-path | --user-path=<path>]\n" +"\t [--interpolated-path=<pathtemplate>]\n" +"\t [--reuseaddr] [--detach] [--pid-file=<file>]\n" +"\t [--enable=<service>] [--disable=<service>]\n" +"\t [--allow-override=<service>] [--forbid-override=<service>]\n" +"\t [--access-hook=<path>] [--[no-]informative-errors]\n" +"\t [--inetd |\n" +"\t [--listen=<host_or_ipaddr>] [--port=<n>]\n" +"\t [--user=<user> [--group=<group>]]]\n" +"\t [<directory>...]\n" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:257 -#, no-wrap -msgid "-f <file>" +#. type: Plain text +#: en/git-daemon.txt:30 +msgid "" +"A really simple TCP Git daemon that normally listens on port " +"\"DEFAULT_GIT_PORT\" aka 9418. It waits for a connection asking for a " +"service, and will serve that service if it is enabled." msgstr "" #. type: Plain text -#: en/git-grep.txt:259 -msgid "Read patterns from <file>, one per line." +#: en/git-daemon.txt:36 +msgid "" +"It verifies that the directory has the magic file \"git-daemon-export-ok\", " +"and it will refuse to export any Git directory that hasn't explicitly been " +"marked for export this way (unless the `--export-all` parameter is " +"specified). If you pass some directory paths as 'git daemon' arguments, you " +"can further restrict the offers to a whitelist comprising of those." msgstr "" #. type: Plain text -#: en/git-grep.txt:265 +#: en/git-daemon.txt:40 msgid "" -"The next parameter is the pattern. This option has to be used for patterns " -"starting with `-` and should be used in scripts passing user input to grep. " -"Multiple patterns are combined by 'or'." +"By default, only `upload-pack` service is enabled, which serves 'git fetch-" +"pack' and 'git ls-remote' clients, which are invoked from 'git fetch', 'git " +"pull', and 'git clone'." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:266 -#, no-wrap -msgid "--and" +#. type: Plain text +#: en/git-daemon.txt:43 +msgid "" +"This is ideally suited for read-only updates, i.e., pulling from Git " +"repositories." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:267 -#, no-wrap -msgid "--or" +#. type: Plain text +#: en/git-daemon.txt:45 +msgid "An `upload-archive` also exists to serve 'git archive'." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:268 en/git-rev-parse.txt:129 en/rev-list-options.txt:131 -#, no-wrap -msgid "--not" +#. type: Plain text +#: en/git-daemon.txt:53 +msgid "" +"Match paths exactly (i.e. don't allow \"/foo/repo\" when the real path is \"/" +"foo/repo.git\" or \"/foo/repo/.git\") and don't do user-relative paths. " +"'git daemon' will refuse to start when this option is enabled and no " +"whitelist is specified." msgstr "" #. type: Labeled list -#: en/git-grep.txt:269 +#: en/git-daemon.txt:54 #, no-wrap -msgid "( ... )" +msgid "--base-path=<path>" msgstr "" #. type: Plain text -#: en/git-grep.txt:274 +#: en/git-daemon.txt:60 msgid "" -"Specify how multiple patterns are combined using Boolean expressions. `--" -"or` is the default operator. `--and` has higher precedence than `--or`. `-" -"e` has to be used for all patterns." +"Remap all the path requests as relative to the given path. This is sort of " +"\"Git root\" - if you run 'git daemon' with '--base-path=/srv/git' on " +"example.com, then if you later try to pull 'git://example.com/hello.git', " +"'git daemon' will interpret the path as '/srv/git/hello.git'." msgstr "" #. type: Labeled list -#: en/git-grep.txt:275 en/rev-list-options.txt:67 +#: en/git-daemon.txt:61 #, no-wrap -msgid "--all-match" -msgstr "" - -#. type: Plain text -#: en/git-grep.txt:279 -msgid "" -"When giving multiple pattern expressions combined with `--or`, this flag is " -"specified to limit the match to files that have lines to match all of them." +msgid "--base-path-relaxed" msgstr "" #. type: Plain text -#: en/git-grep.txt:284 +#: en/git-daemon.txt:66 msgid "" -"Do not output matched lines; instead, exit with status 0 when there is a " -"match and with non-zero status when there isn't." +"If --base-path is enabled and repo lookup fails, with this option 'git " +"daemon' will attempt to lookup without prefixing the base path. This is " +"useful for switching to --base-path usage, while still allowing the old " +"paths." msgstr "" #. type: Labeled list -#: en/git-grep.txt:285 +#: en/git-daemon.txt:67 #, no-wrap -msgid "<tree>..." -msgstr "" - -#. type: Plain text -#: en/git-grep.txt:288 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "" -"Instead of searching tracked files in the working tree, search blobs in the " -"given trees." +msgid "--interpolated-path=<pathtemplate>" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-grep.txt:292 +#: en/git-daemon.txt:76 msgid "" -"Signals the end of options; the rest of the parameters are <pathspec> " -"limiters." +"To support virtual hosting, an interpolated path template can be used to " +"dynamically construct alternate paths. The template supports %H for the " +"target hostname as supplied by the client but converted to all lowercase, " +"%CH for the canonical hostname, %IP for the server's IP address, %P for the " +"port number, and %D for the absolute path of the named repository. After " +"interpolation, the path is validated against the directory whitelist." msgstr "" #. type: Plain text -#: en/git-grep.txt:296 +#: en/git-daemon.txt:81 msgid "" -"If given, limit the search to paths matching at least one pattern. Both " -"leading paths match and glob(7) patterns are supported." +"Allow pulling from all directories that look like Git repositories (have the " +"'objects' and 'refs' subdirectories), even if they do not have the 'git-" +"daemon-export-ok' file." msgstr "" #. type: Labeled list -#: en/git-grep.txt:300 +#: en/git-daemon.txt:82 #, no-wrap -msgid "`git grep 'time_t' -- '*.[ch]'`" +msgid "--inetd" msgstr "" -# #. type: Plain text -#: en/git-grep.txt:303 -#, fuzzy -#| msgid "" -#| "Adds content from all `*.txt` files under `Documentation` directory and " -#| "its subdirectories:" +#: en/git-daemon.txt:86 msgid "" -"Looks for `time_t` in all tracked .c and .h files in the working directory " -"and its subdirectories." +"Have the server run as an inetd service. Implies --syslog. Incompatible " +"with --detach, --port, --listen, --user and --group options." msgstr "" -"Ajouter le contenu de tous le fichiers `*.txt` sous le r챕pertoire " -"`Documentation` et ses sous r챕pertoires." #. type: Labeled list -#: en/git-grep.txt:304 +#: en/git-daemon.txt:87 #, no-wrap -msgid "`git grep -e '#define' --and \\( -e MAX_PATH -e PATH_MAX \\)`" +msgid "--listen=<host_or_ipaddr>" msgstr "" #. type: Plain text -#: en/git-grep.txt:307 +#: en/git-daemon.txt:94 msgid "" -"Looks for a line that has `#define` and either `MAX_PATH` or `PATH_MAX`." +"Listen on a specific IP address or hostname. IP addresses can be either an " +"IPv4 address or an IPv6 address if supported. If IPv6 is not supported, " +"then --listen=hostname is also not supported and --listen must be given an " +"IPv4 address. Can be given more than once. Incompatible with `--inetd` " +"option." msgstr "" #. type: Labeled list -#: en/git-grep.txt:308 +#: en/git-daemon.txt:95 #, no-wrap -msgid "`git grep --all-match -e NODE -e Unexpected`" -msgstr "" - -#. type: Plain text -#: en/git-grep.txt:311 -msgid "" -"Looks for a line that has `NODE` or `Unexpected` in files that have lines " -"that match both." +msgid "--port=<n>" msgstr "" -#. type: Title = -#: en/git-gui.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-gui(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-gui.txt:7 -msgid "git-gui - A portable graphical interface to Git" +#: en/git-daemon.txt:97 +msgid "Listen on an alternative port. Incompatible with `--inetd` option." msgstr "" -#. type: Plain text -#: en/git-gui.txt:12 +#. type: Labeled list +#: en/git-daemon.txt:98 #, no-wrap -msgid "'git gui' [<command>] [arguments]\n" +msgid "--init-timeout=<n>" msgstr "" #. type: Plain text -#: en/git-gui.txt:19 +#: en/git-daemon.txt:102 msgid "" -"A Tcl/Tk based graphical user interface to Git. 'git gui' focuses on " -"allowing users to make changes to their repository by making new commits, " -"amending existing ones, creating branches, performing local merges, and " -"fetching/pushing to remote repositories." +"Timeout (in seconds) between the moment the connection is established and " +"the client request is received (typically a rather low value, since that " +"should be basically immediate)." msgstr "" -#. type: Plain text -#: en/git-gui.txt:24 -msgid "" -"Unlike 'gitk', 'git gui' focuses on commit generation and single file " -"annotation and does not show project history. It does however supply menu " -"actions to start a 'gitk' session from within 'git gui'." +#. type: Labeled list +#: en/git-daemon.txt:103 en/git-upload-pack.txt:31 +#, no-wrap +msgid "--timeout=<n>" msgstr "" #. type: Plain text -#: en/git-gui.txt:29 +#: en/git-daemon.txt:107 msgid "" -"'git gui' is known to work on all popular UNIX systems, Mac OS X, and " -"Windows (under both Cygwin and MSYS). To the extent possible OS specific " -"user interface guidelines are followed, making 'git gui' a fairly native " -"interface for users." -msgstr "" - -#. type: Title - -#: en/git-gui.txt:31 en/git-p4.txt:63 en/git-remote.txt:42 en/git-rerere.txt:32 -#: en/git-shell.txt:25 en/git-submodule.txt:60 en/git-svn.txt:29 -#: en/git-worktree.txt:47 -#, no-wrap -msgid "COMMANDS" +"Timeout (in seconds) for specific client sub-requests. This includes the " +"time it takes for the server to process the sub-request and the time spent " +"waiting for the next client's request." msgstr "" #. type: Labeled list -#: en/git-gui.txt:32 +#: en/git-daemon.txt:108 #, no-wrap -msgid "blame" +msgid "--max-connections=<n>" msgstr "" #. type: Plain text -#: en/git-gui.txt:35 +#: en/git-daemon.txt:111 msgid "" -"Start a blame viewer on the specified file on the given version (or working " -"directory if not specified)." +"Maximum number of concurrent clients, defaults to 32. Set it to zero for no " +"limit." msgstr "" #. type: Labeled list -#: en/git-gui.txt:36 +#: en/git-daemon.txt:112 #, no-wrap -msgid "browser" +msgid "--syslog" msgstr "" #. type: Plain text -#: en/git-gui.txt:40 +#: en/git-daemon.txt:115 msgid "" -"Start a tree browser showing all files in the specified commit. Files " -"selected through the browser are opened in the blame viewer." +"Log to syslog instead of stderr. Note that this option does not imply --" +"verbose, thus by default only error conditions will be logged." msgstr "" #. type: Labeled list -#: en/git-gui.txt:41 +#: en/git-daemon.txt:116 #, no-wrap -msgid "citool" -msgstr "" - -#. type: Plain text -#: en/git-gui.txt:46 -msgid "" -"Start 'git gui' and arrange to make exactly one commit before exiting and " -"returning to the shell. The interface is limited to only commit actions, " -"slightly reducing the application's startup time and simplifying the menubar." +msgid "--user-path" msgstr "" #. type: Labeled list -#: en/git-gui.txt:47 +#: en/git-daemon.txt:117 #, no-wrap -msgid "version" +msgid "--user-path=<path>" msgstr "" #. type: Plain text -#: en/git-gui.txt:49 -msgid "Display the currently running version of 'git gui'." +#: en/git-daemon.txt:125 +msgid "" +"Allow {tilde}user notation to be used in requests. When specified with no " +"parameter, requests to git://host/{tilde}alice/foo is taken as a request to " +"access 'foo' repository in the home directory of user `alice`. If `--user-" +"path=path` is specified, the same request is taken as a request to access " +"`path/foo` repository in the home directory of user `alice`." +msgstr "" + +#. type: Plain text +#: en/git-daemon.txt:128 +msgid "Log details about the incoming connections and requested files." msgstr "" #. type: Labeled list -#: en/git-gui.txt:53 +#: en/git-daemon.txt:129 #, no-wrap -msgid "`git gui blame Makefile`" +msgid "--reuseaddr" msgstr "" #. type: Plain text -#: en/git-gui.txt:61 +#: en/git-daemon.txt:133 msgid "" -"Show the contents of the file 'Makefile' in the current working directory, " -"and provide annotations for both the original author of each line, and who " -"moved the line to its current location. The uncommitted file is annotated, " -"and uncommitted changes (if any) are explicitly attributed to 'Not Yet " -"Committed'." +"Use SO_REUSEADDR when binding the listening socket. This allows the server " +"to restart without waiting for old connections to time out." +msgstr "" + +#. type: Plain text +#: en/git-daemon.txt:136 +msgid "Detach from the shell. Implies --syslog." msgstr "" #. type: Labeled list -#: en/git-gui.txt:62 +#: en/git-daemon.txt:137 #, no-wrap -msgid "`git gui blame v0.99.8 Makefile`" +msgid "--pid-file=<file>" msgstr "" #. type: Plain text -#: en/git-gui.txt:68 +#: en/git-daemon.txt:140 msgid "" -"Show the contents of 'Makefile' in revision 'v0.99.8' and provide " -"annotations for each line. Unlike the above example the file is read from " -"the object database and not the working directory." +"Save the process id in 'file'. Ignored when the daemon is run under `--" +"inetd`." msgstr "" #. type: Labeled list -#: en/git-gui.txt:69 +#: en/git-daemon.txt:141 #, no-wrap -msgid "`git gui blame --line=100 Makefile`" +msgid "--user=<user>" +msgstr "" + +#. type: Labeled list +#: en/git-daemon.txt:142 +#, no-wrap +msgid "--group=<group>" msgstr "" #. type: Plain text -#: en/git-gui.txt:73 +#: en/git-daemon.txt:148 msgid "" -"Loads annotations as described above and automatically scrolls the view to " -"center on line '100'." +"Change daemon's uid and gid before entering the service loop. When only `--" +"user` is given without `--group`, the primary group ID for the user is " +"used. The values of the option are given to `getpwnam(3)` and `getgrnam(3)` " +"and numeric IDs are not supported." msgstr "" -#. type: Labeled list -#: en/git-gui.txt:74 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git gui citool`" -msgstr "$ git commit\n" +#. type: Plain text +#: en/git-daemon.txt:152 +msgid "" +"Giving these options is an error when used with `--inetd`; use the facility " +"of inet daemon to achieve the same before spawning 'git daemon' if needed." +msgstr "" #. type: Plain text -#: en/git-gui.txt:79 +#: en/git-daemon.txt:159 msgid "" -"Make one commit and return to the shell when it is complete. This command " -"returns a non-zero exit code if the window was closed in any way other than " -"by making a commit." +"Like many programs that switch user id, the daemon does not reset " +"environment variables such as `$HOME` when it runs git programs, e.g. " +"`upload-pack` and `receive-pack`. When using this option, you may also want " +"to set and export `HOME` to point at the home directory of `<user>` before " +"starting the daemon, and make sure any Git configuration files in that " +"directory are readable by `<user>`." msgstr "" #. type: Labeled list -#: en/git-gui.txt:80 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git gui citool --amend`" -msgstr "$ git commit\n" - -#. type: Plain text -#: en/git-gui.txt:84 -msgid "Automatically enter the 'Amend Last Commit' mode of the interface." +#: en/git-daemon.txt:160 +#, no-wrap +msgid "--enable=<service>" msgstr "" #. type: Labeled list -#: en/git-gui.txt:85 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git gui citool --nocommit`" -msgstr "$ git commit\n" +#: en/git-daemon.txt:161 +#, no-wrap +msgid "--disable=<service>" +msgstr "" #. type: Plain text -#: en/git-gui.txt:91 +#: en/git-daemon.txt:167 msgid "" -"Behave as normal citool, but instead of making a commit simply terminate " -"with a zero exit code. It still checks that the index does not contain any " -"unmerged entries, so you can use it as a GUI version of linkgit:git-" -"mergetool[1]" +"Enable/disable the service site-wide per default. Note that a service " +"disabled site-wide can still be enabled per repository if it is marked " +"overridable and the repository enables the service with a configuration item." msgstr "" #. type: Labeled list -#: en/git-gui.txt:92 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git citool`" -msgstr "$ git commit\n" - -#. type: Plain text -#: en/git-gui.txt:95 -#, fuzzy -#| msgid "$ git commit\n" -msgid "Same as `git gui citool` (above)." -msgstr "$ git commit\n" +#: en/git-daemon.txt:168 +#, no-wrap +msgid "--allow-override=<service>" +msgstr "" #. type: Labeled list -#: en/git-gui.txt:96 +#: en/git-daemon.txt:169 #, no-wrap -msgid "`git gui browser maint`" +msgid "--forbid-override=<service>" msgstr "" #. type: Plain text -#: en/git-gui.txt:101 +#: en/git-daemon.txt:173 msgid "" -"Show a browser for the tree of the 'maint' branch. Files selected in the " -"browser can be viewed with the internal blame viewer." +"Allow/forbid overriding the site-wide default with per repository " +"configuration. By default, all the services may be overridden." msgstr "" #. type: Labeled list -#: en/git-gui.txt:104 en/cmds-mainporcelain.txt:112 +#: en/git-daemon.txt:174 #, no-wrap -msgid "linkgit:gitk[1]" +msgid "--[no-]informative-errors" msgstr "" #. type: Plain text -#: en/git-gui.txt:108 +#: en/git-daemon.txt:182 msgid "" -"The Git repository browser. Shows branches, commit history and file " -"differences. gitk is the utility started by 'git gui''s Repository " -"Visualize actions." +"When informative errors are turned on, git-daemon will report more verbose " +"errors to the client, differentiating conditions like \"no such repository\" " +"from \"repository not exported\". This is more convenient for clients, but " +"may leak information about the existence of unexported repositories. When " +"informative errors are not enabled, all errors report \"access denied\" to " +"the client. The default is --no-informative-errors." msgstr "" -#. type: Title - -#: en/git-gui.txt:110 +#. type: Labeled list +#: en/git-daemon.txt:183 #, no-wrap -msgid "Other" +msgid "--access-hook=<path>" msgstr "" #. type: Plain text -#: en/git-gui.txt:114 +#: en/git-daemon.txt:193 msgid "" -"'git gui' is actually maintained as an independent project, but stable " -"versions are distributed as part of the Git suite for the convenience of end " -"users." +"Every time a client connects, first run an external command specified by the " +"<path> with service name (e.g. \"upload-pack\"), path to the repository, " +"hostname (%H), canonical hostname (%CH), IP address (%IP), and TCP port (%P) " +"as its command-line arguments. The external command can decide to decline " +"the service by exiting with a non-zero status (or to allow it by exiting " +"with a zero status). It can also look at the $REMOTE_ADDR and `" +"$REMOTE_PORT` environment variables to learn about the requestor when making " +"this decision." msgstr "" #. type: Plain text -#: en/git-gui.txt:116 -msgid "A 'git gui' development repository can be obtained from:" +#: en/git-daemon.txt:197 +msgid "" +"The external command can optionally write a single line to its standard " +"output to be sent to the requestor as an error message when it declines the " +"service." msgstr "" #. type: Plain text -#: en/git-gui.txt:118 -#, no-wrap -msgid " git clone git://repo.or.cz/git-gui.git\n" +#: en/git-daemon.txt:202 +msgid "" +"A directory to add to the whitelist of allowed directories. Unless --strict-" +"paths is specified this will also include subdirectories of each named " +"directory." msgstr "" -#. type: Plain text -#: en/git-gui.txt:122 +#. type: Title - +#: en/git-daemon.txt:204 en/git-http-backend.txt:33 #, no-wrap -msgid " git clone http://repo.or.cz/r/git-gui.git\n" +msgid "SERVICES" msgstr "" #. type: Plain text -#: en/git-gui.txt:124 -msgid "or browsed online at http://repo.or.cz/w/git-gui.git/[]." +#: en/git-daemon.txt:212 +msgid "" +"These services can be globally enabled/disabled using the command-line " +"options of this command. If finer-grained control is desired (e.g. to allow " +"'git archive' to be run against only in a few selected repositories the " +"daemon serves), the per-repository configuration file can be used to enable " +"or disable them." msgstr "" -#. type: Title = -#: en/git-hash-object.txt:2 -#, no-wrap -msgid "git-hash-object(1)" -msgstr "" +#. type: Labeled list +#: en/git-daemon.txt:213 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "upload-pack" +msgstr "git-add(1)" #. type: Plain text -#: en/git-hash-object.txt:7 +#: en/git-daemon.txt:218 msgid "" -"git-hash-object - Compute object ID and optionally creates a blob from a file" +"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " +"default, but a repository can disable it by setting `daemon.uploadpack` " +"configuration item to `false`." msgstr "" +#. type: Labeled list +#: en/git-daemon.txt:219 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "upload-archive" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-hash-object.txt:14 -#, no-wrap +#: en/git-daemon.txt:223 msgid "" -"'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin [--literally]] [--] <file>...\n" -"'git hash-object' [-t <type>] [-w] --stdin-paths [--no-filters]\n" +"This serves 'git archive --remote'. It is disabled by default, but a " +"repository can enable it by setting `daemon.uploadarch` configuration item " +"to `true`." msgstr "" +#. type: Labeled list +#: en/git-daemon.txt:224 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "receive-pack" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-hash-object.txt:24 +#: en/git-daemon.txt:233 msgid "" -"Computes the object ID value for an object with specified type with the " -"contents of the named file (which can be outside of the work tree), and " -"optionally writes the resulting object into the object database. Reports " -"its object ID to its standard output. This is used by 'git cvsimport' to " -"update the index without modifying files in the work tree. When <type> is " -"not specified, it defaults to \"blob\"." +"This serves 'git send-pack' clients, allowing anonymous push. It is " +"disabled by default, as there is _no_ authentication in the protocol (in " +"other words, anybody can push anything into the repository, including " +"removal of refs). This is solely meant for a closed LAN setting where " +"everybody is friendly. This service can be enabled by setting `daemon." +"receivepack` configuration item to `true`." msgstr "" #. type: Labeled list -#: en/git-hash-object.txt:28 +#: en/git-daemon.txt:236 #, no-wrap -msgid "-t <type>" -msgstr "" - -#. type: Plain text -#: en/git-hash-object.txt:30 -msgid "Specify the type (default: \"blob\")." +msgid "We assume the following in /etc/services" msgstr "" -# -#. type: Plain text -#: en/git-hash-object.txt:33 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Actually write the object into the object database." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Plain text -#: en/git-hash-object.txt:36 -msgid "Read the object from standard input instead of from a file." +#. type: delimited block - +#: en/git-daemon.txt:241 +#, no-wrap +msgid "" +"$ grep 9418 /etc/services\n" +"git\t\t9418/tcp\t\t# Git Version Control System\n" msgstr "" #. type: Labeled list -#: en/git-hash-object.txt:37 +#: en/git-daemon.txt:243 #, no-wrap -msgid "--stdin-paths" +msgid "'git daemon' as inetd server" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:40 +#: en/git-daemon.txt:248 msgid "" -"Read file names from the standard input, one per line, instead of from the " -"command-line." +"To set up 'git daemon' as an inetd service that handles any repository under " +"the whitelisted set of directories, /pub/foo and /pub/bar, place an entry " +"like the following into /etc/inetd all on one line:" msgstr "" -#. type: Plain text -#: en/git-hash-object.txt:50 +#. type: delimited block - +#: en/git-daemon.txt:253 +#, no-wrap msgid "" -"Hash object as it were located at the given path. The location of file does " -"not directly influence on the hash value, but path is used to determine what " -"Git filters should be applied to the object before it can be placed to the " -"object database, and, as result of applying filters, the actual blob put " -"into the object database may differ from the given file. This option is " -"mainly useful for hashing temporary files located outside of the working " -"directory or files read from stdin." +"\tgit stream tcp nowait nobody /usr/bin/git\n" +"\t\tgit daemon --inetd --verbose --export-all\n" +"\t\t/pub/foo /pub/bar\n" msgstr "" #. type: Labeled list -#: en/git-hash-object.txt:51 +#: en/git-daemon.txt:256 #, no-wrap -msgid "--no-filters" +msgid "'git daemon' as inetd server for virtual hosts" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:56 +#: en/git-daemon.txt:261 msgid "" -"Hash the contents as is, ignoring any input filter that would have been " -"chosen by the attributes mechanism, including the end-of-line conversion. If " -"the file is read from standard input then this is always implied, unless the " -"`--path` option is given." +"To set up 'git daemon' as an inetd service that handles repositories for " +"different virtual hosts, `www.example.com` and `www.example.org`, place an " +"entry like the following into `/etc/inetd` all on one line:" msgstr "" -#. type: Labeled list -#: en/git-hash-object.txt:57 +#. type: delimited block - +#: en/git-daemon.txt:269 #, no-wrap -msgid "--literally" +msgid "" +"\tgit stream tcp nowait nobody /usr/bin/git\n" +"\t\tgit daemon --inetd --verbose --export-all\n" +"\t\t--interpolated-path=/pub/%H%D\n" +"\t\t/pub/www.example.org/software\n" +"\t\t/pub/www.example.com/software\n" +"\t\t/software\n" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:62 +#: en/git-daemon.txt:277 msgid "" -"Allow `--stdin` to hash any garbage into a loose object which might not " -"otherwise pass standard object parsing or git-fsck checks. Useful for stress-" -"testing Git itself or reproducing characteristics of corrupt or bogus " -"objects encountered in the wild." +"In this example, the root-level directory `/pub` will contain a subdirectory " +"for each virtual host name supported. Further, both hosts advertise " +"repositories simply as `git://www.example.com/software/repo.git`. For " +"pre-1.4.0 clients, a symlink from `/software` into the appropriate default " +"repository could be made as well." msgstr "" -#. type: Title = -#: en/git-help.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-help(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-daemon.txt:279 +#, no-wrap +msgid "'git daemon' as regular daemon for virtual hosts" +msgstr "" #. type: Plain text -#: en/git-help.txt:7 -msgid "git-help - Display help information about Git" +#: en/git-daemon.txt:283 +msgid "" +"To set up 'git daemon' as a regular, non-inetd service that handles " +"repositories for multiple virtual hosts based on their IP addresses, start " +"the daemon like this:" msgstr "" -#. type: Plain text -#: en/git-help.txt:13 +#. type: delimited block - +#: en/git-daemon.txt:289 #, no-wrap msgid "" -"'git help' [-a|--all] [-g|--guide]\n" -"\t [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]\n" +"\tgit daemon --verbose --export-all\n" +"\t\t--interpolated-path=/pub/%IP/%D\n" +"\t\t/pub/192.168.1.200/software\n" +"\t\t/pub/10.10.220.23/software\n" msgstr "" #. type: Plain text -#: en/git-help.txt:20 +#: en/git-daemon.txt:295 msgid "" -"With no options and no COMMAND or GUIDE given, the synopsis of the 'git' " -"command and a list of the most commonly used Git commands are printed on the " -"standard output." +"In this example, the root-level directory `/pub` will contain a subdirectory " +"for each virtual host IP address supported. Repositories can still be " +"accessed by hostname though, assuming they correspond to these IP addresses." +msgstr "" + +#. type: Labeled list +#: en/git-daemon.txt:296 +#, no-wrap +msgid "selectively enable/disable services per repository" msgstr "" #. type: Plain text -#: en/git-help.txt:23 +#: en/git-daemon.txt:301 msgid "" -"If the option `--all` or `-a` is given, all available commands are printed " -"on the standard output." +"To enable 'git archive --remote' and disable 'git fetch' against a " +"repository, have the following in the configuration file in the repository " +"(that is the file 'config' next to `HEAD`, 'refs' and 'objects')." msgstr "" -#. type: Plain text -#: en/git-help.txt:26 +#. type: delimited block - +#: en/git-daemon.txt:306 +#, no-wrap msgid "" -"If the option `--guide` or `-g` is given, a list of the useful Git guides is " -"also printed on the standard output." +"\t[daemon]\n" +"\t\tuploadpack = false\n" +"\t\tuploadarch = true\n" msgstr "" #. type: Plain text -#: en/git-help.txt:31 +#: en/git-daemon.txt:315 msgid "" -"If a command, or a guide, is given, a manual page for that command or guide " -"is brought up. The 'man' program is used by default for this purpose, but " -"this can be overridden by other options or configuration variables." +"'git daemon' will set REMOTE_ADDR to the IP address of the client that " +"connected to it, if the IP address is available. REMOTE_ADDR will be " +"available in the environment of hooks called when services are performed." msgstr "" +#. type: Title = +#: en/git-describe.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-describe(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-help.txt:34 +#: en/git-describe.txt:7 msgid "" -"Note that `git --help ...` is identical to `git help ...` because the former " -"is internally converted into the latter." +"git-describe - Describe a commit using the most recent tag reachable from it" msgstr "" #. type: Plain text -#: en/git-help.txt:36 -msgid "To display the linkgit:git[1] man page, use `git help git`." +#: en/git-describe.txt:14 +#, no-wrap +msgid "" +"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]\n" +"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]\n" msgstr "" #. type: Plain text -#: en/git-help.txt:38 -msgid "This page can be displayed with 'git help help' or `git help --help`" +#: en/git-describe.txt:22 +msgid "" +"The command finds the most recent tag that is reachable from a commit. If " +"the tag points to the commit, then only the tag is shown. Otherwise, it " +"suffixes the tag name with the number of additional commits on top of the " +"tagged object and the abbreviated object name of the most recent commit." msgstr "" #. type: Plain text -#: en/git-help.txt:45 +#: en/git-describe.txt:26 msgid "" -"Prints all the available commands on the standard output. This option " -"overrides any given command or guide name." +"By default (without --all or --tags) `git describe` only shows annotated " +"tags. For more information about creating annotated tags see the -a and -s " +"options to linkgit:git-tag[1]." msgstr "" #. type: Labeled list -#: en/git-help.txt:47 +#: en/git-describe.txt:29 #, no-wrap -msgid "--guides" +msgid "<commit-ish>..." msgstr "" #. type: Plain text -#: en/git-help.txt:50 -msgid "" -"Prints a list of useful guides on the standard output. This option overrides " -"any given command or guide name." +#: en/git-describe.txt:31 +msgid "Commit-ish object names to describe. Defaults to HEAD if omitted." msgstr "" #. type: Labeled list -#: en/git-help.txt:52 +#: en/git-describe.txt:32 #, no-wrap -msgid "--info" +msgid "--dirty[=<mark>]" msgstr "" #. type: Plain text -#: en/git-help.txt:55 +#: en/git-describe.txt:36 msgid "" -"Display manual page for the command in the 'info' format. The 'info' program " -"will be used for that purpose." -msgstr "" - -#. type: Labeled list -#: en/git-help.txt:57 -#, no-wrap -msgid "--man" +"Describe the working tree. It means describe HEAD and appends <mark> (`-" +"dirty` by default) if the working tree is dirty." msgstr "" #. type: Plain text -#: en/git-help.txt:61 +#: en/git-describe.txt:41 msgid "" -"Display manual page for the command in the 'man' format. This option may be " -"used to override a value set in the `help.format` configuration variable." +"Instead of using only the annotated tags, use any ref found in `refs/` " +"namespace. This option enables matching any known branch, remote-tracking " +"branch, or lightweight tag." msgstr "" #. type: Plain text -#: en/git-help.txt:65 +#: en/git-describe.txt:46 msgid "" -"By default the 'man' program will be used to display the manual page, but " -"the `man.viewer` configuration variable may be used to choose other display " -"programs (see below)." +"Instead of using only the annotated tags, use any tag found in `refs/tags` " +"namespace. This option enables matching a lightweight (non-annotated) tag." msgstr "" #. type: Labeled list -#: en/git-help.txt:67 +#: en/git-describe.txt:47 #, no-wrap -msgid "--web" +msgid "--contains" msgstr "" #. type: Plain text -#: en/git-help.txt:70 +#: en/git-describe.txt:51 msgid "" -"Display manual page for the command in the 'web' (HTML) format. A web " -"browser will be used for that purpose." +"Instead of finding the tag that predates the commit, find the tag that comes " +"after the commit, and thus contains it. Automatically implies --tags." msgstr "" #. type: Plain text -#: en/git-help.txt:76 +#: en/git-describe.txt:57 msgid "" -"The web browser can be specified using the configuration variable `help." -"browser`, or `web.browser` if the former is not set. If none of these config " -"variables is set, the 'git web{litdd}browse' helper script (called by 'git " -"help') will pick a suitable default. See linkgit:git-web{litdd}browse[1] for " -"more information about this." +"Instead of using the default 7 hexadecimal digits as the abbreviated object " +"name, use <n> digits, or as many digits as needed to form a unique object " +"name. An <n> of 0 will suppress long format, only showing the closest tag." msgstr "" -#. type: Title - -#: en/git-help.txt:78 en/git-interpret-trailers.txt:84 en/git-p4.txt:450 -#: en/git-web--browse.txt:59 -#, fuzzy, no-wrap -#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" -msgid "CONFIGURATION VARIABLES" -msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" - #. type: Labeled list -#: en/git-help.txt:81 en/config.txt:1765 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "help.format" -msgstr "Configuration" - -#. type: Plain text -#: en/git-help.txt:87 -msgid "" -"If no command-line option is passed, the `help.format` configuration " -"variable will be checked. The following values are supported for this " -"variable; they make 'git help' behave as their corresponding command- line " -"option:" -msgstr "" - -#. type: Plain text -#: en/git-help.txt:89 -msgid "\"man\" corresponds to '-m|--man'," -msgstr "" - -#. type: Plain text -#: en/git-help.txt:90 -msgid "\"info\" corresponds to '-i|--info'," -msgstr "" - -#. type: Plain text -#: en/git-help.txt:91 -msgid "\"web\" or \"html\" correspond to '-w|--web'." -msgstr "" - -#. type: Title ~ -#: en/git-help.txt:93 +#: en/git-describe.txt:58 #, no-wrap -msgid "help.browser, web.browser and browser.<tool>.path" +msgid "--candidates=<n>" msgstr "" #. type: Plain text -#: en/git-help.txt:99 +#: en/git-describe.txt:64 msgid "" -"The `help.browser`, `web.browser` and `browser.<tool>.path` will also be " -"checked if the 'web' format is chosen (either by command-line option or " -"configuration variable). See '-w|--web' in the OPTIONS section above and " -"linkgit:git-web{litdd}browse[1]." +"Instead of considering only the 10 most recent tags as candidates to " +"describe the input commit-ish consider up to <n> candidates. Increasing <n> " +"above 10 will take slightly longer but may produce a more accurate result. " +"An <n> of 0 will cause only exact matches to be output." msgstr "" #. type: Labeled list -#: en/git-help.txt:101 en/config.txt:2170 +#: en/git-describe.txt:65 #, no-wrap -msgid "man.viewer" +msgid "--exact-match" msgstr "" #. type: Plain text -#: en/git-help.txt:105 +#: en/git-describe.txt:68 msgid "" -"The `man.viewer` configuration variable will be checked if the 'man' format " -"is chosen. The following values are currently supported:" +"Only output exact matches (a tag directly references the supplied commit). " +"This is a synonym for --candidates=0." msgstr "" -#. type: Plain text -#: en/git-help.txt:107 -msgid "\"man\": use the 'man' program as usual," +#. type: Labeled list +#: en/git-describe.txt:69 en/git-ls-files.txt:151 +#, no-wrap +msgid "--debug" msgstr "" #. type: Plain text -#: en/git-help.txt:109 +#: en/git-describe.txt:73 msgid "" -"\"woman\": use 'emacsclient' to launch the \"woman\" mode in emacs (this " -"only works starting with emacsclient versions 22)," +"Verbosely display information about the searching strategy being employed to " +"standard error. The tag name will still be printed to standard out." msgstr "" #. type: Plain text -#: en/git-help.txt:111 +#: en/git-describe.txt:82 msgid "" -"\"konqueror\": use 'kfmclient' to open the man page in a new konqueror tab " -"(see 'Note about konqueror' below)." +"Always output the long format (the tag, the number of commits and the " +"abbreviated commit name) even when it matches a tag. This is useful when " +"you want to see parts of the commit object name in \"describe\" output, even " +"when the commit in question happens to be a tagged version. Instead of just " +"emitting the tag name, it will describe such a commit as v1.2-0-gdeadbee " +"(0th commit since tag v1.2 that points at object deadbee....)." msgstr "" -#. type: Plain text -#: en/git-help.txt:114 -msgid "" -"Values for other tools can be used if there is a corresponding `man.<tool>." -"cmd` configuration entry (see below)." +#. type: Labeled list +#: en/git-describe.txt:83 +#, no-wrap +msgid "--match <pattern>" msgstr "" #. type: Plain text -#: en/git-help.txt:118 +#: en/git-describe.txt:90 msgid "" -"Multiple values may be given to the `man.viewer` configuration variable. " -"Their corresponding programs will be tried in the order listed in the " -"configuration file." -msgstr "" - -#. type: Plain text -#: en/git-help.txt:120 -msgid "For example, this configuration:" +"Only consider tags matching the given `glob(7)` pattern, excluding the " +"\"refs/tags/\" prefix. This can be used to avoid leaking private tags from " +"the repository. If given multiple times, a list of patterns will be " +"accumulated, and tags matching any of the patterns will be considered. Use " +"`--no-match` to clear and reset the list of patterns." msgstr "" -#. type: delimited block - -#: en/git-help.txt:125 +#. type: Labeled list +#: en/git-describe.txt:91 #, no-wrap -msgid "" -"\t[man]\n" -"\t\tviewer = konqueror\n" -"\t\tviewer = woman\n" -msgstr "" - -#. type: Plain text -#: en/git-help.txt:129 -msgid "" -"will try to use konqueror first. But this may fail (for example, if DISPLAY " -"is not set) and in that case emacs' woman mode will be tried." +msgid "--exclude <pattern>" msgstr "" #. type: Plain text -#: en/git-help.txt:133 +#: en/git-describe.txt:100 msgid "" -"If everything fails, or if no viewer is configured, the viewer specified in " -"the `GIT_MAN_VIEWER` environment variable will be tried. If that fails too, " -"the 'man' program will be tried anyway." +"Do not consider tags matching the given `glob(7)` pattern, excluding the " +"\"refs/tags/\" prefix. This can be used to narrow the tag space and find " +"only tags matching some meaningful criteria. If given multiple times, a list " +"of patterns will be accumulated and tags matching any of the patterns will " +"be excluded. When combined with --match a tag will be considered when it " +"matches at least one --match pattern and does not match any of the --exclude " +"patterns. Use `--no-exclude` to clear and reset the list of patterns." msgstr "" #. type: Labeled list -#: en/git-help.txt:135 en/config.txt:2179 +#: en/git-describe.txt:101 en/git-diff-tree.txt:111 en/git-name-rev.txt:61 #, no-wrap -msgid "man.<tool>.path" +msgid "--always" msgstr "" #. type: Plain text -#: en/git-help.txt:142 -msgid "" -"You can explicitly provide a full path to your preferred man viewer by " -"setting the configuration variable `man.<tool>.path`. For example, you can " -"configure the absolute path to konqueror by setting 'man.konqueror.path'. " -"Otherwise, 'git help' assumes the tool is available in PATH." +#: en/git-describe.txt:103 en/git-name-rev.txt:63 +msgid "Show uniquely abbreviated commit object as fallback." msgstr "" #. type: Labeled list -#: en/git-help.txt:144 en/config.txt:2174 +#: en/git-describe.txt:104 en/rev-list-options.txt:121 #, no-wrap -msgid "man.<tool>.cmd" +msgid "--first-parent" msgstr "" #. type: Plain text -#: en/git-help.txt:152 +#: en/git-describe.txt:108 msgid "" -"When the man viewer, specified by the `man.viewer` configuration variables, " -"is not among the supported ones, then the corresponding `man.<tool>.cmd` " -"configuration variable will be looked up. If this variable exists then the " -"specified tool will be treated as a custom command and a shell eval will be " -"used to run the command with the man page passed as arguments." +"Follow only the first parent commit upon seeing a merge commit. This is " +"useful when you wish to not match tags on branches merged in the history of " +"the target commit." msgstr "" -#. type: Title - -#: en/git-help.txt:154 en/git-web--browse.txt:88 -#, no-wrap -msgid "Note about konqueror" +#. type: Plain text +#: en/git-describe.txt:113 +msgid "With something like git.git current tree, I get:" msgstr "" #. type: Plain text -#: en/git-help.txt:159 +#: en/git-describe.txt:116 +#, no-wrap msgid "" -"When 'konqueror' is specified in the `man.viewer` configuration variable, we " -"launch 'kfmclient' to try to open the man page on an already opened " -"konqueror in a new tab if possible." +"\t[torvalds@g5 git]$ git describe parent\n" +"\tv1.0.4-14-g2414721\n" msgstr "" #. type: Plain text -#: en/git-help.txt:163 +#: en/git-describe.txt:122 msgid "" -"For consistency, we also try such a trick if 'man.konqueror.path' is set to " -"something like 'A_PATH_TO/konqueror'. That means we will try to launch " -"'A_PATH_TO/kfmclient' instead." +"i.e. the current head of my \"parent\" branch is based on v1.0.4, but since " +"it has a few commits on top of that, describe has added the number of " +"additional commits (\"14\") and an abbreviated object name for the commit " +"itself (\"2414721\") at the end." msgstr "" #. type: Plain text -#: en/git-help.txt:166 en/git-web--browse.txt:100 +#: en/git-describe.txt:130 msgid "" -"If you really want to use 'konqueror', then you can use something like the " -"following:" +"The number of additional commits is the number of commits which would be " +"displayed by \"git log v1.0.4..parent\". The hash suffix is \"-g\" + 7-char " +"abbreviation for the tip commit of parent (which was " +"`2414721b194453f058079d897d13c4e377f92dc6`). The \"g\" prefix stands for " +"\"git\" and is used to allow describing the version of a software depending " +"on the SCM the software is managed with. This is useful in an environment " +"where people may use different SCMs." msgstr "" -#. type: delimited block - -#: en/git-help.txt:170 -#, no-wrap -msgid "" -"\t[man]\n" -"\t\tviewer = konq\n" +#. type: Plain text +#: en/git-describe.txt:132 +msgid "Doing a 'git describe' on a tag-name will just show the tag name:" msgstr "" -#. type: delimited block - -#: en/git-help.txt:173 +#. type: Plain text +#: en/git-describe.txt:135 #, no-wrap msgid "" -"\t[man \"konq\"]\n" -"\t\tcmd = A_PATH_TO/konqueror\n" -msgstr "" - -#. type: Title ~ -#: en/git-help.txt:176 -#, no-wrap -msgid "Note about git config --global" +"\t[torvalds@g5 git]$ git describe v1.0.4\n" +"\tv1.0.4\n" msgstr "" #. type: Plain text -#: en/git-help.txt:180 +#: en/git-describe.txt:138 msgid "" -"Note that all these configuration variables should probably be set using the " -"`--global` flag, for example like this:" +"With --all, the command can use branch heads as references, so the output " +"shows the reference path as well:" msgstr "" -#. type: delimited block - -#: en/git-help.txt:184 +#. type: Plain text +#: en/git-describe.txt:141 #, no-wrap msgid "" -"$ git config --global help.format web\n" -"$ git config --global web.browser firefox\n" +"\t[torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2\n" +"\ttags/v1.0.0-21-g975b\n" msgstr "" #. type: Plain text -#: en/git-help.txt:188 en/git-web--browse.txt:121 +#: en/git-describe.txt:144 +#, no-wrap msgid "" -"as they are probably more user specific than repository specific. See " -"linkgit:git-config[1] for more information about this." +"\t[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^\n" +"\theads/lt/describe-7-g975b\n" msgstr "" -#. type: Title = -#: en/git-http-backend.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-http-backend(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-http-backend.txt:7 -msgid "git-http-backend - Server side implementation of Git over HTTP" +#: en/git-describe.txt:147 +msgid "" +"With --abbrev set to 0, the command can be used to find the closest tagname " +"without any suffix:" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:12 +#: en/git-describe.txt:150 #, no-wrap -msgid "'git http-backend'\n" +msgid "" +"\t[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2\n" +"\ttags/v1.0.0\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:20 +#: en/git-describe.txt:156 msgid "" -"A simple CGI program to serve the contents of a Git repository to Git " -"clients accessing the repository over http:// and https:// protocols. The " -"program supports clients fetching using both the smart HTTP protocol and the " -"backwards-compatible dumb HTTP protocol, as well as clients pushing using " -"the smart HTTP protocol." +"Note that the suffix you get if you type these commands today may be longer " +"than what Linus saw above when he ran these commands, as your Git repository " +"may have new commits whose object names begin with 975b that did not exist " +"back then, and \"-g975b\" suffix alone may not be sufficient to disambiguate " +"these commits." +msgstr "" + +#. type: Title - +#: en/git-describe.txt:159 +#, no-wrap +msgid "SEARCH STRATEGY" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:25 +#: en/git-describe.txt:166 msgid "" -"It verifies that the directory has the magic file \"git-daemon-export-ok\", " -"and it will refuse to export any Git directory that hasn't explicitly been " -"marked for export this way (unless the `GIT_HTTP_EXPORT_ALL` environmental " -"variable is set)." +"For each commit-ish supplied, 'git describe' will first look for a tag which " +"tags exactly that commit. Annotated tags will always be preferred over " +"lightweight tags, and tags with newer dates will always be preferred over " +"tags with older dates. If an exact match is found, its name will be output " +"and searching will stop." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:31 +#: en/git-describe.txt:173 msgid "" -"By default, only the `upload-pack` service is enabled, which serves 'git " -"fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', " -"'git pull', and 'git clone'. If the client is authenticated, the `receive-" -"pack` service is enabled, which serves 'git send-pack' clients, which is " -"invoked from 'git push'." +"If an exact match was not found, 'git describe' will walk back through the " +"commit history to locate an ancestor commit which has been tagged. The " +"ancestor's tag will be output along with an abbreviation of the input commit-" +"ish's SHA-1. If `--first-parent` was specified then the walk will only " +"consider the first parent of each commit." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:36 +#: en/git-describe.txt:179 msgid "" -"These services can be enabled/disabled using the per-repository " -"configuration file:" +"If multiple tags were found during the walk then the tag which has the " +"fewest commits different from the input commit-ish will be selected and " +"output. Here fewest commits different is defined as the number of commits " +"which would be shown by `git log tag..input` will be the smallest number of " +"commits possible." msgstr "" -#. type: Labeled list -#: en/git-http-backend.txt:37 +#. type: Title = +#: en/git-diff-files.txt:2 #, no-wrap -msgid "http.getanyfile" +msgid "git-diff-files(1)" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:44 -msgid "" -"This serves Git clients older than version 1.6.6 that are unable to use the " -"upload pack service. When enabled, clients are able to read any file within " -"the repository, including objects that are no longer reachable from a branch " -"but are still present. It is enabled by default, but a repository can " -"disable it by setting this configuration item to `false`." +#: en/git-diff-files.txt:7 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "git-diff-files - Compares files in the working tree and the index" msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Labeled list -#: en/git-http-backend.txt:45 +#. type: Plain text +#: en/git-diff-files.txt:13 #, no-wrap -msgid "http.uploadpack" +msgid "'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:49 +#: en/git-diff-files.txt:20 msgid "" -"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " -"default, but a repository can disable it by setting this configuration item " -"to `false`." +"Compares the files in the working tree and the index. When paths are " +"specified, compares only those named paths. Otherwise all entries in the " +"index are compared. The output format is the same as for 'git diff-index' " +"and 'git diff-tree'." msgstr "" #. type: Labeled list -#: en/git-http-backend.txt:50 +#: en/git-diff-files.txt:25 #, no-wrap -msgid "http.receivepack" +msgid "-1 --base" msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:56 -msgid "" -"This serves 'git send-pack' clients, allowing push. It is disabled by " -"default for anonymous users, and enabled by default for users authenticated " -"by the web server. It can be disabled by setting this item to `false`, or " -"enabled for all users, including anonymous users, by setting it to `true`." +#. type: Labeled list +#: en/git-diff-files.txt:26 +#, no-wrap +msgid "-2 --ours" msgstr "" -#. type: Title - -#: en/git-http-backend.txt:58 +#. type: Labeled list +#: en/git-diff-files.txt:27 #, no-wrap -msgid "URL TRANSLATION" +msgid "-3 --theirs" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:65 +#: en/git-diff-files.txt:32 msgid "" -"To determine the location of the repository on disk, 'git http-backend' " -"concatenates the environment variables PATH_INFO, which is set automatically " -"by the web server, and GIT_PROJECT_ROOT, which must be set manually in the " -"web server configuration. If GIT_PROJECT_ROOT is not set, 'git http-" -"backend' reads PATH_TRANSLATED, which is also set automatically by the web " -"server." +"Diff against the \"base\" version, \"our branch\" or \"their branch\" " +"respectively. With these options, diffs for merged entries are not shown." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:70 +#: en/git-diff-files.txt:36 msgid "" -"All of the following examples map `http://$hostname/git/foo/bar.git` to `/" -"var/www/git/foo/bar.git`." +"The default is to diff against our branch (-2) and the cleanly resolved " +"paths. The option -0 can be given to omit diff output for unmerged entries " +"and just show \"Unmerged\"." msgstr "" #. type: Labeled list -#: en/git-http-backend.txt:71 +#: en/git-diff-files.txt:38 en/git-diff-tree.txt:101 +#: en/rev-list-options.txt:873 #, no-wrap -msgid "Apache 2.x" +msgid "--cc" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:75 +#: en/git-diff-files.txt:43 msgid "" -"Ensure mod_cgi, mod_alias, and mod_env are enabled, set GIT_PROJECT_ROOT (or " -"DocumentRoot) appropriately, and create a ScriptAlias to the CGI:" +"This compares stage 2 (our branch), stage 3 (their branch) and the working " +"tree file and outputs a combined diff, similar to the way 'diff-tree' shows " +"a merge commit with these flags." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:80 +#. type: Plain text +#: en/git-diff-files.txt:46 +msgid "Remain silent even on nonexistent files" +msgstr "" + +#. type: Title = +#: en/git-diff-index.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-diff-index(1)" +msgstr "git-add(1)" + +# +#. type: Plain text +#: en/git-diff-index.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-diff-index - Compare a tree to the working tree or index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/git-diff-index.txt:13 #, no-wrap -msgid "" -"SetEnv GIT_PROJECT_ROOT /var/www/git\n" -"SetEnv GIT_HTTP_EXPORT_ALL\n" -"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" +msgid "'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:86 +#: en/git-diff-index.txt:21 msgid "" -"To enable anonymous read access but authenticated write access, require " -"authorization for both the initial ref advertisement (which we detect as a " -"push via the service parameter in the query string), and the receive-pack " -"invocation itself:" +"Compares the content and mode of the blobs found in a tree object with the " +"corresponding tracked files in the working tree, or with the corresponding " +"paths in the index. When <path> arguments are present, compares only paths " +"matching those patterns. Otherwise all tracked files are compared." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:91 -#, no-wrap -msgid "" -"RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]\n" -"RewriteCond %{REQUEST_URI} /git-receive-pack$\n" -"RewriteRule ^/git/ - [E=AUTHREQUIRED:yes]\n" +#. type: Plain text +#: en/git-diff-index.txt:28 +msgid "The id of a tree object to diff against." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:95 -#, no-wrap +#. type: Plain text +#: en/git-diff-index.txt:31 +#, fuzzy +#| msgid "Do not change the message at all." +msgid "do not consider the on-disk file at all" +msgstr "Laisser le message inchang챕." + +#. type: Plain text +#: en/git-diff-index.txt:37 msgid "" -"<LocationMatch \"^/git/\">\n" -"\tOrder Deny,Allow\n" -"\tDeny from env=AUTHREQUIRED\n" +"By default, files recorded in the index but not checked out are reported as " +"deleted. This flag makes 'git diff-index' say that all non-checked-out " +"files are up to date." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:102 +#. type: Title - +#: en/git-diff-index.txt:41 #, no-wrap -msgid "" -"\tAuthType Basic\n" -"\tAuthName \"Git Access\"\n" -"\tRequire group committers\n" -"\tSatisfy Any\n" -"\t...\n" -"</LocationMatch>\n" +msgid "Operating Modes" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:107 +#: en/git-diff-index.txt:46 msgid "" -"If you do not have `mod_rewrite` available to match against the query " -"string, it is sufficient to just protect `git-receive-pack` itself, like:" +"You can choose whether you want to trust the index file entirely (using the " +"`--cached` flag) or ask the diff logic to show any files that don't match " +"the stat state as being \"tentatively changed\". Both of these operations " +"are very useful indeed." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:115 +#. type: Title - +#: en/git-diff-index.txt:48 #, no-wrap -msgid "" -"<LocationMatch \"^/git/.*/git-receive-pack$\">\n" -"\tAuthType Basic\n" -"\tAuthName \"Git Access\"\n" -"\tRequire group committers\n" -"\t...\n" -"</LocationMatch>\n" +msgid "Cached Mode" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:125 +#: en/git-diff-index.txt:50 +msgid "If `--cached` is specified, it allows you to ask:" +msgstr "" + +#. type: Plain text +#: en/git-diff-index.txt:53 +#, no-wrap msgid "" -"In this mode, the server will not request authentication until the client " -"actually starts the object negotiation phase of the push, rather than during " -"the initial contact. For this reason, you must also enable the `http." -"receivepack` config option in any repositories that should accept a push. " -"The default behavior, if `http.receivepack` is not set, is to reject any " -"pushes by unauthenticated users; the initial request will therefore report " -"`403 Forbidden` to the client, without even giving an opportunity for " -"authentication." +"\tshow me the differences between HEAD and the current index\n" +"\tcontents (the ones I'd write using 'git write-tree')\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:128 +#: en/git-diff-index.txt:58 msgid "" -"To require authentication for both reads and writes, use a Location " -"directive around the repository, or one of its parent directories:" +"For example, let's say that you have worked on your working directory, " +"updated some files in the index and are ready to commit. You want to see " +"exactly *what* you are going to commit, without having to write a new tree " +"object and compare it that way, and to do that, you just do" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:136 +#. type: Plain text +#: en/git-diff-index.txt:60 #, no-wrap -msgid "" -"<Location /git/private>\n" -"\tAuthType Basic\n" -"\tAuthName \"Private Git Access\"\n" -"\tRequire group committers\n" -"\t...\n" -"</Location>\n" +msgid "\tgit diff-index --cached HEAD\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:141 +#: en/git-diff-index.txt:65 msgid "" -"To serve gitweb at the same url, use a ScriptAliasMatch to only those URLs " -"that 'git http-backend' can handle, and forward the rest to gitweb:" +"Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had " +"done an `update-index` to make that effective in the index file. `git diff-" +"files` wouldn't show anything at all, since the index file matches my " +"working directory. But doing a 'git diff-index' does:" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:151 +#. type: Plain text +#: en/git-diff-index.txt:69 #, no-wrap msgid "" -"ScriptAliasMatch \\\n" -"\t\"(?x)^/git/(.*/(HEAD | \\\n" -"\t\t\tinfo/refs | \\\n" -"\t\t\tobjects/(info/[^/]+ | \\\n" -"\t\t\t\t [0-9a-f]{2}/[0-9a-f]{38} | \\\n" -"\t\t\t\t pack/pack-[0-9a-f]{40}\\.(pack|idx)) | \\\n" -"\t\t\tgit-(upload|receive)-pack))$\" \\\n" -"\t/usr/libexec/git-core/git-http-backend/$1\n" +" torvalds@ppc970:~/git> git diff-index --cached HEAD\n" +" -100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c\n" +" +100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 git-commit.c\n" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:153 -#, no-wrap -msgid "ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" +#. type: Plain text +#: en/git-diff-index.txt:71 +msgid "You can see easily that the above is a rename." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:157 +#: en/git-diff-index.txt:75 msgid "" -"To serve multiple repositories from different linkgit:gitnamespaces[7] in a " -"single repository:" +"In fact, `git diff-index --cached` *should* always be entirely equivalent to " +"actually doing a 'git write-tree' and comparing that. Except this one is " +"much nicer for the case where you just want to check where you are." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:161 -#, no-wrap +#. type: Plain text +#: en/git-diff-index.txt:79 msgid "" -"SetEnvIf Request_URI \"^/git/([^/]*)\" GIT_NAMESPACE=$1\n" -"ScriptAliasMatch ^/git/[^/]*(.*) /usr/libexec/git-core/git-http-backend/storage.git$1\n" +"So doing a `git diff-index --cached` is basically very useful when you are " +"asking yourself \"what have I already marked for being committed, and what's " +"the difference to a previous tree\"." msgstr "" -#. type: Labeled list -#: en/git-http-backend.txt:163 +#. type: Title - +#: en/git-diff-index.txt:81 #, no-wrap -msgid "Accelerated static Apache 2.x" +msgid "Non-cached Mode" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:168 +#: en/git-diff-index.txt:86 msgid "" -"Similar to the above, but Apache can be used to return static files that are " -"stored on disk.\tOn many systems this may be more efficient as Apache can " -"ask the kernel to copy the file contents from the file system directly to " -"the network:" +"The \"non-cached\" mode takes a different approach, and is potentially the " +"more useful of the two in that what it does can't be emulated with a 'git " +"write-tree' + 'git diff-tree'. Thus that's the default mode. The non-cached " +"version asks the question:" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:171 en/git-http-backend.txt:181 +#. type: Plain text +#: en/git-diff-index.txt:89 #, no-wrap -msgid "SetEnv GIT_PROJECT_ROOT /var/www/git\n" +msgid "" +" show me the differences between HEAD and the currently checked out\n" +" tree - index contents _and_ files that aren't up-to-date\n" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:175 -#, no-wrap +#. type: Plain text +#: en/git-diff-index.txt:93 msgid "" -"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1\n" -"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1\n" -"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" +"which is obviously a very useful question too, since that tells you what you " +"*could* commit. Again, the output matches the 'git diff-tree -r' output to a " +"tee, but with a twist." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:178 -msgid "This can be combined with the gitweb configuration:" +#: en/git-diff-index.txt:99 +msgid "" +"The twist is that if some file doesn't match the index, we don't have a " +"backing store thing for it, and we use the magic \"all-zero\" sha1 to show " +"that. So let's say that you have edited `kernel/sched.c`, but have not " +"actually done a 'git update-index' on it yet - there is no \"object\" " +"associated with the new state, and you get:" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:191 +#. type: Plain text +#: en/git-diff-index.txt:102 #, no-wrap msgid "" -"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1\n" -"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1\n" -"ScriptAliasMatch \\\n" -"\t\"(?x)^/git/(.*/(HEAD | \\\n" -"\t\t\tinfo/refs | \\\n" -"\t\t\tobjects/info/[^/]+ | \\\n" -"\t\t\tgit-(upload|receive)-pack))$\" \\\n" -"\t/usr/libexec/git-core/git-http-backend/$1\n" -"ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" +" torvalds@ppc970:~/v2.6/linux> git diff-index --abbrev HEAD\n" +" :100644 100664 7476bb... 000000... kernel/sched.c\n" msgstr "" -#. type: Labeled list -#: en/git-http-backend.txt:193 -#, no-wrap -msgid "Lighttpd" +#. type: Plain text +#: en/git-diff-index.txt:107 +msgid "" +"i.e., it shows that the tree has changed, and that `kernel/sched.c` has is " +"not up-to-date and may contain new stuff. The all-zero sha1 means that to " +"get the real diff, you need to look at the object in the working directory " +"directly rather than do an object-to-object diff." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:197 +#: en/git-diff-index.txt:113 msgid "" -"Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are loaded, " -"then set `GIT_PROJECT_ROOT` appropriately and redirect all requests to the " -"CGI:" +"As with other commands of this type, 'git diff-index' does not actually look " +"at the contents of the file at all. So maybe `kernel/sched.c` hasn't " +"actually changed, and it's just that you touched it. In either case, it's a " +"note that you need to 'git update-index' it to make the index be in sync." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:207 -#, no-wrap +#. type: Plain text +#: en/git-diff-index.txt:119 msgid "" -"alias.url += ( \"/git\" => \"/usr/lib/git-core/git-http-backend\" )\n" -"$HTTP[\"url\"] =~ \"^/git\" {\n" -"\tcgi.assign = (\"\" => \"\")\n" -"\tsetenv.add-environment = (\n" -"\t\t\"GIT_PROJECT_ROOT\" => \"/var/www/git\",\n" -"\t\t\"GIT_HTTP_EXPORT_ALL\" => \"\"\n" -"\t)\n" -"}\n" +"You can have a mixture of files show up as \"has been updated\" and \"is " +"still dirty in the working directory\" together. You can always tell which " +"file is in which state, since the \"has been updated\" ones show a valid " +"sha1, and the \"not in sync with the index\" ones will always have the " +"special all-zero sha1." msgstr "" +#. type: Title = +#: en/git-difftool.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-difftool(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-http-backend.txt:210 -msgid "To enable anonymous read access but authenticated write access:" +#: en/git-difftool.txt:7 +msgid "git-difftool - Show changes using common diff tools" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:218 +#. type: Plain text +#: en/git-difftool.txt:12 #, no-wrap -msgid "" -"$HTTP[\"querystring\"] =~ \"service=git-receive-pack\" {\n" -"\tinclude \"git-auth.conf\"\n" -"}\n" -"$HTTP[\"url\"] =~ \"^/git/.*/git-receive-pack$\" {\n" -"\tinclude \"git-auth.conf\"\n" -"}\n" +msgid "'git difftool' [<options>] [<commit> [<commit>]] [--] [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:221 -msgid "where `git-auth.conf` looks something like:" +#: en/git-difftool.txt:19 +msgid "" +"'git difftool' is a Git command that allows you to compare and edit files " +"between revisions using common diff tools. 'git difftool' is a frontend to " +"'git diff' and accepts the same options and arguments. See linkgit:git-" +"diff[1]." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:231 +#. type: Labeled list +#: en/git-difftool.txt:23 #, no-wrap -msgid "" -"auth.require = (\n" -"\t\"/\" => (\n" -"\t\t\"method\" => \"basic\",\n" -"\t\t\"realm\" => \"Git Access\",\n" -"\t\t\"require\" => \"valid-user\"\n" -"\t )\n" -")\n" -"# ...and set up auth.backend here\n" +msgid "--dir-diff" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:234 -msgid "To require authentication for both reads and writes:" +#: en/git-difftool.txt:27 +msgid "" +"Copy the modified files to a temporary location and perform a directory diff " +"on them. This mode never prompts before launching the diff tool." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:239 +#. type: Labeled list +#: en/git-difftool.txt:28 en/git-mergetool.txt:70 #, no-wrap -msgid "" -"$HTTP[\"url\"] =~ \"^/git/private\" {\n" -"\tinclude \"git-auth.conf\"\n" -"}\n" +msgid "-y" msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:246 -msgid "" -"'git http-backend' relies upon the `CGI` environment variables set by the " -"invoking web server, including:" +#. type: Labeled list +#: en/git-difftool.txt:29 en/git-mergetool.txt:71 +#, no-wrap +msgid "--no-prompt" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:248 -msgid "PATH_INFO (if GIT_PROJECT_ROOT is set, otherwise PATH_TRANSLATED)" +#: en/git-difftool.txt:31 +msgid "Do not prompt before launching a diff tool." msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:249 -msgid "REMOTE_USER" +#. type: Labeled list +#: en/git-difftool.txt:32 en/git-mergetool.txt:78 +#, no-wrap +msgid "--prompt" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:250 -msgid "REMOTE_ADDR" +#: en/git-difftool.txt:36 +msgid "" +"Prompt before each invocation of the diff tool. This is the default " +"behaviour; the option is provided to override any configuration settings." msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:251 -msgid "CONTENT_TYPE" +#. type: Labeled list +#: en/git-difftool.txt:37 en/git-mergetool.txt:27 +#, no-wrap +msgid "-t <tool>" msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:252 -msgid "QUERY_STRING" -msgstr "" +#. type: Labeled list +#: en/git-difftool.txt:38 en/git-mergetool.txt:28 +#, fuzzy, no-wrap +#| msgid "diff" +msgid "--tool=<tool>" +msgstr "diff" #. type: Plain text -#: en/git-http-backend.txt:253 -msgid "REQUEST_METHOD" +#: en/git-difftool.txt:42 +msgid "" +"Use the diff tool specified by <tool>. Valid values include emerge, " +"kompare, meld, and vimdiff. Run `git difftool --tool-help` for the list of " +"valid <tool> settings." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:257 +#: en/git-difftool.txt:47 msgid "" -"The `GIT_HTTP_EXPORT_ALL` environmental variable may be passed to 'git-http-" -"backend' to bypass the check for the \"git-daemon-export-ok\" file in each " -"repository before allowing export of that repository." +"If a diff tool is not specified, 'git difftool' will use the configuration " +"variable `diff.tool`. If the configuration variable `diff.tool` is not set, " +"'git difftool' will pick a suitable default." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:266 +#: en/git-difftool.txt:53 msgid "" -"The `GIT_HTTP_MAX_REQUEST_BUFFER` environment variable (or the `http." -"maxRequestBuffer` config variable) may be set to change the largest ref " -"negotiation request that git will handle during a fetch; any fetch requiring " -"a larger buffer will not succeed. This value should not normally need to be " -"changed, but may be helpful if you are fetching from a repository with an " -"extremely large number of refs. The value can be specified with a unit (e." -"g., `100M` for 100 megabytes). The default is 10 megabytes." +"You can explicitly provide a full path to the tool by setting the " +"configuration variable `difftool.<tool>.path`. For example, you can " +"configure the absolute path to kdiff3 by setting `difftool.kdiff3.path`. " +"Otherwise, 'git difftool' assumes the tool is available in PATH." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:271 +#: en/git-difftool.txt:58 msgid "" -"The backend process sets GIT_COMMITTER_NAME to '$REMOTE_USER' and " -"GIT_COMMITTER_EMAIL to '$\\{REMOTE_USER}@http.$\\{REMOTE_ADDR\\}', ensuring " -"that any reflogs created by 'git-receive-pack' contain some identifying " -"information of the remote user who performed the push." +"Instead of running one of the known diff tools, 'git difftool' can be " +"customized to run an alternative program by specifying the command line to " +"invoke in a configuration variable `difftool.<tool>.cmd`." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:274 +#: en/git-difftool.txt:68 msgid "" -"All `CGI` environment variables are available to each of the hooks invoked " -"by the 'git-receive-pack'." +"When 'git difftool' is invoked with this tool (either through the `-t` or `--" +"tool` option or the `diff.tool` configuration variable) the configured " +"command line will be invoked with the following variables available: `" +"$LOCAL` is set to the name of the temporary file containing the contents of " +"the diff pre-image and `$REMOTE` is set to the name of the temporary file " +"containing the contents of the diff post-image. `$MERGED` is the name of " +"the file which is being compared. `$BASE` is provided for compatibility with " +"custom merge tool commands and has the same value as `$MERGED`." msgstr "" -#. type: Title = -#: en/git-http-fetch.txt:2 +#. type: Labeled list +#: en/git-difftool.txt:69 en/git-mergetool.txt:67 #, no-wrap -msgid "git-http-fetch(1)" +msgid "--tool-help" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-http-fetch - Download from a remote Git repository via HTTP" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-difftool.txt:71 +msgid "Print a list of diff tools that may be used with `--tool`." +msgstr "" -#. type: Plain text -#: en/git-http-fetch.txt:13 +#. type: Labeled list +#: en/git-difftool.txt:72 #, no-wrap -msgid "'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [--stdin] <commit> <url>\n" +msgid "--[no-]symlinks" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:17 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Downloads a remote Git repository via HTTP." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-difftool.txt:77 +msgid "" +"'git difftool''s default behavior is create symlinks to the working tree " +"when run in `--dir-diff` mode and the right-hand side of the comparison " +"yields the same content as the file in the working tree." +msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:20 -#, no-wrap +#: en/git-difftool.txt:80 msgid "" -"*NOTE*: use of this command without -a is deprecated. The -a\n" -"behaviour will become the default in a future release.\n" +"Specifying `--no-symlinks` instructs 'git difftool' to create copies " +"instead. `--no-symlinks` is the default on Windows." msgstr "" #. type: Labeled list -#: en/git-http-fetch.txt:23 +#: en/git-difftool.txt:81 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "-x <command>" +msgstr "git-commit(1)" + +#. type: Labeled list +#: en/git-difftool.txt:82 #, no-wrap -msgid "commit-id" +msgid "--extcmd=<command>" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:26 -msgid "Either the hash or the filename under [URL]/refs/ to pull." +#: en/git-difftool.txt:87 +msgid "" +"Specify a custom command for viewing diffs. 'git-difftool' ignores the " +"configured defaults and runs `$command $LOCAL $REMOTE` when this option is " +"specified. Additionally, `$BASE` is set in the environment." +msgstr "" + +#. type: Labeled list +#: en/git-difftool.txt:88 en/git-help.txt:46 en/git-show-branch.txt:111 +#: en/git-update-index.txt:114 en/rev-list-options.txt:245 +#, no-wrap +msgid "-g" +msgstr "" + +#. type: Labeled list +#: en/git-difftool.txt:89 +#, no-wrap +msgid "--[no-]gui" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:29 -msgid "Get the commit objects." +#: en/git-difftool.txt:94 +msgid "" +"When 'git-difftool' is invoked with the `-g` or `--gui` option the default " +"diff tool will be read from the configured `diff.guitool` variable instead " +"of `diff.tool`. The `--no-gui` option can be used to override this setting." +msgstr "" + +#. type: Labeled list +#: en/git-difftool.txt:95 +#, no-wrap +msgid "--[no-]trust-exit-code" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:31 -msgid "Get trees associated with the commit objects." +#: en/git-difftool.txt:100 +msgid "" +"'git-difftool' invokes a diff tool individually on each file. Errors " +"reported by the diff tool are ignored by default. Use `--trust-exit-code` " +"to make 'git-difftool' exit when an invoked diff tool returns a non-zero " +"exit code." msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:33 -msgid "Get all the objects." +#: en/git-difftool.txt:103 +msgid "" +"'git-difftool' will forward the exit code of the invoked tool when `--trust-" +"exit-code` is used." msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:35 -msgid "Report what is downloaded." +#: en/git-difftool.txt:105 +msgid "See linkgit:git-diff[1] for the full list of supported options." msgstr "" -#. type: Labeled list -#: en/git-http-fetch.txt:36 +#. type: Title - +#: en/git-difftool.txt:107 #, no-wrap -msgid "-w <filename>" +msgid "CONFIG VARIABLES" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:39 +#: en/git-difftool.txt:110 msgid "" -"Writes the commit-id into the filename under $GIT_DIR/refs/<filename> on the " -"local end after the transfer is complete." +"'git difftool' falls back to 'git mergetool' config variables when the " +"difftool equivalents have not been defined." msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:43 -msgid "" -"Instead of a commit id on the command line (which is not expected in this " -"case), 'git http-fetch' expects lines on stdin in the format" +#: en/git-difftool.txt:113 +msgid "The default diff tool to use." msgstr "" +#. type: Labeled list +#: en/git-difftool.txt:114 +#, fuzzy, no-wrap +#| msgid "diff" +msgid "diff.guitool" +msgstr "diff" + #. type: Plain text -#: en/git-http-fetch.txt:45 -#, no-wrap -msgid "<commit-id>['\\t'<filename-as-in--w>]\n" +#: en/git-difftool.txt:116 +msgid "The default diff tool to use when `--gui` is specified." msgstr "" -#. type: Labeled list -#: en/git-http-fetch.txt:46 -#, no-wrap -msgid "--recover" +#. type: Plain text +#: en/git-difftool.txt:123 +msgid "Specify the command to invoke the specified diff tool." msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:49 -msgid "" -"Verify that everything reachable from target is fetched. Used after an " -"earlier fetch is interrupted." +#: en/git-difftool.txt:125 +msgid "See the `--tool=<tool>` option above for more details." msgstr "" -#. type: Title = -#: en/git-http-push.txt:2 +#. type: Labeled list +#: en/git-difftool.txt:129 #, no-wrap -msgid "git-http-push(1)" +msgid "difftool.trustExitCode" msgstr "" #. type: Plain text -#: en/git-http-push.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-http-push - Push objects over HTTP/DAV to another repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-difftool.txt:131 +msgid "Exit difftool if the invoked diff tool returns a non-zero exit status." +msgstr "" #. type: Plain text -#: en/git-http-push.txt:13 -#, no-wrap -msgid "'git http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>...]\n" +#: en/git-difftool.txt:133 +msgid "See the `--trust-exit-code` option above for more details." msgstr "" #. type: Plain text -#: en/git-http-push.txt:18 -msgid "" -"Sends missing objects to remote repository, and updates the remote branch." +#: en/git-difftool.txt:138 +msgid "Show changes between commits, commit and working tree, etc" msgstr "" #. type: Plain text -#: en/git-http-push.txt:22 -#, no-wrap -msgid "" -"*NOTE*: This command is temporarily disabled if your libcurl\n" -"is older than 7.16, as the combination has been reported\n" -"not to work and sometimes corrupts repository.\n" +#: en/git-difftool.txt:141 +msgid "Run merge conflict resolution tools to resolve merge conflicts" msgstr "" #. type: Plain text -#: en/git-http-push.txt:29 +#: en/git-difftool.txt:144 +msgid "Get and set repository or global options" +msgstr "" + +#. type: Title = +#: en/git-diff-tree.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-diff-tree(1)" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-diff-tree.txt:7 msgid "" -"Do not assume that the remote repository is complete in its current state, " -"and verify all objects in the entire local ref's history exist in the remote " -"repository." +"git-diff-tree - Compares the content and mode of blobs found via two tree " +"objects" msgstr "" #. type: Plain text -#: en/git-http-push.txt:36 en/git-send-pack.txt:60 +#: en/git-diff-tree.txt:15 +#, no-wrap msgid "" -"Usually, the command refuses to update a remote ref that is not an ancestor " -"of the local ref used to overwrite it. This flag disables the check. What " -"this means is that the remote repository can lose commits; use it with care." +"'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]\n" +"\t [-t] [-r] [-c | --cc] [--root] [<common diff options>]\n" +"\t <tree-ish> [<tree-ish>] [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-http-push.txt:39 en/git-push.txt:120 en/git-send-pack.txt:53 -msgid "Do everything except actually send the updates." +#: en/git-diff-tree.txt:19 +msgid "Compares the content and mode of the blobs found via two tree objects." msgstr "" #. type: Plain text -#: en/git-http-push.txt:43 +#: en/git-diff-tree.txt:22 msgid "" -"Report the list of objects being walked locally and the list of objects " -"successfully sent to the remote repository." +"If there is only one <tree-ish> given, the commit is compared with its " +"parents (see --stdin below)." msgstr "" #. type: Plain text -#: en/git-http-push.txt:49 +#: en/git-diff-tree.txt:24 msgid "" -"Remove <ref> from remote repository. The specified branch cannot be the " -"remote HEAD. If -d is specified the following other conditions must also be " -"met:" +"Note that 'git diff-tree' can use the tree encapsulated in a commit object." msgstr "" #. type: Plain text -#: en/git-http-push.txt:51 -msgid "Remote HEAD must resolve to an object that exists locally" +#: en/git-diff-tree.txt:31 +msgid "The id of a tree object." +msgstr "" + +#. type: Labeled list +#: en/git-diff-tree.txt:32 en/git-diff.txt:100 en/git-submodule.txt:423 +#, no-wrap +msgid "<path>..." msgstr "" #. type: Plain text -#: en/git-http-push.txt:52 -msgid "Specified branch resolves to an object that exists locally" +#: en/git-diff-tree.txt:38 +msgid "" +"If provided, the results are limited to a subset of files matching one of " +"these prefix strings. i.e., file matches `/^<pattern1>|<pattern2>|.../` " +"Note that this parameter does not provide any wildcard or regexp features." msgstr "" #. type: Plain text -#: en/git-http-push.txt:53 -msgid "Specified branch is an ancestor of the remote HEAD" +#: en/git-diff-tree.txt:41 +msgid "recurse into sub-trees" msgstr "" -#. type: Labeled list -#: en/git-http-push.txt:54 en/git-send-pack.txt:92 -#, no-wrap -msgid "<ref>..." +#. type: Plain text +#: en/git-diff-tree.txt:44 +msgid "show tree entry itself as well as subtrees. Implies -r." msgstr "" #. type: Plain text -#: en/git-http-push.txt:56 en/git-send-pack.txt:94 -msgid "The remote refs to update." +#: en/git-diff-tree.txt:48 +msgid "" +"When `--root` is specified the initial commit will be shown as a big " +"creation event. This is equivalent to a diff against the NULL tree." msgstr "" -#. type: Title - -#: en/git-http-push.txt:59 en/git-send-pack.txt:97 -#, no-wrap -msgid "Specifying the Refs" +#. type: Plain text +#: en/git-diff-tree.txt:55 +msgid "" +"When `--stdin` is specified, the command does not take <tree-ish> arguments " +"from the command line. Instead, it reads lines containing either two " +"<tree>, one <commit>, or a list of <commit> from its standard input. (Use a " +"single space as separator.)" msgstr "" #. type: Plain text -#: en/git-http-push.txt:65 +#: en/git-diff-tree.txt:60 msgid "" -"A '<ref>' specification can be either a single pattern, or a pair of such " -"patterns separated by a colon \":\" (this means that a ref name cannot have " -"a colon in it). A single pattern '<name>' is just a shorthand for '<name>:" -"<name>'." +"When two trees are given, it compares the first tree with the second. When " +"a single commit is given, it compares the commit with its parents. The " +"remaining commits, when given, are used as if they are parents of the first " +"commit." msgstr "" #. type: Plain text -#: en/git-http-push.txt:71 +#: en/git-diff-tree.txt:65 msgid "" -"Each pattern pair consists of the source side (before the colon) and the " -"destination side (after the colon). The ref to be pushed is determined by " -"finding a match that matches the source side, and where it is pushed is " -"determined by using the destination side." +"When comparing two trees, the ID of both trees (separated by a space and " +"terminated by a newline) is printed before the difference. When comparing " +"commits, the ID of the first (or only) commit, followed by a newline, is " +"printed." msgstr "" #. type: Plain text -#: en/git-http-push.txt:74 en/git-send-pack.txt:125 -msgid "It is an error if <src> does not match exactly one of the local refs." +#: en/git-diff-tree.txt:68 +msgid "" +"The following flags further affect the behavior when comparing commits (but " +"not trees)." msgstr "" #. type: Plain text -#: en/git-http-push.txt:76 en/git-send-pack.txt:129 -msgid "If <dst> does not match any remote ref, either" +#: en/git-diff-tree.txt:74 +msgid "" +"By default, 'git diff-tree --stdin' does not show differences for merge " +"commits. With this flag, it shows differences to that commit from all of " +"its parents. See also `-c`." msgstr "" #. type: Plain text -#: en/git-http-push.txt:79 en/git-send-pack.txt:132 +#: en/git-diff-tree.txt:80 msgid "" -"it has to start with \"refs/\"; <dst> is used as the destination literally " -"in this case." +"By default, 'git diff-tree --stdin' shows differences, either in machine-" +"readable form (without `-p`) or in patch form (with `-p`). This output can " +"be suppressed. It is only useful with `-v` flag." msgstr "" #. type: Plain text -#: en/git-http-push.txt:83 en/git-send-pack.txt:136 +#: en/git-diff-tree.txt:84 msgid "" -"<src> == <dst> and the ref that matched the <src> must not exist in the set " -"of remote refs; the ref matched <src> locally is used as the name of the " -"destination." +"This flag causes 'git diff-tree --stdin' to also show the commit message " +"before the differences." msgstr "" +#. type: Labeled list +#: en/git-diff-tree.txt:87 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--no-commit-id" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-http-push.txt:89 en/git-send-pack.txt:142 +#: en/git-diff-tree.txt:90 msgid "" -"Without `--force`, the <src> ref is stored at the remote only if <dst> does " -"not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>. This " -"check, known as \"fast-forward check\", is performed in order to avoid " -"accidentally overwriting the remote ref and lose other peoples' commits from " -"there." +"'git diff-tree' outputs a line with the commit ID when applicable. This " +"flag suppressed the commit ID output." msgstr "" #. type: Plain text -#: en/git-http-push.txt:91 en/git-send-pack.txt:144 -msgid "With `--force`, the fast-forward check is disabled for all refs." +#: en/git-diff-tree.txt:100 +msgid "" +"This flag changes the way a merge commit is displayed (which means it is " +"useful only when the command is given one <tree-ish>, or `--stdin`). It " +"shows the differences from each of the parents to the merge result " +"simultaneously instead of showing pairwise diff between a parent and the " +"result one at a time (which is what the `-m` option does). Furthermore, it " +"lists only files which were modified from all parents." msgstr "" #. type: Plain text -#: en/git-http-push.txt:94 en/git-send-pack.txt:147 +#: en/git-diff-tree.txt:110 msgid "" -"Optionally, a <ref> parameter can be prefixed with a plus '+' sign to " -"disable the fast-forward check only on that ref." +"This flag changes the way a merge commit patch is displayed, in a similar " +"way to the `-c` option. It implies the `-c` and `-p` options and further " +"compresses the patch output by omitting uninteresting hunks whose the " +"contents in the parents have only two variants and the merge result picks " +"one of them without modification. When all hunks are uninteresting, the " +"commit itself and the commit log message is not shown, just like in any " +"other \"empty diff\" case." msgstr "" -#. type: Title = -#: en/git-imap-send.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-imap-send(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-imap-send.txt:7 +#: en/git-diff-tree.txt:114 msgid "" -"git-imap-send - Send a collection of patches from stdin to an IMAP folder" +"Show the commit itself and the commit log message even if the diff itself is " +"empty." msgstr "" -#. type: Plain text -#: en/git-imap-send.txt:13 +#. type: Title - +#: en/git-diff-tree.txt:120 #, no-wrap -msgid "'git imap-send' [-v] [-q] [--[no-]curl]\n" +msgid "Limiting Output" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:23 +#: en/git-diff-tree.txt:123 msgid "" -"This command uploads a mailbox generated with 'git format-patch' into an " -"IMAP drafts folder. This allows patches to be sent as other email is when " -"using mail clients that cannot read mailbox files directly. The command also " -"works with any general mailbox in which emails have the fields \"From\", " -"\"Date\", and \"Subject\" in that order." +"If you're only interested in differences in a subset of files, for example " +"some architecture-specific files, you might do:" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:25 -msgid "Typical usage is something like:" +#: en/git-diff-tree.txt:125 +#, no-wrap +msgid "\tgit diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64\n" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:27 -msgid "git format-patch --signoff --stdout --attach origin | git imap-send" +#: en/git-diff-tree.txt:127 +msgid "and it will only show you what changed in those two directories." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:39 -msgid "Be quiet." +#: en/git-diff-tree.txt:129 +msgid "" +"Or if you are searching for what changed in just `kernel/sched.c`, just do" msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:40 +#. type: Plain text +#: en/git-diff-tree.txt:131 #, no-wrap -msgid "--curl" +msgid "\tgit diff-tree -r <tree-ish> <tree-ish> kernel/sched.c\n" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:44 +#: en/git-diff-tree.txt:133 +msgid "and it will ignore all differences to other files." +msgstr "" + +#. type: Plain text +#: en/git-diff-tree.txt:138 msgid "" -"Use libcurl to communicate with the IMAP server, unless tunneling into it. " -"Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND option set." +"The pattern is always the prefix, and is matched exactly. There are no " +"wildcards. Even stricter, it has to match a complete path component. I.e. " +"\"foo\" does not pick up `foobar.h`. \"foo\" does match `foo/bar.h` so it " +"can be used to name subdirectories." msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:45 -#, no-wrap -msgid "--no-curl" +#. type: Plain text +#: en/git-diff-tree.txt:140 +msgid "An example of normal usage is:" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:49 +#: en/git-diff-tree.txt:143 +#, no-wrap msgid "" -"Talk to the IMAP server using git's own IMAP routines instead of using " -"libcurl. Ignored if Git was built with the NO_OPENSSL option set." +" torvalds@ppc970:~/git> git diff-tree --abbrev 5319e4\n" +" :100664 100664 ac348b... a01513...\tgit-fsck-objects.c\n" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:56 +#: en/git-diff-tree.txt:146 msgid "" -"To use the tool, imap.folder and either imap.tunnel or imap.host must be set " -"to appropriate values." +"which tells you that the last commit changed just one file (it's from this " +"one:" msgstr "" -#. type: Title ~ -#: en/git-imap-send.txt:58 en/config.txt:256 +#. type: delimited block - +#: en/git-diff-tree.txt:153 #, no-wrap -msgid "Variables" +msgid "" +"commit 3c6f7ca19ad4043e9e72fa94106f352897e651a8\n" +"tree 5319e4d609cdd282069cc4dce33c1db559539b03\n" +"parent b4e628ea30d5ab3606119d2ea5caeab141d38df7\n" +"author Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005\n" +"committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005\n" msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:60 +#. type: delimited block - +#: en/git-diff-tree.txt:155 #, no-wrap -msgid "imap.folder" +msgid "Make \"git-fsck-objects\" print out all the root commits it finds.\n" msgstr "" -#. type: Plain text -#: en/git-imap-send.txt:64 +#. type: delimited block - +#: en/git-diff-tree.txt:158 +#, no-wrap msgid "" -"The folder to drop the mails into, which is typically the Drafts folder. For " -"example: \"INBOX.Drafts\", \"INBOX/Drafts\" or \"[Gmail]/Drafts\". Required." +"Once I do the reference tracking, I'll also make it print out all the\n" +"HEAD commits it finds, which is even more interesting.\n" msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:65 +#. type: Plain text +#: en/git-diff-tree.txt:161 +msgid "in case you care)." +msgstr "" + +#. type: Title = +#: en/git-diff.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-diff(1)" +msgstr "git-add(1)" + +#. type: Plain text +#: en/git-diff.txt:7 +msgid "git-diff - Show changes between commits, commit and working tree, etc" +msgstr "" + +#. type: Plain text +#: en/git-diff.txt:17 #, no-wrap -msgid "imap.tunnel" +msgid "" +"'git diff' [options] [<commit>] [--] [<path>...]\n" +"'git diff' [options] --cached [<commit>] [--] [<path>...]\n" +"'git diff' [options] <commit> <commit> [--] [<path>...]\n" +"'git diff' [options] <blob> <blob>\n" +"'git diff' [options] [--no-index] [--] <path> <path>\n" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:69 +#: en/git-diff.txt:23 msgid "" -"Command used to setup a tunnel to the IMAP server through which commands " -"will be piped instead of using a direct network connection to the server. " -"Required when imap.host is not set." +"Show changes between the working tree and the index or a tree, changes " +"between the index and a tree, changes between two trees, changes between two " +"blob objects, or changes between two files on disk." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:70 +#: en/git-diff.txt:24 #, no-wrap -msgid "imap.host" +msgid "'git diff' [--options] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:74 +#: en/git-diff.txt:31 msgid "" -"A URL identifying the server. Use a `imap://` prefix for non-secure " -"connections and a `imaps://` prefix for secure connections. Ignored when " -"imap.tunnel is set, but required otherwise." +"This form is to view the changes you made relative to the index (staging " +"area for the next commit). In other words, the differences are what you " +"_could_ tell Git to further add to the index but you still haven't. You can " +"stage these changes by using linkgit:git-add[1]." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:75 +#: en/git-diff.txt:32 #, no-wrap -msgid "imap.user" +msgid "'git diff' --no-index [--options] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:77 -msgid "The username to use when logging in to the server." +#: en/git-diff.txt:40 +msgid "" +"This form is to compare the given two paths on the filesystem. You can omit " +"the `--no-index` option when running the command in a working tree " +"controlled by Git and at least one of the paths points outside the working " +"tree, or when running the command outside a working tree controlled by Git." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:78 +#: en/git-diff.txt:41 #, no-wrap -msgid "imap.pass" +msgid "'git diff' [--options] --cached [<commit>] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:80 -msgid "The password to use when logging in to the server." +#: en/git-diff.txt:50 +msgid "" +"This form is to view the changes you staged for the next commit relative to " +"the named <commit>. Typically you would want comparison with the latest " +"commit, so if you do not give <commit>, it defaults to HEAD. If HEAD does " +"not exist (e.g. unborn branches) and <commit> is not given, it shows all " +"staged changes. --staged is a synonym of --cached." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:81 +#: en/git-diff.txt:51 #, no-wrap -msgid "imap.port" +msgid "'git diff' [--options] <commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:85 +#: en/git-diff.txt:58 msgid "" -"An integer port number to connect to on the server. Defaults to 143 for " -"imap:// hosts and 993 for imaps:// hosts. Ignored when imap.tunnel is set." +"This form is to view the changes you have in your working tree relative to " +"the named <commit>. You can use HEAD to compare it with the latest commit, " +"or a branch name to compare with the tip of a different branch." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:86 +#: en/git-diff.txt:59 #, no-wrap -msgid "imap.sslverify" +msgid "'git diff' [--options] <commit> <commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:90 -msgid "" -"A boolean to enable/disable verification of the server certificate used by " -"the SSL/TLS connection. Default is `true`. Ignored when imap.tunnel is set." +#: en/git-diff.txt:63 +msgid "This is to view the changes between two arbitrary <commit>." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:91 +#: en/git-diff.txt:64 #, no-wrap -msgid "imap.preformattedHTML" +msgid "'git diff' [--options] <commit>..<commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:97 +#: en/git-diff.txt:69 msgid "" -"A boolean to enable/disable the use of html encoding when sending a patch. " -"An html encoded patch will be bracketed with <pre> and have a content type " -"of text/html. Ironically, enabling this option causes Thunderbird to send " -"the patch as a plain/text, format=fixed email. Default is `false`." +"This is synonymous to the previous form. If <commit> on one side is " +"omitted, it will have the same effect as using HEAD instead." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:98 +#: en/git-diff.txt:70 #, no-wrap -msgid "imap.authMethod" +msgid "'git diff' [--options] <commit>\\...<commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:104 +#: en/git-diff.txt:77 msgid "" -"Specify authenticate method for authentication with IMAP server. If Git was " -"built with the NO_CURL option, or if your curl version is older than 7.34.0, " -"or if you're running git-imap-send with the `--no-curl` option, the only " -"supported method is 'CRAM-MD5'. If this is not set then 'git imap-send' uses " -"the basic IMAP plaintext LOGIN command." +"This form is to view the changes on the branch containing and up to the " +"second <commit>, starting at a common ancestor of both <commit>. \"git diff " +"A\\...B\" is equivalent to \"git diff $(git-merge-base A B) B\". You can " +"omit any one of <commit>, which has the same effect as using HEAD instead." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:109 -msgid "Using tunnel mode:" -msgstr "" - -#. type: delimited block . -#: en/git-imap-send.txt:114 -#, no-wrap +#: en/git-diff.txt:82 msgid "" -"[imap]\n" -" folder = \"INBOX.Drafts\"\n" -" tunnel = \"ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null\"\n" +"Just in case if you are doing something exotic, it should be noted that all " +"of the <commit> in the above description, except in the last two forms that " +"use \"..\" notations, can be any <tree>." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:117 -msgid "Using direct mode:" +#: en/git-diff.txt:89 +msgid "" +"For a more complete list of ways to spell <commit>, see \"SPECIFYING " +"REVISIONS\" section in linkgit:gitrevisions[7]. However, \"diff\" is about " +"comparing two _endpoints_, not ranges, and the range notations (\"<commit>.." +"<commit>\" and \"<commit>\\...<commit>\") do not mean a range as defined in " +"the \"SPECIFYING RANGES\" section in linkgit:gitrevisions[7]." msgstr "" -#. type: delimited block . -#: en/git-imap-send.txt:124 +#. type: Labeled list +#: en/git-diff.txt:90 #, no-wrap -msgid "" -"[imap]\n" -" folder = \"INBOX.Drafts\"\n" -" host = imap://imap.example.com\n" -" user = bob\n" -" pass = p4ssw0rd\n" +msgid "'git diff' [options] <blob> <blob>" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:127 -msgid "Using direct mode with SSL:" -msgstr "" - -#. type: delimited block . -#: en/git-imap-send.txt:136 -#, no-wrap +#: en/git-diff.txt:94 msgid "" -"[imap]\n" -" folder = \"INBOX.Drafts\"\n" -" host = imaps://imap.example.com\n" -" user = bob\n" -" pass = p4ssw0rd\n" -" port = 123\n" -" sslverify = false\n" +"This form is to view the differences between the raw contents of two blob " +"objects." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:143 +#: en/git-diff.txt:104 msgid "" -"To submit patches using GMail's IMAP interface, first, edit your ~/." -"gitconfig to specify your account settings:" +"The <paths> parameters, when given, are used to limit the diff to the named " +"paths (you can give directory names and get diff for all files under them)." msgstr "" -#. type: delimited block - -#: en/git-imap-send.txt:151 +#. type: Labeled list +#: en/git-diff.txt:111 #, no-wrap -msgid "" -"[imap]\n" -"\tfolder = \"[Gmail]/Drafts\"\n" -"\thost = imaps://imap.gmail.com\n" -"\tuser = user@gmail.com\n" -"\tport = 993\n" -"\tsslverify = false\n" +msgid "Various ways to check your working tree" msgstr "" -#. type: Plain text -#: en/git-imap-send.txt:155 +#. type: delimited block - +#: en/git-diff.txt:117 +#, no-wrap msgid "" -"You might need to instead use: folder = \"[Google Mail]/Drafts\" if you get " -"an error that the \"Folder doesn't exist\"." +"$ git diff <1>\n" +"$ git diff --cached <2>\n" +"$ git diff HEAD <3>\n" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:157 -msgid "Once the commits are ready to be sent, run the following command:" +#: en/git-diff.txt:120 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Changes in the working tree not yet staged for the next commit." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-imap-send.txt:159 -#, no-wrap -msgid " $ git format-patch --cover-letter -M --stdout origin/master | git imap-send\n" +#: en/git-diff.txt:122 +msgid "" +"Changes between the index and your last commit; what you would be committing " +"if you run \"git commit\" without \"-a\" option." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:163 +#: en/git-diff.txt:124 msgid "" -"Just make sure to disable line wrapping in the email client (GMail's web " -"interface will wrap lines no matter what, so you need to use a real IMAP " -"client)." +"Changes in the working tree since your last commit; what you would be " +"committing if you run \"git commit -a\"" msgstr "" -#. type: Title - -#: en/git-imap-send.txt:165 +#. type: Labeled list +#: en/git-diff.txt:125 #, no-wrap -msgid "CAUTION" +msgid "Comparing with arbitrary commits" msgstr "" -#. type: Plain text -#: en/git-imap-send.txt:172 +#. type: delimited block - +#: en/git-diff.txt:131 +#, no-wrap msgid "" -"It is still your responsibility to make sure that the email message sent by " -"your email program meets the standards of your project. Many projects do " -"not like patches to be attached. Some mail agents will transform patches (e." -"g. wrap lines, send them as format=flowed) in ways that make them fail. You " -"will get angry flames ridiculing you if you don't check this." +"$ git diff test <1>\n" +"$ git diff HEAD -- ./test <2>\n" +"$ git diff HEAD^ HEAD <3>\n" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:176 -#, no-wrap +#: en/git-diff.txt:135 msgid "" -"Thunderbird in particular is known to be problematic. Thunderbird\n" -"users may wish to visit this web page for more information:\n" -" http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email\n" +"Instead of using the tip of the current branch, compare with the tip of " +"\"test\" branch." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:180 -msgid "linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)" -msgstr "" - -#. type: Title = -#: en/git-index-pack.txt:2 -#, no-wrap -msgid "git-index-pack(1)" +#: en/git-diff.txt:138 +msgid "" +"Instead of comparing with the tip of \"test\" branch, compare with the tip " +"of the current branch, but limit the comparison to the file \"test\"." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:7 -msgid "git-index-pack - Build pack index file for an existing packed archive" +#: en/git-diff.txt:139 +msgid "Compare the version before the last commit and the last commit." msgstr "" -#. type: Plain text -#: en/git-index-pack.txt:15 +#. type: Labeled list +#: en/git-diff.txt:140 #, no-wrap -msgid "" -"'git index-pack' [-v] [-o <index-file>] <pack-file>\n" -"'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]\n" -" [<pack-file>]\n" +msgid "Comparing branches" msgstr "" -#. type: Plain text -#: en/git-index-pack.txt:23 +#. type: delimited block - +#: en/git-diff.txt:146 +#, no-wrap msgid "" -"Reads a packed archive (.pack) from the specified file, and builds a pack " -"index file (.idx) for it. The packed archive together with the pack index " -"can then be placed in the objects/pack/ directory of a Git repository." +"$ git diff topic master <1>\n" +"$ git diff topic..master <2>\n" +"$ git diff topic...master <3>\n" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:29 -msgid "Be verbose about what is going on, including progress status." -msgstr "" - -#. type: Labeled list -#: en/git-index-pack.txt:30 -#, no-wrap -msgid "-o <index-file>" +#: en/git-diff.txt:149 +msgid "Changes between the tips of the topic and the master branches." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:37 -msgid "" -"Write the generated pack index into the specified file. Without this option " -"the name of pack index file is constructed from the name of packed archive " -"file by replacing .pack with .idx (and the program fails if the name of " -"packed archive does not end with .pack)." +#: en/git-diff.txt:150 en/git-remote-fd.txt:44 en/git-remote-fd.txt:52 +#: en/git-web--browse.txt:52 +msgid "Same as above." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:47 +#: en/git-diff.txt:152 msgid "" -"When this flag is provided, the pack is read from stdin instead and a copy " -"is then written to <pack-file>. If <pack-file> is not specified, the pack is " -"written to objects/pack/ directory of the current Git repository with a " -"default name determined from the pack content. If <pack-file> is not " -"specified consider using --keep to prevent a race condition between this " -"process and 'git repack'." +"Changes that occurred on the master branch since when the topic branch was " +"started off it." msgstr "" #. type: Labeled list -#: en/git-index-pack.txt:48 +#: en/git-diff.txt:153 #, no-wrap -msgid "--fix-thin" +msgid "Limiting the diff output" msgstr "" -#. type: Plain text -#: en/git-index-pack.txt:53 +#. type: delimited block - +#: en/git-diff.txt:159 +#, no-wrap msgid "" -"Fix a \"thin\" pack produced by `git pack-objects --thin` (see linkgit:git-" -"pack-objects[1] for details) by adding the excluded objects the deltified " -"objects are based on to the pack. This option only makes sense in " -"conjunction with --stdin." +"$ git diff --diff-filter=MRC <1>\n" +"$ git diff --name-status <2>\n" +"$ git diff arch/i386 include/asm-i386 <3>\n" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:61 -msgid "" -"Before moving the index into its final destination create an empty .keep " -"file for the associated pack file. This option is usually necessary with --" -"stdin to prevent a simultaneous 'git repack' process from deleting the newly " -"constructed pack and index before refs can be updated to use objects " -"contained in the pack." +#: en/git-diff.txt:163 +msgid "Show only modification, rename, and copy, but not addition or deletion." msgstr "" -#. type: Labeled list -#: en/git-index-pack.txt:62 -#, no-wrap -msgid "--keep=<msg>" +#. type: Plain text +#: en/git-diff.txt:165 +msgid "Show only names and the nature of change, but not actual diff output." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:68 -msgid "" -"Like --keep create a .keep file before moving the index into its final " -"destination, but rather than creating an empty file place '<msg>' followed " -"by an LF into the .keep file. The '<msg>' message can later be searched for " -"within all .keep files to locate any which have outlived their usefulness." +#: en/git-diff.txt:166 +msgid "Limit diff output to named subtrees." msgstr "" #. type: Labeled list -#: en/git-index-pack.txt:69 en/git-pack-objects.txt:225 +#: en/git-diff.txt:167 #, no-wrap -msgid "--index-version=<version>[,<offset>]" +msgid "Munging the diff output" msgstr "" -#. type: Plain text -#: en/git-index-pack.txt:73 en/git-pack-objects.txt:229 +#. type: delimited block - +#: en/git-diff.txt:172 +#, no-wrap msgid "" -"This is intended to be used by the test suite only. It allows to force the " -"version for the generated pack index, and to force 64-bit index entries on " -"objects located above the given offset." +"$ git diff --find-copies-harder -B -C <1>\n" +"$ git diff -R <2>\n" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:76 -msgid "Die, if the pack contains broken objects or links." +#: en/git-diff.txt:176 +msgid "" +"Spend extra cycles to find renames, copies and complete rewrites (very " +"expensive)." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:79 -msgid "Die if the pack contains broken links. For internal use only." -msgstr "" - -#. type: Labeled list -#: en/git-index-pack.txt:80 en/git-pack-objects.txt:215 -#, no-wrap -msgid "--threads=<n>" +#: en/git-diff.txt:177 +msgid "Output diff in reverse." msgstr "" +# #. type: Plain text -#: en/git-index-pack.txt:89 +#: en/git-diff.txt:186 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"Specifies the number of threads to spawn when resolving deltas. This " -"requires that index-pack be compiled with pthreads otherwise this option is " -"ignored with a warning. This is meant to reduce packing time on " -"multiprocessor machines. The required amount of memory for the delta search " -"window is however multiplied by the number of threads. Specifying 0 will " -"cause Git to auto-detect the number of CPU's and use maximum 3 threads." +"diff(1), linkgit:git-difftool[1], linkgit:git-log[1], linkgit:" +"gitdiffcore[7], linkgit:git-format-patch[1], linkgit:git-apply[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/git-index-pack.txt:90 en/git-unpack-objects.txt:47 +#. type: Title = +#: en/git-fast-export.txt:2 #, no-wrap -msgid "--max-input-size=<size>" +msgid "git-fast-export(1)" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:92 en/git-unpack-objects.txt:49 -msgid "Die, if the pack is larger than <size>." +#: en/git-fast-export.txt:7 +msgid "git-fast-export - Git data exporter" msgstr "" -#. type: Title - -#: en/git-index-pack.txt:94 +#. type: Plain text +#: en/git-fast-export.txt:13 #, no-wrap -msgid "Note" +msgid "'git fast-export [options]' | 'git fast-import'\n" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:100 +#: en/git-fast-export.txt:18 msgid "" -"Once the index has been created, the list of object names is sorted and the " -"SHA-1 hash of that list is printed to stdout. If --stdin was also used then " -"this is prefixed by either \"pack\\t\", or \"keep\\t\" if a new .keep file " -"was successfully created. This is useful to remove a" -msgstr "" - -#. type: Block title -#: en/git-index-pack.txt:100 -#, no-wrap -msgid "keep file used as a lock to prevent the race with 'git repack'" +"This program dumps the given revisions in a form suitable to be piped into " +"'git fast-import'." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:102 -msgid "mentioned above." +#: en/git-fast-export.txt:22 +msgid "" +"You can use it as a human-readable bundle replacement (see linkgit:git-" +"bundle[1]), or as a kind of an interactive 'git filter-branch'." msgstr "" -#. type: Title = -#: en/git-init-db.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-init-db(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-fast-export.txt:26 +#, no-wrap +msgid "--progress=<n>" +msgstr "" #. type: Plain text -#: en/git-init-db.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-init-db - Creates an empty Git repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-fast-export.txt:29 +msgid "" +"Insert 'progress' statements every <n> objects, to be shown by 'git fast-" +"import' during import." +msgstr "" -#. type: Plain text -#: en/git-init-db.txt:13 +#. type: Labeled list +#: en/git-fast-export.txt:30 #, no-wrap -msgid "'git init-db' [-q | --quiet] [--bare] [--template=<template_directory>] [--separate-git-dir <git dir>] [--shared[=<permissions>]]\n" +msgid "--signed-tags=(verbatim|warn|warn-strip|strip|abort)" msgstr "" #. type: Plain text -#: en/git-init-db.txt:20 -#, fuzzy -#| msgid "" -#| "This is a synonym for linkgit:git-fsck[1]. Please refer to the " -#| "documentation of that command." +#: en/git-fast-export.txt:34 msgid "" -"This is a synonym for linkgit:git-init[1]. Please refer to the " -"documentation of that command." +"Specify how to handle signed tags. Since any transformation after the " +"export can change the tag names (which can also happen when excluding " +"revisions) the signatures will not match." msgstr "" -"Ceci est un synonyme pour linkgit:git-fsck[1]. Veuillez vous r챕f챕rer 횪 la " -"documentation de cette commande." - -#. type: Title = -#: en/git-init.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-init(1)" -msgstr "git-commit(1)" #. type: Plain text -#: en/git-init.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" +#: en/git-fast-export.txt:41 msgid "" -"git-init - Create an empty Git repository or reinitialize an existing one" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +"When asking to 'abort' (which is the default), this program will die when " +"encountering a signed tag. With 'strip', the tags will silently be made " +"unsigned, with 'warn-strip' they will be made unsigned but a warning will be " +"displayed, with 'verbatim', they will be silently exported and with 'warn', " +"they will be exported, but you will see a warning." +msgstr "" -#. type: Plain text -#: en/git-init.txt:15 +#. type: Labeled list +#: en/git-fast-export.txt:42 #, no-wrap -msgid "" -"'git init' [-q | --quiet] [--bare] [--template=<template_directory>]\n" -"\t [--separate-git-dir <git dir>]\n" -"\t [--shared[=<permissions>]] [directory]\n" +msgid "--tag-of-filtered-object=(abort|drop|rewrite)" msgstr "" #. type: Plain text -#: en/git-init.txt:24 +#: en/git-fast-export.txt:46 msgid "" -"This command creates an empty Git repository - basically a `.git` directory " -"with subdirectories for `objects`, `refs/heads`, `refs/tags`, and template " -"files. An initial `HEAD` file that references the HEAD of the master branch " -"is also created." +"Specify how to handle tags whose tagged object is filtered out. Since " +"revisions and files to export can be limited by path, tagged objects may be " +"filtered completely." msgstr "" #. type: Plain text -#: en/git-init.txt:27 +#: en/git-fast-export.txt:52 msgid "" -"If the `$GIT_DIR` environment variable is set then it specifies a path to " -"use instead of `./.git` for the base of the repository." +"When asking to 'abort' (which is the default), this program will die when " +"encountering such a tag. With 'drop' it will omit such tags from the " +"output. With 'rewrite', if the tagged object is a commit, it will rewrite " +"the tag to tag an ancestor commit (via parent rewriting; see linkgit:git-rev-" +"list[1])" msgstr "" -#. type: Plain text -#: en/git-init.txt:32 -msgid "" -"If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` " -"environment variable then the sha1 directories are created underneath - " -"otherwise the default `$GIT_DIR/objects` directory is used." +#. type: Labeled list +#: en/git-fast-export.txt:54 +#, no-wrap +msgid "-C" msgstr "" #. type: Plain text -#: en/git-init.txt:37 +#: en/git-fast-export.txt:58 msgid "" -"Running 'git init' in an existing repository is safe. It will not overwrite " -"things that are already there. The primary reason for rerunning 'git init' " -"is to pick up newly added templates (or to move the repository to another " -"place if --separate-git-dir is given)." +"Perform move and/or copy detection, as described in the linkgit:git-diff[1] " +"manual page, and use it to generate rename and copy commands in the output " +"dump." msgstr "" #. type: Plain text -#: en/git-init.txt:47 +#: en/git-fast-export.txt:61 msgid "" -"Only print error and warning messages; all other output will be suppressed." +"Note that earlier versions of this command did not complain and produced " +"incorrect results if you gave these options." msgstr "" -#. type: Plain text -#: en/git-init.txt:52 -msgid "" -"Create a bare repository. If `GIT_DIR` environment is not set, it is set to " -"the current working directory." +#. type: Labeled list +#: en/git-fast-export.txt:62 en/git-fast-import.txt:77 +#, no-wrap +msgid "--export-marks=<file>" msgstr "" #. type: Plain text -#: en/git-init.txt:57 +#: en/git-fast-export.txt:73 msgid "" -"Specify the directory from which templates will be used. (See the " -"\"TEMPLATE DIRECTORY\" section below.)" +"Dumps the internal marks table to <file> when complete. Marks are written " +"one per line as `:markid SHA-1`. Only marks for revisions are dumped; marks " +"for blobs are ignored. Backends can use this file to validate imports after " +"they have been completed, or to save the marks table across incremental " +"runs. As <file> is only opened and truncated at completion, the same path " +"can also be safely given to --import-marks. The file will not be written if " +"no new object has been marked/exported." +msgstr "" + +#. type: Labeled list +#: en/git-fast-export.txt:74 en/git-fast-import.txt:86 +#, no-wrap +msgid "--import-marks=<file>" msgstr "" #. type: Plain text -#: en/git-init.txt:64 +#: en/git-fast-export.txt:78 msgid "" -"Instead of initializing the repository as a directory to either `$GIT_DIR` " -"or `./.git/`, create a text file there containing the path to the actual " -"repository. This file acts as filesystem-agnostic Git symbolic link to the " -"repository." +"Before processing any input, load the marks specified in <file>. The input " +"file must exist, must be readable, and must use the same format as produced " +"by --export-marks." msgstr "" #. type: Plain text -#: en/git-init.txt:66 +#: en/git-fast-export.txt:83 msgid "" -"If this is reinitialization, the repository will be moved to the specified " -"path." +"Any commits that have already been marked will not be exported again. If " +"the backend uses a similar --import-marks file, this allows for incremental " +"bidirectional exporting of the repository by keeping the marks the same " +"across runs." msgstr "" #. type: Labeled list -#: en/git-init.txt:67 +#: en/git-fast-export.txt:84 #, no-wrap -msgid "--shared[=(false|true|umask|group|all|world|everybody|0xxx)]" +msgid "--fake-missing-tagger" msgstr "" #. type: Plain text -#: en/git-init.txt:75 +#: en/git-fast-export.txt:89 msgid "" -"Specify that the Git repository is to be shared amongst several users. This " -"allows users belonging to the same group to push into that repository. When " -"specified, the config variable \"core.sharedRepository\" is set so that " -"files and directories under `$GIT_DIR` are created with the requested " -"permissions. When not specified, Git will use permissions reported by " -"umask(2)." +"Some old repositories have tags without a tagger. The fast-import protocol " +"was pretty strict about that, and did not allow that. So fake a tagger to " +"be able to fast-import the output." +msgstr "" + +#. type: Labeled list +#: en/git-fast-export.txt:90 +#, no-wrap +msgid "--use-done-feature" msgstr "" #. type: Plain text -#: en/git-init.txt:78 +#: en/git-fast-export.txt:93 msgid "" -"The option can have the following values, defaulting to 'group' if no value " -"is given:" +"Start the stream with a 'feature done' stanza, and terminate it with a " +"'done' command." msgstr "" #. type: Labeled list -#: en/git-init.txt:80 +#: en/git-fast-export.txt:94 #, no-wrap -msgid "'umask' (or 'false')" +msgid "--no-data" msgstr "" #. type: Plain text -#: en/git-init.txt:84 +#: en/git-fast-export.txt:101 msgid "" -"Use permissions reported by umask(2). The default, when `--shared` is not " -"specified." +"Skip output of blob objects and instead refer to blobs via their original " +"SHA-1 hash. This is useful when rewriting the directory structure or " +"history of a repository without touching the contents of individual files. " +"Note that the resulting stream can only be used by a repository which " +"already contains the necessary objects." msgstr "" #. type: Labeled list -#: en/git-init.txt:85 +#: en/git-fast-export.txt:102 en/git-ls-tree.txt:72 #, no-wrap -msgid "'group' (or 'true')" +msgid "--full-tree" msgstr "" #. type: Plain text -#: en/git-init.txt:93 +#: en/git-fast-export.txt:107 msgid "" -"Make the repository group-writable, (and g+sx, since the git group may be " -"not the primary group of all users). This is used to loosen the permissions " -"of an otherwise safe umask(2) value. Note that the umask still applies to " -"the other permission bits (e.g. if umask is '0022', using 'group' will not " -"remove read privileges from other (non-group) users). See '0xxx' for how to " -"exactly specify the repository permissions." +"This option will cause fast-export to issue a \"deleteall\" directive for " +"each commit followed by a full list of all files in the commit (as opposed " +"to just listing the files which are different from the commit's first " +"parent)." msgstr "" #. type: Labeled list -#: en/git-init.txt:94 +#: en/git-fast-export.txt:108 #, no-wrap -msgid "'all' (or 'world' or 'everybody')" +msgid "--anonymize" msgstr "" #. type: Plain text -#: en/git-init.txt:97 -msgid "Same as 'group', but make the repository readable by all users." +#: en/git-fast-export.txt:112 +msgid "" +"Anonymize the contents of the repository while still retaining the shape of " +"the history and stored tree. See the section on `ANONYMIZING` below." msgstr "" #. type: Labeled list -#: en/git-init.txt:98 +#: en/git-fast-export.txt:113 #, no-wrap -msgid "'0xxx'" +msgid "--refspec" msgstr "" #. type: Plain text -#: en/git-init.txt:105 +#: en/git-fast-export.txt:116 msgid "" -"'0xxx' is an octal number and each file will have mode '0xxx'. '0xxx' will " -"override users' umask(2) value (and not only loosen permissions as 'group' " -"and 'all' does). '0640' will create a repository which is group-readable, " -"but not group-writable or accessible to others. '0660' will create a repo " -"that is readable and writable to the current user and group, but " -"inaccessible to others." +"Apply the specified refspec to each ref exported. Multiple of them can be " +"specified." msgstr "" #. type: Plain text -#: en/git-init.txt:110 +#: en/git-fast-export.txt:123 +#, no-wrap msgid "" -"By default, the configuration flag `receive.denyNonFastForwards` is enabled " -"in shared repositories, so that you cannot force a non fast-forwarding push " -"into it." +"[<git-rev-list-args>...]::\n" +"\tA list of arguments, acceptable to 'git rev-parse' and\n" +"\t'git rev-list', that specifies the specific objects and references\n" +"\tto export. For example, `master~10..master` causes the\n" +"\tcurrent master reference to be exported along with all objects\n" +"\tadded since its 10th ancestor commit.\n" +msgstr "" + +#. type: delimited block - +#: en/git-fast-export.txt:129 +#, no-wrap +msgid "$ git fast-export --all | (cd /empty/repository && git fast-import)\n" msgstr "" #. type: Plain text -#: en/git-init.txt:113 +#: en/git-fast-export.txt:134 msgid "" -"If you provide a 'directory', the command is run inside it. If this " -"directory does not exist, it will be created." +"This will export the whole repository and import it into the existing empty " +"repository. Except for reencoding commits that are not in UTF-8, it would " +"be a one-to-one mirror." msgstr "" -#. type: Title - -#: en/git-init.txt:117 +#. type: delimited block - +#: en/git-fast-export.txt:139 #, no-wrap -msgid "TEMPLATE DIRECTORY" +msgid "" +"$ git fast-export master~5..master |\n" +"\tsed \"s|refs/heads/master|refs/heads/other|\" |\n" +"\tgit fast-import\n" msgstr "" #. type: Plain text -#: en/git-init.txt:121 +#: en/git-fast-export.txt:143 msgid "" -"Files and directories in the template directory whose name do not start with " -"a dot will be copied to the `$GIT_DIR` after it is created." +"This makes a new branch called 'other' from 'master~5..master' (i.e. if " +"'master' has linear history, it will take the last 5 commits)." msgstr "" #. type: Plain text -#: en/git-init.txt:123 -msgid "The template directory will be one of the following (in order):" +#: en/git-fast-export.txt:147 +msgid "" +"Note that this assumes that none of the blobs and commit messages referenced " +"by that revision range contains the string 'refs/heads/master'." msgstr "" -#. type: Plain text -#: en/git-init.txt:125 -msgid "the argument given with the `--template` option;" +#. type: Title - +#: en/git-fast-export.txt:150 +#, no-wrap +msgid "ANONYMIZING" msgstr "" #. type: Plain text -#: en/git-init.txt:127 -msgid "the contents of the `$GIT_TEMPLATE_DIR` environment variable;" +#: en/git-fast-export.txt:158 +msgid "" +"If the `--anonymize` option is given, git will attempt to remove all " +"identifying information from the repository while still retaining enough of " +"the original tree and history patterns to reproduce some bugs. The goal is " +"that a git bug which is found on a private repository will persist in the " +"anonymized repository, and the latter can be shared with git developers to " +"help solve the bug." msgstr "" #. type: Plain text -#: en/git-init.txt:129 -msgid "the `init.templateDir` configuration variable; or" +#: en/git-fast-export.txt:170 +msgid "" +"With this option, git will replace all refnames, paths, blob contents, " +"commit and tag messages, names, and email addresses in the output with " +"anonymized data. Two instances of the same string will be replaced " +"equivalently (e.g., two commits with the same author will have the same " +"anonymized author in the output, but bear no resemblance to the original " +"author string). The relationship between commits, branches, and tags is " +"retained, as well as the commit timestamps (but the commit messages and " +"refnames bear no resemblance to the originals). The relative makeup of the " +"tree is retained (e.g., if you have a root tree with 10 files and 3 trees, " +"so will the output), but their names and the contents of the files will be " +"replaced." msgstr "" #. type: Plain text -#: en/git-init.txt:131 -msgid "the default template directory: `/usr/share/git-core/templates`." +#: en/git-fast-export.txt:173 +msgid "" +"If you think you have found a git bug, you can start by exporting an " +"anonymized stream of the whole repository:" +msgstr "" + +#. type: delimited block - +#: en/git-fast-export.txt:176 +#, no-wrap +msgid "$ git fast-export --anonymize --all >anon-stream\n" msgstr "" #. type: Plain text -#: en/git-init.txt:134 +#: en/git-fast-export.txt:181 msgid "" -"The default template directory includes some directory structure, suggested " -"\"exclude patterns\" (see linkgit:gitignore[5]), and sample hook files." +"Then confirm that the bug persists in a repository created from that stream " +"(many bugs will not, as they really do depend on the exact repository " +"contents):" +msgstr "" + +#. type: delimited block - +#: en/git-fast-export.txt:187 +#, no-wrap +msgid "" +"$ git init anon-repo\n" +"$ cd anon-repo\n" +"$ git fast-import <../anon-stream\n" +"$ ... test your bug ...\n" msgstr "" #. type: Plain text -#: en/git-init.txt:137 +#: en/git-fast-export.txt:194 msgid "" -"The sample hooks are all disabled by default, To enable one of the sample " -"hooks rename it by removing its `.sample` suffix." +"If the anonymized repository shows the bug, it may be worth sharing `anon-" +"stream` along with a regular bug report. Note that the anonymized stream " +"compresses very well, so gzipping it is encouraged. If you want to examine " +"the stream to see that it does not contain any private data, you can peruse " +"it directly before sending. You may also want to try:" +msgstr "" + +#. type: delimited block - +#: en/git-fast-export.txt:197 +#, no-wrap +msgid "$ perl -pe 's/\\d+/X/g' <anon-stream | sort -u | less\n" msgstr "" #. type: Plain text -#: en/git-init.txt:139 -msgid "See linkgit:githooks[5] for more general info on hook execution." +#: en/git-fast-export.txt:203 +msgid "" +"which shows all of the unique lines (with numbers converted to \"X\", to " +"collapse \"User 0\", \"User 1\", etc into \"User X\"). This produces a much " +"smaller output, and it is usually easy to quickly confirm that there is no " +"private data in the stream." msgstr "" -#. type: Labeled list -#: en/git-init.txt:143 +#. type: Title - +#: en/git-fast-export.txt:206 #, no-wrap -msgid "Start a new Git repository for an existing code base" +msgid "Limitations" +msgstr "" + +#. type: Plain text +#: en/git-fast-export.txt:211 +msgid "" +"Since 'git fast-import' cannot tag trees, you will not be able to export the " +"linux.git repository completely, as it contains a tag referencing a tree " +"instead of a commit." msgstr "" -#. type: delimited block - -#: en/git-init.txt:150 +#. type: Title = +#: en/git-fast-import.txt:2 #, no-wrap -msgid "" -"$ cd /path/to/my/codebase\n" -"$ git init <1>\n" -"$ git add . <2>\n" -"$ git commit <3>\n" +msgid "git-fast-import(1)" msgstr "" #. type: Plain text -#: en/git-init.txt:153 -msgid "Create a /path/to/my/codebase/.git directory." +#: en/git-fast-import.txt:7 +msgid "git-fast-import - Backend for fast Git data importers" msgstr "" -# #. type: Plain text -#: en/git-init.txt:154 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Add all existing files to the index." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-fast-import.txt:13 +#, no-wrap +msgid "frontend | 'git fast-import' [options]\n" +msgstr "" #. type: Plain text -#: en/git-init.txt:155 -msgid "Record the pristine state as the first commit in the history." +#: en/git-fast-import.txt:20 +msgid "" +"This program is usually not what the end user wants to run directly. Most " +"end users want to use one of the existing frontend programs, which parses a " +"specific type of foreign source and feeds the contents stored there to 'git " +"fast-import'." msgstr "" -#. type: Title = -#: en/git-instaweb.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-instaweb(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-instaweb.txt:7 -msgid "git-instaweb - Instantly browse your working repository in gitweb" +#: en/git-fast-import.txt:26 +msgid "" +"fast-import reads a mixed command/data stream from standard input and writes " +"one or more packfiles directly into the current repository. When EOF is " +"received on standard input, fast import writes out updated branch and tag " +"refs, fully updating the current repository with the newly imported data." msgstr "" #. type: Plain text -#: en/git-instaweb.txt:14 -#, no-wrap +#: en/git-fast-import.txt:32 msgid "" -"'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]\n" -" [--browser=<browser>]\n" -"'git instaweb' [--start] [--stop] [--restart]\n" +"The fast-import backend itself can import into an empty repository (one that " +"has already been initialized by 'git init') or incrementally update an " +"existing populated repository. Whether or not incremental imports are " +"supported from a particular foreign source depends on the frontend program " +"in use." msgstr "" #. type: Plain text -#: en/git-instaweb.txt:19 +#: en/git-fast-import.txt:41 msgid "" -"A simple script to set up `gitweb` and a web server for browsing the local " -"repository." +"Force updating modified existing branches, even if doing so would cause " +"commits to be lost (as the new commit does not contain the old commit)." msgstr "" #. type: Plain text -#: en/git-instaweb.txt:26 -msgid "Only bind the web server to the local IP (127.0.0.1)." +#: en/git-fast-import.txt:46 +msgid "" +"Disable all non-fatal output, making fast-import silent when it is " +"successful. This option disables the output shown by --stats." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:28 -#, no-wrap -msgid "--httpd" -msgstr "" +#: en/git-fast-import.txt:47 +#, fuzzy, no-wrap +#| msgid "status" +msgid "--stats" +msgstr "status" #. type: Plain text -#: en/git-instaweb.txt:34 +#: en/git-fast-import.txt:52 msgid "" -"The HTTP daemon command-line that will be executed. Command-line options " -"may be specified here, and the configuration file will be added at the end " -"of the command-line. Currently apache2, lighttpd, mongoose, plackup and " -"webrick are supported. (Default: lighttpd)" +"Display some basic statistics about the objects fast-import has created, the " +"packfiles they were stored into, and the memory used by fast-import during " +"this run. Showing this output is currently the default, but can be disabled " +"with --quiet." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:54 +#, no-wrap +msgid "Options for Frontends" msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:36 +#: en/git-fast-import.txt:56 #, no-wrap -msgid "--module-path" +msgid "--cat-blob-fd=<fd>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:39 +#: en/git-fast-import.txt:61 msgid "" -"The module path (only needed if httpd is Apache). (Default: /usr/lib/" -"apache2/modules)" +"Write responses to `get-mark`, `cat-blob`, and `ls` queries to the file " +"descriptor <fd> instead of `stdout`. Allows `progress` output intended for " +"the end-user to be separated from other output." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:41 +#: en/git-fast-import.txt:62 #, no-wrap -msgid "--port" +msgid "--date-format=<fmt>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:43 -msgid "The port number to bind the httpd to. (Default: 1234)" +#: en/git-fast-import.txt:67 +msgid "" +"Specify the type of dates the frontend will supply to fast-import within " +"`author`, `committer` and `tagger` commands. See ``Date Formats'' below for " +"details about which formats are supported, and their syntax." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:44 en/git-mailinfo.txt:47 en/git-mailsplit.txt:35 -#: en/git-repack.txt:116 en/git-status.txt:31 en/git-submodule.txt:279 -#: en/blame-options.txt:1 en/diff-options.txt:525 +#: en/git-fast-import.txt:68 #, no-wrap -msgid "-b" +msgid "--done" msgstr "" -#. type: Labeled list -#: en/git-instaweb.txt:45 +#. type: Plain text +#: en/git-fast-import.txt:73 +msgid "" +"Terminate with error if there is no `done` command at the end of the " +"stream. This option might be useful for detecting errors that cause the " +"frontend to terminate before it has started to write a stream." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:75 #, no-wrap -msgid "--browser" +msgid "Locations of Marks Files" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:51 +#: en/git-fast-import.txt:85 msgid "" -"The web browser that should be used to view the gitweb page. This will be " -"passed to the 'git web{litdd}browse' helper script along with the URL of the " -"gitweb instance. See linkgit:git-web{litdd}browse[1] for more information " -"about this. If the script fails, the URL will be printed to stdout." +"Dumps the internal marks table to <file> when complete. Marks are written " +"one per line as `:markid SHA-1`. Frontends can use this file to validate " +"imports after they have been completed, or to save the marks table across " +"incremental runs. As <file> is only opened and truncated at checkpoint (or " +"completion) the same path can also be safely given to --import-marks." msgstr "" -#. type: Labeled list -#: en/git-instaweb.txt:52 -#, no-wrap -msgid "start" +#. type: Plain text +#: en/git-fast-import.txt:93 +msgid "" +"Before processing any input, load the marks specified in <file>. The input " +"file must exist, must be readable, and must use the same format as produced " +"by --export-marks. Multiple options may be supplied to import more than one " +"set of marks. If a mark is defined to different values, the last file wins." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:53 +#: en/git-fast-import.txt:94 #, no-wrap -msgid "--start" +msgid "--import-marks-if-exists=<file>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:56 +#: en/git-fast-import.txt:97 msgid "" -"Start the httpd instance and exit. Regenerate configuration files as " -"necessary for spawning a new instance." +"Like --import-marks but instead of erroring out, silently skips the file if " +"it does not exist." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:57 +#: en/git-fast-import.txt:98 #, no-wrap -msgid "stop" +msgid "--[no-]relative-marks" msgstr "" -#. type: Labeled list -#: en/git-instaweb.txt:58 -#, no-wrap -msgid "--stop" +#. type: Plain text +#: en/git-fast-import.txt:105 +msgid "" +"After specifying --relative-marks the paths specified with --import-marks= " +"and --export-marks= are relative to an internal directory in the current " +"repository. In git-fast-import this means that the paths are relative to " +"the .git/info/fast-import directory. However, other importers may use a " +"different location." msgstr "" #. type: Plain text -#: en/git-instaweb.txt:62 +#: en/git-fast-import.txt:108 msgid "" -"Stop the httpd instance and exit. This does not generate any of the " -"configuration files for spawning a new instance, nor does it close the " -"browser." +"Relative and non-relative marks may be combined by interweaving --(no-)-" +"relative-marks with the --(import|export)-marks= options." msgstr "" -#. type: Labeled list -#: en/git-instaweb.txt:63 +#. type: Title ~ +#: en/git-fast-import.txt:110 #, no-wrap -msgid "restart" +msgid "Performance and Compression Tuning" msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:64 +#: en/git-fast-import.txt:112 #, no-wrap -msgid "--restart" +msgid "--active-branches=<n>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:67 +#: en/git-fast-import.txt:115 msgid "" -"Restart the httpd instance and exit. Regenerate configuration files as " -"necessary for spawning a new instance." -msgstr "" - -#. type: Plain text -#: en/git-instaweb.txt:72 -msgid "You may specify configuration in your .git/config" +"Maximum number of branches to maintain active at once. See ``Memory " +"Utilization'' below for details. Default is 5." msgstr "" -#. type: delimited block - -#: en/git-instaweb.txt:80 +#. type: Labeled list +#: en/git-fast-import.txt:116 #, no-wrap -msgid "" -"[instaweb]\n" -"\tlocal = true\n" -"\thttpd = apache2 -f\n" -"\tport = 4321\n" -"\tbrowser = konqueror\n" -"\tmodulePath = /usr/lib/apache2/modules\n" +msgid "--big-file-threshold=<n>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:86 +#: en/git-fast-import.txt:121 msgid "" -"If the configuration variable `instaweb.browser` is not set, `web.browser` " -"will be used instead if it is defined. See linkgit:git-web{litdd}browse[1] " -"for more information about this." +"Maximum size of a blob that fast-import will attempt to create a delta for, " +"expressed in bytes. The default is 512m (512 MiB). Some importers may wish " +"to lower this on systems with constrained memory." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:90 en/cmds-ancillaryinterrogators.txt:49 +#: en/git-fast-import.txt:122 en/git-fetch-pack.txt:85 +#: en/git-pack-objects.txt:87 en/git-repack.txt:85 #, no-wrap -msgid "linkgit:gitweb[1]" +msgid "--depth=<n>" msgstr "" -#. type: Title = -#: en/git-interpret-trailers.txt:2 +#. type: Plain text +#: en/git-fast-import.txt:125 +msgid "Maximum delta depth, for blob and tree deltification. Default is 10." +msgstr "" + +#. type: Labeled list +#: en/git-fast-import.txt:126 #, no-wrap -msgid "git-interpret-trailers(1)" +msgid "--export-pack-edges=<file>" msgstr "" -# #. type: Plain text -#: en/git-interpret-trailers.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" +#: en/git-fast-import.txt:134 msgid "" -"git-interpret-trailers - help add structured information into commit messages" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +"After creating a packfile, print a line of data to <file> listing the " +"filename of the packfile and the last commit on each branch that was written " +"to that packfile. This information may be useful after importing projects " +"whose total object set exceeds the 4 GiB packfile limit, as these commits " +"can be used as edge points during calls to 'git pack-objects'." +msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:12 +#. type: Labeled list +#: en/git-fast-import.txt:135 en/git-pack-objects.txt:110 en/git-repack.txt:108 #, no-wrap -msgid "'git interpret-trailers' [--in-place] [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]\n" +msgid "--max-pack-size=<n>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:18 -msgid "" -"Help adding 'trailers' lines, that look similar to RFC 822 e-mail headers, " -"at the end of the otherwise free-form part of a commit message." +#: en/git-fast-import.txt:138 +msgid "Maximum size of each output packfile. The default is unlimited." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:24 -msgid "" -"This command reads some patches or commit messages from either the <file> " -"arguments or the standard input if no <file> is specified. Then this command " -"applies the arguments passed using the `--trailer` option, if any, to the " -"commit message part of each input file. The result is emitted on the " -"standard output." -msgstr "" +#: en/git-fast-import.txt:141 +#, fuzzy +#| msgid "git-commit(1)" +msgid "See linkgit:git-config[1]" +msgstr "git-commit(1)" + +#. type: Title - +#: en/git-fast-import.txt:143 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Performance" +msgstr "Configuration" #. type: Plain text -#: en/git-interpret-trailers.txt:29 +#: en/git-fast-import.txt:150 msgid "" -"Some configuration variables control the way the `--trailer` arguments are " -"applied to each commit message and the way any existing trailer in the " -"commit message is changed. They also make it possible to automatically add " -"some trailers." +"The design of fast-import allows it to import large projects in a minimum " +"amount of memory usage and processing time. Assuming the frontend is able " +"to keep up with fast-import and feed it a constant stream of data, import " +"times for projects holding 10+ years of history and containing 100,000+ " +"individual commits are generally completed in just 1-2 hours on quite modest " +"(~$2,000 USD) hardware." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:36 +#: en/git-fast-import.txt:156 msgid "" -"By default, a '<token>=<value>' or '<token>:<value>' argument given using `--" -"trailer` will be appended after the existing trailers only if the last " -"trailer has a different (<token>, <value>) pair (or if there is no existing " -"trailer). The <token> and <value> parts will be trimmed to remove starting " -"and trailing whitespace, and the resulting trimmed <token> and <value> will " -"appear in the message like this:" +"Most bottlenecks appear to be in foreign source data access (the source just " +"cannot extract revisions fast enough) or disk IO (fast-import writes as fast " +"as the disk will take the data). Imports will run faster if the source data " +"is stored on a different drive than the destination Git repository (due to " +"less IO contention)." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:39 +#. type: Title - +#: en/git-fast-import.txt:159 #, no-wrap -msgid "token: value\n" +msgid "Development Cost" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:43 +#: en/git-fast-import.txt:166 msgid "" -"This means that the trimmed <token> and <value> will be separated by `': '` " -"(one colon followed by one space)." +"A typical frontend for fast-import tends to weigh in at approximately 200 " +"lines of Perl/Python/Ruby code. Most developers have been able to create " +"working importers in just a couple of hours, even though it is their first " +"exposure to fast-import, and sometimes even to Git. This is an ideal " +"situation, given that most conversion tools are throw-away (use once, and " +"never look back)." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:49 -msgid "" -"By default the new trailer will appear at the end of all the existing " -"trailers. If there is no existing trailer, the new trailer will appear after " -"the commit message part of the output, and, if there is no line with only " -"spaces at the end of the commit message part, one blank line will be added " -"before the new trailer." +#. type: Title - +#: en/git-fast-import.txt:169 +#, no-wrap +msgid "Parallel Operation" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:58 +#: en/git-fast-import.txt:174 msgid "" -"Existing trailers are extracted from the input message by looking for a " -"group of one or more lines that (i) are all trailers, or (ii) contains at " -"least one Git-generated or user-configured trailer and consists of at least " -"25% trailers. The group must be preceded by one or more empty (or " -"whitespace-only) lines. The group must either be at the end of the message " -"or be the last non-whitespace lines before a line that starts with '---'. " -"Such three minus signs start the patch part of the message." +"Like 'git push' or 'git fetch', imports handled by fast-import are safe to " +"run alongside parallel `git repack -a -d` or `git gc` invocations, or any " +"other Git operation (including 'git prune', as loose objects are never used " +"by fast-import)." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:63 +#: en/git-fast-import.txt:183 msgid "" -"When reading trailers, there can be whitespaces after the token, the " -"separator and the value. There can also be whitespaces inside the token and " -"the value. The value may be split over multiple lines with each subsequent " -"line starting with whitespace, like the \"folding\" in RFC 822." +"fast-import does not lock the branch or tag refs it is actively importing. " +"After the import, during its ref update phase, fast-import tests each " +"existing branch ref to verify the update will be a fast-forward update (the " +"commit stored in the ref is contained in the new history of the commit to be " +"written). If the update is not a fast-forward update, fast-import will skip " +"updating that ref and instead prints a warning message. fast-import will " +"always attempt to update all branch refs, and does not stop on the first " +"failure." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:67 +#: en/git-fast-import.txt:187 msgid "" -"Note that 'trailers' do not follow and are not intended to follow many rules " -"for RFC 822 headers. For example they do not follow the encoding rules and " -"probably many other rules." +"Branch updates can be forced with --force, but it's recommended that this " +"only be used on an otherwise quiet repository. Using --force is not " +"necessary for an initial import into an empty repository." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:70 +#. type: Title - +#: en/git-fast-import.txt:190 #, no-wrap -msgid "--in-place" +msgid "Technical Discussion" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:72 -msgid "Edit the files in place." -msgstr "" - -#. type: Labeled list -#: en/git-interpret-trailers.txt:73 -#, no-wrap -msgid "--trim-empty" +#: en/git-fast-import.txt:197 +msgid "" +"fast-import tracks a set of branches in memory. Any branch can be created " +"or modified at any point during the import process by sending a `commit` " +"command on the input stream. This design allows a frontend program to " +"process an unlimited number of branches simultaneously, generating commits " +"in the order they are available from the source data. It also simplifies " +"the frontend programs considerably." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:77 +#: en/git-fast-import.txt:206 msgid "" -"If the <value> part of any trailer contains only whitespace, the whole " -"trailer will be removed from the resulting message. This applies to " -"existing trailers as well as new trailers." +"fast-import does not use or alter the current working directory, or any file " +"within it. (It does however update the current Git repository, as " +"referenced by `GIT_DIR`.) Therefore an import frontend may use the working " +"directory for its own purposes, such as extracting file revisions from the " +"foreign source. This ignorance of the working directory also allows fast-" +"import to run very quickly, as it does not need to perform any costly file " +"update operations when switching between branches." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:78 -#, no-wrap -msgid "--trailer <token>[(=|:)<value>]" -msgstr "" +#. type: Title ~ +#: en/git-fast-import.txt:208 en/git-rev-parse.txt:309 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Input Format" +msgstr "Configuration" #. type: Plain text -#: en/git-interpret-trailers.txt:82 +#: en/git-fast-import.txt:214 msgid "" -"Specify a (<token>, <value>) pair that should be applied as a trailer to the " -"input messages. See the description of this command." -msgstr "" - -#. type: Labeled list -#: en/git-interpret-trailers.txt:86 -#, no-wrap -msgid "trailer.separators" +"With the exception of raw file data (which Git does not interpret) the fast-" +"import input format is text (ASCII) based. This text based format " +"simplifies development and debugging of frontend programs, especially when a " +"higher level language such as Perl, Python or Ruby is being used." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:91 +#: en/git-fast-import.txt:222 msgid "" -"This option tells which characters are recognized as trailer separators. By " -"default only ':' is recognized as a trailer separator, except that '=' is " -"always accepted on the command line for compatibility with other git " -"commands." +"fast-import is very strict about its input. Where we say SP below we mean " +"*exactly* one space. Likewise LF means one (and only one) linefeed and HT " +"one (and only one) horizontal tab. Supplying additional whitespace " +"characters will cause unexpected results, such as branch names or file names " +"with leading or trailing spaces in their name, or early termination of fast-" +"import when it encounters unexpected input." msgstr "" +#. type: Title ~ +#: en/git-fast-import.txt:224 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "Stream Comments" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-interpret-trailers.txt:95 +#: en/git-fast-import.txt:231 msgid "" -"The first character given by this option will be the default character used " -"when another separator is not specified in the config for this trailer." +"To aid in debugging frontends fast-import ignores any line that begins with " +"`#` (ASCII pound/hash) up to and including the line ending `LF`. A comment " +"line may contain any sequence of bytes that does not contain an LF and " +"therefore may be used to include any detailed debugging information that " +"might be specific to the frontend and useful when inspecting a fast-import " +"data stream." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:233 +#, no-wrap +msgid "Date Formats" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:102 +#: en/git-fast-import.txt:237 msgid "" -"For example, if the value for this option is \"%=$\", then only lines using " -"the format '<token><sep><value>' with <sep> containing '%', '=' or '$' and " -"then spaces will be considered trailers. And '%' will be the default " -"separator used, so by default trailers will appear like: '<token>% " -"<value>' (one percent sign and one space will appear between the token and " -"the value)." +"The following date formats are supported. A frontend should select the " +"format it will use for this import by passing the format name in the --date-" +"format=<fmt> command-line option." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:103 +#: en/git-fast-import.txt:238 #, no-wrap -msgid "trailer.where" -msgstr "" - -#. type: Plain text -#: en/git-interpret-trailers.txt:105 -msgid "This option tells where a new trailer will be added." +msgid "`raw`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:107 -msgid "This can be `end`, which is the default, `start`, `after` or `before`." +#: en/git-fast-import.txt:242 +msgid "" +"This is the Git native format and is `<time> SP <offutc>`. It is also fast-" +"import's default format, if --date-format was not specified." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:110 +#: en/git-fast-import.txt:246 msgid "" -"If it is `end`, then each new trailer will appear at the end of the existing " -"trailers." +"The time of the event is specified by `<time>` as the number of seconds " +"since the UNIX epoch (midnight, Jan 1, 1970, UTC) and is written as an ASCII " +"decimal integer." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:113 +#: en/git-fast-import.txt:252 msgid "" -"If it is `start`, then each new trailer will appear at the start, instead of " -"the end, of the existing trailers." +"The local offset is specified by `<offutc>` as a positive or negative offset " +"from UTC. For example EST (which is 5 hours behind UTC) would be expressed " +"in `<tz>` by ``-0500'' while UTC is ``+0000''. The local offset does not " +"affect `<time>`; it is used only as an advisement to help formatting " +"routines display the timestamp." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:116 +#: en/git-fast-import.txt:258 msgid "" -"If it is `after`, then each new trailer will appear just after the last " -"trailer with the same <token>." +"If the local offset is not available in the source material, use ``+0000'', " +"or the most common local offset. For example many organizations have a CVS " +"repository which has only ever been accessed by users who are located in the " +"same location and time zone. In this case a reasonable offset from UTC " +"could be assumed." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:119 +#: en/git-fast-import.txt:261 msgid "" -"If it is `before`, then each new trailer will appear just before the first " -"trailer with the same <token>." +"Unlike the `rfc2822` format, this format is very strict. Any variation in " +"formatting will cause fast-import to reject the value." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:120 +#: en/git-fast-import.txt:262 #, no-wrap -msgid "trailer.ifexists" -msgstr "" - -#. type: Plain text -#: en/git-interpret-trailers.txt:124 -msgid "" -"This option makes it possible to choose what action will be performed when " -"there is already at least one trailer with the same <token> in the message." +msgid "`rfc2822`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:127 -msgid "" -"The valid values for this option are: `addIfDifferentNeighbor` (this is the " -"default), `addIfDifferent`, `add`, `overwrite` or `doNothing`." +#: en/git-fast-import.txt:264 +#, fuzzy +#| msgid "" +#| "The standard email format as described by RFC 2822, for example `Thu, 07 " +#| "Apr 2005 22:13:13 +0200`." +msgid "This is the standard email format as described by RFC 2822." msgstr "" +"Le standard de format des courriel tel que d챕crit par la RFC 2822, par " +"exemple `Thu, 07 Apr 2005 22:13:13 +0200`." #. type: Plain text -#: en/git-interpret-trailers.txt:131 +#: en/git-fast-import.txt:269 msgid "" -"With `addIfDifferentNeighbor`, a new trailer will be added only if no " -"trailer with the same (<token>, <value>) pair is above or below the line " -"where the new trailer will be added." +"An example value is ``Tue Feb 6 11:22:18 2007 -0500''. The Git parser is " +"accurate, but a little on the lenient side. It is the same parser used by " +"'git am' when applying patches received from email." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:134 +#: en/git-fast-import.txt:275 msgid "" -"With `addIfDifferent`, a new trailer will be added only if no trailer with " -"the same (<token>, <value>) pair is already in the message." +"Some malformed strings may be accepted as valid dates. In some of these " +"cases Git will still be able to obtain the correct date from the malformed " +"string. There are also some types of malformed strings which Git will parse " +"wrong, and yet consider valid. Seriously malformed strings will be rejected." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:137 +#: en/git-fast-import.txt:280 msgid "" -"With `add`, a new trailer will be added, even if some trailers with the same " -"(<token>, <value>) pair are already in the message." +"Unlike the `raw` format above, the time zone/UTC offset information " +"contained in an RFC 2822 date string is used to adjust the date value to UTC " +"prior to storage. Therefore it is important that this information be as " +"accurate as possible." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:142 +#: en/git-fast-import.txt:285 msgid "" -"With `replace`, an existing trailer with the same <token> will be deleted " -"and the new trailer will be added. The deleted trailer will be the closest " -"one (with the same <token>) to the place where the new one will be added." +"If the source material uses RFC 2822 style dates, the frontend should let " +"fast-import handle the parsing and conversion (rather than attempting to do " +"it itself) as the Git parser has been well tested in the wild." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:145 +#: en/git-fast-import.txt:290 msgid "" -"With `doNothing`, nothing will be done; that is no new trailer will be added " -"if there is already one with the same <token> in the message." +"Frontends should prefer the `raw` format if the source material already uses " +"UNIX-epoch format, can be coaxed to give dates in that format, or its format " +"is easily convertible to it, as there is no ambiguity in parsing." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:146 +#: en/git-fast-import.txt:291 #, no-wrap -msgid "trailer.ifmissing" +msgid "`now`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:150 +#: en/git-fast-import.txt:294 msgid "" -"This option makes it possible to choose what action will be performed when " -"there is not yet any trailer with the same <token> in the message." +"Always use the current time and time zone. The literal `now` must always be " +"supplied for `<when>`." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:153 +#: en/git-fast-import.txt:299 msgid "" -"The valid values for this option are: `add` (this is the default) and " -"`doNothing`." +"This is a toy format. The current time and time zone of this system is " +"always copied into the identity string at the time it is being created by " +"fast-import. There is no way to specify a different time or time zone." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:155 -msgid "With `add`, a new trailer will be added." +#: en/git-fast-import.txt:304 +msgid "" +"This particular format is supplied as it's short to implement and may be " +"useful to a process that wants to create a new commit right now, without " +"needing to use a working directory or 'git update-index'." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:157 -msgid "With `doNothing`, nothing will be done." +#: en/git-fast-import.txt:311 +msgid "" +"If separate `author` and `committer` commands are used in a `commit` the " +"timestamps may not match, as the system clock will be polled twice (once for " +"each command). The only way to ensure that both author and committer " +"identity information has the same timestamp is to omit `author` (thus " +"copying from `committer`) or to use a date format other than `now`." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:158 +#. type: Title ~ +#: en/git-fast-import.txt:313 #, no-wrap -msgid "trailer.<token>.key" +msgid "Commands" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:164 +#: en/git-fast-import.txt:317 msgid "" -"This `key` will be used instead of <token> in the trailer. At the end of " -"this key, a separator can appear and then some space characters. By default " -"the only valid separator is ':', but this can be changed using the `trailer." -"separators` config variable." +"fast-import accepts several commands to update the current repository and " +"control the current import process. More detailed discussion (with " +"examples) of each command follows later." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:318 en/git-fast-import.txt:380 +#, no-wrap +msgid "`commit`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:167 +#: en/git-fast-import.txt:322 msgid "" -"If there is a separator, then the key will be used instead of both the " -"<token> and the default separator when adding the trailer." +"Creates a new branch or updates an existing branch by creating a new commit " +"and updating the branch to point at the newly created commit." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:168 +#. type: Title ~ +#: en/git-fast-import.txt:323 en/git-fast-import.txt:744 #, no-wrap -msgid "trailer.<token>.where" +msgid "`tag`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:172 +#: en/git-fast-import.txt:328 msgid "" -"This option takes the same values as the 'trailer.where' configuration " -"variable and it overrides what is specified by that option for trailers with " -"the specified <token>." +"Creates an annotated tag object from an existing commit or branch. " +"Lightweight tags are not supported by this command, as they are not " +"recommended for recording meaningful points in time." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:173 +#. type: Title ~ +#: en/git-fast-import.txt:329 en/git-fast-import.txt:787 #, no-wrap -msgid "trailer.<token>.ifexist" +msgid "`reset`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:177 +#: en/git-fast-import.txt:333 msgid "" -"This option takes the same values as the 'trailer.ifexist' configuration " -"variable and it overrides what is specified by that option for trailers with " -"the specified <token>." +"Reset an existing branch (or a new branch) to a specific revision. This " +"command must be used to change a branch to a specific revision without " +"making a commit on it." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:178 +#. type: Title ~ +#: en/git-fast-import.txt:334 en/git-fast-import.txt:816 #, no-wrap -msgid "trailer.<token>.ifmissing" +msgid "`blob`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:182 +#: en/git-fast-import.txt:338 msgid "" -"This option takes the same values as the 'trailer.ifmissing' configuration " -"variable and it overrides what is specified by that option for trailers with " -"the specified <token>." +"Convert raw file data into a blob, for future use in a `commit` command. " +"This command is optional and is not needed to perform an import." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:183 +#. type: Title ~ +#: en/git-fast-import.txt:339 en/git-fast-import.txt:888 #, no-wrap -msgid "trailer.<token>.command" +msgid "`checkpoint`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:187 +#: en/git-fast-import.txt:344 msgid "" -"This option can be used to specify a shell command that will be called to " -"automatically add or modify a trailer with the specified <token>." +"Forces fast-import to close the current packfile, generate its unique SHA-1 " +"checksum and index, and start a new packfile. This command is optional and " +"is not needed to perform an import." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:193 -msgid "" -"When this option is specified, the behavior is as if a special " -"'<token>=<value>' argument were added at the beginning of the command line, " -"where <value> is taken to be the standard output of the specified command " -"with any leading and trailing whitespace trimmed off." +#. type: Title ~ +#: en/git-fast-import.txt:345 en/git-fast-import.txt:916 +#, no-wrap +msgid "`progress`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:197 +#: en/git-fast-import.txt:349 msgid "" -"If the command contains the `$ARG` string, this string will be replaced with " -"the <value> part of an existing trailer with the same <token>, if any, " -"before the command is launched." +"Causes fast-import to echo the entire line to its own standard output. This " +"command is optional and is not needed to perform an import." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:203 -msgid "" -"If some '<token>=<value>' arguments are also passed on the command line, " -"when a 'trailer.<token>.command' is configured, the command will also be " -"executed for each of these arguments. And the <value> part of these " -"arguments, if any, will be used to replace the `$ARG` string in the command." +#. type: Title ~ +#: en/git-fast-import.txt:350 en/git-fast-import.txt:1126 +#, no-wrap +msgid "`done`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:209 +#: en/git-fast-import.txt:354 msgid "" -"Configure a 'sign' trailer with a 'Signed-off-by' key, and then add two of " -"these trailers to a message:" +"Marks the end of the stream. This command is optional unless the `done` " +"feature was requested using the `--done` command-line option or `feature " +"done` command." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:214 +#. type: Title ~ +#: en/git-fast-import.txt:355 en/git-fast-import.txt:941 #, no-wrap -msgid "" -"$ git config trailer.sign.key \"Signed-off-by\"\n" -"$ cat msg.txt\n" -"subject\n" +msgid "`get-mark`" msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:218 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:359 msgid "" -"message\n" -"$ cat msg.txt | git interpret-trailers --trailer 'sign: Alice <alice@example.com>' --trailer 'sign: Bob <bob@example.com>'\n" -"subject\n" -msgstr "" - -#. type: delimited block - -#: en/git-interpret-trailers.txt:220 en/git-interpret-trailers.txt:232 -#: en/git-interpret-trailers.txt:239 en/git-interpret-trailers.txt:303 -#, no-wrap -msgid "message\n" +"Causes fast-import to print the SHA-1 corresponding to a mark to the file " +"descriptor set with `--cat-blob-fd`, or `stdout` if unspecified." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:223 +#. type: Title ~ +#: en/git-fast-import.txt:360 en/git-fast-import.txt:960 #, no-wrap -msgid "" -"Signed-off-by: Alice <alice@example.com>\n" -"Signed-off-by: Bob <bob@example.com>\n" +msgid "`cat-blob`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:226 -msgid "Use the `--in-place` option to edit a message file in place:" +#: en/git-fast-import.txt:364 +msgid "" +"Causes fast-import to print a blob in 'cat-file --batch' format to the file " +"descriptor set with `--cat-blob-fd` or `stdout` if unspecified." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:230 +#. type: Title ~ +#: en/git-fast-import.txt:365 en/git-fast-import.txt:990 #, no-wrap -msgid "" -"$ cat msg.txt\n" -"subject\n" +msgid "`ls`" msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:237 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:369 msgid "" -"Signed-off-by: Bob <bob@example.com>\n" -"$ git interpret-trailers --trailer 'Acked-by: Alice <alice@example.com>' --in-place msg.txt\n" -"$ cat msg.txt\n" -"subject\n" +"Causes fast-import to print a line describing a directory entry in 'ls-tree' " +"format to the file descriptor set with `--cat-blob-fd` or `stdout` if " +"unspecified." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:242 +#. type: Title ~ +#: en/git-fast-import.txt:370 en/git-fast-import.txt:1043 #, no-wrap -msgid "" -"Signed-off-by: Bob <bob@example.com>\n" -"Acked-by: Alice <alice@example.com>\n" +msgid "`feature`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:246 +#: en/git-fast-import.txt:373 msgid "" -"Extract the last commit as a patch, and add a 'Cc' and a 'Reviewed-by' " -"trailer to it:" +"Enable the specified feature. This requires that fast-import supports the " +"specified feature, and aborts if it does not." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:251 +#. type: Title ~ +#: en/git-fast-import.txt:374 en/git-fast-import.txt:1098 #, no-wrap +msgid "`option`" +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:378 msgid "" -"$ git format-patch -1\n" -"0001-foo.patch\n" -"$ git interpret-trailers --trailer 'Cc: Alice <alice@example.com>' --trailer 'Reviewed-by: Bob <bob@example.com>' 0001-foo.patch >0001-bar.patch\n" +"Specify any of the options listed under OPTIONS that do not change stream " +"semantic to suit the frontend's needs. This command is optional and is not " +"needed to perform an import." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:256 +#: en/git-fast-import.txt:383 msgid "" -"Configure a 'sign' trailer with a command to automatically add a 'Signed-off-" -"by: ' with the author information only if there is no 'Signed-off-by: ' " -"already, and show how it works:" +"Create or update a branch with a new commit, recording one logical change to " +"the project." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:264 +#. type: delimited block . +#: en/git-fast-import.txt:394 #, no-wrap msgid "" -"$ git config trailer.sign.key \"Signed-off-by: \"\n" -"$ git config trailer.sign.ifmissing add\n" -"$ git config trailer.sign.ifexists doNothing\n" -"$ git config trailer.sign.command 'echo \"$(git config user.name) <$(git config user.email)>\"'\n" -"$ git interpret-trailers <<EOF\n" -"> EOF\n" +"\t'commit' SP <ref> LF\n" +"\tmark?\n" +"\t('author' (SP <name>)? SP LT <email> GT SP <when> LF)?\n" +"\t'committer' (SP <name>)? SP LT <email> GT SP <when> LF\n" +"\tdata\n" +"\t('from' SP <commit-ish> LF)?\n" +"\t('merge' SP <commit-ish> LF)?\n" +"\t(filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)*\n" +"\tLF?\n" msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:269 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:402 msgid "" -"Signed-off-by: Bob <bob@example.com>\n" -"$ git interpret-trailers <<EOF\n" -"> Signed-off-by: Alice <alice@example.com>\n" -"> EOF\n" +"where `<ref>` is the name of the branch to make the commit on. Typically " +"branch names are prefixed with `refs/heads/` in Git, so importing the CVS " +"branch symbol `RELENG-1_0` would use `refs/heads/RELENG-1_0` for the value " +"of `<ref>`. The value of `<ref>` must be a valid refname in Git. As `LF` " +"is not valid in a Git refname, no quoting or escaping syntax is supported " +"here." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:271 -#, no-wrap -msgid "Signed-off-by: Alice <alice@example.com>\n" +#. type: Plain text +#: en/git-fast-import.txt:408 +msgid "" +"A `mark` command may optionally appear, requesting fast-import to save a " +"reference to the newly created commit for future use by the frontend (see " +"below for format). It is very common for frontends to mark every commit " +"they create, thereby allowing future branch creation from any imported " +"commit." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:275 +#: en/git-fast-import.txt:414 msgid "" -"Configure a 'fix' trailer with a key that contains a '#' and no space after " -"this character, and show how it works:" +"The `data` command following `committer` must supply the commit message (see " +"below for `data` command syntax). To import an empty commit message use a 0 " +"length data. Commit messages are free-form and are not interpreted by Git. " +"Currently they must be encoded in UTF-8, as fast-import does not permit " +"other encodings to be specified." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:281 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:422 msgid "" -"$ git config trailer.separators \":#\"\n" -"$ git config trailer.fix.key \"Fix #\"\n" -"$ echo \"subject\" | git interpret-trailers --trailer fix=42\n" -"subject\n" +"Zero or more `filemodify`, `filedelete`, `filecopy`, `filerename`, " +"`filedeleteall` and `notemodify` commands may be included to update the " +"contents of the branch prior to creating the commit. These commands may be " +"supplied in any order. However it is recommended that a `filedeleteall` " +"command precede all `filemodify`, `filecopy`, `filerename` and `notemodify` " +"commands in the same commit, as `filedeleteall` wipes the branch clean (see " +"below)." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:283 +#. type: Plain text +#: en/git-fast-import.txt:424 en/git-fast-import.txt:803 +#: en/git-fast-import.txt:914 +msgid "The `LF` after the command is optional (it used to be required)." +msgstr "" + +#. type: Title ^ +#: en/git-fast-import.txt:426 #, no-wrap -msgid "Fix #42\n" +msgid "`author`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:287 +#: en/git-fast-import.txt:432 msgid "" -"Configure a 'see' trailer with a command to show the subject of a commit " -"that is related, and show how it works:" +"An `author` command may optionally appear, if the author information might " +"differ from the committer information. If `author` is omitted then fast-" +"import will automatically use the committer's information for the author " +"portion of the commit. See below for a description of the fields in " +"`author`, as they are identical to `committer`." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:301 -#, no-wrap +#. type: Title ^ +#: en/git-fast-import.txt:434 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "`committer`" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-fast-import.txt:437 msgid "" -"$ git config trailer.see.key \"See-also: \"\n" -"$ git config trailer.see.ifExists \"replace\"\n" -"$ git config trailer.see.ifMissing \"doNothing\"\n" -"$ git config trailer.see.command \"git log -1 --oneline --format=\\\"%h (%s)\\\" --abbrev-commit --abbrev=14 \\$ARG\"\n" -"$ git interpret-trailers <<EOF\n" -"> subject\n" -"> \n" -"> message\n" -"> \n" -"> see: HEAD~2\n" -"> EOF\n" -"subject\n" +"The `committer` command indicates who made this commit, and when they made " +"it." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:305 -#, no-wrap -msgid "See-also: fe3187489d69c4 (subject of related commit)\n" +#. type: Plain text +#: en/git-fast-import.txt:445 +msgid "" +"Here `<name>` is the person's display name (for example ``Com M Itter'') and " +"`<email>` is the person's email address (``\\cm@example.com''). `LT` and " +"`GT` are the literal less-than (\\x3c) and greater-than (\\x3e) symbols. " +"These are required to delimit the email address from the other fields in the " +"line. Note that `<name>` and `<email>` are free-form and may contain any " +"sequence of bytes, except `LT`, `GT` and `LF`. `<name>` is typically UTF-8 " +"encoded." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:312 +#: en/git-fast-import.txt:450 msgid "" -"Configure a commit template with some trailers with empty values (using sed " -"to show and keep the trailing spaces at the end of the trailers), then " -"configure a commit-msg hook that uses 'git interpret-trailers' to remove " -"trailers with empty values and to add a 'git-version' trailer:" +"The time of the change is specified by `<when>` using the date format that " +"was selected by the --date-format=<fmt> command-line option. See ``Date " +"Formats'' above for the set of supported formats, and their syntax." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:331 +#. type: Title ^ +#: en/git-fast-import.txt:452 #, no-wrap +msgid "`from`" +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:458 msgid "" -"$ sed -e 's/ Z$/ /' >commit_template.txt <<EOF\n" -"> ***subject***\n" -"> \n" -"> ***message***\n" -"> \n" -"> Fixes: Z\n" -"> Cc: Z\n" -"> Reviewed-by: Z\n" -"> Signed-off-by: Z\n" -"> EOF\n" -"$ git config commit.template commit_template.txt\n" -"$ cat >.git/hooks/commit-msg <<EOF\n" -"> #!/bin/sh\n" -"> git interpret-trailers --trim-empty --trailer \"git-version: \\$(git describe)\" \"\\$1\" > \"\\$1.new\"\n" -"> mv \"\\$1.new\" \"\\$1\"\n" -"> EOF\n" -"$ chmod +x .git/hooks/commit-msg\n" +"The `from` command is used to specify the commit to initialize this branch " +"from. This revision will be the first ancestor of the new commit. The " +"state of the tree built at this commit will begin with the state at the " +"`from` commit, and be altered by the content modifications in this commit." msgstr "" -# #. type: Plain text -#: en/git-interpret-trailers.txt:336 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-fast-import.txt:468 msgid "" -"linkgit:git-commit[1], linkgit:git-format-patch[1], linkgit:git-config[1]" +"Omitting the `from` command in the first commit of a new branch will cause " +"fast-import to create that commit with no ancestor. This tends to be desired " +"only for the initial commit of a project. If the frontend creates all files " +"from scratch when making a new branch, a `merge` command may be used instead " +"of `from` to start the commit with an empty tree. Omitting the `from` " +"command on existing branches is usually desired, as the current commit on " +"that branch is automatically assumed to be the first ancestor of the new " +"commit." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-log.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-log(1)" -msgstr "git-add(1)" +#. type: Plain text +#: en/git-fast-import.txt:471 +msgid "" +"As `LF` is not valid in a Git refname or SHA-1 expression, no quoting or " +"escaping syntax is supported within `<commit-ish>`." +msgstr "" #. type: Plain text -#: en/git-log.txt:7 -msgid "git-log - Show commit logs" +#: en/git-fast-import.txt:473 +msgid "Here `<commit-ish>` is any of the following:" msgstr "" #. type: Plain text -#: en/git-log.txt:13 -#, no-wrap -msgid "'git log' [<options>] [<revision range>] [[\\--] <path>...]\n" +#: en/git-fast-import.txt:477 +msgid "" +"The name of an existing branch already in fast-import's internal branch " +"table. If fast-import doesn't know the name, it's treated as a SHA-1 " +"expression." msgstr "" #. type: Plain text -#: en/git-log.txt:17 -msgid "Shows the commit logs." +#: en/git-fast-import.txt:479 +msgid "A mark reference, `:<idnum>`, where `<idnum>` is the mark number." msgstr "" #. type: Plain text -#: en/git-log.txt:22 +#: en/git-fast-import.txt:485 msgid "" -"The command takes options applicable to the `git rev-list` command to " -"control what is shown and how, and options applicable to the `git diff-*` " -"commands to control how the changes each commit introduces are shown." +"The reason fast-import uses `:` to denote a mark reference is this character " +"is not legal in a Git branch name. The leading `:` makes it easy to " +"distinguish between the mark 42 (`:42`) and the branch 42 (`42` or `refs/" +"heads/42`), or an abbreviated SHA-1 which happened to consist only of " +"base-10 digits." msgstr "" -#. type: Labeled list -#: en/git-log.txt:27 -#, no-wrap -msgid "--follow" +#. type: Plain text +#: en/git-fast-import.txt:487 +msgid "Marks must be declared (via `mark`) before they can be used." msgstr "" #. type: Plain text -#: en/git-log.txt:30 -msgid "" -"Continue listing the history of a file beyond renames (works only for a " -"single file)." +#: en/git-fast-import.txt:489 +msgid "A complete 40 byte or abbreviated commit SHA-1 in hex." msgstr "" -#. type: Labeled list -#: en/git-log.txt:31 -#, no-wrap -msgid "--no-decorate" +#. type: Plain text +#: en/git-fast-import.txt:492 +msgid "" +"Any valid Git SHA-1 expression that resolves to a commit. See ``SPECIFYING " +"REVISIONS'' in linkgit:gitrevisions[7] for details." msgstr "" -#. type: Labeled list -#: en/git-log.txt:32 -#, no-wrap -msgid "--decorate[=short|full|auto|no]" +#. type: Plain text +#: en/git-fast-import.txt:495 +msgid "" +"The special null SHA-1 (40 zeros) specifies that the branch is to be removed." msgstr "" #. type: Plain text -#: en/git-log.txt:40 +#: en/git-fast-import.txt:498 msgid "" -"Print out the ref names of any commits that are shown. If 'short' is " -"specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and 'refs/" -"remotes/' will not be printed. If 'full' is specified, the full ref name " -"(including prefix) will be printed. If 'auto' is specified, then if the " -"output is going to a terminal, the ref names are shown as if 'short' were " -"given, otherwise no ref names are shown. The default option is 'short'." +"The special case of restarting an incremental import from the current branch " +"value should be written as:" msgstr "" -#. type: Labeled list -#: en/git-log.txt:41 +#. type: delimited block - +#: en/git-fast-import.txt:500 #, no-wrap -msgid "--source" +msgid "\tfrom refs/heads/branch^0\n" msgstr "" #. type: Plain text -#: en/git-log.txt:44 +#: en/git-fast-import.txt:507 msgid "" -"Print out the ref name given on the command line by which each commit was " -"reached." +"The `^0` suffix is necessary as fast-import does not permit a branch to " +"start from itself, and the branch is created in memory before the `from` " +"command is even read from the input. Adding `^0` will force fast-import to " +"resolve the commit through Git's revision parsing library, rather than its " +"internal branch table, thereby loading in the existing value of the branch." msgstr "" -#. type: Labeled list -#: en/git-log.txt:45 +#. type: Title ^ +#: en/git-fast-import.txt:509 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "--use-mailmap" +msgid "`merge`" msgstr "git-commit(1)" #. type: Plain text -#: en/git-log.txt:49 +#: en/git-fast-import.txt:517 msgid "" -"Use mailmap file to map author and committer names and email addresses to " -"canonical real names and email addresses. See linkgit:git-shortlog[1]." +"Includes one additional ancestor commit. The additional ancestry link does " +"not change the way the tree state is built at this commit. If the `from` " +"command is omitted when creating a new branch, the first `merge` commit will " +"be the first ancestor of the current commit, and the branch will start out " +"with no files. An unlimited number of `merge` commands per commit are " +"permitted by fast-import, thereby establishing an n-way merge." msgstr "" -#. type: Labeled list -#: en/git-log.txt:50 +#. type: Plain text +#: en/git-fast-import.txt:520 +msgid "" +"Here `<commit-ish>` is any of the commit specification expressions also " +"accepted by `from` (see above)." +msgstr "" + +#. type: Title ^ +#: en/git-fast-import.txt:522 #, no-wrap -msgid "--full-diff" +msgid "`filemodify`" msgstr "" #. type: Plain text -#: en/git-log.txt:56 +#: en/git-fast-import.txt:526 msgid "" -"Without this flag, `git log -p <path>...` shows commits that touch the " -"specified paths, and diffs about the same specified paths. With this, the " -"full diff is shown for commits that touch the specified paths; this means " -"that \"<path>...\" limits only commits, and doesn't limit diff for those " -"commits." +"Included in a `commit` command to add a new file or change the content of an " +"existing file. This command has two different means of specifying the " +"content of the file." msgstr "" +#. type: Labeled list +#: en/git-fast-import.txt:527 en/git-fast-import.txt:694 +#, fuzzy, no-wrap +#| msgid "Git internal format" +msgid "External data format" +msgstr "Format interne de Git" + #. type: Plain text -#: en/git-log.txt:59 +#: en/git-fast-import.txt:530 msgid "" -"Note that this affects all diff-based output types, e.g. those produced by " -"`--stat`, etc." +"The data content for the file was already supplied by a prior `blob` " +"command. The frontend just needs to connect it." msgstr "" -#. type: Labeled list -#: en/git-log.txt:60 +#. type: delimited block . +#: en/git-fast-import.txt:533 #, no-wrap -msgid "--log-size" +msgid "\t'M' SP <mode> SP <dataref> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-log.txt:65 +#: en/git-fast-import.txt:540 msgid "" -"Include a line ``log size <number>'' in the output for each commit, where " -"<number> is the length of that commit's message in bytes. Intended to speed " -"up tools that read log messages from `git log` output by allowing them to " -"allocate space in advance." -msgstr "" - -#. type: Labeled list -#: en/git-log.txt:66 -#, no-wrap -msgid "-L <start>,<end>:<file>" +"Here usually `<dataref>` must be either a mark reference (`:<idnum>`) set " +"by a prior `blob` command, or a full 40-byte SHA-1 of an existing Git blob " +"object. If `<mode>` is `040000`` then `<dataref>` must be the full 40-byte " +"SHA-1 of an existing Git tree object or a mark reference set with `--import-" +"marks`." msgstr "" #. type: Labeled list -#: en/git-log.txt:67 -#, no-wrap -msgid "-L :<funcname>:<file>" -msgstr "" +#: en/git-fast-import.txt:541 en/git-fast-import.txt:707 +#, fuzzy, no-wrap +#| msgid "Git internal format" +msgid "Inline data format" +msgstr "Format interne de Git" #. type: Plain text -#: en/git-log.txt:74 +#: en/git-fast-import.txt:545 msgid "" -"Trace the evolution of the line range given by \"<start>,<end>\" (or the " -"function name regex <funcname>) within the <file>. You may not give any " -"pathspec limiters. This is currently limited to a walk starting from a " -"single revision, i.e., you may only give zero or one positive revision " -"arguments. You can specify this option more than once." +"The data content for the file has not been supplied yet. The frontend wants " +"to supply it as part of this modify command." msgstr "" -#. type: Labeled list -#: en/git-log.txt:77 en/git-shortlog.txt:63 +#. type: delimited block . +#: en/git-fast-import.txt:549 #, no-wrap -msgid "<revision range>" +msgid "" +"\t'M' SP <mode> SP 'inline' SP <path> LF\n" +"\tdata\n" msgstr "" #. type: Plain text -#: en/git-log.txt:85 -msgid "" -"Show only commits in the specified revision range. When no <revision range> " -"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " -"current commit). `origin..HEAD` specifies all the commits reachable from " -"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " -"of ways to spell <revision range>, see the 'Specifying Ranges' section of " -"linkgit:gitrevisions[7]." +#: en/git-fast-import.txt:552 en/git-fast-import.txt:718 +msgid "See below for a detailed description of the `data` command." msgstr "" #. type: Plain text -#: en/git-log.txt:91 -#, no-wrap +#: en/git-fast-import.txt:555 msgid "" -"[\\--] <path>...::\n" -"\tShow only commits that are enough to explain how the files\n" -"\tthat match the specified paths came to be. See 'History\n" -"\tSimplification' below for details and other simplification\n" -"\tmodes.\n" +"In both formats `<mode>` is the type of file entry, specified in octal. Git " +"only supports the following modes:" msgstr "" #. type: Plain text -#: en/git-log.txt:94 +#: en/git-fast-import.txt:559 msgid "" -"Paths may need to be prefixed with ``\\-- '' to separate them from options " -"or the revision range, when confusion arises." -msgstr "" - -#. type: Title - -#: en/git-log.txt:100 en/git-show.txt:49 -#, no-wrap -msgid "COMMON DIFF OPTIONS" +"`100644` or `644`: A normal (not-executable) file. The majority of files in " +"most projects use this mode. If in doubt, this is what you want." msgstr "" -#. type: Labeled list -#: en/git-log.txt:109 -#, no-wrap -msgid "`git log --no-merges`" +#. type: Plain text +#: en/git-fast-import.txt:560 +msgid "`100755` or `755`: A normal, but executable, file." msgstr "" #. type: Plain text -#: en/git-log.txt:112 -msgid "Show the whole commit history, but skip any merges" +#: en/git-fast-import.txt:561 +msgid "`120000`: A symlink, the content of the file will be the link target." msgstr "" -#. type: Labeled list -#: en/git-log.txt:113 -#, no-wrap -msgid "`git log v2.6.12.. include/scsi drivers/scsi`" +#. type: Plain text +#: en/git-fast-import.txt:564 +msgid "" +"`160000`: A gitlink, SHA-1 of the object refers to a commit in another " +"repository. Git links can only be specified by SHA or through a commit mark. " +"They are used to implement submodules." msgstr "" #. type: Plain text -#: en/git-log.txt:117 +#: en/git-fast-import.txt:566 msgid "" -"Show all commits since version 'v2.6.12' that changed any file in the " -"`include/scsi` or `drivers/scsi` subdirectories" +"`040000`: A subdirectory. Subdirectories can only be specified by SHA or " +"through a tree mark set with `--import-marks`." msgstr "" -#. type: Labeled list -#: en/git-log.txt:118 -#, no-wrap -msgid "`git log --since=\"2 weeks ago\" -- gitk`" +#. type: Plain text +#: en/git-fast-import.txt:569 +msgid "" +"In both formats `<path>` is the complete path of the file to be added (if " +"not already existing) or modified (if already existing)." msgstr "" #. type: Plain text -#: en/git-log.txt:123 +#: en/git-fast-import.txt:573 msgid "" -"Show the changes during the last two weeks to the file 'gitk'. The ``--'' " -"is necessary to avoid confusion with the *branch* named 'gitk'" +"A `<path>` string must use UNIX-style directory separators (forward slash `/" +"`), may contain any byte other than `LF`, and must not start with double " +"quote (`\"`)." msgstr "" -#. type: Labeled list -#: en/git-log.txt:124 -#, no-wrap -msgid "`git log --name-status release..test`" +#. type: Plain text +#: en/git-fast-import.txt:580 +msgid "" +"A path can use C-style string quoting; this is accepted in all cases and " +"mandatory if the filename starts with double quote or contains `LF`. In C-" +"style quoting, the complete name should be surrounded with double quotes, " +"and any `LF`, backslash, or double quote characters must be escaped by " +"preceding them with a backslash (e.g., `\"path/with\\n, \\\\ and \\\" in it" +"\"`)." msgstr "" #. type: Plain text -#: en/git-log.txt:129 -msgid "" -"Show the commits that are in the \"test\" branch but not yet in the \"release" -"\" branch, along with the list of paths each commit modifies." +#: en/git-fast-import.txt:582 +msgid "The value of `<path>` must be in canonical form. That is it must not:" msgstr "" -#. type: Labeled list -#: en/git-log.txt:130 -#, no-wrap -msgid "`git log --follow builtin/rev-list.c`" +#. type: Plain text +#: en/git-fast-import.txt:584 +msgid "contain an empty directory component (e.g. `foo//bar` is invalid)," msgstr "" #. type: Plain text -#: en/git-log.txt:135 -msgid "" -"Shows the commits that changed `builtin/rev-list.c`, including those commits " -"that occurred before the file was given its present name." +#: en/git-fast-import.txt:585 +msgid "end with a directory separator (e.g. `foo/` is invalid)," msgstr "" -#. type: Labeled list -#: en/git-log.txt:136 -#, no-wrap -msgid "`git log --branches --not --remotes=origin`" +#. type: Plain text +#: en/git-fast-import.txt:586 +msgid "start with a directory separator (e.g. `/foo` is invalid)," msgstr "" #. type: Plain text -#: en/git-log.txt:141 +#: en/git-fast-import.txt:588 msgid "" -"Shows all commits that are in any of local branches but not in any of remote-" -"tracking branches for 'origin' (what you have that origin doesn't)." +"contain the special component `.` or `..` (e.g. `foo/./bar` and `foo/../bar` " +"are invalid)." msgstr "" -#. type: Labeled list -#: en/git-log.txt:142 -#, no-wrap -msgid "`git log master --not --remotes=*/master`" +#. type: Plain text +#: en/git-fast-import.txt:590 +msgid "The root of the tree can be represented by an empty string as `<path>`." msgstr "" #. type: Plain text -#: en/git-log.txt:146 -msgid "" -"Shows all commits that are in local master but not in any remote repository " -"master branches." +#: en/git-fast-import.txt:592 +msgid "It is recommended that `<path>` always be encoded using UTF-8." msgstr "" -#. type: Labeled list -#: en/git-log.txt:147 +#. type: Title ^ +#: en/git-fast-import.txt:594 #, no-wrap -msgid "`git log -p -m --first-parent`" +msgid "`filedelete`" msgstr "" #. type: Plain text -#: en/git-log.txt:154 +#: en/git-fast-import.txt:600 msgid "" -"Shows the history including change diffs, but only from the ``main branch'' " -"perspective, skipping commits that come from merged branches, and showing " -"full diffs of changes introduced by the merges. This makes sense only when " -"following a strict policy of merging all topic branches when staying on a " -"single integration branch." +"Included in a `commit` command to remove a file or recursively delete an " +"entire directory from the branch. If the file or directory removal makes " +"its parent directory empty, the parent directory will be automatically " +"removed too. This cascades up the tree until the first non-empty directory " +"or the root is reached." msgstr "" -#. type: Labeled list -#: en/git-log.txt:155 +#. type: delimited block . +#: en/git-fast-import.txt:603 #, no-wrap -msgid "`git log -L '/int main/',/^}/:main.c`" +msgid "\t'D' SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-log.txt:159 -msgid "Shows how the function `main()` in the file `main.c` evolved over time." +#: en/git-fast-import.txt:608 +msgid "" +"here `<path>` is the complete path of the file or subdirectory to be removed " +"from the branch. See `filemodify` above for a detailed description of " +"`<path>`." msgstr "" -#. type: Labeled list -#: en/git-log.txt:160 +#. type: Title ^ +#: en/git-fast-import.txt:610 #, no-wrap -msgid "`git log -3`" -msgstr "" - -#. type: Plain text -#: en/git-log.txt:163 -msgid "Limits the number of commits to show to 3." +msgid "`filecopy`" msgstr "" #. type: Plain text -#: en/git-log.txt:174 +#: en/git-fast-import.txt:615 msgid "" -"See linkgit:git-config[1] for core variables and linkgit:git-diff[1] for " -"settings related to diff generation." +"Recursively copies an existing file or subdirectory to a different location " +"within the branch. The existing file or directory must exist. If the " +"destination exists it will be completely replaced by the content copied from " +"the source." msgstr "" -#. type: Labeled list -#: en/git-log.txt:175 en/config.txt:1383 +#. type: delimited block . +#: en/git-fast-import.txt:618 #, no-wrap -msgid "format.pretty" +msgid "\t'C' SP <path> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-log.txt:178 +#: en/git-fast-import.txt:624 en/git-fast-import.txt:644 msgid "" -"Default for the `--format` option. (See 'Pretty Formats' above.) Defaults " -"to `medium`." -msgstr "" - -#. type: Labeled list -#: en/git-log.txt:179 en/config.txt:2053 -#, fuzzy, no-wrap -#| msgid "" -#| "[i18n]\n" -#| "\tlogoutputencoding = ISO-8859-1\n" -msgid "i18n.logOutputEncoding" +"here the first `<path>` is the source location and the second `<path>` is " +"the destination. See `filemodify` above for a detailed description of what " +"`<path>` may look like. To use a source path that contains SP the path must " +"be quoted." msgstr "" -"[i18n]\n" -"\tlogoutputencoding = ISO-8859-1\n" #. type: Plain text -#: en/git-log.txt:183 +#: en/git-fast-import.txt:629 msgid "" -"Encoding to use when displaying logs. (See 'Discussion' above.) Defaults " -"to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise." +"A `filecopy` command takes effect immediately. Once the source location has " +"been copied to the destination any future commands applied to the source " +"location will not impact the destination of the copy." msgstr "" -#. type: Labeled list -#: en/git-log.txt:184 en/config.txt:2112 +#. type: Title ^ +#: en/git-fast-import.txt:631 #, no-wrap -msgid "log.date" +msgid "`filerename`" msgstr "" #. type: Plain text -#: en/git-log.txt:188 +#: en/git-fast-import.txt:635 msgid "" -"Default format for human-readable dates. (Compare the `--date` option.) " -"Defaults to \"default\", which means to write dates like `Sat May 8 19:35:34 " -"2010 -0500`." +"Renames an existing file or subdirectory to a different location within the " +"branch. The existing file or directory must exist. If the destination " +"exists it will be replaced by the source directory." msgstr "" -#. type: Labeled list -#: en/git-log.txt:189 en/config.txt:2127 +#. type: delimited block . +#: en/git-fast-import.txt:638 #, no-wrap -msgid "log.follow" +msgid "\t'R' SP <path> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-log.txt:194 en/config.txt:2132 +#: en/git-fast-import.txt:649 msgid "" -"If `true`, `git log` will act as if the `--follow` option was used when a " -"single <path> is given. This has the same limitations as `--follow`, i.e. " -"it cannot be used to follow multiple files and does not work well on non-" -"linear history." -msgstr "" - -#. type: Labeled list -#: en/git-log.txt:195 en/config.txt:2137 -#, no-wrap -msgid "log.showRoot" +"A `filerename` command takes effect immediately. Once the source location " +"has been renamed to the destination any future commands applied to the " +"source location will create new files there and not impact the destination " +"of the rename." msgstr "" #. type: Plain text -#: en/git-log.txt:200 +#: en/git-fast-import.txt:658 msgid "" -"If `false`, `git log` and related commands will not treat the initial commit " -"as a big creation event. Any root commits in `git log -p` output would be " -"shown without a diff attached. The default is `true`." +"Note that a `filerename` is the same as a `filecopy` followed by a " +"`filedelete` of the source location. There is a slight performance " +"advantage to using `filerename`, but the advantage is so small that it is " +"never worth trying to convert a delete/add pair in source material into a " +"rename for fast-import. This `filerename` command is provided just to " +"simplify frontends that already have rename information and don't want " +"bother with decomposing it into a `filecopy` followed by a `filedelete`." msgstr "" -#. type: Labeled list -#: en/git-log.txt:201 +#. type: Title ^ +#: en/git-fast-import.txt:660 #, no-wrap -msgid "log.showSignature" +msgid "`filedeleteall`" msgstr "" #. type: Plain text -#: en/git-log.txt:204 +#: en/git-fast-import.txt:665 msgid "" -"If `true`, `git log` and related commands will act as if the `--show-" -"signature` option was passed to them." +"Included in a `commit` command to remove all files (and also all " +"directories) from the branch. This command resets the internal branch " +"structure to have no files in it, allowing the frontend to subsequently add " +"all interesting files from scratch." msgstr "" -#. type: Labeled list -#: en/git-log.txt:205 +#. type: delimited block . +#: en/git-fast-import.txt:668 #, no-wrap -msgid "mailmap.*" +msgid "\t'deleteall' LF\n" msgstr "" #. type: Plain text -#: en/git-log.txt:207 -msgid "See linkgit:git-shortlog[1]." -msgstr "" - -#. type: Labeled list -#: en/git-log.txt:208 en/git-notes.txt:333 en/config.txt:2251 -#, no-wrap -msgid "notes.displayRef" +#: en/git-fast-import.txt:674 +msgid "" +"This command is extremely useful if the frontend does not know (or does not " +"care to know) what files are currently on the branch, and therefore cannot " +"generate the proper `filedelete` commands to update the content." msgstr "" #. type: Plain text -#: en/git-log.txt:213 +#: en/git-fast-import.txt:682 msgid "" -"Which refs, in addition to the default set by `core.notesRef` or " -"`GIT_NOTES_REF`, to read notes from when showing commit messages with the " -"`log` family of commands. See linkgit:git-notes[1]." +"Issuing a `filedeleteall` followed by the needed `filemodify` commands to " +"set the correct content will produce the same results as sending only the " +"needed `filemodify` and `filedelete` commands. The `filedeleteall` approach " +"may however require fast-import to use slightly more memory per active " +"branch (less than 1 MiB for even most large projects); so frontends that can " +"easily obtain only the affected paths for a commit are encouraged to do so." +msgstr "" + +#. type: Title ^ +#: en/git-fast-import.txt:684 +#, no-wrap +msgid "`notemodify`" msgstr "" #. type: Plain text -#: en/git-log.txt:217 +#: en/git-fast-import.txt:693 msgid "" -"May be an unabbreviated ref name or a glob and may be specified multiple " -"times. A warning will be issued for refs that do not exist, but a glob that " -"does not match any refs is silently ignored." +"Included in a `commit` `<notes_ref>` command to add a new note annotating a " +"`<commit-ish>` or change this annotation contents. Internally it is similar " +"to filemodify 100644 on `<commit-ish>` path (maybe split into " +"subdirectories). It's not advised to use any other commands to write to the " +"`<notes_ref>` tree except `filedeleteall` to delete all existing notes in " +"this tree. This command has two different means of specifying the content " +"of the note." msgstr "" #. type: Plain text -#: en/git-log.txt:221 +#: en/git-fast-import.txt:698 msgid "" -"This setting can be disabled by the `--no-notes` option, overridden by the " -"`GIT_NOTES_DISPLAY_REF` environment variable, and overridden by the `--" -"notes=<ref>` option." +"The data content for the note was already supplied by a prior `blob` " +"command. The frontend just needs to connect it to the commit that is to be " +"annotated." msgstr "" -#. type: Title = -#: en/git-ls-files.txt:2 +#. type: delimited block . +#: en/git-fast-import.txt:701 #, no-wrap -msgid "git-ls-files(1)" +msgid "\t'N' SP <dataref> SP <commit-ish> LF\n" msgstr "" -# #. type: Plain text -#: en/git-ls-files.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" +#: en/git-fast-import.txt:706 msgid "" -"git-ls-files - Show information about files in the index and the working tree" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +"Here `<dataref>` can be either a mark reference (`:<idnum>`) set by a prior " +"`blob` command, or a full 40-byte SHA-1 of an existing Git blob object." +msgstr "" #. type: Plain text -#: en/git-ls-files.txt:23 -#, no-wrap +#: en/git-fast-import.txt:711 msgid "" -"'git ls-files' [-z] [-t] [-v]\n" -"\t\t(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])*\n" -"\t\t(-[c|d|o|i|s|u|k|m])*\n" -"\t\t[--eol]\n" -"\t\t[-x <pattern>|--exclude=<pattern>]\n" -"\t\t[-X <file>|--exclude-from=<file>]\n" -"\t\t[--exclude-per-directory=<file>]\n" -"\t\t[--exclude-standard]\n" -"\t\t[--error-unmatch] [--with-tree=<tree-ish>]\n" -"\t\t[--full-name] [--recurse-submodules]\n" -"\t\t[--abbrev] [--] [<file>...]\n" +"The data content for the note has not been supplied yet. The frontend wants " +"to supply it as part of this modify command." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:29 +#. type: delimited block . +#: en/git-fast-import.txt:715 +#, no-wrap msgid "" -"This merges the file listing in the directory cache index with the actual " -"working directory list, and shows different combinations of the two." +"\t'N' SP 'inline' SP <commit-ish> LF\n" +"\tdata\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:32 +#: en/git-fast-import.txt:721 msgid "" -"One or more of the options below may be used to determine the files shown:" +"In both formats `<commit-ish>` is any of the commit specification " +"expressions also accepted by `from` (see above)." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:723 +#, no-wrap +msgid "`mark`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:38 -msgid "Show cached files in the output (default)" +#: en/git-fast-import.txt:729 +msgid "" +"Arranges for fast-import to save a reference to the current object, allowing " +"the frontend to recall this object at a future point in time, without " +"knowing its SHA-1. Here the current object is the object creation command " +"the `mark` command appears within. This can be `commit`, `tag`, and `blob`, " +"but `commit` is the most common usage." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:40 +#. type: delimited block . +#: en/git-fast-import.txt:732 #, no-wrap -msgid "--deleted" +msgid "\t'mark' SP ':' <idnum> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:42 -msgid "Show deleted files in the output" +#: en/git-fast-import.txt:738 +msgid "" +"where `<idnum>` is the number assigned by the frontend to this mark. The " +"value of `<idnum>` is expressed as an ASCII decimal integer. The value 0 is " +"reserved and cannot be used as a mark. Only values greater than or equal to " +"1 may be used as marks." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:44 -#, fuzzy, no-wrap -#| msgid "modified content" -msgid "--modified" -msgstr "contenu modifi챕" +#. type: Plain text +#: en/git-fast-import.txt:742 +msgid "" +"New marks are created automatically. Existing marks can be moved to another " +"object simply by reusing the same `<idnum>` in another `mark` command." +msgstr "" #. type: Plain text -#: en/git-ls-files.txt:46 -msgid "Show modified files in the output" +#: en/git-fast-import.txt:747 +msgid "" +"Creates an annotated tag referring to a specific commit. To create " +"lightweight (non-annotated) tags see the `reset` command below." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:48 +#. type: delimited block . +#: en/git-fast-import.txt:753 #, no-wrap -msgid "--others" +msgid "" +"\t'tag' SP <name> LF\n" +"\t'from' SP <commit-ish> LF\n" +"\t'tagger' (SP <name>)? SP LT <email> GT SP <when> LF\n" +"\tdata\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:50 -msgid "Show other (i.e. untracked) files in the output" -msgstr "" - -#. type: Labeled list -#: en/git-ls-files.txt:52 en/git-status.txt:97 -#, no-wrap -msgid "--ignored" +#: en/git-fast-import.txt:756 +msgid "where `<name>` is the name of the tag to create." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:57 +#: en/git-fast-import.txt:761 msgid "" -"Show only ignored files in the output. When showing files in the index, " -"print only those matched by an exclude pattern. When showing \"other\" " -"files, show only those matched by an exclude pattern." +"Tag names are automatically prefixed with `refs/tags/` when stored in Git, " +"so importing the CVS branch symbol `RELENG-1_0-FINAL` would use just " +"`RELENG-1_0-FINAL` for `<name>`, and fast-import will write the " +"corresponding ref as `refs/tags/RELENG-1_0-FINAL`." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:59 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--stage" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-ls-files.txt:61 +#: en/git-fast-import.txt:765 msgid "" -"Show staged contents' object name, mode bits and stage number in the output." +"The value of `<name>` must be a valid refname in Git and therefore may " +"contain forward slashes. As `LF` is not valid in a Git refname, no quoting " +"or escaping syntax is supported here." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:62 -#, no-wrap -msgid "--directory" +#. type: Plain text +#: en/git-fast-import.txt:768 +msgid "" +"The `from` command is the same as in the `commit` command; see above for " +"details." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:65 +#: en/git-fast-import.txt:771 msgid "" -"If a whole directory is classified as \"other\", show just its name (with a " -"trailing slash) and not its whole contents." +"The `tagger` command uses the same format as `committer` within `commit`; " +"again see above for details." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:66 -#, no-wrap -msgid "--no-empty-directory" +#. type: Plain text +#: en/git-fast-import.txt:777 +msgid "" +"The `data` command following `tagger` must supply the annotated tag message " +"(see below for `data` command syntax). To import an empty tag message use a " +"0 length data. Tag messages are free-form and are not interpreted by Git. " +"Currently they must be encoded in UTF-8, as fast-import does not permit " +"other encodings to be specified." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:68 -msgid "Do not list empty directories. Has no effect without --directory." +#: en/git-fast-import.txt:785 +msgid "" +"Signing annotated tags during import from within fast-import is not " +"supported. Trying to include your own PGP/GPG signature is not recommended, " +"as the frontend does not (easily) have access to the complete set of bytes " +"which normally goes into such a signature. If signing is required, create " +"lightweight tags from within fast-import with `reset`, then create the " +"annotated versions of those tags offline with the standard 'git tag' process." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:70 en/git-update-index.txt:65 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--unmerged" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-ls-files.txt:72 -msgid "Show unmerged files in the output (forces --stage)" +#: en/git-fast-import.txt:792 +msgid "" +"Creates (or recreates) the named branch, optionally starting from a specific " +"revision. The reset command allows a frontend to issue a new `from` command " +"for an existing branch, or to create a new branch from an existing commit " +"without creating a new commit." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:74 +#. type: delimited block . +#: en/git-fast-import.txt:797 #, no-wrap -msgid "--killed" +msgid "" +"\t'reset' SP <ref> LF\n" +"\t('from' SP <commit-ish> LF)?\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:78 +#: en/git-fast-import.txt:801 msgid "" -"Show files on the filesystem that need to be removed due to file/directory " -"conflicts for checkout-index to succeed." +"For a detailed description of `<ref>` and `<commit-ish>` see above under " +"`commit` and `from`." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:82 +#: en/git-fast-import.txt:806 msgid "" -"\\0 line termination on output and do not quote filenames. See OUTPUT below " -"for more information." +"The `reset` command can also be used to create lightweight (non-annotated) " +"tags. For example:" msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:83 +#. type: delimited block = +#: en/git-fast-import.txt:810 #, no-wrap -msgid "-x <pattern>" +msgid "" +"\treset refs/tags/938\n" +"\tfrom :938\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:88 +#: en/git-fast-import.txt:814 msgid "" -"Skip untracked files matching pattern. Note that pattern is a shell " -"wildcard pattern. See EXCLUDE PATTERNS below for more information." +"would create the lightweight tag `refs/tags/938` referring to whatever " +"commit mark `:938` references." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:89 -#, no-wrap -msgid "-X <file>" +#. type: Plain text +#: en/git-fast-import.txt:821 +msgid "" +"Requests writing one file revision to the packfile. The revision is not " +"connected to any commit; this connection must be formed in a subsequent " +"`commit` command by referencing the blob through an assigned mark." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:90 +#. type: delimited block . +#: en/git-fast-import.txt:826 #, no-wrap -msgid "--exclude-from=<file>" +msgid "" +"\t'blob' LF\n" +"\tmark?\n" +"\tdata\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:92 -msgid "Read exclude patterns from <file>; 1 per line." +#: en/git-fast-import.txt:832 +msgid "" +"The mark command is optional here as some frontends have chosen to generate " +"the Git SHA-1 for the blob on their own, and feed that directly to " +"`commit`. This is typically more work than it's worth however, as marks are " +"inexpensive to store and easy to use." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:93 +#. type: Title ~ +#: en/git-fast-import.txt:834 #, no-wrap -msgid "--exclude-per-directory=<file>" +msgid "`data`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:96 +#: en/git-fast-import.txt:841 msgid "" -"Read additional exclude patterns that apply only to the directory and its " -"subdirectories in <file>." +"Supplies raw data (for use as blob/file content, commit messages, or " +"annotated tag messages) to fast-import. Data can be supplied using an exact " +"byte count or delimited with a terminating line. Real frontends intended " +"for production-quality conversions should always use the exact byte count " +"format, as it is more robust and performs better. The delimited format is " +"intended primarily for testing fast-import." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:100 +#: en/git-fast-import.txt:846 msgid "" -"Add the standard Git exclusions: .git/info/exclude, .gitignore in each " -"directory, and the user's global exclusion file." +"Comment lines appearing within the `<raw>` part of `data` commands are " +"always taken to be part of the body of the data and are therefore never " +"ignored by fast-import. This makes it safe to import any file/message " +"content whose lines might start with `#`." msgstr "" #. type: Labeled list -#: en/git-ls-files.txt:101 +#: en/git-fast-import.txt:847 #, no-wrap -msgid "--error-unmatch" +msgid "Exact byte count format" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:104 -msgid "" -"If any <file> does not appear in the index, treat this as an error (return " -"1)." +#: en/git-fast-import.txt:849 +msgid "The frontend must specify the number of bytes of data." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:105 +#. type: delimited block . +#: en/git-fast-import.txt:853 #, no-wrap -msgid "--with-tree=<tree-ish>" -msgstr "" - -#. type: Plain text -#: en/git-ls-files.txt:111 msgid "" -"When using --error-unmatch to expand the user supplied <file> (i.e. path " -"pattern) arguments to paths, pretend that paths which were removed in the " -"index since the named <tree-ish> are still present. Using this option with " -"`-s` or `-u` options does not make any sense." +"\t'data' SP <count> LF\n" +"\t<raw> LF?\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:119 +#: en/git-fast-import.txt:859 msgid "" -"This feature is semi-deprecated. For scripting purpose, linkgit:git-" -"status[1] `--porcelain` and linkgit:git-diff-files[1] `--name-status` are " -"almost always superior alternatives, and users should look at linkgit:git-" -"status[1] `--short` or linkgit:git-diff[1] `--name-status` for more user-" -"friendly alternatives." +"where `<count>` is the exact number of bytes appearing within `<raw>`. The " +"value of `<count>` is expressed as an ASCII decimal integer. The `LF` on " +"either side of `<raw>` is not included in `<count>` and will not be included " +"in the imported data." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:122 +#: en/git-fast-import.txt:864 msgid "" -"This option identifies the file status with the following tags (followed by " -"a space) at the start of each line:" +"The `LF` after `<raw>` is optional (it used to be required) but " +"recommended. Always including it makes debugging a fast-import stream " +"easier as the next command always starts in column 0 of the next line, even " +"if `<raw>` did not end with an `LF`." msgstr "" #. type: Labeled list -#: en/git-ls-files.txt:123 -#, no-wrap -msgid "H" -msgstr "" +#: en/git-fast-import.txt:865 +#, fuzzy, no-wrap +#| msgid "Git internal format" +msgid "Delimited format" +msgstr "Format interne de Git" #. type: Plain text -#: en/git-ls-files.txt:124 -msgid "cached" +#: en/git-fast-import.txt:870 +msgid "" +"A delimiter string is used to mark the end of the data. fast-import will " +"compute the length by searching for the delimiter. This format is primarily " +"useful for testing and is not recommended for real data." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:124 +#. type: delimited block . +#: en/git-fast-import.txt:876 #, no-wrap -msgid "S" +msgid "" +"\t'data' SP '<<' <delim> LF\n" +"\t<raw> LF\n" +"\t<delim> LF\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:125 -msgid "skip-worktree" -msgstr "" - -#. type: Labeled list -#: en/git-ls-files.txt:125 -#, no-wrap -msgid "M" +#: en/git-fast-import.txt:884 +msgid "" +"where `<delim>` is the chosen delimiter string. The string `<delim>` must " +"not appear on a line by itself within `<raw>`, as otherwise fast-import will " +"think the data ends earlier than it really does. The `LF` immediately " +"trailing `<raw>` is part of `<raw>`. This is one of the limitations of the " +"delimited format, it is impossible to supply a data chunk which does not " +"have an LF as its last byte." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:126 -msgid "unmerged" -msgstr "" - -#. type: Labeled list -#: en/git-ls-files.txt:126 -#, no-wrap -msgid "R" +#: en/git-fast-import.txt:886 +msgid "The `LF` after `<delim> LF` is optional (it used to be required)." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:127 -#, fuzzy -#| msgid "removed content" -msgid "removed/deleted" -msgstr "contenu supprim챕" - -#. type: Labeled list -#: en/git-ls-files.txt:127 -#, no-wrap -msgid "C" +#: en/git-fast-import.txt:891 +msgid "" +"Forces fast-import to close the current packfile, start a new one, and to " +"save out all current branch refs, tags and marks." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:128 -#, fuzzy -#| msgid "modified content" -msgid "modified/changed" -msgstr "contenu modifi챕" - -#. type: Labeled list -#: en/git-ls-files.txt:128 +#. type: delimited block . +#: en/git-fast-import.txt:895 #, no-wrap -msgid "K" +msgid "" +"\t'checkpoint' LF\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:129 -msgid "to be killed" +#: en/git-fast-import.txt:901 +msgid "" +"Note that fast-import automatically switches packfiles when the current " +"packfile reaches --max-pack-size, or 4 GiB, whichever limit is smaller. " +"During an automatic packfile switch fast-import does not update the branch " +"refs, tags or marks." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:129 -#, no-wrap -msgid "?" +#. type: Plain text +#: en/git-fast-import.txt:906 +msgid "" +"As a `checkpoint` can require a significant amount of CPU time and disk IO " +"(to compute the overall pack SHA-1 checksum, generate the corresponding " +"index file, and update the refs) it can easily take several minutes for a " +"single `checkpoint` command to complete." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:135 +#: en/git-fast-import.txt:912 msgid "" -"Similar to `-t`, but use lowercase letters for files that are marked as " -"'assume unchanged' (see linkgit:git-update-index[1])." +"Frontends may choose to issue checkpoints during extremely large and long " +"running imports, or when they need to allow another Git process access to a " +"branch. However given that a 30 GiB Subversion repository can be loaded " +"into Git through fast-import in about 3 hours, explicit checkpointing may " +"not be necessary." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:145 +#: en/git-fast-import.txt:921 msgid "" -"Recursively calls ls-files on each submodule in the repository. Currently " -"there is only support for the --cached mode." +"Causes fast-import to print the entire `progress` line unmodified to its " +"standard output channel (file descriptor 1) when the command is processed " +"from the input stream. The command otherwise has no impact on the current " +"import, or on any of fast-import's internal state." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:146 en/git-ls-tree.txt:63 en/git-show-ref.txt:65 -#: en/diff-options.txt:324 +#. type: delimited block . +#: en/git-fast-import.txt:925 #, no-wrap -msgid "--abbrev[=<n>]" -msgstr "" - -#. type: Plain text -#: en/git-ls-files.txt:150 en/git-ls-tree.txt:67 msgid "" -"Instead of showing the full 40-byte hexadecimal object lines, show only a " -"partial prefix. Non default number of digits can be specified with --" -"abbrev=<n>." +"\t'progress' SP <any> LF\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:156 +#: en/git-fast-import.txt:931 msgid "" -"After each line that describes a file, add more data about its cache entry. " -"This is intended to show as much information as possible for manual " -"inspection; the exact format may change at any time." +"The `<any>` part of the command may contain any sequence of bytes that does " +"not contain `LF`. The `LF` after the command is optional. Callers may wish " +"to process the output through a tool such as sed to remove the leading part " +"of the line, for example:" msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:157 +#. type: delimited block = +#: en/git-fast-import.txt:934 #, no-wrap -msgid "--eol" +msgid "\tfrontend | git fast-import | sed 's/^progress //'\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:162 +#: en/git-fast-import.txt:939 msgid "" -"Show <eolinfo> and <eolattr> of files. <eolinfo> is the file content " -"identification used by Git when the \"text\" attribute is \"auto\" (or not " -"set and core.autocrlf is not false). <eolinfo> is either \"-text\", \"none" -"\", \"lf\", \"crlf\", \"mixed\" or \"\"." +"Placing a `progress` command immediately after a `checkpoint` will inform " +"the reader when the `checkpoint` has been completed and it can safely access " +"the refs that fast-import updated." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:165 +#: en/git-fast-import.txt:947 msgid "" -"\"\" means the file is not a regular file, it is not in the index or not " -"accessible in the working tree." +"Causes fast-import to print the SHA-1 corresponding to a mark to stdout or " +"to the file descriptor previously arranged with the `--cat-blob-fd` " +"argument. The command otherwise has no impact on the current import; its " +"purpose is to retrieve SHA-1s that later commits might want to refer to in " +"their commit messages." +msgstr "" + +#. type: delimited block . +#: en/git-fast-import.txt:950 +#, no-wrap +msgid "\t'get-mark' SP ':' <idnum> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:169 +#: en/git-fast-import.txt:955 msgid "" -"<eolattr> is the attribute that is used when checking out or committing, it " -"is either \"\", \"-text\", \"text\", \"text=auto\", \"text eol=lf\", \"text " -"eol=crlf\". Since Git 2.10 \"text=auto eol=lf\" and \"text=auto eol=crlf\" " -"are supported." +"This command can be used anywhere in the stream that comments are accepted. " +"In particular, the `get-mark` command can be used in the middle of a commit " +"but not in the middle of a `data` command." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:173 +#: en/git-fast-import.txt:958 en/git-fast-import.txt:988 +#: en/git-fast-import.txt:1041 msgid "" -"Both the <eolinfo> in the index (\"i/<eolinfo>\") and in the working tree " -"(\"w/<eolinfo>\") are shown for regular files, followed by the (\"attr/" -"<eolattr>\")." +"See ``Responses To Commands'' below for details about how to read this " +"output safely." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:180 +#: en/git-fast-import.txt:966 msgid "" -"Files to show. If no files are given all files which match the other " -"specified criteria are shown." +"Causes fast-import to print a blob to a file descriptor previously arranged " +"with the `--cat-blob-fd` argument. The command otherwise has no impact on " +"the current import; its main purpose is to retrieve blobs that may be in " +"fast-import's memory but not accessible from the target repository." msgstr "" -#. type: Title - -#: en/git-ls-files.txt:182 +#. type: delimited block . +#: en/git-fast-import.txt:969 #, no-wrap -msgid "Output" +msgid "\t'cat-blob' SP <dataref> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:185 +#: en/git-fast-import.txt:974 msgid "" -"'git ls-files' just outputs the filenames unless `--stage` is specified in " -"which case it outputs:" +"The `<dataref>` can be either a mark reference (`:<idnum>`) set previously " +"or a full 40-byte SHA-1 of a Git blob, preexisting or ready to be written." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:187 -#, no-wrap -msgid " [<tag> ]<mode> <object> <stage> <file>\n" +#: en/git-fast-import.txt:976 +msgid "Output uses the same format as `git cat-file --batch`:" msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:190 +#. type: delimited block = +#: en/git-fast-import.txt:980 #, no-wrap msgid "" -"'git ls-files --eol' will show\n" -"\ti/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><file>\n" +"\t<sha1> SP 'blob' SP <size> LF\n" +"\t<contents> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:193 +#: en/git-fast-import.txt:985 msgid "" -"'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine " -"detailed information on unmerged paths." +"This command can be used anywhere in the stream that comments are accepted. " +"In particular, the `cat-blob` command can be used in the middle of a commit " +"but not in the middle of a `data` command." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:199 +#: en/git-fast-import.txt:996 msgid "" -"For an unmerged path, instead of recording a single mode/SHA-1 pair, the " -"index records up to three such pairs; one from tree O in stage 1, A in stage " -"2, and B in stage 3. This information can be used by the user (or the " -"porcelain) to see what should eventually be recorded at the path. (see " -"linkgit:git-read-tree[1] for more information on state)" +"Prints information about the object at a path to a file descriptor " +"previously arranged with the `--cat-blob-fd` argument. This allows printing " +"a blob from the active commit (with `cat-blob`) or copying a blob or tree " +"from a previous commit for use in the current one (with `filemodify`)." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:204 en/git-ls-tree.txt:101 en/diff-format.txt:85 +#: en/git-fast-import.txt:999 msgid "" -"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " -"explained for the configuration variable `core.quotePath` (see linkgit:git-" -"config[1]). Using `-z` the filename is output verbatim and the line is " -"terminated by a NUL byte." +"The `ls` command can be used anywhere in the stream that comments are " +"accepted, including the middle of a commit." msgstr "" -#. type: Title - -#: en/git-ls-files.txt:207 +#. type: Labeled list +#: en/git-fast-import.txt:1000 #, no-wrap -msgid "Exclude Patterns" +msgid "Reading from the active commit" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:213 +#: en/git-fast-import.txt:1004 msgid "" -"'git ls-files' can use a list of \"exclude patterns\" when traversing the " -"directory tree and finding files to show when the flags --others or --" -"ignored are specified. linkgit:gitignore[5] specifies the format of exclude " -"patterns." +"This form can only be used in the middle of a `commit`. The path names a " +"directory entry within fast-import's active commit. The path must be quoted " +"in this case." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:215 -msgid "These exclude patterns come from these places, in order:" +#. type: delimited block . +#: en/git-fast-import.txt:1007 +#, no-wrap +msgid "\t'ls' SP <path> LF\n" msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:219 -msgid "" -"The command-line flag --exclude=<pattern> specifies a single pattern. " -"Patterns are ordered in the same order they appear in the command line." +#. type: Labeled list +#: en/git-fast-import.txt:1009 +#, no-wrap +msgid "Reading from a named tree" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:223 +#: en/git-fast-import.txt:1015 msgid "" -"The command-line flag --exclude-from=<file> specifies a file containing a " -"list of patterns. Patterns are ordered in the same order they appear in the " -"file." +"The `<dataref>` can be a mark reference (`:<idnum>`) or the full 40-byte " +"SHA-1 of a Git tag, commit, or tree object, preexisting or waiting to be " +"written. The path is relative to the top level of the tree named by " +"`<dataref>`." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:229 -msgid "" -"The command-line flag --exclude-per-directory=<name> specifies a name of the " -"file in each directory 'git ls-files' examines, normally `.gitignore`. " -"Files in deeper directories take precedence. Patterns are ordered in the " -"same order they appear in the files." +#. type: delimited block . +#: en/git-fast-import.txt:1018 +#, no-wrap +msgid "\t'ls' SP <dataref> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:235 -msgid "" -"A pattern specified on the command line with --exclude or read from the file " -"specified with --exclude-from is relative to the top of the directory tree. " -"A pattern read from a file specified by --exclude-per-directory is relative " -"to the directory that the pattern file appears in." +#: en/git-fast-import.txt:1021 +msgid "See `filemodify` above for a detailed description of `<path>`." msgstr "" -# #. type: Plain text -#: en/git-ls-files.txt:239 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-read-tree[1], linkgit:gitignore[5]" +#: en/git-fast-import.txt:1023 +msgid "Output uses the same format as `git ls-tree <tree> -- <path>`:" msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-ls-remote.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-ls-remote(1)" -msgstr "git-commit(1)" -#. type: Plain text -#: en/git-ls-remote.txt:7 -msgid "git-ls-remote - List references in a remote repository" +#. type: delimited block = +#: en/git-fast-import.txt:1026 +#, no-wrap +msgid "\t<mode> SP ('blob' | 'tree' | 'commit') SP <dataref> HT <path> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:15 -#, no-wrap +#: en/git-fast-import.txt:1031 msgid "" -"'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" -"\t [-q | --quiet] [--exit-code] [--get-url]\n" -"\t [--symref] [<repository> [<refs>...]]\n" +"The <dataref> represents the blob, tree, or commit object at <path> and can " +"be used in later 'get-mark', 'cat-blob', 'filemodify', or 'ls' commands." msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:20 +#: en/git-fast-import.txt:1034 msgid "" -"Displays references available in a remote repository along with the " -"associated commit IDs." +"If there is no file or subtree at that path, 'git fast-import' will instead " +"report" msgstr "" -#. type: Labeled list -#: en/git-ls-remote.txt:25 en/git-show-ref.txt:41 +#. type: delimited block = +#: en/git-fast-import.txt:1037 #, no-wrap -msgid "--heads" +msgid "\tmissing SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:32 +#: en/git-fast-import.txt:1046 msgid "" -"Limit to only refs/heads and refs/tags, respectively. These options are " -"_not_ mutually exclusive; when given both, references stored in refs/heads " -"and refs/tags are displayed." +"Require that fast-import supports the specified feature, or abort if it does " +"not." msgstr "" -#. type: Labeled list -#: en/git-ls-remote.txt:33 +#. type: delimited block . +#: en/git-fast-import.txt:1049 #, no-wrap -msgid "--refs" +msgid "\t'feature' SP <feature> ('=' <argument>)? LF\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:35 -msgid "Do not show peeled tags or pseudorefs like HEAD\tin the output." +#: en/git-fast-import.txt:1052 +msgid "The <feature> part of the command may be any one of the following:" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:39 -msgid "Do not print remote URL to stderr." +#: en/git-fast-import.txt:1053 en/git-fast-import.txt:1120 +#, no-wrap +msgid "date-format" msgstr "" -#. type: Labeled list -#: en/git-ls-remote.txt:40 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--upload-pack=<exec>" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-ls-remote.txt:45 -msgid "" -"Specify the full path of 'git-upload-pack' on the remote host. This allows " -"listing references from repositories accessed via SSH and where the SSH " -"daemon does not use the PATH configured by the user." +#: en/git-fast-import.txt:1054 en/git-fast-import.txt:1122 +#, no-wrap +msgid "export-marks" msgstr "" #. type: Labeled list -#: en/git-ls-remote.txt:46 en/diff-options.txt:552 +#: en/git-fast-import.txt:1055 #, no-wrap -msgid "--exit-code" +msgid "relative-marks" +msgstr "" + +#. type: Labeled list +#: en/git-fast-import.txt:1056 +#, no-wrap +msgid "no-relative-marks" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:51 +#: en/git-fast-import.txt:1057 en/git-fast-import.txt:1124 +#, no-wrap +msgid "force" +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:1061 msgid "" -"Exit with status \"2\" when no matching refs are found in the remote " -"repository. Usually the command exits with status \"0\" to indicate it " -"successfully talked with the remote repository, whether it found any " -"matching refs." +"Act as though the corresponding command-line option with a leading `--` was " +"passed on the command line (see OPTIONS, above)." +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:1062 en/git-fast-import.txt:1121 +#, no-wrap +msgid "import-marks" msgstr "" #. type: Labeled list -#: en/git-ls-remote.txt:52 +#: en/git-fast-import.txt:1063 #, no-wrap -msgid "--get-url" +msgid "import-marks-if-exists" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:56 +#: en/git-fast-import.txt:1071 msgid "" -"Expand the URL of the given remote repository taking into account any \"url." -"<base>.insteadOf\" config setting (See linkgit:git-config[1]) and exit " -"without talking to the remote." +"Like --import-marks except in two respects: first, only one \"feature import-" +"marks\" or \"feature import-marks-if-exists\" command is allowed per stream; " +"second, an --import-marks= or --import-marks-if-exists command-line option " +"overrides any of these \"feature\" commands in the stream; third, \"feature " +"import-marks-if-exists\" like a corresponding command-line option silently " +"skips a nonexistent file." msgstr "" #. type: Labeled list -#: en/git-ls-remote.txt:57 +#: en/git-fast-import.txt:1072 #, no-wrap -msgid "--symref" +msgid "get-mark" msgstr "" -#. type: Plain text -#: en/git-ls-remote.txt:62 -msgid "" -"In addition to the object pointed by it, show the underlying ref pointed by " -"it when showing a symbolic ref. Currently, upload-pack only shows the " -"symref HEAD, so it will be the only one shown by ls-remote." +#. type: Labeled list +#: en/git-fast-import.txt:1073 +#, no-wrap +msgid "cat-blob" msgstr "" -#. type: Plain text -#: en/git-ls-remote.txt:67 -msgid "" -"The \"remote\" repository to query. This parameter can be either a URL or " -"the name of a remote (see the GIT URLS and REMOTES sections of linkgit:git-" -"fetch[1])." +#. type: Labeled list +#: en/git-fast-import.txt:1074 +#, no-wrap +msgid "ls" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:73 +#: en/git-fast-import.txt:1082 msgid "" -"When unspecified, all references, after filtering done with --heads and --" -"tags, are shown. When <refs>... are specified, only references matching the " -"given patterns are displayed." +"Require that the backend support the 'get-mark', 'cat-blob', or 'ls' command " +"respectively. Versions of fast-import not supporting the specified command " +"will exit with a message indicating so. This lets the import error out " +"early with a clear message, rather than wasting time on the early part of an " +"import before the unsupported command is detected." msgstr "" -#. type: Plain text -#: en/git-ls-remote.txt:92 +#. type: Labeled list +#: en/git-fast-import.txt:1083 #, no-wrap +msgid "notes" +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:1088 msgid "" -"\t$ git ls-remote --tags ./.\n" -"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" -"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" -"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" -"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" -"\t0918385dbd9656cab0d1d81ba7453d49bbc16250\trefs/tags/junio-gpg-pub\n" -"\t$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master pu rc\n" -"\t5fe978a5381f1fbad26a80e682ddd2a401966740\trefs/heads/master\n" -"\tc781a84b5204fb294c9ccc79f8b3baceeb32c061\trefs/heads/pu\n" -"\t$ git remote add korg http://www.kernel.org/pub/scm/git/git.git\n" -"\t$ git ls-remote --tags korg v\\*\n" -"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" -"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" -"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" -"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" +"Require that the backend support the 'notemodify' (N) subcommand to the " +"'commit' command. Versions of fast-import not supporting notes will exit " +"with a message indicating so." msgstr "" -#. type: Title = -#: en/git-ls-tree.txt:2 +#. type: Labeled list +#: en/git-fast-import.txt:1089 #, no-wrap -msgid "git-ls-tree(1)" +msgid "done" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:7 -msgid "git-ls-tree - List the contents of a tree object" +#: en/git-fast-import.txt:1096 +msgid "" +"Error out if the stream ends without a 'done' command. Without this " +"feature, errors causing the frontend to end abruptly at a convenient point " +"in the stream can go undetected. This may occur, for example, if an import " +"front end dies in mid-operation without emitting SIGTERM or SIGKILL at its " +"subordinate git fast-import instance." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:15 -#, no-wrap +#: en/git-fast-import.txt:1103 msgid "" -"'git ls-tree' [-d] [-r] [-t] [-l] [-z]\n" -"\t [--name-only] [--name-status] [--full-name] [--full-tree] [--abbrev[=<n>]]\n" -"\t <tree-ish> [<path>...]\n" +"Processes the specified option so that git fast-import behaves in a way that " +"suits the frontend's needs. Note that options specified by the frontend are " +"overridden by any options the user may specify to git fast-import itself." msgstr "" -#. type: Plain text -#: en/git-ls-tree.txt:20 -msgid "" -"Lists the contents of a given tree object, like what \"/bin/ls -a\" does in " -"the current working directory. Note that:" +#. type: delimited block . +#: en/git-fast-import.txt:1106 +#, no-wrap +msgid " 'option' SP <option> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:25 +#: en/git-fast-import.txt:1111 msgid "" -"the behaviour is slightly different from that of \"/bin/ls\" in that the " -"'<path>' denotes just a list of patterns to match, e.g. so specifying " -"directory name (without `-r`) will behave differently, and order of the " -"arguments does not matter." +"The `<option>` part of the command may contain any of the options listed in " +"the OPTIONS section that do not change import semantics, without the leading " +"`--` and is treated in the same way." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:35 +#: en/git-fast-import.txt:1115 msgid "" -"the behaviour is similar to that of \"/bin/ls\" in that the '<path>' is " -"taken as relative to the current working directory. E.g. when you are in a " -"directory 'sub' that has a directory 'dir', you can run 'git ls-tree -r HEAD " -"dir' to list the contents of the tree (that is 'sub/dir' in `HEAD`). You " -"don't want to give a tree that is not at the root level (e.g. `git ls-tree -" -"r HEAD:sub dir`) in this case, as that would result in asking for 'sub/sub/" -"dir' in the `HEAD` commit. However, the current working directory can be " -"ignored by passing --full-tree option." +"Option commands must be the first commands on the input (not counting " +"feature commands), to give an option command after any non-option command is " +"an error." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:40 -msgid "Id of a tree-ish." +#: en/git-fast-import.txt:1118 +msgid "" +"The following command-line options change import semantics and may therefore " +"not be passed as option:" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:43 -msgid "Show only the named tree entry itself, not its children." +#: en/git-fast-import.txt:1123 +msgid "cat-blob-fd" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:46 -msgid "Recurse into sub-trees." +#: en/git-fast-import.txt:1129 +msgid "" +"If the `done` feature is not in use, treated as if EOF was read. This can " +"be used to tell fast-import to finish early." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:50 +#: en/git-fast-import.txt:1133 msgid "" -"Show tree entries even when going to recurse them. Has no effect if `-r` was " -"not passed. `-d` implies `-t`." +"If the `--done` command-line option or `feature done` command is in use, the " +"`done` command is mandatory and marks the end of the stream." msgstr "" -#. type: Plain text -#: en/git-ls-tree.txt:54 -msgid "Show object size of blob (file) entries." +#. type: Title - +#: en/git-fast-import.txt:1135 +#, no-wrap +msgid "Responses To Commands" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:58 +#: en/git-fast-import.txt:1142 msgid "" -"\\0 line termination on output and do not quote filenames. See OUTPUT " -"FORMAT below for more information." +"New objects written by fast-import are not available immediately. Most fast-" +"import commands have no visible effect until the next checkpoint (or " +"completion). The frontend can send commands to fill fast-import's input " +"pipe without worrying about how quickly they will take effect, which " +"improves performance by simplifying scheduling." msgstr "" -#. type: Labeled list -#: en/git-ls-tree.txt:60 en/diff-options.txt:202 -#, fuzzy, no-wrap -#| msgid "status" -msgid "--name-status" -msgstr "status" - #. type: Plain text -#: en/git-ls-tree.txt:62 -msgid "List only filenames (instead of the \"long\" output), one per line." +#: en/git-fast-import.txt:1149 +msgid "" +"For some frontends, though, it is useful to be able to read back data from " +"the current repository as it is being updated (for example when the source " +"material describes objects in terms of patches to be applied to previously " +"imported objects). This can be accomplished by connecting the frontend and " +"fast-import via bidirectional pipes:" msgstr "" -#. type: Plain text -#: en/git-ls-tree.txt:71 +#. type: delimited block = +#: en/git-fast-import.txt:1154 +#, no-wrap msgid "" -"Instead of showing the path names relative to the current working directory, " -"show the full path names." +"\tmkfifo fast-import-output\n" +"\tfrontend <fast-import-output |\n" +"\tgit fast-import >fast-import-output\n" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:75 +#: en/git-fast-import.txt:1158 msgid "" -"Do not limit the listing to the current working directory. Implies --full-" -"name." +"A frontend set up this way can use `progress`, `get-mark`, `ls`, and `cat-" +"blob` commands to read information from the import in progress." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:80 -#, no-wrap +#: en/git-fast-import.txt:1162 msgid "" -"[<path>...]::\n" -"\tWhen paths are given, show them (note that this isn't really raw\n" -"\tpathnames, but rather a list of patterns to match). Otherwise\n" -"\timplicitly uses the root level of the tree as the sole path argument.\n" +"To avoid deadlock, such frontends must completely consume any pending output " +"from `progress`, `ls`, `get-mark`, and `cat-blob` before performing writes " +"to fast-import that might block." msgstr "" #. type: Title - -#: en/git-ls-tree.txt:83 -#, no-wrap -msgid "Output Format" -msgstr "" - -#. type: Plain text -#: en/git-ls-tree.txt:85 +#: en/git-fast-import.txt:1164 #, no-wrap -msgid " <mode> SP <type> SP <object> TAB <file>\n" +msgid "Crash Reports" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:88 +#: en/git-fast-import.txt:1170 msgid "" -"This output format is compatible with what `--index-info --stdin` of 'git " -"update-index' expects." +"If fast-import is supplied invalid input it will terminate with a non-zero " +"exit status and create a crash report in the top level of the Git repository " +"it was importing into. Crash reports contain a snapshot of the internal " +"fast-import state as well as the most recent commands that lead up to the " +"crash." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:90 -msgid "When the `-l` option is used, format changes to" +#: en/git-fast-import.txt:1177 +msgid "" +"All recent commands (including stream comments, file changes and progress " +"commands) are shown in the command history within the crash report, but raw " +"file data and commit messages are excluded from the crash report. This " +"exclusion saves space within the report file and reduces the amount of " +"buffering that fast-import must perform during execution." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:92 -#, no-wrap -msgid " <mode> SP <type> SP <object> SP <object size> TAB <file>\n" +#: en/git-fast-import.txt:1185 +msgid "" +"After writing a crash report fast-import will close the current packfile and " +"export the marks table. This allows the frontend developer to inspect the " +"repository state and resume the import from the point where it crashed. The " +"modified branches and tags are not updated during a crash, as the import did " +"not complete successfully. Branch and tag information can be found in the " +"crash report and must be applied manually if the update is needed." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:96 -msgid "" -"Object size identified by <object> is given in bytes, and right-justified " -"with minimum width of 7 characters. Object size is given only for blobs " -"(file) entries; for other entries `-` character is used in place of size." +#: en/git-fast-import.txt:1187 +msgid "An example crash:" msgstr "" -#. type: Title = -#: en/git-mailinfo.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-mailinfo(1)" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-mailinfo.txt:7 +#. type: delimited block = +#: en/git-fast-import.txt:1203 +#, no-wrap msgid "" -"git-mailinfo - Extracts patch and authorship from a single e-mail message" +"\t$ cat >in <<END_OF_INPUT\n" +"\t# my very first test commit\n" +"\tcommit refs/heads/master\n" +"\tcommitter Shawn O. Pearce <spearce> 19283 -0400\n" +"\t# who is that guy anyway?\n" +"\tdata <<EOF\n" +"\tthis is my commit\n" +"\tEOF\n" +"\tM 644 inline .gitignore\n" +"\tdata <<EOF\n" +"\t.gitignore\n" +"\tEOF\n" +"\tM 777 inline bob\n" +"\tEND_OF_INPUT\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:13 +#. type: delimited block = +#: en/git-fast-import.txt:1207 #, no-wrap -msgid "'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] <msg> <patch>\n" +msgid "" +"\t$ git fast-import <in\n" +"\tfatal: Corrupt mode: M 777 inline bob\n" +"\tfast-import: dumping crash report to .git/fast_import_crash_8434\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:23 +#. type: delimited block = +#: en/git-fast-import.txt:1213 +#, no-wrap msgid "" -"Reads a single e-mail message from the standard input, and writes the commit " -"log message in <msg> file, and the patches in <patch> file. The author " -"name, e-mail and e-mail subject are written out to the standard output to be " -"used by 'git am' to create a commit. It is usually not necessary to use " -"this command directly. See linkgit:git-am[1] instead." +"\t$ cat .git/fast_import_crash_8434\n" +"\tfast-import crash report:\n" +"\t fast-import process: 8434\n" +"\t parent process : 1391\n" +"\t at Sat Sep 1 00:58:12 2007\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:32 -msgid "" -"Usually the program removes email cruft from the Subject: header line to " -"extract the title line for the commit log message. This option prevents " -"this munging, and is most useful when used to read back 'git format-patch -" -"k' output." +#. type: delimited block = +#: en/git-fast-import.txt:1215 +#, no-wrap +msgid "\tfatal: Corrupt mode: M 777 inline bob\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:34 -msgid "Specifically, the following are removed until none of them remain:" +#. type: delimited block = +#: en/git-fast-import.txt:1225 +#, no-wrap +msgid "" +"\tMost Recent Commands Before Crash\n" +"\t---------------------------------\n" +"\t # my very first test commit\n" +"\t commit refs/heads/master\n" +"\t committer Shawn O. Pearce <spearce> 19283 -0400\n" +"\t # who is that guy anyway?\n" +"\t data <<EOF\n" +"\t M 644 inline .gitignore\n" +"\t data <<EOF\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:37 -msgid "Leading and trailing whitespace." +#. type: delimited block = +#: en/git-fast-import.txt:1226 +#, no-wrap +msgid "M 777 inline bob\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:39 -msgid "Leading `Re:`, `re:`, and `:`." +#. type: delimited block = +#: en/git-fast-import.txt:1229 +#, no-wrap +msgid "" +"Active Branch LRU\n" +"-----------------\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:41 -msgid "Leading bracketed strings (between `[` and `]`, usually" +#. type: delimited block = +#: en/git-fast-import.txt:1230 +#, no-wrap +msgid "active_branches = 1 cur, 5 max\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:42 -msgid "`[PATCH]`)." +#. type: delimited block = +#: en/git-fast-import.txt:1233 +msgid "pos clock name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:46 -msgid "" -"Finally, runs of whitespace are normalized to a single ASCII space character." +#. type: delimited block = +#: en/git-fast-import.txt:1234 +msgid "0 refs/heads/master" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:51 +#. type: delimited block = +#: en/git-fast-import.txt:1238 +#, no-wrap msgid "" -"When -k is not in effect, all leading strings bracketed with '[' and ']' " -"pairs are stripped. This option limits the stripping to only the pairs " -"whose bracketed string contains the word \"PATCH\"." +"Inactive Branches\n" +"-----------------\n" +"refs/heads/master:\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:58 +#. type: delimited block = +#: en/git-fast-import.txt:1244 +#, no-wrap msgid "" -"The commit log message, author name and author email are taken from the e-" -"mail, and after minimally decoding MIME transfer encoding, re-coded in the " -"charset specified by i18n.commitencoding (defaulting to UTF-8) by " -"transliterating them. This used to be optional but now it is the default." +"status : active loaded dirty\n" +"tip commit : 0000000000000000000000000000000000000000\n" +"old tree : 0000000000000000000000000000000000000000\n" +"cur tree : 0000000000000000000000000000000000000000\n" +"commit clock: 0\n" +"last pack :\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:61 -msgid "" -"Note that the patch is always used as-is without charset conversion, even " -"with this flag." +#. type: delimited block = +#: en/git-fast-import.txt:1248 +msgid "------------------- END OF CRASH REPORT" msgstr "" -#. type: Labeled list -#: en/git-mailinfo.txt:62 en/blame-options.txt:52 en/pretty-options.txt:35 +#. type: Title - +#: en/git-fast-import.txt:1251 #, no-wrap -msgid "--encoding=<encoding>" +msgid "Tips and Tricks" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:65 +#: en/git-fast-import.txt:1254 msgid "" -"Similar to -u. But when re-coding, the charset specified here is used " -"instead of the one specified by i18n.commitencoding or UTF-8." +"The following tips and tricks have been collected from various users of fast-" +"import, and are offered here as suggestions." msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:68 -msgid "Disable all charset re-coding of the metadata." +#. type: Title ~ +#: en/git-fast-import.txt:1256 +#, no-wrap +msgid "Use One Mark Per Commit" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:73 +#: en/git-fast-import.txt:1264 msgid "" -"Copy the Message-ID header at the end of the commit message. This is useful " -"in order to associate commits with mailing list discussions." +"When doing a repository conversion, use a unique mark per commit (`mark :" +"<n>`) and supply the --export-marks option on the command line. fast-import " +"will dump a file which lists every mark and the Git object SHA-1 that " +"corresponds to it. If the frontend can tie the marks back to the source " +"repository, it is easy to verify the accuracy and completeness of the import " +"by comparing each Git commit to the corresponding source revision." msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:82 +#: en/git-fast-import.txt:1268 msgid "" -"Remove everything in body before a scissors line. A line that mainly " -"consists of scissors (either \">8\" or \"8<\") and perforation (dash \"-\") " -"marks is called a scissors line, and is used to request the reader to cut " -"the message at that line. If such a line appears in the body of the message " -"before the patch, everything before it (including the scissors line itself) " -"is ignored when this option is used." +"Coming from a system such as Perforce or Subversion this should be quite " +"simple, as the fast-import mark can also be the Perforce changeset number or " +"the Subversion revision number." msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:87 -msgid "" -"This is useful if you want to begin your message in a discussion thread with " -"comments and suggestions on the message you are responding to, and to " -"conclude it with a patch submission, separating the discussion and the " -"beginning of the proposed commit log message with a scissors line." +#. type: Title ~ +#: en/git-fast-import.txt:1270 +#, no-wrap +msgid "Freely Skip Around Branches" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:89 +#: en/git-fast-import.txt:1275 msgid "" -"This can be enabled by default with the configuration option mailinfo." -"scissors." +"Don't bother trying to optimize the frontend to stick to one branch at a " +"time during an import. Although doing so might be slightly faster for fast-" +"import, it tends to increase the complexity of the frontend code " +"considerably." msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:92 +#: en/git-fast-import.txt:1279 msgid "" -"Ignore scissors lines. Useful for overriding mailinfo.scissors settings." +"The branch LRU builtin to fast-import tends to behave very well, and the " +"cost of activating an inactive branch is so low that bouncing around between " +"branches has virtually no impact on import performance." msgstr "" -#. type: Labeled list -#: en/git-mailinfo.txt:93 +#. type: Title ~ +#: en/git-fast-import.txt:1281 #, no-wrap -msgid "<msg>" +msgid "Handling Renames" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:96 +#: en/git-fast-import.txt:1286 msgid "" -"The commit log message extracted from e-mail, usually except the title line " -"which comes from e-mail Subject." -msgstr "" - -#. type: Labeled list -#: en/git-mailinfo.txt:97 en/git-patch-id.txt:59 -#, fuzzy, no-wrap -#| msgid "patch" -msgid "<patch>" -msgstr "patch" - -#. type: Plain text -#: en/git-mailinfo.txt:99 -msgid "The patch extracted from e-mail." +"When importing a renamed file or directory, simply delete the old name(s) " +"and modify the new name(s) during the corresponding commit. Git performs " +"rename detection after-the-fact, rather than explicitly during a commit." msgstr "" -#. type: Title = -#: en/git-mailsplit.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-mailsplit(1)" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-mailsplit.txt:7 -msgid "git-mailsplit - Simple UNIX mbox splitter program" +#. type: Title ~ +#: en/git-fast-import.txt:1288 +#, no-wrap +msgid "Use Tag Fixup Branches" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:13 -#, no-wrap +#: en/git-fast-import.txt:1292 msgid "" -"'git mailsplit' [-b] [-f<nn>] [-d<prec>] [--keep-cr] [--mboxrd]\n" -"\t\t-o<directory> [--] [(<mbox>|<Maildir>)...]\n" +"Some other SCM systems let the user create a tag from multiple files which " +"are not from the same commit/changeset. Or to create tags which are a " +"subset of the files available in the repository." msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:18 +#: en/git-fast-import.txt:1299 msgid "" -"Splits a mbox file or a Maildir into a list of files: \"0001\" \"0002\" .. " -"in the specified directory so you can process them further from there." +"Importing these tags as-is in Git is impossible without making at least one " +"commit which ``fixes up'' the files to match the content of the tag. Use " +"fast-import's `reset` command to reset a dummy branch outside of your normal " +"branch space to the base commit for the tag, then commit one or more file " +"fixup commits, and finally tag the dummy branch." msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:21 +#: en/git-fast-import.txt:1305 msgid "" -"Maildir splitting relies upon filenames being sorted to output patches in " -"the correct order." -msgstr "" - -#. type: Labeled list -#: en/git-mailsplit.txt:24 -#, no-wrap -msgid "<mbox>" +"For example since all normal branches are stored under `refs/heads/` name " +"the tag fixup branch `TAG_FIXUP`. This way it is impossible for the fixup " +"branch used by the importer to have namespace conflicts with real branches " +"imported from the source (the name `TAG_FIXUP` is not `refs/heads/" +"TAG_FIXUP`)." msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:27 -#, fuzzy -#| msgid "" -#| "-F <file>::\n" -#| "--file=<file>::\n" -#| "\tTake the commit message from the given file. Use '-' to\n" -#| "\tread the message from the standard input.\n" +#: en/git-fast-import.txt:1311 msgid "" -"Mbox file to split. If not given, the mbox is read from the standard input." -msgstr "" -"-F <fichier>::\n" -"--file=<fichier>::\n" -"\tPrendre le message de validation depuis le fichier indiqu챕.\n" -"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" - -#. type: Labeled list -#: en/git-mailsplit.txt:28 -#, no-wrap -msgid "<Maildir>" +"When committing fixups, consider using `merge` to connect the commit(s) " +"which are supplying file revisions to the fixup branch. Doing so will allow " +"tools such as 'git blame' to track through the real commit history and " +"properly annotate the source files." msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:31 +#: en/git-fast-import.txt:1314 msgid "" -"Root of the Maildir to split. This directory should contain the cur, tmp and " -"new subdirectories." +"After fast-import terminates the frontend will need to do `rm .git/" +"TAG_FIXUP` to remove the dummy branch." msgstr "" -#. type: Labeled list -#: en/git-mailsplit.txt:32 +#. type: Title ~ +#: en/git-fast-import.txt:1316 #, no-wrap -msgid "-o<directory>" +msgid "Import Now, Repack Later" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:34 -msgid "Directory in which to place the individual messages." +#: en/git-fast-import.txt:1320 +msgid "" +"As soon as fast-import completes the Git repository is completely valid and " +"ready for use. Typically this takes only a very short time, even for " +"considerably large projects (100,000+ commits)." msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:38 +#: en/git-fast-import.txt:1327 msgid "" -"If any file doesn't begin with a From line, assume it is a single mail " -"message instead of signaling error." -msgstr "" - -#. type: Labeled list -#: en/git-mailsplit.txt:39 -#, no-wrap -msgid "-d<prec>" +"However repacking the repository is necessary to improve data locality and " +"access performance. It can also take hours on extremely large projects " +"(especially if -f and a large --window parameter is used). Since repacking " +"is safe to run alongside readers and writers, run the repack in the " +"background and let it finish when it finishes. There is no reason to wait " +"to explore your new Git project!" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:43 +#: en/git-fast-import.txt:1332 msgid "" -"Instead of the default 4 digits with leading zeros, different precision can " -"be specified for the generated filenames." +"If you choose to wait for the repack, don't try to run benchmarks or " +"performance tests until repacking is completed. fast-import outputs " +"suboptimal packfiles that are simply never seen in real use situations." msgstr "" -#. type: Labeled list -#: en/git-mailsplit.txt:44 +#. type: Title ~ +#: en/git-fast-import.txt:1334 #, no-wrap -msgid "-f<nn>" +msgid "Repacking Historical Data" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:47 +#: en/git-fast-import.txt:1341 msgid "" -"Skip the first <nn> numbers, for example if -f3 is specified, start the " -"numbering with 0004." +"If you are repacking very old imported data (e.g. older than the last year), " +"consider expending some extra CPU time and supplying --window=50 (or higher) " +"when you run 'git repack'. This will take longer, but will also produce a " +"smaller packfile. You only need to expend the effort once, and everyone " +"using your project will benefit from the smaller repository." msgstr "" -#. type: Labeled list -#: en/git-mailsplit.txt:48 +#. type: Title ~ +#: en/git-fast-import.txt:1343 #, no-wrap -msgid "--keep-cr" +msgid "Include Some Progress Messages" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:50 -msgid "Do not remove `\\r` from lines ending with `\\r\\n`." +#: en/git-fast-import.txt:1350 +msgid "" +"Every once in a while have your frontend emit a `progress` message to fast-" +"import. The contents of the messages are entirely free-form, so one " +"suggestion would be to output the current month and year each time the " +"current commit date moves into the next month. Your users will feel better " +"knowing how much of the data stream has been processed." msgstr "" -#. type: Labeled list -#: en/git-mailsplit.txt:51 +#. type: Title - +#: en/git-fast-import.txt:1353 #, no-wrap -msgid "--mboxrd" +msgid "Packfile Optimization" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:54 +#: en/git-fast-import.txt:1359 msgid "" -"Input is of the \"mboxrd\" format and \"^>+From \" line escaping is reversed." -msgstr "" - -#. type: Title = -#: en/git-merge-base.txt:2 -#, no-wrap -msgid "git-merge-base(1)" +"When packing a blob fast-import always attempts to deltify against the last " +"blob written. Unless specifically arranged for by the frontend, this will " +"probably not be a prior version of the same file, so the generated delta " +"will not be the smallest possible. The resulting packfile will be " +"compressed, but will not be optimal." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:7 -msgid "git-merge-base - Find as good common ancestors as possible for a merge" +#: en/git-fast-import.txt:1367 +msgid "" +"Frontends which have efficient access to all revisions of a single file (for " +"example reading an RCS/CVS ,v file) can choose to supply all revisions of " +"that file as a sequence of consecutive `blob` commands. This allows fast-" +"import to deltify the different file revisions against each other, saving " +"space in the final packfile. Marks can be used to later identify individual " +"file revisions during a sequence of `commit` commands." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:17 -#, no-wrap +#: en/git-fast-import.txt:1374 msgid "" -"'git merge-base' [-a|--all] <commit> <commit>...\n" -"'git merge-base' [-a|--all] --octopus <commit>...\n" -"'git merge-base' --is-ancestor <commit> <commit>\n" -"'git merge-base' --independent <commit>...\n" -"'git merge-base' --fork-point <ref> [<commit>]\n" +"The packfile(s) created by fast-import do not encourage good disk access " +"patterns. This is caused by fast-import writing the data in the order it is " +"received on standard input, while Git typically organizes data within " +"packfiles to make the most recent (current tip) data appear before " +"historical data. Git also clusters commits together, speeding up revision " +"traversal through better cache locality." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:27 +#: en/git-fast-import.txt:1381 msgid "" -"'git merge-base' finds best common ancestor(s) between two commits to use in " -"a three-way merge. One common ancestor is 'better' than another common " -"ancestor if the latter is an ancestor of the former. A common ancestor that " -"does not have any better common ancestor is a 'best common ancestor', i.e. a " -"'merge base'. Note that there can be more than one merge base for a pair of " -"commits." +"For this reason it is strongly recommended that users repack the repository " +"with `git repack -a -d` after fast-import completes, allowing Git to " +"reorganize the packfiles for faster data access. If blob deltas are " +"suboptimal (see above) then also adding the `-f` option to force " +"recomputation of all deltas can significantly reduce the final packfile size " +"(30-50% smaller can be quite typical)." msgstr "" #. type: Title - -#: en/git-merge-base.txt:29 -#, fuzzy, no-wrap -#| msgid "OPTIONS" -msgid "OPERATION MODES" -msgstr "OPTIONS" +#: en/git-fast-import.txt:1384 +#, no-wrap +msgid "Memory Utilization" +msgstr "" #. type: Plain text -#: en/git-merge-base.txt:33 +#: en/git-fast-import.txt:1390 msgid "" -"As the most common special case, specifying only two commits on the command " -"line means computing the merge base between the given two commits." +"There are a number of factors which affect how much memory fast-import " +"requires to perform an import. Like critical sections of core Git, fast-" +"import uses its own memory allocators to amortize any overheads associated " +"with malloc. In practice fast-import tends to amortize any malloc overheads " +"to 0, due to its use of large block allocations." msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:38 -msgid "" -"More generally, among the two commits to compute the merge base from, one is " -"specified by the first commit argument on the command line; the other commit " -"is a (possibly hypothetical) commit that is a merge across all the remaining " -"commits on the command line." +#. type: Title ~ +#: en/git-fast-import.txt:1392 +#, no-wrap +msgid "per object" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:42 +#: en/git-fast-import.txt:1399 msgid "" -"As a consequence, the 'merge base' is not necessarily contained in each of " -"the commit arguments if more than two commits are specified. This is " -"different from linkgit:git-show-branch[1] when used with the `--merge-base` " -"option." -msgstr "" - -#. type: Labeled list -#: en/git-merge-base.txt:43 -#, no-wrap -msgid "--octopus" +"fast-import maintains an in-memory structure for every object written in " +"this execution. On a 32 bit system the structure is 32 bytes, on a 64 bit " +"system the structure is 40 bytes (due to the larger pointer sizes). Objects " +"in the table are not deallocated until fast-import terminates. Importing 2 " +"million objects on a 32 bit system will require approximately 64 MiB of " +"memory." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:47 +#: en/git-fast-import.txt:1405 msgid "" -"Compute the best common ancestors of all supplied commits, in preparation " -"for an n-way merge. This mimics the behavior of 'git show-branch --merge-" -"base'." +"The object table is actually a hashtable keyed on the object name (the " +"unique SHA-1). This storage configuration allows fast-import to reuse an " +"existing or already written object and avoid writing duplicates to the " +"output packfile. Duplicate blobs are surprisingly common in an import, " +"typically due to branch merges in the source." msgstr "" -#. type: Labeled list -#: en/git-merge-base.txt:48 en/git-show-branch.txt:90 +#. type: Title ~ +#: en/git-fast-import.txt:1407 #, no-wrap -msgid "--independent" +msgid "per mark" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:54 +#: en/git-fast-import.txt:1413 msgid "" -"Instead of printing merge bases, print a minimal subset of the supplied " -"commits with the same ancestors. In other words, among the commits given, " -"list those which cannot be reached from any other. This mimics the behavior " -"of 'git show-branch --independent'." +"Marks are stored in a sparse array, using 1 pointer (4 bytes or 8 bytes, " +"depending on pointer size) per mark. Although the array is sparse, " +"frontends are still strongly encouraged to use marks between 1 and n, where " +"n is the total number of marks required for this import." msgstr "" -#. type: Labeled list -#: en/git-merge-base.txt:55 +#. type: Title ~ +#: en/git-fast-import.txt:1415 #, no-wrap -msgid "--is-ancestor" +msgid "per branch" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:59 +#: en/git-fast-import.txt:1418 msgid "" -"Check if the first <commit> is an ancestor of the second <commit>, and exit " -"with status 0 if true, or with status 1 if not. Errors are signaled by a " -"non-zero status that is not 1." -msgstr "" - -#. type: Labeled list -#: en/git-merge-base.txt:60 en/git-rebase.txt:346 -#, no-wrap -msgid "--fork-point" +"Branches are classified as active and inactive. The memory usage of the two " +"classes is significantly different." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:68 +#: en/git-fast-import.txt:1424 msgid "" -"Find the point at which a branch (or any history that leads to <commit>) " -"forked from another branch (or any reference) <ref>. This does not just " -"look for the common ancestor of the two commits, but also takes into account " -"the reflog of <ref> to see if the history leading to <commit> forked from an " -"earlier incarnation of the branch <ref> (see discussion on this mode below)." +"Inactive branches are stored in a structure which uses 96 or 120 bytes (32 " +"bit or 64 bit systems, respectively), plus the length of the branch name " +"(typically under 200 bytes), per branch. fast-import will easily handle as " +"many as 10,000 inactive branches in under 2 MiB of memory." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:74 -msgid "Output all merge bases for the commits, instead of just one." +#: en/git-fast-import.txt:1431 +msgid "" +"Active branches have the same overhead as inactive branches, but also " +"contain copies of every tree that has been recently modified on that " +"branch. If subtree `include` has not been modified since the branch became " +"active, its contents will not be loaded into memory, but if subtree `src` " +"has been modified by a commit since the branch became active, then its " +"contents will be loaded in memory." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:80 +#: en/git-fast-import.txt:1435 msgid "" -"Given two commits 'A' and 'B', `git merge-base A B` will output a commit " -"which is reachable from both 'A' and 'B' through the parent relationship." +"As active branches store metadata about the files contained on that branch, " +"their in-memory storage size can grow to a considerable size (see below)." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:82 -msgid "For example, with this topology:" +#: en/git-fast-import.txt:1440 +msgid "" +"fast-import automatically moves active branches to inactive status based on " +"a simple least-recently-used algorithm. The LRU chain is updated on each " +"`commit` command. The maximum number of active branches can be increased or " +"decreased on the command line with --active-branches=." msgstr "" +#. type: Title ~ +#: en/git-fast-import.txt:1442 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "per active tree" +msgstr "Mode interactif" + #. type: Plain text -#: en/git-merge-base.txt:86 -#, no-wrap +#: en/git-fast-import.txt:1447 msgid "" -"\t o---o---o---B\n" -"\t /\n" -"\t---o---1---o---o---o---A\n" +"Trees (aka directories) use just 12 bytes of memory on top of the memory " +"required for their entries (see ``per active file'' below). The cost of a " +"tree is virtually 0, as its overhead amortizes out over the individual file " +"entries." msgstr "" +#. type: Title ~ +#: en/git-fast-import.txt:1449 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "per active file entry" +msgstr "Mode interactif" + #. type: Plain text -#: en/git-merge-base.txt:88 -msgid "the merge base between 'A' and 'B' is '1'." +#: en/git-fast-import.txt:1455 +msgid "" +"Files (and pointers to subtrees) within active trees require 52 or 64 bytes " +"(32/64 bit platforms) per entry. To conserve space, file and tree names are " +"pooled in a common string table, allowing the filename ``Makefile'' to use " +"just 16 bytes (after including the string header overhead) no matter how " +"many times it occurs within the project." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:92 +#: en/git-fast-import.txt:1460 msgid "" -"Given three commits 'A', 'B' and 'C', `git merge-base A B C` will compute " -"the merge base between 'A' and a hypothetical commit 'M', which is a merge " -"between 'B' and 'C'. For example, with this topology:" +"The active branch LRU, when coupled with the filename string pool and lazy " +"loading of subtrees, allows fast-import to efficiently import projects with " +"2,000+ branches and 45,114+ files in a very limited memory footprint (less " +"than 2.7 MiB per active branch)." msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:98 +#. type: Title - +#: en/git-fast-import.txt:1462 #, no-wrap -msgid "" -"\t o---o---o---o---C\n" -"\t /\n" -"\t / o---o---o---B\n" -"\t / /\n" -"\t---2---1---o---o---o---A\n" +msgid "Signals" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:101 +#: en/git-fast-import.txt:1468 msgid "" -"the result of `git merge-base A B C` is '1'. This is because the equivalent " -"topology with a merge commit 'M' between 'B' and 'C' is:" +"Sending *SIGUSR1* to the 'git fast-import' process ends the current packfile " +"early, simulating a `checkpoint` command. The impatient operator can use " +"this facility to peek at the objects and refs from an import in progress, at " +"the cost of some added running time and worse compression." msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:108 +#. type: Title = +#: en/git-fetch-pack.txt:2 #, no-wrap -msgid "" -"\t o---o---o---o---o\n" -"\t / \\\n" -"\t / o---o---o---o---M\n" -"\t / /\n" -"\t---2---1---o---o---o---A\n" +msgid "git-fetch-pack(1)" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:112 -msgid "" -"and the result of `git merge-base A M` is '1'. Commit '2' is also a common " -"ancestor between 'A' and 'M', but '1' is a better common ancestor, because " -"'2' is an ancestor of '1'. Hence, '2' is not a merge base." -msgstr "" +#: en/git-fetch-pack.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-fetch-pack - Receive missing objects from another repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Plain text -#: en/git-merge-base.txt:115 +#: en/git-fetch-pack.txt:16 +#, no-wrap msgid "" -"The result of `git merge-base --octopus A B C` is '2', because '2' is the " -"best common ancestor of all commits." +"'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]\n" +"\t[--upload-pack=<git-upload-pack>]\n" +"\t[--depth=<n>] [--no-progress]\n" +"\t[-v] <repository> [<refs>...]\n" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:118 +#: en/git-fetch-pack.txt:21 msgid "" -"When the history involves criss-cross merges, there can be more than one " -"'best' common ancestor for two commits. For example, with this topology:" +"Usually you would want to use 'git fetch', which is a higher level wrapper " +"of this command, instead." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:124 -#, no-wrap +#: en/git-fetch-pack.txt:27 msgid "" -"\t---1---o---A\n" -"\t \\ /\n" -"\t X\n" -"\t / \\\n" -"\t---2---o---o---B\n" +"Invokes 'git-upload-pack' on a possibly remote repository and asks it to " +"send objects missing from this repository, to update the named heads. The " +"list of commits available locally is found out by scanning the local refs/ " +"hierarchy and sent to 'git-upload-pack' running on the other end." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:128 +#: en/git-fetch-pack.txt:31 msgid "" -"both '1' and '2' are merge-bases of A and B. Neither one is better than the " -"other (both are 'best' merge bases). When the `--all` option is not given, " -"it is unspecified which best one is output." +"This command degenerates to download everything to complete the asked refs " +"from the remote side when the local side does not have a common ancestor " +"commit." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:133 -msgid "" -"A common idiom to check \"fast-forward-ness\" between two commits A and B is " -"(or at least used to be) to compute the merge base between A and B, and " -"check if it is the same as A, in which case, A is an ancestor of B. You " -"will see this idiom used often in older scripts." +#: en/git-fetch-pack.txt:37 +msgid "Fetch all remote refs." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:139 -#, no-wrap +#: en/git-fetch-pack.txt:43 en/git-send-pack.txt:46 msgid "" -"\tA=$(git rev-parse --verify A)\n" -"\tif test \"$A\" = \"$(git merge-base A B)\"\n" -"\tthen\n" -"\t\t... A is an ancestor of B ...\n" -"\tfi\n" +"Take the list of refs from stdin, one per line. If there are refs specified " +"on the command line in addition to this option, then the refs from stdin are " +"processed after those on the command line." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:141 -msgid "In modern git, you can say this in a more direct way:" +#: en/git-fetch-pack.txt:47 en/git-send-pack.txt:50 +msgid "" +"If `--stateless-rpc` is specified together with this option then the list of " +"refs must be in packet format (pkt-line). Each ref must be in a separate " +"packet, and the list must end with a flush packet." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:146 -#, no-wrap +#: en/git-fetch-pack.txt:52 msgid "" -"\tif git merge-base --is-ancestor A B\n" -"\tthen\n" -"\t\t... A is an ancestor of B ...\n" -"\tfi\n" +"Pass `-q` flag to 'git unpack-objects'; this makes the cloning process less " +"verbose." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:148 -msgid "instead." +#: en/git-fetch-pack.txt:59 +msgid "" +"Do not invoke 'git unpack-objects' on received data, but create a single " +"packfile out of it instead, and store it in the object database. If provided " +"twice then the pack is locked against repacking." msgstr "" -#. type: Title - -#: en/git-merge-base.txt:150 +#. type: Labeled list +#: en/git-fetch-pack.txt:60 en/git-pack-objects.txt:184 en/git-send-pack.txt:64 #, no-wrap -msgid "Discussion on fork-point mode" +msgid "--thin" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:156 +#: en/git-fetch-pack.txt:63 msgid "" -"After working on the `topic` branch created with `git checkout -b topic " -"origin/master`, the history of remote-tracking branch `origin/master` may " -"have been rewound and rebuilt, leading to a history of this shape:" +"Fetch a \"thin\" pack, which records objects in deltified form based on " +"objects not included in the pack to reduce network traffic." msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:164 +#. type: Labeled list +#: en/git-fetch-pack.txt:64 en/git-pack-objects.txt:81 #, no-wrap -msgid "" -"\t o---B1\n" -"\t /\n" -"\t---o---o---B2--o---o---o---B (origin/master)\n" -"\t \\\n" -"\t B3\n" -"\t \\\n" -"\t Derived (topic)\n" +msgid "--include-tag" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:170 +#: en/git-fetch-pack.txt:69 msgid "" -"where `origin/master` used to point at commits B3, B2, B1 and now it points " -"at B, and your `topic` branch was started on top of it back when `origin/" -"master` was at B3. This mode uses the reflog of `origin/master` to find B3 " -"as the fork point, so that the `topic` can be rebased on top of the updated " -"`origin/master` by:" +"If the remote side supports it, annotated tags objects will be downloaded on " +"the same connection as the other objects if the object the tag references is " +"downloaded. The caller must otherwise determine the tags this option made " +"available." msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:173 +#. type: Labeled list +#: en/git-fetch-pack.txt:70 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "" -" $ fork_point=$(git merge-base --fork-point origin/master topic)\n" -" $ git rebase --onto origin/master $fork_point topic\n" -msgstr "$ git commit\n" - -#. type: Title - -#: en/git-merge-base.txt:176 -#, no-wrap -msgid "See also" -msgstr "" +#| msgid "git-add(1)" +msgid "--upload-pack=<git-upload-pack>" +msgstr "git-add(1)" -# #. type: Plain text -#: en/git-merge-base.txt:180 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-fetch-pack.txt:81 msgid "" -"linkgit:git-rev-list[1], linkgit:git-show-branch[1], linkgit:git-merge[1]" +"Use this to specify the path to 'git-upload-pack' on the remote side, if is " +"not found on your $PATH. Installations of sshd ignores the user's " +"environment setup scripts for login shells (e.g. .bash_profile) and your " +"privately installed git may not be found on the system default $PATH. " +"Another workaround suggested is to set up your $PATH in \".bashrc\", but " +"this flag is for people who do not want to pay the overhead for non-" +"interactive shells by having a lean .bashrc file (they set most of the " +"things up in .bash_profile)." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-merge-file.txt:2 +#. type: Labeled list +#: en/git-fetch-pack.txt:82 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-merge-file(1)" -msgstr "git-commit(1)" +#| msgid "git-add(1)" +msgid "--exec=<git-upload-pack>" +msgstr "git-add(1)" #. type: Plain text -#: en/git-merge-file.txt:7 -msgid "git-merge-file - Run a three-way file merge" +#: en/git-fetch-pack.txt:84 +msgid "Same as --upload-pack=<git-upload-pack>." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:15 -#, no-wrap +#: en/git-fetch-pack.txt:89 msgid "" -"'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]\n" -"\t[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]\n" -"\t[--[no-]diff3] <current-file> <base-file> <other-file>\n" +"Limit fetching to ancestor-chains not longer than n. 'git-upload-pack' " +"treats the special depth 2147483647 as infinite even if there is an ancestor-" +"chain that long." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:25 +#: en/git-fetch-pack.txt:93 msgid "" -"'git merge-file' incorporates all changes that lead from the `<base-file>` " -"to `<other-file>` into `<current-file>`. The result ordinarily goes into " -"`<current-file>`. 'git merge-file' is useful for combining separate changes " -"to an original. Suppose `<base-file>` is the original, and both `<current-" -"file>` and `<other-file>` are modifications of `<base-file>`, then 'git " -"merge-file' combines both changes." +"Deepen or shorten the history of a shallow'repository to include all " +"reachable commits after <date>." +msgstr "" + +#. type: Labeled list +#: en/git-fetch-pack.txt:99 +#, no-wrap +msgid "--deepen-relative" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:30 +#: en/git-fetch-pack.txt:103 msgid "" -"A conflict occurs if both `<current-file>` and `<other-file>` have changes " -"in a common segment of lines. If a conflict is found, 'git merge-file' " -"normally outputs a warning and brackets the conflict with lines containing " -"<<<<<<< and >>>>>>> markers. A typical conflict will look like this:" +"Argument --depth specifies the number of commits from the current shallow " +"boundary instead of from the tip of each remote branch history." msgstr "" -#. type: Plain text -#: en/git-merge-file.txt:36 +#. type: Labeled list +#: en/git-fetch-pack.txt:104 en/merge-options.txt:113 #, no-wrap -msgid "" -"\t<<<<<<< A\n" -"\tlines in file A\n" -"\t=======\n" -"\tlines in file B\n" -"\t>>>>>>> B\n" +msgid "--no-progress" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:42 -msgid "" -"If there are conflicts, the user should edit the result and delete one of " -"the alternatives. When `--ours`, `--theirs`, or `--union` option is in " -"effect, however, these conflicts are resolved favouring lines from `<current-" -"file>`, lines from `<other-file>`, or lines from both respectively. The " -"length of the conflict markers can be given with the `--marker-size` option." +#: en/git-fetch-pack.txt:106 +msgid "Do not show the progress." +msgstr "" + +#. type: Labeled list +#: en/git-fetch-pack.txt:107 en/git-index-pack.txt:77 +#, no-wrap +msgid "--check-self-contained-and-connected" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:46 +#: en/git-fetch-pack.txt:110 msgid "" -"The exit value of this program is negative on error, and the number of " -"conflicts otherwise (truncated to 127 if there are more than that many " -"conflicts). If the merge was clean, the exit value is 0." +"Output \"connectivity-ok\" if the received pack is self-contained and " +"connected." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:50 -msgid "" -"'git merge-file' is designed to be a minimal clone of RCS 'merge'; that is, " -"it implements all of RCS 'merge''s functionality which is needed by linkgit:" -"git[1]." +#: en/git-fetch-pack.txt:113 en/git-push.txt:267 en/git-send-pack.txt:63 +#, fuzzy +#| msgid "" +#| "-v::\n" +#| "--verbose::\n" +#| " Be verbose.\n" +msgid "Run verbosely." msgstr "" +"-v::\n" +"--verbose::\n" +" Mode bavard.\n" + +#. type: Plain text +#: en/git-fetch-pack.txt:116 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "The URL to the remote repository." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Labeled list -#: en/git-merge-file.txt:55 +#: en/git-fetch-pack.txt:117 en/git-ls-remote.txt:68 #, no-wrap -msgid "-L <label>" +msgid "<refs>..." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:62 +#: en/git-fetch-pack.txt:121 msgid "" -"This option may be given up to three times, and specifies labels to be used " -"in place of the corresponding file names in conflict reports. That is, `git " -"merge-file -L x -L y -L z a b c` generates output that looks like it came " -"from files x, y and z instead of from files a, b and c." +"The remote heads to update from. This is relative to $GIT_DIR (e.g. \"HEAD" +"\", \"refs/heads/master\"). When unspecified, update from all heads the " +"remote side has." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:66 +#: en/git-fetch-pack.txt:125 msgid "" -"Send results to standard output instead of overwriting `<current-file>`." -msgstr "" - -#. type: Plain text -#: en/git-merge-file.txt:69 -msgid "Quiet; do not warn about conflicts." +"If the remote has enabled the options `uploadpack.allowTipSHA1InWant`, " +"`uploadpack.allowReachableSHA1InWant`, or `uploadpack.allowAnySHA1InWant`, " +"they may alternatively be 40-hex sha1s present on the remote." msgstr "" -#. type: Labeled list -#: en/git-merge-file.txt:70 +#. type: Title = +#: en/git-fetch.txt:2 #, fuzzy, no-wrap -#| msgid "diff" -msgid "--diff3" -msgstr "diff" +#| msgid "git-commit(1)" +msgid "git-fetch(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-merge-file.txt:72 -msgid "Show conflicts in \"diff3\" style." -msgstr "" +#: en/git-fetch.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-fetch - Download objects and refs from another repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" -#. type: Labeled list -#: en/git-merge-file.txt:75 +#. type: Plain text +#: en/git-fetch.txt:16 #, no-wrap -msgid "--union" +msgid "" +"'git fetch' [<options>] [<repository> [<refspec>...]]\n" +"'git fetch' [<options>] <group>\n" +"'git fetch' --multiple [<options>] [(<repository> | <group>)...]\n" +"'git fetch' --all [<options>]\n" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:78 +#: en/git-fetch.txt:24 msgid "" -"Instead of leaving conflicts in the file, resolve conflicts favouring our " -"(or their or both) side of the lines." +"Fetch branches and/or tags (collectively, \"refs\") from one or more other " +"repositories, along with the objects necessary to complete their histories. " +"Remote-tracking branches are updated (see the description of <refspec> below " +"for ways to control this behavior)." msgstr "" -#. type: Labeled list -#: en/git-merge-file.txt:83 -#, no-wrap -msgid "`git merge-file README.my README README.upstream`" +#. type: Plain text +#: en/git-fetch.txt:32 +msgid "" +"By default, any tag that points into the histories being fetched is also " +"fetched; the effect is to fetch tags that point at branches that you are " +"interested in. This default behavior can be changed by using the --tags or " +"--no-tags options or by configuring remote.<name>.tagOpt. By using a " +"refspec that fetches tags explicitly, you can fetch tags that do not point " +"into branches you are interested in as well." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:87 +#: en/git-fetch.txt:37 msgid "" -"combines the changes of README.my and README.upstream since README, tries to " -"merge them and writes the result into README.my." +"'git fetch' can fetch from either a single named repository or URL, or from " +"several repositories at once if <group> is given and there is a remotes." +"<group> entry in the configuration file. (See linkgit:git-config[1])." msgstr "" -#. type: Labeled list -#: en/git-merge-file.txt:88 -#, no-wrap -msgid "`git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345`" +#. type: Plain text +#: en/git-fetch.txt:40 +msgid "" +"When no remote is specified, by default the `origin` remote will be used, " +"unless there's an upstream branch configured for the current branch." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:92 +#: en/git-fetch.txt:44 msgid "" -"merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels `a` and " -"`c` instead of `tmp/a123` and `tmp/c345`." +"The names of refs that are fetched, together with the object names they " +"point at, are written to `.git/FETCH_HEAD`. This information may be used by " +"scripts or other git commands, such as linkgit:git-pull[1]." msgstr "" -#. type: Title = -#: en/git-merge-index.txt:2 +#. type: Title - +#: en/git-fetch.txt:55 #, no-wrap -msgid "git-merge-index(1)" +msgid "CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:7 -msgid "git-merge-index - Run a merge for files needing merging" +#: en/git-fetch.txt:61 +msgid "" +"You often interact with the same remote repository by regularly and " +"repeatedly fetching from it. In order to keep track of the progress of such " +"a remote repository, `git fetch` allows you to configure `remote." +"<repository>.fetch` configuration variables." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:13 +#: en/git-fetch.txt:63 +msgid "Typically such a variable may look like this:" +msgstr "" + +#. type: delimited block - +#: en/git-fetch.txt:67 #, no-wrap -msgid "'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>*)\n" +msgid "" +"[remote \"origin\"]\n" +"\tfetch = +refs/heads/*:refs/remotes/origin/*\n" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:20 +#: en/git-fetch.txt:70 +msgid "This configuration is used in two ways:" +msgstr "" + +#. type: Plain text +#: en/git-fetch.txt:80 msgid "" -"This looks up the <file>(s) in the index and, if there are any merge " -"entries, passes the SHA-1 hash for those files as arguments 1, 2, 3 (empty " -"argument if no file), and <file> as argument 4. File modes for the three " -"files are passed as arguments 5, 6 and 7." +"When `git fetch` is run without specifying what branches and/or tags to " +"fetch on the command line, e.g. `git fetch origin` or `git fetch`, `remote." +"<repository>.fetch` values are used as the refspecs--they specify which refs " +"to fetch and which local refs to update. The example above will fetch all " +"branches that exist in the `origin` (i.e. any ref that matches the left-hand " +"side of the value, `refs/heads/*`) and update the corresponding remote-" +"tracking branches in the `refs/remotes/origin/*` hierarchy." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:28 -msgid "Run merge against all files in the index that need merging." +#: en/git-fetch.txt:97 +msgid "" +"When `git fetch` is run with explicit branches and/or tags to fetch on the " +"command line, e.g. `git fetch origin master`, the <refspec>s given on the " +"command line determine what are to be fetched (e.g. `master` in the example, " +"which is a short-hand for `master:`, which in turn means \"fetch the " +"'master' branch but I do not explicitly say what remote-tracking branch to " +"update with it from the command line\"), and the example command will fetch " +"_only_ the 'master' branch. The `remote.<repository>.fetch` values " +"determine which remote-tracking branch, if any, is updated. When used in " +"this way, the `remote.<repository>.fetch` values do not have any effect in " +"deciding _what_ gets fetched (i.e. the values are not used as refspecs when " +"the command-line lists refspecs); they are only used to decide _where_ the " +"refs that are fetched are stored by acting as a mapping." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:34 +#: en/git-fetch.txt:101 msgid "" -"Instead of stopping at the first failed merge, do all of them in one shot - " -"continue with merging even when previous merges returned errors, and only " -"return the error code after all the merges." +"The latter use of the `remote.<repository>.fetch` values can be overridden " +"by giving the `--refmap=<refspec>` parameter(s) on the command line." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:39 +#: en/git-fetch.txt:108 msgid "" -"Do not complain about a failed merge program (a merge program failure " -"usually indicates conflicts during the merge). This is for porcelains which " -"might want to emit custom messages." +"The output of \"git fetch\" depends on the transport method used; this " +"section describes the output when fetching over the Git protocol (either " +"locally or via ssh) and Smart HTTP protocol." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:43 +#: en/git-fetch.txt:111 msgid "" -"If 'git merge-index' is called with multiple <file>s (or -a) then it " -"processes them in turn only stopping if merge returns a non-zero exit code." +"The status of the fetch is output in tabular form, with each line " +"representing the status of a single ref. Each line is of the form:" msgstr "" -#. type: Plain text -#: en/git-merge-index.txt:46 -msgid "" -"Typically this is run with a script calling Git's imitation of the 'merge' " -"command from the RCS package." +#. type: delimited block - +#: en/git-fetch.txt:114 +#, no-wrap +msgid " <flag> <summary> <from> -> <to> [<reason>]\n" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:49 +#: en/git-fetch.txt:118 msgid "" -"A sample script called 'git merge-one-file' is included in the distribution." +"The status of up-to-date refs is shown only if the --verbose option is used." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:54 +#: en/git-fetch.txt:123 msgid "" -"ALERT ALERT ALERT! The Git \"merge object order\" is different from the RCS " -"'merge' program merge object order. In the above ordering, the original is " -"first. But the argument order to the 3-way merge program 'merge' is to have " -"the original in the middle. Don't ask me why." +"In compact output mode, specified with configuration variable fetch.output, " +"if either entire `<from>` or `<to>` is found in the other string, it will be " +"substituted with `*` in the other string. For example, `master -> origin/" +"master` becomes `master -> origin/*`." msgstr "" -#. type: Plain text -#: en/git-merge-index.txt:56 en/git-svn.txt:155 -msgid "Examples:" +#. type: Labeled list +#: en/git-fetch.txt:124 en/git-push.txt:328 +#, no-wrap +msgid "flag" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:62 -#, no-wrap -msgid "" -" torvalds@ppc970:~/merge-test> git merge-index cat MM\n" -" This is MM from the original tree.\t\t\t# original\n" -" This is modified MM in the branch A.\t\t\t# merge1\n" -" This is modified MM in the branch B.\t\t\t# merge2\n" -" This is modified MM in the branch B.\t\t\t# current contents\n" +#: en/git-fetch.txt:126 en/git-push.txt:330 +msgid "A single character indicating the status of the ref:" msgstr "" -#. type: Plain text -#: en/git-merge-index.txt:71 +#. type: Labeled list +#: en/git-fetch.txt:126 en/git-push.txt:330 #, no-wrap -msgid "" -" torvalds@ppc970:~/merge-test> git merge-index cat AA MM\n" -" cat: : No such file or directory\n" -" This is added AA in the branch A.\n" -" This is added AA in the branch B.\n" -" This is added AA in the branch B.\n" -" fatal: merge program failed\n" +msgid "(space)" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:76 -msgid "" -"where the latter example shows how 'git merge-index' will stop trying to " -"merge once anything has returned an error (i.e., `cat` returned an error for " -"the AA file, because it didn't exist in the original, and thus 'git merge-" -"index' didn't even try to merge the MM thing)." +#: en/git-fetch.txt:127 +msgid "for a successfully fetched fast-forward;" msgstr "" -#. type: Title = -#: en/git-merge-one-file.txt:2 +#. type: Labeled list +#: en/git-fetch.txt:127 en/git-push.txt:331 #, no-wrap -msgid "git-merge-one-file(1)" +msgid "`+`" msgstr "" #. type: Plain text -#: en/git-merge-one-file.txt:7 -msgid "" -"git-merge-one-file - The standard helper program to use with git-merge-index" +#: en/git-fetch.txt:128 en/git-push.txt:332 +msgid "for a successful forced update;" msgstr "" -#. type: Plain text -#: en/git-merge-one-file.txt:13 +#. type: Labeled list +#: en/git-fetch.txt:128 en/git-push.txt:332 #, no-wrap -msgid "'git merge-one-file'\n" +msgid "`-`" msgstr "" #. type: Plain text -#: en/git-merge-one-file.txt:18 -msgid "" -"This is the standard helper program to use with 'git merge-index' to resolve " -"a merge after the trivial merge done with 'git read-tree -m'." +#: en/git-fetch.txt:129 +msgid "for a successfully pruned ref;" msgstr "" -#. type: Title = -#: en/git-mergetool--lib.txt:2 +#. type: Labeled list +#: en/git-fetch.txt:129 #, no-wrap -msgid "git-mergetool{litdd}lib(1)" +msgid "`t`" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:7 -msgid "git-mergetool--lib - Common Git merge tool shell scriptlets" +#: en/git-fetch.txt:130 +msgid "for a successful tag update;" msgstr "" -#. type: Plain text -#: en/git-mergetool--lib.txt:12 +#. type: Labeled list +#: en/git-fetch.txt:130 en/git-push.txt:333 #, no-wrap -msgid "'TOOL_MODE=(diff|merge) . \"$(git --exec-path)/git-mergetool{litdd}lib\"'\n" +msgid "`*`" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:19 en/git-sh-i18n.txt:19 en/git-sh-setup.txt:19 -msgid "" -"This is not a command the end user would want to run. Ever. This " -"documentation is meant for people who are studying the Porcelain-ish scripts " -"and/or are writing new ones." +#: en/git-fetch.txt:131 +msgid "for a successfully fetched new ref;" msgstr "" -#. type: Plain text -#: en/git-mergetool--lib.txt:23 -msgid "" -"The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using `." -"`) by other shell scripts to set up functions for working with Git merge " -"tools." +#. type: Labeled list +#: en/git-fetch.txt:131 en/git-push.txt:334 +#, no-wrap +msgid "`!`" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:27 -msgid "" -"Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE` " -"to define the operation mode for the functions listed below. 'diff' and " -"'merge' are valid values." +#: en/git-fetch.txt:132 +msgid "for a ref that was rejected or failed to update; and" msgstr "" -#. type: Title - -#: en/git-mergetool--lib.txt:29 en/git-sh-i18n.txt:28 en/git-sh-setup.txt:34 -#, fuzzy, no-wrap -#| msgid "OPTIONS" -msgid "FUNCTIONS" -msgstr "OPTIONS" - #. type: Labeled list -#: en/git-mergetool--lib.txt:30 +#: en/git-fetch.txt:132 en/git-push.txt:335 #, no-wrap -msgid "get_merge_tool" +msgid "`=`" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:32 -msgid "returns a merge tool." +#: en/git-fetch.txt:133 +msgid "for a ref that was up to date and did not need fetching." msgstr "" #. type: Labeled list -#: en/git-mergetool--lib.txt:33 +#: en/git-fetch.txt:134 en/git-push.txt:337 #, no-wrap -msgid "get_merge_tool_cmd" +msgid "summary" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:35 -msgid "returns the custom command for a merge tool." +#: en/git-fetch.txt:139 +msgid "" +"For a successfully fetched ref, the summary shows the old and new values of " +"the ref in a form suitable for using as an argument to `git log` (this is " +"`<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-" +"forward updates)." msgstr "" #. type: Labeled list -#: en/git-mergetool--lib.txt:36 +#: en/git-fetch.txt:140 en/git-push.txt:365 #, no-wrap -msgid "get_merge_tool_path" +msgid "from" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:38 -msgid "returns the custom path for a merge tool." +#: en/git-fetch.txt:144 +msgid "" +"The name of the remote ref being fetched from, minus its `refs/<type>/` " +"prefix. In the case of deletion, the name of the remote ref is \"(none)\"." msgstr "" -#. type: Labeled list -#: en/git-mergetool--lib.txt:39 +#. type: Plain text +#: en/git-fetch.txt:145 en/git-push.txt:370 en/git-rebase.txt:790 #, no-wrap -msgid "run_merge_tool" +msgid "to" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:44 +#: en/git-fetch.txt:148 msgid "" -"launches a merge tool given the tool name and a true/false flag to indicate " -"whether a merge base is present. '$MERGED', '$LOCAL', '$REMOTE', and " -"'$BASE' must be defined for use by the merge tool." +"The name of the local ref being updated, minus its `refs/<type>/` prefix." msgstr "" -#. type: Title = -#: en/git-mergetool.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-mergetool(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/git-fetch.txt:149 en/git-push.txt:374 +#, no-wrap +msgid "reason" +msgstr "" #. type: Plain text -#: en/git-mergetool.txt:7 +#: en/git-fetch.txt:153 msgid "" -"git-mergetool - Run merge conflict resolution tools to resolve merge " -"conflicts" +"A human-readable explanation. In the case of successfully fetched refs, no " +"explanation is needed. For a failed ref, the reason for failure is described." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:12 -#, no-wrap -msgid "'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...]\n" +#: en/git-fetch.txt:158 +msgid "Update the remote-tracking branches:" msgstr "" +#. type: delimited block - +#: en/git-fetch.txt:161 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git fetch origin\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-mergetool.txt:18 +#: en/git-fetch.txt:167 msgid "" -"Use `git mergetool` to run one of several merge utilities to resolve merge " -"conflicts. It is typically run after 'git merge'." +"The above command copies all branches from the remote refs/heads/ namespace " +"and stores them to the local refs/remotes/origin/ namespace, unless the " +"branch.<name>.fetch option is used to specify a non-default refspec." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:24 -msgid "" -"If one or more <file> parameters are given, the merge tool program will be " -"run to resolve differences on each file (skipping those without conflicts). " -"Specifying a directory will include all unresolved files in that path. If " -"no <file> names are specified, 'git mergetool' will run the merge tool " -"program on every file with merge conflicts." +#: en/git-fetch.txt:169 +msgid "Using refspecs explicitly:" msgstr "" +#. type: delimited block - +#: en/git-fetch.txt:172 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git fetch origin +pu:pu maint:tmp\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-mergetool.txt:33 +#: en/git-fetch.txt:177 msgid "" -"Use the merge resolution program specified by <tool>. Valid values include " -"emerge, gvimdiff, kdiff3, meld, vimdiff, and tortoisemerge. Run `git " -"mergetool --tool-help` for the list of valid <tool> settings." +"This updates (or creates, as necessary) branches `pu` and `tmp` in the local " +"repository by fetching from the branches (respectively) `pu` and `maint` " +"from the remote repository." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:38 +#: en/git-fetch.txt:180 msgid "" -"If a merge resolution program is not specified, 'git mergetool' will use the " -"configuration variable `merge.tool`. If the configuration variable `merge." -"tool` is not set, 'git mergetool' will pick a suitable default." +"The `pu` branch will be updated even if it is does not fast-forward, because " +"it is prefixed with a plus sign; `tmp` will not be." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:44 +#: en/git-fetch.txt:183 msgid "" -"You can explicitly provide a full path to the tool by setting the " -"configuration variable `mergetool.<tool>.path`. For example, you can " -"configure the absolute path to kdiff3 by setting `mergetool.kdiff3.path`. " -"Otherwise, 'git mergetool' assumes the tool is available in PATH." +"Peek at a remote's branch, without configuring the remote in your local " +"repository:" msgstr "" -#. type: Plain text -#: en/git-mergetool.txt:49 +#. type: delimited block - +#: en/git-fetch.txt:187 +#, no-wrap msgid "" -"Instead of running one of the known merge tool programs, 'git mergetool' can " -"be customized to run an alternative program by specifying the command line " -"to invoke in a configuration variable `mergetool.<tool>.cmd`." +"$ git fetch git://git.kernel.org/pub/scm/git/git.git maint\n" +"$ git log FETCH_HEAD\n" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:60 +#: en/git-fetch.txt:194 msgid "" -"When 'git mergetool' is invoked with this tool (either through the `-t` or " -"`--tool` option or the `merge.tool` configuration variable) the configured " -"command line will be invoked with `$BASE` set to the name of a temporary " -"file containing the common base for the merge, if available; `$LOCAL` set to " -"the name of a temporary file containing the contents of the file on the " -"current branch; `$REMOTE` set to the name of a temporary file containing the " -"contents of the file to be merged, and `$MERGED` set to the name of the file " -"to which the merge tool should write the result of the merge resolution." +"The first command fetches the `maint` branch from the repository at `git://" +"git.kernel.org/pub/scm/git/git.git` and the second command uses `FETCH_HEAD` " +"to examine the branch with linkgit:git-log[1]. The fetched objects will " +"eventually be removed by git's built-in housekeeping (see linkgit:git-gc[1])." +msgstr "" + +#. type: Title - +#: en/git-fetch.txt:198 en/git-mv.txt:56 en/git-pack-refs.txt:64 +#: en/git-pull.txt:243 en/git-rebase.txt:779 en/git-replace.txt:134 +#: en/git-rm.txt:174 en/git-svn.txt:1026 en/git-worktree.txt:245 +#, no-wrap +msgid "BUGS" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:66 +#: en/git-fetch.txt:205 en/git-pull.txt:250 msgid "" -"If the custom merge tool correctly indicates the success of a merge " -"resolution with its exit code, then the configuration variable `mergetool." -"<tool>.trustExitCode` can be set to `true`. Otherwise, 'git mergetool' will " -"prompt the user to indicate the success of the resolution after the custom " -"tool has exited." +"Using --recurse-submodules can only fetch new commits in already checked out " +"submodules right now. When e.g. upstream added a new submodule in the just " +"fetched commits of the superproject the submodule itself can not be fetched, " +"making it impossible to check out that submodule later without having to do " +"a fetch again. This is expected to be fixed in a future Git version." +msgstr "" + +#. type: Title = +#: en/git-filter-branch.txt:2 +#, no-wrap +msgid "git-filter-branch(1)" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:69 -msgid "Print a list of merge tools that may be used with `--tool`." +#: en/git-filter-branch.txt:7 +msgid "git-filter-branch - Rewrite branches" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:77 +#: en/git-filter-branch.txt:18 +#, no-wrap msgid "" -"Don't prompt before each invocation of the merge resolution program. This " -"is the default if the merge resolution program is explicitly specified with " -"the `--tool` option or with the `merge.tool` configuration variable." +"'git filter-branch' [--env-filter <command>] [--tree-filter <command>]\n" +"\t[--index-filter <command>] [--parent-filter <command>]\n" +"\t[--msg-filter <command>] [--commit-filter <command>]\n" +"\t[--tag-name-filter <command>] [--subdirectory-filter <directory>]\n" +"\t[--prune-empty]\n" +"\t[--original <namespace>] [-d <directory>] [-f | --force]\n" +"\t[--] [<rev-list options>...]\n" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:81 +#: en/git-filter-branch.txt:27 msgid "" -"Prompt before each invocation of the merge resolution program to give the " -"user a chance to skip the path." +"Lets you rewrite Git revision history by rewriting the branches mentioned in " +"the <rev-list options>, applying custom filters on each revision. Those " +"filters can modify each tree (e.g. removing a file or running a perl rewrite " +"on all files) or information about each commit. Otherwise, all information " +"(including original commit times or merge information) will be preserved." msgstr "" -#. type: Labeled list -#: en/git-mergetool.txt:82 en/diff-options.txt:467 -#, no-wrap -msgid "-O<orderfile>" +#. type: Plain text +#: en/git-filter-branch.txt:34 +msgid "" +"The command will only rewrite the _positive_ refs mentioned in the command " +"line (e.g. if you pass 'a..b', only 'b' will be rewritten). If you specify " +"no filters, the commits will be recommitted without any changes, which would " +"normally have no effect. Nevertheless, this may be useful in the future for " +"compensating for some Git bugs or such, therefore such a usage is permitted." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:88 +#: en/git-filter-branch.txt:39 +#, no-wrap msgid "" -"Process files in the order specified in the <orderfile>, which has one shell " -"glob pattern per line. This overrides the `diff.orderFile` configuration " -"variable (see linkgit:git-config[1]). To cancel `diff.orderFile`, use `-O/" -"dev/null`." +"*NOTE*: This command honors `.git/info/grafts` file and refs in\n" +"the `refs/replace/` namespace.\n" +"If you have any grafts or replacement refs defined, running this command\n" +"will make them permanent.\n" msgstr "" -#. type: Title - -#: en/git-mergetool.txt:90 +#. type: Plain text +#: en/git-filter-branch.txt:48 #, no-wrap -msgid "TEMPORARY FILES" +msgid "" +"*WARNING*! The rewritten history will have different object names for all\n" +"the objects and will not converge with the original branch. You will not\n" +"be able to easily push and distribute the rewritten branch on top of the\n" +"original branch. Please do not use this command if you do not know the\n" +"full implications, and avoid using it anyway, if a simple single commit\n" +"would suffice to fix your problem. (See the \"RECOVERING FROM UPSTREAM\n" +"REBASE\" section in linkgit:git-rebase[1] for further information about\n" +"rewriting published history.)\n" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:94 +#: en/git-filter-branch.txt:52 msgid "" -"`git mergetool` creates `*.orig` backup files while resolving merges. These " -"are safe to remove once a file has been merged and its `git mergetool` " -"session has completed." +"Always verify that the rewritten version is correct: The original refs, if " +"different from the rewritten ones, will be stored in the namespace 'refs/" +"original/'." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:98 +#: en/git-filter-branch.txt:56 msgid "" -"Setting the `mergetool.keepBackup` configuration variable to `false` causes " -"`git mergetool` to automatically remove the backup as files are successfully " -"merged." +"Note that since this operation is very I/O expensive, it might be a good " +"idea to redirect the temporary directory off-disk with the `-d` option, e.g. " +"on tmpfs. Reportedly the speedup is very noticeable." msgstr "" -#. type: Title = -#: en/git-merge-tree.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-merge-tree(1)" -msgstr "git-commit(1)" +#. type: Title ~ +#: en/git-filter-branch.txt:59 +#, no-wrap +msgid "Filters" +msgstr "" #. type: Plain text -#: en/git-merge-tree.txt:7 -msgid "git-merge-tree - Show three-way merge without touching index" +#: en/git-filter-branch.txt:71 +msgid "" +"The filters are applied in the order as listed below. The <command> " +"argument is always evaluated in the shell context using the 'eval' command " +"(with the notable exception of the commit filter, for technical reasons). " +"Prior to that, the `$GIT_COMMIT` environment variable will be set to contain " +"the id of the commit being rewritten. Also, GIT_AUTHOR_NAME, " +"GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, " +"and GIT_COMMITTER_DATE are taken from the current commit and exported to the " +"environment, in order to affect the author and committer identities of the " +"replacement commit created by linkgit:git-commit-tree[1] after the filters " +"have run." msgstr "" #. type: Plain text -#: en/git-merge-tree.txt:13 -#, no-wrap -msgid "'git merge-tree' <base-tree> <branch1> <branch2>\n" +#: en/git-filter-branch.txt:74 +msgid "" +"If any evaluation of <command> returns a non-zero exit status, the whole " +"operation will be aborted." msgstr "" #. type: Plain text -#: en/git-merge-tree.txt:21 +#: en/git-filter-branch.txt:80 msgid "" -"Reads three tree-ish, and output trivial merge results and conflicting " -"stages to the standard output. This is similar to what three-way 'git read-" -"tree -m' does, but instead of storing the results in the index, the command " -"outputs the entries to the standard output." +"A 'map' function is available that takes an \"original sha1 id\" argument " +"and outputs a \"rewritten sha1 id\" if the commit has been already " +"rewritten, and \"original sha1 id\" otherwise; the 'map' function can return " +"several ids on separate lines if your commit filter emitted multiple commits." +msgstr "" + +#. type: Labeled list +#: en/git-filter-branch.txt:85 +#, no-wrap +msgid "--env-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge-tree.txt:26 +#: en/git-filter-branch.txt:91 msgid "" -"This is meant to be used by higher level scripts to compute merge results " -"outside of the index, and stuff the results back into the index. For this " -"reason, the output from the command omits entries that match the <branch1> " -"tree." +"This filter may be used if you only need to modify the environment in which " +"the commit will be performed. Specifically, you might want to rewrite the " +"author/committer name/email/time environment variables (see linkgit:git-" +"commit-tree[1] for details). Do not forget to re-export the variables." msgstr "" -#. type: Title = -#: en/git-merge.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-merge(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/git-filter-branch.txt:92 +#, no-wrap +msgid "--tree-filter <command>" +msgstr "" #. type: Plain text -#: en/git-merge.txt:7 -msgid "git-merge - Join two or more development histories together" +#: en/git-filter-branch.txt:99 +msgid "" +"This is the filter for rewriting the tree and its contents. The argument is " +"evaluated in shell with the working directory set to the root of the checked " +"out tree. The new tree is then used as-is (new files are auto-added, " +"disappeared files are auto-removed - neither .gitignore files nor any other " +"ignore rules *HAVE ANY EFFECT*!)." msgstr "" -#. type: Plain text -#: en/git-merge.txt:19 +#. type: Labeled list +#: en/git-filter-branch.txt:100 #, no-wrap -msgid "" -"'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]\n" -"\t[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]\n" -"\t[--[no-]allow-unrelated-histories]\n" -"\t[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]\n" -"'git merge' <msg> HEAD <commit>...\n" -"'git merge' --abort\n" -"'git merge' --continue\n" +msgid "--index-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:27 +#: en/git-filter-branch.txt:106 msgid "" -"Incorporates changes from the named commits (since the time their histories " -"diverged from the current branch) into the current branch. This command is " -"used by 'git pull' to incorporate changes from another repository and can be " -"used by hand to merge changes from one branch into another." +"This is the filter for rewriting the index. It is similar to the tree " +"filter but does not check out the tree, which makes it much faster. " +"Frequently used with `git rm --cached --ignore-unmatch ...`, see EXAMPLES " +"below. For hairy cases, see linkgit:git-update-index[1]." +msgstr "" + +#. type: Labeled list +#: en/git-filter-branch.txt:107 +#, no-wrap +msgid "--parent-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:30 en/git-pull.txt:40 +#: en/git-filter-branch.txt:114 msgid "" -"Assume the following history exists and the current branch is \"`master`\":" +"This is the filter for rewriting the commit's parent list. It will receive " +"the parent string on stdin and shall output the new parent string on " +"stdout. The parent string is in the format described in linkgit:git-commit-" +"tree[1]: empty for the initial commit, \"-p parent\" for a normal commit and " +"\"-p parent1 -p parent2 -p parent3 ...\" for a merge commit." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:35 +#. type: Labeled list +#: en/git-filter-branch.txt:115 #, no-wrap -msgid "" -"\t A---B---C topic\n" -"\t /\n" -" D---E---F---G master\n" +msgid "--msg-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:42 +#: en/git-filter-branch.txt:120 msgid "" -"Then \"`git merge topic`\" will replay the changes made on the `topic` " -"branch since it diverged from `master` (i.e., `E`) until its current commit " -"(`C`) on top of `master`, and record the result in a new commit along with " -"the names of the two parent commits and a log message from the user " -"describing the changes." +"This is the filter for rewriting the commit messages. The argument is " +"evaluated in the shell with the original commit message on standard input; " +"its standard output is used as the new commit message." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:47 +#. type: Labeled list +#: en/git-filter-branch.txt:121 #, no-wrap -msgid "" -"\t A---B---C topic\n" -"\t / \\\n" -" D---E---F---G---H master\n" +msgid "--commit-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:52 +#: en/git-filter-branch.txt:127 msgid "" -"The second syntax (<msg> `HEAD` <commit>...) is supported for historical " -"reasons. Do not use it from the command line or in new scripts. It is the " -"same as `git merge -m <msg> <commit>...`." +"This is the filter for performing the commit. If this filter is specified, " +"it will be called instead of the 'git commit-tree' command, with arguments " +"of the form \"<TREE_ID> [(-p <PARENT_COMMIT_ID>)...]\" and the log message " +"on stdin. The commit id is expected on stdout." msgstr "" #. type: Plain text -#: en/git-merge.txt:60 +#: en/git-filter-branch.txt:131 msgid "" -"The third syntax (\"`git merge --abort`\") can only be run after the merge " -"has resulted in conflicts. 'git merge --abort' will abort the merge process " -"and try to reconstruct the pre-merge state. However, if there were " -"uncommitted changes when the merge started (and especially if those changes " -"were further modified after the merge was started), 'git merge --abort' will " -"in some cases be unable to reconstruct the original (pre-merge) changes. " -"Therefore:" +"As a special extension, the commit filter may emit multiple commit ids; in " +"that case, the rewritten children of the original commit will have all of " +"them as parents." msgstr "" #. type: Plain text -#: en/git-merge.txt:64 -#, no-wrap +#: en/git-filter-branch.txt:136 msgid "" -"*Warning*: Running 'git merge' with non-trivial uncommitted changes is\n" -"discouraged: while possible, it may leave you in a state that is hard to\n" -"back out of in the case of a conflict.\n" +"You can use the 'map' convenience function in this filter, and other " +"convenience functions, too. For example, calling 'skip_commit \"$@\"' will " +"leave out the current commit (but not its changes! If you want that, use " +"'git rebase' instead)." msgstr "" #. type: Plain text -#: en/git-merge.txt:67 +#: en/git-filter-branch.txt:140 msgid "" -"The fourth syntax (\"`git merge --continue`\") can only be run after the " -"merge has resulted in conflicts." +"You can also use the `git_commit_non_empty_tree \"$@\"` instead of `git " +"commit-tree \"$@\"` if you don't wish to keep commits with a single parent " +"and that makes no change to the tree." msgstr "" -#. type: Plain text -#: en/git-merge.txt:77 -#, fuzzy -#| msgid "" -#| "-S[<keyid>]::\n" -#| "--gpg-sign[=<keyid>]::\n" -#| "\tGPG-sign commits. The `keyid` argument is optional and\n" -#| "\tdefaults to the committer identity; if specified, it must be\n" -#| "\tstuck to the option without a space.\n" -msgid "" -"GPG-sign the resulting merge commit. The `keyid` argument is optional and " -"defaults to the committer identity; if specified, it must be stuck to the " -"option without a space." +#. type: Labeled list +#: en/git-filter-branch.txt:141 +#, no-wrap +msgid "--tag-name-filter <command>" msgstr "" -"-S[<idcl챕>]::\n" -"--gpg-sign[=<idcl챕>]::\n" -"\tSigner les commits avec GPG. L'argument `idcl챕` est optionnel\n" -"\tavec par d챕faut l'indentit챕 du validateur혻; si sp챕cifi챕e, elle\n" -"\tdoit 챗tre coll챕e 횪 l'option sans aucun espace.\n" #. type: Plain text -#: en/git-merge.txt:81 +#: en/git-filter-branch.txt:147 msgid "" -"Set the commit message to be used for the merge commit (in case one is " -"created)." +"This is the filter for rewriting tag names. When passed, it will be called " +"for every tag ref that points to a rewritten object (or to a tag object " +"which points to a rewritten object). The original tag name is passed via " +"standard input, and the new tag name is expected on standard output." msgstr "" #. type: Plain text -#: en/git-merge.txt:84 +#: en/git-filter-branch.txt:152 msgid "" -"If `--log` is specified, a shortlog of the commits being merged will be " -"appended to the specified message." +"The original tags are not deleted, but can be overwritten; use \"--tag-name-" +"filter cat\" to simply update the tags. In this case, be very careful and " +"make sure you have the old tags backed up in case the conversion has run " +"afoul." msgstr "" #. type: Plain text -#: en/git-merge.txt:88 +#: en/git-filter-branch.txt:163 msgid "" -"The 'git fmt-merge-msg' command can be used to give a good default for " -"automated 'git merge' invocations. The automated message can include the " -"branch description." +"Nearly proper rewriting of tag objects is supported. If the tag has a " +"message attached, a new tag object will be created with the same message, " +"author, and timestamp. If the tag has a signature attached, the signature " +"will be stripped. It is by definition impossible to preserve signatures. The " +"reason this is \"nearly\" proper, is because ideally if the tag did not " +"change (points to the same object, has the same name, etc.) it should " +"retain any signature. That is not the case, signatures will always be " +"removed, buyer beware. There is also no support for changing the author or " +"timestamp (or the tag message for that matter). Tags which point to other " +"tags will be rewritten to point to the underlying commit." msgstr "" #. type: Labeled list -#: en/git-merge.txt:89 +#: en/git-filter-branch.txt:164 #, no-wrap -msgid "--[no-]rerere-autoupdate" +msgid "--subdirectory-filter <directory>" msgstr "" #. type: Plain text -#: en/git-merge.txt:92 +#: en/git-filter-branch.txt:168 msgid "" -"Allow the rerere mechanism to update the index with the result of auto-" -"conflict resolution if possible." +"Only look at the history which touches the given subdirectory. The result " +"will contain that directory (and only that) as its project root. Implies " +"<<Remap_to_ancestor>>." msgstr "" -#. type: Plain text -#: en/git-merge.txt:96 -msgid "" -"Abort the current conflict resolution process, and try to reconstruct the " -"pre-merge state." +#. type: Labeled list +#: en/git-filter-branch.txt:169 +#, no-wrap +msgid "--prune-empty" msgstr "" #. type: Plain text -#: en/git-merge.txt:101 +#: en/git-filter-branch.txt:176 msgid "" -"If there were uncommitted worktree changes present when the merge started, " -"'git merge --abort' will in some cases be unable to reconstruct these " -"changes. It is therefore recommended to always commit or stash your changes " -"before running 'git merge'." +"Some filters will generate empty commits that leave the tree untouched. " +"This option instructs git-filter-branch to remove such commits if they have " +"exactly one or zero non-pruned parents; merge commits will therefore remain " +"intact. This option cannot be used together with `--commit-filter`, though " +"the same effect can be achieved by using the provided " +"`git_commit_non_empty_tree` function in a commit filter." msgstr "" -#. type: Plain text -#: en/git-merge.txt:104 -msgid "" -"'git merge --abort' is equivalent to 'git reset --merge' when `MERGE_HEAD` " -"is present." +#. type: Labeled list +#: en/git-filter-branch.txt:177 +#, no-wrap +msgid "--original <namespace>" msgstr "" #. type: Plain text -#: en/git-merge.txt:109 +#: en/git-filter-branch.txt:180 msgid "" -"After a 'git merge' stops due to conflicts you can conclude the merge by " -"running 'git merge --continue' (see \"HOW TO RESOLVE CONFLICTS\" section " -"below)." +"Use this option to set the namespace where the original commits will be " +"stored. The default value is 'refs/original'." msgstr "" -#. type: Plain text -#: en/git-merge.txt:114 -msgid "" -"Commits, usually other branch heads, to merge into our branch. Specifying " -"more than one commit will create a merge with more than two parents " -"(affectionately called an Octopus merge)." +#. type: Labeled list +#: en/git-filter-branch.txt:181 +#, no-wrap +msgid "-d <directory>" msgstr "" #. type: Plain text -#: en/git-merge.txt:118 +#: en/git-filter-branch.txt:188 msgid "" -"If no commit is given from the command line, merge the remote-tracking " -"branches that the current branch is configured to use as its upstream. See " -"also the configuration section of this manual page." +"Use this option to set the path to the temporary directory used for " +"rewriting. When applying a tree filter, the command needs to temporarily " +"check out the tree to some directory, which may consume considerable space " +"in case of large projects. By default it does this in the '.git-rewrite/' " +"directory but you can override that choice by this parameter." msgstr "" #. type: Plain text -#: en/git-merge.txt:122 +#: en/git-filter-branch.txt:194 msgid "" -"When `FETCH_HEAD` (and no other commit) is specified, the branches recorded " -"in the `.git/FETCH_HEAD` file by the previous invocation of `git fetch` for " -"merging are merged to the current branch." +"'git filter-branch' refuses to start with an existing temporary directory or " +"when there are already refs starting with 'refs/original/', unless forced." msgstr "" -#. type: Title - -#: en/git-merge.txt:125 +#. type: Labeled list +#: en/git-filter-branch.txt:195 #, no-wrap -msgid "PRE-MERGE CHECKS" +msgid "<rev-list options>..." msgstr "" #. type: Plain text -#: en/git-merge.txt:133 +#: en/git-filter-branch.txt:200 msgid "" -"Before applying outside changes, you should get your own work in good shape " -"and committed locally, so it will not be clobbered if there are conflicts. " -"See also linkgit:git-stash[1]. 'git pull' and 'git merge' will stop without " -"doing anything when local uncommitted changes overlap with files that 'git " -"pull'/'git merge' may need to update." +"Arguments for 'git rev-list'. All positive refs included by these options " +"are rewritten. You may also specify options such as `--all`, but you must " +"use `--` to separate them from the 'git filter-branch' options. Implies " +"<<Remap_to_ancestor>>." +msgstr "" + +#. type: Title ~ +#: en/git-filter-branch.txt:204 +#, no-wrap +msgid "Remap to ancestor" msgstr "" #. type: Plain text -#: en/git-merge.txt:139 +#: en/git-filter-branch.txt:211 msgid "" -"To avoid recording unrelated changes in the merge commit, 'git pull' and " -"'git merge' will also abort if there are any changes registered in the index " -"relative to the `HEAD` commit. (One exception is when the changed index " -"entries are in the state that would result from the merge already.)" +"By using linkgit:git-rev-list[1] arguments, e.g., path limiters, you can " +"limit the set of revisions which get rewritten. However, positive refs on " +"the command line are distinguished: we don't let them be excluded by such " +"limiters. For this purpose, they are instead rewritten to point at the " +"nearest ancestor that was not excluded." msgstr "" #. type: Plain text -#: en/git-merge.txt:142 +#: en/git-filter-branch.txt:218 msgid "" -"If all named commits are already ancestors of `HEAD`, 'git merge' will exit " -"early with the message \"Already up-to-date.\"" +"Suppose you want to remove a file (containing confidential information or " +"copyright violation) from all commits:" msgstr "" -#. type: Title - -#: en/git-merge.txt:144 +#. type: delimited block - +#: en/git-filter-branch.txt:221 #, no-wrap -msgid "FAST-FORWARD MERGE" +msgid "git filter-branch --tree-filter 'rm filename' HEAD\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:154 +#: en/git-filter-branch.txt:226 msgid "" -"Often the current branch head is an ancestor of the named commit. This is " -"the most common case especially when invoked from 'git pull': you are " -"tracking an upstream repository, you have committed no local changes, and " -"now you want to update to a newer upstream revision. In this case, a new " -"commit is not needed to store the combined history; instead, the `HEAD` " -"(along with the index) is updated to point at the named commit, without " -"creating an extra merge commit." +"However, if the file is absent from the tree of some commit, a simple `rm " +"filename` will fail for that tree and commit. Thus you may instead want to " +"use `rm -f filename` as the script." msgstr "" #. type: Plain text -#: en/git-merge.txt:156 -msgid "This behavior can be suppressed with the `--no-ff` option." +#: en/git-filter-branch.txt:232 +msgid "" +"Using `--index-filter` with 'git rm' yields a significantly faster version. " +"Like with using `rm filename`, `git rm --cached filename` will fail if the " +"file is absent from the tree of a commit. If you want to \"completely forget" +"\" a file, it does not matter when it entered history, so we also add `--" +"ignore-unmatch`:" msgstr "" -#. type: Title - -#: en/git-merge.txt:158 +#. type: delimited block - +#: en/git-filter-branch.txt:235 #, no-wrap -msgid "TRUE MERGE" +msgid "git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' HEAD\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:163 -msgid "" -"Except in a fast-forward merge (see above), the branches to be merged must " -"be tied together by a merge commit that has both of them as its parents." +#: en/git-filter-branch.txt:238 +msgid "Now, you will get the rewritten history saved in HEAD." msgstr "" #. type: Plain text -#: en/git-merge.txt:168 +#: en/git-filter-branch.txt:241 msgid "" -"A merged version reconciling the changes from all branches to be merged is " -"committed, and your `HEAD`, index, and working tree are updated to it. It " -"is possible to have modifications in the working tree as long as they do not " -"overlap; the update will preserve them." +"To rewrite the repository to look as if `foodir/` had been its project root, " +"and discard all other history:" msgstr "" -#. type: Plain text -#: en/git-merge.txt:171 -msgid "" -"When it is not obvious how to reconcile the changes, the following happens:" +#. type: delimited block - +#: en/git-filter-branch.txt:244 +#, no-wrap +msgid "git filter-branch --subdirectory-filter foodir -- --all\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:173 -msgid "The `HEAD` pointer stays the same." +#: en/git-filter-branch.txt:249 +msgid "" +"Thus you can, e.g., turn a library subdirectory into a repository of its " +"own. Note the `--` that separates 'filter-branch' options from revision " +"options, and the `--all` to rewrite all branches and tags." msgstr "" #. type: Plain text -#: en/git-merge.txt:174 -msgid "The `MERGE_HEAD` ref is set to point to the other branch head." +#: en/git-filter-branch.txt:253 +msgid "" +"To set a commit (which typically is at the tip of another history) to be the " +"parent of the current initial commit, in order to paste the other history " +"behind the current history:" msgstr "" -#. type: Plain text -#: en/git-merge.txt:176 -msgid "" -"Paths that merged cleanly are updated both in the index file and in your " -"working tree." +#. type: delimited block - +#: en/git-filter-branch.txt:256 +#, no-wrap +msgid "git filter-branch --parent-filter 'sed \"s/^\\$/-p <graft-id>/\"' HEAD\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:182 +#: en/git-filter-branch.txt:262 msgid "" -"For conflicting paths, the index file records up to three versions: stage 1 " -"stores the version from the common ancestor, stage 2 from `HEAD`, and stage " -"3 from `MERGE_HEAD` (you can inspect the stages with `git ls-files -u`). " -"The working tree files contain the result of the \"merge\" program; i.e. 3-" -"way merge results with familiar conflict markers `<<<` `===` `>>>`." +"(if the parent string is empty - which happens when we are dealing with the " +"initial commit - add graftcommit as a parent). Note that this assumes " +"history with a single root (that is, no merge without common ancestors " +"happened). If this is not the case, use:" msgstr "" -#. type: Plain text -#: en/git-merge.txt:186 +#. type: delimited block - +#: en/git-filter-branch.txt:266 +#, no-wrap msgid "" -"No other changes are made. In particular, the local modifications you had " -"before you started merge will stay the same and the index entries for them " -"stay as they were, i.e. matching `HEAD`." +"git filter-branch --parent-filter \\\n" +"\t'test $GIT_COMMIT = <commit-id> && echo \"-p <graft-id>\" || cat' HEAD\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:189 -msgid "" -"If you tried a merge which resulted in complex conflicts and want to start " -"over, you can recover with `git merge --abort`." +#: en/git-filter-branch.txt:269 +msgid "or even simpler:" msgstr "" -#. type: Title - -#: en/git-merge.txt:191 +#. type: delimited block - +#: en/git-filter-branch.txt:273 #, no-wrap -msgid "MERGING TAG" +msgid "" +"echo \"$commit-id $graft-id\" >> .git/info/grafts\n" +"git filter-branch $graft-id..HEAD\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:198 -msgid "" -"When merging an annotated (and possibly signed) tag, Git always creates a " -"merge commit even if a fast-forward merge is possible, and the commit " -"message template is prepared with the tag message. Additionally, if the tag " -"is signed, the signature check is reported as a comment in the message " -"template. See also linkgit:git-tag[1]." +#: en/git-filter-branch.txt:276 +msgid "To remove commits authored by \"Darl McBribe\" from the history:" msgstr "" -#. type: Plain text -#: en/git-merge.txt:202 +#. type: delimited block - +#: en/git-filter-branch.txt:285 +#, no-wrap msgid "" -"When you want to just integrate with the work leading to the commit that " -"happens to be tagged, e.g. synchronizing with an upstream release point, you " -"may not want to make an unnecessary merge commit." +"git filter-branch --commit-filter '\n" +"\tif [ \"$GIT_AUTHOR_NAME\" = \"Darl McBribe\" ];\n" +"\tthen\n" +"\t\tskip_commit \"$@\";\n" +"\telse\n" +"\t\tgit commit-tree \"$@\";\n" +"\tfi' HEAD\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:206 -msgid "" -"In such a case, you can \"unwrap\" the tag yourself before feeding it to " -"`git merge`, or pass `--ff-only` when you do not have any work on your own. " -"e.g." +#: en/git-filter-branch.txt:288 +msgid "The function 'skip_commit' is defined as follows:" msgstr "" #. type: delimited block - -#: en/git-merge.txt:211 +#: en/git-filter-branch.txt:300 #, no-wrap msgid "" -"git fetch origin\n" -"git merge v1.2.3^0\n" -"git merge --ff-only v1.2.3\n" +"skip_commit()\n" +"{\n" +"\tshift;\n" +"\twhile [ -n \"$1\" ];\n" +"\tdo\n" +"\t\tshift;\n" +"\t\tmap \"$1\";\n" +"\t\tshift;\n" +"\tdone;\n" +"}\n" msgstr "" -#. type: Title - -#: en/git-merge.txt:215 -#, no-wrap -msgid "HOW CONFLICTS ARE PRESENTED" +#. type: Plain text +#: en/git-filter-branch.txt:307 +msgid "" +"The shift magic first throws away the tree id and then the -p parameters. " +"Note that this handles merges properly! In case Darl committed a merge " +"between P1 and P2, it will be propagated properly and all children of the " +"merge will become merge commits with P1,P2 as their parents instead of the " +"merge commit." msgstr "" #. type: Plain text -#: en/git-merge.txt:224 +#: en/git-filter-branch.txt:312 +#, no-wrap msgid "" -"During a merge, the working tree files are updated to reflect the result of " -"the merge. Among the changes made to the common ancestor's version, non-" -"overlapping ones (that is, you changed an area of the file while the other " -"side left that area intact, or vice versa) are incorporated in the final " -"result verbatim. When both sides made changes to the same area, however, " -"Git cannot randomly pick one side over the other, and asks you to resolve it " -"by leaving what both sides did to that area." +"*NOTE* the changes introduced by the commits, and which are not reverted\n" +"by subsequent commits, will still be in the rewritten branch. If you want\n" +"to throw out _changes_ together with the commits, you should use the\n" +"interactive mode of 'git rebase'.\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:227 +#: en/git-filter-branch.txt:316 msgid "" -"By default, Git uses the same style as the one used by the \"merge\" program " -"from the RCS suite to present such a conflicted hunk, like this:" +"You can rewrite the commit log messages using `--msg-filter`. For example, " +"'git svn-id' strings in a repository created by 'git svn' can be removed " +"this way:" msgstr "" #. type: delimited block - -#: en/git-merge.txt:238 +#: en/git-filter-branch.txt:321 #, no-wrap msgid "" -"Here are lines that are either unchanged from the common\n" -"ancestor, or cleanly resolved because only one side changed.\n" -"<<<<<<< yours:sample.txt\n" -"Conflict resolution is hard;\n" -"let's go shopping.\n" -"=======\n" -"Git makes conflict resolution easy.\n" -">>>>>>> theirs:sample.txt\n" -"And here is another line that is cleanly resolved or unmodified.\n" +"git filter-branch --msg-filter '\n" +"\tsed -e \"/^git-svn-id:/d\"\n" +"'\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:243 +#: en/git-filter-branch.txt:325 msgid "" -"The area where a pair of conflicting changes happened is marked with markers " -"`<<<<<<<`, `=======`, and `>>>>>>>`. The part before the `=======` is " -"typically your side, and the part afterwards is typically their side." +"If you need to add 'Acked-by' lines to, say, the last 10 commits (none of " +"which is a merge), use this command:" msgstr "" -#. type: Plain text -#: en/git-merge.txt:249 +#. type: delimited block - +#: en/git-filter-branch.txt:331 +#, no-wrap msgid "" -"The default format does not show what the original said in the conflicting " -"area. You cannot tell how many lines are deleted and replaced with Barbie's " -"remark on your side. The only thing you can tell is that your side wants to " -"say it is hard and you'd prefer to go shopping, while the other side wants " -"to claim it is easy." +"git filter-branch --msg-filter '\n" +"\tcat &&\n" +"\techo \"Acked-by: Bugs Bunny <bunny@bugzilla.org>\"\n" +"' HEAD~10..HEAD\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:253 +#: en/git-filter-branch.txt:337 msgid "" -"An alternative style can be used by setting the \"merge.conflictStyle\" " -"configuration variable to \"diff3\". In \"diff3\" style, the above conflict " -"may look like this:" +"The `--env-filter` option can be used to modify committer and/or author " +"identity. For example, if you found out that your commits have the wrong " +"identity due to a misconfigured user.email, you can make a correction, " +"before publishing the project, like this:" msgstr "" #. type: delimited block - -#: en/git-merge.txt:266 +#: en/git-filter-branch.txt:351 #, no-wrap msgid "" -"Here are lines that are either unchanged from the common\n" -"ancestor, or cleanly resolved because only one side changed.\n" -"<<<<<<< yours:sample.txt\n" -"Conflict resolution is hard;\n" -"let's go shopping.\n" -"|||||||\n" -"Conflict resolution is hard.\n" -"=======\n" -"Git makes conflict resolution easy.\n" -">>>>>>> theirs:sample.txt\n" -"And here is another line that is cleanly resolved or unmodified.\n" +"git filter-branch --env-filter '\n" +"\tif test \"$GIT_AUTHOR_EMAIL\" = \"root@localhost\"\n" +"\tthen\n" +"\t\tGIT_AUTHOR_EMAIL=john@example.com\n" +"\t\texport GIT_AUTHOR_EMAIL\n" +"\tfi\n" +"\tif test \"$GIT_COMMITTER_EMAIL\" = \"root@localhost\"\n" +"\tthen\n" +"\t\tGIT_COMMITTER_EMAIL=john@example.com\n" +"\t\texport GIT_COMMITTER_EMAIL\n" +"\tfi\n" +"' -- --all\n" +msgstr "" + +#. type: Plain text +#: en/git-filter-branch.txt:357 +msgid "" +"To restrict rewriting to only part of the history, specify a revision range " +"in addition to the new branch name. The new branch name will point to the " +"top-most revision that a 'git rev-list' of this range will print." +msgstr "" + +#. type: Plain text +#: en/git-filter-branch.txt:359 +msgid "Consider this history:" +msgstr "" + +#. type: delimited block - +#: en/git-filter-branch.txt:364 +#, no-wrap +msgid "" +" D--E--F--G--H\n" +" / /\n" +"A--B-----C\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:274 -msgid "" -"In addition to the `<<<<<<<`, `=======`, and `>>>>>>>` markers, it uses " -"another `|||||||` marker that is followed by the original text. You can " -"tell that the original just stated a fact, and your side simply gave in to " -"that statement and gave up, while the other side tried to have a more " -"positive attitude. You can sometimes come up with a better resolution by " -"viewing the original." +#: en/git-filter-branch.txt:367 +msgid "To rewrite only commits D,E,F,G,H, but leave A, B and C alone, use:" msgstr "" -#. type: Title - -#: en/git-merge.txt:277 +#. type: delimited block - +#: en/git-filter-branch.txt:370 #, no-wrap -msgid "HOW TO RESOLVE CONFLICTS" +msgid "git filter-branch ... C..H\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:280 -msgid "After seeing a conflict, you can do two things:" +#: en/git-filter-branch.txt:373 +msgid "To rewrite commits E,F,G,H, use one of these:" msgstr "" -#. type: Plain text -#: en/git-merge.txt:285 +#. type: delimited block - +#: en/git-filter-branch.txt:377 +#, no-wrap msgid "" -"Decide not to merge. The only clean-ups you need are to reset the index " -"file to the `HEAD` commit to reverse 2. and to clean up working tree changes " -"made by 2. and 3.; `git merge --abort` can be used for this." +"git filter-branch ... C..H --not D\n" +"git filter-branch ... D..H --not C\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:289 +#: en/git-filter-branch.txt:380 +msgid "To move the whole tree into a subdirectory, or remove it from there:" +msgstr "" + +#. type: delimited block - +#: en/git-filter-branch.txt:387 +#, no-wrap msgid "" -"Resolve the conflicts. Git will mark the conflicts in the working tree. " -"Edit the files into shape and 'git add' them to the index. Use 'git commit' " -"to seal the deal." +"git filter-branch --index-filter \\\n" +"\t'git ls-files -s | sed \"s-\\t\\\"*-&newsubdir/-\" |\n" +"\t\tGIT_INDEX_FILE=$GIT_INDEX_FILE.new \\\n" +"\t\t\tgit update-index --index-info &&\n" +"\t mv \"$GIT_INDEX_FILE.new\" \"$GIT_INDEX_FILE\"' HEAD\n" msgstr "" -#. type: Plain text -#: en/git-merge.txt:291 -msgid "You can work through the conflict with a number of tools:" +#. type: Title - +#: en/git-filter-branch.txt:392 +#, no-wrap +msgid "Checklist for Shrinking a Repository" msgstr "" #. type: Plain text -#: en/git-merge.txt:294 +#: en/git-filter-branch.txt:400 msgid "" -"Use a mergetool. `git mergetool` to launch a graphical mergetool which will " -"work you through the merge." +"git-filter-branch can be used to get rid of a subset of files, usually with " +"some combination of `--index-filter` and `--subdirectory-filter`. People " +"expect the resulting repository to be smaller than the original, but you " +"need a few more steps to actually make it smaller, because Git tries hard " +"not to lose your objects until you tell it to. First make sure that:" msgstr "" #. type: Plain text -#: en/git-merge.txt:298 +#: en/git-filter-branch.txt:404 msgid "" -"Look at the diffs. `git diff` will show a three-way diff, highlighting " -"changes from both the `HEAD` and `MERGE_HEAD` versions." +"You really removed all variants of a filename, if a blob was moved over its " +"lifetime. `git log --name-only --follow --all -- filename` can help you " +"find renames." msgstr "" #. type: Plain text -#: en/git-merge.txt:302 +#: en/git-filter-branch.txt:407 msgid "" -"Look at the diffs from each branch. `git log --merge -p <path>` will show " -"diffs first for the `HEAD` version and then the `MERGE_HEAD` version." +"You really filtered all refs: use `--tag-name-filter cat -- --all` when " +"calling git-filter-branch." msgstr "" #. type: Plain text -#: en/git-merge.txt:307 +#: en/git-filter-branch.txt:410 msgid "" -"Look at the originals. `git show :1:filename` shows the common ancestor, " -"`git show :2:filename` shows the `HEAD` version, and `git show :3:filename` " -"shows the `MERGE_HEAD` version." +"Then there are two ways to get a smaller repository. A safer way is to " +"clone, that keeps your original intact." msgstr "" #. type: Plain text -#: en/git-merge.txt:314 +#: en/git-filter-branch.txt:414 msgid "" -"Merge branches `fixes` and `enhancements` on top of the current branch, " -"making an octopus merge:" +"Clone it with `git clone file:///path/to/repo`. The clone will not have the " +"removed objects. See linkgit:git-clone[1]. (Note that cloning with a plain " +"path just hardlinks everything!)" msgstr "" -#. type: delimited block - -#: en/git-merge.txt:317 -#, no-wrap -msgid "$ git merge fixes enhancements\n" +#. type: Plain text +#: en/git-filter-branch.txt:419 +msgid "" +"If you really don't want to clone it, for whatever reasons, check the " +"following points instead (in this order). This is a very destructive " +"approach, so *make a backup* or go back to cloning it. You have been warned." msgstr "" #. type: Plain text -#: en/git-merge.txt:321 +#: en/git-filter-branch.txt:423 msgid "" -"Merge branch `obsolete` into the current branch, using `ours` merge strategy:" +"Remove the original refs backed up by git-filter-branch: say `git for-each-" +"ref --format=\"%(refname)\" refs/original/ | xargs -n 1 git update-ref -d`." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:324 -#, no-wrap -msgid "$ git merge -s ours obsolete\n" +#. type: Plain text +#: en/git-filter-branch.txt:425 +msgid "Expire all reflogs with `git reflog expire --expire=now --all`." msgstr "" #. type: Plain text -#: en/git-merge.txt:328 +#: en/git-filter-branch.txt:429 msgid "" -"Merge branch `maint` into the current branch, but do not make a new commit " -"automatically:" +"Garbage collect all unreferenced objects with `git gc --prune=now` (or if " +"your git-gc is not new enough to support arguments to `--prune`, use `git " +"repack -ad; git prune` instead)." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:331 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git merge --no-commit maint\n" -msgstr "$ git commit\n" - #. type: Plain text -#: en/git-merge.txt:335 +#: en/git-filter-branch.txt:441 msgid "" -"This can be used when you want to include further changes to the merge, or " -"want to write your own merge commit message." +"git-filter-branch allows you to make complex shell-scripted rewrites of your " +"Git history, but you probably don't need this flexibility if you're simply " +"_removing unwanted data_ like large files or passwords. For those " +"operations you may want to consider http://rtyley.github.io/bfg-repo-cleaner/" +"[The BFG Repo-Cleaner], a JVM-based alternative to git-filter-branch, " +"typically at least 10-50x faster for those use-cases, and with quite " +"different characteristics:" msgstr "" #. type: Plain text -#: en/git-merge.txt:339 +#: en/git-filter-branch.txt:449 msgid "" -"You should refrain from abusing this option to sneak substantial changes " -"into a merge commit. Small fixups like bumping release/version name would " -"be acceptable." -msgstr "" - -#. type: Labeled list -#: en/git-merge.txt:347 en/config.txt:985 -#, no-wrap -msgid "branch.<name>.mergeOptions" +"Any particular version of a file is cleaned exactly _once_. The BFG, unlike " +"git-filter-branch, does not give you the opportunity to handle a file " +"differently based on where or when it was committed within your history. " +"This constraint gives the core performance benefit of The BFG, and is well-" +"suited to the task of cleansing bad data - you don't care _where_ the bad " +"data is, you just want it _gone_." msgstr "" #. type: Plain text -#: en/git-merge.txt:351 +#: en/git-filter-branch.txt:455 msgid "" -"Sets default options for merging into branch <name>. The syntax and " -"supported options are the same as those of 'git merge', but option values " -"containing whitespace characters are currently not supported." +"By default The BFG takes full advantage of multi-core machines, cleansing " +"commit file-trees in parallel. git-filter-branch cleans commits sequentially " +"(i.e. in a single-threaded manner), though it _is_ possible to write filters " +"that include their own parallelism, in the scripts executed against each " +"commit." msgstr "" -# #. type: Plain text -#: en/git-merge.txt:360 -#, fuzzy -#| msgid "" -#| "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" -#| "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" +#: en/git-filter-branch.txt:460 msgid "" -"linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1], linkgit:gitattributes[5], " -"linkgit:git-reset[1], linkgit:git-diff[1], linkgit:git-ls-files[1], linkgit:" -"git-add[1], linkgit:git-rm[1], linkgit:git-mergetool[1]" +"The http://rtyley.github.io/bfg-repo-cleaner/#examples[command options] are " +"much more restrictive than git-filter branch, and dedicated just to the " +"tasks of removing unwanted data- e.g: `--strip-blobs-bigger-than 1M`." msgstr "" -"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" -"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" #. type: Title = -#: en/git-mktag.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-mktag(1)" -msgstr "git-add(1)" +#: en/git-fmt-merge-msg.txt:2 +#, no-wrap +msgid "git-fmt-merge-msg(1)" +msgstr "" #. type: Plain text -#: en/git-mktag.txt:7 -msgid "git-mktag - Creates a tag object" +#: en/git-fmt-merge-msg.txt:7 +msgid "git-fmt-merge-msg - Produce a merge commit message" msgstr "" #. type: Plain text -#: en/git-mktag.txt:13 +#: en/git-fmt-merge-msg.txt:14 #, no-wrap -msgid "'git mktag'\n" +msgid "" +"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log]\n" +"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log] -F <file>\n" msgstr "" #. type: Plain text -#: en/git-mktag.txt:18 +#: en/git-fmt-merge-msg.txt:20 msgid "" -"Reads a tag contents on standard input and creates a tag object that can " -"also be used to sign other objects." +"Takes the list of merged objects on stdin and produces a suitable commit " +"message to be used for the merge commit, usually to be passed as the '<merge-" +"message>' argument of 'git merge'." msgstr "" #. type: Plain text -#: en/git-mktag.txt:20 -msgid "The output is the new tag's <object> identifier." +#: en/git-fmt-merge-msg.txt:23 +msgid "" +"This command is intended mostly for internal use by scripts automatically " +"invoking 'git merge'." msgstr "" -#. type: Title - -#: en/git-mktag.txt:22 +#. type: Labeled list +#: en/git-fmt-merge-msg.txt:27 en/merge-options.txt:45 #, no-wrap -msgid "Tag Format" +msgid "--log[=<n>]" msgstr "" #. type: Plain text -#: en/git-mktag.txt:25 +#: en/git-fmt-merge-msg.txt:33 msgid "" -"A tag signature file, to be fed to this command's standard input, has a very " -"simple fixed format: four lines of" +"In addition to branch names, populate the log message with one-line " +"descriptions from the actual commits that are being merged. At most <n> " +"commits from each merge parent will be used (20 if <n> is omitted). This " +"overrides the `merge.log` configuration variable." msgstr "" -#. type: Plain text -#: en/git-mktag.txt:30 +#. type: Labeled list +#: en/git-fmt-merge-msg.txt:34 en/merge-options.txt:46 #, no-wrap -msgid "" -" object <sha1>\n" -" type <typename>\n" -" tag <tagname>\n" -" tagger <tagger>\n" +msgid "--no-log" msgstr "" #. type: Plain text -#: en/git-mktag.txt:36 -msgid "" -"followed by some 'optional' free-form message (some tags created by older " -"Git may not have `tagger` line). The message, when exists, is separated by " -"a blank line from the header. The message part may contain a signature that " -"Git itself doesn't care about, but that can be verified with gpg." +#: en/git-fmt-merge-msg.txt:37 +msgid "Do not list one-line descriptions from the actual commits being merged." msgstr "" -#. type: Title = -#: en/git-mktree.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-mktree(1)" -msgstr "git-commit(1)" - -# -#. type: Plain text -#: en/git-mktree.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-mktree - Build a tree-object from ls-tree formatted text" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Plain text -#: en/git-mktree.txt:13 +#. type: Labeled list +#: en/git-fmt-merge-msg.txt:38 #, no-wrap -msgid "'git mktree' [-z] [--missing] [--batch]\n" +msgid "--[no-]summary" msgstr "" #. type: Plain text -#: en/git-mktree.txt:20 +#: en/git-fmt-merge-msg.txt:41 msgid "" -"Reads standard input in non-recursive `ls-tree` output format, and creates a " -"tree object. The order of the tree entries is normalised by mktree so pre-" -"sorting the input is not required. The object name of the tree object built " -"is written to the standard output." -msgstr "" - -#. type: Plain text -#: en/git-mktree.txt:25 -msgid "Read the NUL-terminated `ls-tree -z` output instead." +"Synonyms to --log and --no-log; these are deprecated and will be removed in " +"the future." msgstr "" #. type: Labeled list -#: en/git-mktree.txt:26 +#: en/git-fmt-merge-msg.txt:43 #, no-wrap -msgid "--missing" +msgid "--message <message>" msgstr "" #. type: Plain text -#: en/git-mktree.txt:31 +#: en/git-fmt-merge-msg.txt:46 msgid "" -"Allow missing objects. The default behaviour (without this option) is to " -"verify that each tree entry's sha1 identifies an existing object. This " -"option has no effect on the treatment of gitlink entries (aka \"submodules" -"\") which are always allowed to be missing." +"Use <message> instead of the branch names for the first line of the log " +"message. For use with `--log`." msgstr "" -#. type: Plain text -#: en/git-mktree.txt:37 -msgid "" -"Allow building of more than one tree object before exiting. Each tree is " -"separated by as single blank line. The final new-line is optional. Note - " -"if the `-z` option is used, lines are terminated with NUL." +#. type: Labeled list +#: en/git-fmt-merge-msg.txt:48 +#, no-wrap +msgid "--file <file>" msgstr "" -#. type: Title = -#: en/git-mv.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-mv(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-mv.txt:7 -msgid "git-mv - Move or rename a file, a directory, or a symlink" +#: en/git-fmt-merge-msg.txt:51 +#, fuzzy +#| msgid "" +#| "-F <file>::\n" +#| "--file=<file>::\n" +#| "\tTake the commit message from the given file. Use '-' to\n" +#| "\tread the message from the standard input.\n" +msgid "Take the list of merged objects from <file> instead of stdin." msgstr "" +"-F <fichier>::\n" +"--file=<fichier>::\n" +"\tPrendre le message de validation depuis le fichier indiqu챕.\n" +"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" -#. type: Plain text -#: en/git-mv.txt:13 +#. type: Labeled list +#: en/git-fmt-merge-msg.txt:56 #, no-wrap -msgid "'git mv' <options>... <args>...\n" +msgid "merge.summary" msgstr "" #. type: Plain text -#: en/git-mv.txt:17 -msgid "Move or rename a file, directory or symlink." +#: en/git-fmt-merge-msg.txt:59 +msgid "" +"Synonym to `merge.log`; this is deprecated and will be removed in the future." msgstr "" -#. type: Plain text -#: en/git-mv.txt:20 +#. type: delimited block - +#: en/git-fmt-merge-msg.txt:66 #, no-wrap msgid "" -" git mv [-v] [-f] [-n] [-k] <source> <destination>\n" -" git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>\n" +"$ git fetch origin master\n" +"$ git fmt-merge-msg --log <$GIT_DIR/FETCH_HEAD\n" msgstr "" #. type: Plain text -#: en/git-mv.txt:25 +#: en/git-fmt-merge-msg.txt:70 msgid "" -"In the first form, it renames <source>, which must exist and be either a " -"file, symlink or directory, to <destination>. In the second form, the last " -"argument has to be an existing directory; the given sources will be moved " -"into this directory." +"Print a log message describing a merge of the \"master\" branch from the " +"\"origin\" remote." msgstr "" -#. type: Plain text -#: en/git-mv.txt:28 -msgid "" -"The index is updated after successful completion, but the change must still " -"be committed." +#. type: Title = +#: en/git-for-each-ref.txt:2 +#, no-wrap +msgid "git-for-each-ref(1)" msgstr "" +# #. type: Plain text -#: en/git-mv.txt:34 -msgid "Force renaming or moving of a file even if the target exists" -msgstr "" +#: en/git-for-each-ref.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-for-each-ref - Output information on each ref" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-mv.txt:39 +#: en/git-for-each-ref.txt:15 +#, no-wrap msgid "" -"Skip move or rename actions which would lead to an error condition. An error " -"happens when a source is neither existing nor controlled by Git, or when it " -"would overwrite an existing file unless `-f` is given." -msgstr "" - -#. type: Plain text -#: en/git-mv.txt:42 -msgid "Do nothing; only show what would happen" +"'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]\n" +"\t\t [(--sort=<key>)...] [--format=<format>] [<pattern>...]\n" +"\t\t [--points-at <object>] [(--merged | --no-merged) [<object>]]\n" +"\t\t [--contains [<object>]]\n" msgstr "" #. type: Plain text -#: en/git-mv.txt:46 -#, fuzzy -#| msgid "" -#| "-v::\n" -#| "--verbose::\n" -#| " Be verbose.\n" -msgid "Report the names of files as they are moved." +#: en/git-for-each-ref.txt:25 +msgid "" +"Iterate over all refs that match `<pattern>` and show them according to the " +"given `<format>`, after sorting them according to the given set of `<key>`. " +"If `<count>` is given, stop after showing that many refs. The interpolated " +"values in `<format>` can optionally be quoted as string literals in the " +"specified host language allowing their direct evaluation in that language." msgstr "" -"-v::\n" -"--verbose::\n" -" Mode bavard.\n" -#. type: Title - -#: en/git-mv.txt:48 en/git-rm.txt:138 +#. type: Labeled list +#: en/git-for-each-ref.txt:28 #, no-wrap -msgid "SUBMODULES" +msgid "<count>" msgstr "" #. type: Plain text -#: en/git-mv.txt:54 +#: en/git-for-each-ref.txt:32 msgid "" -"Moving a submodule using a gitfile (which means they were cloned with a Git " -"version 1.7.8 or newer) will update the gitfile and core.worktree setting to " -"make the submodule work in the new location. It also will attempt to update " -"the submodule.<name>.path setting in the linkgit:gitmodules[5] file and " -"stage that file (unless -n is used)." +"By default the command shows all refs that match `<pattern>`. This option " +"makes it stop after showing that many refs." +msgstr "" + +#. type: Labeled list +#: en/git-for-each-ref.txt:33 +#, no-wrap +msgid "<key>" msgstr "" #. type: Plain text -#: en/git-mv.txt:66 +#: en/git-for-each-ref.txt:39 msgid "" -"Each time a superproject update moves a populated submodule (e.g. when " -"switching between commits before and after the move) a stale submodule " -"checkout will remain in the old location and an empty directory will appear " -"in the new location. To populate the submodule again in the new location the " -"user will have to run \"git submodule update\" afterwards. Removing the old " -"directory is only safe when it uses a gitfile, as otherwise the history of " -"the submodule will be deleted too. Both steps will be obsolete when " -"recursive submodule update has been implemented." +"A field name to sort on. Prefix `-` to sort in descending order of the " +"value. When unspecified, `refname` is used. You may use the --sort=<key> " +"option multiple times, in which case the last key becomes the primary key." msgstr "" -#. type: Title = -#: en/git-name-rev.txt:2 +#. type: Labeled list +#: en/git-for-each-ref.txt:40 en/git-tag.txt:170 #, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-name-rev(1)" -msgstr "git-add(1)" +#| msgid "Configuration" +msgid "<format>" +msgstr "Configuration" #. type: Plain text -#: en/git-name-rev.txt:7 -msgid "git-name-rev - Find symbolic names for given revs" +#: en/git-for-each-ref.txt:51 +msgid "" +"A string that interpolates `%(fieldname)` from the object pointed at by a " +"ref being shown. If `fieldname` is prefixed with an asterisk (`*`) and the " +"ref points at a tag object, the value for the field in the object tag refers " +"is used. When unspecified, defaults to `%(objectname) SPC %(objecttype) TAB " +"%(refname)`. It also interpolates `%%` to `%`, and `%xx` where `xx` are hex " +"digits interpolates to character with hex code `xx`; for example `%00` " +"interpolates to `\\0` (NUL), `%09` to `\\t` (TAB) and `%0a` to `\\n` (LF)." msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:14 +#. type: Labeled list +#: en/git-for-each-ref.txt:52 en/git-show-ref.txt:88 #, no-wrap -msgid "" -"'git name-rev' [--tags] [--refs=<pattern>]\n" -"\t ( --all | --stdin | <commit-ish>... )\n" +msgid "<pattern>..." msgstr "" #. type: Plain text -#: en/git-name-rev.txt:19 +#: en/git-for-each-ref.txt:57 msgid "" -"Finds symbolic names suitable for human digestion for revisions given in any " -"format parsable by 'git rev-parse'." +"If one or more patterns are given, only refs are shown that match against at " +"least one pattern, either using fnmatch(3) or literally, in the latter case " +"matching completely or from the beginning up to a slash." msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:26 -msgid "Do not use branch names, but only tags to name the commits" -msgstr "" +#. type: Labeled list +#: en/git-for-each-ref.txt:58 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--shell" +msgstr "git-add(1)" #. type: Labeled list -#: en/git-name-rev.txt:27 +#: en/git-for-each-ref.txt:59 #, no-wrap -msgid "--refs=<pattern>" -msgstr "" - -#. type: Plain text -#: en/git-name-rev.txt:32 -msgid "" -"Only use refs whose names match a given shell pattern. The pattern can be " -"one of branch name, tag name or fully qualified ref name. If given multiple " -"times, use refs whose names match any of the given shell patterns. Use `--no-" -"refs` to clear any previous ref patterns given." +msgid "--perl" msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:41 -msgid "" -"Do not use any ref whose name matches a given shell pattern. The pattern can " -"be one of branch name, tag name or fully qualified ref name. If given " -"multiple times, a ref will be excluded when it matches any of the given " -"patterns. When used together with --refs, a ref will be used as a match only " -"when it matches at least one --refs pattern and does not match any --exclude " -"patterns. Use `--no-exclude` to clear the list of exclude patterns." +#. type: Labeled list +#: en/git-for-each-ref.txt:60 +#, no-wrap +msgid "--python" msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:44 -msgid "List all commits reachable from all refs" +#. type: Labeled list +#: en/git-for-each-ref.txt:61 +#, no-wrap +msgid "--tcl" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:50 +#: en/git-for-each-ref.txt:66 msgid "" -"Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) " -"with \"$hex ($rev_name)\". When used with --name-only, substitute with " -"\"$rev_name\", omitting $hex altogether. Intended for the scripter's use." +"If given, strings that substitute `%(fieldname)` placeholders are quoted as " +"string literals suitable for the specified host language. This is meant to " +"produce a scriptlet that can directly be `eval`ed." msgstr "" #. type: Plain text -#: en/git-name-rev.txt:56 -msgid "" -"Instead of printing both the SHA-1 and the name, print only the name. If " -"given with --tags the usual tag prefix of \"tags/\" is also omitted from the " -"name, matching the output of `git-describe` more closely." +#: en/git-for-each-ref.txt:69 +msgid "Only list refs which points at the given object." msgstr "" #. type: Labeled list -#: en/git-name-rev.txt:57 +#: en/git-for-each-ref.txt:70 #, no-wrap -msgid "--no-undefined" +msgid "--merged [<object>]" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:60 +#: en/git-for-each-ref.txt:73 msgid "" -"Die with error code != 0 when a reference is undefined, instead of printing " -"`undefined`." +"Only list refs whose tips are reachable from the specified commit (HEAD if " +"not specified)." msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:71 -msgid "" -"Given a commit, find out where it is relative to the local refs. Say " -"somebody wrote you about that fantastic commit " -"33db5f4d9027a10e477ccf054b2c1ab94f74c85a. Of course, you look into the " -"commit, but that only tells you what happened, but not the context." +#. type: Labeled list +#: en/git-for-each-ref.txt:74 +#, no-wrap +msgid "--no-merged [<object>]" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:73 -#, fuzzy -#| msgid "git-add(1)" -msgid "Enter 'git name-rev':" -msgstr "git-add(1)" +#: en/git-for-each-ref.txt:77 +msgid "" +"Only list refs whose tips are not reachable from the specified commit (HEAD " +"if not specified)." +msgstr "" -#. type: delimited block - -#: en/git-name-rev.txt:77 +#. type: Labeled list +#: en/git-for-each-ref.txt:78 #, no-wrap -msgid "" -"% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a\n" -"33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940\n" +msgid "--contains [<object>]" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:80 +#: en/git-for-each-ref.txt:81 msgid "" -"Now you are wiser, because you know that it happened 940 revisions before " -"v0.99." +"Only list refs which contain the specified commit (HEAD if not specified)." msgstr "" #. type: Plain text -#: en/git-name-rev.txt:82 -msgid "Another nice thing you can do is:" +#: en/git-for-each-ref.txt:84 +msgid "Sorting and filtering refs are case insensitive." msgstr "" -#. type: delimited block - -#: en/git-name-rev.txt:85 +#. type: Title - +#: en/git-for-each-ref.txt:86 #, no-wrap -msgid "% git log | git name-rev --stdin\n" +msgid "FIELD NAMES" msgstr "" -#. type: Title = -#: en/git-notes.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-notes(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-notes.txt:7 -msgid "git-notes - Add or inspect object notes" +#: en/git-for-each-ref.txt:91 +msgid "" +"Various values from structured fields in referenced objects can be used to " +"interpolate into the resulting output, or as sort keys." msgstr "" #. type: Plain text -#: en/git-notes.txt:23 +#: en/git-for-each-ref.txt:93 +msgid "For all objects, the following names can be used:" +msgstr "" + +#. type: Labeled list +#: en/git-for-each-ref.txt:94 #, no-wrap -msgid "" -"'git notes' [list [<object>]]\n" -"'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]\n" -"'git notes' copy [-f] ( --stdin | <from-object> <to-object> )\n" -"'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]\n" -"'git notes' edit [--allow-empty] [<object>]\n" -"'git notes' show [<object>]\n" -"'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>\n" -"'git notes' merge --commit [-v | -q]\n" -"'git notes' merge --abort [-v | -q]\n" -"'git notes' remove [--ignore-missing] [--stdin] [<object>...]\n" -"'git notes' prune [-n | -v]\n" -"'git notes' get-ref\n" +msgid "refname" msgstr "" #. type: Plain text -#: en/git-notes.txt:29 +#: en/git-for-each-ref.txt:110 msgid "" -"Adds, removes, or reads notes attached to objects, without touching the " -"objects themselves." +"The name of the ref (the part after $GIT_DIR/). For a non-ambiguous short " +"name of the ref append `:short`. The option core.warnAmbiguousRefs is used " +"to select the strict abbreviation mode. If `lstrip=<N>` (`rstrip=<N>`) is " +"appended, strips `<N>` slash-separated path components from the front (back) " +"of the refname (e.g. `%(refname:lstrip=2)` turns `refs/tags/foo` into `foo` " +"and `%(refname:rstrip=2)` turns `refs/tags/foo` into `refs`). If `<N>` is a " +"negative number, strip as many path components as necessary from the " +"specified end to leave `-<N>` path components (e.g. `%(refname:lstrip=-2)` " +"turns `refs/tags/foo` into `tags/foo` and `%(refname:rstrip=-1)` turns `refs/" +"tags/foo` into `refs`). When the ref does not have enough components, the " +"result becomes an empty string if stripping with positive <N>, or it becomes " +"the full refname if stripping with negative <N>. Neither is an error." msgstr "" #. type: Plain text -#: en/git-notes.txt:34 -msgid "" -"By default, notes are saved to and read from `refs/notes/commits`, but this " -"default can be overridden. See the OPTIONS, CONFIGURATION, and ENVIRONMENT " -"sections below. If this ref does not exist, it will be quietly created when " -"it is first needed to store a note." +#: en/git-for-each-ref.txt:112 +msgid "`strip` can be used as a synomym to `lstrip`." msgstr "" -#. type: Plain text -#: en/git-notes.txt:41 -msgid "" -"A typical use of notes is to supplement a commit message without changing " -"the commit itself. Notes can be shown by 'git log' along with the original " -"commit message. To distinguish these notes from the message stored in the " -"commit object, the notes are indented like the message, after an unindented " -"line saying \"Notes (<refname>):\" (or \"Notes:\" for `refs/notes/commits`)." +#. type: Labeled list +#: en/git-for-each-ref.txt:113 +#, no-wrap +msgid "objecttype" msgstr "" #. type: Plain text -#: en/git-notes.txt:45 -msgid "" -"Notes can also be added to patches prepared with `git format-patch` by using " -"the `--notes` option. Such notes are added as a patch commentary after a " -"three dash separator line." +#: en/git-for-each-ref.txt:115 +msgid "The type of the object (`blob`, `tree`, `commit`, `tag`)." msgstr "" -#. type: Plain text -#: en/git-notes.txt:48 -msgid "" -"To change which notes are shown by 'git log', see the \"notes.displayRef\" " -"configuration in linkgit:git-log[1]." +#. type: Labeled list +#: en/git-for-each-ref.txt:116 +#, no-wrap +msgid "objectsize" msgstr "" #. type: Plain text -#: en/git-notes.txt:51 -msgid "" -"See the \"notes.rewrite.<command>\" configuration for a way to carry notes " -"across commands that rewrite commits." +#: en/git-for-each-ref.txt:118 +msgid "The size of the object (the same as 'git cat-file -s' reports)." msgstr "" -#. type: Title - -#: en/git-notes.txt:54 +#. type: Labeled list +#: en/git-for-each-ref.txt:119 #, no-wrap -msgid "SUBCOMMANDS" +msgid "objectname" +msgstr "" + +#. type: Plain text +#: en/git-for-each-ref.txt:125 +msgid "" +"The object name (aka SHA-1). For a non-ambiguous abbreviation of the object " +"name append `:short`. For an abbreviation of the object name with desired " +"length append `:short=<length>`, where the minimum length is MINIMUM_ABBREV. " +"The length may be exceeded to ensure unique object names." msgstr "" #. type: Labeled list -#: en/git-notes.txt:56 en/git-worktree.txt:59 +#: en/git-for-each-ref.txt:126 #, no-wrap -msgid "list" +msgid "upstream" msgstr "" #. type: Plain text -#: en/git-notes.txt:61 +#: en/git-for-each-ref.txt:140 msgid "" -"List the notes object for a given object. If no object is given, show a list " -"of all note objects and the objects they annotate (in the format \"<note " -"object> <annotated object>\"). This is the default subcommand if no " -"subcommand is given." +"The name of a local ref which can be considered ``upstream'' from the " +"displayed ref. Respects `:short`, `:lstrip` and `:rstrip` in the same way as " +"`refname` above. Additionally respects `:track` to show \"[ahead N, behind " +"M]\" and `:trackshort` to show the terse version: \">\" (ahead), \"<" +"\" (behind), \"<>\" (ahead and behind), or \"=\" (in sync). `:track` also " +"prints \"[gone]\" whenever unknown upstream ref is encountered. Append `:" +"track,nobracket` to show tracking information without brackets (i.e \"ahead " +"N, behind M\"). Has no effect if the ref does not have tracking information " +"associated with it. All the options apart from `nobracket` are mutually " +"exclusive, but if used together the last option is selected." msgstr "" #. type: Labeled list -#: en/git-notes.txt:62 +#: en/git-for-each-ref.txt:141 #, no-wrap -msgid "add" +msgid "push" msgstr "" #. type: Plain text -#: en/git-notes.txt:69 +#: en/git-for-each-ref.txt:147 msgid "" -"Add notes for a given object (defaults to HEAD). Abort if the object already " -"has notes (use `-f` to overwrite existing notes). However, if you're using " -"`add` interactively (using an editor to supply the notes contents), then - " -"instead of aborting - the existing notes will be opened in the editor (like " -"the `edit` subcommand)." +"The name of a local ref which represents the `@{push}` location for the " +"displayed ref. Respects `:short`, `:lstrip`, `:rstrip`, `:track`, and `:" +"trackshort` options as `upstream` does. Produces an empty string if no " +"`@{push}` ref is configured." msgstr "" #. type: Labeled list -#: en/git-notes.txt:70 +#: en/git-for-each-ref.txt:148 en/git.txt:817 #, no-wrap -msgid "copy" +msgid "HEAD" msgstr "" #. type: Plain text -#: en/git-notes.txt:76 +#: en/git-for-each-ref.txt:151 msgid "" -"Copy the notes for the first object onto the second object. Abort if the " -"second object already has notes, or if the first object has none (use -f to " -"overwrite existing notes to the second object). This subcommand is " -"equivalent to: `git notes add [-f] -C $(git notes list <from-object>) <to-" -"object>`" +"'*' if HEAD matches current ref (the checked out branch), ' ' otherwise." msgstr "" #. type: Plain text -#: en/git-notes.txt:78 -msgid "In `--stdin` mode, take lines in the format" +#: en/git-for-each-ref.txt:155 +msgid "" +"Change output color. Followed by `:<colorname>`, where names are described " +"in `color.branch.*`." msgstr "" -#. type: delimited block - -#: en/git-notes.txt:81 +#. type: Labeled list +#: en/git-for-each-ref.txt:156 #, no-wrap -msgid "<from-object> SP <to-object> [ SP <rest> ] LF\n" +msgid "align" msgstr "" #. type: Plain text -#: en/git-notes.txt:86 +#: en/git-for-each-ref.txt:170 msgid "" -"on standard input, and copy the notes from each <from-object> to its " -"corresponding <to-object>. (The optional `<rest>` is ignored so that the " -"command can read the input given to the `post-rewrite` hook.)" +"Left-, middle-, or right-align the content between %(align:...) and %(end). " +"The \"align:\" is followed by `width=<width>` and `position=<position>` in " +"any order separated by a comma, where the `<position>` is either left, right " +"or middle, default being left and `<width>` is the total length of the " +"content with alignment. For brevity, the \"width=\" and/or \"position=\" " +"prefixes may be omitted, and bare <width> and <position> used instead. For " +"instance, `%(align:<width>,<position>)`. If the contents length is more than " +"the width then no alignment is performed. If used with `--quote` everything " +"in between %(align:...) and %(end) is quoted, but if nested then only the " +"topmost level performs quoting." msgstr "" #. type: Labeled list -#: en/git-notes.txt:87 -#, no-wrap -msgid "append" -msgstr "" +#: en/git-for-each-ref.txt:171 +#, fuzzy, no-wrap +#| msgid "diff" +msgid "if" +msgstr "diff" #. type: Plain text -#: en/git-notes.txt:90 +#: en/git-for-each-ref.txt:183 msgid "" -"Append to the notes of an existing object (defaults to HEAD). Creates a new " -"notes object if needed." +"Used as %(if)...%(then)...%(end) or %(if)...%(then)...%(else)...%(end). If " +"there is an atom with value or string literal after the %(if) then " +"everything after the %(then) is printed, else if the %(else) atom is used, " +"then everything after %(else) is printed. We ignore space when evaluating " +"the string before %(then), this is useful when we use the %(HEAD) atom which " +"prints either \"*\" or \" \" and we want to apply the 'if' condition only on " +"the 'HEAD' ref. Append \":equals=<string>\" or \":notequals=<string>\" to " +"compare the value between the %(if:...) and %(then) atoms with the given " +"string." msgstr "" #. type: Labeled list -#: en/git-notes.txt:91 +#: en/git-for-each-ref.txt:184 #, no-wrap -msgid "edit" +msgid "symref" msgstr "" #. type: Plain text -#: en/git-notes.txt:93 -msgid "Edit the notes for a given object (defaults to HEAD)." +#: en/git-for-each-ref.txt:189 +msgid "" +"The ref which the given symbolic ref refers to. If not a symbolic ref, " +"nothing is printed. Respects the `:short`, `:lstrip` and `:rstrip` options " +"in the same way as `refname` above." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:94 -#, no-wrap -msgid "show" +#. type: Plain text +#: en/git-for-each-ref.txt:193 +msgid "" +"In addition to the above, for commit and tag objects, the header field names " +"(`tree`, `parent`, `object`, `type`, and `tag`) can be used to specify the " +"value in the header field." msgstr "" #. type: Plain text -#: en/git-notes.txt:96 -msgid "Show the notes for a given object (defaults to HEAD)." +#: en/git-for-each-ref.txt:198 +msgid "" +"For commit and tag objects, the special `creatordate` and `creator` fields " +"will correspond to the appropriate date or name-email-date tuple from the " +"`committer` or `tagger` fields depending on the object type. These are " +"intended for working on a mix of annotated and lightweight tags." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:97 en/git-submodule.txt:183 -#, no-wrap -msgid "merge" +#. type: Plain text +#: en/git-for-each-ref.txt:202 +msgid "" +"Fields that have name-email-date tuple as its value (`author`, `committer`, " +"and `tagger`) can be suffixed with `name`, `email`, and `date` to extract " +"the named component." msgstr "" #. type: Plain text -#: en/git-notes.txt:102 +#: en/git-for-each-ref.txt:211 msgid "" -"Merge the given notes ref into the current notes ref. This will try to " -"merge the changes made by the given notes ref (called \"remote\") since the " -"merge-base (if any) into the current notes ref (called \"local\")." +"The complete message in a commit and tag object is `contents`. Its first " +"line is `contents:subject`, where subject is the concatenation of all lines " +"of the commit message up to the first blank line. The next line is " +"'contents:body', where body is all of the lines after the first blank line. " +"The optional GPG signature is `contents:signature`. The first `N` lines of " +"the message is obtained using `contents:lines=N`. Additionally, the " +"trailers as interpreted by linkgit:git-interpret-trailers[1] are obtained as " +"'contents:trailers'." msgstr "" #. type: Plain text -#: en/git-notes.txt:111 +#: en/git-for-each-ref.txt:215 msgid "" -"If conflicts arise and a strategy for automatically resolving conflicting " -"notes (see the \"NOTES MERGE STRATEGIES\" section) is not given, the \"manual" -"\" resolver is used. This resolver checks out the conflicting notes in a " -"special worktree (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to " -"manually resolve the conflicts there. When done, the user can either " -"finalize the merge with 'git notes merge --commit', or abort the merge with " -"'git notes merge --abort'." +"For sorting purposes, fields with numeric values sort in numeric order " +"(`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`). " +"All other fields are used to sort in their byte-value order." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:112 -#, no-wrap -msgid "remove" +#. type: Plain text +#: en/git-for-each-ref.txt:218 +msgid "" +"There is also an option to sort by versions, this can be done by using the " +"fieldname `version:refname` or its alias `v:refname`." msgstr "" #. type: Plain text -#: en/git-notes.txt:117 +#: en/git-for-each-ref.txt:222 msgid "" -"Remove the notes for given objects (defaults to HEAD). When giving zero or " -"one object from the command line, this is equivalent to specifying an empty " -"note message to the `edit` subcommand." +"In any case, a field name that refers to a field inapplicable to the object " +"referred by the ref does not cause an error. It returns an empty string " +"instead." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:118 en/git-worktree.txt:74 -#, no-wrap -msgid "prune" +#. type: Plain text +#: en/git-for-each-ref.txt:226 +msgid "" +"As a special case for the date-type fields, you may specify a format for the " +"date by adding `:` followed by date format name (see the values the `--date` " +"option to linkgit:git-rev-list[1] takes)." msgstr "" #. type: Plain text -#: en/git-notes.txt:120 -msgid "Remove all notes for non-existing/unreachable objects." +#: en/git-for-each-ref.txt:229 +msgid "" +"Some atoms like %(align) and %(if) always require a matching %(end). We " +"call them \"opening atoms\" and sometimes denote them as %($open)." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:121 -#, no-wrap -msgid "get-ref" +#. type: Plain text +#: en/git-for-each-ref.txt:234 +msgid "" +"When a scripting language specific quoting is in effect, everything between " +"a top-level opening atom and its matching %(end) is evaluated according to " +"the semantics of the opening atom and only its result from the top-level is " +"quoted." msgstr "" #. type: Plain text -#: en/git-notes.txt:124 +#: en/git-for-each-ref.txt:241 msgid "" -"Print the current notes ref. This provides an easy way to retrieve the " -"current notes ref (e.g. from scripts)." +"An example directly producing formatted text. Show the most recent 3 tagged " +"commits:" msgstr "" -#. type: Plain text -#: en/git-notes.txt:131 +#. type: delimited block - +#: en/git-for-each-ref.txt:244 en/git-for-each-ref.txt:260 +#: en/git-for-each-ref.txt:274 +#, no-wrap +msgid "#!/bin/sh\n" +msgstr "" + +#. type: delimited block - +#: en/git-for-each-ref.txt:250 +#, no-wrap msgid "" -"When adding notes to an object that already has notes, overwrite the " -"existing notes (instead of aborting)." +"git for-each-ref --count=3 --sort='-*authordate' \\\n" +"--format='From: %(*authorname) %(*authoremail)\n" +"Subject: %(*subject)\n" +"Date: %(*authordate)\n" +"Ref: %(*refname)\n" msgstr "" -#. type: Plain text -#: en/git-notes.txt:139 -#, fuzzy -#| msgid "" -#| "-m <msg>::\n" -#| "--message=<msg>::\n" -#| "\tUse the given <msg> as the commit message.\n" -#| "\tIf multiple `-m` options are given, their values are\n" -#| "\tconcatenated as separate paragraphs.\n" +#. type: delimited block - +#: en/git-for-each-ref.txt:253 +#, no-wrap msgid "" -"Use the given note message (instead of prompting). If multiple `-m` options " -"are given, their values are concatenated as separate paragraphs. Lines " -"starting with `#` and empty lines other than a single line between " -"paragraphs will be stripped out." +"%(*body)\n" +"' 'refs/tags'\n" msgstr "" -"-m <msg>::\n" -"--message=<msg>::\n" -"\tUtiliser le <msg> fourni comme message de validation\n" -"\tSi plusieurs options `-m` sont fournies, leurs valeurs\n" -"\tsont concat챕n챕es comme paragraphes s챕par챕s.\n" #. type: Plain text -#: en/git-notes.txt:146 -#, fuzzy -#| msgid "" -#| "-F <file>::\n" -#| "--file=<file>::\n" -#| "\tTake the commit message from the given file. Use '-' to\n" -#| "\tread the message from the standard input.\n" +#: en/git-for-each-ref.txt:258 msgid "" -"Take the note message from the given file. Use '-' to read the note message " -"from the standard input. Lines starting with `#` and empty lines other than " -"a single line between paragraphs will be stripped out." +"A simple example showing the use of shell eval on the output, demonstrating " +"the use of --shell. List the prefixes of all heads:" msgstr "" -"-F <fichier>::\n" -"--file=<fichier>::\n" -"\tPrendre le message de validation depuis le fichier indiqu챕.\n" -"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" -#. type: Labeled list -#: en/git-notes.txt:147 +#. type: delimited block - +#: en/git-for-each-ref.txt:267 #, no-wrap -msgid "-C <object>" +msgid "" +"git for-each-ref --shell --format=\"ref=%(refname)\" refs/heads | \\\n" +"while read entry\n" +"do\n" +"\teval \"$entry\"\n" +"\techo `dirname $ref`\n" +"done\n" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:148 +#. type: Plain text +#: en/git-for-each-ref.txt:272 +msgid "" +"A bit more elaborate report on tags, demonstrating that the format may be an " +"entire script:" +msgstr "" + +#. type: delimited block - +#: en/git-for-each-ref.txt:279 #, no-wrap -msgid "--reuse-message=<object>" +msgid "" +"fmt='\n" +"\tr=%(refname)\n" +"\tt=%(*objecttype)\n" +"\tT=${r#refs/tags/}\n" msgstr "" -#. type: Plain text -#: en/git-notes.txt:152 +#. type: delimited block - +#: en/git-for-each-ref.txt:286 +#, no-wrap msgid "" -"Take the given blob object (for\texample, another note) as the note message. " -"(Use `git notes copy <object>` instead to copy notes between objects.)" +"\to=%(*objectname)\n" +"\tn=%(*authorname)\n" +"\te=%(*authoremail)\n" +"\ts=%(*subject)\n" +"\td=%(*authordate)\n" +"\tb=%(*body)\n" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:153 +#. type: delimited block - +#: en/git-for-each-ref.txt:305 #, no-wrap -msgid "-c <object>" +msgid "" +"\tkind=Tag\n" +"\tif test \"z$t\" = z\n" +"\tthen\n" +"\t\t# could be a lightweight tag\n" +"\t\tt=%(objecttype)\n" +"\t\tkind=\"Lightweight tag\"\n" +"\t\to=%(objectname)\n" +"\t\tn=%(authorname)\n" +"\t\te=%(authoremail)\n" +"\t\ts=%(subject)\n" +"\t\td=%(authordate)\n" +"\t\tb=%(body)\n" +"\tfi\n" +"\techo \"$kind $T points at a $t object $o\"\n" +"\tif test \"z$t\" = zcommit\n" +"\tthen\n" +"\t\techo \"The commit was authored by $n $e\n" +"at $d, and titled\n" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:154 +#. type: delimited block - +#: en/git-for-each-ref.txt:307 #, no-wrap -msgid "--reedit-message=<object>" -msgstr "" - -#. type: Plain text -#: en/git-notes.txt:157 -#, fuzzy -#| msgid "" -#| "-c <commit>::\n" -#| "--reedit-message=<commit>::\n" -#| "\tLike '-C', but with `-c` the editor is invoked, so that\n" -#| "\tthe user can further edit the commit message.\n" -msgid "" -"Like '-C', but with `-c` the editor is invoked, so that the user can further " -"edit the note message." +msgid " $s\n" msgstr "" -"-c <commit>::\n" -"--reedit-message=<commit>::\n" -"\tComme '-C', mais avec '-c', l'챕diteur est appel챕 pour permettre \n" -"\t횪 l'utilisateur de modifier le message de validation.\n" -#. type: Plain text -#: en/git-notes.txt:161 +#. type: delimited block - +#: en/git-for-each-ref.txt:314 +#, no-wrap msgid "" -"Allow an empty note object to be stored. The default behavior is to " -"automatically remove empty notes." +"Its message reads as:\n" +"\"\n" +"\t\techo \"$b\" | sed -e \"s/^/ /\"\n" +"\t\techo\n" +"\tfi\n" +"'\n" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:162 +#. type: delimited block - +#: en/git-for-each-ref.txt:320 #, no-wrap -msgid "--ref <ref>" -msgstr "" - -#. type: Plain text -#: en/git-notes.txt:168 msgid "" -"Manipulate the notes tree in <ref>. This overrides `GIT_NOTES_REF` and the " -"\"core.notesRef\" configuration. The ref specifies the full refname when it " -"begins with `refs/notes/`; when it begins with `notes/`, `refs/` and " -"otherwise `refs/notes/` is prefixed to form a full name of the ref." +"eval=`git for-each-ref --shell --format=\"$fmt\" \\\n" +"\t--sort='*objecttype' \\\n" +"\t--sort=-taggerdate \\\n" +"\trefs/tags`\n" +"eval \"$eval\"\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:172 +#: en/git-for-each-ref.txt:325 msgid "" -"Do not consider it an error to request removing notes from an object that " -"does not have notes attached to it." +"An example to show the usage of %(if)...%(then)...%(else)...%(end). This " +"prefixes the current branch with a star." msgstr "" -#. type: Plain text -#: en/git-notes.txt:177 -msgid "" -"Also read the object names to remove notes from from the standard input " -"(there is no reason you cannot combine this with object names from the " -"command line)." +#. type: delimited block - +#: en/git-for-each-ref.txt:328 +#, no-wrap +msgid "git for-each-ref --format=\"%(if)%(HEAD)%(then)* %(else) %(end)%(refname:short)\" refs/heads/\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:182 +#: en/git-for-each-ref.txt:333 msgid "" -"Do not remove anything; just report the object names whose notes would be " -"removed." +"An example to show the usage of %(if)...%(then)...%(end). This prints the " +"authorname, if present." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:183 en/git-rebase.txt:282 en/merge-options.txt:77 +#. type: delimited block - +#: en/git-for-each-ref.txt:336 #, no-wrap -msgid "-s <strategy>" -msgstr "" - -#. type: Plain text -#: en/git-notes.txt:191 -msgid "" -"When merging notes, resolve notes conflicts using the given strategy. The " -"following strategies are recognized: \"manual\" (default), \"ours\", \"theirs" -"\", \"union\" and \"cat_sort_uniq\". This option overrides the \"notes." -"mergeStrategy\" configuration setting. See the \"NOTES MERGE STRATEGIES\" " -"section below for more information on each notes merge strategy." +msgid "git for-each-ref --format=\"%(refname)%(if)%(authorname)%(then) Authored by: %(authorname)%(end)\"\n" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:192 en/merge-options.txt:1 +#. type: Title = +#: en/git-format-patch.txt:2 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "--commit" +msgid "git-format-patch(1)" msgstr "git-commit(1)" #. type: Plain text -#: en/git-notes.txt:200 -msgid "" -"Finalize an in-progress 'git notes merge'. Use this option when you have " -"resolved the conflicts that 'git notes merge' stored in .git/" -"NOTES_MERGE_WORKTREE. This amends the partial merge commit created by 'git " -"notes merge' (stored in .git/NOTES_MERGE_PARTIAL) by adding the notes in ." -"git/NOTES_MERGE_WORKTREE. The notes ref stored in the .git/NOTES_MERGE_REF " -"symref is updated to the resulting commit." +#: en/git-format-patch.txt:7 +msgid "git-format-patch - Prepare patches for e-mail submission" msgstr "" #. type: Plain text -#: en/git-notes.txt:205 +#: en/git-format-patch.txt:28 +#, no-wrap msgid "" -"Abort/reset a in-progress 'git notes merge', i.e. a notes merge with " -"conflicts. This simply removes all files related to the notes merge." +"'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout]\n" +"\t\t [--no-thread | --thread[=<style>]]\n" +"\t\t [(--attach|--inline)[=<boundary>] | --no-attach]\n" +"\t\t [-s | --signoff]\n" +"\t\t [--signature=<signature> | --no-signature]\n" +"\t\t [--signature-file=<file>]\n" +"\t\t [-n | --numbered | -N | --no-numbered]\n" +"\t\t [--start-number <n>] [--numbered-files]\n" +"\t\t [--in-reply-to=Message-Id] [--suffix=.<sfx>]\n" +"\t\t [--ignore-if-in-upstream]\n" +"\t\t [--rfc] [--subject-prefix=Subject-Prefix]\n" +"\t\t [(--reroll-count|-v) <n>]\n" +"\t\t [--to=<email>] [--cc=<email>]\n" +"\t\t [--[no-]cover-letter] [--quiet] [--notes[=<ref>]]\n" +"\t\t [<common diff options>]\n" +"\t\t [ <since> | <revision range> ]\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:209 -msgid "When merging notes, operate quietly." +#: en/git-format-patch.txt:36 +msgid "" +"Prepare each commit with its patch in one file per commit, formatted to " +"resemble UNIX mailbox format. The output of this command is convenient for " +"e-mail submission or for use with 'git am'." msgstr "" #. type: Plain text -#: en/git-notes.txt:215 -msgid "" -"When merging notes, be more verbose. When pruning notes, report all object " -"names whose notes are removed." +#: en/git-format-patch.txt:38 +msgid "There are two ways to specify which commits to operate on." msgstr "" #. type: Plain text -#: en/git-notes.txt:229 +#: en/git-format-patch.txt:42 msgid "" -"Commit notes are blobs containing extra information about an object (usually " -"information to supplement a commit's message). These blobs are taken from " -"notes refs. A notes ref is usually a branch which contains \"files\" whose " -"paths are the object names for the objects they describe, with some " -"directory separators included for performance reasons footnote:[Permitted " -"pathnames have the form 'ab'`/`'cd'`/`'ef'`/`'...'`/`'abcdef...': a sequence " -"of directory names of two hexadecimal digits each followed by a filename " -"with the rest of the object ID.]." +"A single commit, <since>, specifies that the commits leading to the tip of " +"the current branch that are not in the history that leads to the <since> to " +"be output." msgstr "" #. type: Plain text -#: en/git-notes.txt:236 +#: en/git-format-patch.txt:46 msgid "" -"Every notes change creates a new commit at the specified notes ref. You can " -"therefore inspect the history of the notes by invoking, e.g., `git log -p " -"notes/commits`. Currently the commit message only records which operation " -"triggered the update, and the commit authorship is determined according to " -"the usual rules (see linkgit:git-commit[1]). These details may change in " -"the future." +"Generic <revision range> expression (see \"SPECIFYING REVISIONS\" section in " +"linkgit:gitrevisions[7]) means the commits in the specified range." msgstr "" #. type: Plain text -#: en/git-notes.txt:240 +#: en/git-format-patch.txt:52 msgid "" -"It is also permitted for a notes ref to point directly to a tree object, in " -"which case the history of the notes can be read with `git log -p -g " -"<refname>`." -msgstr "" - -#. type: Title - -#: en/git-notes.txt:243 -#, no-wrap -msgid "NOTES MERGE STRATEGIES" +"The first rule takes precedence in the case of a single <commit>. To apply " +"the second rule, i.e., format everything since the beginning of history up " +"until <commit>, use the '\\--root' option: `git format-patch --root " +"<commit>`. If you want to format only <commit> itself, you can do this with " +"`git format-patch -1 <commit>`." msgstr "" #. type: Plain text -#: en/git-notes.txt:252 +#: en/git-format-patch.txt:59 msgid "" -"The default notes merge strategy is \"manual\", which checks out conflicting " -"notes in a special work tree for resolving notes conflicts (`.git/" -"NOTES_MERGE_WORKTREE`), and instructs the user to resolve the conflicts in " -"that work tree. When done, the user can either finalize the merge with 'git " -"notes merge --commit', or abort the merge with 'git notes merge --abort'." +"By default, each output file is numbered sequentially from 1, and uses the " +"first line of the commit message (massaged for pathname safety) as the " +"filename. With the `--numbered-files` option, the output file names will " +"only be numbers, without the first line of the commit appended. The names " +"of the output files are printed to standard output, unless the `--stdout` " +"option is specified." msgstr "" #. type: Plain text -#: en/git-notes.txt:255 +#: en/git-format-patch.txt:66 msgid "" -"Users may select an automated merge strategy from among the following using " -"either -s/--strategy option or configuring notes.mergeStrategy accordingly:" +"If `-o` is specified, output files are created in <dir>. Otherwise they are " +"created in the current working directory. The default path can be set with " +"the `format.outputDirectory` configuration option. The `-o` option takes " +"precedence over `format.outputDirectory`. To store patches in the current " +"working directory even when `format.outputDirectory` points elsewhere, use `-" +"o .`." msgstr "" #. type: Plain text -#: en/git-notes.txt:258 +#: en/git-format-patch.txt:70 msgid "" -"\"ours\" automatically resolves conflicting notes in favor of the local " -"version (i.e. the current notes ref)." +"By default, the subject of a single patch is \"[PATCH] \" followed by the " +"concatenation of lines from the commit message up to the first blank line " +"(see the DISCUSSION section of linkgit:git-commit[1])." msgstr "" #. type: Plain text -#: en/git-notes.txt:262 +#: en/git-format-patch.txt:74 msgid "" -"\"theirs\" automatically resolves notes conflicts in favor of the remote " -"version (i.e. the given notes ref being merged into the current notes ref)." +"When multiple patches are output, the subject prefix will instead be " +"\"[PATCH n/m] \". To force 1/1 to be added for a single patch, use `-n`. " +"To omit patch numbers from the subject, use `-N`." msgstr "" #. type: Plain text -#: en/git-notes.txt:265 +#: en/git-format-patch.txt:79 msgid "" -"\"union\" automatically resolves notes conflicts by concatenating the local " -"and remote versions." +"If given `--thread`, `git-format-patch` will generate `In-Reply-To` and " +"`References` headers to make the second and subsequent patch mails appear as " +"replies to the first mail; this also generates a `Message-Id` header to " +"reference." msgstr "" -#. type: Plain text -#: en/git-notes.txt:275 -msgid "" -"\"cat_sort_uniq\" is similar to \"union\", but in addition to concatenating " -"the local and remote versions, this strategy also sorts the resulting lines, " -"and removes duplicate lines from the result. This is equivalent to applying " -"the \"cat | sort | uniq\" shell pipeline to the local and remote versions. " -"This strategy is useful if the notes follow a line-based format where one " -"wants to avoid duplicated lines in the merge result. Note that if either " -"the local or remote version contain duplicate lines prior to the merge, " -"these will also be removed by this notes merge strategy." +#. type: Labeled list +#: en/git-format-patch.txt:85 +#, no-wrap +msgid "-<n>" msgstr "" #. type: Plain text -#: en/git-notes.txt:282 -msgid "" -"You can use notes to add annotations with information that was not available " -"at the time a commit was written." +#: en/git-format-patch.txt:87 +msgid "Prepare patches from the topmost <n> commits." msgstr "" -#. type: delimited block - -#: en/git-notes.txt:288 +#. type: Labeled list +#: en/git-format-patch.txt:88 #, no-wrap -msgid "" -"$ git notes add -m 'Tested-by: Johannes Sixt <j6t@kdbg.org>' 72a144e2\n" -"$ git show -s 72a144e\n" -"[...]\n" -" Signed-off-by: Junio C Hamano <gitster@pobox.com>\n" +msgid "-o <dir>" msgstr "" -#. type: delimited block - -#: en/git-notes.txt:291 +#. type: Labeled list +#: en/git-format-patch.txt:89 #, no-wrap -msgid "" -"Notes:\n" -" Tested-by: Johannes Sixt <j6t@kdbg.org>\n" +msgid "--output-directory <dir>" msgstr "" #. type: Plain text -#: en/git-notes.txt:296 +#: en/git-format-patch.txt:92 msgid "" -"In principle, a note is a regular Git blob, and any kind of (non-)format is " -"accepted. You can binary-safely create notes from arbitrary files using " -"'git hash-object':" +"Use <dir> to store the resulting files, instead of the current working " +"directory." msgstr "" -#. type: delimited block - -#: en/git-notes.txt:301 -#, no-wrap -msgid "" -"$ cc *.c\n" -"$ blob=$(git hash-object -w a.out)\n" -"$ git notes --ref=built add --allow-empty -C \"$blob\" HEAD\n" -msgstr "" +#. type: Labeled list +#: en/git-format-patch.txt:94 en/git-shortlog.txt:30 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--numbered" +msgstr "Configuration" #. type: Plain text -#: en/git-notes.txt:308 -msgid "" -"(You cannot simply use `git notes --ref=built add -F a.out HEAD` because " -"that is not binary-safe.) Of course, it doesn't make much sense to display " -"non-text-format notes with 'git log', so if you use such notes, you'll " -"probably need to write some special-purpose tools to do something useful " -"with them." +#: en/git-format-patch.txt:96 +msgid "Name output in '[PATCH n/m]' format, even with a single patch." msgstr "" #. type: Labeled list -#: en/git-notes.txt:313 en/config.txt:846 +#: en/git-format-patch.txt:98 #, fuzzy, no-wrap -#| msgid "whitespace" -msgid "core.notesRef" -msgstr "whitespace" +#| msgid "Configuration" +msgid "--no-numbered" +msgstr "Configuration" #. type: Plain text -#: en/git-notes.txt:318 -msgid "" -"Notes ref to read and manipulate instead of `refs/notes/commits`. Must be " -"an unabbreviated ref name. This setting can be overridden through the " -"environment and command line." +#: en/git-format-patch.txt:100 +msgid "Name output in '[PATCH]' format." msgstr "" #. type: Labeled list -#: en/git-notes.txt:319 en/config.txt:2239 +#: en/git-format-patch.txt:101 #, no-wrap -msgid "notes.mergeStrategy" +msgid "--start-number <n>" msgstr "" #. type: Plain text -#: en/git-notes.txt:324 -msgid "" -"Which merge strategy to choose by default when resolving notes conflicts. " -"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " -"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section above for more " -"information on each strategy." +#: en/git-format-patch.txt:103 +msgid "Start numbering the patches at <n> instead of 1." msgstr "" +#. type: Labeled list +#: en/git-format-patch.txt:104 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--numbered-files" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-notes.txt:326 -msgid "This setting can be overridden by passing the `--strategy` option." +#: en/git-format-patch.txt:107 +msgid "" +"Output file names will be a simple number sequence without the default first " +"line of the commit appended." msgstr "" #. type: Labeled list -#: en/git-notes.txt:327 en/config.txt:2245 +#: en/git-format-patch.txt:109 #, no-wrap -msgid "notes.<name>.mergeStrategy" +msgid "--keep-subject" msgstr "" #. type: Plain text -#: en/git-notes.txt:332 +#: en/git-format-patch.txt:112 msgid "" -"Which merge strategy to choose when doing a notes merge into refs/notes/" -"<name>. This overrides the more general \"notes.mergeStrategy\". See the " -"\"NOTES MERGE STRATEGIES\" section above for more information on each " -"available strategy." +"Do not strip/add '[PATCH]' from the first line of the commit log message." msgstr "" #. type: Plain text -#: en/git-notes.txt:341 +#: en/git-format-patch.txt:118 msgid "" -"Which ref (or refs, if a glob or specified more than once), in addition to " -"the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from " -"when showing commit messages with the 'git log' family of commands. This " -"setting can be overridden on the command line or by the " -"`GIT_NOTES_DISPLAY_REF` environment variable. See linkgit:git-log[1]." +"Add `Signed-off-by:` line to the commit message, using the committer " +"identity of yourself. See the signoff option in linkgit:git-commit[1] for " +"more information." msgstr "" #. type: Labeled list -#: en/git-notes.txt:342 en/config.txt:2268 +#: en/git-format-patch.txt:119 en/git-pack-objects.txt:57 #, no-wrap -msgid "notes.rewrite.<command>" +msgid "--stdout" msgstr "" #. type: Plain text -#: en/git-notes.txt:347 +#: en/git-format-patch.txt:122 msgid "" -"When rewriting commits with <command> (currently `amend` or `rebase`), if " -"this variable is `false`, git will not copy notes from the original to the " -"rewritten commit. Defaults to `true`. See also \"`notes.rewriteRef`\" " -"below." +"Print all commits to the standard output in mbox format, instead of creating " +"a file for each one." +msgstr "" + +#. type: Labeled list +#: en/git-format-patch.txt:123 +#, no-wrap +msgid "--attach[=<boundary>]" msgstr "" #. type: Plain text -#: en/git-notes.txt:350 +#: en/git-format-patch.txt:127 msgid "" -"This setting can be overridden by the `GIT_NOTES_REWRITE_REF` environment " -"variable." +"Create multipart/mixed attachment, the first part of which is the commit " +"message and the patch itself in the second part, with `Content-Disposition: " +"attachment`." msgstr "" #. type: Labeled list -#: en/git-notes.txt:351 en/config.txt:2275 +#: en/git-format-patch.txt:128 #, no-wrap -msgid "notes.rewriteMode" +msgid "--no-attach" msgstr "" #. type: Plain text -#: en/git-notes.txt:356 +#: en/git-format-patch.txt:131 msgid "" -"When copying notes during a rewrite, what to do if the target commit already " -"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " -"`ignore`. Defaults to `concatenate`." +"Disable the creation of an attachment, overriding the configuration setting." +msgstr "" + +#. type: Labeled list +#: en/git-format-patch.txt:132 +#, no-wrap +msgid "--inline[=<boundary>]" msgstr "" #. type: Plain text -#: en/git-notes.txt:359 en/config.txt:2284 +#: en/git-format-patch.txt:136 msgid "" -"This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` environment " -"variable." +"Create multipart/mixed attachment, the first part of which is the commit " +"message and the patch itself in the second part, with `Content-Disposition: " +"inline`." msgstr "" #. type: Labeled list -#: en/git-notes.txt:360 en/config.txt:2285 +#: en/git-format-patch.txt:137 #, no-wrap -msgid "notes.rewriteRef" +msgid "--thread[=<style>]" +msgstr "" + +#. type: Labeled list +#: en/git-format-patch.txt:138 +#, no-wrap +msgid "--no-thread" msgstr "" #. type: Plain text -#: en/git-notes.txt:365 +#: en/git-format-patch.txt:143 msgid "" -"When copying notes during a rewrite, specifies the (fully qualified) ref " -"whose notes should be copied. May be a glob, in which case notes in all " -"matching refs will be copied. You may also specify this configuration " -"several times." +"Controls addition of `In-Reply-To` and `References` headers to make the " +"second and subsequent mails appear as replies to the first. Also controls " +"generation of the `Message-Id` header to reference." msgstr "" #. type: Plain text -#: en/git-notes.txt:368 +#: en/git-format-patch.txt:149 msgid "" -"Does not have a default value; you must configure this variable to enable " -"note rewriting." +"The optional <style> argument can be either `shallow` or `deep`. 'shallow' " +"threading makes every mail a reply to the head of the series, where the head " +"is chosen from the cover letter, the `--in-reply-to`, and the first patch " +"mail, in this order. 'deep' threading makes every mail a reply to the " +"previous one." msgstr "" #. type: Plain text -#: en/git-notes.txt:370 +#: en/git-format-patch.txt:153 msgid "" -"Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable." +"The default is `--no-thread`, unless the `format.thread` configuration is " +"set. If `--thread` is specified without a style, it defaults to the style " +"specified by `format.thread` if any, or else `shallow`." +msgstr "" + +#. type: Plain text +#: en/git-format-patch.txt:157 +msgid "" +"Beware that the default for 'git send-email' is to thread emails itself. If " +"you want `git format-patch` to take care of threading, you will want to " +"ensure that threading is disabled for `git send-email`." msgstr "" #. type: Labeled list -#: en/git-notes.txt:375 +#: en/git-format-patch.txt:158 #, no-wrap -msgid "`GIT_NOTES_REF`" +msgid "--in-reply-to=Message-Id" msgstr "" #. type: Plain text -#: en/git-notes.txt:378 +#: en/git-format-patch.txt:162 msgid "" -"Which ref to manipulate notes from, instead of `refs/notes/commits`. This " -"overrides the `core.notesRef` setting." +"Make the first mail (or all the mails with `--no-thread`) appear as a reply " +"to the given Message-Id, which avoids breaking threads to provide a new " +"patch series." msgstr "" #. type: Labeled list -#: en/git-notes.txt:379 +#: en/git-format-patch.txt:163 #, no-wrap -msgid "`GIT_NOTES_DISPLAY_REF`" +msgid "--ignore-if-in-upstream" msgstr "" #. type: Plain text -#: en/git-notes.txt:385 +#: en/git-format-patch.txt:169 msgid "" -"Colon-delimited list of refs or globs indicating which refs, in addition to " -"the default from `core.notesRef` or `GIT_NOTES_REF`, to read notes from when " -"showing commit messages. This overrides the `notes.displayRef` setting." +"Do not include a patch that matches a commit in <until>..<since>. This will " +"examine all patches reachable from <since> but not from <until> and compare " +"them with the patches being generated, and any patch that matches is ignored." +msgstr "" + +#. type: Labeled list +#: en/git-format-patch.txt:170 +#, no-wrap +msgid "--subject-prefix=<Subject-Prefix>" msgstr "" #. type: Plain text -#: en/git-notes.txt:388 +#: en/git-format-patch.txt:175 msgid "" -"A warning will be issued for refs that do not exist, but a glob that does " -"not match any refs is silently ignored." +"Instead of the standard '[PATCH]' prefix in the subject line, instead use " +"'[<Subject-Prefix>]'. This allows for useful naming of a patch series, and " +"can be combined with the `--numbered` option." msgstr "" #. type: Labeled list -#: en/git-notes.txt:389 +#: en/git-format-patch.txt:176 #, no-wrap -msgid "`GIT_NOTES_REWRITE_MODE`" +msgid "--rfc" msgstr "" #. type: Plain text -#: en/git-notes.txt:394 +#: en/git-format-patch.txt:180 msgid "" -"When copying notes during a rewrite, what to do if the target commit already " -"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " -"`ignore`. This overrides the `core.rewriteMode` setting." +"Alias for `--subject-prefix=\"RFC PATCH\"`. RFC means \"Request For Comments" +"\"; use this when sending an experimental patch for discussion rather than " +"application." msgstr "" #. type: Labeled list -#: en/git-notes.txt:395 +#: en/git-format-patch.txt:181 #, no-wrap -msgid "`GIT_NOTES_REWRITE_REF`" +msgid "-v <n>" +msgstr "" + +#. type: Labeled list +#: en/git-format-patch.txt:182 +#, no-wrap +msgid "--reroll-count=<n>" msgstr "" #. type: Plain text -#: en/git-notes.txt:399 +#: en/git-format-patch.txt:189 msgid "" -"When rewriting commits, which notes to copy from the original to the " -"rewritten commit. Must be a colon-delimited list of refs or globs." +"Mark the series as the <n>-th iteration of the topic. The output filenames " +"have `v<n>` prepended to them, and the subject prefix (\"PATCH\" by default, " +"but configurable via the `--subject-prefix` option) has ` v<n>` appended to " +"it. E.g. `--reroll-count=4` may produce `v4-0001-add-makefile.patch` file " +"that has \"Subject: [PATCH v4 1/20] Add makefile\" in it." +msgstr "" + +#. type: Labeled list +#: en/git-format-patch.txt:190 +#, no-wrap +msgid "--to=<email>" msgstr "" #. type: Plain text -#: en/git-notes.txt:402 +#: en/git-format-patch.txt:195 msgid "" -"If not set in the environment, the list of notes to copy depends on the " -"`notes.rewrite.<command>` and `notes.rewriteRef` settings." +"Add a `To:` header to the email headers. This is in addition to any " +"configured headers, and may be used multiple times. The negated form `--no-" +"to` discards all `To:` headers added so far (from config or command line)." msgstr "" -#. type: Title = -#: en/git-p4.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-p4(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-format-patch.txt:196 +#, no-wrap +msgid "--cc=<email>" +msgstr "" #. type: Plain text -#: en/git-p4.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-p4 - Import from and submit to Perforce repositories" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-format-patch.txt:201 +msgid "" +"Add a `Cc:` header to the email headers. This is in addition to any " +"configured headers, and may be used multiple times. The negated form `--no-" +"cc` discards all `Cc:` headers added so far (from config or command line)." +msgstr "" -#. type: Plain text -#: en/git-p4.txt:16 +#. type: Labeled list +#: en/git-format-patch.txt:202 #, no-wrap -msgid "" -"'git p4 clone' [<sync options>] [<clone options>] <p4 depot path>...\n" -"'git p4 sync' [<sync options>] [<p4 depot path>...]\n" -"'git p4 rebase'\n" -"'git p4 submit' [<submit options>] [<master branch name>]\n" +msgid "--from" msgstr "" -#. type: Plain text -#: en/git-p4.txt:22 -msgid "This command provides a way to interact with p4 repositories using Git." +#. type: Labeled list +#: en/git-format-patch.txt:203 +#, no-wrap +msgid "--from=<ident>" msgstr "" #. type: Plain text -#: en/git-p4.txt:30 +#: en/git-format-patch.txt:209 msgid "" -"Create a new Git repository from an existing p4 repository using 'git p4 " -"clone', giving it one or more p4 depot paths. Incorporate new commits from " -"p4 changes with 'git p4 sync'. The 'sync' command is also used to include " -"new branches from other p4 depot paths. Submit Git changes back to p4 using " -"'git p4 submit'. The command 'git p4 rebase' does a sync plus rebases the " -"current branch onto the updated p4 remote branch." +"Use `ident` in the `From:` header of each commit email. If the author ident " +"of the commit is not textually identical to the provided `ident`, place a " +"`From:` header in the body of the message with the original author. If no " +"`ident` is given, use the committer ident." msgstr "" #. type: Plain text -#: en/git-p4.txt:35 -msgid "Clone a repository:" +#: en/git-format-patch.txt:216 +msgid "" +"Note that this option is only useful if you are actually sending the emails " +"and want to identify yourself as the sender, but retain the original author " +"(and `git am` will correctly pick up the in-body header). Note also that " +"`git send-email` already handles this transformation for you, and this " +"option should not be used if you are feeding the result to `git send-email`." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:38 en/git-p4.txt:71 +#. type: Labeled list +#: en/git-format-patch.txt:217 #, no-wrap -msgid "$ git p4 clone //depot/path/project\n" +msgid "--add-header=<header>" msgstr "" #. type: Plain text -#: en/git-p4.txt:41 -msgid "Do some work in the newly created Git repository:" +#: en/git-format-patch.txt:224 +msgid "" +"Add an arbitrary header to the email headers. This is in addition to any " +"configured headers, and may be used multiple times. For example, `--add-" +"header=\"Organization: git-foo\"`. The negated form `--no-add-header` " +"discards *all* (`To:`, `Cc:`, and custom) headers added so far from config " +"or command line." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:46 +#. type: Labeled list +#: en/git-format-patch.txt:225 #, no-wrap -msgid "" -"$ cd project\n" -"$ vi foo.h\n" -"$ git commit -a -m \"edited foo.h\"\n" +msgid "--[no-]cover-letter" msgstr "" #. type: Plain text -#: en/git-p4.txt:50 +#: en/git-format-patch.txt:229 msgid "" -"Update the Git repository with recent changes from p4, rebasing your work on " -"top:" +"In addition to the patches, generate a cover letter file containing the " +"branch description, shortlog and the overall diffstat. You can fill in a " +"description in the file before sending it out." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:53 en/git-p4.txt:130 +#. type: Labeled list +#: en/git-format-patch.txt:230 #, no-wrap -msgid "$ git p4 rebase\n" +msgid "--notes[=<ref>]" msgstr "" #. type: Plain text -#: en/git-p4.txt:56 -msgid "Submit your commits back to p4:" +#: en/git-format-patch.txt:233 +msgid "" +"Append the notes (see linkgit:git-notes[1]) for the commit after the three-" +"dash line." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:59 en/git-p4.txt:145 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git p4 submit\n" -msgstr "$ git commit\n" +#. type: Plain text +#: en/git-format-patch.txt:241 +msgid "" +"The expected use case of this is to write supporting explanation for the " +"commit that does not belong to the commit log message proper, and include it " +"with the patch submission. While one can simply write these explanations " +"after `format-patch` has run but before sending, keeping them as Git notes " +"allows them to be maintained between versions of the patch series (but see " +"the discussion of the `notes.rewrite` configuration options in linkgit:git-" +"notes[1] to use this workflow)." +msgstr "" -#. type: Title ~ -#: en/git-p4.txt:66 +#. type: Labeled list +#: en/git-format-patch.txt:242 #, no-wrap -msgid "Clone" +msgid "--[no-]signature=<signature>" msgstr "" #. type: Plain text -#: en/git-p4.txt:69 +#: en/git-format-patch.txt:247 msgid "" -"Generally, 'git p4 clone' is used to create a new Git directory from an " -"existing p4 repository:" +"Add a signature to each message produced. Per RFC 3676 the signature is " +"separated from the body by a line with '-- ' on it. If the signature option " +"is omitted the signature defaults to the Git version number." msgstr "" -#. type: Plain text -#: en/git-p4.txt:73 -msgid "This:" +#. type: Labeled list +#: en/git-format-patch.txt:248 +#, no-wrap +msgid "--signature-file=<file>" msgstr "" #. type: Plain text -#: en/git-p4.txt:75 -msgid "Creates an empty Git repository in a subdirectory called 'project'." +#: en/git-format-patch.txt:250 +msgid "Works just like --signature except the signature is read from a file." msgstr "" -#. type: Plain text -#: en/git-p4.txt:78 -msgid "" -"Imports the full contents of the head revision from the given p4 depot path " -"into a single commit in the Git branch 'refs/remotes/p4/master'." +#. type: Labeled list +#: en/git-format-patch.txt:251 +#, no-wrap +msgid "--suffix=.<sfx>" msgstr "" #. type: Plain text -#: en/git-p4.txt:80 -msgid "Creates a local branch, 'master' from this remote and checks it out." +#: en/git-format-patch.txt:256 +msgid "" +"Instead of using `.patch` as the suffix for generated filenames, use " +"specified suffix. A common alternative is `--suffix=.txt`. Leaving this " +"empty will remove the `.patch` suffix." msgstr "" #. type: Plain text -#: en/git-p4.txt:83 +#: en/git-format-patch.txt:259 msgid "" -"To reproduce the entire p4 history in Git, use the '@all' modifier on the " -"depot path:" +"Note that the leading character does not have to be a dot; for example, you " +"can use `--suffix=-patch` to get `0001-description-of-my-change-patch`." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:85 -#, no-wrap -msgid "$ git p4 clone //depot/path/project@all\n" +#. type: Plain text +#: en/git-format-patch.txt:263 +msgid "Do not print the names of the generated files to standard output." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:89 +#. type: Labeled list +#: en/git-format-patch.txt:264 #, no-wrap -msgid "Sync" +msgid "--no-binary" msgstr "" #. type: Plain text -#: en/git-p4.txt:92 +#: en/git-format-patch.txt:269 msgid "" -"As development continues in the p4 repository, those changes can be included " -"in the Git repository using:" +"Do not output contents of changes in binary files, instead display a notice " +"that those files changed. Patches generated using this option cannot be " +"applied properly, but they are still useful for code review." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:94 +#. type: Labeled list +#: en/git-format-patch.txt:270 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git p4 sync\n" -msgstr "$ git commit\n" - -#. type: Plain text -#: en/git-p4.txt:96 -msgid "This command finds new changes in p4 and imports them as Git commits." -msgstr "" +#| msgid "git-commit(1)" +msgid "--zero-commit" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-p4.txt:99 +#: en/git-format-patch.txt:273 msgid "" -"P4 repositories can be added to an existing Git repository using 'git p4 " -"sync' too:" +"Output an all-zero hash in each patch's From header instead of the hash of " +"the commit." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:104 -#, no-wrap -msgid "" -"$ mkdir repo-git\n" -"$ cd repo-git\n" -"$ git init\n" -"$ git p4 sync //path/in/your/perforce/depot\n" -msgstr "" +#. type: Labeled list +#: en/git-format-patch.txt:274 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--base=<commit>" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-p4.txt:109 +#: en/git-format-patch.txt:278 msgid "" -"This imports the specified depot into 'refs/remotes/p4/master' in an " -"existing Git repository. The `--branch` option can be used to specify a " -"different branch to be used for the p4 content." +"Record the base tree information to identify the state the patch series " +"applies to. See the BASE TREE INFORMATION section below for details." msgstr "" #. type: Plain text -#: en/git-p4.txt:114 +#: en/git-format-patch.txt:285 msgid "" -"If a Git repository includes branches 'refs/remotes/origin/p4', these will " -"be fetched and consulted first during a 'git p4 sync'. Since importing " -"directly from p4 is considerably slower than pulling changes from a Git " -"remote, this can be useful in a multi-developer environment." +"Treat the revision argument as a <revision range>, even if it is just a " +"single commit (that would normally be treated as a <since>). Note that root " +"commits included in the specified range are always formatted as creation " +"patches, independently of this flag." msgstr "" #. type: Plain text -#: en/git-p4.txt:119 +#: en/git-format-patch.txt:292 msgid "" -"If there are multiple branches, doing 'git p4 sync' will automatically use " -"the \"BRANCH DETECTION\" algorithm to try to partition new changes into the " -"right branch. This can be overridden with the `--branch` option to specify " -"just a single branch to update." +"You can specify extra mail header lines to be added to each message, " +"defaults for the subject prefix and file suffix, number patches when " +"outputting more than one patch, add \"To\" or \"Cc:\" headers, configure " +"attachments, and sign off patches with configuration variables." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:122 +#. type: delimited block - +#: en/git-format-patch.txt:304 #, no-wrap -msgid "Rebase" +msgid "" +"[format]\n" +"\theaders = \"Organization: git-foo\\n\"\n" +"\tsubjectPrefix = CHANGE\n" +"\tsuffix = .txt\n" +"\tnumbered = auto\n" +"\tto = <email>\n" +"\tcc = <email>\n" +"\tattach [ = mime-boundary-string ]\n" +"\tsignOff = true\n" +"\tcoverletter = auto\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:128 +#: en/git-format-patch.txt:313 msgid "" -"A common working pattern is to fetch the latest changes from the p4 depot " -"and merge them with local uncommitted changes. Often, the p4 repository is " -"the ultimate location for all code, thus a rebase workflow makes sense. " -"This command does 'git p4 sync' followed by 'git rebase' to move local " -"commits on top of updated p4 changes." +"The patch produced by 'git format-patch' is in UNIX mailbox format, with a " +"fixed \"magic\" time stamp to indicate that the file is output from format-" +"patch rather than a real mailbox, like so:" msgstr "" -#. type: Title ~ -#: en/git-p4.txt:134 +#. type: delimited block - +#: en/git-format-patch.txt:323 #, no-wrap -msgid "Submit" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:140 msgid "" -"Submitting changes from a Git repository back to the p4 repository requires " -"a separate p4 client workspace. This should be specified using the " -"`P4CLIENT` environment variable or the Git configuration variable 'git-p4." -"client'. The p4 client must exist, but the client root will be created and " -"populated if it does not already exist." +"From 8f72bad1baf19a53459661343e21d6491c3908d3 Mon Sep 17 00:00:00 2001\n" +"From: Tony Luck <tony.luck@intel.com>\n" +"Date: Tue, 13 Jul 2010 11:42:54 -0700\n" +"Subject: [PATCH] =?UTF-8?q?[IA64]=20Put=20ia64=20config=20files=20on=20the=20?=\n" +" =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20diet?=\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:143 +#. type: delimited block - +#: en/git-format-patch.txt:326 +#, no-wrap msgid "" -"To submit all changes that are in the current Git branch but not in the 'p4/" -"master' branch, use:" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:148 -msgid "To specify a branch other than the current one, use:" +"arch/arm config files were slimmed down using a python script\n" +"(See commit c2330e286f68f1c408b4aa6515ba49d57f05beae comment)\n" msgstr "" #. type: delimited block - -#: en/git-p4.txt:150 +#: en/git-format-patch.txt:329 #, no-wrap -msgid "$ git p4 submit topicbranch\n" +msgid "" +"Do the same for ia64 so we can have sleek & trim looking\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:154 +#: en/git-format-patch.txt:337 msgid "" -"The upstream reference is generally 'refs/remotes/p4/master', but can be " -"overridden using the `--origin=` command-line option." +"Typically it will be placed in a MUA's drafts folder, edited to add timely " +"commentary that should not go in the changelog after the three dashes, and " +"then sent as a message whose body, in our example, starts with \"arch/arm " +"config files were...\". On the receiving end, readers can save interesting " +"patches in a UNIX mailbox and apply them with linkgit:git-am[1]." msgstr "" #. type: Plain text -#: en/git-p4.txt:159 +#: en/git-format-patch.txt:343 msgid "" -"The p4 changes will be created as the user invoking 'git p4 submit'. The `--" -"preserve-user` option will cause ownership to be modified according to the " -"author of the Git commit. This option requires admin privileges in p4, " -"which can be granted using 'p4 protect'." +"When a patch is part of an ongoing discussion, the patch generated by 'git " +"format-patch' can be tweaked to take advantage of the 'git am --scissors' " +"feature. After your response to the discussion comes a line that consists " +"solely of \"`-- >8 --`\" (scissors and perforation), followed by the patch " +"with unnecessary header fields removed:" msgstr "" -#. type: Title ~ -#: en/git-p4.txt:165 +#. type: delimited block - +#: en/git-format-patch.txt:347 #, no-wrap -msgid "General options" +msgid "" +"...\n" +"> So we should do such-and-such.\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:167 -msgid "All commands except clone accept these options." +#. type: delimited block - +#: en/git-format-patch.txt:349 +#, no-wrap +msgid "Makes sense to me. How about this patch?\n" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:168 +#. type: delimited block - +#: en/git-format-patch.txt:352 #, no-wrap -msgid "--git-dir <dir>" +msgid "" +"-- >8 --\n" +"Subject: [IA64] Put ia64 config files on the Uwe Kleine-K철nig diet\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:170 -msgid "Set the `GIT_DIR` environment variable. See linkgit:git[1]." +#. type: delimited block - +#: en/git-format-patch.txt:355 +#, no-wrap +msgid "" +"arch/arm config files were slimmed down using a python script\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:174 -msgid "Provide more progress information." -msgstr "Fournir plus d'information de progression." +#: en/git-format-patch.txt:363 +msgid "" +"When sending a patch this way, most often you are sending your own patch, so " +"in addition to the \"`From $SHA1 $magic_timestamp`\" marker you should omit " +"`From:` and `Date:` lines from the patch file. The patch title is likely to " +"be different from the subject of the discussion the patch is in response to, " +"so it is likely that you would want to keep the Subject: line, like the " +"example above." +msgstr "" #. type: Title ~ -#: en/git-p4.txt:176 +#: en/git-format-patch.txt:365 #, no-wrap -msgid "Sync options" +msgid "Checking for patch corruption" msgstr "" #. type: Plain text -#: en/git-p4.txt:179 +#: en/git-format-patch.txt:368 msgid "" -"These options can be used in the initial 'clone' as well as in subsequent " -"'sync' operations." +"Many mailers if not set up properly will corrupt whitespace. Here are two " +"common types of corruption:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:180 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "--branch <ref>" -msgstr "Mode interactif" - #. type: Plain text -#: en/git-p4.txt:184 -msgid "" -"Import changes into <ref> instead of refs/remotes/p4/master. If <ref> " -"starts with refs/, it is used as is. Otherwise, if it does not start with " -"p4/, that prefix is added." +#: en/git-format-patch.txt:370 +msgid "Empty context lines that do not have _any_ whitespace." msgstr "" #. type: Plain text -#: en/git-p4.txt:188 +#: en/git-format-patch.txt:373 msgid "" -"By default a <ref> not starting with refs/ is treated as the name of a " -"remote-tracking branch (under refs/remotes/). This behavior can be modified " -"using the --import-local option." +"Non-empty context lines that have one extra whitespace at the beginning." msgstr "" #. type: Plain text -#: en/git-p4.txt:190 -msgid "The default <ref> is \"master\"." +#: en/git-format-patch.txt:375 +msgid "One way to test if your MUA is set up correctly is:" msgstr "" #. type: Plain text -#: en/git-p4.txt:193 -msgid "" -"This example imports a new remote \"p4/proj2\" into an existing Git " -"repository:" -msgstr "" - -#. type: delimited block - -#: en/git-p4.txt:197 -#, no-wrap +#: en/git-format-patch.txt:379 msgid "" -" $ git init\n" -" $ git p4 sync --branch=refs/remotes/p4/proj2 //depot/proj2\n" -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:199 -#, no-wrap -msgid "--detect-branches" +"Send the patch to yourself, exactly the way you would, except with To: and " +"Cc: lines that do not contain the list and maintainer address." msgstr "" #. type: Plain text -#: en/git-p4.txt:202 +#: en/git-format-patch.txt:382 msgid "" -"Use the branch detection algorithm to find new paths in p4. It is " -"documented below in \"BRANCH DETECTION\"." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:203 -#, no-wrap -msgid "--changesfile <file>" +"Save that patch to a file in UNIX mailbox format. Call it a.patch, say." msgstr "" #. type: Plain text -#: en/git-p4.txt:207 -msgid "" -"Import exactly the p4 change numbers listed in 'file', one per line. " -"Normally, 'git p4' inspects the current p4 repository state and detects the " -"changes it should import." +#: en/git-format-patch.txt:384 +msgid "Apply it:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:208 +#. type: Plain text +#: en/git-format-patch.txt:389 #, no-wrap -msgid "--silent" +msgid "" +"$ git fetch <project> master:test-apply\n" +"$ git checkout test-apply\n" +"$ git reset --hard\n" +"$ git am a.patch\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:210 -#, fuzzy -#| msgid "" -#| "\\--::\n" -#| "\tDo not interpret any more arguments as options.\n" -msgid "Do not print any progress information." -msgstr "" -"\\--::\n" -"\tNe pas interpr챕ter les arguments qui suivent comme options.\n" - -#. type: Labeled list -#: en/git-p4.txt:211 -#, no-wrap -msgid "--detect-labels" +#: en/git-format-patch.txt:391 +msgid "If it does not apply correctly, there can be various reasons." msgstr "" #. type: Plain text -#: en/git-p4.txt:215 +#: en/git-format-patch.txt:396 msgid "" -"Query p4 for labels associated with the depot paths, and add them as tags in " -"Git. Limited usefulness as only imports labels associated with new " -"changelists. Deprecated." +"The patch itself does not apply cleanly. That is _bad_ but does not have " +"much to do with your MUA. You might want to rebase the patch with linkgit:" +"git-rebase[1] before regenerating it in this case." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:216 en/git-p4.txt:331 -#, no-wrap -msgid "--import-labels" +#. type: Plain text +#: en/git-format-patch.txt:401 +msgid "" +"The MUA corrupted your patch; \"am\" would complain that the patch does not " +"apply. Look in the .git/rebase-apply/ subdirectory and see what 'patch' " +"file contains and check for the common corruption patterns mentioned above." msgstr "" #. type: Plain text -#: en/git-p4.txt:218 -msgid "Import labels from p4 into Git." +#: en/git-format-patch.txt:409 +msgid "" +"While at it, check the 'info' and 'final-commit' files as well. If what is " +"in 'final-commit' is not exactly what you would want to see in the commit " +"log message, it is very likely that the receiver would end up hand editing " +"the log message when applying your patch. Things like \"Hi, this is my " +"first patch.\\n\" in the patch e-mail should come after the three-dash line " +"that signals the end of the commit message." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:219 +#. type: Title - +#: en/git-format-patch.txt:411 #, no-wrap -msgid "--import-local" +msgid "MUA-SPECIFIC HINTS" msgstr "" #. type: Plain text -#: en/git-p4.txt:226 +#: en/git-format-patch.txt:414 msgid "" -"By default, p4 branches are stored in 'refs/remotes/p4/', where they will be " -"treated as remote-tracking branches by linkgit:git-branch[1] and other " -"commands. This option instead puts p4 branches in 'refs/heads/p4/'. Note " -"that future sync operations must specify `--import-local` as well so that " -"they can find the p4 branches in refs/heads." +"Here are some hints on how to successfully submit patches inline using " +"various mailers." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:227 +#. type: Title ~ +#: en/git-format-patch.txt:416 #, no-wrap -msgid "--max-changes <n>" +msgid "GMail" msgstr "" #. type: Plain text -#: en/git-p4.txt:233 +#: en/git-format-patch.txt:422 msgid "" -"Import at most 'n' changes, rather than the entire range of changes included " -"in the given revision specifier. A typical usage would be use '@all' as the " -"revision specifier, but then to use '--max-changes 1000' to import only the " -"last 1000 revisions rather than the entire revision history." +"GMail does not have any way to turn off line wrapping in the web interface, " +"so it will mangle any emails that you send. You can however use \"git send-" +"email\" and send your patches through the GMail SMTP server, or use any IMAP " +"email client to connect to the google IMAP server and forward the emails " +"through that." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:234 -#, no-wrap -msgid "--changes-block-size <n>" +#. type: Plain text +#: en/git-format-patch.txt:425 +msgid "" +"For hints on using 'git send-email' to send your patches through the GMail " +"SMTP server, see the EXAMPLE section of linkgit:git-send-email[1]." msgstr "" #. type: Plain text -#: en/git-p4.txt:242 +#: en/git-format-patch.txt:428 msgid "" -"The internal block size to use when converting a revision specifier such as " -"'@all' into a list of specific change numbers. Instead of using a single " -"call to 'p4 changes' to find the full list of changes for the conversion, " -"there are a sequence of calls to 'p4 changes -m', each of which requests one " -"block of changes of the given size. The default block size is 500, which " -"should usually be suitable." +"For hints on submission using the IMAP interface, see the EXAMPLE section of " +"linkgit:git-imap-send[1]." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:243 +#. type: Title ~ +#: en/git-format-patch.txt:430 #, no-wrap -msgid "--keep-path" +msgid "Thunderbird" msgstr "" #. type: Plain text -#: en/git-p4.txt:250 +#: en/git-format-patch.txt:434 msgid "" -"The mapping of file names from the p4 depot path to Git, by default, " -"involves removing the entire depot path. With this option, the full p4 " -"depot path is retained in Git. For example, path '//depot/main/foo/bar.c', " -"when imported from '//depot/main/', becomes 'foo/bar.c'. With `--keep-" -"path`, the Git path is instead 'depot/main/foo/bar.c'." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:251 -#, no-wrap -msgid "--use-client-spec" +"By default, Thunderbird will both wrap emails as well as flag them as being " +"'format=flowed', both of which will make the resulting email unusable by Git." msgstr "" #. type: Plain text -#: en/git-p4.txt:254 +#: en/git-format-patch.txt:438 msgid "" -"Use a client spec to find the list of interesting files in p4. See the " -"\"CLIENT SPEC\" section below." +"There are three different approaches: use an add-on to turn off line wraps, " +"configure Thunderbird to not mangle patches, or use an external editor to " +"keep Thunderbird from mangling the patches." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:255 +#. type: Title ^ +#: en/git-format-patch.txt:440 #, fuzzy, no-wrap -#| msgid "patch" -msgid "-/ <path>" -msgstr "patch" +#| msgid "Configuration" +msgid "Approach #1 (add-on)" +msgstr "Configuration" #. type: Plain text -#: en/git-p4.txt:257 -msgid "Exclude selected depot paths when cloning or syncing." +#: en/git-format-patch.txt:448 +msgid "" +"Install the Toggle Word Wrap add-on that is available from https://addons." +"mozilla.org/thunderbird/addon/toggle-word-wrap/ It adds a menu entry " +"\"Enable Word Wrap\" in the composer's \"Options\" menu that you can tick " +"off. Now you can compose the message as you otherwise do (cut + paste, 'git " +"format-patch' | 'git imap-send', etc), but you have to insert line breaks " +"manually in any text that you type." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:259 -#, no-wrap -msgid "Clone options" +#. type: Title ^ +#: en/git-format-patch.txt:450 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Approach #2 (configuration)" +msgstr "Configuration" + +#. type: Plain text +#: en/git-format-patch.txt:452 +msgid "Three steps:" msgstr "" #. type: Plain text -#: en/git-p4.txt:262 +#: en/git-format-patch.txt:456 msgid "" -"These options can be used in an initial 'clone', along with the 'sync' " -"options described above." +"Configure your mail server composition as plain text: Edit...Account " +"Settings...Composition & Addressing, uncheck \"Compose Messages in HTML\"." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:263 -#, no-wrap -msgid "--destination <directory>" +#. type: Plain text +#: en/git-format-patch.txt:458 +msgid "Configure your general composition window to not wrap." msgstr "" #. type: Plain text -#: en/git-p4.txt:267 +#: en/git-format-patch.txt:461 msgid "" -"Where to create the Git repository. If not provided, the last component in " -"the p4 depot path is used to create a new directory." +"In Thunderbird 2: Edit..Preferences..Composition, wrap plain text messages " +"at 0" msgstr "" #. type: Plain text -#: en/git-p4.txt:270 -#, fuzzy -#| msgid "git-commit(1)" -msgid "Perform a bare clone. See linkgit:git-clone[1]." -msgstr "git-commit(1)" +#: en/git-format-patch.txt:467 +msgid "" +"In Thunderbird 3: Edit..Preferences..Advanced..Config Editor. Search for " +"\"mail.wrap_long_lines\". Toggle it to make sure it is set to `false`. " +"Also, search for \"mailnews.wraplength\" and set the value to 0." +msgstr "" -#. type: Title ~ -#: en/git-p4.txt:272 -#, no-wrap -msgid "Submit options" +#. type: Plain text +#: en/git-format-patch.txt:472 +msgid "" +"Disable the use of format=flowed: Edit..Preferences..Advanced..Config " +"Editor. Search for \"mailnews.send_plaintext_flowed\". Toggle it to make " +"sure it is set to `false`." msgstr "" #. type: Plain text -#: en/git-p4.txt:274 -msgid "These options can be used to modify 'git p4 submit' behavior." +#: en/git-format-patch.txt:476 +msgid "" +"After that is done, you should be able to compose email as you otherwise " +"would (cut + paste, 'git format-patch' | 'git imap-send', etc), and the " +"patches will not be mangled." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:275 +#. type: Title ^ +#: en/git-format-patch.txt:478 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--origin <commit>" -msgstr "git-commit(1)" +#| msgid "Configuration" +msgid "Approach #3 (external editor)" +msgstr "Configuration" #. type: Plain text -#: en/git-p4.txt:279 +#: en/git-format-patch.txt:483 msgid "" -"Upstream location from which commits are identified to submit to p4. By " -"default, this is the most recent p4 commit reachable from `HEAD`." +"The following Thunderbird extensions are needed: AboutConfig from http://" +"aboutconfig.mozdev.org/ and External Editor from http://globs.org/articles." +"php?lng=en&pg=8" msgstr "" #. type: Plain text -#: en/git-p4.txt:285 -msgid "" -"Detect renames. See linkgit:git-diff[1]. Renames will be represented in p4 " -"using explicit 'move' operations. There is no corresponding option to " -"detect copies, but there are variables for both moves and copies." +#: en/git-format-patch.txt:485 +msgid "Prepare the patch as a text file using your method of choice." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:286 -#, no-wrap -msgid "--preserve-user" +#. type: Plain text +#: en/git-format-patch.txt:490 +msgid "" +"Before opening a compose window, use Edit->Account Settings to uncheck the " +"\"Compose messages in HTML format\" setting in the \"Composition & Addressing" +"\" panel of the account to be used to send the patch." msgstr "" #. type: Plain text -#: en/git-p4.txt:289 +#: en/git-format-patch.txt:494 msgid "" -"Re-author p4 changes before submitting to p4. This option requires p4 admin " -"privileges." +"In the main Thunderbird window, 'before' you open the compose window for the " +"patch, use Tools->about:config to set the following to the indicated values:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:290 +#. type: delimited block - +#: en/git-format-patch.txt:498 #, no-wrap -msgid "--export-labels" +msgid "" +"\tmailnews.send_plaintext_flowed => false\n" +"\tmailnews.wraplength => 0\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:293 +#: en/git-format-patch.txt:501 +msgid "Open a compose window and click the external editor icon." +msgstr "" + +#. type: Plain text +#: en/git-format-patch.txt:504 msgid "" -"Export tags from Git as p4 labels. Tags found in Git are applied to the " -"perforce working directory." +"In the external editor window, read in the patch file and exit the editor " +"normally." msgstr "" #. type: Plain text -#: en/git-p4.txt:298 +#: en/git-format-patch.txt:507 msgid "" -"Show just what commits would be submitted to p4; do not change state in Git " -"or p4." +"Side note: it may be possible to do step 2 with about:config and the " +"following settings but no one's tried yet." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:299 +#. type: delimited block - +#: en/git-format-patch.txt:512 #, no-wrap -msgid "--prepare-p4-only" +msgid "" +"\tmail.html_compose => false\n" +"\tmail.identity.default.compose_html => false\n" +"\tmail.identity.id?.compose_html => false\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:305 +#: en/git-format-patch.txt:517 msgid "" -"Apply a commit to the p4 workspace, opening, adding and deleting files in p4 " -"as for a normal submit operation. Do not issue the final \"p4 submit\", but " -"instead print a message about how to submit manually or revert. This option " -"always stops after the first (oldest) commit. Git tags are not exported to " -"p4." +"There is a script in contrib/thunderbird-patch-inline which can help you " +"include patches with Thunderbird in an easy way. To use it, do the steps " +"above and then use the script as the external editor." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:306 +#. type: Title ~ +#: en/git-format-patch.txt:519 #, no-wrap -msgid "--shelve" +msgid "KMail" msgstr "" #. type: Plain text -#: en/git-p4.txt:310 -msgid "" -"Instead of submitting create a series of shelved changelists. After " -"creating each shelve, the relevant files are reverted/deleted. If you have " -"multiple commits pending multiple shelves will be created." +#: en/git-format-patch.txt:521 +msgid "This should help you to submit patches inline using KMail." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:311 -#, no-wrap -msgid "--update-shelve CHANGELIST" +#. type: Plain text +#: en/git-format-patch.txt:523 +msgid "Prepare the patch as a text file." msgstr "" #. type: Plain text -#: en/git-p4.txt:314 +#: en/git-format-patch.txt:525 +msgid "Click on New Mail." +msgstr "" + +#. type: Plain text +#: en/git-format-patch.txt:528 msgid "" -"Update an existing shelved changelist with this commit. Implies --shelve." +"Go under \"Options\" in the Composer window and be sure that \"Word wrap\" " +"is not set." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:315 -#, no-wrap -msgid "--conflict=(ask|skip|quit)" +#. type: Plain text +#: en/git-format-patch.txt:530 +msgid "Use Message -> Insert file... and insert the patch." msgstr "" #. type: Plain text -#: en/git-p4.txt:321 +#: en/git-format-patch.txt:533 msgid "" -"Conflicts can occur when applying a commit to p4. When this happens, the " -"default behavior (\"ask\") is to prompt whether to skip this commit and " -"continue, or quit. This option can be used to bypass the prompt, causing " -"conflicting commits to be automatically skipped, or to quit trying to apply " -"commits, without prompting." +"Back in the compose window: add whatever other text you wish to the message, " +"complete the addressing and subject fields, and press send." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:322 +#. type: Title - +#: en/git-format-patch.txt:535 #, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "--branch <branch>" -msgstr "Mode interactif" +#| msgid "DATE FORMATS" +msgid "BASE TREE INFORMATION" +msgstr "FORMATS DE DATE" #. type: Plain text -#: en/git-p4.txt:326 +#: en/git-format-patch.txt:544 msgid "" -"After submitting, sync this named branch instead of the default p4/master. " -"See the \"Sync options\" section above for more information." -msgstr "" - -#. type: Title ~ -#: en/git-p4.txt:328 -#, no-wrap -msgid "Rebase options" +"The base tree information block is used for maintainers or third party " +"testers to know the exact state the patch series applies to. It consists of " +"the 'base commit', which is a well-known commit that is part of the stable " +"part of the project history everybody else works off of, and zero or more " +"'prerequisite patches', which are well-known patches in flight that is not " +"yet part of the 'base commit' that need to be applied on top of 'base " +"commit' in topological order before the patches can be applied." msgstr "" #. type: Plain text -#: en/git-p4.txt:330 -msgid "These options can be used to modify 'git p4 rebase' behavior." +#: en/git-format-patch.txt:550 +msgid "" +"The 'base commit' is shown as \"base-commit: \" followed by the 40-hex of " +"the commit object name. A 'prerequisite patch' is shown as \"prerequisite-" +"patch-id: \" followed by the 40-hex 'patch id', which can be obtained by " +"passing the patch through the `git patch-id --stable` command." msgstr "" #. type: Plain text -#: en/git-p4.txt:333 -msgid "Import p4 labels." +#: en/git-format-patch.txt:554 +msgid "" +"Imagine that on top of the public commit P, you applied well-known patches " +"X, Y and Z from somebody else, and then built your three-patch series A, B, " +"C, the history would be like:" msgstr "" -#. type: Title - -#: en/git-p4.txt:335 +#. type: delimited block . +#: en/git-format-patch.txt:557 #, no-wrap -msgid "DEPOT PATH SYNTAX" +msgid "---P---X---Y---Z---A---B---C\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:339 +#: en/git-format-patch.txt:564 msgid "" -"The p4 depot path argument to 'git p4 sync' and 'git p4 clone' can be one or " -"more space-separated p4 depot paths, with an optional p4 revision specifier " -"on the end:" +"With `git format-patch --base=P -3 C` (or variants thereof, e.g. with `--" +"cover-letter` of using `Z..C` instead of `-3 C` to specify the range), the " +"base tree information block is shown at the end of the first message the " +"command outputs (either the first patch, or the cover letter), like this:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:340 +#. type: delimited block - +#: en/git-format-patch.txt:570 #, no-wrap -msgid "\"//depot/my/project\"" +msgid "" +"base-commit: P\n" +"prerequisite-patch-id: X\n" +"prerequisite-patch-id: Y\n" +"prerequisite-patch-id: Z\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:342 -msgid "Import one commit with all files in the '#head' change under that tree." +#: en/git-format-patch.txt:573 +msgid "For non-linear topology, such as" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:343 +#. type: delimited block . +#: en/git-format-patch.txt:578 #, no-wrap -msgid "\"//depot/my/project@all\"" +msgid "" +"---P---X---A---M---C\n" +" \\ /\n" +" Y---Z---B\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:345 -msgid "Import one commit for each change in the history of that depot path." +#: en/git-format-patch.txt:583 +msgid "" +"You can also use `git format-patch --base=P -3 C` to generate patches for A, " +"B and C, and the identifiers for P, X, Y, Z are appended at the end of the " +"first message." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:346 -#, no-wrap -msgid "\"//depot/my/project@1,6\"" +#. type: Plain text +#: en/git-format-patch.txt:589 +msgid "" +"If set `--base=auto` in cmdline, it will track base commit automatically, " +"the base commit will be the merge base of tip commit of the remote-tracking " +"branch and revision-range specified in cmdline. For a local branch, you " +"need to track a remote branch by `git branch --set-upstream-to` before using " +"this option." msgstr "" #. type: Plain text -#: en/git-p4.txt:348 -msgid "Import only changes 1 through 6." +#: en/git-format-patch.txt:595 +msgid "" +"Extract commits between revisions R1 and R2, and apply them on top of the " +"current branch using 'git am' to cherry-pick them:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:349 +#. type: delimited block - +#: en/git-format-patch.txt:598 #, no-wrap -msgid "\"//depot/proj1@all //depot/proj2@all\"" +msgid "$ git format-patch -k --stdout R1..R2 | git am -3 -k\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:358 +#: en/git-format-patch.txt:602 msgid "" -"Import all changes from both named depot paths into a single repository. " -"Only files below these directories are included. There is not a " -"subdirectory in Git for each \"proj1\" and \"proj2\". You must use the `--" -"destination` option when specifying more than one depot path. The revision " -"specifier must be specified identically on each depot path. If there are " -"files in the depot paths with the same name, the path with the most recently " -"updated version of the file is the one that appears in Git." +"Extract all commits which are in the current branch but not in the origin " +"branch:" msgstr "" -#. type: Plain text -#: en/git-p4.txt:360 -msgid "See 'p4 help revisions' for the full syntax of p4 revision specifiers." +#. type: delimited block - +#: en/git-format-patch.txt:605 +#, no-wrap +msgid "$ git format-patch origin\n" msgstr "" -#. type: Title - -#: en/git-p4.txt:363 -#, no-wrap -msgid "CLIENT SPEC" +#. type: Plain text +#: en/git-format-patch.txt:608 +msgid "For each commit a separate file is created in the current directory." msgstr "" #. type: Plain text -#: en/git-p4.txt:373 +#: en/git-format-patch.txt:611 msgid "" -"The p4 client specification is maintained with the 'p4 client' command and " -"contains among other fields, a View that specifies how the depot is mapped " -"into the client repository. The 'clone' and 'sync' commands can consult the " -"client spec when given the `--use-client-spec` option or when the " -"useClientSpec variable is true. After 'git p4 clone', the useClientSpec " -"variable is automatically set in the repository configuration file. This " -"allows future 'git p4 submit' commands to work properly; the submit command " -"looks only at the variable and does not have a command-line option." +"Extract all commits that lead to 'origin' since the inception of the project:" +msgstr "" + +#. type: delimited block - +#: en/git-format-patch.txt:614 +#, no-wrap +msgid "$ git format-patch --root origin\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:380 -msgid "" -"The full syntax for a p4 view is documented in 'p4 help views'. 'git p4' " -"knows only a subset of the view syntax. It understands multi-line mappings, " -"overlays with '+', exclusions with '-' and double-quotes around whitespace. " -"Of the possible wildcards, 'git p4' only handles '...', and only when it is " -"at the end of the path. 'git p4' will complain if it encounters an " -"unhandled wildcard." +#: en/git-format-patch.txt:617 +msgid "The same as the previous one:" +msgstr "" + +#. type: delimited block - +#: en/git-format-patch.txt:620 +#, no-wrap +msgid "$ git format-patch -M -B origin\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:385 +#: en/git-format-patch.txt:627 msgid "" -"Bugs in the implementation of overlap mappings exist. If multiple depot " -"paths map through overlays to the same location in the repository, 'git p4' " -"can choose the wrong one. This is hard to solve without dedicating a client " -"spec just for 'git p4'." +"Additionally, it detects and handles renames and complete rewrites " +"intelligently to produce a renaming patch. A renaming patch reduces the " +"amount of text output, and generally makes it easier to review. Note that " +"non-Git \"patch\" programs won't understand renaming patches, so use it only " +"when you know the recipient uses Git to apply your patch." msgstr "" #. type: Plain text -#: en/git-p4.txt:390 +#: en/git-format-patch.txt:630 msgid "" -"The name of the client can be given to 'git p4' in multiple ways. The " -"variable 'git-p4.client' takes precedence if it exists. Otherwise, normal " -"p4 mechanisms of determining the client are used: environment variable " -"P4CLIENT, a file referenced by P4CONFIG, or the local host name." +"Extract three topmost commits from the current branch and format them as e-" +"mailable patches:" msgstr "" -#. type: Title - -#: en/git-p4.txt:393 +#. type: delimited block - +#: en/git-format-patch.txt:633 #, no-wrap -msgid "BRANCH DETECTION" +msgid "$ git format-patch -3\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:400 -msgid "" -"P4 does not have the same concept of a branch as Git. Instead, p4 organizes " -"its content as a directory tree, where by convention different logical " -"branches are in different locations in the tree. The 'p4 branch' command is " -"used to maintain mappings between different areas in the tree, and indicate " -"related content. 'git p4' can use these mappings to determine branch " -"relationships." -msgstr "" +#: en/git-format-patch.txt:638 +#, fuzzy +#| msgid "git-commit(1)" +msgid "linkgit:git-am[1], linkgit:git-send-email[1]" +msgstr "git-commit(1)" + +#. type: Title = +#: en/git-fsck-objects.txt:2 +#, no-wrap +msgid "git-fsck-objects(1)" +msgstr "git-fsck-objects(1)" #. type: Plain text -#: en/git-p4.txt:405 +#: en/git-fsck-objects.txt:7 +#, fuzzy +#| msgid "" +#| "git-fsck-objects - Verifies the connectivity and validity of the objects " +#| "in the database" msgid "" -"If you have a repository where all the branches of interest exist as " -"subdirectories of a single depot path, you can use `--detect-branches` when " -"cloning or syncing to have 'git p4' automatically find subdirectories in p4, " -"and to generate these as branches in Git." +"git-fsck-objects - Verifies the connectivity and validity of the objects in " +"the database" msgstr "" +"git-fsck-objects - V챕rifier la connectivit챕 et la validit챕 des objets en " +"base de donn챕es" #. type: Plain text -#: en/git-p4.txt:407 -msgid "For example, if the P4 repository structure is:" -msgstr "" - -#. type: delimited block - -#: en/git-p4.txt:410 +#: en/git-fsck-objects.txt:13 #, no-wrap -msgid "" -"//depot/main/...\n" -"//depot/branch1/...\n" -msgstr "" +msgid "'git fsck-objects' ...\n" +msgstr "'git fsck-objects' ...\n" #. type: Plain text -#: en/git-p4.txt:413 -msgid "And \"p4 branch -o branch1\" shows a View line that looks like:" +#: en/git-fsck-objects.txt:19 +#, fuzzy +#| msgid "" +#| "This is a synonym for linkgit:git-fsck[1]. Please refer to the " +#| "documentation of that command." +msgid "" +"This is a synonym for linkgit:git-fsck[1]. Please refer to the " +"documentation of that command." msgstr "" +"Ceci est un synonyme pour linkgit:git-fsck[1]. Veuillez vous r챕f챕rer 횪 la " +"documentation de cette commande." -#. type: delimited block - -#: en/git-p4.txt:415 +#. type: Title = +#: en/git-fsck.txt:2 #, no-wrap -msgid "//depot/main/... //depot/branch1/...\n" -msgstr "" +msgid "git-fsck(1)" +msgstr "git-fsck(1)" #. type: Plain text -#: en/git-p4.txt:418 -msgid "Then this 'git p4 clone' command:" +#: en/git-fsck.txt:7 +#, fuzzy +#| msgid "" +#| "git-fsck - Verifies the connectivity and validity of the objects in the " +#| "database" +msgid "" +"git-fsck - Verifies the connectivity and validity of the objects in the " +"database" msgstr "" +"git-fsck - V챕rifier la connectivit챕 et la validit챕 des objets dans la base " +"de donn챕es" -#. type: delimited block - -#: en/git-p4.txt:420 +#. type: Plain text +#: en/git-fsck.txt:16 #, no-wrap -msgid "git p4 clone --detect-branches //depot@all\n" +msgid "" +"'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n" +"\t [--[no-]full] [--strict] [--verbose] [--lost-found]\n" +"\t [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n" +"\t [--[no-]name-objects] [<object>*]\n" msgstr "" +"'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n" +"\t [--[no-]full] [--strict] [--verbose] [--lost-found]\n" +"\t [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n" +"\t [--[no-]name-objects] [<objet>*]\n" #. type: Plain text -#: en/git-p4.txt:423 -msgid "" -"produces a separate branch in 'refs/remotes/p4/' for //depot/main, called " -"'master', and one for //depot/branch1 called 'depot/branch1'." +#: en/git-fsck.txt:25 +#, fuzzy +#| msgid "" +#| "<object>::\n" +#| "\tAn object to treat as the head of an unreachability trace.\n" +msgid "An object to treat as the head of an unreachability trace." msgstr "" +"<objet>::\n" +"\tUn objet 횪 traiter comme la t챗te d'une trace d'inaccessibilit챕.\n" #. type: Plain text -#: en/git-p4.txt:433 +#: en/git-fsck.txt:29 msgid "" -"However, it is not necessary to create branches in p4 to be able to use them " -"like branches. Because it is difficult to infer branch relationships " -"automatically, a Git configuration setting 'git-p4.branchList' can be used " -"to explicitly identify branch relationships. It is a list of \"source:" -"destination\" pairs, like a simple p4 branch specification, where the " -"\"source\" and \"destination\" are the path elements in the p4 repository. " -"The example above relied on the presence of the p4 branch. Without p4 " -"branches, the same result will occur with:" +"If no objects are given, 'git fsck' defaults to using the index file, all " +"SHA-1 references in `refs` namespace, and all reflogs (unless --no-reflogs " +"is given) as heads." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:438 +#. type: Labeled list +#: en/git-fsck.txt:30 #, no-wrap +msgid "--unreachable" +msgstr "" + +#. type: Plain text +#: en/git-fsck.txt:33 msgid "" -"git init depot\n" -"cd depot\n" -"git config git-p4.branchList main:branch1\n" -"git p4 clone --detect-branches //depot@all .\n" +"Print out objects that exist but that aren't reachable from any of the " +"reference nodes." msgstr "" -#. type: Title - -#: en/git-p4.txt:442 +#. type: Labeled list +#: en/git-fsck.txt:34 #, no-wrap -msgid "PERFORMANCE" +msgid "--[no-]dangling" msgstr "" #. type: Plain text -#: en/git-p4.txt:447 +#: en/git-fsck.txt:37 msgid "" -"The fast-import mechanism used by 'git p4' creates one pack file for each " -"invocation of 'git p4 sync'. Normally, Git garbage compression (linkgit:git-" -"gc[1]) automatically compresses these to fewer pack files, but explicit " -"invocation of 'git repack -adf' may improve performance." +"Print objects that exist but that are never 'directly' used (default). `--" +"no-dangling` can be used to omit this information from the output." msgstr "" #. type: Plain text -#: en/git-p4.txt:453 -msgid "" -"The following config settings can be used to modify 'git p4' behavior. They " -"all are in the 'git-p4' section." -msgstr "" - -#. type: Title ~ -#: en/git-p4.txt:455 -#, no-wrap -msgid "General variables" +#: en/git-fsck.txt:40 +msgid "Report root nodes." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:456 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-p4.user" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-p4.txt:459 -msgid "" -"User specified as an option to all p4 commands, with '-u <user>'. The " -"environment variable 'P4USER' can be used instead." +#: en/git-fsck.txt:43 +msgid "Report tags." msgstr "" #. type: Labeled list -#: en/git-p4.txt:460 +#: en/git-fsck.txt:44 #, no-wrap -msgid "git-p4.password" +msgid "--cache" msgstr "" #. type: Plain text -#: en/git-p4.txt:464 +#: en/git-fsck.txt:47 +#, fuzzy +#| msgid "" +#| "<object>::\n" +#| "\tAn object to treat as the head of an unreachability trace.\n" msgid "" -"Password specified as an option to all p4 commands, with '-P <password>'. " -"The environment variable 'P4PASS' can be used instead." +"Consider any object recorded in the index also as a head node for an " +"unreachability trace." msgstr "" +"<objet>::\n" +"\tUn objet 횪 traiter comme la t챗te d'une trace d'inaccessibilit챕.\n" #. type: Labeled list -#: en/git-p4.txt:465 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-p4.port" -msgstr "git-add(1)" +#: en/git-fsck.txt:48 +#, no-wrap +msgid "--no-reflogs" +msgstr "" #. type: Plain text -#: en/git-p4.txt:469 +#: en/git-fsck.txt:53 msgid "" -"Port specified as an option to all p4 commands, with '-p <port>'. The " -"environment variable 'P4PORT' can be used instead." +"Do not consider commits that are referenced only by an entry in a reflog to " +"be reachable. This option is meant only to search for commits that used to " +"be in a ref, but now aren't, but are still in that corresponding reflog." msgstr "" #. type: Labeled list -#: en/git-p4.txt:470 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-p4.host" -msgstr "git-add(1)" +#: en/git-fsck.txt:54 +#, no-wrap +msgid "--full" +msgstr "" #. type: Plain text -#: en/git-p4.txt:474 +#: en/git-fsck.txt:63 msgid "" -"Host specified as an option to all p4 commands, with '-h <host>'. The " -"environment variable 'P4HOST' can be used instead." +"Check not just objects in GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), but also " +"the ones found in alternate object pools listed in " +"GIT_ALTERNATE_OBJECT_DIRECTORIES or $GIT_DIR/objects/info/alternates, and in " +"packed Git archives found in $GIT_DIR/objects/pack and corresponding pack " +"subdirectories in alternate object pools. This is now default; you can turn " +"it off with --no-full." msgstr "" #. type: Labeled list -#: en/git-p4.txt:475 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-p4.client" -msgstr "git-add(1)" +#: en/git-fsck.txt:64 +#, no-wrap +msgid "--connectivity-only" +msgstr "" #. type: Plain text -#: en/git-p4.txt:478 +#: en/git-fsck.txt:68 msgid "" -"Client specified as an option to all p4 commands, with '-c <client>', " -"including the client spec." +"Check only the connectivity of tags, commits and tree objects. By avoiding " +"to unpack blobs, this speeds up the operation, at the expense of missing " +"corrupt objects or other problematic issues." msgstr "" #. type: Labeled list -#: en/git-p4.txt:479 +#: en/git-fsck.txt:69 en/git-index-pack.txt:74 en/git-unpack-objects.txt:44 #, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-p4.retries" -msgstr "git-add(1)" +#| msgid "strip" +msgid "--strict" +msgstr "strip" #. type: Plain text -#: en/git-p4.txt:484 +#: en/git-fsck.txt:76 msgid "" -"Specifies the number of times to retry a p4 command (notably, 'p4 sync') if " -"the network times out. The default value is 3. Set the value to 0 to " -"disable retries or if your p4 version does not support retries (pre 2012.2)." +"Enable more strict checking, namely to catch a file mode recorded with g+w " +"bit set, which was created by older versions of Git. Existing repositories, " +"including the Linux kernel, Git itself, and sparse repository have old " +"objects that triggers this check, but it is recommended to check new " +"projects with this flag." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:486 -#, no-wrap -msgid "Clone and sync variables" +#. type: Plain text +#: en/git-fsck.txt:79 +msgid "Be chatty." msgstr "" #. type: Labeled list -#: en/git-p4.txt:487 +#: en/git-fsck.txt:80 #, no-wrap -msgid "git-p4.syncFromOrigin" +msgid "--lost-found" msgstr "" #. type: Plain text -#: en/git-p4.txt:493 +#: en/git-fsck.txt:85 msgid "" -"Because importing commits from other Git repositories is much faster than " -"importing them from p4, a mechanism exists to find p4 changes first in Git " -"remotes. If branches exist under 'refs/remote/origin/p4', those will be " -"fetched and used when syncing from p4. This variable can be set to 'false' " -"to disable this behavior." +"Write dangling objects into .git/lost-found/commit/ or .git/lost-found/" +"other/, depending on type. If the object is a blob, the contents are " +"written into the file, rather than its object name." msgstr "" #. type: Labeled list -#: en/git-p4.txt:494 -#, no-wrap -msgid "git-p4.branchUser" +#: en/git-fsck.txt:86 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--name-objects" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-fsck.txt:91 +msgid "" +"When displaying names of reachable objects, in addition to the SHA-1 also " +"display a name that describes *how* they are reachable, compatible with " +"linkgit:git-rev-parse[1], e.g. `HEAD@{1234567890}~25^2:src/`." msgstr "" #. type: Plain text -#: en/git-p4.txt:499 +#: en/git-fsck.txt:98 msgid "" -"One phase in branch detection involves looking at p4 branches to find new " -"ones to import. By default, all branches are inspected. This option limits " -"the search to just those owned by the single user named in the variable." +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal, unless --no-progress or --verbose is specified. --" +"progress forces progress status even if the standard error stream is not " +"directed to a terminal." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:500 -#, no-wrap -msgid "git-p4.branchList" +#. type: Plain text +#: en/git-fsck.txt:108 +msgid "" +"git-fsck tests SHA-1 and general object sanity, and it does full tracking of " +"the resulting reachability and everything else. It prints out any corruption " +"it finds (missing or bad objects), and if you use the `--unreachable` flag " +"it will also print out objects that exist but that aren't reachable from any " +"of the specified head nodes (or the default set, as mentioned above)." msgstr "" #. type: Plain text -#: en/git-p4.txt:505 +#: en/git-fsck.txt:112 msgid "" -"List of branches to be imported when branch detection is enabled. Each " -"entry should be a pair of branch names separated by a colon (:). This " -"example declares that both branchA and branchB were created from main:" +"Any corrupt objects you will have to find in backups or other archives (i." +"e., you can just remove them and do an 'rsync' with some other site in the " +"hopes that somebody else has the object you have corrupted)." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:509 +#. type: Title - +#: en/git-fsck.txt:114 #, no-wrap -msgid "" -"git config git-p4.branchList main:branchA\n" -"git config --add git-p4.branchList main:branchB\n" +msgid "Extracted Diagnostics" msgstr "" #. type: Labeled list -#: en/git-p4.txt:511 +#: en/git-fsck.txt:116 #, no-wrap -msgid "git-p4.ignoredP4Labels" +msgid "expect dangling commits - potential heads - due to lack of head information" msgstr "" #. type: Plain text -#: en/git-p4.txt:514 +#: en/git-fsck.txt:120 msgid "" -"List of p4 labels to ignore. This is built automatically as unimportable " -"labels are discovered." +"You haven't specified any nodes as heads so it won't be possible to " +"differentiate between un-parented commits and root nodes." msgstr "" #. type: Labeled list -#: en/git-p4.txt:515 +#: en/git-fsck.txt:121 #, no-wrap -msgid "git-p4.importLabels" +msgid "missing sha1 directory '<dir>'" msgstr "" #. type: Plain text -#: en/git-p4.txt:517 -msgid "Import p4 labels into git, as per --import-labels." +#: en/git-fsck.txt:123 +msgid "The directory holding the sha1 objects is missing." msgstr "" #. type: Labeled list -#: en/git-p4.txt:518 +#: en/git-fsck.txt:124 #, no-wrap -msgid "git-p4.labelImportRegexp" +msgid "unreachable <type> <object>" msgstr "" #. type: Plain text -#: en/git-p4.txt:521 +#: en/git-fsck.txt:131 msgid "" -"Only p4 labels matching this regular expression will be imported. The " -"default value is '[a-zA-Z0-9_\\-.]+$'." +"The <type> object <object>, isn't actually referred to directly or " +"indirectly in any of the trees or commits seen. This can mean that there's " +"another root node that you're not specifying or that the tree is corrupt. If " +"you haven't missed a root node then you might as well delete unreachable " +"nodes since they can't be used." msgstr "" #. type: Labeled list -#: en/git-p4.txt:522 +#: en/git-fsck.txt:132 #, no-wrap -msgid "git-p4.useClientSpec" +msgid "missing <type> <object>" msgstr "" #. type: Plain text -#: en/git-p4.txt:527 +#: en/git-fsck.txt:135 msgid "" -"Specify that the p4 client spec should be used to identify p4 depot paths of " -"interest. This is equivalent to specifying the option `--use-client-spec`. " -"See the \"CLIENT SPEC\" section above. This variable is a boolean, not the " -"name of a p4 client." +"The <type> object <object>, is referred to but isn't present in the database." msgstr "" #. type: Labeled list -#: en/git-p4.txt:528 +#: en/git-fsck.txt:136 #, no-wrap -msgid "git-p4.pathEncoding" +msgid "dangling <type> <object>" msgstr "" #. type: Plain text -#: en/git-p4.txt:534 +#: en/git-fsck.txt:139 msgid "" -"Perforce keeps the encoding of a path as given by the originating OS. Git " -"expects paths encoded as UTF-8. Use this config to tell git-p4 what encoding " -"Perforce had used for the paths. This encoding is used to transcode the " -"paths to UTF-8. As an example, Perforce on Windows often uses \"cp1252\" to " -"encode path names." +"The <type> object <object>, is present in the database but never 'directly' " +"used. A dangling commit could be a root node." msgstr "" #. type: Labeled list -#: en/git-p4.txt:535 +#: en/git-fsck.txt:140 #, no-wrap -msgid "git-p4.largeFileSystem" +msgid "sha1 mismatch <object>" msgstr "" #. type: Plain text -#: en/git-p4.txt:541 +#: en/git-fsck.txt:144 msgid "" -"Specify the system that is used for large (binary) files. Please note that " -"large file systems do not support the 'git p4 submit' command. Only Git LFS " -"is implemented right now (see https://git-lfs.github.com/ for more " -"information). Download and install the Git LFS command line extension to use " -"this option and configure it like this:" +"The database has an object who's sha1 doesn't match the database value. " +"This indicates a serious data integrity problem." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:544 +#. type: Title - +#: en/git-fsck.txt:146 en/git.txt:849 #, no-wrap -msgid "git config git-p4.largeFileSystem GitLFS\n" +msgid "Environment Variables" msgstr "" #. type: Labeled list -#: en/git-p4.txt:546 +#: en/git-fsck.txt:148 #, no-wrap -msgid "git-p4.largeFileExtensions" +msgid "GIT_OBJECT_DIRECTORY" msgstr "" #. type: Plain text -#: en/git-p4.txt:549 -msgid "" -"All files matching a file extension in the list will be processed by the " -"large file system. Do not prefix the extensions with '.'." +#: en/git-fsck.txt:150 +msgid "used to specify the object database root (usually $GIT_DIR/objects)" msgstr "" #. type: Labeled list -#: en/git-p4.txt:550 +#: en/git-fsck.txt:151 #, no-wrap -msgid "git-p4.largeFileThreshold" +msgid "GIT_INDEX_FILE" msgstr "" +# #. type: Plain text -#: en/git-p4.txt:554 -msgid "" -"All files with an uncompressed size exceeding the threshold will be " -"processed by the large file system. By default the threshold is defined in " -"bytes. Add the suffix k, m, or g to change the unit." -msgstr "" +#: en/git-fsck.txt:153 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "used to specify the index file of the index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Labeled list -#: en/git-p4.txt:555 +#: en/git-fsck.txt:154 #, no-wrap -msgid "git-p4.largeFileCompressedThreshold" +msgid "GIT_ALTERNATE_OBJECT_DIRECTORIES" msgstr "" #. type: Plain text -#: en/git-p4.txt:560 -msgid "" -"All files with a compressed size exceeding the threshold will be processed " -"by the large file system. This option might slow down your clone/sync " -"process. By default the threshold is defined in bytes. Add the suffix k, m, " -"or g to change the unit." +#: en/git-fsck.txt:156 +msgid "used to specify additional object database roots (usually unset)" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:561 -#, no-wrap -msgid "git-p4.largeFilePush" -msgstr "" +#. type: Title = +#: en/git-gc.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-gc(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-p4.txt:564 -msgid "" -"Boolean variable which defines if large files are automatically pushed to a " -"server." +#: en/git-gc.txt:7 +msgid "git-gc - Cleanup unnecessary files and optimize the local repository" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:565 +#. type: Plain text +#: en/git-gc.txt:13 #, no-wrap -msgid "git-p4.keepEmptyCommits" +msgid "'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune] [--force]\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:568 +#: en/git-gc.txt:20 msgid "" -"A changelist that contains only excluded files will be imported as an empty " -"commit if this boolean option is set to true." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:569 -#, no-wrap -msgid "git-p4.mapUser" +"Runs a number of housekeeping tasks within the current repository, such as " +"compressing file revisions (to reduce disk space and increase performance) " +"and removing unreachable objects which may have been created from prior " +"invocations of 'git add'." msgstr "" #. type: Plain text -#: en/git-p4.txt:572 +#: en/git-gc.txt:24 msgid "" -"Map a P4 user to a name and email address in Git. Use a string with the " -"following format to create a mapping:" -msgstr "" - -#. type: delimited block - -#: en/git-p4.txt:575 -#, no-wrap -msgid "git config --add git-p4.mapUser \"p4user = First Last <mail@address.com>\"\n" +"Users are encouraged to run this task on a regular basis within each " +"repository to maintain good disk space utilization and good operating " +"performance." msgstr "" #. type: Plain text -#: en/git-p4.txt:579 +#: en/git-gc.txt:28 msgid "" -"A mapping will override any user information from P4. Mappings for multiple " -"P4 user can be defined." +"Some git commands may automatically run 'git gc'; see the `--auto` flag " +"below for details. If you know what you're doing and all you want is to " +"disable this behavior permanently without further considerations, just do:" msgstr "" -#. type: Title ~ -#: en/git-p4.txt:581 +#. type: delimited block - +#: en/git-gc.txt:31 #, no-wrap -msgid "Submit variables" +msgid "$ git config --global gc.auto 0\n" msgstr "" #. type: Labeled list -#: en/git-p4.txt:582 +#: en/git-gc.txt:36 en/git-read-tree.txt:71 #, no-wrap -msgid "git-p4.detectRenames" +msgid "--aggressive" msgstr "" #. type: Plain text -#: en/git-p4.txt:585 +#: en/git-gc.txt:43 msgid "" -"Detect renames. See linkgit:git-diff[1]. This can be true, false, or a " -"score as expected by 'git diff -M'." +"Usually 'git gc' runs very quickly while providing good disk space " +"utilization and performance. This option will cause 'git gc' to more " +"aggressively optimize the repository at the expense of taking much more " +"time. The effects of this optimization are persistent, so this option only " +"needs to be used occasionally; every few hundred changesets or so." msgstr "" #. type: Labeled list -#: en/git-p4.txt:586 +#: en/git-gc.txt:44 #, no-wrap -msgid "git-p4.detectCopies" +msgid "--auto" msgstr "" #. type: Plain text -#: en/git-p4.txt:589 +#: en/git-gc.txt:49 msgid "" -"Detect copies. See linkgit:git-diff[1]. This can be true, false, or a " -"score as expected by 'git diff -C'." +"With this option, 'git gc' checks whether any housekeeping is required; if " +"not, it exits without performing any work. Some git commands run `git gc --" +"auto` after performing operations that could create many loose objects." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:590 -#, no-wrap -msgid "git-p4.detectCopiesHarder" +#. type: Plain text +#: en/git-gc.txt:56 +msgid "" +"Housekeeping is required if there are too many loose objects or too many " +"packs in the repository. If the number of loose objects exceeds the value of " +"the `gc.auto` configuration variable, then all loose objects are combined " +"into a single pack using `git repack -d -l`. Setting the value of `gc.auto` " +"to 0 disables automatic packing of loose objects." msgstr "" #. type: Plain text -#: en/git-p4.txt:592 -msgid "Detect copies harder. See linkgit:git-diff[1]. A boolean." +#: en/git-gc.txt:62 +msgid "" +"If the number of packs exceeds the value of `gc.autoPackLimit`, then " +"existing packs (except those marked with a `.keep` file) are consolidated " +"into a single pack by using the `-A` option of 'git repack'. Setting `gc." +"autoPackLimit` to 0 disables automatic consolidation of packs." msgstr "" #. type: Labeled list -#: en/git-p4.txt:593 +#: en/git-gc.txt:63 #, no-wrap -msgid "git-p4.preserveUser" +msgid "--prune=<date>" msgstr "" #. type: Plain text -#: en/git-p4.txt:596 +#: en/git-gc.txt:70 msgid "" -"On submit, re-author changes to reflect the Git author, regardless of who " -"invokes 'git p4 submit'." +"Prune loose objects older than date (default is 2 weeks ago, overridable by " +"the config variable `gc.pruneExpire`). --prune=all prunes loose objects " +"regardless of their age and increases the risk of corruption if another " +"process is writing to the repository concurrently; see \"NOTES\" below. --" +"prune is on by default." msgstr "" #. type: Labeled list -#: en/git-p4.txt:597 +#: en/git-gc.txt:71 en/git-pack-refs.txt:57 #, no-wrap -msgid "git-p4.allowMissingP4Users" +msgid "--no-prune" msgstr "" #. type: Plain text -#: en/git-p4.txt:601 -msgid "" -"When 'preserveUser' is true, 'git p4' normally dies if it cannot find an " -"author in the p4 user map. This setting submits the change regardless." -msgstr "" +#: en/git-gc.txt:73 +#, fuzzy +#| msgid "but can be used to amend a merge commit." +msgid "Do not prune any loose objects." +msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." -#. type: Labeled list -#: en/git-p4.txt:602 -#, no-wrap -msgid "git-p4.skipSubmitEdit" +#. type: Plain text +#: en/git-gc.txt:76 +#, fuzzy +#| msgid "" +#| "-q::\n" +#| "--quiet::\n" +#| "\tSuppress commit summary message.\n" +msgid "Suppress all progress reports." msgstr "" +"-q::\n" +"--quiet::\n" +"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Plain text -#: en/git-p4.txt:606 +#: en/git-gc.txt:80 msgid "" -"The submit process invokes the editor before each p4 change is submitted. " -"If this setting is true, though, the editing step is skipped." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:607 -#, no-wrap -msgid "git-p4.skipSubmitEditCheck" +"Force `git gc` to run even if there may be another `git gc` instance running " +"on this repository." msgstr "" #. type: Plain text -#: en/git-p4.txt:611 +#: en/git-gc.txt:89 msgid "" -"After editing the p4 change message, 'git p4' makes sure that the " -"description really was changed by looking at the file modification time. " -"This option disables that test." +"The optional configuration variable `gc.reflogExpire` can be set to indicate " +"how long historical entries within each branch's reflog should remain " +"available in this repository. The setting is expressed as a length of time, " +"for example '90 days' or '3 months'. It defaults to '90 days'." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:612 -#, no-wrap -msgid "git-p4.allowSubmit" +#. type: Plain text +#: en/git-gc.txt:98 +msgid "" +"The optional configuration variable `gc.reflogExpireUnreachable` can be set " +"to indicate how long historical reflog entries which are not part of the " +"current branch should remain available in this repository. These types of " +"entries are generally created as a result of using `git commit --amend` or " +"`git rebase` and are the commits prior to the amend or rebase occurring. " +"Since these changes are not part of the current project most users will want " +"to expire them sooner. This option defaults to '30 days'." msgstr "" #. type: Plain text -#: en/git-p4.txt:618 +#: en/git-gc.txt:102 msgid "" -"By default, any branch can be used as the source for a 'git p4 submit' " -"operation. This configuration variable, if set, permits only the named " -"branches to be used as submit sources. Branch names must be the short names " -"(no \"refs/heads/\"), and should be separated by commas (\",\"), with no " -"spaces." +"The above two configuration variables can be given to a pattern. For " +"example, this sets non-default expiry values only to remote-tracking " +"branches:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:619 +#. type: delimited block - +#: en/git-gc.txt:107 #, no-wrap -msgid "git-p4.skipUserNameCheck" +msgid "" +"[gc \"refs/remotes/*\"]\n" +"\treflogExpire = never\n" +"\treflogExpireUnreachable = 3 days\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:623 +#: en/git-gc.txt:112 msgid "" -"If the user running 'git p4 submit' does not exist in the p4 user map, 'git " -"p4' exits. This option can be used to force submission regardless." +"The optional configuration variable `gc.rerereResolved` indicates how long " +"records of conflicted merge you resolved earlier are kept. This defaults to " +"60 days." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:624 -#, no-wrap -msgid "git-p4.attemptRCSCleanup" +#. type: Plain text +#: en/git-gc.txt:116 +msgid "" +"The optional configuration variable `gc.rerereUnresolved` indicates how long " +"records of conflicted merge you have not resolved are kept. This defaults " +"to 15 days." msgstr "" #. type: Plain text -#: en/git-p4.txt:629 +#: en/git-gc.txt:121 msgid "" -"If enabled, 'git p4 submit' will attempt to cleanup RCS keywords ($Header$, " -"etc). These would otherwise cause merge conflicts and prevent the submit " -"going ahead. This option should be considered experimental at present." +"The optional configuration variable `gc.packRefs` determines if 'git gc' " +"runs 'git pack-refs'. This can be set to \"notbare\" to enable it within all " +"non-bare repos or it can be set to a boolean value. This defaults to true." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:630 -#, no-wrap -msgid "git-p4.exportLabels" +#. type: Plain text +#: en/git-gc.txt:128 +msgid "" +"The optional configuration variable `gc.aggressiveWindow` controls how much " +"time is spent optimizing the delta compression of the objects in the " +"repository when the --aggressive option is specified. The larger the value, " +"the more time is spent optimizing the delta compression. See the " +"documentation for the --window' option in linkgit:git-repack[1] for more " +"details. This defaults to 250." msgstr "" #. type: Plain text -#: en/git-p4.txt:632 -msgid "Export Git tags to p4 labels, as per --export-labels." +#: en/git-gc.txt:131 +msgid "" +"Similarly, the optional configuration variable `gc.aggressiveDepth` controls " +"--depth option in linkgit:git-repack[1]. This defaults to 50." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:633 -#, no-wrap -msgid "git-p4.labelExportRegexp" +#. type: Plain text +#: en/git-gc.txt:135 +msgid "" +"The optional configuration variable `gc.pruneExpire` controls how old the " +"unreferenced loose objects have to be before they are pruned. The default " +"is \"2 weeks ago\"." msgstr "" #. type: Plain text -#: en/git-p4.txt:636 +#: en/git-gc.txt:150 msgid "" -"Only p4 labels matching this regular expression will be exported. The " -"default value is '[a-zA-Z0-9_\\-.]+$'." +"'git gc' tries very hard not to delete objects that are referenced anywhere " +"in your repository. In particular, it will keep not only objects referenced " +"by your current set of branches and tags, but also objects referenced by the " +"index, remote-tracking branches, refs saved by 'git filter-branch' in refs/" +"original/, or reflogs (which may reference commits in branches that were " +"later amended or rewound). If you are expecting some objects to be deleted " +"and they aren't, check all of those locations and decide whether it makes " +"sense in your case to remove those references." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:637 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-p4.conflict" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-p4.txt:640 +#: en/git-gc.txt:157 msgid "" -"Specify submit behavior when a conflict with p4 is found, as per --" -"conflict. The default behavior is 'ask'." +"On the other hand, when 'git gc' runs concurrently with another process, " +"there is a risk of it deleting an object that the other process is using but " +"hasn't created a reference to. This may just cause the other process to fail " +"or may corrupt the repository if the other process later adds a reference to " +"the deleted object. Git has two features that significantly mitigate this " +"problem:" msgstr "" -#. type: Title - -#: en/git-p4.txt:642 -#, no-wrap -msgid "IMPLEMENTATION DETAILS" +#. type: Plain text +#: en/git-gc.txt:160 +msgid "" +"Any object with modification time newer than the `--prune` date is kept, " +"along with everything reachable from it." msgstr "" #. type: Plain text -#: en/git-p4.txt:644 -msgid "Changesets from p4 are imported using Git fast-import." +#: en/git-gc.txt:164 +msgid "" +"Most operations that add an object to the database update the modification " +"time of the object if it is already present so that #1 applies." msgstr "" #. type: Plain text -#: en/git-p4.txt:646 +#: en/git-gc.txt:169 msgid "" -"Cloning or syncing does not require a p4 client; file contents are collected " -"using 'p4 print'." +"However, these features fall short of a complete solution, so users who run " +"commands concurrently have to live with some risk of corruption (which seems " +"to be low in practice) unless they turn off automatic garbage collection " +"with 'git config gc.auto 0'." msgstr "" #. type: Plain text -#: en/git-p4.txt:649 +#: en/git-gc.txt:175 +#, fuzzy +#| msgid "" +#| "This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, " +#| "and `post-commit` hooks. See linkgit:githooks[5] for more information." msgid "" -"Submitting requires a p4 client, which is not in the same location as the " -"Git repository. Patches are applied, one at a time, to this p4 client and " -"submitted from there." +"The 'git gc --auto' command will run the 'pre-auto-gc' hook. See linkgit:" +"githooks[5] for more information." msgstr "" +"Cette commande peut lancer les crochets `commit-msg`, `prepare-commit-msg`, " +"`pre-commit` et `post-commit`. Voir linkgit:githooks[5] pour de plus amples " +"informations." +# #. type: Plain text -#: en/git-p4.txt:652 +#: en/git-gc.txt:183 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"Each commit imported by 'git p4' has a line at the end of the log message " -"indicating the p4 depot location and change number. This line is used by " -"later 'git p4 sync' operations to know which p4 changes are new." +"linkgit:git-prune[1] linkgit:git-reflog[1] linkgit:git-repack[1] linkgit:git-" +"rerere[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Title = -#: en/git-pack-objects.txt:2 +#: en/git-get-tar-commit-id.txt:2 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "git-pack-objects(1)" +msgid "git-get-tar-commit-id(1)" msgstr "git-commit(1)" #. type: Plain text -#: en/git-pack-objects.txt:7 -msgid "git-pack-objects - Create a packed archive of objects" +#: en/git-get-tar-commit-id.txt:7 +msgid "" +"git-get-tar-commit-id - Extract commit ID from an archive created using git-" +"archive" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:17 +#: en/git-get-tar-commit-id.txt:13 #, no-wrap -msgid "" -"'git pack-objects' [-q | --progress | --all-progress] [--all-progress-implied]\n" -"\t[--no-reuse-delta] [--delta-base-offset] [--non-empty]\n" -"\t[--local] [--incremental] [--window=<n>] [--depth=<n>]\n" -"\t[--revs [--unpacked | --all]] [--stdout | base-name]\n" -"\t[--shallow] [--keep-true-parents] < object-list\n" +msgid "'git get-tar-commit-id'\n" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:23 +#: en/git-get-tar-commit-id.txt:22 msgid "" -"Reads list of objects from the standard input, and writes a packed archive " -"with specified base-name, or to the standard output." +"Read a tar archive created by 'git archive' from the standard input and " +"extract the commit ID stored in it. It reads only the first 1024 bytes of " +"input, thus its runtime is not influenced by the size of the tar archive " +"very much." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:29 +#: en/git-get-tar-commit-id.txt:27 msgid "" -"A packed archive is an efficient way to transfer a set of objects between " -"two repositories as well as an access efficient archival format. In a " -"packed archive, an object is either stored as a compressed whole or as a " -"difference from some other object. The latter is often called a delta." +"If no commit ID is found, 'git get-tar-commit-id' quietly exists with a " +"return code of 1. This can happen if the archive had not been created using " +"'git archive' or if the first parameter of 'git archive' had been a tree ID " +"instead of a commit ID or tag." msgstr "" +#. type: Title = +#: en/git-grep.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-grep(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-pack-objects.txt:33 +#: en/git-grep.txt:7 +msgid "git-grep - Print lines matching a pattern" +msgstr "" + +#. type: Plain text +#: en/git-grep.txt:32 +#, no-wrap msgid "" -"The packed archive format (.pack) is designed to be self-contained so that " -"it can be unpacked without any further information. Therefore, each object " -"that a delta depends upon must be present within the pack." +"'git grep' [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | --word-regexp]\n" +"\t [-v | --invert-match] [-h|-H] [--full-name]\n" +"\t [-E | --extended-regexp] [-G | --basic-regexp]\n" +"\t [-P | --perl-regexp]\n" +"\t [-F | --fixed-strings] [-n | --line-number]\n" +"\t [-l | --files-with-matches] [-L | --files-without-match]\n" +"\t [(-O | --open-files-in-pager) [<pager>]]\n" +"\t [-z | --null]\n" +"\t [-c | --count] [--all-match] [-q | --quiet]\n" +"\t [--max-depth <depth>]\n" +"\t [--color[=<when>] | --no-color]\n" +"\t [--break] [--heading] [-p | --show-function]\n" +"\t [-A <post-context>] [-B <pre-context>] [-C <context>]\n" +"\t [-W | --function-context]\n" +"\t [--threads <num>]\n" +"\t [-f <file>] [-e] <pattern>\n" +"\t [--and|--or|--not|(|)|-e <pattern>...]\n" +"\t [--recurse-submodules] [--parent-basename <basename>]\n" +"\t [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | <tree>...]\n" +"\t [--] [<pathspec>...]\n" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:39 +#: en/git-grep.txt:39 msgid "" -"A pack index file (.idx) is generated for fast, random access to the objects " -"in the pack. Placing both the index file (.idx) and the packed archive (." -"pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or any of the " -"directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES) enables Git to read from " -"the pack archive." +"Look for specified patterns in the tracked files in the work tree, blobs " +"registered in the index file, or blobs in given tree objects. Patterns are " +"lists of one or more search expressions separated by newline characters. An " +"empty string as search expression matches all lines." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:45 +#: en/git-grep.txt:61 msgid "" -"The 'git unpack-objects' command can read the packed archive and expand the " -"objects contained in the pack into \"one-file one-object\" format; this is " -"typically done by the smart-pull commands when a pack is created on-the-fly " -"for efficient network transport by their peers." +"Number of grep worker threads to use. If unset (or set to 0), 8 threads are " +"used by default (for now)." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:49 +#: en/git-grep.txt:62 #, no-wrap -msgid "base-name" +msgid "grep.fullName" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:56 -msgid "" -"Write into a pair of files (.pack and .idx), using <base-name> to determine " -"the name of the created file. When this option is used, the two files are " -"written in <base-name>-<SHA-1>.{pack,idx} files. <SHA-1> is a hash based on " -"the pack content and is written to the standard output of the command." +#: en/git-grep.txt:64 +msgid "If set to true, enable `--full-name` option by default." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:60 +#: en/git-grep.txt:75 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" msgid "" -"Write the pack contents (what would have been written to .pack file) out to " -"the standard output." +"Instead of searching tracked files in the working tree, search blobs " +"registered in the index file." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Labeled list -#: en/git-pack-objects.txt:61 -#, no-wrap -msgid "--revs" +#. type: Plain text +#: en/git-grep.txt:78 +msgid "Search files in the current directory that is not managed by Git." msgstr "" +#. type: Labeled list +#: en/git-grep.txt:79 +#, fuzzy, no-wrap +#| msgid "add untracked" +msgid "--untracked" +msgstr "add untracked" + #. type: Plain text -#: en/git-pack-objects.txt:69 +#: en/git-grep.txt:82 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" msgid "" -"Read the revision arguments from the standard input, instead of individual " -"object names. The revision arguments are processed the same way as 'git rev-" -"list' with the `--objects` flag uses its `commit` arguments to build the " -"list of objects it outputs. The objects on the resulting list are packed. " -"Besides revisions, `--not` or `--shallow <SHA-1>` lines are also accepted." +"In addition to searching in the tracked files in the working tree, search " +"also in untracked files." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git-pack-objects.txt:70 en/rev-list-options.txt:693 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--unpacked" -msgstr "git-add(1)" +#: en/git-grep.txt:83 +#, no-wrap +msgid "--no-exclude-standard" +msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:74 +#: en/git-grep.txt:86 msgid "" -"This implies `--revs`. When processing the list of revision arguments read " -"from the standard input, limit the objects packed to those that are not " -"already packed." +"Also search in ignored files by not honoring the `.gitignore` mechanism. " +"Only useful with `--untracked`." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:87 en/git-ls-files.txt:97 +#, no-wrap +msgid "--exclude-standard" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:80 +#: en/git-grep.txt:91 msgid "" -"This implies `--revs`. In addition to the list of revision arguments read " -"from the standard input, pretend as if all refs under `refs/` are specified " -"to be included." +"Do not pay attention to ignored files specified via the\t`.gitignore` " +"mechanism. Only useful when searching files in the current directory with " +"`--no-index`." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:85 +#: en/git-grep.txt:97 msgid "" -"Include unasked-for annotated tags if the object they reference was included " -"in the resulting packfile. This can be useful to send new tags to native " -"Git clients." +"Recursively search in each submodule that has been initialized and checked " +"out in the repository. When used in combination with the <tree> option the " +"prefix of all submodule output will be the name of the parent project's " +"<tree> object." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:86 en/git-repack.txt:84 +#: en/git-grep.txt:98 #, no-wrap -msgid "--window=<n>" +msgid "--parent-basename <basename>" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:98 +#: en/git-grep.txt:104 msgid "" -"These two options affect how the objects contained in the pack are stored " -"using delta compression. The objects are first internally sorted by type, " -"size and optionally names and compared against the other objects within --" -"window to see if using delta compression saves space. --depth limits the " -"maximum delta depth; making it too deep affects the performance on the " -"unpacker side, because delta data needs to be applied that many times to get " -"to the necessary object. The default value for --window is 10 and --depth " -"is 50." +"For internal use only. In order to produce uniform output with the --" +"recurse-submodules option, this option can be used to provide the basename " +"of a parent's <tree> object to a submodule so the submodule can prefix its " +"output with the parent's name rather than the SHA1 of the submodule." msgstr "" -#. type: Labeled list -#: en/git-pack-objects.txt:99 en/git-repack.txt:95 -#, no-wrap -msgid "--window-memory=<n>" +#. type: Plain text +#: en/git-grep.txt:108 +msgid "Process binary files as if they were text." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:109 -msgid "" -"This option provides an additional limit on top of `--window`; the window " -"size will dynamically scale down so as to not take up more than '<n>' bytes " -"in memory. This is useful in repositories with a mix of large and small " -"objects to not run out of memory with a large window, but still be able to " -"take advantage of the large window for the smaller objects. The size can be " -"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " -"usage unlimited. The default is taken from the `pack.windowMemory` " -"configuration variable." +#: en/git-grep.txt:111 +msgid "Honor textconv filter settings." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:117 en/git-repack.txt:115 -msgid "" -"Maximum size of each output pack file. The size can be suffixed with \"k\", " -"\"m\", or \"g\". The minimum size allowed is limited to 1 MiB. If " -"specified, multiple packfiles may be created, which also prevents the " -"creation of a bitmap index. The default is unlimited, unless the config " -"variable `pack.packSizeLimit` is set." +#: en/git-grep.txt:115 +msgid "Do not honor textconv filter settings. This is the default." +msgstr "" + +#. type: Plain text +#: en/git-grep.txt:120 +msgid "Ignore case differences between the patterns and the files." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:118 +#: en/git-grep.txt:121 #, no-wrap -msgid "--honor-pack-keep" +msgid "-I" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:122 -msgid "" -"This flag causes an object already in a local pack that has a .keep file to " -"be ignored, even if it would have otherwise been packed." +#: en/git-grep.txt:123 +msgid "Don't match the pattern in binary files." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:123 en/git-svn.txt:357 en/blame-options.txt:48 +#: en/git-grep.txt:124 #, no-wrap -msgid "--incremental" +msgid "--max-depth <depth>" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:126 +#: en/git-grep.txt:130 msgid "" -"This flag causes an object already in a pack to be ignored even if it would " -"have otherwise been packed." +"For each <pathspec> given on command line, descend at most <depth> levels of " +"directories. A negative value means no limit. This option is ignored if " +"<pathspec> contains active wildcards. In other words if \"a*\" matches a " +"directory named \"a*\", \"*\" is matched literally so --max-depth is still " +"effective." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:132 +#, no-wrap +msgid "--word-regexp" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:131 +#: en/git-grep.txt:136 msgid "" -"This flag causes an object that is borrowed from an alternate object store " -"to be ignored even if it would have otherwise been packed." +"Match the pattern only at word boundary (either begin at the beginning of a " +"line, or preceded by a non-word character; end at the end of a line or " +"followed by a non-word character)." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:132 +#: en/git-grep.txt:138 #, no-wrap -msgid "--non-empty" +msgid "--invert-match" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:135 -msgid "Only create a packed archive if it would contain at least one object." -msgstr "" - -#. type: Labeled list -#: en/git-pack-objects.txt:142 -#, no-wrap -msgid "--all-progress" +#: en/git-grep.txt:140 +msgid "Select non-matching lines." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:152 +#: en/git-grep.txt:148 msgid "" -"When --stdout is specified then progress report is displayed during the " -"object count and compression phases but inhibited during the write-out " -"phase. The reason is that in some cases the output stream is directly linked " -"to another command which may wish to display progress status of its own as " -"it processes incoming pack data. This flag is like --progress except that " -"it forces progress report for the write-out phase as well even if --stdout " -"is used." +"By default, the command shows the filename for each match. `-h` option is " +"used to suppress this output. `-H` is there for completeness and does not " +"do anything except it overrides `-h` given earlier on the command line." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:153 +#: en/git-grep.txt:149 en/git-ls-files.txt:136 en/git-ls-tree.txt:68 #, no-wrap -msgid "--all-progress-implied" +msgid "--full-name" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:157 +#: en/git-grep.txt:154 en/git-ls-files.txt:141 msgid "" -"This is used to imply --all-progress whenever progress display is " -"activated. Unlike --all-progress this flag doesn't actually force any " -"progress display by itself." +"When run from a subdirectory, the command usually outputs paths relative to " +"the current directory. This option forces paths to be output relative to " +"the project top directory." msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:161 -msgid "" -"This flag makes the command not to report its progress on the standard error " -"stream." +#. type: Labeled list +#: en/git-grep.txt:155 en/rev-list-options.txt:84 +#, no-wrap +msgid "-E" msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:162 +#: en/git-grep.txt:156 en/rev-list-options.txt:85 #, no-wrap -msgid "--no-reuse-delta" +msgid "--extended-regexp" msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:168 -msgid "" -"When creating a packed archive in a repository that has existing packs, the " -"command reuses existing deltas. This sometimes results in a slightly " -"suboptimal pack. This flag tells the command not to reuse existing deltas " -"but compute them from scratch." +#. type: Labeled list +#: en/git-grep.txt:157 +#, no-wrap +msgid "-G" msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:169 +#: en/git-grep.txt:158 en/rev-list-options.txt:80 #, no-wrap -msgid "--no-reuse-object" +msgid "--basic-regexp" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:175 +#: en/git-grep.txt:161 msgid "" -"This flag tells the command not to reuse existing object data at all, " -"including non deltified object, forcing recompression of everything. This " -"implies --no-reuse-delta. Useful only in the obscure case where wholesale " -"enforcement of a different compression level on the packed data is desired." +"Use POSIX extended/basic regexp for patterns. Default is to use basic " +"regexp." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:176 +#: en/git-grep.txt:163 en/rev-list-options.txt:94 #, no-wrap -msgid "--compression=<n>" +msgid "--perl-regexp" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:183 +#: en/git-grep.txt:166 msgid "" -"Specifies compression level for newly-compressed data in the generated " -"pack. If not specified, pack compression level is determined first by pack." -"compression, then by core.compression, and defaults to -1, the zlib default, " -"if neither is set. Add --no-reuse-object if you want to force a uniform " -"compression level on all data no matter the source." +"Use Perl-compatible regexp for patterns. Requires libpcre to be compiled in." msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:188 -msgid "" -"Create a \"thin\" pack by omitting the common objects between a sender and a " -"receiver in order to reduce network transfer. This option only makes sense " -"in conjunction with --stdout." +#. type: Labeled list +#: en/git-grep.txt:167 en/git-repack.txt:69 en/rev-list-options.txt:89 +#, no-wrap +msgid "-F" +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:168 en/rev-list-options.txt:90 +#, no-wrap +msgid "--fixed-strings" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:193 -msgid "" -"Note: A thin pack violates the packed archive format by omitting required " -"objects and is thus unusable by Git without making it self-contained. Use " -"`git index-pack --fix-thin` (see linkgit:git-index-pack[1]) to restore the " -"self-contained property." +#: en/git-grep.txt:171 +msgid "Use fixed strings for patterns (don't interpret pattern as a regex)." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:194 +#: en/git-grep.txt:173 #, no-wrap -msgid "--shallow" +msgid "--line-number" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:198 -msgid "" -"Optimize a pack that will be provided to a client with a shallow " -"repository. This option, combined with --thin, can result in a smaller pack " -"at the cost of speed." +#: en/git-grep.txt:175 +msgid "Prefix the line number to matching lines." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:199 +#: en/git-grep.txt:177 #, no-wrap -msgid "--delta-base-offset" +msgid "--files-with-matches" msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:209 -msgid "" -"A packed archive can express the base object of a delta as either a 20-byte " -"object name or as an offset in the stream, but ancient versions of Git don't " -"understand the latter. By default, 'git pack-objects' only uses the former " -"format for better compatibility. This option allows the command to use the " -"latter format for compactness. Depending on the average delta chain length, " -"this option typically shrinks the resulting packfile by 3-5 per-cent." +#. type: Labeled list +#: en/git-grep.txt:179 +#, no-wrap +msgid "-L" msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:214 -msgid "" -"Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]), `git " -"repack` (see linkgit:git-repack[1]) pass this option by default in modern " -"Git when they put objects in your repository into pack files. So does `git " -"bundle` (see linkgit:git-bundle[1]) when it creates a bundle." +#. type: Labeled list +#: en/git-grep.txt:180 +#, no-wrap +msgid "--files-without-match" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:224 +#: en/git-grep.txt:185 msgid "" -"Specifies the number of threads to spawn when searching for best delta " -"matches. This requires that pack-objects be compiled with pthreads " -"otherwise this option is ignored with a warning. This is meant to reduce " -"packing time on multiprocessor machines. The required amount of memory for " -"the delta search window is however multiplied by the number of threads. " -"Specifying 0 will cause Git to auto-detect the number of CPU's and set the " -"number of threads accordingly." +"Instead of showing every matched line, show only the names of files that " +"contain (or do not contain) matches. For better compatibility with 'git " +"diff', `--name-only` is a synonym for `--files-with-matches`." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:230 +#: en/git-grep.txt:186 #, no-wrap -msgid "--keep-true-parents" +msgid "-O[<pager>]" msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:233 -msgid "" -"With this option, parents that are hidden by grafts are packed nevertheless." +#. type: Labeled list +#: en/git-grep.txt:187 +#, no-wrap +msgid "--open-files-in-pager[=<pager>]" msgstr "" -# #. type: Plain text -#: en/git-pack-objects.txt:239 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-grep.txt:195 msgid "" -"linkgit:git-rev-list[1] linkgit:git-repack[1] linkgit:git-prune-packed[1]" +"Open the matching files in the pager (not the output of 'grep'). If the " +"pager happens to be \"less\" or \"vi\", and the user specified only one " +"pattern, the first file is positioned at the first match automatically. The " +"`pager` argument is optional; if specified, it must be stuck to the option " +"without a space. If `pager` is unspecified, the default pager will be used " +"(see `core.pager` in linkgit:git-config[1])." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-pack-redundant.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-pack-redundant(1)" -msgstr "git-add(1)" #. type: Plain text -#: en/git-pack-redundant.txt:7 -msgid "git-pack-redundant - Find redundant pack files" +#: en/git-grep.txt:200 +msgid "Output \\0 instead of the character that normally follows a file name." msgstr "" -#. type: Plain text -#: en/git-pack-redundant.txt:13 +#. type: Labeled list +#: en/git-grep.txt:202 en/rev-list-options.txt:848 #, no-wrap -msgid "'git pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename ... >\n" +msgid "--count" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:19 +#: en/git-grep.txt:205 msgid "" -"This program computes which packs in your repository are redundant. The " -"output is suitable for piping to `xargs rm` if you are in the root of the " -"repository." +"Instead of showing every matched line, show the number of lines that match." msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:24 +#: en/git-grep.txt:209 msgid "" -"'git pack-redundant' accepts a list of objects on standard input. Any " -"objects given will be ignored when checking which packs are required. This " -"makes the following command useful when wanting to remove packs which " -"contain unreachable objects." +"Show colored matches. The value must be always (the default), never, or " +"auto." msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:27 +#: en/git-grep.txt:214 msgid "" -"git fsck --full --unreachable | cut -d ' ' -f3 | \\ git pack-redundant --all " -"| xargs rm" +"Turn off match highlighting, even when the configuration file gives the " +"default to color output. Same as `--color=never`." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:215 +#, no-wrap +msgid "--break" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:34 -msgid "Processes all packs. Any filenames on the command line are ignored." +#: en/git-grep.txt:217 +msgid "Print an empty line between matches from different files." msgstr "" #. type: Labeled list -#: en/git-pack-redundant.txt:35 +#: en/git-grep.txt:218 #, no-wrap -msgid "--alt-odb" +msgid "--heading" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:38 +#: en/git-grep.txt:221 msgid "" -"Don't require objects present in packs from alternate object directories to " -"be present in local packs." +"Show the filename above the matches in that file instead of at the start of " +"each shown line." msgstr "" -#. type: Plain text -#: en/git-pack-redundant.txt:41 -msgid "Outputs some statistics to stderr. Has a small performance penalty." +#. type: Labeled list +#: en/git-grep.txt:223 +#, no-wrap +msgid "--show-function" msgstr "" -# #. type: Plain text -#: en/git-pack-redundant.txt:47 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-grep.txt:229 msgid "" -"linkgit:git-pack-objects[1] linkgit:git-repack[1] linkgit:git-prune-packed[1]" +"Show the preceding line that contains the function name of the match, unless " +"the matching line is a function name itself. The name is determined in the " +"same way as 'git diff' works out patch hunk headers (see 'Defining a custom " +"hunk-header' in linkgit:gitattributes[5])." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-pack-refs.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-pack-refs(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-grep.txt:230 +#, no-wrap +msgid "-<num>" +msgstr "" -#. type: Plain text -#: en/git-pack-refs.txt:7 -msgid "git-pack-refs - Pack heads and tags for efficient repository access" +#. type: Labeled list +#: en/git-grep.txt:231 +#, no-wrap +msgid "-C <num>" msgstr "" -#. type: Plain text -#: en/git-pack-refs.txt:12 +#. type: Labeled list +#: en/git-grep.txt:232 #, no-wrap -msgid "'git pack-refs' [--all] [--no-prune]\n" +msgid "--context <num>" msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:24 +#: en/git-grep.txt:235 msgid "" -"Traditionally, tips of branches and tags (collectively known as 'refs') were " -"stored one file per ref in a (sub)directory under `$GIT_DIR/refs` " -"directory. While many branch tips tend to be updated often, most tags and " -"some branch tips are never updated. When a repository has hundreds or " -"thousands of tags, this one-file-per-ref format both wastes storage and " -"hurts performance." +"Show <num> leading and trailing lines, and place a line containing `--` " +"between contiguous groups of matches." msgstr "" -#. type: Plain text -#: en/git-pack-refs.txt:31 -msgid "" -"This command is used to solve the storage and performance problem by storing " -"the refs in a single file, `$GIT_DIR/packed-refs`. When a ref is missing " -"from the traditional `$GIT_DIR/refs` directory hierarchy, it is looked up in " -"this file and used if found." +#. type: Labeled list +#: en/git-grep.txt:236 +#, no-wrap +msgid "-A <num>" msgstr "" -#. type: Plain text -#: en/git-pack-refs.txt:34 -msgid "" -"Subsequent updates to branches always create new files under `$GIT_DIR/refs` " -"directory hierarchy." +#. type: Labeled list +#: en/git-grep.txt:237 +#, no-wrap +msgid "--after-context <num>" msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:43 +#: en/git-grep.txt:240 msgid "" -"A recommended practice to deal with a repository with too many refs is to " -"pack its refs with `--all` once, and occasionally run `git pack-refs`. Tags " -"are by definition stationary and are not expected to change. Branch heads " -"will be packed with the initial `pack-refs --all`, but only the currently " -"active branch heads will become unpacked, and the next `pack-refs` (without " -"`--all`) will leave them unpacked." +"Show <num> trailing lines, and place a line containing `--` between " +"contiguous groups of matches." msgstr "" -#. type: Plain text -#: en/git-pack-refs.txt:56 -msgid "" -"The command by default packs all tags and refs that are already packed, and " -"leaves other refs alone. This is because branches are expected to be " -"actively developed and packing their tips does not help performance. This " -"option causes branch tips to be packed as well. Useful for a repository " -"with many branches of historical interests." +#. type: Labeled list +#: en/git-grep.txt:241 +#, no-wrap +msgid "-B <num>" +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:242 +#, no-wrap +msgid "--before-context <num>" msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:61 +#: en/git-grep.txt:245 msgid "" -"The command usually removes loose refs under `$GIT_DIR/refs` hierarchy after " -"packing them. This option tells it not to." +"Show <num> leading lines, and place a line containing `--` between " +"contiguous groups of matches." msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:69 +#: en/git-grep.txt:252 msgid "" -"Older documentation written before the packed-refs mechanism was introduced " -"may still say things like \".git/refs/heads/<branch> file exists\" when it " -"means \"branch <branch> exists\"." +"Show the surrounding text from the previous line containing a function name " +"up to the one before the next function name, effectively showing the whole " +"function in which the match was found." msgstr "" -#. type: Title = -#: en/git-parse-remote.txt:2 +#. type: Labeled list +#: en/git-grep.txt:253 #, no-wrap -msgid "git-parse-remote(1)" +msgid "--threads <num>" msgstr "" #. type: Plain text -#: en/git-parse-remote.txt:7 +#: en/git-grep.txt:256 msgid "" -"git-parse-remote - Routines to help parsing remote repository access " -"parameters" +"Number of grep worker threads to use. See `grep.threads` in 'CONFIGURATION' " +"for more information." msgstr "" -#. type: Plain text -#: en/git-parse-remote.txt:13 +#. type: Labeled list +#: en/git-grep.txt:257 #, no-wrap -msgid "'. \"$(git --exec-path)/git-parse-remote\"'\n" +msgid "-f <file>" msgstr "" #. type: Plain text -#: en/git-parse-remote.txt:20 +#: en/git-grep.txt:259 +msgid "Read patterns from <file>, one per line." +msgstr "" + +#. type: Plain text +#: en/git-grep.txt:265 msgid "" -"This script is included in various scripts to supply routines to parse files " -"under $GIT_DIR/remotes/ and $GIT_DIR/branches/ and configuration variables " -"that are related to fetching, pulling and pushing." +"The next parameter is the pattern. This option has to be used for patterns " +"starting with `-` and should be used in scripts passing user input to grep. " +"Multiple patterns are combined by 'or'." msgstr "" -#. type: Title = -#: en/git-patch-id.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-patch-id(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-grep.txt:266 +#, no-wrap +msgid "--and" +msgstr "" -#. type: Plain text -#: en/git-patch-id.txt:7 -msgid "git-patch-id - Compute unique ID for a patch" +#. type: Labeled list +#: en/git-grep.txt:267 +#, no-wrap +msgid "--or" msgstr "" -#. type: Plain text -#: en/git-patch-id.txt:12 +#. type: Labeled list +#: en/git-grep.txt:268 en/git-rev-parse.txt:129 en/rev-list-options.txt:131 #, no-wrap -msgid "'git patch-id' [--stable | --unstable]\n" +msgid "--not" msgstr "" -#. type: Plain text -#: en/git-patch-id.txt:16 -msgid "Read a patch from the standard input and compute the patch ID for it." +#. type: Labeled list +#: en/git-grep.txt:269 +#, no-wrap +msgid "( ... )" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:21 +#: en/git-grep.txt:274 msgid "" -"A \"patch ID\" is nothing but a sum of SHA-1 of the file diffs associated " -"with a patch, with whitespace and line numbers ignored. As such, it's " -"\"reasonably stable\", but at the same time also reasonably unique, i.e., " -"two patches that have the same \"patch ID\" are almost guaranteed to be the " -"same thing." +"Specify how multiple patterns are combined using Boolean expressions. `--" +"or` is the default operator. `--and` has higher precedence than `--or`. `-" +"e` has to be used for all patterns." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:275 en/rev-list-options.txt:67 +#, no-wrap +msgid "--all-match" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:23 -msgid "IOW, you can use this thing to look for likely duplicate commits." +#: en/git-grep.txt:279 +msgid "" +"When giving multiple pattern expressions combined with `--or`, this flag is " +"specified to limit the match to files that have lines to match all of them." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:29 +#: en/git-grep.txt:284 msgid "" -"When dealing with 'git diff-tree' output, it takes advantage of the fact " -"that the patch is prefixed with the object name of the commit, and outputs " -"two 40-byte hexadecimal strings. The first string is the patch ID, and the " -"second string is the commit ID. This can be used to make a mapping from " -"patch ID to commit ID." +"Do not output matched lines; instead, exit with status 0 when there is a " +"match and with non-zero status when there isn't." msgstr "" #. type: Labeled list -#: en/git-patch-id.txt:33 +#: en/git-grep.txt:285 #, no-wrap -msgid "--stable" +msgid "<tree>..." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:35 -msgid "Use a \"stable\" sum of hashes as the patch ID. With this option:" +#: en/git-grep.txt:288 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "" +"Instead of searching tracked files in the working tree, search blobs in the " +"given trees." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-patch-id.txt:41 +#: en/git-grep.txt:292 msgid "" -"Reordering file diffs that make up a patch does not affect the ID. In " -"particular, two patches produced by comparing the same two trees with two " -"different settings for \"-O<orderfile>\" result in the same patch ID " -"signature, thereby allowing the computed result to be used as a key to index " -"some meta-information about the change between the two trees;" +"Signals the end of options; the rest of the parameters are <pathspec> " +"limiters." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:47 +#: en/git-grep.txt:296 msgid "" -"Result is different from the value produced by git 1.9 and older or produced " -"when an \"unstable\" hash (see --unstable below) is configured - even when " -"used on a diff output taken without any use of \"-O<orderfile>\", thereby " -"making existing databases storing such \"unstable\" or historical patch-ids " -"unusable." +"If given, limit the search to paths matching at least one pattern. Both " +"leading paths match and glob(7) patterns are supported." msgstr "" -#. type: Plain text -#: en/git-patch-id.txt:49 +#. type: Labeled list +#: en/git-grep.txt:300 #, no-wrap -msgid "This is the default if patchid.stable is set to true.\n" +msgid "`git grep 'time_t' -- '*.[ch]'`" msgstr "" +# +#. type: Plain text +#: en/git-grep.txt:303 +#, fuzzy +#| msgid "" +#| "Adds content from all `*.txt` files under `Documentation` directory and " +#| "its subdirectories:" +msgid "" +"Looks for `time_t` in all tracked .c and .h files in the working directory " +"and its subdirectories." +msgstr "" +"Ajouter le contenu de tous le fichiers `*.txt` sous le r챕pertoire " +"`Documentation` et ses sous r챕pertoires." + #. type: Labeled list -#: en/git-patch-id.txt:50 +#: en/git-grep.txt:304 #, no-wrap -msgid "--unstable" +msgid "`git grep -e '#define' --and \\( -e MAX_PATH -e PATH_MAX \\)`" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:56 +#: en/git-grep.txt:307 msgid "" -"Use an \"unstable\" hash as the patch ID. With this option, the result " -"produced is compatible with the patch-id value produced by git 1.9 and " -"older. Users with pre-existing databases storing patch-ids produced by git " -"1.9 and older (who do not deal with reordered patches) may want to use this " -"option." +"Looks for a line that has `#define` and either `MAX_PATH` or `PATH_MAX`." msgstr "" -#. type: Plain text -#: en/git-patch-id.txt:58 -msgid "This is the default." +#. type: Labeled list +#: en/git-grep.txt:308 +#, no-wrap +msgid "`git grep --all-match -e NODE -e Unexpected`" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:61 -msgid "The diff to create the ID of." +#: en/git-grep.txt:311 +msgid "" +"Looks for a line that has `NODE` or `Unexpected` in files that have lines " +"that match both." msgstr "" #. type: Title = -#: en/git-prune-packed.txt:2 +#: en/git-gui.txt:2 #, fuzzy, no-wrap #| msgid "git-add(1)" -msgid "git-prune-packed(1)" +msgid "git-gui(1)" msgstr "git-add(1)" #. type: Plain text -#: en/git-prune-packed.txt:7 -msgid "git-prune-packed - Remove extra objects that are already in pack files" +#: en/git-gui.txt:7 +msgid "git-gui - A portable graphical interface to Git" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:13 +#: en/git-gui.txt:12 #, no-wrap -msgid "'git prune-packed' [-n|--dry-run] [-q|--quiet]\n" +msgid "'git gui' [<command>] [arguments]\n" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:19 +#: en/git-gui.txt:19 msgid "" -"This program searches the `$GIT_OBJECT_DIRECTORY` for all objects that " -"currently exist in a pack file as well as the independent object directories." +"A Tcl/Tk based graphical user interface to Git. 'git gui' focuses on " +"allowing users to make changes to their repository by making new commits, " +"amending existing ones, creating branches, performing local merges, and " +"fetching/pushing to remote repositories." msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:21 -msgid "All such extra objects are removed." +#: en/git-gui.txt:24 +msgid "" +"Unlike 'gitk', 'git gui' focuses on commit generation and single file " +"annotation and does not show project history. It does however supply menu " +"actions to start a 'gitk' session from within 'git gui'." msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:24 en/git-repack.txt:24 +#: en/git-gui.txt:29 msgid "" -"A pack is a collection of objects, individually compressed, with delta " -"compression applied, stored in a single file, with an associated index file." +"'git gui' is known to work on all popular UNIX systems, Mac OS X, and " +"Windows (under both Cygwin and MSYS). To the extent possible OS specific " +"user interface guidelines are followed, making 'git gui' a fairly native " +"interface for users." +msgstr "" + +#. type: Title - +#: en/git-gui.txt:31 en/git-p4.txt:63 en/git-remote.txt:42 en/git-rerere.txt:32 +#: en/git-shell.txt:25 en/git-submodule.txt:60 en/git-svn.txt:29 +#: en/git-worktree.txt:47 +#, no-wrap +msgid "COMMANDS" +msgstr "" + +#. type: Labeled list +#: en/git-gui.txt:32 +#, no-wrap +msgid "blame" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:27 en/git-repack.txt:27 +#: en/git-gui.txt:35 msgid "" -"Packs are used to reduce the load on mirror systems, backup engines, disk " -"storage, etc." +"Start a blame viewer on the specified file on the given version (or working " +"directory if not specified)." +msgstr "" + +#. type: Labeled list +#: en/git-gui.txt:36 +#, no-wrap +msgid "browser" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:35 -#, fuzzy -#| msgid "" -#| "-n::\n" -#| "--dry-run::\n" -#| "\tDon't actually add the file(s), just show if they exist and/or will\n" -#| "\tbe ignored.\n" +#: en/git-gui.txt:40 msgid "" -"Don't actually remove any objects, only show those that would have been " -"removed." +"Start a tree browser showing all files in the specified commit. Files " +"selected through the browser are opened in the blame viewer." msgstr "" -"-n::\n" -"--dry-run::\n" -"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" -"\tou seront ignor챕s.\n" -#. type: Plain text -#: en/git-prune-packed.txt:39 -msgid "Squelch the progress indicator." +#. type: Labeled list +#: en/git-gui.txt:41 +#, no-wrap +msgid "citool" msgstr "" -# #. type: Plain text -#: en/git-prune-packed.txt:44 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-pack-objects[1] linkgit:git-repack[1]" +#: en/git-gui.txt:46 +msgid "" +"Start 'git gui' and arrange to make exactly one commit before exiting and " +"returning to the shell. The interface is limited to only commit actions, " +"slightly reducing the application's startup time and simplifying the menubar." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-prune.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-prune(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-gui.txt:47 +#, no-wrap +msgid "version" +msgstr "" -# #. type: Plain text -#: en/git-prune.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-prune - Prune all unreachable objects from the object database" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-gui.txt:49 +msgid "Display the currently running version of 'git gui'." +msgstr "" -#. type: Plain text -#: en/git-prune.txt:13 +#. type: Labeled list +#: en/git-gui.txt:53 #, no-wrap -msgid "'git prune' [-n] [-v] [--expire <expire>] [--] [<head>...]\n" +msgid "`git gui blame Makefile`" msgstr "" #. type: Plain text -#: en/git-prune.txt:19 +#: en/git-gui.txt:61 msgid "" -"In most cases, users should run 'git gc', which calls 'git prune'. See the " -"section \"NOTES\", below." +"Show the contents of the file 'Makefile' in the current working directory, " +"and provide annotations for both the original author of each line, and who " +"moved the line to its current location. The uncommitted file is annotated, " +"and uncommitted changes (if any) are explicitly attributed to 'Not Yet " +"Committed'." +msgstr "" + +#. type: Labeled list +#: en/git-gui.txt:62 +#, no-wrap +msgid "`git gui blame v0.99.8 Makefile`" msgstr "" #. type: Plain text -#: en/git-prune.txt:29 +#: en/git-gui.txt:68 msgid "" -"This runs 'git fsck --unreachable' using all the refs available in `refs/`, " -"optionally with additional set of objects specified on the command line, and " -"prunes all unpacked objects unreachable from any of these head objects from " -"the object database. In addition, it prunes the unpacked objects that are " -"also found in packs by running 'git prune-packed'. It also removes entries " -"from .git/shallow that are not reachable by any ref." +"Show the contents of 'Makefile' in revision 'v0.99.8' and provide " +"annotations for each line. Unlike the above example the file is read from " +"the object database and not the working directory." +msgstr "" + +#. type: Labeled list +#: en/git-gui.txt:69 +#, no-wrap +msgid "`git gui blame --line=100 Makefile`" msgstr "" #. type: Plain text -#: en/git-prune.txt:32 +#: en/git-gui.txt:73 msgid "" -"Note that unreachable, packed objects will remain. If this is not desired, " -"see linkgit:git-repack[1]." +"Loads annotations as described above and automatically scrolls the view to " +"center on line '100'." msgstr "" +#. type: Labeled list +#: en/git-gui.txt:74 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git gui citool`" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-prune.txt:40 -#, fuzzy -#| msgid "" -#| "-n::\n" -#| "--dry-run::\n" -#| "\tDon't actually add the file(s), just show if they exist and/or will\n" -#| "\tbe ignored.\n" -msgid "Do not remove anything; just report what it would remove." +#: en/git-gui.txt:79 +msgid "" +"Make one commit and return to the shell when it is complete. This command " +"returns a non-zero exit code if the window was closed in any way other than " +"by making a commit." msgstr "" -"-n::\n" -"--dry-run::\n" -"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" -"\tou seront ignor챕s.\n" + +#. type: Labeled list +#: en/git-gui.txt:80 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git gui citool --amend`" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-prune.txt:44 -#, fuzzy -#| msgid "" -#| "-v::\n" -#| "--verbose::\n" -#| " Be verbose.\n" -msgid "Report all removed objects." +#: en/git-gui.txt:84 +msgid "Automatically enter the 'Amend Last Commit' mode of the interface." msgstr "" -"-v::\n" -"--verbose::\n" -" Mode bavard.\n" #. type: Labeled list -#: en/git-prune.txt:48 en/git-worktree.txt:124 -#, no-wrap -msgid "--expire <time>" -msgstr "" +#: en/git-gui.txt:85 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git gui citool --nocommit`" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-prune.txt:50 -msgid "Only expire loose objects older than <time>." +#: en/git-gui.txt:91 +msgid "" +"Behave as normal citool, but instead of making a commit simply terminate " +"with a zero exit code. It still checks that the index does not contain any " +"unmerged entries, so you can use it as a GUI version of linkgit:git-" +"mergetool[1]" msgstr "" #. type: Labeled list -#: en/git-prune.txt:51 +#: en/git-gui.txt:92 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git citool`" +msgstr "$ git commit\n" + +#. type: Plain text +#: en/git-gui.txt:95 +#, fuzzy +#| msgid "$ git commit\n" +msgid "Same as `git gui citool` (above)." +msgstr "$ git commit\n" + +#. type: Labeled list +#: en/git-gui.txt:96 #, no-wrap -msgid "<head>..." +msgid "`git gui browser maint`" msgstr "" #. type: Plain text -#: en/git-prune.txt:55 +#: en/git-gui.txt:101 msgid "" -"In addition to objects reachable from any of our references, keep objects " -"reachable from listed <head>s." +"Show a browser for the tree of the 'maint' branch. Files selected in the " +"browser can be viewed with the internal blame viewer." msgstr "" #. type: Plain text -#: en/git-prune.txt:62 +#: en/git-gui.txt:108 msgid "" -"To prune objects not used by your repository or another that borrows from " -"your repository via its `.git/objects/info/alternates`:" +"The Git repository browser. Shows branches, commit history and file " +"differences. gitk is the utility started by 'git gui''s Repository " +"Visualize actions." msgstr "" -#. type: delimited block - -#: en/git-prune.txt:65 +#. type: Title - +#: en/git-gui.txt:110 #, no-wrap -msgid "$ git prune $(cd ../another && git rev-parse --all)\n" +msgid "Other" msgstr "" #. type: Plain text -#: en/git-prune.txt:73 +#: en/git-gui.txt:114 msgid "" -"In most cases, users will not need to call 'git prune' directly, but should " -"instead call 'git gc', which handles pruning along with many other " -"housekeeping tasks." +"'git gui' is actually maintained as an independent project, but stable " +"versions are distributed as part of the Git suite for the convenience of end " +"users." msgstr "" #. type: Plain text -#: en/git-prune.txt:76 -msgid "" -"For a description of which objects are considered for pruning, see 'git " -"fsck''s --unreachable option." +#: en/git-gui.txt:116 +msgid "A 'git gui' development repository can be obtained from:" msgstr "" -# #. type: Plain text -#: en/git-prune.txt:83 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-fsck[1], linkgit:git-gc[1], linkgit:git-reflog[1]" +#: en/git-gui.txt:118 +#, no-wrap +msgid " git clone git://repo.or.cz/git-gui.git\n" msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-pull.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-pull(1)" -msgstr "git-add(1)" #. type: Plain text -#: en/git-pull.txt:7 -msgid "" -"git-pull - Fetch from and integrate with another repository or a local branch" +#: en/git-gui.txt:122 +#, no-wrap +msgid " git clone http://repo.or.cz/r/git-gui.git\n" msgstr "" #. type: Plain text -#: en/git-pull.txt:13 -#, no-wrap -msgid "'git pull' [options] [<repository> [<refspec>...]]\n" +#: en/git-gui.txt:124 +msgid "or browsed online at http://repo.or.cz/w/git-gui.git/[]." msgstr "" -#. type: Plain text -#: en/git-pull.txt:21 -msgid "" -"Incorporates changes from a remote repository into the current branch. In " -"its default mode, `git pull` is shorthand for `git fetch` followed by `git " -"merge FETCH_HEAD`." +#. type: Title = +#: en/git-hash-object.txt:2 +#, no-wrap +msgid "git-hash-object(1)" msgstr "" #. type: Plain text -#: en/git-pull.txt:26 +#: en/git-hash-object.txt:7 msgid "" -"More precisely, 'git pull' runs 'git fetch' with the given parameters and " -"calls 'git merge' to merge the retrieved branch heads into the current " -"branch. With `--rebase`, it runs 'git rebase' instead of 'git merge'." +"git-hash-object - Compute object ID and optionally creates a blob from a file" msgstr "" #. type: Plain text -#: en/git-pull.txt:33 +#: en/git-hash-object.txt:14 +#, no-wrap msgid "" -"<repository> should be the name of a remote repository as passed to linkgit:" -"git-fetch[1]. <refspec> can name an arbitrary remote ref (for example, the " -"name of a tag) or even a collection of refs with corresponding remote-" -"tracking branches (e.g., refs/heads/{asterisk}:refs/remotes/origin/" -"{asterisk}), but usually it is the name of a branch in the remote repository." +"'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin [--literally]] [--] <file>...\n" +"'git hash-object' [-t <type>] [-w] --stdin-paths [--no-filters]\n" msgstr "" #. type: Plain text -#: en/git-pull.txt:37 +#: en/git-hash-object.txt:24 msgid "" -"Default values for <repository> and <branch> are read from the \"remote\" " -"and \"merge\" configuration for the current branch as set by linkgit:git-" -"branch[1] `--track`." +"Computes the object ID value for an object with specified type with the " +"contents of the named file (which can be outside of the work tree), and " +"optionally writes the resulting object into the object database. Reports " +"its object ID to its standard output. This is used by 'git cvsimport' to " +"update the index without modifying files in the work tree. When <type> is " +"not specified, it defaults to \"blob\"." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:47 +#. type: Labeled list +#: en/git-hash-object.txt:28 #, no-wrap -msgid "" -"\t A---B---C master on origin\n" -"\t /\n" -" D---E---F---G master\n" -"\t^\n" -"\torigin/master in your repository\n" +msgid "-t <type>" msgstr "" #. type: Plain text -#: en/git-pull.txt:54 -msgid "" -"Then \"`git pull`\" will fetch and replay the changes from the remote " -"`master` branch since it diverged from the local `master` (i.e., `E`) until " -"its current commit (`C`) on top of `master` and record the result in a new " -"commit along with the names of the two parent commits and a log message from " -"the user describing the changes." +#: en/git-hash-object.txt:30 +msgid "Specify the type (default: \"blob\")." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:59 +# +#. type: Plain text +#: en/git-hash-object.txt:33 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Actually write the object into the object database." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/git-hash-object.txt:36 +msgid "Read the object from standard input instead of from a file." +msgstr "" + +#. type: Labeled list +#: en/git-hash-object.txt:37 #, no-wrap -msgid "" -"\t A---B---C origin/master\n" -"\t / \\\n" -" D---E---F---G---H master\n" +msgid "--stdin-paths" msgstr "" #. type: Plain text -#: en/git-pull.txt:63 +#: en/git-hash-object.txt:40 msgid "" -"See linkgit:git-merge[1] for details, including how conflicts are presented " -"and handled." +"Read file names from the standard input, one per line, instead of from the " +"command-line." msgstr "" #. type: Plain text -#: en/git-pull.txt:68 +#: en/git-hash-object.txt:50 msgid "" -"In Git 1.7.0 or later, to cancel a conflicting merge, use `git reset --" -"merge`. *Warning*: In older versions of Git, running 'git pull' with " -"uncommitted changes is discouraged: while possible, it leaves you in a state " -"that may be hard to back out of in the case of a conflict." +"Hash object as it were located at the given path. The location of file does " +"not directly influence on the hash value, but path is used to determine what " +"Git filters should be applied to the object before it can be placed to the " +"object database, and, as result of applying filters, the actual blob put " +"into the object database may differ from the given file. This option is " +"mainly useful for hashing temporary files located outside of the working " +"directory or files read from stdin." +msgstr "" + +#. type: Labeled list +#: en/git-hash-object.txt:51 +#, no-wrap +msgid "--no-filters" msgstr "" #. type: Plain text -#: en/git-pull.txt:73 +#: en/git-hash-object.txt:56 msgid "" -"If any of the remote changes overlap with local uncommitted changes, the " -"merge will be automatically cancelled and the work tree untouched. It is " -"generally best to get any local changes in working order before pulling or " -"stash them away with linkgit:git-stash[1]." +"Hash the contents as is, ignoring any input filter that would have been " +"chosen by the attributes mechanism, including the end-of-line conversion. If " +"the file is read from standard input then this is always implied, unless the " +"`--path` option is given." +msgstr "" + +#. type: Labeled list +#: en/git-hash-object.txt:57 +#, no-wrap +msgid "--literally" msgstr "" #. type: Plain text -#: en/git-pull.txt:82 +#: en/git-hash-object.txt:62 msgid "" -"This is passed to both underlying git-fetch to squelch reporting of during " -"transfer, and underlying git-merge to squelch output during merging." +"Allow `--stdin` to hash any garbage into a loose object which might not " +"otherwise pass standard object parsing or git-fsck checks. Useful for stress-" +"testing Git itself or reproducing characteristics of corrupt or bogus " +"objects encountered in the wild." msgstr "" +#. type: Title = +#: en/git-help.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-help(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-pull.txt:86 -msgid "Pass --verbose to git-fetch and git-merge." +#: en/git-help.txt:7 +msgid "git-help - Display help information about Git" msgstr "" -#. type: Labeled list -#: en/git-pull.txt:87 +#. type: Plain text +#: en/git-help.txt:13 #, no-wrap -msgid "--[no-]recurse-submodules[=yes|on-demand|no]" +msgid "" +"'git help' [-a|--all] [-g|--guide]\n" +"\t [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]\n" msgstr "" #. type: Plain text -#: en/git-pull.txt:95 +#: en/git-help.txt:20 msgid "" -"This option controls if new commits of all populated submodules should be " -"fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]). That " -"might be necessary to get the data needed for merging submodule commits, a " -"feature Git learned in 1.7.3. Notice that the result of a merge will not be " -"checked out in the submodule, \"git submodule update\" has to be called " -"afterwards to bring the work tree up to date with the merge result." -msgstr "" - -#. type: Title ~ -#: en/git-pull.txt:97 -#, no-wrap -msgid "Options related to merging" +"With no options and no COMMAND or GUIDE given, the synopsis of the 'git' " +"command and a list of the most commonly used Git commands are printed on the " +"standard output." msgstr "" -#. type: Labeled list -#: en/git-pull.txt:104 -#, no-wrap -msgid "--rebase[=false|true|preserve|interactive]" +#. type: Plain text +#: en/git-help.txt:23 +msgid "" +"If the option `--all` or `-a` is given, all available commands are printed " +"on the standard output." msgstr "" #. type: Plain text -#: en/git-pull.txt:110 +#: en/git-help.txt:26 msgid "" -"When true, rebase the current branch on top of the upstream branch after " -"fetching. If there is a remote-tracking branch corresponding to the upstream " -"branch and the upstream branch was rebased since last fetched, the rebase " -"uses that information to avoid rebasing non-local changes." +"If the option `--guide` or `-g` is given, a list of the useful Git guides is " +"also printed on the standard output." msgstr "" #. type: Plain text -#: en/git-pull.txt:113 +#: en/git-help.txt:31 msgid "" -"When set to preserve, rebase with the `--preserve-merges` option passed to " -"`git rebase` so that locally created merge commits will not be flattened." +"If a command, or a guide, is given, a manual page for that command or guide " +"is brought up. The 'man' program is used by default for this purpose, but " +"this can be overridden by other options or configuration variables." msgstr "" #. type: Plain text -#: en/git-pull.txt:115 -msgid "When false, merge the current branch into the upstream branch." +#: en/git-help.txt:34 +msgid "" +"Note that `git --help ...` is identical to `git help ...` because the former " +"is internally converted into the latter." msgstr "" #. type: Plain text -#: en/git-pull.txt:117 -msgid "When `interactive`, enable the interactive mode of rebase." +#: en/git-help.txt:36 +msgid "To display the linkgit:git[1] man page, use `git help git`." msgstr "" #. type: Plain text -#: en/git-pull.txt:121 -msgid "" -"See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in " -"linkgit:git-config[1] if you want to make `git pull` always use `--rebase` " -"instead of merging." +#: en/git-help.txt:38 +msgid "This page can be displayed with 'git help help' or `git help --help`" msgstr "" #. type: Plain text -#: en/git-pull.txt:127 +#: en/git-help.txt:45 msgid "" -"This is a potentially _dangerous_ mode of operation. It rewrites history, " -"which does not bode well when you published that history already. Do *not* " -"use this option unless you have read linkgit:git-rebase[1] carefully." +"Prints all the available commands on the standard output. This option " +"overrides any given command or guide name." msgstr "" #. type: Labeled list -#: en/git-pull.txt:128 en/git-svn.txt:245 +#: en/git-help.txt:47 #, no-wrap -msgid "--no-rebase" +msgid "--guides" msgstr "" #. type: Plain text -#: en/git-pull.txt:130 -msgid "Override earlier --rebase." -msgstr "" - -#. type: Labeled list -#: en/git-pull.txt:131 en/git-rebase.txt:442 -#, no-wrap -msgid "--autostash" +#: en/git-help.txt:50 +msgid "" +"Prints a list of useful guides on the standard output. This option overrides " +"any given command or guide name." msgstr "" #. type: Labeled list -#: en/git-pull.txt:132 en/git-rebase.txt:443 +#: en/git-help.txt:52 #, no-wrap -msgid "--no-autostash" +msgid "--info" msgstr "" #. type: Plain text -#: en/git-pull.txt:137 +#: en/git-help.txt:55 msgid "" -"Before starting rebase, stash local modifications away (see linkgit:git-" -"stash[1]) if needed, and apply the stash when done. `--no-autostash` is " -"useful to override the `rebase.autoStash` configuration variable (see " -"linkgit:git-config[1])." -msgstr "" - -#. type: Plain text -#: en/git-pull.txt:139 -msgid "This option is only valid when \"--rebase\" is used." -msgstr "" - -#. type: Title ~ -#: en/git-pull.txt:141 -#, no-wrap -msgid "Options related to fetching" +"Display manual page for the command in the 'info' format. The 'info' program " +"will be used for that purpose." msgstr "" -#. type: Title - -#: en/git-pull.txt:152 +#. type: Labeled list +#: en/git-help.txt:57 #, no-wrap -msgid "DEFAULT BEHAVIOUR" -msgstr "" - -#. type: Plain text -#: en/git-pull.txt:159 -msgid "" -"Often people use `git pull` without giving any parameter. Traditionally, " -"this has been equivalent to saying `git pull origin`. However, when " -"configuration `branch.<name>.remote` is present while on branch `<name>`, " -"that value is used instead of `origin`." +msgid "--man" msgstr "" #. type: Plain text -#: en/git-pull.txt:164 +#: en/git-help.txt:61 msgid "" -"In order to determine what URL to use to fetch from, the value of the " -"configuration `remote.<origin>.url` is consulted and if there is not any " -"such variable, the value on `URL: ` line in `$GIT_DIR/remotes/<origin>` file " -"is used." +"Display manual page for the command in the 'man' format. This option may be " +"used to override a value set in the `help.format` configuration variable." msgstr "" #. type: Plain text -#: en/git-pull.txt:173 +#: en/git-help.txt:65 msgid "" -"In order to determine what remote branches to fetch (and optionally store in " -"the remote-tracking branches) when the command is run without any refspec " -"parameters on the command line, values of the configuration variable `remote." -"<origin>.fetch` are consulted, and if there aren't any, `$GIT_DIR/remotes/" -"<origin>` file is consulted and its `Pull: ` lines are used. In addition to " -"the refspec formats described in the OPTIONS section, you can have a " -"globbing refspec that looks like this:" +"By default the 'man' program will be used to display the manual page, but " +"the `man.viewer` configuration variable may be used to choose other display " +"programs (see below)." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:176 +#. type: Labeled list +#: en/git-help.txt:67 #, no-wrap -msgid "refs/heads/*:refs/remotes/origin/*\n" +msgid "--web" msgstr "" #. type: Plain text -#: en/git-pull.txt:183 +#: en/git-help.txt:70 msgid "" -"A globbing refspec must have a non-empty RHS (i.e. must store what were " -"fetched in remote-tracking branches), and its LHS and RHS must end with `/" -"*`. The above specifies that all remote branches are tracked using remote-" -"tracking branches in `refs/remotes/origin/` hierarchy under the same name." +"Display manual page for the command in the 'web' (HTML) format. A web " +"browser will be used for that purpose." msgstr "" #. type: Plain text -#: en/git-pull.txt:187 +#: en/git-help.txt:76 msgid "" -"The rule to determine which remote branch to merge after fetching is a bit " -"involved, in order not to break backward compatibility." +"The web browser can be specified using the configuration variable `help." +"browser`, or `web.browser` if the former is not set. If none of these config " +"variables is set, the 'git web{litdd}browse' helper script (called by 'git " +"help') will pick a suitable default. See linkgit:git-web{litdd}browse[1] for " +"more information about this." msgstr "" +#. type: Title - +#: en/git-help.txt:78 en/git-interpret-trailers.txt:84 en/git-p4.txt:450 +#: en/git-web--browse.txt:59 +#, fuzzy, no-wrap +#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" +msgid "CONFIGURATION VARIABLES" +msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" + #. type: Plain text -#: en/git-pull.txt:190 +#: en/git-help.txt:87 msgid "" -"If explicit refspecs were given on the command line of `git pull`, they are " -"all merged." +"If no command-line option is passed, the `help.format` configuration " +"variable will be checked. The following values are supported for this " +"variable; they make 'git help' behave as their corresponding command- line " +"option:" msgstr "" #. type: Plain text -#: en/git-pull.txt:195 -msgid "" -"When no refspec was given on the command line, then `git pull` uses the " -"refspec from the configuration or `$GIT_DIR/remotes/<origin>`. In such " -"cases, the following rules apply:" +#: en/git-help.txt:89 +msgid "\"man\" corresponds to '-m|--man'," msgstr "" #. type: Plain text -#: en/git-pull.txt:199 -msgid "" -"If `branch.<name>.merge` configuration for the current branch `<name>` " -"exists, that is the name of the branch at the remote site that is merged." +#: en/git-help.txt:90 +msgid "\"info\" corresponds to '-i|--info'," msgstr "" #. type: Plain text -#: en/git-pull.txt:201 -msgid "If the refspec is a globbing one, nothing is merged." +#: en/git-help.txt:91 +msgid "\"web\" or \"html\" correspond to '-w|--web'." msgstr "" -#. type: Plain text -#: en/git-pull.txt:203 -msgid "Otherwise the remote branch of the first refspec is merged." +#. type: Title ~ +#: en/git-help.txt:93 +#, no-wrap +msgid "help.browser, web.browser and browser.<tool>.path" msgstr "" #. type: Plain text -#: en/git-pull.txt:211 +#: en/git-help.txt:99 msgid "" -"Update the remote-tracking branches for the repository you cloned from, then " -"merge one of them into your current branch:" +"The `help.browser`, `web.browser` and `browser.<tool>.path` will also be " +"checked if the 'web' format is chosen (either by command-line option or " +"configuration variable). See '-w|--web' in the OPTIONS section above and " +"linkgit:git-web{litdd}browse[1]." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:214 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git pull, git pull origin\n" -msgstr "$ git commit\n" - #. type: Plain text -#: en/git-pull.txt:219 +#: en/git-help.txt:105 msgid "" -"Normally the branch merged in is the HEAD of the remote repository, but the " -"choice is determined by the branch.<name>.remote and branch.<name>.merge " -"options; see linkgit:git-config[1] for details." +"The `man.viewer` configuration variable will be checked if the 'man' format " +"is chosen. The following values are currently supported:" msgstr "" #. type: Plain text -#: en/git-pull.txt:221 -msgid "Merge into the current branch the remote branch `next`:" -msgstr "" - -#. type: delimited block - -#: en/git-pull.txt:224 -#, no-wrap -msgid "$ git pull origin next\n" +#: en/git-help.txt:107 +msgid "\"man\": use the 'man' program as usual," msgstr "" #. type: Plain text -#: en/git-pull.txt:229 +#: en/git-help.txt:109 msgid "" -"This leaves a copy of `next` temporarily in FETCH_HEAD, but does not update " -"any remote-tracking branches. Using remote-tracking branches, the same can " -"be done by invoking fetch and merge:" +"\"woman\": use 'emacsclient' to launch the \"woman\" mode in emacs (this " +"only works starting with emacsclient versions 22)," msgstr "" -#. type: delimited block - -#: en/git-pull.txt:233 -#, no-wrap +#. type: Plain text +#: en/git-help.txt:111 msgid "" -"$ git fetch origin\n" -"$ git merge origin/next\n" +"\"konqueror\": use 'kfmclient' to open the man page in a new konqueror tab " +"(see 'Note about konqueror' below)." msgstr "" #. type: Plain text -#: en/git-pull.txt:238 +#: en/git-help.txt:114 msgid "" -"If you tried a pull which resulted in complex conflicts and would want to " -"start over, you can recover with 'git reset'." +"Values for other tools can be used if there is a corresponding `man.<tool>." +"cmd` configuration entry (see below)." msgstr "" -# #. type: Plain text -#: en/git-pull.txt:254 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-fetch[1], linkgit:git-merge[1], linkgit:git-config[1]" +#: en/git-help.txt:118 +msgid "" +"Multiple values may be given to the `man.viewer` configuration variable. " +"Their corresponding programs will be tried in the order listed in the " +"configuration file." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-push.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-push(1)" -msgstr "git-add(1)" #. type: Plain text -#: en/git-push.txt:7 -msgid "git-push - Update remote refs along with associated objects" +#: en/git-help.txt:120 +msgid "For example, this configuration:" msgstr "" -#. type: Plain text -#: en/git-push.txt:18 +#. type: delimited block - +#: en/git-help.txt:125 #, no-wrap msgid "" -"'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]\n" -"\t [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]\n" -"\t [-u | --set-upstream] [--push-option=<string>]\n" -"\t [--[no-]signed|--sign=(true|false|if-asked)]\n" -"\t [--force-with-lease[=<refname>[:<expect>]]]\n" -"\t [--no-verify] [<repository> [<refspec>...]]\n" -msgstr "" - -#. type: Plain text -#: en/git-push.txt:24 -msgid "" -"Updates remote refs using local refs, while sending objects necessary to " -"complete the given refs." +"\t[man]\n" +"\t\tviewer = konqueror\n" +"\t\tviewer = woman\n" msgstr "" #. type: Plain text -#: en/git-push.txt:28 +#: en/git-help.txt:129 msgid "" -"You can make interesting things happen to a repository every time you push " -"into it, by setting up 'hooks' there. See documentation for linkgit:git-" -"receive-pack[1]." +"will try to use konqueror first. But this may fail (for example, if DISPLAY " +"is not set) and in that case emacs' woman mode will be tried." msgstr "" #. type: Plain text -#: en/git-push.txt:33 +#: en/git-help.txt:133 msgid "" -"When the command line does not specify where to push with the `<repository>` " -"argument, `branch.*.remote` configuration for the current branch is " -"consulted to determine where to push. If the configuration is missing, it " -"defaults to 'origin'." +"If everything fails, or if no viewer is configured, the viewer specified in " +"the `GIT_MAN_VIEWER` environment variable will be tried. If that fails too, " +"the 'man' program will be tried anyway." msgstr "" #. type: Plain text -#: en/git-push.txt:39 +#: en/git-help.txt:142 msgid "" -"When the command line does not specify what to push with `<refspec>...` " -"arguments or `--all`, `--mirror`, `--tags` options, the command finds the " -"default `<refspec>` by consulting `remote.*.push` configuration, and if it " -"is not found, honors `push.default` configuration to decide what to push " -"(See linkgit:git-config[1] for the meaning of `push.default`)." +"You can explicitly provide a full path to your preferred man viewer by " +"setting the configuration variable `man.<tool>.path`. For example, you can " +"configure the absolute path to konqueror by setting 'man.konqueror.path'. " +"Otherwise, 'git help' assumes the tool is available in PATH." msgstr "" #. type: Plain text -#: en/git-push.txt:46 +#: en/git-help.txt:152 msgid "" -"When neither the command-line nor the configuration specify what to push, " -"the default behavior is used, which corresponds to the `simple` value for " -"`push.default`: the current branch is pushed to the corresponding upstream " -"branch, but as a safety measure, the push is aborted if the upstream branch " -"does not have the same name as the local one." +"When the man viewer, specified by the `man.viewer` configuration variables, " +"is not among the supported ones, then the corresponding `man.<tool>.cmd` " +"configuration variable will be looked up. If this variable exists then the " +"specified tool will be treated as a custom command and a shell eval will be " +"used to run the command with the man page passed as arguments." msgstr "" #. type: Title - -#: en/git-push.txt:49 +#: en/git-help.txt:154 en/git-web--browse.txt:88 #, no-wrap -msgid "OPTIONS[[OPTIONS]]" +msgid "Note about konqueror" msgstr "" #. type: Plain text -#: en/git-push.txt:55 +#: en/git-help.txt:159 msgid "" -"The \"remote\" repository that is destination of a push operation. This " -"parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or " -"the name of a remote (see the section <<REMOTES,REMOTES>> below)." -msgstr "" - -#. type: Labeled list -#: en/git-push.txt:56 -#, no-wrap -msgid "<refspec>..." +"When 'konqueror' is specified in the `man.viewer` configuration variable, we " +"launch 'kfmclient' to try to open the man page on an already opened " +"konqueror in a new tab if possible." msgstr "" #. type: Plain text -#: en/git-push.txt:61 +#: en/git-help.txt:163 msgid "" -"Specify what destination ref to update with what source object. The format " -"of a <refspec> parameter is an optional plus `+`, followed by the source " -"object <src>, followed by a colon `:`, followed by the destination ref <dst>." +"For consistency, we also try such a trick if 'man.konqueror.path' is set to " +"something like 'A_PATH_TO/konqueror'. That means we will try to launch " +"'A_PATH_TO/kfmclient' instead." msgstr "" #. type: Plain text -#: en/git-push.txt:65 +#: en/git-help.txt:166 en/git-web--browse.txt:100 msgid "" -"The <src> is often the name of the branch you would want to push, but it can " -"be any arbitrary \"SHA-1 expression\", such as `master~4` or `HEAD` (see " -"linkgit:gitrevisions[7])." +"If you really want to use 'konqueror', then you can use something like the " +"following:" msgstr "" -#. type: Plain text -#: en/git-push.txt:75 +#. type: delimited block - +#: en/git-help.txt:170 +#, no-wrap msgid "" -"The <dst> tells which ref on the remote side is updated with this push. " -"Arbitrary expressions cannot be used here, an actual ref must be named. If " -"`git push [<repository>]` without any `<refspec>` argument is set to update " -"some ref at the destination with `<src>` with `remote.<repository>.push` " -"configuration variable, `:<dst>` part can be omitted--such a push will " -"update a ref that `<src>` normally updates without any `<refspec>` on the " -"command line. Otherwise, missing `:<dst>` means to update the same ref as " -"the `<src>`." +"\t[man]\n" +"\t\tviewer = konq\n" msgstr "" -#. type: Plain text -#: en/git-push.txt:83 +#. type: delimited block - +#: en/git-help.txt:173 +#, no-wrap msgid "" -"The object referenced by <src> is used to update the <dst> reference on the " -"remote side. By default this is only allowed if <dst> is not a tag " -"(annotated or lightweight), and then only if it can fast-forward <dst>. By " -"having the optional leading `+`, you can tell Git to update the <dst> ref " -"even if it is not allowed by default (e.g., it is not a fast-forward.) This " -"does *not* attempt to merge <src> into <dst>. See EXAMPLES below for " -"details." +"\t[man \"konq\"]\n" +"\t\tcmd = A_PATH_TO/konqueror\n" msgstr "" -#. type: Plain text -#: en/git-push.txt:85 -msgid "`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`." +#. type: Title ~ +#: en/git-help.txt:176 +#, no-wrap +msgid "Note about git config --global" msgstr "" #. type: Plain text -#: en/git-push.txt:88 +#: en/git-help.txt:180 msgid "" -"Pushing an empty <src> allows you to delete the <dst> ref from the remote " -"repository." +"Note that all these configuration variables should probably be set using the " +"`--global` flag, for example like this:" msgstr "" -#. type: Plain text -#: en/git-push.txt:93 +#. type: delimited block - +#: en/git-help.txt:184 +#, no-wrap msgid "" -"The special refspec `:` (or `+:` to allow non-fast-forward updates) directs " -"Git to push \"matching\" branches: for every branch that exists on the local " -"side, the remote side is updated if a branch of the same name already exists " -"on the remote side." +"$ git config --global help.format web\n" +"$ git config --global web.browser firefox\n" msgstr "" #. type: Plain text -#: en/git-push.txt:97 +#: en/git-help.txt:188 en/git-web--browse.txt:121 msgid "" -"Push all branches (i.e. refs under `refs/heads/`); cannot be used with other " -"<refspec>." +"as they are probably more user specific than repository specific. See " +"linkgit:git-config[1] for more information about this." msgstr "" -#. type: Labeled list -#: en/git-push.txt:98 en/fetch-options.txt:68 +#. type: Title = +#: en/git-http-backend.txt:2 #, fuzzy, no-wrap #| msgid "git-add(1)" -msgid "--prune" +msgid "git-http-backend(1)" msgstr "git-add(1)" #. type: Plain text -#: en/git-push.txt:105 -msgid "" -"Remove remote branches that don't have a local counterpart. For example a " -"remote branch `tmp` will be removed if a local branch with the same name " -"doesn't exist any more. This also respects refspecs, e.g. `git push --prune " -"remote refs/heads/*:refs/tmp/*` would make sure that remote `refs/tmp/foo` " -"will be removed if `refs/heads/foo` doesn't exist." +#: en/git-http-backend.txt:7 +msgid "git-http-backend - Server side implementation of Git over HTTP" msgstr "" #. type: Plain text -#: en/git-push.txt:116 +#: en/git-http-backend.txt:12 +#, no-wrap +msgid "'git http-backend'\n" +msgstr "" + +#. type: Plain text +#: en/git-http-backend.txt:20 msgid "" -"Instead of naming each ref to push, specifies that all refs under `refs/` " -"(which includes but is not limited to `refs/heads/`, `refs/remotes/`, and " -"`refs/tags/`) be mirrored to the remote repository. Newly created local " -"refs will be pushed to the remote end, locally updated refs will be force " -"updated on the remote end, and deleted refs will be removed from the remote " -"end. This is the default if the configuration option `remote.<remote>." -"mirror` is set." +"A simple CGI program to serve the contents of a Git repository to Git " +"clients accessing the repository over http:// and https:// protocols. The " +"program supports clients fetching using both the smart HTTP protocol and the " +"backwards-compatible dumb HTTP protocol, as well as clients pushing using " +"the smart HTTP protocol." msgstr "" #. type: Plain text -#: en/git-push.txt:125 +#: en/git-http-backend.txt:25 msgid "" -"Produce machine-readable output. The output status line for each ref will " -"be tab-separated and sent to stdout instead of stderr. The full symbolic " -"names of the refs will be given." +"It verifies that the directory has the magic file \"git-daemon-export-ok\", " +"and it will refuse to export any Git directory that hasn't explicitly been " +"marked for export this way (unless the `GIT_HTTP_EXPORT_ALL` environmental " +"variable is set)." msgstr "" #. type: Plain text -#: en/git-push.txt:129 +#: en/git-http-backend.txt:31 msgid "" -"All listed refs are deleted from the remote repository. This is the same as " -"prefixing all refs with a colon." +"By default, only the `upload-pack` service is enabled, which serves 'git " +"fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', " +"'git pull', and 'git clone'. If the client is authenticated, the `receive-" +"pack` service is enabled, which serves 'git send-pack' clients, which is " +"invoked from 'git push'." msgstr "" #. type: Plain text -#: en/git-push.txt:134 +#: en/git-http-backend.txt:36 msgid "" -"All refs under `refs/tags` are pushed, in addition to refspecs explicitly " -"listed on the command line." +"These services can be enabled/disabled using the per-repository " +"configuration file:" msgstr "" #. type: Labeled list -#: en/git-push.txt:135 +#: en/git-http-backend.txt:37 #, no-wrap -msgid "--follow-tags" +msgid "http.getanyfile" msgstr "" #. type: Plain text -#: en/git-push.txt:142 +#: en/git-http-backend.txt:44 msgid "" -"Push all the refs that would be pushed without this option, and also push " -"annotated tags in `refs/tags` that are missing from the remote but are " -"pointing at commit-ish that are reachable from the refs being pushed. This " -"can also be specified with configuration variable `push.followTags`. For " -"more information, see `push.followTags` in linkgit:git-config[1]." +"This serves Git clients older than version 1.6.6 that are unable to use the " +"upload pack service. When enabled, clients are able to read any file within " +"the repository, including objects that are no longer reachable from a branch " +"but are still present. It is enabled by default, but a repository can " +"disable it by setting this configuration item to `false`." msgstr "" #. type: Labeled list -#: en/git-push.txt:143 en/git-send-pack.txt:73 +#: en/git-http-backend.txt:45 #, no-wrap -msgid "--[no-]signed" +msgid "http.uploadpack" +msgstr "" + +#. type: Plain text +#: en/git-http-backend.txt:49 +msgid "" +"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " +"default, but a repository can disable it by setting this configuration item " +"to `false`." msgstr "" #. type: Labeled list -#: en/git-push.txt:144 en/git-send-pack.txt:74 +#: en/git-http-backend.txt:50 #, no-wrap -msgid "--sign=(true|false|if-asked)" +msgid "http.receivepack" msgstr "" #. type: Plain text -#: en/git-push.txt:153 en/git-send-pack.txt:83 +#: en/git-http-backend.txt:56 msgid "" -"GPG-sign the push request to update refs on the receiving side, to allow it " -"to be checked by the hooks and/or be logged. If `false` or `--no-signed`, " -"no signing will be attempted. If `true` or `--signed`, the push will fail " -"if the server does not support signed pushes. If set to `if-asked`, sign if " -"and only if the server supports signed pushes. The push will also fail if " -"the actual call to `gpg --sign` fails. See linkgit:git-receive-pack[1] for " -"the details on the receiving end." +"This serves 'git send-pack' clients, allowing push. It is disabled by " +"default for anonymous users, and enabled by default for users authenticated " +"by the web server. It can be disabled by setting this item to `false`, or " +"enabled for all users, including anonymous users, by setting it to `true`." msgstr "" -#. type: Labeled list -#: en/git-push.txt:154 +#. type: Title - +#: en/git-http-backend.txt:58 #, no-wrap -msgid "--[no-]atomic" +msgid "URL TRANSLATION" +msgstr "" + +#. type: Plain text +#: en/git-http-backend.txt:65 +msgid "" +"To determine the location of the repository on disk, 'git http-backend' " +"concatenates the environment variables PATH_INFO, which is set automatically " +"by the web server, and GIT_PROJECT_ROOT, which must be set manually in the " +"web server configuration. If GIT_PROJECT_ROOT is not set, 'git http-" +"backend' reads PATH_TRANSLATED, which is also set automatically by the web " +"server." msgstr "" #. type: Plain text -#: en/git-push.txt:158 +#: en/git-http-backend.txt:70 msgid "" -"Use an atomic transaction on the remote side if available. Either all refs " -"are updated, or on error, no refs are updated. If the server does not " -"support atomic pushes the push will fail." +"All of the following examples map `http://$hostname/git/foo/bar.git` to `/" +"var/www/git/foo/bar.git`." msgstr "" #. type: Labeled list -#: en/git-push.txt:160 -#, fuzzy, no-wrap -#| msgid "status" -msgid "--push-option" -msgstr "status" +#: en/git-http-backend.txt:71 +#, no-wrap +msgid "Apache 2.x" +msgstr "" #. type: Plain text -#: en/git-push.txt:164 +#: en/git-http-backend.txt:75 msgid "" -"Transmit the given string to the server, which passes them to the pre-" -"receive as well as the post-receive hook. The given string must not contain " -"a NUL or LF character." +"Ensure mod_cgi, mod_alias, and mod_env are enabled, set GIT_PROJECT_ROOT (or " +"DocumentRoot) appropriately, and create a ScriptAlias to the CGI:" msgstr "" -#. type: Labeled list -#: en/git-push.txt:165 en/git-send-pack.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--receive-pack=<git-receive-pack>" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/git-push.txt:166 en/git-send-pack.txt:34 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--exec=<git-receive-pack>" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/git-http-backend.txt:80 +#, no-wrap +msgid "" +"SetEnv GIT_PROJECT_ROOT /var/www/git\n" +"SetEnv GIT_HTTP_EXPORT_ALL\n" +"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" +msgstr "" #. type: Plain text -#: en/git-push.txt:171 en/git-send-pack.txt:33 +#: en/git-http-backend.txt:86 msgid "" -"Path to the 'git-receive-pack' program on the remote end. Sometimes useful " -"when pushing to a remote repository over ssh, and you do not have the " -"program in a directory on the default $PATH." +"To enable anonymous read access but authenticated write access, require " +"authorization for both the initial ref advertisement (which we detect as a " +"push via the service parameter in the query string), and the receive-pack " +"invocation itself:" msgstr "" -#. type: Labeled list -#: en/git-push.txt:172 +#. type: delimited block - +#: en/git-http-backend.txt:91 #, no-wrap -msgid "--[no-]force-with-lease" +msgid "" +"RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]\n" +"RewriteCond %{REQUEST_URI} /git-receive-pack$\n" +"RewriteRule ^/git/ - [E=AUTHREQUIRED:yes]\n" msgstr "" -#. type: Labeled list -#: en/git-push.txt:173 +#. type: delimited block - +#: en/git-http-backend.txt:95 #, no-wrap -msgid "--force-with-lease=<refname>" +msgid "" +"<LocationMatch \"^/git/\">\n" +"\tOrder Deny,Allow\n" +"\tDeny from env=AUTHREQUIRED\n" msgstr "" -#. type: Labeled list -#: en/git-push.txt:174 +#. type: delimited block - +#: en/git-http-backend.txt:102 #, no-wrap -msgid "--force-with-lease=<refname>:<expect>" +msgid "" +"\tAuthType Basic\n" +"\tAuthName \"Git Access\"\n" +"\tRequire group committers\n" +"\tSatisfy Any\n" +"\t...\n" +"</LocationMatch>\n" msgstr "" #. type: Plain text -#: en/git-push.txt:177 +#: en/git-http-backend.txt:107 msgid "" -"Usually, \"git push\" refuses to update a remote ref that is not an ancestor " -"of the local ref used to overwrite it." +"If you do not have `mod_rewrite` available to match against the query " +"string, it is sufficient to just protect `git-receive-pack` itself, like:" msgstr "" -#. type: Plain text -#: en/git-push.txt:180 +#. type: delimited block - +#: en/git-http-backend.txt:115 +#, no-wrap msgid "" -"This option overrides this restriction if the current value of the remote " -"ref is the expected value. \"git push\" fails otherwise." +"<LocationMatch \"^/git/.*/git-receive-pack$\">\n" +"\tAuthType Basic\n" +"\tAuthName \"Git Access\"\n" +"\tRequire group committers\n" +"\t...\n" +"</LocationMatch>\n" msgstr "" #. type: Plain text -#: en/git-push.txt:187 +#: en/git-http-backend.txt:125 msgid "" -"Imagine that you have to rebase what you have already published. You will " -"have to bypass the \"must fast-forward\" rule in order to replace the " -"history you originally published with the rebased history. If somebody else " -"built on top of your original history while you are rebasing, the tip of the " -"branch at the remote may advance with her commit, and blindly pushing with " -"`--force` will lose her work." +"In this mode, the server will not request authentication until the client " +"actually starts the object negotiation phase of the push, rather than during " +"the initial contact. For this reason, you must also enable the `http." +"receivepack` config option in any repositories that should accept a push. " +"The default behavior, if `http.receivepack` is not set, is to reject any " +"pushes by unauthenticated users; the initial request will therefore report " +"`403 Forbidden` to the client, without even giving an opportunity for " +"authentication." msgstr "" #. type: Plain text -#: en/git-push.txt:194 +#: en/git-http-backend.txt:128 msgid "" -"This option allows you to say that you expect the history you are updating " -"is what you rebased and want to replace. If the remote ref still points at " -"the commit you specified, you can be sure that no other people did anything " -"to the ref. It is like taking a \"lease\" on the ref without explicitly " -"locking it, and the remote ref is updated only if the \"lease\" is still " -"valid." +"To require authentication for both reads and writes, use a Location " +"directive around the repository, or one of its parent directories:" msgstr "" -#. type: Plain text -#: en/git-push.txt:199 +#. type: delimited block - +#: en/git-http-backend.txt:136 +#, no-wrap msgid "" -"`--force-with-lease` alone, without specifying the details, will protect all " -"remote refs that are going to be updated by requiring their current value to " -"be the same as the remote-tracking branch we have for them." +"<Location /git/private>\n" +"\tAuthType Basic\n" +"\tAuthName \"Private Git Access\"\n" +"\tRequire group committers\n" +"\t...\n" +"</Location>\n" msgstr "" #. type: Plain text -#: en/git-push.txt:204 +#: en/git-http-backend.txt:141 msgid "" -"`--force-with-lease=<refname>`, without specifying the expected value, will " -"protect the named ref (alone), if it is going to be updated, by requiring " -"its current value to be the same as the remote-tracking branch we have for " -"it." +"To serve gitweb at the same url, use a ScriptAliasMatch to only those URLs " +"that 'git http-backend' can handle, and forward the rest to gitweb:" msgstr "" -#. type: Plain text -#: en/git-push.txt:212 +#. type: delimited block - +#: en/git-http-backend.txt:151 +#, no-wrap msgid "" -"`--force-with-lease=<refname>:<expect>` will protect the named ref (alone), " -"if it is going to be updated, by requiring its current value to be the same " -"as the specified value `<expect>` (which is allowed to be different from the " -"remote-tracking branch we have for the refname, or we do not even have to " -"have such a remote-tracking branch when this form is used). If `<expect>` " -"is the empty string, then the named ref must not already exist." +"ScriptAliasMatch \\\n" +"\t\"(?x)^/git/(.*/(HEAD | \\\n" +"\t\t\tinfo/refs | \\\n" +"\t\t\tobjects/(info/[^/]+ | \\\n" +"\t\t\t\t [0-9a-f]{2}/[0-9a-f]{38} | \\\n" +"\t\t\t\t pack/pack-[0-9a-f]{40}\\.(pack|idx)) | \\\n" +"\t\t\tgit-(upload|receive)-pack))$\" \\\n" +"\t/usr/libexec/git-core/git-http-backend/$1\n" msgstr "" -#. type: Plain text -#: en/git-push.txt:217 -msgid "" -"Note that all forms other than `--force-with-lease=<refname>:<expect>` that " -"specifies the expected current value of the ref explicitly are still " -"experimental and their semantics may change as we gain experience with this " -"feature." +#. type: delimited block - +#: en/git-http-backend.txt:153 +#, no-wrap +msgid "ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" msgstr "" #. type: Plain text -#: en/git-push.txt:220 +#: en/git-http-backend.txt:157 msgid "" -"\"--no-force-with-lease\" will cancel all the previous --force-with-lease on " -"the command line." +"To serve multiple repositories from different linkgit:gitnamespaces[7] in a " +"single repository:" msgstr "" -#. type: Plain text -#: en/git-push.txt:228 +#. type: delimited block - +#: en/git-http-backend.txt:161 +#, no-wrap msgid "" -"Usually, the command refuses to update a remote ref that is not an ancestor " -"of the local ref used to overwrite it. Also, when `--force-with-lease` " -"option is used, the command refuses to update a remote ref whose current " -"value does not match what is expected." +"SetEnvIf Request_URI \"^/git/([^/]*)\" GIT_NAMESPACE=$1\n" +"ScriptAliasMatch ^/git/[^/]*(.*) /usr/libexec/git-core/git-http-backend/storage.git$1\n" msgstr "" -#. type: Plain text -#: en/git-push.txt:231 -msgid "" -"This flag disables these checks, and can cause the remote repository to lose " -"commits; use it with care." +#. type: Labeled list +#: en/git-http-backend.txt:163 +#, no-wrap +msgid "Accelerated static Apache 2.x" msgstr "" #. type: Plain text -#: en/git-push.txt:240 +#: en/git-http-backend.txt:168 msgid "" -"Note that `--force` applies to all the refs that are pushed, hence using it " -"with `push.default` set to `matching` or with multiple push destinations " -"configured with `remote.*.push` may overwrite refs other than the current " -"branch (including local refs that are strictly behind their remote " -"counterpart). To force a push to only one branch, use a `+` in front of the " -"refspec to push (e.g `git push origin +master` to force a push to the " -"`master` branch). See the `<refspec>...` section above for details." +"Similar to the above, but Apache can be used to return static files that are " +"stored on disk.\tOn many systems this may be more efficient as Apache can " +"ask the kernel to copy the file contents from the file system directly to " +"the network:" msgstr "" -#. type: Labeled list -#: en/git-push.txt:241 +#. type: delimited block - +#: en/git-http-backend.txt:171 en/git-http-backend.txt:181 #, no-wrap -msgid "--repo=<repository>" +msgid "SetEnv GIT_PROJECT_ROOT /var/www/git\n" msgstr "" -#. type: Plain text -#: en/git-push.txt:244 +#. type: delimited block - +#: en/git-http-backend.txt:175 +#, no-wrap msgid "" -"This option is equivalent to the <repository> argument. If both are " -"specified, the command-line argument takes precedence." +"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1\n" +"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1\n" +"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" msgstr "" #. type: Plain text -#: en/git-push.txt:251 +#: en/git-http-backend.txt:178 +msgid "This can be combined with the gitweb configuration:" +msgstr "" + +#. type: delimited block - +#: en/git-http-backend.txt:191 +#, no-wrap msgid "" -"For every branch that is up to date or successfully pushed, add upstream " -"(tracking) reference, used by argument-less linkgit:git-pull[1] and other " -"commands. For more information, see `branch.<name>.merge` in linkgit:git-" -"config[1]." +"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1\n" +"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1\n" +"ScriptAliasMatch \\\n" +"\t\"(?x)^/git/(.*/(HEAD | \\\n" +"\t\t\tinfo/refs | \\\n" +"\t\t\tobjects/info/[^/]+ | \\\n" +"\t\t\tgit-(upload|receive)-pack))$\" \\\n" +"\t/usr/libexec/git-core/git-http-backend/$1\n" +"ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" msgstr "" #. type: Labeled list -#: en/git-push.txt:252 +#: en/git-http-backend.txt:193 #, no-wrap -msgid "--[no-]thin" +msgid "Lighttpd" msgstr "" #. type: Plain text -#: en/git-push.txt:257 +#: en/git-http-backend.txt:197 msgid "" -"These options are passed to linkgit:git-send-pack[1]. A thin transfer " -"significantly reduces the amount of sent data when the sender and receiver " -"share many of the same objects in common. The default is \\--thin." +"Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are loaded, " +"then set `GIT_PROJECT_ROOT` appropriately and redirect all requests to the " +"CGI:" msgstr "" -#. type: Plain text -#: en/git-push.txt:263 +#. type: delimited block - +#: en/git-http-backend.txt:207 +#, no-wrap msgid "" -"Suppress all output, including the listing of updated refs, unless an error " -"occurs. Progress is not reported to the standard error stream." +"alias.url += ( \"/git\" => \"/usr/lib/git-core/git-http-backend\" )\n" +"$HTTP[\"url\"] =~ \"^/git\" {\n" +"\tcgi.assign = (\"\" => \"\")\n" +"\tsetenv.add-environment = (\n" +"\t\t\"GIT_PROJECT_ROOT\" => \"/var/www/git\",\n" +"\t\t\"GIT_HTTP_EXPORT_ALL\" => \"\"\n" +"\t)\n" +"}\n" msgstr "" -#. type: Labeled list -#: en/git-push.txt:274 en/fetch-options.txt:125 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--no-recurse-submodules" -msgstr "git-add(1)" +#. type: Plain text +#: en/git-http-backend.txt:210 +msgid "To enable anonymous read access but authenticated write access:" +msgstr "" -#. type: Labeled list -#: en/git-push.txt:275 +#. type: delimited block - +#: en/git-http-backend.txt:218 #, no-wrap -msgid "--recurse-submodules=check|on-demand|only|no" +msgid "" +"$HTTP[\"querystring\"] =~ \"service=git-receive-pack\" {\n" +"\tinclude \"git-auth.conf\"\n" +"}\n" +"$HTTP[\"url\"] =~ \"^/git/.*/git-receive-pack$\" {\n" +"\tinclude \"git-auth.conf\"\n" +"}\n" msgstr "" #. type: Plain text -#: en/git-push.txt:289 +#: en/git-http-backend.txt:221 +msgid "where `git-auth.conf` looks something like:" +msgstr "" + +#. type: delimited block - +#: en/git-http-backend.txt:231 +#, no-wrap msgid "" -"May be used to make sure all submodule commits used by the revisions to be " -"pushed are available on a remote-tracking branch. If 'check' is used Git " -"will verify that all submodule commits that changed in the revisions to be " -"pushed are available on at least one remote of the submodule. If any commits " -"are missing the push will be aborted and exit with non-zero status. If 'on-" -"demand' is used all submodules that changed in the revisions to be pushed " -"will be pushed. If on-demand was not able to push all necessary revisions it " -"will also be aborted and exit with non-zero status. If 'only' is used all " -"submodules will be recursively pushed while the superproject is left " -"unpushed. A value of 'no' or using `--no-recurse-submodules` can be used to " -"override the push.recurseSubmodules configuration variable when no submodule " -"recursion is required." +"auth.require = (\n" +"\t\"/\" => (\n" +"\t\t\"method\" => \"basic\",\n" +"\t\t\"realm\" => \"Git Access\",\n" +"\t\t\"require\" => \"valid-user\"\n" +"\t )\n" +")\n" +"# ...and set up auth.backend here\n" msgstr "" -#. type: Labeled list -#: en/git-push.txt:290 +#. type: Plain text +#: en/git-http-backend.txt:234 +msgid "To require authentication for both reads and writes:" +msgstr "" + +#. type: delimited block - +#: en/git-http-backend.txt:239 #, no-wrap -msgid "--[no-]verify" +msgid "" +"$HTTP[\"url\"] =~ \"^/git/private\" {\n" +"\tinclude \"git-auth.conf\"\n" +"}\n" msgstr "" #. type: Plain text -#: en/git-push.txt:294 +#: en/git-http-backend.txt:246 msgid "" -"Toggle the pre-push hook (see linkgit:githooks[5]). The default is --" -"verify, giving the hook a chance to prevent the push. With --no-verify, the " -"hook is bypassed completely." +"'git http-backend' relies upon the `CGI` environment variables set by the " +"invoking web server, including:" msgstr "" -#. type: Labeled list -#: en/git-push.txt:295 en/fetch-options.txt:176 -#, no-wrap -msgid "-4" +#. type: Plain text +#: en/git-http-backend.txt:248 +msgid "PATH_INFO (if GIT_PROJECT_ROOT is set, otherwise PATH_TRANSLATED)" msgstr "" -#. type: Labeled list -#: en/git-push.txt:296 en/fetch-options.txt:177 -#, no-wrap -msgid "--ipv4" +#. type: Plain text +#: en/git-http-backend.txt:249 +msgid "REMOTE_USER" msgstr "" #. type: Plain text -#: en/git-push.txt:298 en/fetch-options.txt:179 -msgid "Use IPv4 addresses only, ignoring IPv6 addresses." +#: en/git-http-backend.txt:250 +msgid "REMOTE_ADDR" msgstr "" -#. type: Labeled list -#: en/git-push.txt:299 en/fetch-options.txt:180 -#, no-wrap -msgid "-6" +#. type: Plain text +#: en/git-http-backend.txt:251 +msgid "CONTENT_TYPE" msgstr "" -#. type: Labeled list -#: en/git-push.txt:300 en/fetch-options.txt:181 -#, no-wrap -msgid "--ipv6" +#. type: Plain text +#: en/git-http-backend.txt:252 +msgid "QUERY_STRING" msgstr "" #. type: Plain text -#: en/git-push.txt:302 en/fetch-options.txt:182 -msgid "Use IPv6 addresses only, ignoring IPv4 addresses." +#: en/git-http-backend.txt:253 +msgid "REQUEST_METHOD" msgstr "" #. type: Plain text -#: en/git-push.txt:311 +#: en/git-http-backend.txt:257 msgid "" -"The output of \"git push\" depends on the transport method used; this " -"section describes the output when pushing over the Git protocol (either " -"locally or via ssh)." +"The `GIT_HTTP_EXPORT_ALL` environmental variable may be passed to 'git-http-" +"backend' to bypass the check for the \"git-daemon-export-ok\" file in each " +"repository before allowing export of that repository." msgstr "" #. type: Plain text -#: en/git-push.txt:314 +#: en/git-http-backend.txt:266 msgid "" -"The status of the push is output in tabular form, with each line " -"representing the status of a single ref. Each line is of the form:" +"The `GIT_HTTP_MAX_REQUEST_BUFFER` environment variable (or the `http." +"maxRequestBuffer` config variable) may be set to change the largest ref " +"negotiation request that git will handle during a fetch; any fetch requiring " +"a larger buffer will not succeed. This value should not normally need to be " +"changed, but may be helpful if you are fetching from a repository with an " +"extremely large number of refs. The value can be specified with a unit (e." +"g., `100M` for 100 megabytes). The default is 10 megabytes." msgstr "" -#. type: delimited block - -#: en/git-push.txt:317 -#, no-wrap -msgid " <flag> <summary> <from> -> <to> (<reason>)\n" +#. type: Plain text +#: en/git-http-backend.txt:271 +msgid "" +"The backend process sets GIT_COMMITTER_NAME to '$REMOTE_USER' and " +"GIT_COMMITTER_EMAIL to '$\\{REMOTE_USER}@http.$\\{REMOTE_ADDR\\}', ensuring " +"that any reflogs created by 'git-receive-pack' contain some identifying " +"information of the remote user who performed the push." msgstr "" #. type: Plain text -#: en/git-push.txt:320 -msgid "If --porcelain is used, then each line of the output is of the form:" +#: en/git-http-backend.txt:274 +msgid "" +"All `CGI` environment variables are available to each of the hooks invoked " +"by the 'git-receive-pack'." msgstr "" -#. type: delimited block - -#: en/git-push.txt:323 +#. type: Title = +#: en/git-http-fetch.txt:2 #, no-wrap -msgid " <flag> \\t <from>:<to> \\t <summary> (<reason>)\n" +msgid "git-http-fetch(1)" msgstr "" #. type: Plain text -#: en/git-push.txt:327 -msgid "" -"The status of up-to-date refs is shown only if --porcelain or --verbose " -"option is used." -msgstr "" +#: en/git-http-fetch.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-http-fetch - Download from a remote Git repository via HTTP" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Plain text -#: en/git-push.txt:331 -msgid "for a successfully pushed fast-forward;" +#: en/git-http-fetch.txt:13 +#, no-wrap +msgid "'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [--stdin] <commit> <url>\n" msgstr "" #. type: Plain text -#: en/git-push.txt:333 -msgid "for a successfully deleted ref;" +#: en/git-http-fetch.txt:17 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "Downloads a remote Git repository via HTTP." +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" + +#. type: Plain text +#: en/git-http-fetch.txt:20 +#, no-wrap +msgid "" +"*NOTE*: use of this command without -a is deprecated. The -a\n" +"behaviour will become the default in a future release.\n" +msgstr "" + +#. type: Labeled list +#: en/git-http-fetch.txt:23 +#, no-wrap +msgid "commit-id" msgstr "" #. type: Plain text -#: en/git-push.txt:334 -msgid "for a successfully pushed new ref;" +#: en/git-http-fetch.txt:26 +msgid "Either the hash or the filename under [URL]/refs/ to pull." msgstr "" #. type: Plain text -#: en/git-push.txt:335 -msgid "for a ref that was rejected or failed to push; and" +#: en/git-http-fetch.txt:29 +msgid "Get the commit objects." msgstr "" #. type: Plain text -#: en/git-push.txt:336 -msgid "for a ref that was up to date and did not need pushing." +#: en/git-http-fetch.txt:31 +msgid "Get trees associated with the commit objects." msgstr "" #. type: Plain text -#: en/git-push.txt:342 -msgid "" -"For a successfully pushed ref, the summary shows the old and new values of " -"the ref in a form suitable for using as an argument to `git log` (this is " -"`<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-" -"forward updates)." +#: en/git-http-fetch.txt:33 +msgid "Get all the objects." msgstr "" #. type: Plain text -#: en/git-push.txt:344 -msgid "For a failed update, more details are given:" +#: en/git-http-fetch.txt:35 +msgid "Report what is downloaded." msgstr "" #. type: Labeled list -#: en/git-push.txt:346 -#, fuzzy, no-wrap -#| msgid "removed content" -msgid "rejected" -msgstr "contenu supprim챕" +#: en/git-http-fetch.txt:36 +#, no-wrap +msgid "-w <filename>" +msgstr "" #. type: Plain text -#: en/git-push.txt:349 +#: en/git-http-fetch.txt:39 msgid "" -"Git did not try to send the ref at all, typically because it is not a fast-" -"forward and you did not force the update." +"Writes the commit-id into the filename under $GIT_DIR/refs/<filename> on the " +"local end after the transfer is complete." +msgstr "" + +#. type: Plain text +#: en/git-http-fetch.txt:43 +msgid "" +"Instead of a commit id on the command line (which is not expected in this " +"case), 'git http-fetch' expects lines on stdin in the format" +msgstr "" + +#. type: Plain text +#: en/git-http-fetch.txt:45 +#, no-wrap +msgid "<commit-id>['\\t'<filename-as-in--w>]\n" msgstr "" #. type: Labeled list -#: en/git-push.txt:350 -#, fuzzy, no-wrap -#| msgid "removed content" -msgid "remote rejected" -msgstr "contenu supprim챕" +#: en/git-http-fetch.txt:46 +#, no-wrap +msgid "--recover" +msgstr "" #. type: Plain text -#: en/git-push.txt:358 +#: en/git-http-fetch.txt:49 msgid "" -"The remote end refused the update. Usually caused by a hook on the remote " -"side, or because the remote repository has one of the following safety " -"options in effect: `receive.denyCurrentBranch` (for pushes to the checked " -"out branch), `receive.denyNonFastForwards` (for forced non-fast-forward " -"updates), `receive.denyDeletes` or `receive.denyDeleteCurrent`. See linkgit:" -"git-config[1]." +"Verify that everything reachable from target is fetched. Used after an " +"earlier fetch is interrupted." msgstr "" -#. type: Labeled list -#: en/git-push.txt:359 -#, fuzzy, no-wrap -#| msgid "removed content" -msgid "remote failure" -msgstr "contenu supprim챕" +#. type: Title = +#: en/git-http-push.txt:2 +#, no-wrap +msgid "git-http-push(1)" +msgstr "" #. type: Plain text -#: en/git-push.txt:363 -msgid "" -"The remote end did not report the successful update of the ref, perhaps " -"because of a temporary error on the remote side, a break in the network " -"connection, or other transient error." +#: en/git-http-push.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-http-push - Push objects over HTTP/DAV to another repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" + +#. type: Plain text +#: en/git-http-push.txt:13 +#, no-wrap +msgid "'git http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>...]\n" msgstr "" #. type: Plain text -#: en/git-push.txt:369 +#: en/git-http-push.txt:18 msgid "" -"The name of the local ref being pushed, minus its `refs/<type>/` prefix. In " -"the case of deletion, the name of the local ref is omitted." +"Sends missing objects to remote repository, and updates the remote branch." msgstr "" #. type: Plain text -#: en/git-push.txt:373 +#: en/git-http-push.txt:22 +#, no-wrap msgid "" -"The name of the remote ref being updated, minus its `refs/<type>/` prefix." +"*NOTE*: This command is temporarily disabled if your libcurl\n" +"is older than 7.16, as the combination has been reported\n" +"not to work and sometimes corrupts repository.\n" msgstr "" #. type: Plain text -#: en/git-push.txt:378 +#: en/git-http-push.txt:29 msgid "" -"A human-readable explanation. In the case of successfully pushed refs, no " -"explanation is needed. For a failed ref, the reason for failure is described." +"Do not assume that the remote repository is complete in its current state, " +"and verify all objects in the entire local ref's history exist in the remote " +"repository." msgstr "" -#. type: Title - -#: en/git-push.txt:380 -#, no-wrap -msgid "Note about fast-forwards" +#. type: Plain text +#: en/git-http-push.txt:36 en/git-send-pack.txt:60 +msgid "" +"Usually, the command refuses to update a remote ref that is not an ancestor " +"of the local ref used to overwrite it. This flag disables the check. What " +"this means is that the remote repository can lose commits; use it with care." msgstr "" #. type: Plain text -#: en/git-push.txt:385 -msgid "" -"When an update changes a branch (or more in general, a ref) that used to " -"point at commit A to point at another commit B, it is called a fast-forward " -"update if and only if B is a descendant of A." +#: en/git-http-push.txt:39 en/git-push.txt:120 en/git-send-pack.txt:53 +msgid "Do everything except actually send the updates." msgstr "" #. type: Plain text -#: en/git-push.txt:389 +#: en/git-http-push.txt:43 msgid "" -"In a fast-forward update from A to B, the set of commits that the original " -"commit A built on top of is a subset of the commits the new commit B builds " -"on top of. Hence, it does not lose any history." +"Report the list of objects being walked locally and the list of objects " +"successfully sent to the remote repository." msgstr "" #. type: Plain text -#: en/git-push.txt:394 +#: en/git-http-push.txt:49 msgid "" -"In contrast, a non-fast-forward update will lose history. For example, " -"suppose you and somebody else started at the same commit X, and you built a " -"history leading to commit B while the other person built a history leading " -"to commit A. The history looks like this:" +"Remove <ref> from remote repository. The specified branch cannot be the " +"remote HEAD. If -d is specified the following other conditions must also be " +"met:" msgstr "" -#. type: delimited block - -#: en/git-push.txt:400 -#, no-wrap -msgid "" -" B\n" -" /\n" -" ---X---A\n" +#. type: Plain text +#: en/git-http-push.txt:51 +msgid "Remote HEAD must resolve to an object that exists locally" msgstr "" #. type: Plain text -#: en/git-push.txt:406 -msgid "" -"Further suppose that the other person already pushed changes leading to A " -"back to the original repository from which you two obtained the original " -"commit X." +#: en/git-http-push.txt:52 +msgid "Specified branch resolves to an object that exists locally" msgstr "" #. type: Plain text -#: en/git-push.txt:409 -msgid "" -"The push done by the other person updated the branch that used to point at " -"commit X to point at commit A. It is a fast-forward." +#: en/git-http-push.txt:53 +msgid "Specified branch is an ancestor of the remote HEAD" +msgstr "" + +#. type: Labeled list +#: en/git-http-push.txt:54 en/git-send-pack.txt:92 +#, no-wrap +msgid "<ref>..." msgstr "" #. type: Plain text -#: en/git-push.txt:414 -msgid "" -"But if you try to push, you will attempt to update the branch (that now " -"points at A) with commit B. This does _not_ fast-forward. If you did so, " -"the changes introduced by commit A will be lost, because everybody will now " -"start building on top of B." +#: en/git-http-push.txt:56 en/git-send-pack.txt:94 +msgid "The remote refs to update." +msgstr "" + +#. type: Title - +#: en/git-http-push.txt:59 en/git-send-pack.txt:97 +#, no-wrap +msgid "Specifying the Refs" msgstr "" #. type: Plain text -#: en/git-push.txt:417 +#: en/git-http-push.txt:65 msgid "" -"The command by default does not allow an update that is not a fast-forward " -"to prevent such loss of history." +"A '<ref>' specification can be either a single pattern, or a pair of such " +"patterns separated by a colon \":\" (this means that a ref name cannot have " +"a colon in it). A single pattern '<name>' is just a shorthand for '<name>:" +"<name>'." msgstr "" #. type: Plain text -#: en/git-push.txt:422 +#: en/git-http-push.txt:71 msgid "" -"If you do not want to lose your work (history from X to B) or the work by " -"the other person (history from X to A), you would need to first fetch the " -"history from the repository, create a history that contains changes done by " -"both parties, and push the result back." +"Each pattern pair consists of the source side (before the colon) and the " +"destination side (after the colon). The ref to be pushed is determined by " +"finding a match that matches the source side, and where it is pushed is " +"determined by using the destination side." msgstr "" #. type: Plain text -#: en/git-push.txt:426 -msgid "" -"You can perform \"git pull\", resolve potential conflicts, and \"git push\" " -"the result. A \"git pull\" will create a merge commit C between commits A " -"and B." +#: en/git-http-push.txt:74 en/git-send-pack.txt:125 +msgid "It is an error if <src> does not match exactly one of the local refs." msgstr "" -#. type: delimited block - -#: en/git-push.txt:432 -#, no-wrap -msgid "" -" B---C\n" -" / /\n" -" ---X---A\n" +#. type: Plain text +#: en/git-http-push.txt:76 en/git-send-pack.txt:129 +msgid "If <dst> does not match any remote ref, either" msgstr "" #. type: Plain text -#: en/git-push.txt:437 +#: en/git-http-push.txt:79 en/git-send-pack.txt:132 msgid "" -"Updating A with the resulting merge commit will fast-forward and your push " -"will be accepted." +"it has to start with \"refs/\"; <dst> is used as the destination literally " +"in this case." msgstr "" #. type: Plain text -#: en/git-push.txt:442 +#: en/git-http-push.txt:83 en/git-send-pack.txt:136 msgid "" -"Alternatively, you can rebase your change between X and B on top of A, with " -"\"git pull --rebase\", and push the result back. The rebase will create a " -"new commit D that builds the change between X and B on top of A." +"<src> == <dst> and the ref that matched the <src> must not exist in the set " +"of remote refs; the ref matched <src> locally is used as the name of the " +"destination." msgstr "" -#. type: delimited block - -#: en/git-push.txt:448 -#, no-wrap +#. type: Plain text +#: en/git-http-push.txt:89 en/git-send-pack.txt:142 msgid "" -" B D\n" -" / /\n" -" ---X---A\n" +"Without `--force`, the <src> ref is stored at the remote only if <dst> does " +"not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>. This " +"check, known as \"fast-forward check\", is performed in order to avoid " +"accidentally overwriting the remote ref and lose other peoples' commits from " +"there." msgstr "" #. type: Plain text -#: en/git-push.txt:453 -msgid "" -"Again, updating A with this commit will fast-forward and your push will be " -"accepted." +#: en/git-http-push.txt:91 en/git-send-pack.txt:144 +msgid "With `--force`, the fast-forward check is disabled for all refs." msgstr "" #. type: Plain text -#: en/git-push.txt:464 +#: en/git-http-push.txt:94 en/git-send-pack.txt:147 msgid "" -"There is another common situation where you may encounter non-fast-forward " -"rejection when you try to push, and it is possible even when you are pushing " -"into a repository nobody else pushes into. After you push commit A yourself " -"(in the first picture in this section), replace it with \"git commit --amend" -"\" to produce commit B, and you try to push it out, because forgot that you " -"have pushed A out already. In such a case, and only if you are certain that " -"nobody in the meantime fetched your earlier commit A (and started building " -"on top of it), you can run \"git push --force\" to overwrite it. In other " -"words, \"git push --force\" is a method reserved for a case where you do " -"mean to lose history." +"Optionally, a <ref> parameter can be prefixed with a plus '+' sign to " +"disable the fast-forward check only on that ref." msgstr "" -#. type: Labeled list -#: en/git-push.txt:469 +#. type: Title = +#: en/git-imap-send.txt:2 #, fuzzy, no-wrap #| msgid "git-add(1)" -msgid "`git push`" +msgid "git-imap-send(1)" msgstr "git-add(1)" #. type: Plain text -#: en/git-push.txt:473 +#: en/git-imap-send.txt:7 msgid "" -"Works like `git push <remote>`, where <remote> is the current branch's " -"remote (or `origin`, if no remote is configured for the current branch)." +"git-imap-send - Send a collection of patches from stdin to an IMAP folder" msgstr "" -#. type: Labeled list -#: en/git-push.txt:474 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git push origin`" -msgstr "$ git commit\n" +#. type: Plain text +#: en/git-imap-send.txt:13 +#, no-wrap +msgid "'git imap-send' [-v] [-q] [--[no-]curl]\n" +msgstr "" #. type: Plain text -#: en/git-push.txt:479 +#: en/git-imap-send.txt:23 msgid "" -"Without additional configuration, pushes the current branch to the " -"configured upstream (`remote.origin.merge` configuration variable) if it has " -"the same name as the current branch, and errors out without pushing " -"otherwise." +"This command uploads a mailbox generated with 'git format-patch' into an " +"IMAP drafts folder. This allows patches to be sent as other email is when " +"using mail clients that cannot read mailbox files directly. The command also " +"works with any general mailbox in which emails have the fields \"From\", " +"\"Date\", and \"Subject\" in that order." msgstr "" #. type: Plain text -#: en/git-push.txt:483 -msgid "" -"The default behavior of this command when no <refspec> is given can be " -"configured by setting the `push` option of the remote, or the `push.default` " -"configuration variable." +#: en/git-imap-send.txt:25 +msgid "Typical usage is something like:" msgstr "" #. type: Plain text -#: en/git-push.txt:488 -msgid "" -"For example, to default to pushing only the current branch to `origin` use " -"`git config remote.origin.push HEAD`. Any valid <refspec> (like the ones in " -"the examples below) can be configured as the default for `git push origin`." +#: en/git-imap-send.txt:27 +msgid "git format-patch --signoff --stdout --attach origin | git imap-send" +msgstr "" + +#. type: Plain text +#: en/git-imap-send.txt:39 +msgid "Be quiet." msgstr "" #. type: Labeled list -#: en/git-push.txt:489 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git push origin :`" -msgstr "$ git commit\n" +#: en/git-imap-send.txt:40 +#, no-wrap +msgid "--curl" +msgstr "" #. type: Plain text -#: en/git-push.txt:493 +#: en/git-imap-send.txt:44 msgid "" -"Push \"matching\" branches to `origin`. See <refspec> in the <<OPTIONS," -"OPTIONS>> section above for a description of \"matching\" branches." +"Use libcurl to communicate with the IMAP server, unless tunneling into it. " +"Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND option set." msgstr "" #. type: Labeled list -#: en/git-push.txt:494 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git push origin master`" -msgstr "$ git commit\n" +#: en/git-imap-send.txt:45 +#, no-wrap +msgid "--no-curl" +msgstr "" #. type: Plain text -#: en/git-push.txt:500 +#: en/git-imap-send.txt:49 msgid "" -"Find a ref that matches `master` in the source repository (most likely, it " -"would find `refs/heads/master`), and update the same ref (e.g. `refs/heads/" -"master`) in `origin` repository with it. If `master` did not exist " -"remotely, it would be created." +"Talk to the IMAP server using git's own IMAP routines instead of using " +"libcurl. Ignored if Git was built with the NO_OPENSSL option set." msgstr "" -#. type: Labeled list -#: en/git-push.txt:501 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "`git push origin HEAD`" -msgstr "$ git commit\n" - #. type: Plain text -#: en/git-push.txt:504 -msgid "A handy way to push the current branch to the same name on the remote." +#: en/git-imap-send.txt:56 +msgid "" +"To use the tool, imap.folder and either imap.tunnel or imap.host must be set " +"to appropriate values." msgstr "" #. type: Labeled list -#: en/git-push.txt:505 +#: en/git-imap-send.txt:60 #, no-wrap -msgid "`git push mothership master:satellite/master dev:satellite/dev`" +msgid "imap.folder" msgstr "" #. type: Plain text -#: en/git-push.txt:510 +#: en/git-imap-send.txt:64 msgid "" -"Use the source ref that matches `master` (e.g. `refs/heads/master`) to " -"update the ref that matches `satellite/master` (most probably `refs/remotes/" -"satellite/master`) in the `mothership` repository; do the same for `dev` and " -"`satellite/dev`." +"The folder to drop the mails into, which is typically the Drafts folder. For " +"example: \"INBOX.Drafts\", \"INBOX/Drafts\" or \"[Gmail]/Drafts\". Required." msgstr "" -#. type: Plain text -#: en/git-push.txt:517 -msgid "" -"This is to emulate `git fetch` run on the `mothership` using `git push` that " -"is run in the opposite direction in order to integrate the work done on " -"`satellite`, and is often necessary when you can only make connection in one " -"way (i.e. satellite can ssh into mothership but mothership cannot initiate " -"connection to satellite because the latter is behind a firewall or does not " -"run sshd)." +#. type: Labeled list +#: en/git-imap-send.txt:65 +#, no-wrap +msgid "imap.tunnel" msgstr "" #. type: Plain text -#: en/git-push.txt:522 +#: en/git-imap-send.txt:69 msgid "" -"After running this `git push` on the `satellite` machine, you would ssh into " -"the `mothership` and run `git merge` there to complete the emulation of `git " -"pull` that were run on `mothership` to pull changes made on `satellite`." +"Command used to setup a tunnel to the IMAP server through which commands " +"will be piped instead of using a direct network connection to the server. " +"Required when imap.host is not set." msgstr "" #. type: Labeled list -#: en/git-push.txt:523 +#: en/git-imap-send.txt:70 #, no-wrap -msgid "`git push origin HEAD:master`" +msgid "imap.host" msgstr "" #. type: Plain text -#: en/git-push.txt:527 +#: en/git-imap-send.txt:74 msgid "" -"Push the current branch to the remote ref matching `master` in the `origin` " -"repository. This form is convenient to push the current branch without " -"thinking about its local name." +"A URL identifying the server. Use a `imap://` prefix for non-secure " +"connections and a `imaps://` prefix for secure connections. Ignored when " +"imap.tunnel is set, but required otherwise." msgstr "" #. type: Labeled list -#: en/git-push.txt:528 +#: en/git-imap-send.txt:75 #, no-wrap -msgid "`git push origin master:refs/heads/experimental`" +msgid "imap.user" msgstr "" #. type: Plain text -#: en/git-push.txt:534 -msgid "" -"Create the branch `experimental` in the `origin` repository by copying the " -"current `master` branch. This form is only needed to create a new branch or " -"tag in the remote repository when the local name and the remote name are " -"different; otherwise, the ref name on its own will work." +#: en/git-imap-send.txt:77 +msgid "The username to use when logging in to the server." msgstr "" #. type: Labeled list -#: en/git-push.txt:535 +#: en/git-imap-send.txt:78 #, no-wrap -msgid "`git push origin :experimental`" +msgid "imap.pass" msgstr "" #. type: Plain text -#: en/git-push.txt:538 -msgid "" -"Find a ref that matches `experimental` in the `origin` repository (e.g. " -"`refs/heads/experimental`), and delete it." +#: en/git-imap-send.txt:80 +msgid "The password to use when logging in to the server." msgstr "" #. type: Labeled list -#: en/git-push.txt:539 +#: en/git-imap-send.txt:81 #, no-wrap -msgid "`git push origin +dev:master`" +msgid "imap.port" msgstr "" #. type: Plain text -#: en/git-push.txt:544 +#: en/git-imap-send.txt:85 msgid "" -"Update the origin repository's master branch with the dev branch, allowing " -"non-fast-forward updates. *This can leave unreferenced commits dangling in " -"the origin repository.* Consider the following situation, where a fast-" -"forward is not possible:" +"An integer port number to connect to on the server. Defaults to 143 for " +"imap:// hosts and 993 for imaps:// hosts. Ignored when imap.tunnel is set." msgstr "" -#. type: delimited block - -#: en/git-push.txt:549 +#. type: Labeled list +#: en/git-imap-send.txt:86 #, no-wrap -msgid "" -"\t o---o---o---A---B origin/master\n" -"\t\t \\\n" -"\t\t X---Y---Z dev\n" +msgid "imap.sslverify" msgstr "" #. type: Plain text -#: en/git-push.txt:552 -msgid "The above command would change the origin repository to" +#: en/git-imap-send.txt:90 +msgid "" +"A boolean to enable/disable verification of the server certificate used by " +"the SSL/TLS connection. Default is `true`. Ignored when imap.tunnel is set." msgstr "" -#. type: delimited block - -#: en/git-push.txt:557 +#. type: Labeled list +#: en/git-imap-send.txt:91 #, no-wrap -msgid "" -"\t\t A---B (unnamed branch)\n" -"\t\t /\n" -"\t o---o---o---X---Y---Z master\n" +msgid "imap.preformattedHTML" msgstr "" #. type: Plain text -#: en/git-push.txt:562 +#: en/git-imap-send.txt:97 msgid "" -"Commits A and B would no longer belong to a branch with a symbolic name, and " -"so would be unreachable. As such, these commits would be removed by a `git " -"gc` command on the origin repository." +"A boolean to enable/disable the use of html encoding when sending a patch. " +"An html encoded patch will be bracketed with <pre> and have a content type " +"of text/html. Ironically, enabling this option causes Thunderbird to send " +"the patch as a plain/text, format=fixed email. Default is `false`." msgstr "" -#. type: Title = -#: en/git-quiltimport.txt:2 +#. type: Labeled list +#: en/git-imap-send.txt:98 #, no-wrap -msgid "git-quiltimport(1)" +msgid "imap.authMethod" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:7 -msgid "git-quiltimport - Applies a quilt patchset onto the current branch" +#: en/git-imap-send.txt:104 +msgid "" +"Specify authenticate method for authentication with IMAP server. If Git was " +"built with the NO_CURL option, or if your curl version is older than 7.34.0, " +"or if you're running git-imap-send with the `--no-curl` option, the only " +"supported method is 'CRAM-MD5'. If this is not set then 'git imap-send' uses " +"the basic IMAP plaintext LOGIN command." msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:14 +#: en/git-imap-send.txt:109 +msgid "Using tunnel mode:" +msgstr "" + +#. type: delimited block . +#: en/git-imap-send.txt:114 #, no-wrap msgid "" -"'git quiltimport' [--dry-run | -n] [--author <author>] [--patches <dir>]\n" -"\t\t[--series <file>]\n" +"[imap]\n" +" folder = \"INBOX.Drafts\"\n" +" tunnel = \"ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null\"\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:21 -msgid "" -"Applies a quilt patchset onto the current Git branch, preserving the patch " -"boundaries, patch order, and patch descriptions present in the quilt " -"patchset." +#: en/git-imap-send.txt:117 +msgid "Using direct mode:" msgstr "" -#. type: Plain text -#: en/git-quiltimport.txt:27 +#. type: delimited block . +#: en/git-imap-send.txt:124 +#, no-wrap msgid "" -"For each patch the code attempts to extract the author from the patch " -"description. If that fails it falls back to the author specified with --" -"author. If the --author flag was not given the patch description is " -"displayed and the user is asked to interactively enter the author of the " -"patch." +"[imap]\n" +" folder = \"INBOX.Drafts\"\n" +" host = imap://imap.example.com\n" +" user = bob\n" +" pass = p4ssw0rd\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:30 +#: en/git-imap-send.txt:127 +msgid "Using direct mode with SSL:" +msgstr "" + +#. type: delimited block . +#: en/git-imap-send.txt:136 +#, no-wrap msgid "" -"If a subject is not found in the patch description the patch name is " -"preserved as the 1 line subject in the Git description." +"[imap]\n" +" folder = \"INBOX.Drafts\"\n" +" host = imaps://imap.example.com\n" +" user = bob\n" +" pass = p4ssw0rd\n" +" port = 123\n" +" sslverify = false\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:40 +#: en/git-imap-send.txt:143 msgid "" -"Walk through the patches in the series and warn if we cannot find all of the " -"necessary information to commit a patch. At the time of this writing only " -"missing author information is warned about." +"To submit patches using GMail's IMAP interface, first, edit your ~/." +"gitconfig to specify your account settings:" msgstr "" -#. type: Labeled list -#: en/git-quiltimport.txt:41 +#. type: delimited block - +#: en/git-imap-send.txt:151 #, no-wrap -msgid "--author Author Name <Author Email>" +msgid "" +"[imap]\n" +"\tfolder = \"[Gmail]/Drafts\"\n" +"\thost = imaps://imap.gmail.com\n" +"\tuser = user@gmail.com\n" +"\tport = 993\n" +"\tsslverify = false\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:44 +#: en/git-imap-send.txt:155 msgid "" -"The author name and email address to use when no author information can be " -"found in the patch description." +"You might need to instead use: folder = \"[Google Mail]/Drafts\" if you get " +"an error that the \"Folder doesn't exist\"." msgstr "" -#. type: Labeled list -#: en/git-quiltimport.txt:45 -#, no-wrap -msgid "--patches <dir>" +#. type: Plain text +#: en/git-imap-send.txt:157 +msgid "Once the commits are ready to be sent, run the following command:" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:47 -msgid "The directory to find the quilt patches." +#: en/git-imap-send.txt:159 +#, no-wrap +msgid " $ git format-patch --cover-letter -M --stdout origin/master | git imap-send\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:51 +#: en/git-imap-send.txt:163 msgid "" -"The default for the patch directory is patches or the value of the `" -"$QUILT_PATCHES` environment variable." +"Just make sure to disable line wrapping in the email client (GMail's web " +"interface will wrap lines no matter what, so you need to use a real IMAP " +"client)." msgstr "" -#. type: Labeled list -#: en/git-quiltimport.txt:52 +#. type: Title - +#: en/git-imap-send.txt:165 #, no-wrap -msgid "--series <file>" +msgid "CAUTION" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:54 -msgid "The quilt series file." +#: en/git-imap-send.txt:172 +msgid "" +"It is still your responsibility to make sure that the email message sent by " +"your email program meets the standards of your project. Many projects do " +"not like patches to be attached. Some mail agents will transform patches (e." +"g. wrap lines, send them as format=flowed) in ways that make them fail. You " +"will get angry flames ridiculing you if you don't check this." msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:58 +#: en/git-imap-send.txt:176 +#, no-wrap msgid "" -"The default for the series file is <patches>/series or the value of the `" -"$QUILT_SERIES` environment variable." +"Thunderbird in particular is known to be problematic. Thunderbird\n" +"users may wish to visit this web page for more information:\n" +" http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email\n" msgstr "" -#. type: Title = -#: en/git-read-tree.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-read-tree(1)" -msgstr "git-add(1)" - -# #. type: Plain text -#: en/git-read-tree.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-read-tree - Reads tree information into the index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-imap-send.txt:180 +msgid "linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)" +msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:16 +#. type: Title = +#: en/git-index-pack.txt:2 #, no-wrap -msgid "" -"'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>]\n" -"\t\t[-u [--exclude-per-directory=<gitignore>] | -i]]\n" -"\t\t[--index-output=<file>] [--no-sparse-checkout]\n" -"\t\t(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\n" +msgid "git-index-pack(1)" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:23 -msgid "" -"Reads the tree information given by <tree-ish> into the index, but does not " -"actually *update* any of the files it \"caches\". (see: linkgit:git-checkout-" -"index[1])" +#: en/git-index-pack.txt:7 +msgid "git-index-pack - Build pack index file for an existing packed archive" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:28 +#: en/git-index-pack.txt:15 +#, no-wrap msgid "" -"Optionally, it can merge a tree into the index, perform a fast-forward (i.e. " -"2-way) merge, or a 3-way merge, with the `-m` flag. When used with `-m`, " -"the `-u` flag causes it to also update the files in the work tree with the " -"result of the merge." +"'git index-pack' [-v] [-o <index-file>] <pack-file>\n" +"'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]\n" +" [<pack-file>]\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:31 +#: en/git-index-pack.txt:23 msgid "" -"Trivial merges are done by 'git read-tree' itself. Only conflicting paths " -"will be in unmerged state when 'git read-tree' returns." +"Reads a packed archive (.pack) from the specified file, and builds a pack " +"index file (.idx) for it. The packed archive together with the pack index " +"can then be placed in the objects/pack/ directory of a Git repository." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:39 -msgid "" -"Perform a merge, not just a read. The command will refuse to run if your " -"index file has unmerged entries, indicating that you have not finished " -"previous merge you started." +#: en/git-index-pack.txt:29 +msgid "Be verbose about what is going on, including progress status." msgstr "" #. type: Labeled list -#: en/git-read-tree.txt:40 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--reset" -msgstr "git-commit(1)" +#: en/git-index-pack.txt:30 +#, no-wrap +msgid "-o <index-file>" +msgstr "" #. type: Plain text -#: en/git-read-tree.txt:43 +#: en/git-index-pack.txt:37 msgid "" -"Same as -m, except that unmerged entries are discarded instead of failing." +"Write the generated pack index into the specified file. Without this option " +"the name of pack index file is constructed from the name of packed archive " +"file by replacing .pack with .idx (and the program fails if the name of " +"packed archive does not end with .pack)." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:47 +#: en/git-index-pack.txt:47 msgid "" -"After a successful merge, update the files in the work tree with the result " -"of the merge." +"When this flag is provided, the pack is read from stdin instead and a copy " +"is then written to <pack-file>. If <pack-file> is not specified, the pack is " +"written to objects/pack/ directory of the current Git repository with a " +"default name determined from the pack content. If <pack-file> is not " +"specified consider using --keep to prevent a race condition between this " +"process and 'git repack'." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:56 -msgid "" -"Usually a merge requires the index file as well as the files in the working " -"tree to be up to date with the current head commit, in order not to lose " -"local changes. This flag disables the check with the working tree and is " -"meant to be used when creating a merge of trees that are not directly " -"related to the current working tree status into a temporary index file." +#. type: Labeled list +#: en/git-index-pack.txt:48 +#, no-wrap +msgid "--fix-thin" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:61 +#: en/git-index-pack.txt:53 msgid "" -"Check if the command would error out, without updating the index or the " -"files in the working tree for real." +"Fix a \"thin\" pack produced by `git pack-objects --thin` (see linkgit:git-" +"pack-objects[1] for details) by adding the excluded objects the deltified " +"objects are based on to the pack. This option only makes sense in " +"conjunction with --stdin." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:64 -msgid "Show the progress of checking files out." +#: en/git-index-pack.txt:61 +msgid "" +"Before moving the index into its final destination create an empty .keep " +"file for the associated pack file. This option is usually necessary with --" +"stdin to prevent a simultaneous 'git repack' process from deleting the newly " +"constructed pack and index before refs can be updated to use objects " +"contained in the pack." msgstr "" #. type: Labeled list -#: en/git-read-tree.txt:65 +#: en/git-index-pack.txt:62 #, no-wrap -msgid "--trivial" +msgid "--keep=<msg>" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:70 +#: en/git-index-pack.txt:68 msgid "" -"Restrict three-way merge by 'git read-tree' to happen only if there is no " -"file-level merging required, instead of resolving merge for trivial cases " -"and leaving conflicting files unresolved in the index." +"Like --keep create a .keep file before moving the index into its final " +"destination, but rather than creating an empty file place '<msg>' followed " +"by an LF into the .keep file. The '<msg>' message can later be searched for " +"within all .keep files to locate any which have outlived their usefulness." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:77 -msgid "" -"Usually a three-way merge by 'git read-tree' resolves the merge for really " -"trivial cases and leaves other cases unresolved in the index, so that " -"porcelains can implement different merge policies. This flag makes the " -"command resolve a few more cases internally:" +#. type: Labeled list +#: en/git-index-pack.txt:69 en/git-pack-objects.txt:225 +#, no-wrap +msgid "--index-version=<version>[,<offset>]" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:80 +#: en/git-index-pack.txt:73 en/git-pack-objects.txt:229 msgid "" -"when one side removes a path and the other side leaves the path unmodified. " -"The resolution is to remove that path." -msgstr "" - -#. type: Plain text -#: en/git-read-tree.txt:81 -msgid "when both sides remove a path. The resolution is to remove that path." +"This is intended to be used by the test suite only. It allows to force the " +"version for the generated pack index, and to force 64-bit index entries on " +"objects located above the given offset." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:83 -msgid "" -"when both sides add a path identically. The resolution is to add that path." +#: en/git-index-pack.txt:76 +msgid "Die, if the pack contains broken objects or links." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:90 -msgid "" -"Keep the current index contents, and read the contents of the named tree-ish " -"under the directory at `<prefix>`. The command will refuse to overwrite " -"entries that already existed in the original index file. Note that the " -"`<prefix>/` value must end with a slash." +#: en/git-index-pack.txt:79 +msgid "Die if the pack contains broken links. For internal use only." msgstr "" #. type: Labeled list -#: en/git-read-tree.txt:91 +#: en/git-index-pack.txt:80 en/git-pack-objects.txt:215 #, no-wrap -msgid "--exclude-per-directory=<gitignore>" +msgid "--threads=<n>" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:105 +#: en/git-index-pack.txt:89 msgid "" -"When running the command with `-u` and `-m` options, the merge result may " -"need to overwrite paths that are not tracked in the current branch. The " -"command usually refuses to proceed with the merge to avoid losing such a " -"path. However this safety valve sometimes gets in the way. For example, it " -"often happens that the other branch added a file that used to be a generated " -"file in your branch, and the safety valve triggers when you try to switch to " -"that branch after you ran `make` but before running `make clean` to remove " -"the generated file. This option tells the command to read per-directory " -"exclude file (usually '.gitignore') and allows such an untracked but " -"explicitly ignored file to be overwritten." +"Specifies the number of threads to spawn when resolving deltas. This " +"requires that index-pack be compiled with pthreads otherwise this option is " +"ignored with a warning. This is meant to reduce packing time on " +"multiprocessor machines. The required amount of memory for the delta search " +"window is however multiplied by the number of threads. Specifying 0 will " +"cause Git to auto-detect the number of CPU's and use maximum 3 threads." msgstr "" #. type: Labeled list -#: en/git-read-tree.txt:106 +#: en/git-index-pack.txt:90 en/git-unpack-objects.txt:47 #, no-wrap -msgid "--index-output=<file>" +msgid "--max-input-size=<size>" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:117 -msgid "" -"Instead of writing the results out to `$GIT_INDEX_FILE`, write the resulting " -"index in the named file. While the command is operating, the original index " -"file is locked with the same mechanism as usual. The file must allow to be " -"rename(2)ed into from a temporary file that is created next to the usual " -"index file; typically this means it needs to be on the same filesystem as " -"the index file itself, and you need write permission to the directories the " -"index file and index output file are located in." +#: en/git-index-pack.txt:92 en/git-unpack-objects.txt:49 +msgid "Die, if the pack is larger than <size>." msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:118 +#. type: Title - +#: en/git-index-pack.txt:94 #, no-wrap -msgid "--no-sparse-checkout" +msgid "Note" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:121 -msgid "Disable sparse checkout support even if `core.sparseCheckout` is true." +#: en/git-index-pack.txt:100 +msgid "" +"Once the index has been created, the list of object names is sorted and the " +"SHA-1 hash of that list is printed to stdout. If --stdin was also used then " +"this is prefixed by either \"pack\\t\", or \"keep\\t\" if a new .keep file " +"was successfully created. This is useful to remove a" msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:122 +#. type: Block title +#: en/git-index-pack.txt:100 #, no-wrap -msgid "--empty" +msgid "keep file used as a lock to prevent the race with 'git repack'" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:125 -msgid "Instead of reading tree object(s) into the index, just empty it." +#: en/git-index-pack.txt:102 +msgid "mentioned above." msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:126 -#, no-wrap -msgid "<tree-ish#>" -msgstr "" +#. type: Title = +#: en/git-init-db.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-init-db(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-read-tree.txt:128 -msgid "The id of the tree object(s) to be read/merged." -msgstr "" +#: en/git-init-db.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-init-db - Creates an empty Git repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" -#. type: Title - -#: en/git-read-tree.txt:131 +#. type: Plain text +#: en/git-init-db.txt:13 #, no-wrap -msgid "Merging" +msgid "'git init-db' [-q | --quiet] [--bare] [--template=<template_directory>] [--separate-git-dir <git dir>] [--shared[=<permissions>]]\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:136 +#: en/git-init-db.txt:20 +#, fuzzy +#| msgid "" +#| "This is a synonym for linkgit:git-fsck[1]. Please refer to the " +#| "documentation of that command." msgid "" -"If `-m` is specified, 'git read-tree' can perform 3 kinds of merge, a single " -"tree merge if only 1 tree is given, a fast-forward merge with 2 trees, or a " -"3-way merge if 3 trees are provided." +"This is a synonym for linkgit:git-init[1]. Please refer to the " +"documentation of that command." msgstr "" +"Ceci est un synonyme pour linkgit:git-fsck[1]. Veuillez vous r챕f챕rer 횪 la " +"documentation de cette commande." -#. type: Title ~ -#: en/git-read-tree.txt:139 +#. type: Title = +#: en/git-init.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-init(1)" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-init.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "" +"git-init - Create an empty Git repository or reinitialize an existing one" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" + +#. type: Plain text +#: en/git-init.txt:15 #, no-wrap -msgid "Single Tree Merge" +msgid "" +"'git init' [-q | --quiet] [--bare] [--template=<template_directory>]\n" +"\t [--separate-git-dir <git dir>]\n" +"\t [--shared[=<permissions>]] [directory]\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:145 +#: en/git-init.txt:24 msgid "" -"If only 1 tree is specified, 'git read-tree' operates as if the user did not " -"specify `-m`, except that if the original index has an entry for a given " -"pathname, and the contents of the path match with the tree being read, the " -"stat info from the index is used. (In other words, the index's stat()s take " -"precedence over the merged tree's)." +"This command creates an empty Git repository - basically a `.git` directory " +"with subdirectories for `objects`, `refs/heads`, `refs/tags`, and template " +"files. An initial `HEAD` file that references the HEAD of the master branch " +"is also created." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:149 +#: en/git-init.txt:27 msgid "" -"That means that if you do a `git read-tree -m <newtree>` followed by a `git " -"checkout-index -f -u -a`, the 'git checkout-index' only checks out the stuff " -"that really changed." +"If the `$GIT_DIR` environment variable is set then it specifies a path to " +"use instead of `./.git` for the base of the repository." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:152 +#: en/git-init.txt:32 msgid "" -"This is used to avoid unnecessary false hits when 'git diff-files' is run " -"after 'git read-tree'." +"If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` " +"environment variable then the sha1 directories are created underneath - " +"otherwise the default `$GIT_DIR/objects` directory is used." msgstr "" -#. type: Title ~ -#: en/git-read-tree.txt:155 -#, no-wrap -msgid "Two Tree Merge" +#. type: Plain text +#: en/git-init.txt:37 +msgid "" +"Running 'git init' in an existing repository is safe. It will not overwrite " +"things that are already there. The primary reason for rerunning 'git init' " +"is to pick up newly added templates (or to move the repository to another " +"place if --separate-git-dir is given)." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:161 +#: en/git-init.txt:47 msgid "" -"Typically, this is invoked as `git read-tree -m $H $M`, where $H is the head " -"commit of the current repository, and $M is the head of a foreign tree, " -"which is simply ahead of $H (i.e. we are in a fast-forward situation)." +"Only print error and warning messages; all other output will be suppressed." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:164 +#: en/git-init.txt:52 msgid "" -"When two trees are specified, the user is telling 'git read-tree' the " -"following:" +"Create a bare repository. If `GIT_DIR` environment is not set, it is set to " +"the current working directory." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:166 -msgid "The current index and work tree is derived from $H, but" +#: en/git-init.txt:57 +msgid "" +"Specify the directory from which templates will be used. (See the " +"\"TEMPLATE DIRECTORY\" section below.)" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:167 -msgid "the user may have local changes in them since $H." +#: en/git-init.txt:64 +msgid "" +"Instead of initializing the repository as a directory to either `$GIT_DIR` " +"or `./.git/`, create a text file there containing the path to the actual " +"repository. This file acts as filesystem-agnostic Git symbolic link to the " +"repository." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:169 -msgid "The user wants to fast-forward to $M." +#: en/git-init.txt:66 +msgid "" +"If this is reinitialization, the repository will be moved to the specified " +"path." +msgstr "" + +#. type: Labeled list +#: en/git-init.txt:67 +#, no-wrap +msgid "--shared[=(false|true|umask|group|all|world|everybody|0xxx)]" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:175 +#: en/git-init.txt:75 msgid "" -"In this case, the `git read-tree -m $H $M` command makes sure that no local " -"change is lost as the result of this \"merge\". Here are the \"carry forward" -"\" rules, where \"I\" denotes the index, \"clean\" means that index and work " -"tree coincide, and \"exists\"/\"nothing\" refer to the presence of a path in " -"the specified commit:" +"Specify that the Git repository is to be shared amongst several users. This " +"allows users belonging to the same group to push into that repository. When " +"specified, the config variable \"core.sharedRepository\" is set so that " +"files and directories under `$GIT_DIR` are created with the requested " +"permissions. When not specified, Git will use permissions reported by " +"umask(2)." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:185 -#, no-wrap +#: en/git-init.txt:78 msgid "" -"\tI H M Result\n" -" -------------------------------------------------------\n" -" 0 nothing nothing nothing (does not happen)\n" -" 1 nothing nothing exists use M\n" -" 2 nothing exists nothing remove path from index\n" -" 3 nothing exists exists, use M if \"initial checkout\",\n" -"\t\t\t\t H == M keep index otherwise\n" -"\t\t\t\t exists, fail\n" -"\t\t\t\t H != M\n" +"The option can have the following values, defaulting to 'group' if no value " +"is given:" msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:190 +#. type: Labeled list +#: en/git-init.txt:80 #, no-wrap -msgid "" -" clean I==H I==M\n" -" ------------------\n" -" 4 yes N/A N/A nothing nothing keep index\n" -" 5 no N/A N/A nothing nothing keep index\n" +msgid "'umask' (or 'false')" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:195 -#, no-wrap +#: en/git-init.txt:84 msgid "" -" 6 yes N/A yes nothing exists keep index\n" -" 7 no N/A yes nothing exists keep index\n" -" 8 yes N/A no nothing exists fail\n" -" 9 no N/A no nothing exists fail\n" +"Use permissions reported by umask(2). The default, when `--shared` is not " +"specified." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:200 +#. type: Labeled list +#: en/git-init.txt:85 #, no-wrap -msgid "" -" 10 yes yes N/A exists nothing remove path from index\n" -" 11 no yes N/A exists nothing fail\n" -" 12 yes no N/A exists nothing fail\n" -" 13 no no N/A exists nothing fail\n" +msgid "'group' (or 'true')" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:205 -#, no-wrap +#: en/git-init.txt:93 msgid "" -"\tclean (H==M)\n" -" ------\n" -" 14 yes exists exists keep index\n" -" 15 no exists exists keep index\n" +"Make the repository group-writable, (and g+sx, since the git group may be " +"not the primary group of all users). This is used to loosen the permissions " +"of an otherwise safe umask(2) value. Note that the umask still applies to " +"the other permission bits (e.g. if umask is '0022', using 'group' will not " +"remove read privileges from other (non-group) users). See '0xxx' for how to " +"exactly specify the repository permissions." +msgstr "" + +#. type: Labeled list +#: en/git-init.txt:94 +#, no-wrap +msgid "'all' (or 'world' or 'everybody')" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:214 +#: en/git-init.txt:97 +msgid "Same as 'group', but make the repository readable by all users." +msgstr "" + +#. type: Labeled list +#: en/git-init.txt:98 #, no-wrap -msgid "" -" clean I==H I==M (H!=M)\n" -" ------------------\n" -" 16 yes no no exists exists fail\n" -" 17 no no no exists exists fail\n" -" 18 yes no yes exists exists keep index\n" -" 19 no no yes exists exists keep index\n" -" 20 yes yes no exists exists use M\n" -" 21 no yes no exists exists fail\n" +msgid "'0xxx'" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:219 +#: en/git-init.txt:105 msgid "" -"In all \"keep index\" cases, the index entry stays as in the original index " -"file. If the entry is not up to date, 'git read-tree' keeps the copy in the " -"work tree intact when operating under the -u flag." +"'0xxx' is an octal number and each file will have mode '0xxx'. '0xxx' will " +"override users' umask(2) value (and not only loosen permissions as 'group' " +"and 'all' does). '0640' will create a repository which is group-readable, " +"but not group-writable or accessible to others. '0660' will create a repo " +"that is readable and writable to the current user and group, but " +"inaccessible to others." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:230 +#: en/git-init.txt:110 msgid "" -"When this form of 'git read-tree' returns successfully, you can see which of " -"the \"local changes\" that you made were carried forward by running `git " -"diff-index --cached $M`. Note that this does not necessarily match what " -"`git diff-index --cached $H` would have produced before such a two tree " -"merge. This is because of cases 18 and 19 --- if you already had the " -"changes in $M (e.g. maybe you picked it up via e-mail in a patch form), `git " -"diff-index --cached $H` would have told you about the change before this " -"merge, but it would not show in `git diff-index --cached $M` output after " -"the two-tree merge." +"By default, the configuration flag `receive.denyNonFastForwards` is enabled " +"in shared repositories, so that you cannot force a non fast-forwarding push " +"into it." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:237 +#: en/git-init.txt:113 msgid "" -"Case 3 is slightly tricky and needs explanation. The result from this rule " -"logically should be to remove the path if the user staged the removal of the " -"path and then switching to a new branch. That however will prevent the " -"initial checkout from happening, so the rule is modified to use M (new tree) " -"only when the content of the index is empty. Otherwise the removal of the " -"path is kept as long as $H and $M are the same." +"If you provide a 'directory', the command is run inside it. If this " +"directory does not exist, it will be created." msgstr "" -#. type: Title ~ -#: en/git-read-tree.txt:239 +#. type: Title - +#: en/git-init.txt:117 #, no-wrap -msgid "3-Way Merge" +msgid "TEMPLATE DIRECTORY" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:242 +#: en/git-init.txt:121 msgid "" -"Each \"index\" entry has two bits worth of \"stage\" state. stage 0 is the " -"normal one, and is the only one you'd see in any kind of normal use." +"Files and directories in the template directory whose name do not start with " +"a dot will be copied to the `$GIT_DIR` after it is created." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:245 -msgid "" -"However, when you do 'git read-tree' with three trees, the \"stage\" starts " -"out at 1." +#: en/git-init.txt:123 +msgid "The template directory will be one of the following (in order):" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:247 -msgid "This means that you can do" +#: en/git-init.txt:125 +msgid "the argument given with the `--template` option;" msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:250 -#, no-wrap -msgid "$ git read-tree -m <tree1> <tree2> <tree3>\n" +#. type: Plain text +#: en/git-init.txt:127 +msgid "the contents of the `$GIT_TEMPLATE_DIR` environment variable;" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:258 -msgid "" -"and you will end up with an index with all of the <tree1> entries in " -"\"stage1\", all of the <tree2> entries in \"stage2\" and all of the <tree3> " -"entries in \"stage3\". When performing a merge of another branch into the " -"current branch, we use the common ancestor tree as <tree1>, the current " -"branch head as <tree2>, and the other branch head as <tree3>." +#: en/git-init.txt:129 +msgid "the `init.templateDir` configuration variable; or" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:262 -msgid "" -"Furthermore, 'git read-tree' has special-case logic that says: if you see a " -"file that matches in all respects in the following states, it \"collapses\" " -"back to \"stage0\":" +#: en/git-init.txt:131 +msgid "the default template directory: `/usr/share/git-core/templates`." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:266 +#: en/git-init.txt:134 msgid "" -"stage 2 and 3 are the same; take one or the other (it makes no difference - " -"the same work has been done on our branch in stage 2 and their branch in " -"stage 3)" +"The default template directory includes some directory structure, suggested " +"\"exclude patterns\" (see linkgit:gitignore[5]), and sample hook files." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:271 +#: en/git-init.txt:137 msgid "" -"stage 1 and stage 2 are the same and stage 3 is different; take stage 3 (our " -"branch in stage 2 did not do anything since the ancestor in stage 1 while " -"their branch in stage 3 worked on it)" +"The sample hooks are all disabled by default, To enable one of the sample " +"hooks rename it by removing its `.sample` suffix." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:274 -msgid "" -"stage 1 and stage 3 are the same and stage 2 is different take stage 2 (we " -"did something while they did nothing)" +#: en/git-init.txt:139 +msgid "See linkgit:githooks[5] for more general info on hook execution." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:278 -msgid "" -"The 'git write-tree' command refuses to write a nonsensical tree, and it " -"will complain about unmerged entries if it sees a single entry that is not " -"stage 0." +#. type: Labeled list +#: en/git-init.txt:143 +#, no-wrap +msgid "Start a new Git repository for an existing code base" msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:284 +#. type: delimited block - +#: en/git-init.txt:150 +#, no-wrap msgid "" -"OK, this all sounds like a collection of totally nonsensical rules, but it's " -"actually exactly what you want in order to do a fast merge. The different " -"stages represent the \"result tree\" (stage 0, aka \"merged\"), the original " -"tree (stage 1, aka \"orig\"), and the two trees you are trying to merge " -"(stage 2 and 3 respectively)." +"$ cd /path/to/my/codebase\n" +"$ git init <1>\n" +"$ git add . <2>\n" +"$ git commit <3>\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:289 -msgid "" -"The order of stages 1, 2 and 3 (hence the order of three <tree-ish> command-" -"line arguments) are significant when you start a 3-way merge with an index " -"file that is already populated. Here is an outline of how the algorithm " -"works:" +#: en/git-init.txt:153 +msgid "Create a /path/to/my/codebase/.git directory." msgstr "" +# #. type: Plain text -#: en/git-read-tree.txt:292 -msgid "" -"if a file exists in identical format in all three trees, it will " -"automatically collapse to \"merged\" state by 'git read-tree'." -msgstr "" +#: en/git-init.txt:154 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Add all existing files to the index." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-read-tree.txt:297 -msgid "" -"a file that has _any_ difference what-so-ever in the three trees will stay " -"as separate entries in the index. It's up to \"porcelain policy\" to " -"determine how to remove the non-0 stages, and insert a merged version." +#: en/git-init.txt:155 +msgid "Record the pristine state as the first commit in the history." msgstr "" +#. type: Title = +#: en/git-instaweb.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-instaweb(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-read-tree.txt:302 -msgid "" -"the index file saves and restores with all this information, so you can " -"merge things incrementally, but as long as it has entries in stages 1/2/3 (i." -"e., \"unmerged entries\") you can't write the result. So now the merge " -"algorithm ends up being really simple:" +#: en/git-instaweb.txt:7 +msgid "git-instaweb - Instantly browse your working repository in gitweb" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:305 +#: en/git-instaweb.txt:14 +#, no-wrap msgid "" -"you walk the index in order, and ignore all entries of stage 0, since " -"they've already been done." +"'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]\n" +" [--browser=<browser>]\n" +"'git instaweb' [--start] [--stop] [--restart]\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:309 +#: en/git-instaweb.txt:19 msgid "" -"if you find a \"stage1\", but no matching \"stage2\" or \"stage3\", you know " -"it's been removed from both trees (it only existed in the original tree), " -"and you remove that entry." +"A simple script to set up `gitweb` and a web server for browsing the local " +"repository." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:314 -msgid "" -"if you find a matching \"stage2\" and \"stage3\" tree, you remove one of " -"them, and turn the other into a \"stage0\" entry. Remove any matching " -"\"stage1\" entry if it exists too. .. all the normal trivial rules .." +#: en/git-instaweb.txt:26 +msgid "Only bind the web server to the local IP (127.0.0.1)." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:319 -msgid "" -"You would normally use 'git merge-index' with supplied 'git merge-one-file' " -"to do this last step. The script updates the files in the working tree as " -"it merges each path and at the end of a successful merge." +#. type: Labeled list +#: en/git-instaweb.txt:28 +#, no-wrap +msgid "--httpd" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:327 +#: en/git-instaweb.txt:34 msgid "" -"When you start a 3-way merge with an index file that is already populated, " -"it is assumed that it represents the state of the files in your work tree, " -"and you can even have files with changes unrecorded in the index file. It " -"is further assumed that this state is \"derived\" from the stage 2 tree. " -"The 3-way merge refuses to run if it finds an entry in the original index " -"file that does not match stage 2." +"The HTTP daemon command-line that will be executed. Command-line options " +"may be specified here, and the configuration file will be added at the end " +"of the command-line. Currently apache2, lighttpd, mongoose, plackup and " +"webrick are supported. (Default: lighttpd)" +msgstr "" + +#. type: Labeled list +#: en/git-instaweb.txt:36 +#, no-wrap +msgid "--module-path" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:332 +#: en/git-instaweb.txt:39 msgid "" -"This is done to prevent you from losing your work-in-progress changes, and " -"mixing your random changes in an unrelated merge commit. To illustrate, " -"suppose you start from what has been committed last to your repository:" +"The module path (only needed if httpd is Apache). (Default: /usr/lib/" +"apache2/modules)" msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:336 +#. type: Labeled list +#: en/git-instaweb.txt:41 #, no-wrap -msgid "" -"$ JC=`git rev-parse --verify \"HEAD^0\"`\n" -"$ git checkout-index -f -u -a $JC\n" +msgid "--port" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:341 -msgid "" -"You do random edits, without running 'git update-index'. And then you " -"notice that the tip of your \"upstream\" tree has advanced since you pulled " -"from him:" +#: en/git-instaweb.txt:43 +msgid "The port number to bind the httpd to. (Default: 1234)" msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:345 +#. type: Labeled list +#: en/git-instaweb.txt:45 #, no-wrap -msgid "" -"$ git fetch git://.... linus\n" -"$ LT=`git rev-parse FETCH_HEAD`\n" +msgid "--browser" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:351 +#: en/git-instaweb.txt:51 msgid "" -"Your work tree is still based on your HEAD ($JC), but you have some edits " -"since. Three-way merge makes sure that you have not added or modified index " -"entries since $JC, and if you haven't, then does the right thing. So with " -"the following sequence:" +"The web browser that should be used to view the gitweb page. This will be " +"passed to the 'git web{litdd}browse' helper script along with the URL of the " +"gitweb instance. See linkgit:git-web{litdd}browse[1] for more information " +"about this. If the script fails, the URL will be printed to stdout." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:357 +#. type: Labeled list +#: en/git-instaweb.txt:52 #, no-wrap -msgid "" -"$ git read-tree -m -u `git merge-base $JC $LT` $JC $LT\n" -"$ git merge-index git-merge-one-file -a\n" -"$ echo \"Merge with Linus\" | \\\n" -" git commit-tree `git write-tree` -p $JC -p $LT\n" +msgid "start" msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:362 -msgid "" -"what you would commit is a pure merge between $JC and $LT without your work-" -"in-progress changes, and your work tree would be updated to the result of " -"the merge." +#. type: Labeled list +#: en/git-instaweb.txt:53 +#, no-wrap +msgid "--start" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:366 +#: en/git-instaweb.txt:56 msgid "" -"However, if you have local changes in the working tree that would be " -"overwritten by this merge, 'git read-tree' will refuse to run to prevent " -"your changes from being lost." +"Start the httpd instance and exit. Regenerate configuration files as " +"necessary for spawning a new instance." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:376 -msgid "" -"In other words, there is no need to worry about what exists only in the " -"working tree. When you have local changes in a part of the project that is " -"not involved in the merge, your changes do not interfere with the merge, and " -"are kept intact. When they *do* interfere, the merge does not even start " -"('git read-tree' complains loudly and fails without modifying anything). In " -"such a case, you can simply continue doing what you were in the middle of " -"doing, and when your working tree is ready (i.e. you have finished your work-" -"in-progress), attempt the merge again." +#. type: Labeled list +#: en/git-instaweb.txt:57 +#, no-wrap +msgid "stop" msgstr "" -#. type: Title - -#: en/git-read-tree.txt:379 +#. type: Labeled list +#: en/git-instaweb.txt:58 #, no-wrap -msgid "Sparse checkout" +msgid "--stop" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:384 +#: en/git-instaweb.txt:62 msgid "" -"\"Sparse checkout\" allows populating the working directory sparsely. It " -"uses the skip-worktree bit (see linkgit:git-update-index[1]) to tell Git " -"whether a file in the working directory is worth looking at." +"Stop the httpd instance and exit. This does not generate any of the " +"configuration files for spawning a new instance, nor does it close the " +"browser." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:393 -msgid "" -"'git read-tree' and other merge-based commands ('git merge', 'git " -"checkout'...) can help maintaining the skip-worktree bitmap and working " -"directory update. `$GIT_DIR/info/sparse-checkout` is used to define the skip-" -"worktree reference bitmap. When 'git read-tree' needs to update the working " -"directory, it resets the skip-worktree bit in the index based on this file, " -"which uses the same syntax as .gitignore files. If an entry matches a " -"pattern in this file, skip-worktree will not be set on that entry. " -"Otherwise, skip-worktree will be set." +#. type: Labeled list +#: en/git-instaweb.txt:63 +#, no-wrap +msgid "restart" +msgstr "" + +#. type: Labeled list +#: en/git-instaweb.txt:64 +#, no-wrap +msgid "--restart" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:397 +#: en/git-instaweb.txt:67 msgid "" -"Then it compares the new skip-worktree value with the previous one. If skip-" -"worktree turns from set to unset, it will add the corresponding file back. " -"If it turns from unset to set, that file will be removed." +"Restart the httpd instance and exit. Regenerate configuration files as " +"necessary for spawning a new instance." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:401 -msgid "" -"While `$GIT_DIR/info/sparse-checkout` is usually used to specify what files " -"are in, you can also specify what files are _not_ in, using negate patterns. " -"For example, to remove the file `unwanted`:" +#: en/git-instaweb.txt:72 +msgid "You may specify configuration in your .git/config" msgstr "" #. type: delimited block - -#: en/git-read-tree.txt:405 +#: en/git-instaweb.txt:80 #, no-wrap msgid "" -"/*\n" -"!unwanted\n" +"[instaweb]\n" +"\tlocal = true\n" +"\thttpd = apache2 -f\n" +"\tport = 4321\n" +"\tbrowser = konqueror\n" +"\tmodulePath = /usr/lib/apache2/modules\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:413 +#: en/git-instaweb.txt:86 msgid "" -"Another tricky thing is fully repopulating the working directory when you no " -"longer want sparse checkout. You cannot just disable \"sparse checkout\" " -"because skip-worktree bits are still in the index and your working directory " -"is still sparsely populated. You should re-populate the working directory " -"with the `$GIT_DIR/info/sparse-checkout` file content as follows:" +"If the configuration variable `instaweb.browser` is not set, `web.browser` " +"will be used instead if it is defined. See linkgit:git-web{litdd}browse[1] " +"for more information about this." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:416 +#. type: Title = +#: en/git-interpret-trailers.txt:2 #, no-wrap -msgid "/*\n" -msgstr "" - -#. type: Plain text -#: en/git-read-tree.txt:422 -msgid "" -"Then you can disable sparse checkout. Sparse checkout support in 'git read-" -"tree' and similar commands is disabled by default. You need to turn `core." -"sparseCheckout` on in order to have sparse checkout support." +msgid "git-interpret-trailers(1)" msgstr "" # #. type: Plain text -#: en/git-read-tree.txt:428 +#: en/git-interpret-trailers.txt:7 #, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#| msgid "git-add - Add file contents to the index" msgid "" -"linkgit:git-write-tree[1]; linkgit:git-ls-files[1]; linkgit:gitignore[5]" -msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-rebase.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-rebase(1)" -msgstr "git-add(1)" - -#. type: Plain text -#: en/git-rebase.txt:7 -msgid "git-rebase - Reapply commits on top of another base tip" -msgstr "" +"git-interpret-trailers - help add structured information into commit messages" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-rebase.txt:16 +#: en/git-interpret-trailers.txt:12 #, no-wrap -msgid "" -"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]\n" -"\t[<upstream> [<branch>]]\n" -"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]\n" -"\t--root [<branch>]\n" -"'git rebase' --continue | --skip | --abort | --quit | --edit-todo\n" +msgid "'git interpret-trailers' [--in-place] [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:22 +#: en/git-interpret-trailers.txt:18 msgid "" -"If <branch> is specified, 'git rebase' will perform an automatic `git " -"checkout <branch>` before doing anything else. Otherwise it remains on the " -"current branch." +"Help adding 'trailers' lines, that look similar to RFC 822 e-mail headers, " +"at the end of the otherwise free-form part of a commit message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:28 +#: en/git-interpret-trailers.txt:24 msgid "" -"If <upstream> is not specified, the upstream configured in branch.<name>." -"remote and branch.<name>.merge options will be used (see linkgit:git-" -"config[1] for details) and the `--fork-point` option is assumed. If you are " -"currently not on any branch or if the current branch does not have a " -"configured upstream, the rebase will abort." +"This command reads some patches or commit messages from either the <file> " +"arguments or the standard input if no <file> is specified. Then this command " +"applies the arguments passed using the `--trailer` option, if any, to the " +"commit message part of each input file. The result is emitted on the " +"standard output." msgstr "" #. type: Plain text -#: en/git-rebase.txt:35 +#: en/git-interpret-trailers.txt:29 msgid "" -"All changes made by commits in the current branch but that are not in " -"<upstream> are saved to a temporary area. This is the same set of commits " -"that would be shown by `git log <upstream>..HEAD`; or by `git log " -"'fork_point'..HEAD`, if `--fork-point` is active (see the description on `--" -"fork-point` below); or by `git log HEAD`, if the `--root` option is " -"specified." +"Some configuration variables control the way the `--trailer` arguments are " +"applied to each commit message and the way any existing trailer in the " +"commit message is changed. They also make it possible to automatically add " +"some trailers." msgstr "" #. type: Plain text -#: en/git-rebase.txt:40 +#: en/git-interpret-trailers.txt:36 msgid "" -"The current branch is reset to <upstream>, or <newbase> if the --onto option " -"was supplied. This has the exact same effect as `git reset --hard " -"<upstream>` (or <newbase>). ORIG_HEAD is set to point at the tip of the " -"branch before the reset." +"By default, a '<token>=<value>' or '<token>:<value>' argument given using `--" +"trailer` will be appended after the existing trailers only if the last " +"trailer has a different (<token>, <value>) pair (or if there is no existing " +"trailer). The <token> and <value> parts will be trimmed to remove starting " +"and trailing whitespace, and the resulting trimmed <token> and <value> will " +"appear in the message like this:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:46 -msgid "" -"The commits that were previously saved into the temporary area are then " -"reapplied to the current branch, one by one, in order. Note that any commits " -"in HEAD which introduce the same textual changes as a commit in HEAD.." -"<upstream> are omitted (i.e., a patch already accepted upstream with a " -"different commit message or timestamp will be skipped)." +#. type: delimited block - +#: en/git-interpret-trailers.txt:39 +#, no-wrap +msgid "token: value\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:53 +#: en/git-interpret-trailers.txt:43 msgid "" -"It is possible that a merge failure will prevent this process from being " -"completely automatic. You will have to resolve any such merge failure and " -"run `git rebase --continue`. Another option is to bypass the commit that " -"caused the merge failure with `git rebase --skip`. To check out the " -"original <branch> and remove the .git/rebase-apply working files, use the " -"command `git rebase --abort` instead." +"This means that the trimmed <token> and <value> will be separated by `': '` " +"(one colon followed by one space)." msgstr "" #. type: Plain text -#: en/git-rebase.txt:55 -msgid "" -"Assume the following history exists and the current branch is \"topic\":" -msgstr "" - -#. type: delimited block - -#: en/git-rebase.txt:60 -#, no-wrap +#: en/git-interpret-trailers.txt:49 msgid "" -" A---B---C topic\n" -" /\n" -" D---E---F---G master\n" +"By default the new trailer will appear at the end of all the existing " +"trailers. If there is no existing trailer, the new trailer will appear after " +"the commit message part of the output, and, if there is no line with only " +"spaces at the end of the commit message part, one blank line will be added " +"before the new trailer." msgstr "" #. type: Plain text -#: en/git-rebase.txt:63 -msgid "From this point, the result of either of the following commands:" +#: en/git-interpret-trailers.txt:58 +msgid "" +"Existing trailers are extracted from the input message by looking for a " +"group of one or more lines that (i) are all trailers, or (ii) contains at " +"least one Git-generated or user-configured trailer and consists of at least " +"25% trailers. The group must be preceded by one or more empty (or " +"whitespace-only) lines. The group must either be at the end of the message " +"or be the last non-whitespace lines before a line that starts with '---'. " +"Such three minus signs start the patch part of the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:67 -#, no-wrap +#: en/git-interpret-trailers.txt:63 msgid "" -" git rebase master\n" -" git rebase master topic\n" +"When reading trailers, there can be whitespaces after the token, the " +"separator and the value. There can also be whitespaces inside the token and " +"the value. The value may be split over multiple lines with each subsequent " +"line starting with whitespace, like the \"folding\" in RFC 822." msgstr "" #. type: Plain text -#: en/git-rebase.txt:69 -msgid "would be:" +#: en/git-interpret-trailers.txt:67 +msgid "" +"Note that 'trailers' do not follow and are not intended to follow many rules " +"for RFC 822 headers. For example they do not follow the encoding rules and " +"probably many other rules." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:74 +#. type: Labeled list +#: en/git-interpret-trailers.txt:70 #, no-wrap -msgid "" -" A'--B'--C' topic\n" -" /\n" -" D---E---F---G master\n" +msgid "--in-place" msgstr "" #. type: Plain text -#: en/git-rebase.txt:79 +#: en/git-interpret-trailers.txt:72 +msgid "Edit the files in place." +msgstr "" + +#. type: Labeled list +#: en/git-interpret-trailers.txt:73 #, no-wrap -msgid "" -"*NOTE:* The latter form is just a short-hand of `git checkout topic`\n" -"followed by `git rebase master`. When rebase exits `topic` will\n" -"remain the checked-out branch.\n" +msgid "--trim-empty" msgstr "" #. type: Plain text -#: en/git-rebase.txt:85 +#: en/git-interpret-trailers.txt:77 msgid "" -"If the upstream branch already contains a change you have made (e.g., " -"because you mailed a patch which was applied upstream), then that commit " -"will be skipped. For example, running `git rebase master` on the following " -"history (in which `A'` and `A` introduce the same set of changes, but have " -"different committer information):" +"If the <value> part of any trailer contains only whitespace, the whole " +"trailer will be removed from the resulting message. This applies to " +"existing trailers as well as new trailers." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:90 +#. type: Labeled list +#: en/git-interpret-trailers.txt:78 #, no-wrap -msgid "" -" A---B---C topic\n" -" /\n" -" D---E---A'---F master\n" +msgid "--trailer <token>[(=|:)<value>]" msgstr "" #. type: Plain text -#: en/git-rebase.txt:93 -msgid "will result in:" +#: en/git-interpret-trailers.txt:82 +msgid "" +"Specify a (<token>, <value>) pair that should be applied as a trailer to the " +"input messages. See the description of this command." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:98 +#. type: Labeled list +#: en/git-interpret-trailers.txt:86 #, no-wrap -msgid "" -" B'---C' topic\n" -" /\n" -" D---E---A'---F master\n" +msgid "trailer.separators" msgstr "" #. type: Plain text -#: en/git-rebase.txt:103 +#: en/git-interpret-trailers.txt:91 msgid "" -"Here is how you would transplant a topic branch based on one branch to " -"another, to pretend that you forked the topic branch from the latter branch, " -"using `rebase --onto`." +"This option tells which characters are recognized as trailer separators. By " +"default only ':' is recognized as a trailer separator, except that '=' is " +"always accepted on the command line for compatibility with other git " +"commands." msgstr "" #. type: Plain text -#: en/git-rebase.txt:107 -msgid "" -"First let's assume your 'topic' is based on branch 'next'. For example, a " -"feature developed in 'topic' depends on some functionality which is found in " -"'next'." -msgstr "" - -#. type: delimited block - -#: en/git-rebase.txt:114 -#, no-wrap +#: en/git-interpret-trailers.txt:95 msgid "" -" o---o---o---o---o master\n" -" \\\n" -" o---o---o---o---o next\n" -" \\\n" -" o---o---o topic\n" +"The first character given by this option will be the default character used " +"when another separator is not specified in the config for this trailer." msgstr "" #. type: Plain text -#: en/git-rebase.txt:119 +#: en/git-interpret-trailers.txt:102 msgid "" -"We want to make 'topic' forked from branch 'master'; for example, because " -"the functionality on which 'topic' depends was merged into the more stable " -"'master' branch. We want our tree to look like this:" +"For example, if the value for this option is \"%=$\", then only lines using " +"the format '<token><sep><value>' with <sep> containing '%', '=' or '$' and " +"then spaces will be considered trailers. And '%' will be the default " +"separator used, so by default trailers will appear like: '<token>% " +"<value>' (one percent sign and one space will appear between the token and " +"the value)." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:126 +#. type: Labeled list +#: en/git-interpret-trailers.txt:103 #, no-wrap -msgid "" -" o---o---o---o---o master\n" -" | \\\n" -" | o'--o'--o' topic\n" -" \\\n" -" o---o---o---o---o next\n" +msgid "trailer.where" msgstr "" #. type: Plain text -#: en/git-rebase.txt:129 -#, fuzzy -#| msgid "support the following date formats:" -msgid "We can get this using the following command:" -msgstr "prend en charge les formats de date suivants혻:" +#: en/git-interpret-trailers.txt:105 +msgid "This option tells where a new trailer will be added." +msgstr "" #. type: Plain text -#: en/git-rebase.txt:131 -#, no-wrap -msgid " git rebase --onto master next topic\n" +#: en/git-interpret-trailers.txt:107 +msgid "This can be `end`, which is the default, `start`, `after` or `before`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:135 +#: en/git-interpret-trailers.txt:110 msgid "" -"Another example of --onto option is to rebase part of a branch. If we have " -"the following situation:" +"If it is `end`, then each new trailer will appear at the end of the existing " +"trailers." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:142 -#, no-wrap +#. type: Plain text +#: en/git-interpret-trailers.txt:113 msgid "" -" H---I---J topicB\n" -" /\n" -" E---F---G topicA\n" -" /\n" -" A---B---C---D master\n" +"If it is `start`, then each new trailer will appear at the start, instead of " +"the end, of the existing trailers." msgstr "" #. type: Plain text -#: en/git-rebase.txt:145 en/git-rebase.txt:168 -msgid "then the command" +#: en/git-interpret-trailers.txt:116 +msgid "" +"If it is `after`, then each new trailer will appear just after the last " +"trailer with the same <token>." msgstr "" #. type: Plain text -#: en/git-rebase.txt:147 +#: en/git-interpret-trailers.txt:119 +msgid "" +"If it is `before`, then each new trailer will appear just before the first " +"trailer with the same <token>." +msgstr "" + +#. type: Labeled list +#: en/git-interpret-trailers.txt:120 #, no-wrap -msgid " git rebase --onto master topicA topicB\n" +msgid "trailer.ifexists" msgstr "" #. type: Plain text -#: en/git-rebase.txt:149 -msgid "would result in:" +#: en/git-interpret-trailers.txt:124 +msgid "" +"This option makes it possible to choose what action will be performed when " +"there is already at least one trailer with the same <token> in the message." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:156 -#, no-wrap +#. type: Plain text +#: en/git-interpret-trailers.txt:127 msgid "" -" H'--I'--J' topicB\n" -" /\n" -" | E---F---G topicA\n" -" |/\n" -" A---B---C---D master\n" +"The valid values for this option are: `addIfDifferentNeighbor` (this is the " +"default), `addIfDifferent`, `add`, `overwrite` or `doNothing`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:159 -msgid "This is useful when topicB does not depend on topicA." +#: en/git-interpret-trailers.txt:131 +msgid "" +"With `addIfDifferentNeighbor`, a new trailer will be added only if no " +"trailer with the same (<token>, <value>) pair is above or below the line " +"where the new trailer will be added." msgstr "" #. type: Plain text -#: en/git-rebase.txt:162 +#: en/git-interpret-trailers.txt:134 msgid "" -"A range of commits could also be removed with rebase. If we have the " -"following situation:" +"With `addIfDifferent`, a new trailer will be added only if no trailer with " +"the same (<token>, <value>) pair is already in the message." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:165 -#, no-wrap -msgid " E---F---G---H---I---J topicA\n" +#. type: Plain text +#: en/git-interpret-trailers.txt:137 +msgid "" +"With `add`, a new trailer will be added, even if some trailers with the same " +"(<token>, <value>) pair are already in the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:170 -#, no-wrap -msgid " git rebase --onto topicA~5 topicA~3 topicA\n" +#: en/git-interpret-trailers.txt:142 +msgid "" +"With `replace`, an existing trailer with the same <token> will be deleted " +"and the new trailer will be added. The deleted trailer will be the closest " +"one (with the same <token>) to the place where the new one will be added." msgstr "" #. type: Plain text -#: en/git-rebase.txt:172 -msgid "would result in the removal of commits F and G:" +#: en/git-interpret-trailers.txt:145 +msgid "" +"With `doNothing`, nothing will be done; that is no new trailer will be added " +"if there is already one with the same <token> in the message." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:175 +#. type: Labeled list +#: en/git-interpret-trailers.txt:146 #, no-wrap -msgid " E---H'---I'---J' topicA\n" +msgid "trailer.ifmissing" msgstr "" #. type: Plain text -#: en/git-rebase.txt:180 +#: en/git-interpret-trailers.txt:150 msgid "" -"This is useful if F and G were flawed in some way, or should not be part of " -"topicA. Note that the argument to --onto and the <upstream> parameter can " -"be any valid commit-ish." +"This option makes it possible to choose what action will be performed when " +"there is not yet any trailer with the same <token> in the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:186 +#: en/git-interpret-trailers.txt:153 msgid "" -"In case of conflict, 'git rebase' will stop at the first problematic commit " -"and leave conflict markers in the tree. You can use 'git diff' to locate " -"the markers (<<<<<<) and make edits to resolve the conflict. For each file " -"you edit, you need to tell Git that the conflict has been resolved, " -"typically this would be done with" +"The valid values for this option are: `add` (this is the default) and " +"`doNothing`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:189 -#, no-wrap -msgid " git add <filename>\n" +#: en/git-interpret-trailers.txt:155 +msgid "With `add`, a new trailer will be added." msgstr "" #. type: Plain text -#: en/git-rebase.txt:193 -msgid "" -"After resolving the conflict manually and updating the index with the " -"desired resolution, you can continue the rebasing process with" +#: en/git-interpret-trailers.txt:157 +msgid "With `doNothing`, nothing will be done." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:196 +#. type: Labeled list +#: en/git-interpret-trailers.txt:158 #, no-wrap -msgid " git rebase --continue\n" +msgid "trailer.<token>.key" msgstr "" #. type: Plain text -#: en/git-rebase.txt:199 -msgid "Alternatively, you can undo the 'git rebase' with" +#: en/git-interpret-trailers.txt:164 +msgid "" +"This `key` will be used instead of <token> in the trailer. At the end of " +"this key, a separator can appear and then some space characters. By default " +"the only valid separator is ':', but this can be changed using the `trailer." +"separators` config variable." msgstr "" #. type: Plain text -#: en/git-rebase.txt:202 -#, no-wrap -msgid " git rebase --abort\n" +#: en/git-interpret-trailers.txt:167 +msgid "" +"If there is a separator, then the key will be used instead of both the " +"<token> and the default separator when adding the trailer." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:206 en/config.txt:2586 +#: en/git-interpret-trailers.txt:168 #, no-wrap -msgid "rebase.stat" +msgid "trailer.<token>.where" msgstr "" #. type: Plain text -#: en/git-rebase.txt:209 en/config.txt:2589 +#: en/git-interpret-trailers.txt:172 msgid "" -"Whether to show a diffstat of what changed upstream since the last rebase. " -"False by default." +"This option takes the same values as the 'trailer.where' configuration " +"variable and it overrides what is specified by that option for trailers with " +"the specified <token>." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:210 en/config.txt:2590 +#: en/git-interpret-trailers.txt:173 #, no-wrap -msgid "rebase.autoSquash" +msgid "trailer.<token>.ifexist" msgstr "" #. type: Plain text -#: en/git-rebase.txt:212 en/config.txt:2592 -msgid "If set to true enable `--autosquash` option by default." +#: en/git-interpret-trailers.txt:177 +msgid "" +"This option takes the same values as the 'trailer.ifexist' configuration " +"variable and it overrides what is specified by that option for trailers with " +"the specified <token>." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:213 en/config.txt:2593 +#: en/git-interpret-trailers.txt:178 #, no-wrap -msgid "rebase.autoStash" +msgid "trailer.<token>.ifmissing" msgstr "" #. type: Plain text -#: en/git-rebase.txt:215 -msgid "If set to true enable `--autostash` option by default." +#: en/git-interpret-trailers.txt:182 +msgid "" +"This option takes the same values as the 'trailer.ifmissing' configuration " +"variable and it overrides what is specified by that option for trailers with " +"the specified <token>." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:216 en/config.txt:2601 +#: en/git-interpret-trailers.txt:183 #, no-wrap -msgid "rebase.missingCommitsCheck" +msgid "trailer.<token>.command" msgstr "" #. type: Plain text -#: en/git-rebase.txt:221 +#: en/git-interpret-trailers.txt:187 msgid "" -"If set to \"warn\", print warnings about removed commits in interactive " -"mode. If set to \"error\", print the warnings and stop the rebase. If set to " -"\"ignore\", no checking is done. \"ignore\" by default." +"This option can be used to specify a shell command that will be called to " +"automatically add or modify a trailer with the specified <token>." msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:222 en/config.txt:2612 -#, no-wrap -msgid "rebase.instructionFormat" +#. type: Plain text +#: en/git-interpret-trailers.txt:193 +msgid "" +"When this option is specified, the behavior is as if a special " +"'<token>=<value>' argument were added at the beginning of the command line, " +"where <value> is taken to be the standard output of the specified command " +"with any leading and trailing whitespace trimmed off." msgstr "" #. type: Plain text -#: en/git-rebase.txt:224 -msgid "Custom commit list format to use during an `--interactive` rebase." +#: en/git-interpret-trailers.txt:197 +msgid "" +"If the command contains the `$ARG` string, this string will be replaced with " +"the <value> part of an existing trailer with the same <token>, if any, " +"before the command is launched." msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:227 -#, no-wrap -msgid "--onto <newbase>" +#. type: Plain text +#: en/git-interpret-trailers.txt:203 +msgid "" +"If some '<token>=<value>' arguments are also passed on the command line, " +"when a 'trailer.<token>.command' is configured, the command will also be " +"executed for each of these arguments. And the <value> part of these " +"arguments, if any, will be used to replace the `$ARG` string in the command." msgstr "" #. type: Plain text -#: en/git-rebase.txt:232 +#: en/git-interpret-trailers.txt:209 msgid "" -"Starting point at which to create the new commits. If the --onto option is " -"not specified, the starting point is <upstream>. May be any valid commit, " -"and not just an existing branch name." +"Configure a 'sign' trailer with a 'Signed-off-by' key, and then add two of " +"these trailers to a message:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:236 +#. type: delimited block - +#: en/git-interpret-trailers.txt:214 +#, no-wrap msgid "" -"As a special case, you may use \"A\\...B\" as a shortcut for the merge base " -"of A and B if there is exactly one merge base. You can leave out at most one " -"of A and B, in which case it defaults to HEAD." +"$ git config trailer.sign.key \"Signed-off-by\"\n" +"$ cat msg.txt\n" +"subject\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:241 +#. type: delimited block - +#: en/git-interpret-trailers.txt:218 +#, no-wrap msgid "" -"Upstream branch to compare against. May be any valid commit, not just an " -"existing branch name. Defaults to the configured upstream for the current " -"branch." +"message\n" +"$ cat msg.txt | git interpret-trailers --trailer 'sign: Alice <alice@example.com>' --trailer 'sign: Bob <bob@example.com>'\n" +"subject\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:247 -msgid "Restart the rebasing process after having resolved a merge conflict." +#. type: delimited block - +#: en/git-interpret-trailers.txt:220 en/git-interpret-trailers.txt:232 +#: en/git-interpret-trailers.txt:239 en/git-interpret-trailers.txt:303 +#, no-wrap +msgid "message\n" +msgstr "" + +#. type: delimited block - +#: en/git-interpret-trailers.txt:223 +#, no-wrap +msgid "" +"Signed-off-by: Alice <alice@example.com>\n" +"Signed-off-by: Bob <bob@example.com>\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:254 +#: en/git-interpret-trailers.txt:226 +msgid "Use the `--in-place` option to edit a message file in place:" +msgstr "" + +#. type: delimited block - +#: en/git-interpret-trailers.txt:230 +#, no-wrap msgid "" -"Abort the rebase operation and reset HEAD to the original branch. If " -"<branch> was provided when the rebase operation was started, then HEAD will " -"be reset to <branch>. Otherwise HEAD will be reset to where it was when the " -"rebase operation was started." +"$ cat msg.txt\n" +"subject\n" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:255 en/sequencer.txt:6 +#. type: delimited block - +#: en/git-interpret-trailers.txt:237 #, no-wrap -msgid "--quit" +msgid "" +"Signed-off-by: Bob <bob@example.com>\n" +"$ git interpret-trailers --trailer 'Acked-by: Alice <alice@example.com>' --in-place msg.txt\n" +"$ cat msg.txt\n" +"subject\n" +msgstr "" + +#. type: delimited block - +#: en/git-interpret-trailers.txt:242 +#, no-wrap +msgid "" +"Signed-off-by: Bob <bob@example.com>\n" +"Acked-by: Alice <alice@example.com>\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:259 +#: en/git-interpret-trailers.txt:246 msgid "" -"Abort the rebase operation but HEAD is not reset back to the original " -"branch. The index and working tree are also left unchanged as a result." +"Extract the last commit as a patch, and add a 'Cc' and a 'Reviewed-by' " +"trailer to it:" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:260 +#. type: delimited block - +#: en/git-interpret-trailers.txt:251 #, no-wrap -msgid "--keep-empty" +msgid "" +"$ git format-patch -1\n" +"0001-foo.patch\n" +"$ git interpret-trailers --trailer 'Cc: Alice <alice@example.com>' --trailer 'Reviewed-by: Bob <bob@example.com>' 0001-foo.patch >0001-bar.patch\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:263 +#: en/git-interpret-trailers.txt:256 msgid "" -"Keep the commits that do not change anything from its parents in the result." +"Configure a 'sign' trailer with a command to automatically add a 'Signed-off-" +"by: ' with the author information only if there is no 'Signed-off-by: ' " +"already, and show how it works:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:266 -msgid "Restart the rebasing process by skipping the current patch." +#. type: delimited block - +#: en/git-interpret-trailers.txt:264 +#, no-wrap +msgid "" +"$ git config trailer.sign.key \"Signed-off-by: \"\n" +"$ git config trailer.sign.ifmissing add\n" +"$ git config trailer.sign.ifexists doNothing\n" +"$ git config trailer.sign.command 'echo \"$(git config user.name) <$(git config user.email)>\"'\n" +"$ git interpret-trailers <<EOF\n" +"> EOF\n" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:267 +#. type: delimited block - +#: en/git-interpret-trailers.txt:269 #, no-wrap -msgid "--edit-todo" +msgid "" +"Signed-off-by: Bob <bob@example.com>\n" +"$ git interpret-trailers <<EOF\n" +"> Signed-off-by: Alice <alice@example.com>\n" +"> EOF\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:269 -msgid "Edit the todo list during an interactive rebase." +#. type: delimited block - +#: en/git-interpret-trailers.txt:271 +#, no-wrap +msgid "Signed-off-by: Alice <alice@example.com>\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:275 +#: en/git-interpret-trailers.txt:275 msgid "" -"Use merging strategies to rebase. When the recursive (default) merge " -"strategy is used, this allows rebase to be aware of renames on the upstream " -"side." +"Configure a 'fix' trailer with a key that contains a '#' and no space after " +"this character, and show how it works:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:281 +#. type: delimited block - +#: en/git-interpret-trailers.txt:281 +#, no-wrap msgid "" -"Note that a rebase merge works by replaying each commit from the working " -"branch on top of the <upstream> branch. Because of this, when a merge " -"conflict happens, the side reported as 'ours' is the so-far rebased series, " -"starting with <upstream>, and 'theirs' is the working branch. In other " -"words, the sides are swapped." +"$ git config trailer.separators \":#\"\n" +"$ git config trailer.fix.key \"Fix #\"\n" +"$ echo \"subject\" | git interpret-trailers --trailer fix=42\n" +"subject\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:287 -msgid "" -"Use the given merge strategy. If there is no `-s` option 'git merge-" -"recursive' is used instead. This implies --merge." +#. type: delimited block - +#: en/git-interpret-trailers.txt:283 +#, no-wrap +msgid "Fix #42\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:292 +#: en/git-interpret-trailers.txt:287 msgid "" -"Because 'git rebase' replays each commit from the working branch on top of " -"the <upstream> branch using the given strategy, using the 'ours' strategy " -"simply discards all patches from the <branch>, which makes little sense." +"Configure a 'see' trailer with a command to show the subject of a commit " +"that is related, and show how it works:" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:293 -#, fuzzy, no-wrap -#| msgid "status" -msgid "-X <strategy-option>" -msgstr "status" +#. type: delimited block - +#: en/git-interpret-trailers.txt:301 +#, no-wrap +msgid "" +"$ git config trailer.see.key \"See-also: \"\n" +"$ git config trailer.see.ifExists \"replace\"\n" +"$ git config trailer.see.ifMissing \"doNothing\"\n" +"$ git config trailer.see.command \"git log -1 --oneline --format=\\\"%h (%s)\\\" --abbrev-commit --abbrev=14 \\$ARG\"\n" +"$ git interpret-trailers <<EOF\n" +"> subject\n" +"> \n" +"> message\n" +"> \n" +"> see: HEAD~2\n" +"> EOF\n" +"subject\n" +msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:294 +#. type: delimited block - +#: en/git-interpret-trailers.txt:305 #, no-wrap -msgid "--strategy-option=<strategy-option>" +msgid "See-also: fe3187489d69c4 (subject of related commit)\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:299 +#: en/git-interpret-trailers.txt:312 msgid "" -"Pass the <strategy-option> through to the merge strategy. This implies `--" -"merge` and, if no strategy has been specified, `-s recursive`. Note the " -"reversal of 'ours' and 'theirs' as noted above for the `-m` option." +"Configure a commit template with some trailers with empty values (using sed " +"to show and keep the trailing spaces at the end of the trailers), then " +"configure a commit-msg hook that uses 'git interpret-trailers' to remove " +"trailers with empty values and to add a 'git-version' trailer:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:309 -msgid "Be quiet. Implies --no-stat." +#. type: delimited block - +#: en/git-interpret-trailers.txt:331 +#, no-wrap +msgid "" +"$ sed -e 's/ Z$/ /' >commit_template.txt <<EOF\n" +"> ***subject***\n" +"> \n" +"> ***message***\n" +"> \n" +"> Fixes: Z\n" +"> Cc: Z\n" +"> Reviewed-by: Z\n" +"> Signed-off-by: Z\n" +"> EOF\n" +"$ git config commit.template commit_template.txt\n" +"$ cat >.git/hooks/commit-msg <<EOF\n" +"> #!/bin/sh\n" +"> git interpret-trailers --trim-empty --trailer \"git-version: \\$(git describe)\" \"\\$1\" > \"\\$1.new\"\n" +"> mv \"\\$1.new\" \"\\$1\"\n" +"> EOF\n" +"$ chmod +x .git/hooks/commit-msg\n" msgstr "" +# #. type: Plain text -#: en/git-rebase.txt:313 +#: en/git-interpret-trailers.txt:336 #, fuzzy #| msgid "" -#| "-v::\n" -#| "--verbose::\n" -#| " Be verbose.\n" -msgid "Be verbose. Implies --stat." +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "" +"linkgit:git-commit[1], linkgit:git-format-patch[1], linkgit:git-config[1]" msgstr "" -"-v::\n" -"--verbose::\n" -" Mode bavard.\n" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" + +#. type: Title = +#: en/git-log.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-log(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-rebase.txt:317 -msgid "" -"Show a diffstat of what changed upstream since the last rebase. The diffstat " -"is also controlled by the configuration option rebase.stat." +#: en/git-log.txt:7 +msgid "git-log - Show commit logs" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:319 en/diff-options.txt:17 en/merge-options.txt:57 +#. type: Plain text +#: en/git-log.txt:13 #, no-wrap -msgid "--no-stat" +msgid "'git log' [<options>] [<revision range>] [[\\--] <path>...]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:321 -msgid "Do not show a diffstat as part of the rebase process." +#: en/git-log.txt:17 +msgid "Shows the commit logs." msgstr "" #. type: Plain text -#: en/git-rebase.txt:324 -#, fuzzy -#| msgid "" -#| "-n::\n" -#| "--no-verify::\n" -#| "\tThis option bypasses the pre-commit and commit-msg hooks.\n" -#| "\tSee also linkgit:githooks[5].\n" +#: en/git-log.txt:22 msgid "" -"This option bypasses the pre-rebase hook. See also linkgit:githooks[5]." +"The command takes options applicable to the `git rev-list` command to " +"control what is shown and how, and options applicable to the `git diff-*` " +"commands to control how the changes each commit introduces are shown." msgstr "" -"-n::\n" -"--no-verify::\n" -"\tCette option court-circuite les crochets pre-commit et commit-msg.\n" -"\tVoir aussi linkgit:githooks[5].\n" #. type: Labeled list -#: en/git-rebase.txt:325 en/git-rev-parse.txt:98 en/git-show-ref.txt:59 -#: en/git-tag.txt:80 +#: en/git-log.txt:27 #, no-wrap -msgid "--verify" +msgid "--follow" msgstr "" #. type: Plain text -#: en/git-rebase.txt:328 +#: en/git-log.txt:30 msgid "" -"Allows the pre-rebase hook to run, which is the default. This option can be " -"used to override --no-verify. See also linkgit:githooks[5]." +"Continue listing the history of a file beyond renames (works only for a " +"single file)." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:336 +#: en/git-log.txt:31 #, no-wrap -msgid "--force-rebase" +msgid "--no-decorate" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:339 -msgid "" -"Force a rebase even if the current branch is up-to-date and the command " -"without `--force` would return without doing anything." +#. type: Labeled list +#: en/git-log.txt:32 +#, no-wrap +msgid "--decorate[=short|full|auto|no]" msgstr "" #. type: Plain text -#: en/git-rebase.txt:345 +#: en/git-log.txt:40 msgid "" -"You may find this (or --no-ff with an interactive rebase) helpful after " -"reverting a topic branch merge, as this option recreates the topic branch " -"with fresh commits so it can be remerged successfully without needing to " -"\"revert the reversion\" (see the link:howto/revert-a-faulty-merge." -"html[revert-a-faulty-merge How-To] for details)." +"Print out the ref names of any commits that are shown. If 'short' is " +"specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and 'refs/" +"remotes/' will not be printed. If 'full' is specified, the full ref name " +"(including prefix) will be printed. If 'auto' is specified, then if the " +"output is going to a terminal, the ref names are shown as if 'short' were " +"given, otherwise no ref names are shown. The default option is 'short'." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:347 +#: en/git-log.txt:41 #, no-wrap -msgid "--no-fork-point" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:351 -msgid "" -"Use reflog to find a better common ancestor between <upstream> and <branch> " -"when calculating which commits have been introduced by <branch>." +msgid "--source" msgstr "" #. type: Plain text -#: en/git-rebase.txt:357 +#: en/git-log.txt:44 msgid "" -"When --fork-point is active, 'fork_point' will be used instead of <upstream> " -"to calculate the set of commits to rebase, where 'fork_point' is the result " -"of `git merge-base --fork-point <upstream> <branch>` command (see linkgit:" -"git-merge-base[1]). If 'fork_point' ends up being empty, the <upstream> " -"will be used as a fallback." +"Print out the ref name given on the command line by which each commit was " +"reached." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:360 -msgid "" -"If either <upstream> or --root is given on the command line, then the " -"default is `--no-fork-point`, otherwise the default is `--fork-point`." -msgstr "" +#. type: Labeled list +#: en/git-log.txt:45 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--use-mailmap" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-rebase.txt:366 +#: en/git-log.txt:49 msgid "" -"These flag are passed to the 'git apply' program (see linkgit:git-apply[1]) " -"that applies the patch. Incompatible with the --interactive option." +"Use mailmap file to map author and committer names and email addresses to " +"canonical real names and email addresses. See linkgit:git-shortlog[1]." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:372 -msgid "" -"These flags are passed to 'git am' to easily change the dates of the rebased " -"commits (see linkgit:git-am[1]). Incompatible with the --interactive option." +#. type: Labeled list +#: en/git-log.txt:50 +#, no-wrap +msgid "--full-diff" msgstr "" #. type: Plain text -#: en/git-rebase.txt:378 +#: en/git-log.txt:56 msgid "" -"Make a list of the commits which are about to be rebased. Let the user edit " -"that list before rebasing. This mode can also be used to split commits (see " -"SPLITTING COMMITS below)." +"Without this flag, `git log -p <path>...` shows commits that touch the " +"specified paths, and diffs about the same specified paths. With this, the " +"full diff is shown for commits that touch the specified paths; this means " +"that \"<path>...\" limits only commits, and doesn't limit diff for those " +"commits." msgstr "" #. type: Plain text -#: en/git-rebase.txt:382 +#: en/git-log.txt:59 msgid "" -"The commit list format can be changed by setting the configuration option " -"rebase.instructionFormat. A customized instruction format will " -"automatically have the long commit hash prepended to the format." +"Note that this affects all diff-based output types, e.g. those produced by " +"`--stat`, etc." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:384 en/git-svn.txt:642 +#: en/git-log.txt:60 #, no-wrap -msgid "--preserve-merges" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:388 -msgid "" -"Recreate merge commits instead of flattening the history by replaying " -"commits a merge commit introduces. Merge conflict resolutions or manual " -"amendments to merge commits are not preserved." +msgid "--log-size" msgstr "" #. type: Plain text -#: en/git-rebase.txt:392 +#: en/git-log.txt:65 msgid "" -"This uses the `--interactive` machinery internally, but combining it with " -"the `--interactive` option explicitly is generally not a good idea unless " -"you know what you are doing (see BUGS below)." +"Include a line ``log size <number>'' in the output for each commit, where " +"<number> is the length of that commit's message in bytes. Intended to speed " +"up tools that read log messages from `git log` output by allowing them to " +"allocate space in advance." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:393 +#: en/git-log.txt:66 #, no-wrap -msgid "-x <cmd>" +msgid "-L <start>,<end>:<file>" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:394 +#: en/git-log.txt:67 #, no-wrap -msgid "--exec <cmd>" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:398 -msgid "" -"Append \"exec <cmd>\" after each line creating a commit in the final " -"history. <cmd> will be interpreted as one or more shell commands." +msgid "-L :<funcname>:<file>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:401 +#: en/git-log.txt:74 msgid "" -"You may execute several commands by either using one instance of `--exec` " -"with several commands:" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:403 -#, no-wrap -msgid "\tgit rebase -i --exec \"cmd1 && cmd2 && ...\"\n" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:405 -msgid "or by giving more than one `--exec`:" +"Trace the evolution of the line range given by \"<start>,<end>\" (or the " +"function name regex <funcname>) within the <file>. You may not give any " +"pathspec limiters. This is currently limited to a walk starting from a " +"single revision, i.e., you may only give zero or one positive revision " +"arguments. You can specify this option more than once." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:407 +#. type: Labeled list +#: en/git-log.txt:77 en/git-shortlog.txt:63 #, no-wrap -msgid "\tgit rebase -i --exec \"cmd1\" --exec \"cmd2\" --exec ...\n" +msgid "<revision range>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:411 +#: en/git-log.txt:85 msgid "" -"If `--autosquash` is used, \"exec\" lines will not be appended for the " -"intermediate commits, and will only appear at the end of each squash/fixup " -"series." +"Show only commits in the specified revision range. When no <revision range> " +"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " +"current commit). `origin..HEAD` specifies all the commits reachable from " +"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " +"of ways to spell <revision range>, see the 'Specifying Ranges' section of " +"linkgit:gitrevisions[7]." msgstr "" #. type: Plain text -#: en/git-rebase.txt:414 +#: en/git-log.txt:91 +#, no-wrap msgid "" -"This uses the `--interactive` machinery internally, but it can be run " -"without an explicit `--interactive`." +"[\\--] <path>...::\n" +"\tShow only commits that are enough to explain how the files\n" +"\tthat match the specified paths came to be. See 'History\n" +"\tSimplification' below for details and other simplification\n" +"\tmodes.\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:424 +#: en/git-log.txt:94 msgid "" -"Rebase all commits reachable from <branch>, instead of limiting them with an " -"<upstream>. This allows you to rebase the root commit(s) on a branch. When " -"used with --onto, it will skip changes already contained in <newbase> " -"(instead of <upstream>) whereas without --onto it will operate on every " -"change. When used together with both --onto and --preserve-merges, 'all' " -"root commits will be rewritten to have <newbase> as parent instead." +"Paths may need to be prefixed with ``\\-- '' to separate them from options " +"or the revision range, when confusion arises." msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:425 +#. type: Title - +#: en/git-log.txt:100 en/git-show.txt:49 #, no-wrap -msgid "--autosquash" +msgid "COMMON DIFF OPTIONS" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:426 +#: en/git-log.txt:109 #, no-wrap -msgid "--no-autosquash" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:435 -msgid "" -"When the commit log message begins with \"squash! ...\" (or \"fixup! ...\"), " -"and there is a commit whose title begins with the same ..., automatically " -"modify the todo list of rebase -i so that the commit marked for squashing " -"comes right after the commit to be modified, and change the action of the " -"moved commit from `pick` to `squash` (or `fixup`). Ignores subsequent " -"\"fixup! \" or \"squash! \" after the first, in case you referred to an " -"earlier fixup/squash with `git commit --fixup/--squash`." +msgid "`git log --no-merges`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:437 -msgid "This option is only valid when the `--interactive` option is used." +#: en/git-log.txt:112 +msgid "Show the whole commit history, but skip any merges" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:441 -msgid "" -"If the `--autosquash` option is enabled by default using the configuration " -"variable `rebase.autoSquash`, this option can be used to override and " -"disable this setting." +#. type: Labeled list +#: en/git-log.txt:113 +#, no-wrap +msgid "`git log v2.6.12.. include/scsi drivers/scsi`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:449 +#: en/git-log.txt:117 msgid "" -"Automatically create a temporary stash before the operation begins, and " -"apply it after the operation ends. This means that you can run rebase on a " -"dirty worktree. However, use with care: the final stash application after a " -"successful rebase might result in non-trivial conflicts." +"Show all commits since version 'v2.6.12' that changed any file in the " +"`include/scsi` or `drivers/scsi` subdirectories" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:450 en/merge-options.txt:35 +#: en/git-log.txt:118 #, no-wrap -msgid "--no-ff" +msgid "`git log --since=\"2 weeks ago\" -- gitk`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:454 +#: en/git-log.txt:123 msgid "" -"With --interactive, cherry-pick all rebased commits instead of fast-" -"forwarding over the unchanged ones. This ensures that the entire history of " -"the rebased branch is composed of new commits." +"Show the changes during the last two weeks to the file 'gitk'. The ``--'' " +"is necessary to avoid confusion with the *branch* named 'gitk'" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:456 -msgid "Without --interactive, this is a synonym for --force-rebase." +#. type: Labeled list +#: en/git-log.txt:124 +#, no-wrap +msgid "`git log --name-status release..test`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:461 +#: en/git-log.txt:129 msgid "" -"You may find this helpful after reverting a topic branch merge, as this " -"option recreates the topic branch with fresh commits so it can be remerged " -"successfully without needing to \"revert the reversion\" (see the link:howto/" -"revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details)." +"Show the commits that are in the \"test\" branch but not yet in the \"release" +"\" branch, along with the list of paths each commit modifies." msgstr "" -#. type: Title - -#: en/git-rebase.txt:465 en/git-symbolic-ref.txt:54 +#. type: Labeled list +#: en/git-log.txt:130 #, no-wrap -msgid "NOTES" +msgid "`git log --follow builtin/rev-list.c`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:470 -#, fuzzy -#| msgid "" -#| "You should understand the implications of rewriting history if you amend " -#| "a commit that has already been published. (See the \"RECOVERING FROM " -#| "UPSTREAM REBASE\" section in linkgit:git-rebase[1].)" +#: en/git-log.txt:135 msgid "" -"You should understand the implications of using 'git rebase' on a repository " -"that you share. See also RECOVERING FROM UPSTREAM REBASE below." +"Shows the commits that changed `builtin/rev-list.c`, including those commits " +"that occurred before the file was given its present name." msgstr "" -"Vous devriez comprendre les implications d'une r챕챕criture de l'historique si " -"vous modifiez un commit qui a d챕j횪 챕t챕 publi챕 (Voir la section 짬혻RATTRAPPER " -"UN REBASAGE AMONT혻쨩 dans linkgit:git-rebase[1])." -#. type: Plain text -#: en/git-rebase.txt:475 -msgid "" -"When the git-rebase command is run, it will first execute a \"pre-rebase\" " -"hook if one exists. You can use this hook to do sanity checks and reject " -"the rebase if it isn't appropriate. Please see the template pre-rebase hook " -"script for an example." +#. type: Labeled list +#: en/git-log.txt:136 +#, no-wrap +msgid "`git log --branches --not --remotes=origin`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:477 -msgid "Upon completion, <branch> will be the current branch." +#: en/git-log.txt:141 +msgid "" +"Shows all commits that are in any of local branches but not in any of remote-" +"tracking branches for 'origin' (what you have that origin doesn't)." msgstr "" -#. type: Title - -#: en/git-rebase.txt:479 +#. type: Labeled list +#: en/git-log.txt:142 #, no-wrap -msgid "INTERACTIVE MODE" +msgid "`git log master --not --remotes=*/master`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:484 +#: en/git-log.txt:146 msgid "" -"Rebasing interactively means that you have a chance to edit the commits " -"which are rebased. You can reorder the commits, and you can remove them " -"(weeding out bad or otherwise unwanted patches)." +"Shows all commits that are in local master but not in any remote repository " +"master branches." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:486 -msgid "The interactive mode is meant for this type of workflow:" +#. type: Labeled list +#: en/git-log.txt:147 +#, no-wrap +msgid "`git log -p -m --first-parent`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:488 -msgid "have a wonderful idea" +#: en/git-log.txt:154 +msgid "" +"Shows the history including change diffs, but only from the ``main branch'' " +"perspective, skipping commits that come from merged branches, and showing " +"full diffs of changes introduced by the merges. This makes sense only when " +"following a strict policy of merging all topic branches when staying on a " +"single integration branch." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:489 -msgid "hack on the code" +#. type: Labeled list +#: en/git-log.txt:155 +#, no-wrap +msgid "`git log -L '/int main/',/^}/:main.c`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:490 -msgid "prepare a series for submission" +#: en/git-log.txt:159 +msgid "Shows how the function `main()` in the file `main.c` evolved over time." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:491 -msgid "submit" +#. type: Labeled list +#: en/git-log.txt:160 +#, no-wrap +msgid "`git log -3`" msgstr "" #. type: Plain text -#: en/git-rebase.txt:493 -msgid "where point 2. consists of several instances of" +#: en/git-log.txt:163 +msgid "Limits the number of commits to show to 3." msgstr "" #. type: Plain text -#: en/git-rebase.txt:495 -msgid "regular use" +#: en/git-log.txt:174 +msgid "" +"See linkgit:git-config[1] for core variables and linkgit:git-diff[1] for " +"settings related to diff generation." msgstr "" #. type: Plain text -#: en/git-rebase.txt:497 -msgid "finish something worthy of a commit" +#: en/git-log.txt:178 +msgid "" +"Default for the `--format` option. (See 'Pretty Formats' above.) Defaults " +"to `medium`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:498 -#, fuzzy -#| msgid "git-commit(1)" -msgid "commit" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-rebase.txt:500 -msgid "independent fixup" +#: en/git-log.txt:183 +msgid "" +"Encoding to use when displaying logs. (See 'Discussion' above.) Defaults " +"to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise." msgstr "" #. type: Plain text -#: en/git-rebase.txt:502 -msgid "realize that something does not work" +#: en/git-log.txt:188 +msgid "" +"Default format for human-readable dates. (Compare the `--date` option.) " +"Defaults to \"default\", which means to write dates like `Sat May 8 19:35:34 " +"2010 -0500`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:503 -msgid "fix that" +#: en/git-log.txt:200 +msgid "" +"If `false`, `git log` and related commands will not treat the initial commit " +"as a big creation event. Any root commits in `git log -p` output would be " +"shown without a diff attached. The default is `true`." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:504 -#, fuzzy -#| msgid "git-commit(1)" -msgid "commit it" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/git-log.txt:201 +#, no-wrap +msgid "log.showSignature" +msgstr "" #. type: Plain text -#: en/git-rebase.txt:510 +#: en/git-log.txt:204 msgid "" -"Sometimes the thing fixed in b.2. cannot be amended to the not-quite perfect " -"commit it fixes, because that commit is buried deeply in a patch series. " -"That is exactly what interactive rebase is for: use it after plenty of \"a" -"\"s and \"b\"s, by rearranging and editing commits, and squashing multiple " -"commits into one." +"If `true`, `git log` and related commands will act as if the `--show-" +"signature` option was passed to them." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:512 -msgid "Start it with the last commit you want to retain as-is:" +#. type: Labeled list +#: en/git-log.txt:205 +#, no-wrap +msgid "mailmap.*" msgstr "" #. type: Plain text -#: en/git-rebase.txt:514 -#, no-wrap -msgid "\tgit rebase -i <after-this-commit>\n" +#: en/git-log.txt:207 +msgid "See linkgit:git-shortlog[1]." msgstr "" #. type: Plain text -#: en/git-rebase.txt:519 +#: en/git-log.txt:213 msgid "" -"An editor will be fired up with all the commits in your current branch " -"(ignoring merge commits), which come after the given commit. You can " -"reorder the commits in this list to your heart's content, and you can remove " -"them. The list looks more or less like this:" +"Which refs, in addition to the default set by `core.notesRef` or " +"`GIT_NOTES_REF`, to read notes from when showing commit messages with the " +"`log` family of commands. See linkgit:git-notes[1]." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:524 -#, no-wrap +#. type: Plain text +#: en/git-log.txt:217 msgid "" -"pick deadbee The oneline of this commit\n" -"pick fa1afe1 The oneline of the next commit\n" -"...\n" +"May be an unabbreviated ref name or a glob and may be specified multiple " +"times. A warning will be issued for refs that do not exist, but a glob that " +"does not match any refs is silently ignored." msgstr "" #. type: Plain text -#: en/git-rebase.txt:529 +#: en/git-log.txt:221 msgid "" -"The oneline descriptions are purely for your pleasure; 'git rebase' will not " -"look at them but at the commit names (\"deadbee\" and \"fa1afe1\" in this " -"example), so do not delete or edit the names." +"This setting can be disabled by the `--no-notes` option, overridden by the " +"`GIT_NOTES_DISPLAY_REF` environment variable, and overridden by the `--" +"notes=<ref>` option." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:534 -msgid "" -"By replacing the command \"pick\" with the command \"edit\", you can tell " -"'git rebase' to stop after applying that commit, so that you can edit the " -"files and/or the commit message, amend the commit, and continue rebasing." +#. type: Title = +#: en/git-ls-files.txt:2 +#, no-wrap +msgid "git-ls-files(1)" msgstr "" +# #. type: Plain text -#: en/git-rebase.txt:537 +#: en/git-ls-files.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" msgid "" -"If you just want to edit the commit message for a commit, replace the " -"command \"pick\" with the command \"reword\"." -msgstr "" +"git-ls-files - Show information about files in the index and the working tree" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-rebase.txt:540 +#: en/git-ls-files.txt:23 +#, no-wrap msgid "" -"To drop a commit, replace the command \"pick\" with \"drop\", or just delete " -"the matching line." +"'git ls-files' [-z] [-t] [-v]\n" +"\t\t(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])*\n" +"\t\t(-[c|d|o|i|s|u|k|m])*\n" +"\t\t[--eol]\n" +"\t\t[-x <pattern>|--exclude=<pattern>]\n" +"\t\t[-X <file>|--exclude-from=<file>]\n" +"\t\t[--exclude-per-directory=<file>]\n" +"\t\t[--exclude-standard]\n" +"\t\t[--error-unmatch] [--with-tree=<tree-ish>]\n" +"\t\t[--full-name] [--recurse-submodules]\n" +"\t\t[--abbrev] [--] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:548 +#: en/git-ls-files.txt:29 msgid "" -"If you want to fold two or more commits into one, replace the command \"pick" -"\" for the second and subsequent commits with \"squash\" or \"fixup\". If " -"the commits had different authors, the folded commit will be attributed to " -"the author of the first commit. The suggested commit message for the folded " -"commit is the concatenation of the commit messages of the first commit and " -"of those with the \"squash\" command, but omits the commit messages of " -"commits with the \"fixup\" command." +"This merges the file listing in the directory cache index with the actual " +"working directory list, and shows different combinations of the two." msgstr "" #. type: Plain text -#: en/git-rebase.txt:552 +#: en/git-ls-files.txt:32 msgid "" -"'git rebase' will stop when \"pick\" has been replaced with \"edit\" or when " -"a command fails due to merge errors. When you are done editing and/or " -"resolving conflicts you can continue with `git rebase --continue`." +"One or more of the options below may be used to determine the files shown:" msgstr "" #. type: Plain text -#: en/git-rebase.txt:556 -msgid "" -"For example, if you want to reorder the last 5 commits, such that what was " -"HEAD~4 becomes the new HEAD. To achieve that, you would call 'git rebase' " -"like this:" +#: en/git-ls-files.txt:38 +msgid "Show cached files in the output (default)" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:559 +#. type: Labeled list +#: en/git-ls-files.txt:40 #, no-wrap -msgid "$ git rebase -i HEAD~5\n" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:562 -msgid "And move the first patch to the end of the list." +msgid "--deleted" msgstr "" #. type: Plain text -#: en/git-rebase.txt:564 -msgid "You might want to preserve merges, if you have a history like this:" +#: en/git-ls-files.txt:42 +msgid "Show deleted files in the output" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:571 -#, no-wrap -msgid "" -" X\n" -" \\\n" -" A---M---B\n" -" /\n" -"---o---O---P---Q\n" -msgstr "" +#. type: Labeled list +#: en/git-ls-files.txt:44 +#, fuzzy, no-wrap +#| msgid "modified content" +msgid "--modified" +msgstr "contenu modifi챕" #. type: Plain text -#: en/git-rebase.txt:575 -msgid "" -"Suppose you want to rebase the side branch starting at \"A\" to \"Q\". Make " -"sure that the current HEAD is \"B\", and call" +#: en/git-ls-files.txt:46 +msgid "Show modified files in the output" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:578 +#. type: Labeled list +#: en/git-ls-files.txt:48 #, no-wrap -msgid "$ git rebase -i -p --onto Q O\n" +msgid "--others" msgstr "" #. type: Plain text -#: en/git-rebase.txt:585 -msgid "" -"Reordering and editing commits usually creates untested intermediate steps. " -"You may want to check that your history editing did not break anything by " -"running a test, or at least recompiling at intermediate points in history by " -"using the \"exec\" command (shortcut \"x\"). You may do so by creating a " -"todo list like this one:" +#: en/git-ls-files.txt:50 +msgid "Show other (i.e. untracked) files in the output" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:594 +#. type: Labeled list +#: en/git-ls-files.txt:52 en/git-status.txt:97 #, no-wrap -msgid "" -"pick deadbee Implement feature XXX\n" -"fixup f1a5c00 Fix to feature XXX\n" -"exec make\n" -"pick c0ffeee The oneline of the next commit\n" -"edit deadbab The oneline of the commit after\n" -"exec cd subdir; make test\n" -"...\n" +msgid "--ignored" msgstr "" #. type: Plain text -#: en/git-rebase.txt:599 +#: en/git-ls-files.txt:57 msgid "" -"The interactive rebase will stop when a command fails (i.e. exits with non-0 " -"status) to give you an opportunity to fix the problem. You can continue with " -"`git rebase --continue`." +"Show only ignored files in the output. When showing files in the index, " +"print only those matched by an exclude pattern. When showing \"other\" " +"files, show only those matched by an exclude pattern." msgstr "" +#. type: Labeled list +#: en/git-ls-files.txt:59 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--stage" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-rebase.txt:604 +#: en/git-ls-files.txt:61 msgid "" -"The \"exec\" command launches the command in a shell (the one specified in `" -"$SHELL`, or the default shell if `$SHELL` is not set), so you can use shell " -"features (like \"cd\", \">\", \";\" ...). The command is run from the root " -"of the working tree." +"Show staged contents' object name, mode bits and stage number in the output." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:607 +#. type: Labeled list +#: en/git-ls-files.txt:62 #, no-wrap -msgid "$ git rebase -i --exec \"make test\"\n" +msgid "--directory" msgstr "" #. type: Plain text -#: en/git-rebase.txt:611 -msgid "" -"This command lets you check that intermediate commits are compilable. The " -"todo list becomes like that:" -msgstr "" - -#. type: delimited block - -#: en/git-rebase.txt:621 -#, no-wrap +#: en/git-ls-files.txt:65 msgid "" -"pick 5928aea one\n" -"exec make test\n" -"pick 04d0fda two\n" -"exec make test\n" -"pick ba46169 three\n" -"exec make test\n" -"pick f4593f9 four\n" -"exec make test\n" +"If a whole directory is classified as \"other\", show just its name (with a " +"trailing slash) and not its whole contents." msgstr "" -#. type: Title - -#: en/git-rebase.txt:624 +#. type: Labeled list +#: en/git-ls-files.txt:66 #, no-wrap -msgid "SPLITTING COMMITS" +msgid "--no-empty-directory" msgstr "" #. type: Plain text -#: en/git-rebase.txt:630 -msgid "" -"In interactive mode, you can mark commits with the action \"edit\". " -"However, this does not necessarily mean that 'git rebase' expects the result " -"of this edit to be exactly one commit. Indeed, you can undo the commit, or " -"you can add other commits. This can be used to split a commit into two:" +#: en/git-ls-files.txt:68 +msgid "Do not list empty directories. Has no effect without --directory." msgstr "" +#. type: Labeled list +#: en/git-ls-files.txt:70 en/git-update-index.txt:65 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--unmerged" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-rebase.txt:634 -msgid "" -"Start an interactive rebase with `git rebase -i <commit>^`, where <commit> " -"is the commit you want to split. In fact, any commit range will do, as long " -"as it contains that commit." +#: en/git-ls-files.txt:72 +msgid "Show unmerged files in the output (forces --stage)" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:636 -msgid "Mark the commit you want to split with the action \"edit\"." +#. type: Labeled list +#: en/git-ls-files.txt:74 +#, no-wrap +msgid "--killed" msgstr "" #. type: Plain text -#: en/git-rebase.txt:640 +#: en/git-ls-files.txt:78 msgid "" -"When it comes to editing that commit, execute `git reset HEAD^`. The effect " -"is that the HEAD is rewound by one, and the index follows suit. However, " -"the working tree stays the same." +"Show files on the filesystem that need to be removed due to file/directory " +"conflicts for checkout-index to succeed." msgstr "" #. type: Plain text -#: en/git-rebase.txt:644 +#: en/git-ls-files.txt:82 msgid "" -"Now add the changes to the index that you want to have in the first commit. " -"You can use `git add` (possibly interactively) or 'git gui' (or both) to do " -"that." +"\\0 line termination on output and do not quote filenames. See OUTPUT below " +"for more information." +msgstr "" + +#. type: Labeled list +#: en/git-ls-files.txt:83 +#, no-wrap +msgid "-x <pattern>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:647 +#: en/git-ls-files.txt:88 msgid "" -"Commit the now-current index with whatever commit message is appropriate now." +"Skip untracked files matching pattern. Note that pattern is a shell " +"wildcard pattern. See EXCLUDE PATTERNS below for more information." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:649 -msgid "Repeat the last two steps until your working tree is clean." +#. type: Labeled list +#: en/git-ls-files.txt:89 +#, no-wrap +msgid "-X <file>" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:651 -msgid "Continue the rebase with `git rebase --continue`." +#. type: Labeled list +#: en/git-ls-files.txt:90 +#, no-wrap +msgid "--exclude-from=<file>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:656 -msgid "" -"If you are not absolutely sure that the intermediate revisions are " -"consistent (they compile, pass the testsuite, etc.) you should use 'git " -"stash' to stash away the not-yet-committed changes after each commit, test, " -"and amend the commit if fixes are necessary." +#: en/git-ls-files.txt:92 +msgid "Read exclude patterns from <file>; 1 per line." msgstr "" -#. type: Title - -#: en/git-rebase.txt:659 +#. type: Labeled list +#: en/git-ls-files.txt:93 #, no-wrap -msgid "RECOVERING FROM UPSTREAM REBASE" +msgid "--exclude-per-directory=<file>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:666 +#: en/git-ls-files.txt:96 msgid "" -"Rebasing (or any other form of rewriting) a branch that others have based " -"work on is a bad idea: anyone downstream of it is forced to manually fix " -"their history. This section explains how to do the fix from the " -"downstream's point of view. The real fix, however, would be to avoid " -"rebasing the upstream in the first place." +"Read additional exclude patterns that apply only to the directory and its " +"subdirectories in <file>." msgstr "" #. type: Plain text -#: en/git-rebase.txt:671 +#: en/git-ls-files.txt:100 msgid "" -"To illustrate, suppose you are in a situation where someone develops a " -"'subsystem' branch, and you are working on a 'topic' that is dependent on " -"this 'subsystem'. You might end up with a history like the following:" +"Add the standard Git exclusions: .git/info/exclude, .gitignore in each " +"directory, and the user's global exclusion file." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:678 +#. type: Labeled list +#: en/git-ls-files.txt:101 #, no-wrap -msgid "" -" o---o---o---o---o---o---o---o---o master\n" -"\t \\\n" -"\t o---o---o---o---o subsystem\n" -"\t\t\t \\\n" -"\t\t\t *---*---* topic\n" +msgid "--error-unmatch" msgstr "" #. type: Plain text -#: en/git-rebase.txt:681 -msgid "If 'subsystem' is rebased against 'master', the following happens:" +#: en/git-ls-files.txt:104 +msgid "" +"If any <file> does not appear in the index, treat this as an error (return " +"1)." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:688 +#. type: Labeled list +#: en/git-ls-files.txt:105 #, no-wrap -msgid "" -" o---o---o---o---o---o---o---o master\n" -"\t \\\t\t\t \\\n" -"\t o---o---o---o---o\t o'--o'--o'--o'--o' subsystem\n" -"\t\t\t \\\n" -"\t\t\t *---*---* topic\n" +msgid "--with-tree=<tree-ish>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:692 +#: en/git-ls-files.txt:111 msgid "" -"If you now continue development as usual, and eventually merge 'topic' to " -"'subsystem', the commits from 'subsystem' will remain duplicated forever:" +"When using --error-unmatch to expand the user supplied <file> (i.e. path " +"pattern) arguments to paths, pretend that paths which were removed in the " +"index since the named <tree-ish> are still present. Using this option with " +"`-s` or `-u` options does not make any sense." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:699 -#, no-wrap +#. type: Plain text +#: en/git-ls-files.txt:119 msgid "" -" o---o---o---o---o---o---o---o master\n" -"\t \\\t\t\t \\\n" -"\t o---o---o---o---o\t o'--o'--o'--o'--o'--M\t subsystem\n" -"\t\t\t \\\t\t\t /\n" -"\t\t\t *---*---*-..........-*--* topic\n" +"This feature is semi-deprecated. For scripting purpose, linkgit:git-" +"status[1] `--porcelain` and linkgit:git-diff-files[1] `--name-status` are " +"almost always superior alternatives, and users should look at linkgit:git-" +"status[1] `--short` or linkgit:git-diff[1] `--name-status` for more user-" +"friendly alternatives." msgstr "" #. type: Plain text -#: en/git-rebase.txt:706 +#: en/git-ls-files.txt:122 msgid "" -"Such duplicates are generally frowned upon because they clutter up history, " -"making it harder to follow. To clean things up, you need to transplant the " -"commits on 'topic' to the new 'subsystem' tip, i.e., rebase 'topic'. This " -"becomes a ripple effect: anyone downstream from 'topic' is forced to rebase " -"too, and so on!" +"This option identifies the file status with the following tags (followed by " +"a space) at the start of each line:" +msgstr "" + +#. type: Labeled list +#: en/git-ls-files.txt:123 +#, no-wrap +msgid "H" msgstr "" #. type: Plain text -#: en/git-rebase.txt:708 -msgid "There are two kinds of fixes, discussed in the following subsections:" +#: en/git-ls-files.txt:124 +msgid "cached" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:709 +#: en/git-ls-files.txt:124 #, no-wrap -msgid "Easy case: The changes are literally the same." +msgid "S" msgstr "" #. type: Plain text -#: en/git-rebase.txt:713 -msgid "" -"This happens if the 'subsystem' rebase was a simple rebase and had no " -"conflicts." +#: en/git-ls-files.txt:125 +msgid "skip-worktree" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:714 +#: en/git-ls-files.txt:125 #, no-wrap -msgid "Hard case: The changes are not the same." +msgid "M" msgstr "" #. type: Plain text -#: en/git-rebase.txt:720 -msgid "" -"This happens if the 'subsystem' rebase had conflicts, or used `--" -"interactive` to omit, edit, squash, or fixup commits; or if the upstream " -"used one of `commit --amend`, `reset`, or `filter-branch`." +#: en/git-ls-files.txt:126 +msgid "unmerged" msgstr "" -#. type: Title ~ -#: en/git-rebase.txt:723 +#. type: Labeled list +#: en/git-ls-files.txt:126 #, no-wrap -msgid "The easy case" +msgid "R" msgstr "" #. type: Plain text -#: en/git-rebase.txt:728 -msgid "" -"Only works if the changes (patch IDs based on the diff contents) on " -"'subsystem' are literally the same before and after the rebase 'subsystem' " -"did." +#: en/git-ls-files.txt:127 +#, fuzzy +#| msgid "removed content" +msgid "removed/deleted" +msgstr "contenu supprim챕" + +#. type: Labeled list +#: en/git-ls-files.txt:127 +#, no-wrap +msgid "C" msgstr "" #. type: Plain text -#: en/git-rebase.txt:732 -msgid "" -"In that case, the fix is easy because 'git rebase' knows to skip changes " -"that are already present in the new upstream. So if you say (assuming " -"you're on 'topic')" -msgstr "" +#: en/git-ls-files.txt:128 +#, fuzzy +#| msgid "modified content" +msgid "modified/changed" +msgstr "contenu modifi챕" -#. type: delimited block - -#: en/git-rebase.txt:734 +#. type: Labeled list +#: en/git-ls-files.txt:128 #, no-wrap -msgid " $ git rebase subsystem\n" +msgid "K" msgstr "" #. type: Plain text -#: en/git-rebase.txt:736 -msgid "you will end up with the fixed history" +#: en/git-ls-files.txt:129 +msgid "to be killed" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:742 +#. type: Labeled list +#: en/git-ls-files.txt:129 #, no-wrap -msgid "" -" o---o---o---o---o---o---o---o master\n" -"\t\t\t\t \\\n" -"\t\t\t\t o'--o'--o'--o'--o' subsystem\n" -"\t\t\t\t\t\t \\\n" -"\t\t\t\t\t\t *---*---* topic\n" +msgid "?" msgstr "" #. type: Title ~ -#: en/git-rebase.txt:746 +#: en/git-ls-files.txt:130 en/git.txt:990 #, no-wrap -msgid "The hard case" +msgid "other" msgstr "" #. type: Plain text -#: en/git-rebase.txt:750 +#: en/git-ls-files.txt:135 msgid "" -"Things get more complicated if the 'subsystem' changes do not exactly " -"correspond to the ones before the rebase." +"Similar to `-t`, but use lowercase letters for files that are marked as " +"'assume unchanged' (see linkgit:git-update-index[1])." msgstr "" #. type: Plain text -#: en/git-rebase.txt:755 -#, no-wrap +#: en/git-ls-files.txt:145 msgid "" -"While an \"easy case recovery\" sometimes appears to be successful\n" -" even in the hard case, it may have unintended consequences. For\n" -" example, a commit that was removed via `git rebase\n" -" --interactive` will be **resurrected**!\n" +"Recursively calls ls-files on each submodule in the repository. Currently " +"there is only support for the --cached mode." msgstr "" #. type: Plain text -#: en/git-rebase.txt:760 +#: en/git-ls-files.txt:150 en/git-ls-tree.txt:67 msgid "" -"The idea is to manually tell 'git rebase' \"where the old 'subsystem' ended " -"and your 'topic' began\", that is, what the old merge-base between them " -"was. You will have to find a way to name the last commit of the old " -"'subsystem', for example:" +"Instead of showing the full 40-byte hexadecimal object lines, show only a " +"partial prefix. Non default number of digits can be specified with --" +"abbrev=<n>." msgstr "" #. type: Plain text -#: en/git-rebase.txt:764 +#: en/git-ls-files.txt:156 msgid "" -"With the 'subsystem' reflog: after 'git fetch', the old tip of 'subsystem' " -"is at `subsystem@{1}`. Subsequent fetches will increase the number. (See " -"linkgit:git-reflog[1].)" +"After each line that describes a file, add more data about its cache entry. " +"This is intended to show as much information as possible for manual " +"inspection; the exact format may change at any time." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:767 -msgid "" -"Relative to the tip of 'topic': knowing that your 'topic' has three commits, " -"the old tip of 'subsystem' must be `topic~3`." +#. type: Labeled list +#: en/git-ls-files.txt:157 +#, no-wrap +msgid "--eol" msgstr "" #. type: Plain text -#: en/git-rebase.txt:770 +#: en/git-ls-files.txt:162 msgid "" -"You can then transplant the old `subsystem..topic` to the new tip by saying " -"(for the reflog case, and assuming you are on 'topic' already):" -msgstr "" - -#. type: delimited block - -#: en/git-rebase.txt:772 -#, no-wrap -msgid " $ git rebase --onto subsystem subsystem@{1}\n" +"Show <eolinfo> and <eolattr> of files. <eolinfo> is the file content " +"identification used by Git when the \"text\" attribute is \"auto\" (or not " +"set and core.autocrlf is not false). <eolinfo> is either \"-text\", \"none" +"\", \"lf\", \"crlf\", \"mixed\" or \"\"." msgstr "" #. type: Plain text -#: en/git-rebase.txt:777 +#: en/git-ls-files.txt:165 msgid "" -"The ripple effect of a \"hard case\" recovery is especially bad: 'everyone' " -"downstream from 'topic' will now have to perform a \"hard case\" recovery " -"too!" +"\"\" means the file is not a regular file, it is not in the index or not " +"accessible in the working tree." msgstr "" #. type: Plain text -#: en/git-rebase.txt:784 +#: en/git-ls-files.txt:169 msgid "" -"The todo list presented by `--preserve-merges --interactive` does not " -"represent the topology of the revision graph. Editing commits and rewording " -"their commit messages should work fine, but attempts to reorder commits tend " -"to produce counterintuitive results." +"<eolattr> is the attribute that is used when checking out or committing, it " +"is either \"\", \"-text\", \"text\", \"text=auto\", \"text eol=lf\", \"text " +"eol=crlf\". Since Git 2.10 \"text=auto eol=lf\" and \"text=auto eol=crlf\" " +"are supported." msgstr "" #. type: Plain text -#: en/git-rebase.txt:786 -msgid "For example, an attempt to rearrange" +#: en/git-ls-files.txt:173 +msgid "" +"Both the <eolinfo> in the index (\"i/<eolinfo>\") and in the working tree " +"(\"w/<eolinfo>\") are shown for regular files, followed by the (\"attr/" +"<eolattr>\")." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:788 +#. type: Labeled list +#: en/git-ls-files.txt:177 en/git.txt:808 en/git-update-index.txt:207 #, no-wrap -msgid "1 --- 2 --- 3 --- 4 --- 5\n" +msgid "<file>" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:792 +#. type: Plain text +#: en/git-ls-files.txt:180 +msgid "" +"Files to show. If no files are given all files which match the other " +"specified criteria are shown." +msgstr "" + +#. type: Title - +#: en/git-ls-files.txt:182 #, no-wrap -msgid "1 --- 2 --- 4 --- 3 --- 5\n" +msgid "Output" msgstr "" #. type: Plain text -#: en/git-rebase.txt:794 -msgid "by moving the \"pick 4\" line will result in the following history:" +#: en/git-ls-files.txt:185 +msgid "" +"'git ls-files' just outputs the filenames unless `--stage` is specified in " +"which case it outputs:" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:798 +#. type: Plain text +#: en/git-ls-files.txt:187 #, no-wrap -msgid "" -"\t3\n" -" /\n" -"1 --- 2 --- 4 --- 5\n" +msgid " [<tag> ]<mode> <object> <stage> <file>\n" msgstr "" -#. type: Title = -#: en/git-receive-pack.txt:2 +#. type: Plain text +#: en/git-ls-files.txt:190 #, no-wrap -msgid "git-receive-pack(1)" +msgid "" +"'git ls-files --eol' will show\n" +"\ti/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><file>\n" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-receive-pack - Receive what is pushed into the repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-ls-files.txt:193 +msgid "" +"'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine " +"detailed information on unmerged paths." +msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:13 +#: en/git-ls-files.txt:199 +msgid "" +"For an unmerged path, instead of recording a single mode/SHA-1 pair, the " +"index records up to three such pairs; one from tree O in stage 1, A in stage " +"2, and B in stage 3. This information can be used by the user (or the " +"porcelain) to see what should eventually be recorded at the path. (see " +"linkgit:git-read-tree[1] for more information on state)" +msgstr "" + +#. type: Title - +#: en/git-ls-files.txt:207 #, no-wrap -msgid "'git-receive-pack' <directory>\n" +msgid "Exclude Patterns" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:18 +#: en/git-ls-files.txt:213 msgid "" -"Invoked by 'git send-pack' and updates the repository with the information " -"fed from the remote end." +"'git ls-files' can use a list of \"exclude patterns\" when traversing the " +"directory tree and finding files to show when the flags --others or --" +"ignored are specified. linkgit:gitignore[5] specifies the format of exclude " +"patterns." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:23 -msgid "" -"This command is usually not invoked directly by the end user. The UI for " -"the protocol is on the 'git send-pack' side, and the program pair is meant " -"to be used to push updates to remote repository. For pull operations, see " -"linkgit:git-fetch-pack[1]." +#: en/git-ls-files.txt:215 +msgid "These exclude patterns come from these places, in order:" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:28 +#: en/git-ls-files.txt:219 msgid "" -"The command allows for creation and fast-forwarding of sha1 refs (heads/" -"tags) on the remote end (strictly speaking, it is the local end 'git-receive-" -"pack' runs, but to the user who is sitting at the send-pack end, it is " -"updating the remote. Confused?)" +"The command-line flag --exclude=<pattern> specifies a single pattern. " +"Patterns are ordered in the same order they appear in the command line." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:31 +#: en/git-ls-files.txt:223 msgid "" -"There are other real-world examples of using update and post-update hooks " -"found in the Documentation/howto directory." +"The command-line flag --exclude-from=<file> specifies a file containing a " +"list of patterns. Patterns are ordered in the same order they appear in the " +"file." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:35 +#: en/git-ls-files.txt:229 msgid "" -"'git-receive-pack' honours the receive.denyNonFastForwards config option, " -"which tells it if updates to a ref should be denied if they are not fast-" -"forwards." +"The command-line flag --exclude-per-directory=<name> specifies a name of the " +"file in each directory 'git ls-files' examines, normally `.gitignore`. " +"Files in deeper directories take precedence. Patterns are ordered in the " +"same order they appear in the files." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:38 +#: en/git-ls-files.txt:235 msgid "" -"A number of other receive.* config options are available to tweak its " -"behavior, see linkgit:git-config[1]." +"A pattern specified on the command line with --exclude or read from the file " +"specified with --exclude-from is relative to the top of the directory tree. " +"A pattern read from a file specified by --exclude-per-directory is relative " +"to the directory that the pattern file appears in." msgstr "" +# #. type: Plain text -#: en/git-receive-pack.txt:43 -msgid "The repository to sync into." +#: en/git-ls-files.txt:239 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-read-tree[1], linkgit:gitignore[5]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Title - -#: en/git-receive-pack.txt:45 -#, no-wrap -msgid "pre-receive Hook" -msgstr "" +#. type: Title = +#: en/git-ls-remote.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-ls-remote(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-receive-pack.txt:49 -msgid "" -"Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists and is " -"executable, it will be invoked once with no parameters. The standard input " -"of the hook will be one line per ref to be updated:" +#: en/git-ls-remote.txt:7 +msgid "git-ls-remote - List references in a remote repository" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:51 en/git-receive-pack.txt:148 +#: en/git-ls-remote.txt:15 #, no-wrap -msgid " sha1-old SP sha1-new SP refname LF\n" -msgstr "" - -#. type: Plain text -#: en/git-receive-pack.txt:58 msgid "" -"The refname value is relative to $GIT_DIR; e.g. for the master head this is " -"\"refs/heads/master\". The two sha1 values before each refname are the " -"object names for the refname before and after the update. Refs to be " -"created will have sha1-old equal to 0\\{40}, while refs to be deleted will " -"have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should be " -"valid objects in the repository." +"'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +"\t [-q | --quiet] [--exit-code] [--get-url]\n" +"\t [--symref] [<repository> [<refs>...]]\n" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:65 +#: en/git-ls-remote.txt:20 msgid "" -"When accepting a signed push (see linkgit:git-push[1]), the signed push " -"certificate is stored in a blob and an environment variable `GIT_PUSH_CERT` " -"can be consulted for its object name. See the description of `post-receive` " -"hook for an example. In addition, the certificate is verified using GPG and " -"the result is exported with the following environment variables:" +"Displays references available in a remote repository along with the " +"associated commit IDs." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:66 +#: en/git-ls-remote.txt:25 en/git-show-ref.txt:41 #, no-wrap -msgid "`GIT_PUSH_CERT_SIGNER`" +msgid "--heads" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:69 +#: en/git-ls-remote.txt:32 msgid "" -"The name and the e-mail address of the owner of the key that signed the push " -"certificate." +"Limit to only refs/heads and refs/tags, respectively. These options are " +"_not_ mutually exclusive; when given both, references stored in refs/heads " +"and refs/tags are displayed." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:70 +#: en/git-ls-remote.txt:33 #, no-wrap -msgid "`GIT_PUSH_CERT_KEY`" +msgid "--refs" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:72 -msgid "The GPG key ID of the key that signed the push certificate." +#: en/git-ls-remote.txt:35 +msgid "Do not show peeled tags or pseudorefs like HEAD\tin the output." +msgstr "" + +#. type: Plain text +#: en/git-ls-remote.txt:39 +msgid "Do not print remote URL to stderr." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:73 -#, no-wrap -msgid "`GIT_PUSH_CERT_STATUS`" +#: en/git-ls-remote.txt:40 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--upload-pack=<exec>" +msgstr "git-add(1)" + +#. type: Plain text +#: en/git-ls-remote.txt:45 +msgid "" +"Specify the full path of 'git-upload-pack' on the remote host. This allows " +"listing references from repositories accessed via SSH and where the SSH " +"daemon does not use the PATH configured by the user." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:77 +#: en/git-ls-remote.txt:51 msgid "" -"The status of GPG verification of the push certificate, using the same " -"mnemonic as used in `%G?` format of `git log` family of commands (see " -"linkgit:git-log[1])." +"Exit with status \"2\" when no matching refs are found in the remote " +"repository. Usually the command exits with status \"0\" to indicate it " +"successfully talked with the remote repository, whether it found any " +"matching refs." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:78 +#: en/git-ls-remote.txt:52 #, no-wrap -msgid "`GIT_PUSH_CERT_NONCE`" +msgid "--get-url" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:84 +#: en/git-ls-remote.txt:56 msgid "" -"The nonce string the process asked the signer to include in the push " -"certificate. If this does not match the value recorded on the \"nonce\" " -"header in the push certificate, it may indicate that the certificate is a " -"valid one that is being replayed from a separate \"git push\" session." +"Expand the URL of the given remote repository taking into account any \"url." +"<base>.insteadOf\" config setting (See linkgit:git-config[1]) and exit " +"without talking to the remote." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:85 +#: en/git-ls-remote.txt:57 #, no-wrap -msgid "`GIT_PUSH_CERT_NONCE_STATUS`" +msgid "--symref" msgstr "" -#. type: Labeled list -#: en/git-receive-pack.txt:86 -#, no-wrap -msgid "`UNSOLICITED`" +#. type: Plain text +#: en/git-ls-remote.txt:62 +msgid "" +"In addition to the object pointed by it, show the underlying ref pointed by " +"it when showing a symbolic ref. Currently, upload-pack only shows the " +"symref HEAD, so it will be the only one shown by ls-remote." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:89 -msgid "\"git push --signed\" sent a nonce when we did not ask it to send one." +#: en/git-ls-remote.txt:67 +msgid "" +"The \"remote\" repository to query. This parameter can be either a URL or " +"the name of a remote (see the GIT URLS and REMOTES sections of linkgit:git-" +"fetch[1])." msgstr "" -#. type: Labeled list -#: en/git-receive-pack.txt:89 -#, no-wrap -msgid "`MISSING`" +#. type: Plain text +#: en/git-ls-remote.txt:73 +msgid "" +"When unspecified, all references, after filtering done with --heads and --" +"tags, are shown. When <refs>... are specified, only references matching the " +"given patterns are displayed." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:91 -msgid "\"git push --signed\" did not send any nonce header." +#: en/git-ls-remote.txt:92 +#, no-wrap +msgid "" +"\t$ git ls-remote --tags ./.\n" +"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" +"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" +"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" +"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" +"\t0918385dbd9656cab0d1d81ba7453d49bbc16250\trefs/tags/junio-gpg-pub\n" +"\t$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master pu rc\n" +"\t5fe978a5381f1fbad26a80e682ddd2a401966740\trefs/heads/master\n" +"\tc781a84b5204fb294c9ccc79f8b3baceeb32c061\trefs/heads/pu\n" +"\t$ git remote add korg http://www.kernel.org/pub/scm/git/git.git\n" +"\t$ git ls-remote --tags korg v\\*\n" +"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" +"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" +"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" +"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" msgstr "" -#. type: Labeled list -#: en/git-receive-pack.txt:91 +#. type: Title = +#: en/git-ls-tree.txt:2 #, no-wrap -msgid "`BAD`" +msgid "git-ls-tree(1)" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:93 -msgid "\"git push --signed\" sent a bogus nonce." +#: en/git-ls-tree.txt:7 +msgid "git-ls-tree - List the contents of a tree object" msgstr "" -#. type: Labeled list -#: en/git-receive-pack.txt:93 +#. type: Plain text +#: en/git-ls-tree.txt:15 #, no-wrap -msgid "`OK`" +msgid "" +"'git ls-tree' [-d] [-r] [-t] [-l] [-z]\n" +"\t [--name-only] [--name-status] [--full-name] [--full-tree] [--abbrev[=<n>]]\n" +"\t <tree-ish> [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:95 -msgid "\"git push --signed\" sent the nonce we asked it to send." +#: en/git-ls-tree.txt:20 +msgid "" +"Lists the contents of a given tree object, like what \"/bin/ls -a\" does in " +"the current working directory. Note that:" msgstr "" -#. type: Labeled list -#: en/git-receive-pack.txt:95 -#, no-wrap -msgid "`SLOP`" +#. type: Plain text +#: en/git-ls-tree.txt:25 +msgid "" +"the behaviour is slightly different from that of \"/bin/ls\" in that the " +"'<path>' denotes just a list of patterns to match, e.g. so specifying " +"directory name (without `-r`) will behave differently, and order of the " +"arguments does not matter." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:99 +#: en/git-ls-tree.txt:35 msgid "" -"\"git push --signed\" sent a nonce different from what we asked it to send " -"now, but in a previous session. See `GIT_PUSH_CERT_NONCE_SLOP` environment " -"variable." +"the behaviour is similar to that of \"/bin/ls\" in that the '<path>' is " +"taken as relative to the current working directory. E.g. when you are in a " +"directory 'sub' that has a directory 'dir', you can run 'git ls-tree -r HEAD " +"dir' to list the contents of the tree (that is 'sub/dir' in `HEAD`). You " +"don't want to give a tree that is not at the root level (e.g. `git ls-tree -" +"r HEAD:sub dir`) in this case, as that would result in asking for 'sub/sub/" +"dir' in the `HEAD` commit. However, the current working directory can be " +"ignored by passing --full-tree option." msgstr "" -#. type: Labeled list -#: en/git-receive-pack.txt:100 -#, no-wrap -msgid "`GIT_PUSH_CERT_NONCE_SLOP`" +#. type: Plain text +#: en/git-ls-tree.txt:40 +msgid "Id of a tree-ish." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:108 -msgid "" -"\"git push --signed\" sent a nonce different from what we asked it to send " -"now, but in a different session whose starting time is different by this " -"many seconds from the current session. Only meaningful when " -"`GIT_PUSH_CERT_NONCE_STATUS` says `SLOP`. Also read about `receive." -"certNonceSlop` variable in linkgit:git-config[1]." +#: en/git-ls-tree.txt:43 +msgid "Show only the named tree entry itself, not its children." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:111 -msgid "" -"This hook is called before any refname is updated and before any fast-" -"forward checks are performed." +#: en/git-ls-tree.txt:46 +msgid "Recurse into sub-trees." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:116 +#: en/git-ls-tree.txt:50 msgid "" -"If the pre-receive hook exits with a non-zero exit status no updates will be " -"performed, and the update, post-receive and post-update hooks will not be " -"invoked either. This can be useful to quickly bail out if the update is not " -"to be supported." +"Show tree entries even when going to recurse them. Has no effect if `-r` was " +"not passed. `-d` implies `-t`." msgstr "" -#. type: Title - -#: en/git-receive-pack.txt:118 -#, fuzzy, no-wrap -#| msgid "update" -msgid "update Hook" -msgstr "update" +#. type: Plain text +#: en/git-ls-tree.txt:54 +msgid "Show object size of blob (file) entries." +msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:121 +#: en/git-ls-tree.txt:58 msgid "" -"Before each ref is updated, if $GIT_DIR/hooks/update file exists and is " -"executable, it is invoked once per ref, with three parameters:" +"\\0 line termination on output and do not quote filenames. See OUTPUT " +"FORMAT below for more information." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:123 -#, no-wrap -msgid " $GIT_DIR/hooks/update refname sha1-old sha1-new\n" +#: en/git-ls-tree.txt:62 +msgid "List only filenames (instead of the \"long\" output), one per line." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:130 +#: en/git-ls-tree.txt:71 msgid "" -"The refname parameter is relative to $GIT_DIR; e.g. for the master head this " -"is \"refs/heads/master\". The two sha1 arguments are the object names for " -"the refname before and after the update. Note that the hook is called " -"before the refname is updated, so either sha1-old is 0\\{40} (meaning there " -"is no such ref yet), or it should match what is recorded in refname." +"Instead of showing the path names relative to the current working directory, " +"show the full path names." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:133 +#: en/git-ls-tree.txt:75 msgid "" -"The hook should exit with non-zero status if it wants to disallow updating " -"the named ref. Otherwise it should exit with zero." +"Do not limit the listing to the current working directory. Implies --full-" +"name." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:138 +#: en/git-ls-tree.txt:80 +#, no-wrap msgid "" -"Successful execution (a zero exit status) of this hook does not ensure the " -"ref will actually be updated, it is only a prerequisite. As such it is not " -"a good idea to send notices (e.g. email) from this hook. Consider using the " -"post-receive hook instead." +"[<path>...]::\n" +"\tWhen paths are given, show them (note that this isn't really raw\n" +"\tpathnames, but rather a list of patterns to match). Otherwise\n" +"\timplicitly uses the root level of the tree as the sole path argument.\n" msgstr "" #. type: Title - -#: en/git-receive-pack.txt:140 +#: en/git-ls-tree.txt:83 #, no-wrap -msgid "post-receive Hook" +msgid "Output Format" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:146 -msgid "" -"After all refs were updated (or attempted to be updated), if any ref update " -"was successful, and if $GIT_DIR/hooks/post-receive file exists and is " -"executable, it will be invoked once with no parameters. The standard input " -"of the hook will be one line for each successfully updated ref:" +#: en/git-ls-tree.txt:85 +#, no-wrap +msgid " <mode> SP <type> SP <object> TAB <file>\n" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:156 +#: en/git-ls-tree.txt:88 msgid "" -"The refname value is relative to $GIT_DIR; e.g. for the master head this is " -"\"refs/heads/master\". The two sha1 values before each refname are the " -"object names for the refname before and after the update. Refs that were " -"created will have sha1-old equal to 0\\{40}, while refs that were deleted " -"will have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should " -"be valid objects in the repository." +"This output format is compatible with what `--index-info --stdin` of 'git " +"update-index' expects." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:159 -msgid "" -"The `GIT_PUSH_CERT*` environment variables can be inspected, just as in `pre-" -"receive` hook, after accepting a signed push." +#: en/git-ls-tree.txt:90 +msgid "When the `-l` option is used, format changes to" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:165 +#: en/git-ls-tree.txt:92 +#, no-wrap +msgid " <mode> SP <type> SP <object> SP <object size> TAB <file>\n" +msgstr "" + +#. type: Plain text +#: en/git-ls-tree.txt:96 msgid "" -"Using this hook, it is easy to generate mails describing the updates to the " -"repository. This example script sends one mail message per ref listing the " -"commits pushed to the repository, and logs the push certificates of signed " -"pushes with good signatures to a logger service:" +"Object size identified by <object> is given in bytes, and right-justified " +"with minimum width of 7 characters. Object size is given only for blobs " +"(file) entries; for other entries `-` character is used in place of size." msgstr "" +#. type: Title = +#: en/git-mailinfo.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-mailinfo(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-receive-pack.txt:189 -#, no-wrap +#: en/git-mailinfo.txt:7 msgid "" -"\t#!/bin/sh\n" -"\t# mail out commit update information.\n" -"\twhile read oval nval ref\n" -"\tdo\n" -"\t\tif expr \"$oval\" : '0*$' >/dev/null\n" -"\t\tthen\n" -"\t\t\techo \"Created a new ref, with the following commits:\"\n" -"\t\t\tgit rev-list --pretty \"$nval\"\n" -"\t\telse\n" -"\t\t\techo \"New commits:\"\n" -"\t\t\tgit rev-list --pretty \"$nval\" \"^$oval\"\n" -"\t\tfi |\n" -"\t\tmail -s \"Changes to ref $ref\" commit-list@mydomain\n" -"\tdone\n" -"\t# log signed push certificate, if any\n" -"\tif test -n \"${GIT_PUSH_CERT-}\" && test ${GIT_PUSH_CERT_STATUS} = G\n" -"\tthen\n" -"\t\t(\n" -"\t\t\techo expected nonce is ${GIT_PUSH_NONCE}\n" -"\t\t\tgit cat-file blob ${GIT_PUSH_CERT}\n" -"\t\t) | mail -s \"push certificate from $GIT_PUSH_CERT_SIGNER\" push-log@mydomain\n" -"\tfi\n" -"\texit 0\n" +"git-mailinfo - Extracts patch and authorship from a single e-mail message" +msgstr "" + +#. type: Plain text +#: en/git-mailinfo.txt:13 +#, no-wrap +msgid "'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] <msg> <patch>\n" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:192 +#: en/git-mailinfo.txt:23 msgid "" -"The exit code from this hook invocation is ignored, however a non-zero exit " -"code will generate an error message." +"Reads a single e-mail message from the standard input, and writes the commit " +"log message in <msg> file, and the patches in <patch> file. The author " +"name, e-mail and e-mail subject are written out to the standard output to be " +"used by 'git am' to create a commit. It is usually not necessary to use " +"this command directly. See linkgit:git-am[1] instead." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:198 +#: en/git-mailinfo.txt:32 msgid "" -"Note that it is possible for refname to not have sha1-new when this hook " -"runs. This can easily occur if another user modifies the ref after it was " -"updated by 'git-receive-pack', but before the hook was able to evaluate it. " -"It is recommended that hooks rely on sha1-new rather than the current value " -"of refname." +"Usually the program removes email cruft from the Subject: header line to " +"extract the title line for the commit log message. This option prevents " +"this munging, and is most useful when used to read back 'git format-patch -" +"k' output." msgstr "" -#. type: Title - -#: en/git-receive-pack.txt:200 -#, fuzzy, no-wrap -#| msgid "update" -msgid "post-update Hook" -msgstr "update" - #. type: Plain text -#: en/git-receive-pack.txt:205 -msgid "" -"After all other processing, if at least one ref was updated, and if $GIT_DIR/" -"hooks/post-update file exists and is executable, then post-update will be " -"called with the list of refs that have been updated. This can be used to " -"implement any repository wide cleanup tasks." +#: en/git-mailinfo.txt:34 +msgid "Specifically, the following are removed until none of them remain:" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:209 -msgid "" -"The exit code from this hook invocation is ignored; the only thing left for " -"'git-receive-pack' to do at that point is to exit itself anyway." +#: en/git-mailinfo.txt:37 +msgid "Leading and trailing whitespace." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:212 -msgid "" -"This hook can be used, for example, to run `git update-server-info` if the " -"repository is packed and is served via a dumb transport." +#: en/git-mailinfo.txt:39 +msgid "Leading `Re:`, `re:`, and `:`." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:215 -#, no-wrap -msgid "" -"\t#!/bin/sh\n" -"\texec git update-server-info\n" +#: en/git-mailinfo.txt:41 +msgid "Leading bracketed strings (between `[` and `]`, usually" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:220 -msgid "linkgit:git-send-pack[1], linkgit:gitnamespaces[7]" +#: en/git-mailinfo.txt:42 +msgid "`[PATCH]`)." msgstr "" -#. type: Title = -#: en/git-reflog.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-reflog(1)" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-mailinfo.txt:46 +msgid "" +"Finally, runs of whitespace are normalized to a single ASCII space character." +msgstr "" #. type: Plain text -#: en/git-reflog.txt:7 -msgid "git-reflog - Manage reflog information" +#: en/git-mailinfo.txt:51 +msgid "" +"When -k is not in effect, all leading strings bracketed with '[' and ']' " +"pairs are stripped. This option limits the stripping to only the pairs " +"whose bracketed string contains the word \"PATCH\"." msgstr "" #. type: Plain text -#: en/git-reflog.txt:13 -#, no-wrap -msgid "'git reflog' <subcommand> <options>\n" +#: en/git-mailinfo.txt:58 +msgid "" +"The commit log message, author name and author email are taken from the e-" +"mail, and after minimally decoding MIME transfer encoding, re-coded in the " +"charset specified by i18n.commitencoding (defaulting to UTF-8) by " +"transliterating them. This used to be optional but now it is the default." msgstr "" #. type: Plain text -#: en/git-reflog.txt:27 -#, no-wrap +#: en/git-mailinfo.txt:61 msgid "" -"'git reflog' ['show'] [log-options] [<ref>]\n" -"'git reflog expire' [--expire=<time>] [--expire-unreachable=<time>]\n" -"\t[--rewrite] [--updateref] [--stale-fix]\n" -"\t[--dry-run] [--verbose] [--all | <refs>...]\n" -"'git reflog delete' [--rewrite] [--updateref]\n" -"\t[--dry-run] [--verbose] ref@\\{specifier\\}...\n" -"'git reflog exists' <ref>\n" +"Note that the patch is always used as-is without charset conversion, even " +"with this flag." msgstr "" #. type: Plain text -#: en/git-reflog.txt:35 +#: en/git-mailinfo.txt:65 msgid "" -"Reference logs, or \"reflogs\", record when the tips of branches and other " -"references were updated in the local repository. Reflogs are useful in " -"various Git commands, to specify the old value of a reference. For example, " -"`HEAD@{2}` means \"where HEAD used to be two moves ago\", `master@{one.week." -"ago}` means \"where master used to point to one week ago in this local " -"repository\", and so on. See linkgit:gitrevisions[7] for more details." +"Similar to -u. But when re-coding, the charset specified here is used " +"instead of the one specified by i18n.commitencoding or UTF-8." msgstr "" #. type: Plain text -#: en/git-reflog.txt:37 -msgid "This command manages the information recorded in the reflogs." +#: en/git-mailinfo.txt:68 +msgid "Disable all charset re-coding of the metadata." msgstr "" #. type: Plain text -#: en/git-reflog.txt:44 +#: en/git-mailinfo.txt:73 msgid "" -"The \"show\" subcommand (which is also the default, in the absence of any " -"subcommands) shows the log of the reference provided in the command-line (or " -"`HEAD`, by default). The reflog covers all recent actions, and in addition " -"the `HEAD` reflog records branch switching. `git reflog show` is an alias " -"for `git log -g --abbrev-commit --pretty=oneline`; see linkgit:git-log[1] " -"for more information." +"Copy the Message-ID header at the end of the commit message. This is useful " +"in order to associate commits with mailing list discussions." msgstr "" #. type: Plain text -#: en/git-reflog.txt:50 +#: en/git-mailinfo.txt:82 msgid "" -"The \"expire\" subcommand prunes older reflog entries. Entries older than " -"`expire` time, or entries older than `expire-unreachable` time and not " -"reachable from the current tip, are removed from the reflog. This is " -"typically not used directly by end users -- instead, see linkgit:git-gc[1]." +"Remove everything in body before a scissors line. A line that mainly " +"consists of scissors (either \">8\" or \"8<\") and perforation (dash \"-\") " +"marks is called a scissors line, and is used to request the reader to cut " +"the message at that line. If such a line appears in the body of the message " +"before the patch, everything before it (including the scissors line itself) " +"is ignored when this option is used." msgstr "" #. type: Plain text -#: en/git-reflog.txt:55 +#: en/git-mailinfo.txt:87 msgid "" -"The \"delete\" subcommand deletes single entries from the reflog. Its " -"argument must be an _exact_ entry (e.g. \"`git reflog delete master@{2}`\"). " -"This subcommand is also typically not used directly by end users." +"This is useful if you want to begin your message in a discussion thread with " +"comments and suggestions on the message you are responding to, and to " +"conclude it with a patch submission, separating the discussion and the " +"beginning of the proposed commit log message with a scissors line." msgstr "" #. type: Plain text -#: en/git-reflog.txt:59 +#: en/git-mailinfo.txt:89 msgid "" -"The \"exists\" subcommand checks whether a ref has a reflog. It exits with " -"zero status if the reflog exists, and non-zero status if it does not." +"This can be enabled by default with the configuration option mailinfo." +"scissors." msgstr "" -#. type: Title ~ -#: en/git-reflog.txt:64 +#. type: Plain text +#: en/git-mailinfo.txt:92 +msgid "" +"Ignore scissors lines. Useful for overriding mailinfo.scissors settings." +msgstr "" + +#. type: Labeled list +#: en/git-mailinfo.txt:93 #, no-wrap -msgid "Options for `show`" +msgid "<msg>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:67 -msgid "`git reflog show` accepts any of the options accepted by `git log`." +#: en/git-mailinfo.txt:96 +msgid "" +"The commit log message extracted from e-mail, usually except the title line " +"which comes from e-mail Subject." msgstr "" -#. type: Title ~ -#: en/git-reflog.txt:70 -#, no-wrap -msgid "Options for `expire`" +#. type: Labeled list +#: en/git-mailinfo.txt:97 en/git-patch-id.txt:59 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "<patch>" +msgstr "patch" + +#. type: Plain text +#: en/git-mailinfo.txt:99 +msgid "The patch extracted from e-mail." msgstr "" +#. type: Title = +#: en/git-mailsplit.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-mailsplit(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-reflog.txt:74 -msgid "Process the reflogs of all references." +#: en/git-mailsplit.txt:7 +msgid "git-mailsplit - Simple UNIX mbox splitter program" msgstr "" -#. type: Labeled list -#: en/git-reflog.txt:75 +#. type: Plain text +#: en/git-mailsplit.txt:13 #, no-wrap -msgid "--expire=<time>" +msgid "" +"'git mailsplit' [-b] [-f<nn>] [-d<prec>] [--keep-cr] [--mboxrd]\n" +"\t\t-o<directory> [--] [(<mbox>|<Maildir>)...]\n" msgstr "" #. type: Plain text -#: en/git-reflog.txt:82 +#: en/git-mailsplit.txt:18 msgid "" -"Prune entries older than the specified time. If this option is not " -"specified, the expiration time is taken from the configuration setting `gc." -"reflogExpire`, which in turn defaults to 90 days. `--expire=all` prunes " -"entries regardless of their age; `--expire=never` turns off pruning of " -"reachable entries (but see `--expire-unreachable`)." +"Splits a mbox file or a Maildir into a list of files: \"0001\" \"0002\" .. " +"in the specified directory so you can process them further from there." +msgstr "" + +#. type: Plain text +#: en/git-mailsplit.txt:21 +msgid "" +"Maildir splitting relies upon filenames being sorted to output patches in " +"the correct order." msgstr "" #. type: Labeled list -#: en/git-reflog.txt:83 +#: en/git-mailsplit.txt:24 #, no-wrap -msgid "--expire-unreachable=<time>" +msgid "<mbox>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:92 +#: en/git-mailsplit.txt:27 +#, fuzzy +#| msgid "" +#| "-F <file>::\n" +#| "--file=<file>::\n" +#| "\tTake the commit message from the given file. Use '-' to\n" +#| "\tread the message from the standard input.\n" msgid "" -"Prune entries older than `<time>` that are not reachable from the current " -"tip of the branch. If this option is not specified, the expiration time is " -"taken from the configuration setting `gc.reflogExpireUnreachable`, which in " -"turn defaults to 30 days. `--expire-unreachable=all` prunes unreachable " -"entries regardless of their age; `--expire-unreachable=never` turns off " -"early pruning of unreachable entries (but see `--expire`)." +"Mbox file to split. If not given, the mbox is read from the standard input." msgstr "" +"-F <fichier>::\n" +"--file=<fichier>::\n" +"\tPrendre le message de validation depuis le fichier indiqu챕.\n" +"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" #. type: Labeled list -#: en/git-reflog.txt:93 -#, fuzzy, no-wrap -#| msgid "update" -msgid "--updateref" -msgstr "update" +#: en/git-mailsplit.txt:28 +#, no-wrap +msgid "<Maildir>" +msgstr "" #. type: Plain text -#: en/git-reflog.txt:97 +#: en/git-mailsplit.txt:31 msgid "" -"Update the reference to the value of the top reflog entry (i.e. <ref>@" -"\\{0\\}) if the previous top entry was pruned. (This option is ignored for " -"symbolic references.)" +"Root of the Maildir to split. This directory should contain the cur, tmp and " +"new subdirectories." msgstr "" #. type: Labeled list -#: en/git-reflog.txt:98 +#: en/git-mailsplit.txt:32 #, no-wrap -msgid "--rewrite" +msgid "-o<directory>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:102 +#: en/git-mailsplit.txt:34 +msgid "Directory in which to place the individual messages." +msgstr "" + +#. type: Plain text +#: en/git-mailsplit.txt:38 msgid "" -"If a reflog entry's predecessor is pruned, adjust its \"old\" SHA-1 to be " -"equal to the \"new\" SHA-1 field of the entry that now precedes it." +"If any file doesn't begin with a From line, assume it is a single mail " +"message instead of signaling error." msgstr "" #. type: Labeled list -#: en/git-reflog.txt:103 +#: en/git-mailsplit.txt:39 #, no-wrap -msgid "--stale-fix" +msgid "-d<prec>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:108 +#: en/git-mailsplit.txt:43 msgid "" -"Prune any reflog entries that point to \"broken commits\". A broken commit " -"is a commit that is not reachable from any of the reference tips and that " -"refers, directly or indirectly, to a missing commit, tree, or blob object." +"Instead of the default 4 digits with leading zeros, different precision can " +"be specified for the generated filenames." msgstr "" -#. type: Plain text -#: en/git-reflog.txt:113 -msgid "" -"This computation involves traversing all the reachable objects, i.e. it has " -"the same cost as 'git prune'. It is primarily intended to fix corruption " -"caused by garbage collecting using older versions of Git, which didn't " -"protect objects referred to by reflogs." +#. type: Labeled list +#: en/git-mailsplit.txt:44 +#, no-wrap +msgid "-f<nn>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:118 -#, fuzzy -#| msgid "" -#| "-n::\n" -#| "--dry-run::\n" -#| "\tDon't actually add the file(s), just show if they exist and/or will\n" -#| "\tbe ignored.\n" +#: en/git-mailsplit.txt:47 msgid "" -"Do not actually prune any entries; just show what would have been pruned." +"Skip the first <nn> numbers, for example if -f3 is specified, start the " +"numbering with 0004." +msgstr "" + +#. type: Labeled list +#: en/git-mailsplit.txt:48 +#, no-wrap +msgid "--keep-cr" msgstr "" -"-n::\n" -"--dry-run::\n" -"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" -"\tou seront ignor챕s.\n" #. type: Plain text -#: en/git-reflog.txt:121 -msgid "Print extra information on screen." +#: en/git-mailsplit.txt:50 +msgid "Do not remove `\\r` from lines ending with `\\r\\n`." msgstr "" -#. type: Title ~ -#: en/git-reflog.txt:124 +#. type: Labeled list +#: en/git-mailsplit.txt:51 #, no-wrap -msgid "Options for `delete`" +msgid "--mboxrd" msgstr "" #. type: Plain text -#: en/git-reflog.txt:129 +#: en/git-mailsplit.txt:54 msgid "" -"`git reflog delete` accepts options `--updateref`, `--rewrite`, `-n`, `--dry-" -"run`, and `--verbose`, with the same meanings as when they are used with " -"`expire`." +"Input is of the \"mboxrd\" format and \"^>+From \" line escaping is reversed." msgstr "" #. type: Title = -#: en/git-remote-ext.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-remote-ext(1)" -msgstr "git-commit(1)" +#: en/git-merge-base.txt:2 +#, no-wrap +msgid "git-merge-base(1)" +msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:7 -msgid "git-remote-ext - Bridge smart transport to external command." +#: en/git-merge-base.txt:7 +msgid "git-merge-base - Find as good common ancestors as possible for a merge" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:12 +#: en/git-merge-base.txt:17 #, no-wrap -msgid "git remote add <nick> \"ext::<command>[ <arguments>...]\"\n" +msgid "" +"'git merge-base' [-a|--all] <commit> <commit>...\n" +"'git merge-base' [-a|--all] --octopus <commit>...\n" +"'git merge-base' --is-ancestor <commit> <commit>\n" +"'git merge-base' --independent <commit>...\n" +"'git merge-base' --fork-point <ref> [<commit>]\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:17 +#: en/git-merge-base.txt:27 msgid "" -"This remote helper uses the specified '<command>' to connect to a remote Git " -"server." +"'git merge-base' finds best common ancestor(s) between two commits to use in " +"a three-way merge. One common ancestor is 'better' than another common " +"ancestor if the latter is an ancestor of the former. A common ancestor that " +"does not have any better common ancestor is a 'best common ancestor', i.e. a " +"'merge base'. Note that there can be more than one merge base for a pair of " +"commits." msgstr "" +#. type: Title - +#: en/git-merge-base.txt:29 +#, fuzzy, no-wrap +#| msgid "OPTIONS" +msgid "OPERATION MODES" +msgstr "OPTIONS" + #. type: Plain text -#: en/git-remote-ext.txt:23 +#: en/git-merge-base.txt:33 msgid "" -"Data written to stdin of the specified '<command>' is assumed to be sent to " -"a git:// server, git-upload-pack, git-receive-pack or git-upload-archive " -"(depending on situation), and data read from stdout of <command> is assumed " -"to be received from the same service." +"As the most common special case, specifying only two commits on the command " +"line means computing the merge base between the given two commits." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:25 -msgid "Command and arguments are separated by an unescaped space." +#: en/git-merge-base.txt:38 +msgid "" +"More generally, among the two commits to compute the merge base from, one is " +"specified by the first commit argument on the command line; the other commit " +"is a (possibly hypothetical) commit that is a merge across all the remaining " +"commits on the command line." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:27 -msgid "The following sequences have a special meaning:" +#: en/git-merge-base.txt:42 +msgid "" +"As a consequence, the 'merge base' is not necessarily contained in each of " +"the commit arguments if more than two commits are specified. This is " +"different from linkgit:git-show-branch[1] when used with the `--merge-base` " +"option." msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:28 +#: en/git-merge-base.txt:43 #, no-wrap -msgid "'% '" +msgid "--octopus" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:30 -msgid "Literal space in command or argument." +#: en/git-merge-base.txt:47 +msgid "" +"Compute the best common ancestors of all supplied commits, in preparation " +"for an n-way merge. This mimics the behavior of 'git show-branch --merge-" +"base'." msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:31 +#: en/git-merge-base.txt:48 en/git-show-branch.txt:90 #, no-wrap -msgid "'%%'" +msgid "--independent" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:33 -msgid "Literal percent sign." +#: en/git-merge-base.txt:54 +msgid "" +"Instead of printing merge bases, print a minimal subset of the supplied " +"commits with the same ancestors. In other words, among the commits given, " +"list those which cannot be reached from any other. This mimics the behavior " +"of 'git show-branch --independent'." msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:34 +#: en/git-merge-base.txt:55 #, no-wrap -msgid "'%s'" +msgid "--is-ancestor" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:37 +#: en/git-merge-base.txt:59 msgid "" -"Replaced with name (receive-pack, upload-pack, or upload-archive) of the " -"service Git wants to invoke." +"Check if the first <commit> is an ancestor of the second <commit>, and exit " +"with status 0 if true, or with status 1 if not. Errors are signaled by a " +"non-zero status that is not 1." msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:38 +#: en/git-merge-base.txt:60 en/git-rebase.txt:346 #, no-wrap -msgid "'%S'" +msgid "--fork-point" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:42 +#: en/git-merge-base.txt:68 msgid "" -"Replaced with long name (git-receive-pack, git-upload-pack, or git-upload-" -"archive) of the service Git wants to invoke." -msgstr "" - -#. type: Labeled list -#: en/git-remote-ext.txt:43 -#, no-wrap -msgid "'%G' (must be the first characters in an argument)" +"Find the point at which a branch (or any history that leads to <commit>) " +"forked from another branch (or any reference) <ref>. This does not just " +"look for the common ancestor of the two commits, but also takes into account " +"the reflog of <ref> to see if the history leading to <commit> forked from an " +"earlier incarnation of the branch <ref> (see discussion on this mode below)." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:49 -msgid "" -"This argument will not be passed to '<command>'. Instead, it will cause the " -"helper to start by sending git:// service requests to the remote side with " -"the service field set to an appropriate value and the repository field set " -"to rest of the argument. Default is not to send such a request." +#: en/git-merge-base.txt:74 +msgid "Output all merge bases for the commits, instead of just one." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:52 +#: en/git-merge-base.txt:80 msgid "" -"This is useful if remote side is git:// server accessed over some tunnel." -msgstr "" - -#. type: Labeled list -#: en/git-remote-ext.txt:53 -#, no-wrap -msgid "'%V' (must be first characters in argument)" +"Given two commits 'A' and 'B', `git merge-base A B` will output a commit " +"which is reachable from both 'A' and 'B' through the parent relationship." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:57 -msgid "" -"This argument will not be passed to '<command>'. Instead it sets the vhost " -"field in the git:// service request (to rest of the argument). Default is " -"not to send vhost in such request (if sent)." +#: en/git-merge-base.txt:82 +msgid "For example, with this topology:" msgstr "" -#. type: Title - -#: en/git-remote-ext.txt:59 -#, fuzzy, no-wrap -#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" -msgid "ENVIRONMENT VARIABLES:" -msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" - -#. type: Labeled list -#: en/git-remote-ext.txt:61 en/git-remote-fd.txt:33 +#. type: Plain text +#: en/git-merge-base.txt:86 #, no-wrap -msgid "GIT_TRANSLOOP_DEBUG" +msgid "" +"\t o---o---o---B\n" +"\t /\n" +"\t---o---1---o---o---o---A\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:63 en/git-remote-fd.txt:35 -msgid "If set, prints debugging information about various reads/writes." +#: en/git-merge-base.txt:88 +msgid "the merge base between 'A' and 'B' is '1'." msgstr "" -#. type: Title - -#: en/git-remote-ext.txt:65 -#, no-wrap -msgid "ENVIRONMENT VARIABLES PASSED TO COMMAND:" +#. type: Plain text +#: en/git-merge-base.txt:92 +msgid "" +"Given three commits 'A', 'B' and 'C', `git merge-base A B C` will compute " +"the merge base between 'A' and a hypothetical commit 'M', which is a merge " +"between 'B' and 'C'. For example, with this topology:" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:67 +#. type: Plain text +#: en/git-merge-base.txt:98 #, no-wrap -msgid "GIT_EXT_SERVICE" +msgid "" +"\t o---o---o---o---C\n" +"\t /\n" +"\t / o---o---o---B\n" +"\t / /\n" +"\t---2---1---o---o---o---A\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:70 +#: en/git-merge-base.txt:101 msgid "" -"Set to long name (git-upload-pack, etc...) of service helper needs to invoke." +"the result of `git merge-base A B C` is '1'. This is because the equivalent " +"topology with a merge commit 'M' between 'B' and 'C' is:" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:71 +#. type: Plain text +#: en/git-merge-base.txt:108 #, no-wrap -msgid "GIT_EXT_SERVICE_NOPREFIX" +msgid "" +"\t o---o---o---o---o\n" +"\t / \\\n" +"\t / o---o---o---o---M\n" +"\t / /\n" +"\t---2---1---o---o---o---A\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:74 +#: en/git-merge-base.txt:112 msgid "" -"Set to long name (upload-pack, etc...) of service helper needs to invoke." +"and the result of `git merge-base A M` is '1'. Commit '2' is also a common " +"ancestor between 'A' and 'M', but '1' is a better common ancestor, because " +"'2' is an ancestor of '1'. Hence, '2' is not a merge base." msgstr "" -#. type: Title - -#: en/git-remote-ext.txt:77 -#, fuzzy, no-wrap -#| msgid "EXAMPLES" -msgid "EXAMPLES:" -msgstr "EXEMPLES" - #. type: Plain text -#: en/git-remote-ext.txt:82 +#: en/git-merge-base.txt:115 msgid "" -"This remote helper is transparently used by Git when you use commands such " -"as \"git fetch <URL>\", \"git clone <URL>\", , \"git push <URL>\" or \"git " -"remote add <nick> <URL>\", where <URL> begins with `ext::`. Examples:" +"The result of `git merge-base --octopus A B C` is '2', because '2' is the " +"best common ancestor of all commits." msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:83 -#, no-wrap -msgid "\"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S 'foo/repo'\"" +#. type: Plain text +#: en/git-merge-base.txt:118 +msgid "" +"When the history involves criss-cross merges, there can be more than one " +"'best' common ancestor for two commits. For example, with this topology:" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:87 +#: en/git-merge-base.txt:124 +#, no-wrap msgid "" -"Like host.example:foo/repo, but use /home/foo/.ssh/somekey as keypair and " -"user as user on remote side. This avoids needing to edit .ssh/config." +"\t---1---o---A\n" +"\t \\ /\n" +"\t X\n" +"\t / \\\n" +"\t---2---o---o---B\n" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:88 -#, no-wrap -msgid "\"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo\"" +#. type: Plain text +#: en/git-merge-base.txt:128 +msgid "" +"both '1' and '2' are merge-bases of A and B. Neither one is better than the " +"other (both are 'best' merge bases). When the `--all` option is not given, " +"it is unspecified which best one is output." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:91 +#: en/git-merge-base.txt:133 msgid "" -"Represents repository with path /somerepo accessible over git protocol at " -"abstract namespace address /git-server." +"A common idiom to check \"fast-forward-ness\" between two commits A and B is " +"(or at least used to be) to compute the merge base between A and B, and " +"check if it is the same as A, in which case, A is an ancestor of B. You " +"will see this idiom used often in older scripts." msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:92 +#. type: Plain text +#: en/git-merge-base.txt:139 #, no-wrap -msgid "\"ext::git-server-alias foo %G/repo\"" +msgid "" +"\tA=$(git rev-parse --verify A)\n" +"\tif test \"$A\" = \"$(git merge-base A B)\"\n" +"\tthen\n" +"\t\t... A is an ancestor of B ...\n" +"\tfi\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:98 -msgid "" -"Represents a repository with path /repo accessed using the helper program " -"\"git-server-alias foo\". The path to the repository and type of request " -"are not passed on the command line but as part of the protocol stream, as " -"usual with git:// protocol." +#: en/git-merge-base.txt:141 +msgid "In modern git, you can say this in a more direct way:" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:99 +#. type: Plain text +#: en/git-merge-base.txt:146 #, no-wrap -msgid "\"ext::git-server-alias foo %G/repo %Vfoo\"" +msgid "" +"\tif git merge-base --is-ancestor A B\n" +"\tthen\n" +"\t\t... A is an ancestor of B ...\n" +"\tfi\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:105 -msgid "" -"Represents a repository with path /repo accessed using the helper program " -"\"git-server-alias foo\". The hostname for the remote server passed in the " -"protocol stream will be \"foo\" (this allows multiple virtual Git servers to " -"share a link-level address)." +#: en/git-merge-base.txt:148 +msgid "instead." msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:106 +#. type: Title - +#: en/git-merge-base.txt:150 #, no-wrap -msgid "\"ext::git-server-alias foo %G/repo% with% spaces %Vfoo\"" +msgid "Discussion on fork-point mode" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:112 +#: en/git-merge-base.txt:156 msgid "" -"Represents a repository with path '/repo with spaces' accessed using the " -"helper program \"git-server-alias foo\". The hostname for the remote server " -"passed in the protocol stream will be \"foo\" (this allows multiple virtual " -"Git servers to share a link-level address)." +"After working on the `topic` branch created with `git checkout -b topic " +"origin/master`, the history of remote-tracking branch `origin/master` may " +"have been rewound and rebuilt, leading to a history of this shape:" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:113 +#. type: Plain text +#: en/git-merge-base.txt:164 #, no-wrap -msgid "\"ext::git-ssl foo.example /bar\"" +msgid "" +"\t o---B1\n" +"\t /\n" +"\t---o---o---B2--o---o---o---B (origin/master)\n" +"\t \\\n" +"\t B3\n" +"\t \\\n" +"\t Derived (topic)\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:118 +#: en/git-merge-base.txt:170 msgid "" -"Represents a repository accessed using the helper program \"git-ssl foo." -"example /bar\". The type of request can be determined by the helper using " -"environment variables (see above)." +"where `origin/master` used to point at commits B3, B2, B1 and now it points " +"at B, and your `topic` branch was started on top of it back when `origin/" +"master` was at B3. This mode uses the reflog of `origin/master` to find B3 " +"as the fork point, so that the `topic` can be rebased on top of the updated " +"`origin/master` by:" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:122 en/git-remote-fd.txt:56 -#: en/git-remote-testgit.txt:27 -msgid "linkgit:gitremote-helpers[1]" +#: en/git-merge-base.txt:173 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "" +" $ fork_point=$(git merge-base --fork-point origin/master topic)\n" +" $ git rebase --onto origin/master $fork_point topic\n" +msgstr "$ git commit\n" + +#. type: Title - +#: en/git-merge-base.txt:176 +#, no-wrap +msgid "See also" +msgstr "" + +# +#. type: Plain text +#: en/git-merge-base.txt:180 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "" +"linkgit:git-rev-list[1], linkgit:git-show-branch[1], linkgit:git-merge[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Title = -#: en/git-remote-fd.txt:2 +#: en/git-merge-file.txt:2 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "git-remote-fd(1)" +msgid "git-merge-file(1)" msgstr "git-commit(1)" #. type: Plain text -#: en/git-remote-fd.txt:7 -msgid "git-remote-fd - Reflect smart transport stream back to caller" +#: en/git-merge-file.txt:7 +msgid "git-merge-file - Run a three-way file merge" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:11 -msgid "\"fd::<infd>[,<outfd>][/<anything>]\" (as URL)" +#: en/git-merge-file.txt:15 +#, no-wrap +msgid "" +"'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]\n" +"\t[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]\n" +"\t[--[no-]diff3] <current-file> <base-file> <other-file>\n" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:17 +#: en/git-merge-file.txt:25 msgid "" -"This helper uses specified file descriptors to connect to a remote Git " -"server. This is not meant for end users but for programs and scripts " -"calling git fetch, push or archive." +"'git merge-file' incorporates all changes that lead from the `<base-file>` " +"to `<other-file>` into `<current-file>`. The result ordinarily goes into " +"`<current-file>`. 'git merge-file' is useful for combining separate changes " +"to an original. Suppose `<base-file>` is the original, and both `<current-" +"file>` and `<other-file>` are modifications of `<base-file>`, then 'git " +"merge-file' combines both changes." msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:23 +#: en/git-merge-file.txt:30 msgid "" -"If only <infd> is given, it is assumed to be a bidirectional socket " -"connected to remote Git server (git-upload-pack, git-receive-pack or git-" -"upload-archive). If both <infd> and <outfd> are given, they are assumed to " -"be pipes connected to a remote Git server (<infd> being the inbound pipe and " -"<outfd> being the outbound pipe." +"A conflict occurs if both `<current-file>` and `<other-file>` have changes " +"in a common segment of lines. If a conflict is found, 'git merge-file' " +"normally outputs a warning and brackets the conflict with lines containing " +"<<<<<<< and >>>>>>> markers. A typical conflict will look like this:" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:26 +#: en/git-merge-file.txt:36 +#, no-wrap msgid "" -"It is assumed that any handshaking procedures have already been completed " -"(such as sending service request for git://) before this helper is started." +"\t<<<<<<< A\n" +"\tlines in file A\n" +"\t=======\n" +"\tlines in file B\n" +"\t>>>>>>> B\n" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:30 +#: en/git-merge-file.txt:42 msgid "" -"<anything> can be any string. It is ignored. It is meant for providing " -"information to user in the URL in case that URL is displayed in some context." +"If there are conflicts, the user should edit the result and delete one of " +"the alternatives. When `--ours`, `--theirs`, or `--union` option is in " +"effect, however, these conflicts are resolved favouring lines from `<current-" +"file>`, lines from `<other-file>`, or lines from both respectively. The " +"length of the conflict markers can be given with the `--marker-size` option." msgstr "" -#. type: Title - -#: en/git-remote-fd.txt:32 -#, fuzzy, no-wrap -#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" -msgid "ENVIRONMENT VARIABLES" -msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" - -#. type: Labeled list -#: en/git-remote-fd.txt:38 -#, no-wrap -msgid "`git fetch fd::17 master`" +#. type: Plain text +#: en/git-merge-file.txt:46 +msgid "" +"The exit value of this program is negative on error, and the number of " +"conflicts otherwise (truncated to 127 if there are more than that many " +"conflicts). If the merge was clean, the exit value is 0." msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:41 +#: en/git-merge-file.txt:50 msgid "" -"Fetch master, using file descriptor #17 to communicate with git-upload-pack." +"'git merge-file' is designed to be a minimal clone of RCS 'merge'; that is, " +"it implements all of RCS 'merge''s functionality which is needed by linkgit:" +"git[1]." msgstr "" #. type: Labeled list -#: en/git-remote-fd.txt:42 +#: en/git-merge-file.txt:55 #, no-wrap -msgid "`git fetch fd::17/foo master`" +msgid "-L <label>" msgstr "" -#. type: Labeled list -#: en/git-remote-fd.txt:45 -#, no-wrap -msgid "`git push fd::7,8 master (as URL)`" +#. type: Plain text +#: en/git-merge-file.txt:62 +msgid "" +"This option may be given up to three times, and specifies labels to be used " +"in place of the corresponding file names in conflict reports. That is, `git " +"merge-file -L x -L y -L z a b c` generates output that looks like it came " +"from files x, y and z instead of from files a, b and c." msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:49 +#: en/git-merge-file.txt:66 msgid "" -"Push master, using file descriptor #7 to read data from git-receive-pack and " -"file descriptor #8 to write data to same service." +"Send results to standard output instead of overwriting `<current-file>`." +msgstr "" + +#. type: Plain text +#: en/git-merge-file.txt:69 +msgid "Quiet; do not warn about conflicts." msgstr "" #. type: Labeled list -#: en/git-remote-fd.txt:50 -#, no-wrap -msgid "`git push fd::7,8/bar master`" +#: en/git-merge-file.txt:70 +#, fuzzy, no-wrap +#| msgid "diff" +msgid "--diff3" +msgstr "diff" + +#. type: Plain text +#: en/git-merge-file.txt:72 +msgid "Show conflicts in \"diff3\" style." msgstr "" -#. type: Title = -#: en/git-remote-testgit.txt:2 +#. type: Labeled list +#: en/git-merge-file.txt:75 #, no-wrap -msgid "git-remote-testgit(1)" +msgid "--union" msgstr "" #. type: Plain text -#: en/git-remote-testgit.txt:7 -msgid "git-remote-testgit - Example remote-helper" +#: en/git-merge-file.txt:78 +msgid "" +"Instead of leaving conflicts in the file, resolve conflicts favouring our " +"(or their or both) side of the lines." msgstr "" -#. type: Plain text -#: en/git-remote-testgit.txt:13 +#. type: Labeled list +#: en/git-merge-file.txt:83 #, no-wrap -msgid "git clone testgit::<source-repo> [<destination>]\n" +msgid "`git merge-file README.my README README.upstream`" msgstr "" #. type: Plain text -#: en/git-remote-testgit.txt:20 +#: en/git-merge-file.txt:87 msgid "" -"This command is a simple remote-helper, that is used both as a testcase for " -"the remote-helper functionality, and as an example to show remote-helper " -"authors one possible implementation." +"combines the changes of README.my and README.upstream since README, tries to " +"merge them and writes the result into README.my." +msgstr "" + +#. type: Labeled list +#: en/git-merge-file.txt:88 +#, no-wrap +msgid "`git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345`" msgstr "" #. type: Plain text -#: en/git-remote-testgit.txt:23 +#: en/git-merge-file.txt:92 msgid "" -"The best way to learn more is to read the comments and source code in 'git-" -"remote-testgit'." +"merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels `a` and " +"`c` instead of `tmp/a123` and `tmp/c345`." msgstr "" #. type: Title = -#: en/git-remote.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-remote(1)" -msgstr "git-commit(1)" +#: en/git-merge-index.txt:2 +#, no-wrap +msgid "git-merge-index(1)" +msgstr "" #. type: Plain text -#: en/git-remote.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-remote - Manage set of tracked repositories" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-merge-index.txt:7 +msgid "git-merge-index - Run a merge for files needing merging" +msgstr "" #. type: Plain text -#: en/git-remote.txt:25 +#: en/git-merge-index.txt:13 #, no-wrap +msgid "'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>*)\n" +msgstr "" + +#. type: Plain text +#: en/git-merge-index.txt:20 msgid "" -"'git remote' [-v | --verbose]\n" -"'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>\n" -"'git remote rename' <old> <new>\n" -"'git remote remove' <name>\n" -"'git remote set-head' <name> (-a | --auto | -d | --delete | <branch>)\n" -"'git remote set-branches' [--add] <name> <branch>...\n" -"'git remote get-url' [--push] [--all] <name>\n" -"'git remote set-url' [--push] <name> <newurl> [<oldurl>]\n" -"'git remote set-url --add' [--push] <name> <newurl>\n" -"'git remote set-url --delete' [--push] <name> <url>\n" -"'git remote' [-v | --verbose] 'show' [-n] <name>...\n" -"'git remote prune' [-n | --dry-run] <name>...\n" -"'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]\n" +"This looks up the <file>(s) in the index and, if there are any merge " +"entries, passes the SHA-1 hash for those files as arguments 1, 2, 3 (empty " +"argument if no file), and <file> as argument 4. File modes for the three " +"files are passed as arguments 5, 6 and 7." msgstr "" #. type: Plain text -#: en/git-remote.txt:30 -msgid "Manage the set of repositories (\"remotes\") whose branches you track." +#: en/git-merge-index.txt:28 +msgid "Run merge against all files in the index that need merging." msgstr "" #. type: Plain text -#: en/git-remote.txt:39 +#: en/git-merge-index.txt:34 msgid "" -"Be a little more verbose and show remote url after name. NOTE: This must be " -"placed between `remote` and `subcommand`." +"Instead of stopping at the first failed merge, do all of them in one shot - " +"continue with merging even when previous merges returned errors, and only " +"return the error code after all the merges." msgstr "" #. type: Plain text -#: en/git-remote.txt:46 +#: en/git-merge-index.txt:39 msgid "" -"With no arguments, shows a list of existing remotes. Several subcommands " -"are available to perform operations on the remotes." +"Do not complain about a failed merge program (a merge program failure " +"usually indicates conflicts during the merge). This is for porcelains which " +"might want to emit custom messages." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:47 -#, no-wrap -msgid "'add'" +#. type: Plain text +#: en/git-merge-index.txt:43 +msgid "" +"If 'git merge-index' is called with multiple <file>s (or -a) then it " +"processes them in turn only stopping if merge returns a non-zero exit code." msgstr "" #. type: Plain text -#: en/git-remote.txt:52 +#: en/git-merge-index.txt:46 msgid "" -"Adds a remote named <name> for the repository at <url>. The command `git " -"fetch <name>` can then be used to create and update remote-tracking branches " -"<name>/<branch>." +"Typically this is run with a script calling Git's imitation of the 'merge' " +"command from the RCS package." msgstr "" #. type: Plain text -#: en/git-remote.txt:55 +#: en/git-merge-index.txt:49 msgid "" -"With `-f` option, `git fetch <name>` is run immediately after the remote " -"information is set up." +"A sample script called 'git merge-one-file' is included in the distribution." msgstr "" #. type: Plain text -#: en/git-remote.txt:58 +#: en/git-merge-index.txt:54 msgid "" -"With `--tags` option, `git fetch <name>` imports every tag from the remote " -"repository." +"ALERT ALERT ALERT! The Git \"merge object order\" is different from the RCS " +"'merge' program merge object order. In the above ordering, the original is " +"first. But the argument order to the 3-way merge program 'merge' is to have " +"the original in the middle. Don't ask me why." msgstr "" #. type: Plain text -#: en/git-remote.txt:61 -msgid "" -"With `--no-tags` option, `git fetch <name>` does not import tags from the " -"remote repository." +#: en/git-merge-index.txt:56 en/git-svn.txt:155 +msgid "Examples:" msgstr "" #. type: Plain text -#: en/git-remote.txt:64 +#: en/git-merge-index.txt:62 +#, no-wrap msgid "" -"By default, only tags on fetched branches are imported (see linkgit:git-" -"fetch[1])." +" torvalds@ppc970:~/merge-test> git merge-index cat MM\n" +" This is MM from the original tree.\t\t\t# original\n" +" This is modified MM in the branch A.\t\t\t# merge1\n" +" This is modified MM in the branch B.\t\t\t# merge2\n" +" This is modified MM in the branch B.\t\t\t# current contents\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:70 +#: en/git-merge-index.txt:71 +#, no-wrap msgid "" -"With `-t <branch>` option, instead of the default glob refspec for the " -"remote to track all branches under the `refs/remotes/<name>/` namespace, a " -"refspec to track only `<branch>` is created. You can give more than one `-t " -"<branch>` to track multiple branches without grabbing all branches." +" torvalds@ppc970:~/merge-test> git merge-index cat AA MM\n" +" cat: : No such file or directory\n" +" This is added AA in the branch A.\n" +" This is added AA in the branch B.\n" +" This is added AA in the branch B.\n" +" fatal: merge program failed\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:73 +#: en/git-merge-index.txt:76 msgid "" -"With `-m <master>` option, a symbolic-ref `refs/remotes/<name>/HEAD` is set " -"up to point at remote's `<master>` branch. See also the set-head command." +"where the latter example shows how 'git merge-index' will stop trying to " +"merge once anything has returned an error (i.e., `cat` returned an error for " +"the AA file, because it didn't exist in the original, and thus 'git merge-" +"index' didn't even try to merge the MM thing)." +msgstr "" + +#. type: Title = +#: en/git-merge-one-file.txt:2 +#, no-wrap +msgid "git-merge-one-file(1)" msgstr "" #. type: Plain text -#: en/git-remote.txt:79 +#: en/git-merge-one-file.txt:7 msgid "" -"When a fetch mirror is created with `--mirror=fetch`, the refs will not be " -"stored in the 'refs/remotes/' namespace, but rather everything in 'refs/' on " -"the remote will be directly mirrored into 'refs/' in the local repository. " -"This option only makes sense in bare repositories, because a fetch would " -"overwrite any local commits." +"git-merge-one-file - The standard helper program to use with git-merge-index" msgstr "" #. type: Plain text -#: en/git-remote.txt:82 +#: en/git-merge-one-file.txt:13 +#, no-wrap +msgid "'git merge-one-file'\n" +msgstr "" + +#. type: Plain text +#: en/git-merge-one-file.txt:18 msgid "" -"When a push mirror is created with `--mirror=push`, then `git push` will " -"always behave as if `--mirror` was passed." +"This is the standard helper program to use with 'git merge-index' to resolve " +"a merge after the trivial merge done with 'git read-tree -m'." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:83 +#. type: Title = +#: en/git-mergetool--lib.txt:2 #, no-wrap -msgid "'rename'" +msgid "git-mergetool{litdd}lib(1)" msgstr "" #. type: Plain text -#: en/git-remote.txt:87 +#: en/git-mergetool--lib.txt:7 +msgid "git-mergetool--lib - Common Git merge tool shell scriptlets" +msgstr "" + +#. type: Plain text +#: en/git-mergetool--lib.txt:12 +#, no-wrap +msgid "'TOOL_MODE=(diff|merge) . \"$(git --exec-path)/git-mergetool{litdd}lib\"'\n" +msgstr "" + +#. type: Plain text +#: en/git-mergetool--lib.txt:19 en/git-sh-i18n.txt:19 en/git-sh-setup.txt:19 msgid "" -"Rename the remote named <old> to <new>. All remote-tracking branches and " -"configuration settings for the remote are updated." +"This is not a command the end user would want to run. Ever. This " +"documentation is meant for people who are studying the Porcelain-ish scripts " +"and/or are writing new ones." +msgstr "" + +#. type: Plain text +#: en/git-mergetool--lib.txt:23 +msgid "" +"The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using `." +"`) by other shell scripts to set up functions for working with Git merge " +"tools." msgstr "" #. type: Plain text -#: en/git-remote.txt:91 +#: en/git-mergetool--lib.txt:27 msgid "" -"In case <old> and <new> are the same, and <old> is a file under `$GIT_DIR/" -"remotes` or `$GIT_DIR/branches`, the remote is converted to the " -"configuration file format." +"Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE` " +"to define the operation mode for the functions listed below. 'diff' and " +"'merge' are valid values." msgstr "" +#. type: Title - +#: en/git-mergetool--lib.txt:29 en/git-sh-i18n.txt:28 en/git-sh-setup.txt:34 +#, fuzzy, no-wrap +#| msgid "OPTIONS" +msgid "FUNCTIONS" +msgstr "OPTIONS" + #. type: Labeled list -#: en/git-remote.txt:92 +#: en/git-mergetool--lib.txt:30 #, no-wrap -msgid "'remove'" +msgid "get_merge_tool" +msgstr "" + +#. type: Plain text +#: en/git-mergetool--lib.txt:32 +msgid "returns a merge tool." msgstr "" #. type: Labeled list -#: en/git-remote.txt:93 +#: en/git-mergetool--lib.txt:33 #, no-wrap -msgid "'rm'" +msgid "get_merge_tool_cmd" msgstr "" #. type: Plain text -#: en/git-remote.txt:97 -msgid "" -"Remove the remote named <name>. All remote-tracking branches and " -"configuration settings for the remote are removed." +#: en/git-mergetool--lib.txt:35 +msgid "returns the custom command for a merge tool." msgstr "" #. type: Labeled list -#: en/git-remote.txt:98 +#: en/git-mergetool--lib.txt:36 #, no-wrap -msgid "'set-head'" +msgid "get_merge_tool_path" msgstr "" #. type: Plain text -#: en/git-remote.txt:107 -msgid "" -"Sets or deletes the default branch (i.e. the target of the symbolic-ref " -"`refs/remotes/<name>/HEAD`) for the named remote. Having a default branch " -"for a remote is not required, but allows the name of the remote to be " -"specified in lieu of a specific branch. For example, if the default branch " -"for `origin` is set to `master`, then `origin` may be specified wherever you " -"would normally specify `origin/master`." +#: en/git-mergetool--lib.txt:38 +msgid "returns the custom path for a merge tool." msgstr "" -#. type: Plain text -#: en/git-remote.txt:109 -msgid "" -"With `-d` or `--delete`, the symbolic ref `refs/remotes/<name>/HEAD` is " -"deleted." +#. type: Labeled list +#: en/git-mergetool--lib.txt:39 +#, no-wrap +msgid "run_merge_tool" msgstr "" #. type: Plain text -#: en/git-remote.txt:116 +#: en/git-mergetool--lib.txt:44 msgid "" -"With `-a` or `--auto`, the remote is queried to determine its `HEAD`, then " -"the symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., " -"if the remote `HEAD` is pointed at `next`, \"`git remote set-head origin -a`" -"\" will set the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/" -"origin/next`. This will only work if `refs/remotes/origin/next` already " -"exists; if not it must be fetched first." +"launches a merge tool given the tool name and a true/false flag to indicate " +"whether a merge base is present. '$MERGED', '$LOCAL', '$REMOTE', and " +"'$BASE' must be defined for use by the merge tool." msgstr "" +#. type: Title = +#: en/git-mergetool.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-mergetool(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-remote.txt:121 +#: en/git-mergetool.txt:7 msgid "" -"Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` " -"explicitly. e.g., \"git remote set-head origin master\" will set the " -"symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/master`. " -"This will only work if `refs/remotes/origin/master` already exists; if not " -"it must be fetched first." +"git-mergetool - Run merge conflict resolution tools to resolve merge " +"conflicts" msgstr "" -#. type: Labeled list -#: en/git-remote.txt:123 +#. type: Plain text +#: en/git-mergetool.txt:12 #, no-wrap -msgid "'set-branches'" +msgid "'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:128 +#: en/git-mergetool.txt:18 msgid "" -"Changes the list of branches tracked by the named remote. This can be used " -"to track a subset of the available remote branches after the initial setup " -"for a remote." +"Use `git mergetool` to run one of several merge utilities to resolve merge " +"conflicts. It is typically run after 'git merge'." msgstr "" #. type: Plain text -#: en/git-remote.txt:131 +#: en/git-mergetool.txt:24 msgid "" -"The named branches will be interpreted as if specified with the `-t` option " -"on the 'git remote add' command line." +"If one or more <file> parameters are given, the merge tool program will be " +"run to resolve differences on each file (skipping those without conflicts). " +"Specifying a directory will include all unresolved files in that path. If " +"no <file> names are specified, 'git mergetool' will run the merge tool " +"program on every file with merge conflicts." msgstr "" #. type: Plain text -#: en/git-remote.txt:134 +#: en/git-mergetool.txt:33 msgid "" -"With `--add`, instead of replacing the list of currently tracked branches, " -"adds to that list." -msgstr "" - -#. type: Labeled list -#: en/git-remote.txt:135 -#, no-wrap -msgid "'get-url'" +"Use the merge resolution program specified by <tool>. Valid values include " +"emerge, gvimdiff, kdiff3, meld, vimdiff, and tortoisemerge. Run `git " +"mergetool --tool-help` for the list of valid <tool> settings." msgstr "" #. type: Plain text -#: en/git-remote.txt:139 +#: en/git-mergetool.txt:38 msgid "" -"Retrieves the URLs for a remote. Configurations for `insteadOf` and " -"`pushInsteadOf` are expanded here. By default, only the first URL is listed." +"If a merge resolution program is not specified, 'git mergetool' will use the " +"configuration variable `merge.tool`. If the configuration variable `merge." +"tool` is not set, 'git mergetool' will pick a suitable default." msgstr "" #. type: Plain text -#: en/git-remote.txt:141 -msgid "With `--push`, push URLs are queried rather than fetch URLs." +#: en/git-mergetool.txt:44 +msgid "" +"You can explicitly provide a full path to the tool by setting the " +"configuration variable `mergetool.<tool>.path`. For example, you can " +"configure the absolute path to kdiff3 by setting `mergetool.kdiff3.path`. " +"Otherwise, 'git mergetool' assumes the tool is available in PATH." msgstr "" #. type: Plain text -#: en/git-remote.txt:143 -msgid "With `--all`, all URLs for the remote will be listed." +#: en/git-mergetool.txt:49 +msgid "" +"Instead of running one of the known merge tool programs, 'git mergetool' can " +"be customized to run an alternative program by specifying the command line " +"to invoke in a configuration variable `mergetool.<tool>.cmd`." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:144 -#, no-wrap -msgid "'set-url'" +#. type: Plain text +#: en/git-mergetool.txt:60 +msgid "" +"When 'git mergetool' is invoked with this tool (either through the `-t` or " +"`--tool` option or the `merge.tool` configuration variable) the configured " +"command line will be invoked with `$BASE` set to the name of a temporary " +"file containing the common base for the merge, if available; `$LOCAL` set to " +"the name of a temporary file containing the contents of the file on the " +"current branch; `$REMOTE` set to the name of a temporary file containing the " +"contents of the file to be merged, and `$MERGED` set to the name of the file " +"to which the merge tool should write the result of the merge resolution." msgstr "" #. type: Plain text -#: en/git-remote.txt:149 +#: en/git-mergetool.txt:66 msgid "" -"Changes URLs for the remote. Sets first URL for remote <name> that matches " -"regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> " -"doesn't match any URL, an error occurs and nothing is changed." +"If the custom merge tool correctly indicates the success of a merge " +"resolution with its exit code, then the configuration variable `mergetool." +"<tool>.trustExitCode` can be set to `true`. Otherwise, 'git mergetool' will " +"prompt the user to indicate the success of the resolution after the custom " +"tool has exited." msgstr "" #. type: Plain text -#: en/git-remote.txt:151 -msgid "With `--push`, push URLs are manipulated instead of fetch URLs." +#: en/git-mergetool.txt:69 +msgid "Print a list of merge tools that may be used with `--tool`." msgstr "" #. type: Plain text -#: en/git-remote.txt:153 -msgid "With `--add`, instead of changing existing URLs, new URL is added." +#: en/git-mergetool.txt:77 +msgid "" +"Don't prompt before each invocation of the merge resolution program. This " +"is the default if the merge resolution program is explicitly specified with " +"the `--tool` option or with the `merge.tool` configuration variable." msgstr "" #. type: Plain text -#: en/git-remote.txt:157 +#: en/git-mergetool.txt:81 msgid "" -"With `--delete`, instead of changing existing URLs, all URLs matching regex " -"<url> are deleted for remote <name>. Trying to delete all non-push URLs is " -"an error." +"Prompt before each invocation of the merge resolution program to give the " +"user a chance to skip the path." msgstr "" #. type: Plain text -#: en/git-remote.txt:164 +#: en/git-mergetool.txt:88 msgid "" -"Note that the push URL and the fetch URL, even though they can be set " -"differently, must still refer to the same place. What you pushed to the " -"push URL should be what you would see if you immediately fetched from the " -"fetch URL. If you are trying to fetch from one place (e.g. your upstream) " -"and push to another (e.g. your publishing repository), use two separate " -"remotes." +"Process files in the order specified in the <orderfile>, which has one shell " +"glob pattern per line. This overrides the `diff.orderFile` configuration " +"variable (see linkgit:git-config[1]). To cancel `diff.orderFile`, use `-O/" +"dev/null`." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:166 +#. type: Title - +#: en/git-mergetool.txt:90 #, no-wrap -msgid "'show'" +msgid "TEMPORARY FILES" msgstr "" -# #. type: Plain text -#: en/git-remote.txt:169 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Gives some information about the remote <name>." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-mergetool.txt:94 +msgid "" +"`git mergetool` creates `*.orig` backup files while resolving merges. These " +"are safe to remove once a file has been merged and its `git mergetool` " +"session has completed." +msgstr "" #. type: Plain text -#: en/git-remote.txt:172 +#: en/git-mergetool.txt:98 msgid "" -"With `-n` option, the remote heads are not queried first with `git ls-remote " -"<name>`; cached information is used instead." +"Setting the `mergetool.keepBackup` configuration variable to `false` causes " +"`git mergetool` to automatically remove the backup as files are successfully " +"merged." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:173 +#. type: Title = +#: en/git-merge-tree.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-merge-tree(1)" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-merge-tree.txt:7 +msgid "git-merge-tree - Show three-way merge without touching index" +msgstr "" + +#. type: Plain text +#: en/git-merge-tree.txt:13 #, no-wrap -msgid "'prune'" +msgid "'git merge-tree' <base-tree> <branch1> <branch2>\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:179 +#: en/git-merge-tree.txt:21 msgid "" -"Deletes all stale remote-tracking branches under <name>. These stale " -"branches have already been removed from the remote repository referenced by " -"<name>, but are still locally available in \"remotes/<name>\"." +"Reads three tree-ish, and output trivial merge results and conflicting " +"stages to the standard output. This is similar to what three-way 'git read-" +"tree -m' does, but instead of storing the results in the index, the command " +"outputs the entries to the standard output." msgstr "" #. type: Plain text -#: en/git-remote.txt:182 +#: en/git-merge-tree.txt:26 msgid "" -"With `--dry-run` option, report what branches will be pruned, but do not " -"actually prune them." +"This is meant to be used by higher level scripts to compute merge results " +"outside of the index, and stuff the results back into the index. For this " +"reason, the output from the command omits entries that match the <branch1> " +"tree." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:183 +#. type: Title = +#: en/git-merge.txt:2 #, fuzzy, no-wrap -#| msgid "update" -msgid "'update'" -msgstr "update" +#| msgid "git-commit(1)" +msgid "git-merge(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-remote.txt:191 -msgid "" -"Fetch updates for a named set of remotes in the repository as defined by " -"remotes.<group>. If a named group is not specified on the command line, the " -"configuration parameter remotes.default will be used; if remotes.default is " -"not defined, all remotes which do not have the configuration parameter " -"remote.<name>.skipDefaultUpdate set to true will be updated. (See linkgit:" -"git-config[1])." +#: en/git-merge.txt:7 +msgid "git-merge - Join two or more development histories together" msgstr "" #. type: Plain text -#: en/git-remote.txt:193 -msgid "With `--prune` option, prune all the remotes that are updated." +#: en/git-merge.txt:19 +#, no-wrap +msgid "" +"'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]\n" +"\t[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]\n" +"\t[--[no-]allow-unrelated-histories]\n" +"\t[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]\n" +"'git merge' <msg> HEAD <commit>...\n" +"'git merge' --abort\n" +"'git merge' --continue\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:201 -#, fuzzy -#| msgid "" -#| "The default can be changed by the `commit.cleanup` configuration variable " -#| "(see linkgit:git-config[1])." +#: en/git-merge.txt:27 msgid "" -"The remote configuration is achieved using the `remote.origin.url` and " -"`remote.origin.fetch` configuration variables. (See linkgit:git-config[1])." +"Incorporates changes from the named commits (since the time their histories " +"diverged from the current branch) into the current branch. This command is " +"used by 'git pull' to incorporate changes from another repository and can be " +"used by hand to merge changes from one branch into another." msgstr "" -"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " -"`commit.cleanup` (voir linkgit:git-config[1])." #. type: Plain text -#: en/git-remote.txt:206 -msgid "Add a new remote, fetch, and check out a branch from it" +#: en/git-merge.txt:30 en/git-pull.txt:40 +msgid "" +"Assume the following history exists and the current branch is \"`master`\":" msgstr "" #. type: delimited block - -#: en/git-remote.txt:231 +#: en/git-merge.txt:35 #, no-wrap msgid "" -"$ git remote\n" -"origin\n" -"$ git branch -r\n" -" origin/HEAD -> origin/master\n" -" origin/master\n" -"$ git remote add staging git://git.kernel.org/.../gregkh/staging.git\n" -"$ git remote\n" -"origin\n" -"staging\n" -"$ git fetch staging\n" -"...\n" -"From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n" -" * [new branch] master -> staging/master\n" -" * [new branch] staging-linus -> staging/staging-linus\n" -" * [new branch] staging-next -> staging/staging-next\n" -"$ git branch -r\n" -" origin/HEAD -> origin/master\n" -" origin/master\n" -" staging/master\n" -" staging/staging-linus\n" -" staging/staging-next\n" -"$ git checkout -b staging staging/master\n" -"...\n" +"\t A---B---C topic\n" +"\t /\n" +" D---E---F---G master\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:234 -msgid "Imitate 'git clone' but track only selected branches" +#: en/git-merge.txt:42 +msgid "" +"Then \"`git merge topic`\" will replay the changes made on the `topic` " +"branch since it diverged from `master` (i.e., `E`) until its current commit " +"(`C`) on top of `master`, and record the result in a new commit along with " +"the names of the two parent commits and a log message from the user " +"describing the changes." msgstr "" #. type: delimited block - -#: en/git-remote.txt:241 +#: en/git-merge.txt:47 #, no-wrap msgid "" -"$ mkdir project.git\n" -"$ cd project.git\n" -"$ git init\n" -"$ git remote add -f -t master -m master origin git://example.com/git.git/\n" -"$ git merge origin\n" +"\t A---B---C topic\n" +"\t / \\\n" +" D---E---F---G---H master\n" msgstr "" -# #. type: Plain text -#: en/git-remote.txt:249 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-fetch[1] linkgit:git-branch[1] linkgit:git-config[1]" +#: en/git-merge.txt:52 +msgid "" +"The second syntax (<msg> `HEAD` <commit>...) is supported for historical " +"reasons. Do not use it from the command line or in new scripts. It is the " +"same as `git merge -m <msg> <commit>...`." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-repack.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-repack(1)" -msgstr "git-add(1)" #. type: Plain text -#: en/git-repack.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-repack - Pack unpacked objects in a repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/git-merge.txt:60 +msgid "" +"The third syntax (\"`git merge --abort`\") can only be run after the merge " +"has resulted in conflicts. 'git merge --abort' will abort the merge process " +"and try to reconstruct the pre-merge state. However, if there were " +"uncommitted changes when the merge started (and especially if those changes " +"were further modified after the merge was started), 'git merge --abort' will " +"in some cases be unable to reconstruct the original (pre-merge) changes. " +"Therefore:" +msgstr "" #. type: Plain text -#: en/git-repack.txt:13 +#: en/git-merge.txt:64 #, no-wrap -msgid "'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>]\n" +msgid "" +"*Warning*: Running 'git merge' with non-trivial uncommitted changes is\n" +"discouraged: while possible, it may leave you in a state that is hard to\n" +"back out of in the case of a conflict.\n" msgstr "" #. type: Plain text -#: en/git-repack.txt:20 +#: en/git-merge.txt:67 msgid "" -"This command is used to combine all objects that do not currently reside in " -"a \"pack\", into a pack. It can also be used to re-organize existing packs " -"into a single, more efficient pack." +"The fourth syntax (\"`git merge --continue`\") can only be run after the " +"merge has resulted in conflicts." msgstr "" #. type: Plain text -#: en/git-repack.txt:39 +#: en/git-merge.txt:77 +#, fuzzy +#| msgid "" +#| "-S[<keyid>]::\n" +#| "--gpg-sign[=<keyid>]::\n" +#| "\tGPG-sign commits. The `keyid` argument is optional and\n" +#| "\tdefaults to the committer identity; if specified, it must be\n" +#| "\tstuck to the option without a space.\n" msgid "" -"Instead of incrementally packing the unpacked objects, pack everything " -"referenced into a single pack. Especially useful when packing a repository " -"that is used for private development. Use with `-d`. This will clean up the " -"objects that `git prune` leaves behind, but `git fsck --full --dangling` " -"shows as dangling." +"GPG-sign the resulting merge commit. The `keyid` argument is optional and " +"defaults to the committer identity; if specified, it must be stuck to the " +"option without a space." msgstr "" +"-S[<idcl챕>]::\n" +"--gpg-sign[=<idcl챕>]::\n" +"\tSigner les commits avec GPG. L'argument `idcl챕` est optionnel\n" +"\tavec par d챕faut l'indentit챕 du validateur혻; si sp챕cifi챕e, elle\n" +"\tdoit 챗tre coll챕e 횪 l'option sans aucun espace.\n" #. type: Plain text -#: en/git-repack.txt:43 +#: en/git-merge.txt:81 msgid "" -"Note that users fetching over dumb protocols will have to fetch the whole " -"new pack in order to get any contained object, no matter how many other " -"objects in that pack they already have locally." +"Set the commit message to be used for the merge commit (in case one is " +"created)." msgstr "" #. type: Plain text -#: en/git-repack.txt:54 +#: en/git-merge.txt:84 msgid "" -"Same as `-a`, unless `-d` is used. Then any unreachable objects in a " -"previous pack become loose, unpacked objects, instead of being left in the " -"old pack. Unreachable objects are never intentionally added to a pack, even " -"when repacking. This option prevents unreachable objects from being " -"immediately deleted by way of being left in the old pack and then removed. " -"Instead, the loose unreachable objects will be pruned according to normal " -"expiry rules with the next 'git gc' invocation. See linkgit:git-gc[1]." +"If `--log` is specified, a shortlog of the commits being merged will be " +"appended to the specified message." msgstr "" #. type: Plain text -#: en/git-repack.txt:60 +#: en/git-merge.txt:88 msgid "" -"After packing, if the newly created packs make some existing packs " -"redundant, remove the redundant packs. Also run 'git prune-packed' to " -"remove redundant loose object files." +"The 'git fmt-merge-msg' command can be used to give a good default for " +"automated 'git merge' invocations. The automated message can include the " +"branch description." +msgstr "" + +#. type: Labeled list +#: en/git-merge.txt:89 +#, no-wrap +msgid "--[no-]rerere-autoupdate" msgstr "" -# #. type: Plain text -#: en/git-repack.txt:64 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-merge.txt:92 msgid "" -"Pass the `--local` option to 'git pack-objects'. See linkgit:git-pack-" -"objects[1]." +"Allow the rerere mechanism to update the index with the result of auto-" +"conflict resolution if possible." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" #. type: Plain text -#: en/git-repack.txt:68 +#: en/git-merge.txt:96 msgid "" -"Pass the `--no-reuse-delta` option to `git-pack-objects`, see linkgit:git-" -"pack-objects[1]." +"Abort the current conflict resolution process, and try to reconstruct the " +"pre-merge state." msgstr "" #. type: Plain text -#: en/git-repack.txt:72 +#: en/git-merge.txt:101 msgid "" -"Pass the `--no-reuse-object` option to `git-pack-objects`, see linkgit:git-" -"pack-objects[1]." +"If there were uncommitted worktree changes present when the merge started, " +"'git merge --abort' will in some cases be unable to reconstruct these " +"changes. It is therefore recommended to always commit or stash your changes " +"before running 'git merge'." msgstr "" -# #. type: Plain text -#: en/git-repack.txt:76 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-merge.txt:104 msgid "" -"Pass the `-q` option to 'git pack-objects'. See linkgit:git-pack-objects[1]." +"'git merge --abort' is equivalent to 'git reset --merge' when `MERGE_HEAD` " +"is present." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" #. type: Plain text -#: en/git-repack.txt:83 +#: en/git-merge.txt:109 msgid "" -"Do not update the server information with 'git update-server-info'. This " -"option skips updating local catalog files needed to publish this repository " -"(or a direct copy of it) over HTTP or FTP. See linkgit:git-update-server-" -"info[1]." +"After a 'git merge' stops due to conflicts you can conclude the merge by " +"running 'git merge --continue' (see \"HOW TO RESOLVE CONFLICTS\" section " +"below)." +msgstr "" + +#. type: Plain text +#: en/git-merge.txt:114 +msgid "" +"Commits, usually other branch heads, to merge into our branch. Specifying " +"more than one commit will create a merge with more than two parents " +"(affectionately called an Octopus merge)." msgstr "" #. type: Plain text -#: en/git-repack.txt:94 +#: en/git-merge.txt:118 msgid "" -"These two options affect how the objects contained in the pack are stored " -"using delta compression. The objects are first internally sorted by type, " -"size and optionally names and compared against the other objects within `--" -"window` to see if using delta compression saves space. `--depth` limits the " -"maximum delta depth; making it too deep affects the performance on the " -"unpacker side, because delta data needs to be applied that many times to get " -"to the necessary object. The default value for --window is 10 and --depth " -"is 50." +"If no commit is given from the command line, merge the remote-tracking " +"branches that the current branch is configured to use as its upstream. See " +"also the configuration section of this manual page." msgstr "" #. type: Plain text -#: en/git-repack.txt:107 +#: en/git-merge.txt:122 msgid "" -"This option provides an additional limit on top of `--window`; the window " -"size will dynamically scale down so as to not take up more than '<n>' bytes " -"in memory. This is useful in repositories with a mix of large and small " -"objects to not run out of memory with a large window, but still be able to " -"take advantage of the large window for the smaller objects. The size can be " -"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " -"usage unlimited. The default is taken from the `pack.windowMemory` " -"configuration variable. Note that the actual memory usage will be the limit " -"multiplied by the number of threads used by linkgit:git-pack-objects[1]." +"When `FETCH_HEAD` (and no other commit) is specified, the branches recorded " +"in the `.git/FETCH_HEAD` file by the previous invocation of `git fetch` for " +"merging are merged to the current branch." msgstr "" -#. type: Labeled list -#: en/git-repack.txt:117 +#. type: Title - +#: en/git-merge.txt:125 #, no-wrap -msgid "--write-bitmap-index" +msgid "PRE-MERGE CHECKS" msgstr "" #. type: Plain text -#: en/git-repack.txt:123 +#: en/git-merge.txt:133 msgid "" -"Write a reachability bitmap index as part of the repack. This only makes " -"sense when used with `-a` or `-A`, as the bitmaps must be able to refer to " -"all reachable objects. This option overrides the setting of `repack." -"writeBitmaps`. This option has no effect if multiple packfiles are created." +"Before applying outside changes, you should get your own work in good shape " +"and committed locally, so it will not be clobbered if there are conflicts. " +"See also linkgit:git-stash[1]. 'git pull' and 'git merge' will stop without " +"doing anything when local uncommitted changes overlap with files that 'git " +"pull'/'git merge' may need to update." msgstr "" -#. type: Labeled list -#: en/git-repack.txt:124 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--pack-kept-objects" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-merge.txt:139 +msgid "" +"To avoid recording unrelated changes in the merge commit, 'git pull' and " +"'git merge' will also abort if there are any changes registered in the index " +"relative to the `HEAD` commit. (One exception is when the changed index " +"entries are in the state that would result from the merge already.)" +msgstr "" #. type: Plain text -#: en/git-repack.txt:132 +#: en/git-merge.txt:142 msgid "" -"Include objects in `.keep` files when repacking. Note that we still do not " -"delete `.keep` packs after `pack-objects` finishes. This means that we may " -"duplicate objects, but this makes the option safe to use when there are " -"concurrent pushes or fetches. This option is generally only useful if you " -"are writing bitmaps with `-b` or `repack.writeBitmaps`, as it ensures that " -"the bitmapped packfile has the necessary objects." +"If all named commits are already ancestors of `HEAD`, 'git merge' will exit " +"early with the message \"Already up-to-date.\"" msgstr "" -#. type: Labeled list -#: en/git-repack.txt:133 +#. type: Title - +#: en/git-merge.txt:144 #, no-wrap -msgid "--unpack-unreachable=<when>" +msgid "FAST-FORWARD MERGE" msgstr "" #. type: Plain text -#: en/git-repack.txt:138 +#: en/git-merge.txt:154 msgid "" -"When loosening unreachable objects, do not bother loosening any objects " -"older than `<when>`. This can be used to optimize out the write of any " -"objects that would be immediately pruned by a follow-up `git prune`." +"Often the current branch head is an ancestor of the named commit. This is " +"the most common case especially when invoked from 'git pull': you are " +"tracking an upstream repository, you have committed no local changes, and " +"now you want to update to a newer upstream revision. In this case, a new " +"commit is not needed to store the combined history; instead, the `HEAD` " +"(along with the index) is updated to point at the named commit, without " +"creating an extra merge commit." msgstr "" -#. type: Labeled list -#: en/git-repack.txt:140 +#. type: Plain text +#: en/git-merge.txt:156 +msgid "This behavior can be suppressed with the `--no-ff` option." +msgstr "" + +#. type: Title - +#: en/git-merge.txt:158 #, no-wrap -msgid "--keep-unreachable" +msgid "TRUE MERGE" msgstr "" #. type: Plain text -#: en/git-repack.txt:145 +#: en/git-merge.txt:163 msgid "" -"When used with `-ad`, any unreachable objects from existing packs will be " -"appended to the end of the packfile instead of being removed. In addition, " -"any unreachable loose objects will be packed (and their loose counterparts " -"removed)." +"Except in a fast-forward merge (see above), the branches to be merged must " +"be tied together by a merge commit that has both of them as its parents." msgstr "" #. type: Plain text -#: en/git-repack.txt:158 +#: en/git-merge.txt:168 msgid "" -"By default, the command passes `--delta-base-offset` option to 'git pack-" -"objects'; this typically results in slightly smaller packs, but the " -"generated packs are incompatible with versions of Git older than version " -"1.4.4. If you need to share your repository with such ancient Git versions, " -"either directly or via the dumb http protocol, then you need to set the " -"configuration variable `repack.UseDeltaBaseOffset` to \"false\" and repack. " -"Access from old Git versions over the native protocol is unaffected by this " -"option as the conversion is performed on the fly as needed in that case." +"A merged version reconciling the changes from all branches to be merged is " +"committed, and your `HEAD`, index, and working tree are updated to it. It " +"is possible to have modifications in the working tree as long as they do not " +"overlap; the update will preserve them." msgstr "" #. type: Plain text -#: en/git-repack.txt:163 -msgid "linkgit:git-pack-objects[1] linkgit:git-prune-packed[1]" +#: en/git-merge.txt:171 +msgid "" +"When it is not obvious how to reconcile the changes, the following happens:" msgstr "" -#. type: Title = -#: en/git-replace.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-replace(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-replace.txt:7 -msgid "git-replace - Create, list, delete refs to replace objects" +#: en/git-merge.txt:173 +msgid "The `HEAD` pointer stays the same." msgstr "" #. type: Plain text -#: en/git-replace.txt:16 -#, no-wrap -msgid "" -"'git replace' [-f] <object> <replacement>\n" -"'git replace' [-f] --edit <object>\n" -"'git replace' [-f] --graft <commit> [<parent>...]\n" -"'git replace' -d <object>...\n" -"'git replace' [--format=<format>] [-l [<pattern>]]\n" +#: en/git-merge.txt:174 +msgid "The `MERGE_HEAD` ref is set to point to the other branch head." msgstr "" #. type: Plain text -#: en/git-replace.txt:20 -msgid "Adds a 'replace' reference in `refs/replace/` namespace." +#: en/git-merge.txt:176 +msgid "" +"Paths that merged cleanly are updated both in the index file and in your " +"working tree." msgstr "" #. type: Plain text -#: en/git-replace.txt:24 +#: en/git-merge.txt:182 msgid "" -"The name of the 'replace' reference is the SHA-1 of the object that is " -"replaced. The content of the 'replace' reference is the SHA-1 of the " -"replacement object." +"For conflicting paths, the index file records up to three versions: stage 1 " +"stores the version from the common ancestor, stage 2 from `HEAD`, and stage " +"3 from `MERGE_HEAD` (you can inspect the stages with `git ls-files -u`). " +"The working tree files contain the result of the \"merge\" program; i.e. 3-" +"way merge results with familiar conflict markers `<<<` `===` `>>>`." msgstr "" #. type: Plain text -#: en/git-replace.txt:27 +#: en/git-merge.txt:186 msgid "" -"The replaced object and the replacement object must be of the same type. " -"This restriction can be bypassed using `-f`." +"No other changes are made. In particular, the local modifications you had " +"before you started merge will stay the same and the index entries for them " +"stay as they were, i.e. matching `HEAD`." msgstr "" #. type: Plain text -#: en/git-replace.txt:29 -msgid "Unless `-f` is given, the 'replace' reference must not yet exist." +#: en/git-merge.txt:189 +msgid "" +"If you tried a merge which resulted in complex conflicts and want to start " +"over, you can recover with `git merge --abort`." msgstr "" -#. type: Plain text -#: en/git-replace.txt:32 -msgid "" -"There is no other restriction on the replaced and replacement objects. " -"Merge commits can be replaced by non-merge commits and vice versa." +#. type: Title - +#: en/git-merge.txt:191 +#, no-wrap +msgid "MERGING TAG" msgstr "" #. type: Plain text -#: en/git-replace.txt:36 +#: en/git-merge.txt:198 msgid "" -"Replacement references will be used by default by all Git commands except " -"those doing reachability traversal (prune, pack transfer and fsck)." +"When merging an annotated (and possibly signed) tag, Git always creates a " +"merge commit even if a fast-forward merge is possible, and the commit " +"message template is prepared with the tag message. Additionally, if the tag " +"is signed, the signature check is reported as a comment in the message " +"template. See also linkgit:git-tag[1]." msgstr "" #. type: Plain text -#: en/git-replace.txt:39 +#: en/git-merge.txt:202 msgid "" -"It is possible to disable use of replacement references for any command " -"using the `--no-replace-objects` option just after 'git'." +"When you want to just integrate with the work leading to the commit that " +"happens to be tagged, e.g. synchronizing with an upstream release point, you " +"may not want to make an unnecessary merge commit." msgstr "" #. type: Plain text -#: en/git-replace.txt:41 -msgid "For example if commit 'foo' has been replaced by commit 'bar':" +#: en/git-merge.txt:206 +msgid "" +"In such a case, you can \"unwrap\" the tag yourself before feeding it to " +"`git merge`, or pass `--ff-only` when you do not have any work on your own. " +"e.g." msgstr "" #. type: delimited block - -#: en/git-replace.txt:44 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git --no-replace-objects cat-file commit foo\n" -msgstr "$ git commit\n" - -#. type: Plain text -#: en/git-replace.txt:47 -msgid "shows information about commit 'foo', while:" +#: en/git-merge.txt:211 +#, no-wrap +msgid "" +"git fetch origin\n" +"git merge v1.2.3^0\n" +"git merge --ff-only v1.2.3\n" msgstr "" -#. type: delimited block - -#: en/git-replace.txt:50 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "$ git cat-file commit foo\n" -msgstr "$ git commit\n" - -#. type: Plain text -#: en/git-replace.txt:53 -msgid "shows information about commit 'bar'." +#. type: Title - +#: en/git-merge.txt:215 +#, no-wrap +msgid "HOW CONFLICTS ARE PRESENTED" msgstr "" #. type: Plain text -#: en/git-replace.txt:56 +#: en/git-merge.txt:224 msgid "" -"The `GIT_NO_REPLACE_OBJECTS` environment variable can be set to achieve the " -"same effect as the `--no-replace-objects` option." +"During a merge, the working tree files are updated to reflect the result of " +"the merge. Among the changes made to the common ancestor's version, non-" +"overlapping ones (that is, you changed an area of the file while the other " +"side left that area intact, or vice versa) are incorporated in the final " +"result verbatim. When both sides made changes to the same area, however, " +"Git cannot randomly pick one side over the other, and asks you to resolve it " +"by leaving what both sides did to that area." msgstr "" #. type: Plain text -#: en/git-replace.txt:63 +#: en/git-merge.txt:227 msgid "" -"If an existing replace ref for the same object exists, it will be " -"overwritten (instead of failing)." -msgstr "" - -#. type: Plain text -#: en/git-replace.txt:67 -msgid "Delete existing replace refs for the given objects." +"By default, Git uses the same style as the one used by the \"merge\" program " +"from the RCS suite to present such a conflicted hunk, like this:" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:68 +#. type: delimited block - +#: en/git-merge.txt:238 #, no-wrap -msgid "--edit <object>" +msgid "" +"Here are lines that are either unchanged from the common\n" +"ancestor, or cleanly resolved because only one side changed.\n" +"<<<<<<< yours:sample.txt\n" +"Conflict resolution is hard;\n" +"let's go shopping.\n" +"=======\n" +"Git makes conflict resolution easy.\n" +">>>>>>> theirs:sample.txt\n" +"And here is another line that is cleanly resolved or unmodified.\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:76 +#: en/git-merge.txt:243 msgid "" -"Edit an object's content interactively. The existing content for <object> is " -"pretty-printed into a temporary file, an editor is launched on the file, and " -"the result is parsed to create a new object of the same type as <object>. A " -"replacement ref is then created to replace <object> with the newly created " -"object. See linkgit:git-var[1] for details about how the editor will be " -"chosen." +"The area where a pair of conflicting changes happened is marked with markers " +"`<<<<<<<`, `=======`, and `>>>>>>>`. The part before the `=======` is " +"typically your side, and the part afterwards is typically their side." msgstr "" -#. type: Labeled list -#: en/git-replace.txt:77 en/git-verify-commit.txt:19 en/git-verify-tag.txt:19 -#: en/diff-options.txt:45 -#, no-wrap -msgid "--raw" +#. type: Plain text +#: en/git-merge.txt:249 +msgid "" +"The default format does not show what the original said in the conflicting " +"area. You cannot tell how many lines are deleted and replaced with Barbie's " +"remark on your side. The only thing you can tell is that your side wants to " +"say it is hard and you'd prefer to go shopping, while the other side wants " +"to claim it is easy." msgstr "" #. type: Plain text -#: en/git-replace.txt:84 +#: en/git-merge.txt:253 msgid "" -"When editing, provide the raw object contents rather than pretty-printed " -"ones. Currently this only affects trees, which will be shown in their binary " -"form. This is harder to work with, but can help when repairing a tree that " -"is so corrupted it cannot be pretty-printed. Note that you may need to " -"configure your editor to cleanly read and write binary data." +"An alternative style can be used by setting the \"merge.conflictStyle\" " +"configuration variable to \"diff3\". In \"diff3\" style, the above conflict " +"may look like this:" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:85 +#. type: delimited block - +#: en/git-merge.txt:266 #, no-wrap -msgid "--graft <commit> [<parent>...]" +msgid "" +"Here are lines that are either unchanged from the common\n" +"ancestor, or cleanly resolved because only one side changed.\n" +"<<<<<<< yours:sample.txt\n" +"Conflict resolution is hard;\n" +"let's go shopping.\n" +"|||||||\n" +"Conflict resolution is hard.\n" +"=======\n" +"Git makes conflict resolution easy.\n" +">>>>>>> theirs:sample.txt\n" +"And here is another line that is cleanly resolved or unmodified.\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:93 +#: en/git-merge.txt:274 msgid "" -"Create a graft commit. A new commit is created with the same content as " -"<commit> except that its parents will be [<parent>...] instead of <commit>'s " -"parents. A replacement ref is then created to replace <commit> with the " -"newly created commit. See contrib/convert-grafts-to-replace-refs.sh for an " -"example script based on this option that can convert grafts to replace refs." +"In addition to the `<<<<<<<`, `=======`, and `>>>>>>>` markers, it uses " +"another `|||||||` marker that is followed by the original text. You can " +"tell that the original just stated a fact, and your side simply gave in to " +"that statement and gave up, while the other side tried to have a more " +"positive attitude. You can sometimes come up with a better resolution by " +"viewing the original." msgstr "" -#. type: Labeled list -#: en/git-replace.txt:94 en/git-tag.txt:90 +#. type: Title - +#: en/git-merge.txt:277 #, no-wrap -msgid "-l <pattern>" +msgid "HOW TO RESOLVE CONFLICTS" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:95 en/git-tag.txt:91 -#, no-wrap -msgid "--list <pattern>" +#. type: Plain text +#: en/git-merge.txt:280 +msgid "After seeing a conflict, you can do two things:" msgstr "" #. type: Plain text -#: en/git-replace.txt:100 +#: en/git-merge.txt:285 msgid "" -"List replace refs for objects that match the given pattern (or all if no " -"pattern is given). Typing \"git replace\" without arguments, also lists all " -"replace refs." +"Decide not to merge. The only clean-ups you need are to reset the index " +"file to the `HEAD` commit to reverse 2. and to clean up working tree changes " +"made by 2. and 3.; `git merge --abort` can be used for this." msgstr "" -#. type: Labeled list -#: en/git-replace.txt:101 en/pretty-options.txt:2 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--format=<format>" -msgstr "Configuration" - #. type: Plain text -#: en/git-replace.txt:105 +#: en/git-merge.txt:289 msgid "" -"When listing, use the specified <format>, which can be one of 'short', " -"'medium' and 'long'. When omitted, the format defaults to 'short'." +"Resolve the conflicts. Git will mark the conflicts in the working tree. " +"Edit the files into shape and 'git add' them to the index. Use 'git commit' " +"to seal the deal." msgstr "" -#. type: Title - -#: en/git-replace.txt:107 -#, fuzzy, no-wrap -#| msgid "DATE FORMATS" -msgid "FORMATS" -msgstr "FORMATS DE DATE" - #. type: Plain text -#: en/git-replace.txt:110 -msgid "The following format are available:" +#: en/git-merge.txt:291 +msgid "You can work through the conflict with a number of tools:" msgstr "" #. type: Plain text -#: en/git-replace.txt:112 -msgid "'short':" +#: en/git-merge.txt:294 +msgid "" +"Use a mergetool. `git mergetool` to launch a graphical mergetool which will " +"work you through the merge." msgstr "" #. type: Plain text -#: en/git-replace.txt:113 -msgid "<replaced sha1>" +#: en/git-merge.txt:298 +msgid "" +"Look at the diffs. `git diff` will show a three-way diff, highlighting " +"changes from both the `HEAD` and `MERGE_HEAD` versions." msgstr "" #. type: Plain text -#: en/git-replace.txt:114 -msgid "'medium':" +#: en/git-merge.txt:302 +msgid "" +"Look at the diffs from each branch. `git log --merge -p <path>` will show " +"diffs first for the `HEAD` version and then the `MERGE_HEAD` version." msgstr "" #. type: Plain text -#: en/git-replace.txt:115 -msgid "<replaced sha1> -> <replacement sha1>" +#: en/git-merge.txt:307 +msgid "" +"Look at the originals. `git show :1:filename` shows the common ancestor, " +"`git show :2:filename` shows the `HEAD` version, and `git show :3:filename` " +"shows the `MERGE_HEAD` version." msgstr "" #. type: Plain text -#: en/git-replace.txt:116 -msgid "'long':" +#: en/git-merge.txt:314 +msgid "" +"Merge branches `fixes` and `enhancements` on top of the current branch, " +"making an octopus merge:" +msgstr "" + +#. type: delimited block - +#: en/git-merge.txt:317 +#, no-wrap +msgid "$ git merge fixes enhancements\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:117 +#: en/git-merge.txt:321 msgid "" -"<replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)" +"Merge branch `obsolete` into the current branch, using `ours` merge strategy:" msgstr "" -#. type: Title - -#: en/git-replace.txt:119 +#. type: delimited block - +#: en/git-merge.txt:324 #, no-wrap -msgid "CREATING REPLACEMENT OBJECTS" +msgid "$ git merge -s ours obsolete\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:126 +#: en/git-merge.txt:328 msgid "" -"linkgit:git-filter-branch[1], linkgit:git-hash-object[1] and linkgit:git-" -"rebase[1], among other git commands, can be used to create replacement " -"objects from existing objects. The `--edit` option can also be used with " -"'git replace' to create a replacement object by editing an existing object." +"Merge branch `maint` into the current branch, but do not make a new commit " +"automatically:" msgstr "" +#. type: delimited block - +#: en/git-merge.txt:331 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git merge --no-commit maint\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-replace.txt:132 +#: en/git-merge.txt:335 msgid "" -"If you want to replace many blobs, trees or commits that are part of a " -"string of commits, you may just want to create a replacement string of " -"commits and then only replace the commit at the tip of the target string of " -"commits with the commit at the tip of the replacement string of commits." +"This can be used when you want to include further changes to the merge, or " +"want to write your own merge commit message." msgstr "" #. type: Plain text -#: en/git-replace.txt:139 +#: en/git-merge.txt:339 msgid "" -"Comparing blobs or trees that have been replaced with those that replace " -"them will not work properly. And using `git reset --hard` to go back to a " -"replaced commit will move the branch to the replacement commit instead of " -"the replaced commit." +"You should refrain from abusing this option to sneak substantial changes " +"into a merge commit. Small fixups like bumping release/version name would " +"be acceptable." msgstr "" #. type: Plain text -#: en/git-replace.txt:142 +#: en/git-merge.txt:351 msgid "" -"There may be other problems when using 'git rev-list' related to pending " -"objects." +"Sets default options for merging into branch <name>. The syntax and " +"supported options are the same as those of 'git merge', but option values " +"containing whitespace characters are currently not supported." msgstr "" # #. type: Plain text -#: en/git-replace.txt:153 +#: en/git-merge.txt:360 #, fuzzy #| msgid "" #| "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" #| "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" msgid "" -"linkgit:git-hash-object[1] linkgit:git-filter-branch[1] linkgit:git-" -"rebase[1] linkgit:git-tag[1] linkgit:git-branch[1] linkgit:git-commit[1] " -"linkgit:git-var[1] linkgit:git[1]" +"linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1], linkgit:gitattributes[5], " +"linkgit:git-reset[1], linkgit:git-diff[1], linkgit:git-ls-files[1], linkgit:" +"git-add[1], linkgit:git-rm[1], linkgit:git-mergetool[1]" msgstr "" "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" #. type: Title = -#: en/git-request-pull.txt:2 -#, no-wrap -msgid "git-request-pull(1)" -msgstr "" - -#. type: Plain text -#: en/git-request-pull.txt:7 -msgid "git-request-pull - Generates a summary of pending changes" -msgstr "" - -#. type: Plain text -#: en/git-request-pull.txt:12 -#, no-wrap -msgid "'git request-pull' [-p] <start> <url> [<end>]\n" -msgstr "" - -#. type: Plain text -#: en/git-request-pull.txt:20 -msgid "" -"Generate a request asking your upstream project to pull changes into their " -"tree. The request, printed to the standard output, begins with the branch " -"description, summarizes the changes and indicates from where they can be " -"pulled." -msgstr "" - -#. type: Plain text -#: en/git-request-pull.txt:25 -msgid "" -"The upstream project is expected to have the commit named by `<start>` and " -"the output asks it to integrate the changes you made since that commit, up " -"to the commit named by `<end>`, by visiting the repository named by `<url>`." -msgstr "" +#: en/git-mktag.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-mktag(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-request-pull.txt:31 -msgid "Include patch text in the output." +#: en/git-mktag.txt:7 +msgid "git-mktag - Creates a tag object" msgstr "" -#. type: Labeled list -#: en/git-request-pull.txt:32 +#. type: Plain text +#: en/git-mktag.txt:13 #, no-wrap -msgid "<start>" +msgid "'git mktag'\n" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:35 +#: en/git-mktag.txt:18 msgid "" -"Commit to start at. This names a commit that is already in the upstream " -"history." -msgstr "" - -#. type: Labeled list -#: en/git-request-pull.txt:36 -#, no-wrap -msgid "<url>" +"Reads a tag contents on standard input and creates a tag object that can " +"also be used to sign other objects." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:38 -msgid "The repository URL to be pulled from." +#: en/git-mktag.txt:20 +msgid "The output is the new tag's <object> identifier." msgstr "" -#. type: Labeled list -#: en/git-request-pull.txt:39 +#. type: Title - +#: en/git-mktag.txt:22 #, no-wrap -msgid "<end>" +msgid "Tag Format" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:42 +#: en/git-mktag.txt:25 msgid "" -"Commit to end at (defaults to HEAD). This names the commit at the tip of " -"the history you are asking to be pulled." +"A tag signature file, to be fed to this command's standard input, has a very " +"simple fixed format: four lines of" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:47 +#: en/git-mktag.txt:30 +#, no-wrap msgid "" -"When the repository named by `<url>` has the commit at a tip of a ref that " -"is different from the ref you have locally, you can use the `<local>:" -"<remote>` syntax, to have its local name, a colon `:`, and its remote name." +" object <sha1>\n" +" type <typename>\n" +" tag <tagname>\n" +" tagger <tagger>\n" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:56 +#: en/git-mktag.txt:36 msgid "" -"Imagine that you built your work on your `master` branch on top of the " -"`v1.0` release, and want it to be integrated to the project. First you push " -"that change to your public repository for others to see:" +"followed by some 'optional' free-form message (some tags created by older " +"Git may not have `tagger` line). The message, when exists, is separated by " +"a blank line from the header. The message part may contain a signature that " +"Git itself doesn't care about, but that can be verified with gpg." msgstr "" -#. type: Plain text -#: en/git-request-pull.txt:58 -#, no-wrap -msgid "\tgit push https://git.ko.xz/project master\n" -msgstr "" +#. type: Title = +#: en/git-mktree.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-mktree(1)" +msgstr "git-commit(1)" +# #. type: Plain text -#: en/git-request-pull.txt:60 -msgid "Then, you run this command:" -msgstr "" +#: en/git-mktree.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-mktree - Build a tree-object from ls-tree formatted text" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-request-pull.txt:62 +#: en/git-mktree.txt:13 #, no-wrap -msgid "\tgit request-pull v1.0 https://git.ko.xz/project master\n" +msgid "'git mktree' [-z] [--missing] [--batch]\n" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:66 +#: en/git-mktree.txt:20 msgid "" -"which will produce a request to the upstream, summarizing the changes " -"between the `v1.0` release and your `master`, to pull it from your public " -"repository." +"Reads standard input in non-recursive `ls-tree` output format, and creates a " +"tree object. The order of the tree entries is normalised by mktree so pre-" +"sorting the input is not required. The object name of the tree object built " +"is written to the standard output." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:69 -msgid "" -"If you pushed your change to a branch whose name is different from the one " -"you have locally, e.g." +#: en/git-mktree.txt:25 +msgid "Read the NUL-terminated `ls-tree -z` output instead." msgstr "" -#. type: Plain text -#: en/git-request-pull.txt:71 +#. type: Labeled list +#: en/git-mktree.txt:26 #, no-wrap -msgid "\tgit push https://git.ko.xz/project master:for-linus\n" +msgid "--missing" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:73 -msgid "then you can ask that to be pulled with" +#: en/git-mktree.txt:31 +msgid "" +"Allow missing objects. The default behaviour (without this option) is to " +"verify that each tree entry's sha1 identifies an existing object. This " +"option has no effect on the treatment of gitlink entries (aka \"submodules" +"\") which are always allowed to be missing." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:75 -#, no-wrap -msgid "\tgit request-pull v1.0 https://git.ko.xz/project master:for-linus\n" +#: en/git-mktree.txt:37 +msgid "" +"Allow building of more than one tree object before exiting. Each tree is " +"separated by as single blank line. The final new-line is optional. Note - " +"if the `-z` option is used, lines are terminated with NUL." msgstr "" #. type: Title = -#: en/git-rerere.txt:2 +#: en/git-mv.txt:2 #, fuzzy, no-wrap #| msgid "git-add(1)" -msgid "git-rerere(1)" +msgid "git-mv(1)" msgstr "git-add(1)" #. type: Plain text -#: en/git-rerere.txt:7 -msgid "git-rerere - Reuse recorded resolution of conflicted merges" +#: en/git-mv.txt:7 +msgid "git-mv - Move or rename a file, a directory, or a symlink" msgstr "" #. type: Plain text -#: en/git-rerere.txt:12 +#: en/git-mv.txt:13 #, no-wrap -msgid "'git rerere' ['clear'|'forget' <pathspec>|'diff'|'remaining'|'status'|'gc']\n" +msgid "'git mv' <options>... <args>...\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:20 -msgid "" -"In a workflow employing relatively long lived topic branches, the developer " -"sometimes needs to resolve the same conflicts over and over again until the " -"topic branches are done (either merged to the \"release\" branch, or sent " -"out and accepted upstream)." +#: en/git-mv.txt:17 +msgid "Move or rename a file, directory or symlink." msgstr "" #. type: Plain text -#: en/git-rerere.txt:25 +#: en/git-mv.txt:20 +#, no-wrap msgid "" -"This command assists the developer in this process by recording conflicted " -"automerge results and corresponding hand resolve results on the initial " -"manual merge, and applying previously recorded hand resolutions to their " -"corresponding automerge results." +" git mv [-v] [-f] [-n] [-k] <source> <destination>\n" +" git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:29 +#: en/git-mv.txt:25 msgid "" -"You need to set the configuration variable rerere.enabled in order to enable " -"this command." +"In the first form, it renames <source>, which must exist and be either a " +"file, symlink or directory, to <destination>. In the second form, the last " +"argument has to be an existing directory; the given sources will be moved " +"into this directory." msgstr "" #. type: Plain text -#: en/git-rerere.txt:37 +#: en/git-mv.txt:28 msgid "" -"Normally, 'git rerere' is run without arguments or user-intervention. " -"However, it has several commands that allow it to interact with its working " -"state." +"The index is updated after successful completion, but the change must still " +"be committed." msgstr "" -#. type: Labeled list -#: en/git-rerere.txt:38 -#, no-wrap -msgid "'clear'" +#. type: Plain text +#: en/git-mv.txt:34 +msgid "Force renaming or moving of a file even if the target exists" msgstr "" #. type: Plain text -#: en/git-rerere.txt:43 +#: en/git-mv.txt:39 msgid "" -"Reset the metadata used by rerere if a merge resolution is to be aborted. " -"Calling 'git am [--skip|--abort]' or 'git rebase [--skip|--abort]' will " -"automatically invoke this command." +"Skip move or rename actions which would lead to an error condition. An error " +"happens when a source is neither existing nor controlled by Git, or when it " +"would overwrite an existing file unless `-f` is given." msgstr "" -#. type: Labeled list -#: en/git-rerere.txt:44 +#. type: Plain text +#: en/git-mv.txt:42 +msgid "Do nothing; only show what would happen" +msgstr "" + +#. type: Plain text +#: en/git-mv.txt:46 +#, fuzzy +#| msgid "" +#| "-v::\n" +#| "--verbose::\n" +#| " Be verbose.\n" +msgid "Report the names of files as they are moved." +msgstr "" +"-v::\n" +"--verbose::\n" +" Mode bavard.\n" + +#. type: Title - +#: en/git-mv.txt:48 en/git-rm.txt:138 #, no-wrap -msgid "'forget' <pathspec>" +msgid "SUBMODULES" msgstr "" #. type: Plain text -#: en/git-rerere.txt:48 +#: en/git-mv.txt:54 msgid "" -"Reset the conflict resolutions which rerere has recorded for the current " -"conflict in <pathspec>." +"Moving a submodule using a gitfile (which means they were cloned with a Git " +"version 1.7.8 or newer) will update the gitfile and core.worktree setting to " +"make the submodule work in the new location. It also will attempt to update " +"the submodule.<name>.path setting in the linkgit:gitmodules[5] file and " +"stage that file (unless -n is used)." msgstr "" -#. type: Labeled list -#: en/git-rerere.txt:49 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "'diff'" -msgstr "diff" - #. type: Plain text -#: en/git-rerere.txt:55 +#: en/git-mv.txt:66 msgid "" -"Display diffs for the current state of the resolution. It is useful for " -"tracking what has changed while the user is resolving conflicts. Additional " -"arguments are passed directly to the system 'diff' command installed in PATH." +"Each time a superproject update moves a populated submodule (e.g. when " +"switching between commits before and after the move) a stale submodule " +"checkout will remain in the old location and an empty directory will appear " +"in the new location. To populate the submodule again in the new location the " +"user will have to run \"git submodule update\" afterwards. Removing the old " +"directory is only safe when it uses a gitfile, as otherwise the history of " +"the submodule will be deleted too. Both steps will be obsolete when " +"recursive submodule update has been implemented." msgstr "" -#. type: Labeled list -#: en/git-rerere.txt:56 +#. type: Title = +#: en/git-name-rev.txt:2 #, fuzzy, no-wrap -#| msgid "status" -msgid "'status'" -msgstr "status" +#| msgid "git-add(1)" +msgid "git-name-rev(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-rerere.txt:59 -msgid "Print paths with conflicts whose merge resolution rerere will record." +#: en/git-name-rev.txt:7 +msgid "git-name-rev - Find symbolic names for given revs" msgstr "" -#. type: Labeled list -#: en/git-rerere.txt:60 +#. type: Plain text +#: en/git-name-rev.txt:14 #, no-wrap -msgid "'remaining'" +msgid "" +"'git name-rev' [--tags] [--refs=<pattern>]\n" +"\t ( --all | --stdin | <commit-ish>... )\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:65 +#: en/git-name-rev.txt:19 msgid "" -"Print paths with conflicts that have not been autoresolved by rerere. This " -"includes paths whose resolutions cannot be tracked by rerere, such as " -"conflicting submodules." +"Finds symbolic names suitable for human digestion for revisions given in any " +"format parsable by 'git rev-parse'." +msgstr "" + +#. type: Plain text +#: en/git-name-rev.txt:26 +msgid "Do not use branch names, but only tags to name the commits" msgstr "" #. type: Labeled list -#: en/git-rerere.txt:66 en/git-svn.txt:480 +#: en/git-name-rev.txt:27 #, no-wrap -msgid "'gc'" +msgid "--refs=<pattern>" msgstr "" #. type: Plain text -#: en/git-rerere.txt:74 +#: en/git-name-rev.txt:32 msgid "" -"Prune records of conflicted merges that occurred a long time ago. By " -"default, unresolved conflicts older than 15 days and resolved conflicts " -"older than 60 days are pruned. These defaults are controlled via the `gc." -"rerereUnresolved` and `gc.rerereResolved` configuration variables " -"respectively." +"Only use refs whose names match a given shell pattern. The pattern can be " +"one of branch name, tag name or fully qualified ref name. If given multiple " +"times, use refs whose names match any of the given shell patterns. Use `--no-" +"refs` to clear any previous ref patterns given." msgstr "" #. type: Plain text -#: en/git-rerere.txt:83 +#: en/git-name-rev.txt:41 msgid "" -"When your topic branch modifies an overlapping area that your master branch " -"(or upstream) touched since your topic branch forked from it, you may want " -"to test it with the latest master, even before your topic branch is ready to " -"be pushed upstream:" +"Do not use any ref whose name matches a given shell pattern. The pattern can " +"be one of branch name, tag name or fully qualified ref name. If given " +"multiple times, a ref will be excluded when it matches any of the given " +"patterns. When used together with --refs, a ref will be used as a match only " +"when it matches at least one --refs pattern and does not match any --exclude " +"patterns. Use `--no-exclude` to clear the list of exclude patterns." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:88 -#, no-wrap -msgid "" -" o---*---o topic\n" -" /\n" -" o---o---o---*---o---o master\n" +#. type: Plain text +#: en/git-name-rev.txt:44 +msgid "List all commits reachable from all refs" msgstr "" #. type: Plain text -#: en/git-rerere.txt:92 +#: en/git-name-rev.txt:50 msgid "" -"For such a test, you need to merge master and topic somehow. One way to do " -"it is to pull master into the topic branch:" +"Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) " +"with \"$hex ($rev_name)\". When used with --name-only, substitute with " +"\"$rev_name\", omitting $hex altogether. Intended for the scripter's use." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:96 -#, no-wrap +#. type: Plain text +#: en/git-name-rev.txt:56 msgid "" -"\t$ git checkout topic\n" -"\t$ git merge master\n" +"Instead of printing both the SHA-1 and the name, print only the name. If " +"given with --tags the usual tag prefix of \"tags/\" is also omitted from the " +"name, matching the output of `git-describe` more closely." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:100 +#. type: Labeled list +#: en/git-name-rev.txt:57 #, no-wrap -msgid "" -" o---*---o---+ topic\n" -" / /\n" -" o---o---o---*---o---o master\n" +msgid "--no-undefined" msgstr "" #. type: Plain text -#: en/git-rerere.txt:106 +#: en/git-name-rev.txt:60 msgid "" -"The commits marked with `*` touch the same area in the same file; you need " -"to resolve the conflicts when creating the commit marked with `+`. Then you " -"can test the result to make sure your work-in-progress still works with what " -"is in the latest master." +"Die with error code != 0 when a reference is undefined, instead of printing " +"`undefined`." msgstr "" #. type: Plain text -#: en/git-rerere.txt:114 +#: en/git-name-rev.txt:71 msgid "" -"After this test merge, there are two ways to continue your work on the " -"topic. The easiest is to build on top of the test merge commit `+`, and " -"when your work in the topic branch is finally ready, pull the topic branch " -"into master, and/or ask the upstream to pull from you. By that time, " -"however, the master or the upstream might have been advanced since the test " -"merge `+`, in which case the final commit graph would look like this:" +"Given a commit, find out where it is relative to the local refs. Say " +"somebody wrote you about that fantastic commit " +"33db5f4d9027a10e477ccf054b2c1ab94f74c85a. Of course, you look into the " +"commit, but that only tells you what happened, but not the context." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:121 -#, no-wrap -msgid "" -"\t$ git checkout topic\n" -"\t$ git merge master\n" -"\t$ ... work on both topic and master branches\n" -"\t$ git checkout master\n" -"\t$ git merge topic\n" -msgstr "" +#. type: Plain text +#: en/git-name-rev.txt:73 +#, fuzzy +#| msgid "git-add(1)" +msgid "Enter 'git name-rev':" +msgstr "git-add(1)" #. type: delimited block - -#: en/git-rerere.txt:125 +#: en/git-name-rev.txt:77 #, no-wrap msgid "" -" o---*---o---+---o---o topic\n" -" / / \\\n" -" o---o---o---*---o---o---o---o---+ master\n" +"% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a\n" +"33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:133 +#: en/git-name-rev.txt:80 msgid "" -"When your topic branch is long-lived, however, your topic branch would end " -"up having many such \"Merge from master\" commits on it, which would " -"unnecessarily clutter the development history. Readers of the Linux kernel " -"mailing list may remember that Linus complained about such too frequent test " -"merges when a subsystem maintainer asked to pull from a branch full of " -"\"useless merges\"." +"Now you are wiser, because you know that it happened 940 revisions before " +"v0.99." msgstr "" #. type: Plain text -#: en/git-rerere.txt:137 -msgid "" -"As an alternative, to keep the topic branch clean of test merges, you could " -"blow away the test merge, and keep building on top of the tip before the " -"test merge:" +#: en/git-name-rev.txt:82 +msgid "Another nice thing you can do is:" msgstr "" #. type: delimited block - -#: en/git-rerere.txt:145 +#: en/git-name-rev.txt:85 #, no-wrap -msgid "" -"\t$ git checkout topic\n" -"\t$ git merge master\n" -"\t$ git reset --hard HEAD^ ;# rewind the test merge\n" -"\t$ ... work on both topic and master branches\n" -"\t$ git checkout master\n" -"\t$ git merge topic\n" +msgid "% git log | git name-rev --stdin\n" msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:149 -#, no-wrap -msgid "" -" o---*---o-------o---o topic\n" -" / \\\n" -" o---o---o---*---o---o---o---o---+ master\n" -msgstr "" +#. type: Title = +#: en/git-notes.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-notes(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-rerere.txt:159 -msgid "" -"This would leave only one merge commit when your topic branch is finally " -"ready and merged into the master branch. This merge would require you to " -"resolve the conflict, introduced by the commits marked with `*`. However, " -"this conflict is often the same conflict you resolved when you created the " -"test merge you blew away. 'git rerere' helps you resolve this final " -"conflicted merge using the information from your earlier hand resolve." +#: en/git-notes.txt:7 +msgid "git-notes - Add or inspect object notes" msgstr "" #. type: Plain text -#: en/git-rerere.txt:167 +#: en/git-notes.txt:23 +#, no-wrap msgid "" -"Running the 'git rerere' command immediately after a conflicted automerge " -"records the conflicted working tree files, with the usual conflict markers " -"`<<<<<<<`, `=======`, and `>>>>>>>` in them. Later, after you are done " -"resolving the conflicts, running 'git rerere' again will record the resolved " -"state of these files. Suppose you did this when you created the test merge " -"of master into the topic branch." +"'git notes' [list [<object>]]\n" +"'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]\n" +"'git notes' copy [-f] ( --stdin | <from-object> <to-object> )\n" +"'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]\n" +"'git notes' edit [--allow-empty] [<object>]\n" +"'git notes' show [<object>]\n" +"'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>\n" +"'git notes' merge --commit [-v | -q]\n" +"'git notes' merge --abort [-v | -q]\n" +"'git notes' remove [--ignore-missing] [--stdin] [<object>...]\n" +"'git notes' prune [-n | -v]\n" +"'git notes' get-ref\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:177 +#: en/git-notes.txt:29 msgid "" -"Next time, after seeing the same conflicted automerge, running 'git rerere' " -"will perform a three-way merge between the earlier conflicted automerge, the " -"earlier manual resolution, and the current conflicted automerge. If this " -"three-way merge resolves cleanly, the result is written out to your working " -"tree file, so you do not have to manually resolve it. Note that 'git " -"rerere' leaves the index file alone, so you still need to do the final " -"sanity checks with `git diff` (or `git diff -c`) and 'git add' when you are " -"satisfied." +"Adds, removes, or reads notes attached to objects, without touching the " +"objects themselves." msgstr "" #. type: Plain text -#: en/git-rerere.txt:185 +#: en/git-notes.txt:34 msgid "" -"As a convenience measure, 'git merge' automatically invokes 'git rerere' " -"upon exiting with a failed automerge and 'git rerere' records the hand " -"resolve when it is a new conflict, or reuses the earlier hand resolve when " -"it is not. 'git commit' also invokes 'git rerere' when committing a merge " -"result. What this means is that you do not have to do anything special " -"yourself (besides enabling the rerere.enabled config variable)." +"By default, notes are saved to and read from `refs/notes/commits`, but this " +"default can be overridden. See the OPTIONS, CONFIGURATION, and ENVIRONMENT " +"sections below. If this ref does not exist, it will be quietly created when " +"it is first needed to store a note." msgstr "" #. type: Plain text -#: en/git-rerere.txt:190 +#: en/git-notes.txt:41 msgid "" -"In our example, when you do the test merge, the manual resolution is " -"recorded, and it will be reused when you do the actual merge later with the " -"updated master and topic branch, as long as the recorded resolution is still " -"applicable." +"A typical use of notes is to supplement a commit message without changing " +"the commit itself. Notes can be shown by 'git log' along with the original " +"commit message. To distinguish these notes from the message stored in the " +"commit object, the notes are indented like the message, after an unindented " +"line saying \"Notes (<refname>):\" (or \"Notes:\" for `refs/notes/commits`)." msgstr "" #. type: Plain text -#: en/git-rerere.txt:194 -msgid "" -"The information 'git rerere' records is also used when running 'git " -"rebase'. After blowing away the test merge and continuing development on " -"the topic branch:" -msgstr "" - -#. type: delimited block - -#: en/git-rerere.txt:199 -#, no-wrap +#: en/git-notes.txt:45 msgid "" -" o---*---o-------o---o topic\n" -" /\n" -" o---o---o---*---o---o---o---o master\n" -msgstr "" - -#. type: delimited block - -#: en/git-rerere.txt:201 -#, no-wrap -msgid "\t$ git rebase master topic\n" +"Notes can also be added to patches prepared with `git format-patch` by using " +"the `--notes` option. Such notes are added as a patch commentary after a " +"three dash separator line." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:205 -#, no-wrap +#. type: Plain text +#: en/git-notes.txt:48 msgid "" -"\t\t\t\t o---*---o-------o---o topic\n" -"\t\t\t\t /\n" -" o---o---o---*---o---o---o---o master\n" +"To change which notes are shown by 'git log', see the \"notes.displayRef\" " +"configuration in linkgit:git-log[1]." msgstr "" #. type: Plain text -#: en/git-rerere.txt:213 +#: en/git-notes.txt:51 msgid "" -"you could run `git rebase master topic`, to bring yourself up-to-date before " -"your topic is ready to be sent upstream. This would result in falling back " -"to a three-way merge, and it would conflict the same way as the test merge " -"you resolved earlier. 'git rerere' will be run by 'git rebase' to help you " -"resolve this conflict." +"See the \"notes.rewrite.<command>\" configuration for a way to carry notes " +"across commands that rewrite commits." msgstr "" -#. type: Title = -#: en/git-reset.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-reset(1)" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-reset.txt:7 -msgid "git-reset - Reset current HEAD to the specified state" +#. type: Title - +#: en/git-notes.txt:54 +#, no-wrap +msgid "SUBCOMMANDS" msgstr "" -#. type: Plain text -#: en/git-reset.txt:14 +#. type: Labeled list +#: en/git-notes.txt:56 en/git-worktree.txt:59 #, no-wrap -msgid "" -"'git reset' [-q] [<tree-ish>] [--] <paths>...\n" -"'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]\n" -"'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]\n" +msgid "list" msgstr "" #. type: Plain text -#: en/git-reset.txt:21 +#: en/git-notes.txt:61 msgid "" -"In the first and second form, copy entries from <tree-ish> to the index. In " -"the third form, set the current branch head (HEAD) to <commit>, optionally " -"modifying index and working tree to match. The <tree-ish>/<commit> defaults " -"to HEAD in all forms." +"List the notes object for a given object. If no object is given, show a list " +"of all note objects and the objects they annotate (in the format \"<note " +"object> <annotated object>\"). This is the default subcommand if no " +"subcommand is given." msgstr "" #. type: Labeled list -#: en/git-reset.txt:22 +#: en/git-notes.txt:62 #, no-wrap -msgid "'git reset' [-q] [<tree-ish>] [--] <paths>..." +msgid "add" msgstr "" #. type: Plain text -#: en/git-reset.txt:26 +#: en/git-notes.txt:69 msgid "" -"This form resets the index entries for all <paths> to their state at <tree-" -"ish>. (It does not affect the working tree or the current branch.)" +"Add notes for a given object (defaults to HEAD). Abort if the object already " +"has notes (use `-f` to overwrite existing notes). However, if you're using " +"`add` interactively (using an editor to supply the notes contents), then - " +"instead of aborting - the existing notes will be opened in the editor (like " +"the `edit` subcommand)." +msgstr "" + +#. type: Labeled list +#: en/git-notes.txt:70 +#, no-wrap +msgid "copy" msgstr "" #. type: Plain text -#: en/git-reset.txt:29 +#: en/git-notes.txt:76 msgid "" -"This means that `git reset <paths>` is the opposite of `git add <paths>`." +"Copy the notes for the first object onto the second object. Abort if the " +"second object already has notes, or if the first object has none (use -f to " +"overwrite existing notes to the second object). This subcommand is " +"equivalent to: `git notes add [-f] -C $(git notes list <from-object>) <to-" +"object>`" msgstr "" #. type: Plain text -#: en/git-reset.txt:36 -msgid "" -"After running `git reset <paths>` to update the index entry, you can use " -"linkgit:git-checkout[1] to check the contents out of the index to the " -"working tree. Alternatively, using linkgit:git-checkout[1] and specifying a " -"commit, you can copy the contents of a path out of a commit to the index and " -"to the working tree in one go." +#: en/git-notes.txt:78 +msgid "In `--stdin` mode, take lines in the format" msgstr "" -#. type: Labeled list -#: en/git-reset.txt:37 +#. type: delimited block - +#: en/git-notes.txt:81 #, no-wrap -msgid "'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]" +msgid "<from-object> SP <to-object> [ SP <rest> ] LF\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:41 +#: en/git-notes.txt:86 msgid "" -"Interactively select hunks in the difference between the index and <tree-" -"ish> (defaults to HEAD). The chosen hunks are applied in reverse to the " -"index." +"on standard input, and copy the notes from each <from-object> to its " +"corresponding <to-object>. (The optional `<rest>` is ignored so that the " +"command can read the input given to the `post-rewrite` hook.)" +msgstr "" + +#. type: Labeled list +#: en/git-notes.txt:87 +#, no-wrap +msgid "append" msgstr "" #. type: Plain text -#: en/git-reset.txt:45 -#, fuzzy -#| msgid "" -#| "by using the --interactive or --patch switches with the 'commit' command " -#| "to decide one by one which files or hunks should be part of the commit in " -#| "addition to contents in the index, before finalizing the operation. See " -#| "the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to " -#| "operate these modes." +#: en/git-notes.txt:90 msgid "" -"This means that `git reset -p` is the opposite of `git add -p`, i.e. you " -"can use it to selectively reset hunks. See the ``Interactive Mode'' section " -"of linkgit:git-add[1] to learn how to operate the `--patch` mode." +"Append to the notes of an existing object (defaults to HEAD). Creates a new " +"notes object if needed." msgstr "" -"en utilisant les options --interactive ou --patch avec la commande 'commit' " -"pour choisir quels fichiers ou sections de fichier doivent 챗tre inclus dans " -"le commit en plus de l'index, avant finalisation de l'op챕ration. R챕f챕rez-" -"vous 횪 la section 짬혻Mode interactif혻쨩 de linkgit:git-add[1] pour la " -"description de ces modes." #. type: Labeled list -#: en/git-reset.txt:46 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "'git reset' [<mode>] [<commit>]" -msgstr "$ git commit\n" +#: en/git-notes.txt:91 +#, no-wrap +msgid "edit" +msgstr "" #. type: Plain text -#: en/git-reset.txt:51 -msgid "" -"This form resets the current branch head to <commit> and possibly updates " -"the index (resetting it to the tree of <commit>) and the working tree " -"depending on <mode>. If <mode> is omitted, defaults to \"--mixed\". The " -"<mode> must be one of the following:" +#: en/git-notes.txt:93 +msgid "Edit the notes for a given object (defaults to HEAD)." msgstr "" #. type: Labeled list -#: en/git-reset.txt:53 +#: en/git-notes.txt:94 #, no-wrap -msgid "--soft" +msgid "show" msgstr "" #. type: Plain text -#: en/git-reset.txt:58 -msgid "" -"Does not touch the index file or the working tree at all (but resets the " -"head to <commit>, just like all modes do). This leaves all your changed " -"files \"Changes to be committed\", as 'git status' would put it." +#: en/git-notes.txt:96 +msgid "Show the notes for a given object (defaults to HEAD)." msgstr "" #. type: Labeled list -#: en/git-reset.txt:59 +#: en/git-notes.txt:97 en/git-submodule.txt:183 #, no-wrap -msgid "--mixed" +msgid "merge" msgstr "" #. type: Plain text -#: en/git-reset.txt:63 +#: en/git-notes.txt:102 msgid "" -"Resets the index but not the working tree (i.e., the changed files are " -"preserved but not marked for commit) and reports what has not been updated. " -"This is the default action." +"Merge the given notes ref into the current notes ref. This will try to " +"merge the changes made by the given notes ref (called \"remote\") since the " +"merge-base (if any) into the current notes ref (called \"local\")." msgstr "" #. type: Plain text -#: en/git-reset.txt:66 +#: en/git-notes.txt:111 msgid "" -"If `-N` is specified, removed paths are marked as intent-to-add (see linkgit:" -"git-add[1])." +"If conflicts arise and a strategy for automatically resolving conflicting " +"notes (see the \"NOTES MERGE STRATEGIES\" section) is not given, the \"manual" +"\" resolver is used. This resolver checks out the conflicting notes in a " +"special worktree (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to " +"manually resolve the conflicts there. When done, the user can either " +"finalize the merge with 'git notes merge --commit', or abort the merge with " +"'git notes merge --abort'." msgstr "" #. type: Labeled list -#: en/git-reset.txt:67 +#: en/git-notes.txt:112 #, no-wrap -msgid "--hard" +msgid "remove" msgstr "" #. type: Plain text -#: en/git-reset.txt:70 +#: en/git-notes.txt:117 msgid "" -"Resets the index and working tree. Any changes to tracked files in the " -"working tree since <commit> are discarded." +"Remove the notes for given objects (defaults to HEAD). When giving zero or " +"one object from the command line, this is equivalent to specifying an empty " +"note message to the `edit` subcommand." +msgstr "" + +#. type: Labeled list +#: en/git-notes.txt:118 en/git-worktree.txt:74 +#, no-wrap +msgid "prune" msgstr "" #. type: Plain text -#: en/git-reset.txt:78 -msgid "" -"Resets the index and updates the files in the working tree that are " -"different between <commit> and HEAD, but keeps those which are different " -"between the index and working tree (i.e. which have changes which have not " -"been added). If a file that is different between <commit> and the index has " -"unstaged changes, reset is aborted." +#: en/git-notes.txt:120 +msgid "Remove all notes for non-existing/unreachable objects." +msgstr "" + +#. type: Labeled list +#: en/git-notes.txt:121 +#, no-wrap +msgid "get-ref" msgstr "" #. type: Plain text -#: en/git-reset.txt:81 +#: en/git-notes.txt:124 msgid "" -"In other words, --merge does something like a 'git read-tree -u -m " -"<commit>', but carries forward unmerged index entries." +"Print the current notes ref. This provides an easy way to retrieve the " +"current notes ref (e.g. from scripts)." msgstr "" #. type: Plain text -#: en/git-reset.txt:87 +#: en/git-notes.txt:131 msgid "" -"Resets index entries and updates files in the working tree that are " -"different between <commit> and HEAD. If a file that is different between " -"<commit> and HEAD has local changes, reset is aborted." +"When adding notes to an object that already has notes, overwrite the " +"existing notes (instead of aborting)." msgstr "" #. type: Plain text -#: en/git-reset.txt:91 +#: en/git-notes.txt:139 +#, fuzzy +#| msgid "" +#| "-m <msg>::\n" +#| "--message=<msg>::\n" +#| "\tUse the given <msg> as the commit message.\n" +#| "\tIf multiple `-m` options are given, their values are\n" +#| "\tconcatenated as separate paragraphs.\n" msgid "" -"If you want to undo a commit other than the latest on a branch, linkgit:git-" -"revert[1] is your friend." +"Use the given note message (instead of prompting). If multiple `-m` options " +"are given, their values are concatenated as separate paragraphs. Lines " +"starting with `#` and empty lines other than a single line between " +"paragraphs will be stripped out." msgstr "" +"-m <msg>::\n" +"--message=<msg>::\n" +"\tUtiliser le <msg> fourni comme message de validation\n" +"\tSi plusieurs options `-m` sont fournies, leurs valeurs\n" +"\tsont concat챕n챕es comme paragraphes s챕par챕s.\n" #. type: Plain text -#: en/git-reset.txt:99 -msgid "Be quiet, only report errors." +#: en/git-notes.txt:146 +#, fuzzy +#| msgid "" +#| "-F <file>::\n" +#| "--file=<file>::\n" +#| "\tTake the commit message from the given file. Use '-' to\n" +#| "\tread the message from the standard input.\n" +msgid "" +"Take the note message from the given file. Use '-' to read the note message " +"from the standard input. Lines starting with `#` and empty lines other than " +"a single line between paragraphs will be stripped out." msgstr "" +"-F <fichier>::\n" +"--file=<fichier>::\n" +"\tPrendre le message de validation depuis le fichier indiqu챕.\n" +"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" #. type: Labeled list -#: en/git-reset.txt:104 +#: en/git-notes.txt:147 #, no-wrap -msgid "Undo add" +msgid "-C <object>" msgstr "" -#. type: delimited block - -#: en/git-reset.txt:112 +#. type: Labeled list +#: en/git-notes.txt:148 #, no-wrap -msgid "" -"$ edit <1>\n" -"$ git add frotz.c filfre.c\n" -"$ mailx <2>\n" -"$ git reset <3>\n" -"$ git pull git://info.example.com/ nitfol <4>\n" +msgid "--reuse-message=<object>" msgstr "" #. type: Plain text -#: en/git-reset.txt:118 +#: en/git-notes.txt:152 msgid "" -"You are happily working on something, and find the changes in these files " -"are in good order. You do not want to see them when you run \"git diff\", " -"because you plan to work on other files and changes with these files are " -"distracting." +"Take the given blob object (for\texample, another note) as the note message. " +"(Use `git notes copy <object>` instead to copy notes between objects.)" msgstr "" -#. type: Plain text -#: en/git-reset.txt:119 -msgid "Somebody asks you to pull, and the changes sounds worthy of merging." +#. type: Labeled list +#: en/git-notes.txt:153 +#, no-wrap +msgid "-c <object>" +msgstr "" + +#. type: Labeled list +#: en/git-notes.txt:154 +#, no-wrap +msgid "--reedit-message=<object>" msgstr "" #. type: Plain text -#: en/git-reset.txt:124 +#: en/git-notes.txt:157 +#, fuzzy +#| msgid "" +#| "-c <commit>::\n" +#| "--reedit-message=<commit>::\n" +#| "\tLike '-C', but with `-c` the editor is invoked, so that\n" +#| "\tthe user can further edit the commit message.\n" msgid "" -"However, you already dirtied the index (i.e. your index does not match the " -"HEAD commit). But you know the pull you are going to make does not affect " -"frotz.c or filfre.c, so you revert the index changes for these two files. " -"Your changes in working tree remain there." +"Like '-C', but with `-c` the editor is invoked, so that the user can further " +"edit the note message." msgstr "" +"-c <commit>::\n" +"--reedit-message=<commit>::\n" +"\tComme '-C', mais avec '-c', l'챕diteur est appel챕 pour permettre \n" +"\t횪 l'utilisateur de modifier le message de validation.\n" #. type: Plain text -#: en/git-reset.txt:126 +#: en/git-notes.txt:161 msgid "" -"Then you can pull and merge, leaving frotz.c and filfre.c changes still in " -"the working tree." +"Allow an empty note object to be stored. The default behavior is to " +"automatically remove empty notes." msgstr "" #. type: Labeled list -#: en/git-reset.txt:127 +#: en/git-notes.txt:162 #, no-wrap -msgid "Undo a commit and redo" +msgid "--ref <ref>" msgstr "" -#. type: delimited block - -#: en/git-reset.txt:134 -#, no-wrap +#. type: Plain text +#: en/git-notes.txt:168 msgid "" -"$ git commit ...\n" -"$ git reset --soft HEAD^ <1>\n" -"$ edit <2>\n" -"$ git commit -a -c ORIG_HEAD <3>\n" +"Manipulate the notes tree in <ref>. This overrides `GIT_NOTES_REF` and the " +"\"core.notesRef\" configuration. The ref specifies the full refname when it " +"begins with `refs/notes/`; when it begins with `notes/`, `refs/` and " +"otherwise `refs/notes/` is prefixed to form a full name of the ref." msgstr "" #. type: Plain text -#: en/git-reset.txt:139 +#: en/git-notes.txt:172 msgid "" -"This is most often done when you remembered what you just committed is " -"incomplete, or you misspelled your commit message, or both. Leaves working " -"tree as it was before \"reset\"." +"Do not consider it an error to request removing notes from an object that " +"does not have notes attached to it." msgstr "" #. type: Plain text -#: en/git-reset.txt:140 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Make corrections to working tree files." +#: en/git-notes.txt:177 +msgid "" +"Also read the object names to remove notes from from the standard input " +"(there is no reason you cannot combine this with object names from the " +"command line)." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-reset.txt:143 +#: en/git-notes.txt:182 msgid "" -"\"reset\" copies the old head to .git/ORIG_HEAD; redo the commit by starting " -"with its log message. If you do not need to edit the message further, you " -"can give -C option instead." +"Do not remove anything; just report the object names whose notes would be " +"removed." +msgstr "" + +#. type: Labeled list +#: en/git-notes.txt:183 en/git-rebase.txt:282 en/merge-options.txt:77 +#, no-wrap +msgid "-s <strategy>" msgstr "" #. type: Plain text -#: en/git-reset.txt:145 -msgid "See also the --amend option to linkgit:git-commit[1]." +#: en/git-notes.txt:191 +msgid "" +"When merging notes, resolve notes conflicts using the given strategy. The " +"following strategies are recognized: \"manual\" (default), \"ours\", \"theirs" +"\", \"union\" and \"cat_sort_uniq\". This option overrides the \"notes." +"mergeStrategy\" configuration setting. See the \"NOTES MERGE STRATEGIES\" " +"section below for more information on each notes merge strategy." msgstr "" #. type: Labeled list -#: en/git-reset.txt:146 -#, no-wrap -msgid "Undo a commit, making it a topic branch" -msgstr "" +#: en/git-notes.txt:192 en/merge-options.txt:1 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--commit" +msgstr "git-commit(1)" -#. type: delimited block - -#: en/git-reset.txt:152 -#, no-wrap +#. type: Plain text +#: en/git-notes.txt:200 msgid "" -"$ git branch topic/wip <1>\n" -"$ git reset --hard HEAD~3 <2>\n" -"$ git checkout topic/wip <3>\n" +"Finalize an in-progress 'git notes merge'. Use this option when you have " +"resolved the conflicts that 'git notes merge' stored in .git/" +"NOTES_MERGE_WORKTREE. This amends the partial merge commit created by 'git " +"notes merge' (stored in .git/NOTES_MERGE_PARTIAL) by adding the notes in ." +"git/NOTES_MERGE_WORKTREE. The notes ref stored in the .git/NOTES_MERGE_REF " +"symref is updated to the resulting commit." msgstr "" #. type: Plain text -#: en/git-reset.txt:158 +#: en/git-notes.txt:205 msgid "" -"You have made some commits, but realize they were premature to be in the " -"\"master\" branch. You want to continue polishing them in a topic branch, " -"so create \"topic/wip\" branch off of the current HEAD." +"Abort/reset a in-progress 'git notes merge', i.e. a notes merge with " +"conflicts. This simply removes all files related to the notes merge." msgstr "" #. type: Plain text -#: en/git-reset.txt:159 -msgid "Rewind the master branch to get rid of those three commits." +#: en/git-notes.txt:209 +msgid "When merging notes, operate quietly." msgstr "" #. type: Plain text -#: en/git-reset.txt:160 -msgid "Switch to \"topic/wip\" branch and keep working." +#: en/git-notes.txt:215 +msgid "" +"When merging notes, be more verbose. When pruning notes, report all object " +"names whose notes are removed." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:161 -#, no-wrap -msgid "Undo commits permanently" +#. type: Plain text +#: en/git-notes.txt:229 +msgid "" +"Commit notes are blobs containing extra information about an object (usually " +"information to supplement a commit's message). These blobs are taken from " +"notes refs. A notes ref is usually a branch which contains \"files\" whose " +"paths are the object names for the objects they describe, with some " +"directory separators included for performance reasons footnote:[Permitted " +"pathnames have the form 'ab'`/`'cd'`/`'ef'`/`'...'`/`'abcdef...': a sequence " +"of directory names of two hexadecimal digits each followed by a filename " +"with the rest of the object ID.]." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:166 -#, no-wrap +#. type: Plain text +#: en/git-notes.txt:236 msgid "" -"$ git commit ...\n" -"$ git reset --hard HEAD~3 <1>\n" +"Every notes change creates a new commit at the specified notes ref. You can " +"therefore inspect the history of the notes by invoking, e.g., `git log -p " +"notes/commits`. Currently the commit message only records which operation " +"triggered the update, and the commit authorship is determined according to " +"the usual rules (see linkgit:git-commit[1]). These details may change in " +"the future." msgstr "" #. type: Plain text -#: en/git-reset.txt:173 +#: en/git-notes.txt:240 msgid "" -"The last three commits (HEAD, HEAD^, and HEAD~2) were bad and you do not " -"want to ever see them again. Do *not* do this if you have already given " -"these commits to somebody else. (See the \"RECOVERING FROM UPSTREAM REBASE" -"\" section in linkgit:git-rebase[1] for the implications of doing so.)" +"It is also permitted for a notes ref to point directly to a tree object, in " +"which case the history of the notes can be read with `git log -p -g " +"<refname>`." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:174 +#. type: Title - +#: en/git-notes.txt:243 #, no-wrap -msgid "Undo a merge or pull" +msgid "NOTES MERGE STRATEGIES" msgstr "" -#. type: delimited block - -#: en/git-reset.txt:186 -#, no-wrap +#. type: Plain text +#: en/git-notes.txt:252 msgid "" -"$ git pull <1>\n" -"Auto-merging nitfol\n" -"CONFLICT (content): Merge conflict in nitfol\n" -"Automatic merge failed; fix conflicts and then commit the result.\n" -"$ git reset --hard <2>\n" -"$ git pull . topic/branch <3>\n" -"Updating from 41223... to 13134...\n" -"Fast-forward\n" -"$ git reset --hard ORIG_HEAD <4>\n" +"The default notes merge strategy is \"manual\", which checks out conflicting " +"notes in a special work tree for resolving notes conflicts (`.git/" +"NOTES_MERGE_WORKTREE`), and instructs the user to resolve the conflicts in " +"that work tree. When done, the user can either finalize the merge with 'git " +"notes merge --commit', or abort the merge with 'git notes merge --abort'." msgstr "" #. type: Plain text -#: en/git-reset.txt:191 +#: en/git-notes.txt:255 msgid "" -"Try to update from the upstream resulted in a lot of conflicts; you were not " -"ready to spend a lot of time merging right now, so you decide to do that " -"later." +"Users may select an automated merge strategy from among the following using " +"either -s/--strategy option or configuring notes.mergeStrategy accordingly:" msgstr "" #. type: Plain text -#: en/git-reset.txt:194 +#: en/git-notes.txt:258 msgid "" -"\"pull\" has not made merge commit, so \"git reset --hard\" which is a " -"synonym for \"git reset --hard HEAD\" clears the mess from the index file " -"and the working tree." +"\"ours\" automatically resolves conflicting notes in favor of the local " +"version (i.e. the current notes ref)." msgstr "" #. type: Plain text -#: en/git-reset.txt:196 +#: en/git-notes.txt:262 msgid "" -"Merge a topic branch into the current branch, which resulted in a fast-" -"forward." +"\"theirs\" automatically resolves notes conflicts in favor of the remote " +"version (i.e. the given notes ref being merged into the current notes ref)." +msgstr "" + +#. type: Plain text +#: en/git-notes.txt:265 +msgid "" +"\"union\" automatically resolves notes conflicts by concatenating the local " +"and remote versions." +msgstr "" + +#. type: Plain text +#: en/git-notes.txt:275 +msgid "" +"\"cat_sort_uniq\" is similar to \"union\", but in addition to concatenating " +"the local and remote versions, this strategy also sorts the resulting lines, " +"and removes duplicate lines from the result. This is equivalent to applying " +"the \"cat | sort | uniq\" shell pipeline to the local and remote versions. " +"This strategy is useful if the notes follow a line-based format where one " +"wants to avoid duplicated lines in the merge result. Note that if either " +"the local or remote version contain duplicate lines prior to the merge, " +"these will also be removed by this notes merge strategy." msgstr "" #. type: Plain text -#: en/git-reset.txt:201 +#: en/git-notes.txt:282 msgid "" -"But you decided that the topic branch is not ready for public consumption " -"yet. \"pull\" or \"merge\" always leaves the original tip of the current " -"branch in ORIG_HEAD, so resetting hard to it brings your index file and the " -"working tree back to that state, and resets the tip of the branch to that " -"commit." +"You can use notes to add annotations with information that was not available " +"at the time a commit was written." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:202 +#. type: delimited block - +#: en/git-notes.txt:288 #, no-wrap -msgid "Undo a merge or pull inside a dirty working tree" +msgid "" +"$ git notes add -m 'Tested-by: Johannes Sixt <j6t@kdbg.org>' 72a144e2\n" +"$ git show -s 72a144e\n" +"[...]\n" +" Signed-off-by: Junio C Hamano <gitster@pobox.com>\n" msgstr "" #. type: delimited block - -#: en/git-reset.txt:211 +#: en/git-notes.txt:291 #, no-wrap msgid "" -"$ git pull <1>\n" -"Auto-merging nitfol\n" -"Merge made by recursive.\n" -" nitfol | 20 +++++----\n" -" ...\n" -"$ git reset --merge ORIG_HEAD <2>\n" +"Notes:\n" +" Tested-by: Johannes Sixt <j6t@kdbg.org>\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:217 +#: en/git-notes.txt:296 msgid "" -"Even if you may have local modifications in your working tree, you can " -"safely say \"git pull\" when you know that the change in the other branch " -"does not overlap with them." +"In principle, a note is a regular Git blob, and any kind of (non-)format is " +"accepted. You can binary-safely create notes from arbitrary files using " +"'git hash-object':" msgstr "" -#. type: Plain text -#: en/git-reset.txt:222 +#. type: delimited block - +#: en/git-notes.txt:301 +#, no-wrap msgid "" -"After inspecting the result of the merge, you may find that the change in " -"the other branch is unsatisfactory. Running \"git reset --hard ORIG_HEAD\" " -"will let you go back to where you were, but it will discard your local " -"changes, which you do not want. \"git reset --merge\" keeps your local " -"changes." +"$ cc *.c\n" +"$ blob=$(git hash-object -w a.out)\n" +"$ git notes --ref=built add --allow-empty -C \"$blob\" HEAD\n" msgstr "" -#. type: Labeled list -#: en/git-reset.txt:224 en/git-stash.txt:224 -#, no-wrap -msgid "Interrupted workflow" +#. type: Plain text +#: en/git-notes.txt:308 +msgid "" +"(You cannot simply use `git notes --ref=built add -F a.out HEAD` because " +"that is not binary-safe.) Of course, it doesn't make much sense to display " +"non-text-format notes with 'git log', so if you use such notes, you'll " +"probably need to write some special-purpose tools to do something useful " +"with them." msgstr "" #. type: Plain text -#: en/git-reset.txt:230 +#: en/git-notes.txt:318 msgid "" -"Suppose you are interrupted by an urgent fix request while you are in the " -"middle of a large change. The files in your working tree are not in any " -"shape to be committed yet, but you need to get to the other branch for a " -"quick bugfix." +"Notes ref to read and manipulate instead of `refs/notes/commits`. Must be " +"an unabbreviated ref name. This setting can be overridden through the " +"environment and command line." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:241 -#, no-wrap +#. type: Plain text +#: en/git-notes.txt:324 msgid "" -"$ git checkout feature ;# you were working in \"feature\" branch and\n" -"$ work work work ;# got interrupted\n" -"$ git commit -a -m \"snapshot WIP\" <1>\n" -"$ git checkout master\n" -"$ fix fix fix\n" -"$ git commit ;# commit with real log\n" -"$ git checkout feature\n" -"$ git reset --soft HEAD^ ;# go back to WIP state <2>\n" -"$ git reset <3>\n" +"Which merge strategy to choose by default when resolving notes conflicts. " +"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " +"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section above for more " +"information on each strategy." msgstr "" #. type: Plain text -#: en/git-reset.txt:244 -msgid "This commit will get blown away so a throw-away log message is OK." +#: en/git-notes.txt:326 +msgid "This setting can be overridden by passing the `--strategy` option." msgstr "" #. type: Plain text -#: en/git-reset.txt:246 +#: en/git-notes.txt:332 msgid "" -"This removes the 'WIP' commit from the commit history, and sets your working " -"tree to the state just before you made that snapshot." +"Which merge strategy to choose when doing a notes merge into refs/notes/" +"<name>. This overrides the more general \"notes.mergeStrategy\". See the " +"\"NOTES MERGE STRATEGIES\" section above for more information on each " +"available strategy." msgstr "" #. type: Plain text -#: en/git-reset.txt:249 +#: en/git-notes.txt:341 msgid "" -"At this point the index file still has all the WIP changes you committed as " -"'snapshot WIP'. This updates the index to show your WIP files as " -"uncommitted." +"Which ref (or refs, if a glob or specified more than once), in addition to " +"the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from " +"when showing commit messages with the 'git log' family of commands. This " +"setting can be overridden on the command line or by the " +"`GIT_NOTES_DISPLAY_REF` environment variable. See linkgit:git-log[1]." msgstr "" #. type: Plain text -#: en/git-reset.txt:251 -#, fuzzy -#| msgid "git-commit(1)" -msgid "See also linkgit:git-stash[1]." -msgstr "git-commit(1)" - -# -#. type: Labeled list -#: en/git-reset.txt:252 -#, fuzzy, no-wrap -#| msgid "git-add - Add file contents to the index" -msgid "Reset a single file in the index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-notes.txt:347 +msgid "" +"When rewriting commits with <command> (currently `amend` or `rebase`), if " +"this variable is `false`, git will not copy notes from the original to the " +"rewritten commit. Defaults to `true`. See also \"`notes.rewriteRef`\" " +"below." +msgstr "" #. type: Plain text -#: en/git-reset.txt:257 +#: en/git-notes.txt:350 msgid "" -"Suppose you have added a file to your index, but later decide you do not " -"want to add it to your commit. You can remove the file from the index while " -"keeping your changes with git reset." +"This setting can be overridden by the `GIT_NOTES_REWRITE_REF` environment " +"variable." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:262 -#, no-wrap +#. type: Plain text +#: en/git-notes.txt:356 msgid "" -"$ git reset -- frotz.c <1>\n" -"$ git commit -m \"Commit files in index\" <2>\n" -"$ git add frotz.c <3>\n" +"When copying notes during a rewrite, what to do if the target commit already " +"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " +"`ignore`. Defaults to `concatenate`." msgstr "" #. type: Plain text -#: en/git-reset.txt:266 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" +#: en/git-notes.txt:365 msgid "" -"This removes the file from the index while keeping it in the working " -"directory." +"When copying notes during a rewrite, specifies the (fully qualified) ref " +"whose notes should be copied. May be a glob, in which case notes in all " +"matching refs will be copied. You may also specify this configuration " +"several times." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-reset.txt:267 -msgid "This commits all other changes in the index." +#: en/git-notes.txt:368 +msgid "" +"Does not have a default value; you must configure this variable to enable " +"note rewriting." msgstr "" -# #. type: Plain text -#: en/git-reset.txt:268 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Adds the file to the index again." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-notes.txt:370 +msgid "" +"Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable." +msgstr "" #. type: Labeled list -#: en/git-reset.txt:269 +#: en/git-notes.txt:375 #, no-wrap -msgid "Keep changes in working tree while discarding some previous commits" +msgid "`GIT_NOTES_REF`" msgstr "" #. type: Plain text -#: en/git-reset.txt:276 +#: en/git-notes.txt:378 msgid "" -"Suppose you are working on something and you commit it, and then you " -"continue working a bit more, but now you think that what you have in your " -"working tree should be in another branch that has nothing to do with what " -"you committed previously. You can start a new branch and reset it while " -"keeping the changes in your working tree." +"Which ref to manipulate notes from, instead of `refs/notes/commits`. This " +"overrides the `core.notesRef` setting." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:285 +#. type: Labeled list +#: en/git-notes.txt:379 #, no-wrap -msgid "" -"$ git tag start\n" -"$ git checkout -b branch1\n" -"$ edit\n" -"$ git commit ... <1>\n" -"$ edit\n" -"$ git checkout -b branch2 <2>\n" -"$ git reset --keep start <3>\n" -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:288 -msgid "This commits your first edits in branch1." +msgid "`GIT_NOTES_DISPLAY_REF`" msgstr "" #. type: Plain text -#: en/git-reset.txt:292 +#: en/git-notes.txt:385 msgid "" -"In the ideal world, you could have realized that the earlier commit did not " -"belong to the new topic when you created and switched to branch2 (i.e. \"git " -"checkout -b branch2 start\"), but nobody is perfect." +"Colon-delimited list of refs or globs indicating which refs, in addition to " +"the default from `core.notesRef` or `GIT_NOTES_REF`, to read notes from when " +"showing commit messages. This overrides the `notes.displayRef` setting." msgstr "" #. type: Plain text -#: en/git-reset.txt:294 +#: en/git-notes.txt:388 msgid "" -"But you can use \"reset --keep\" to remove the unwanted commit after you " -"switched to \"branch2\"." +"A warning will be issued for refs that do not exist, but a glob that does " +"not match any refs is silently ignored." msgstr "" #. type: Labeled list -#: en/git-reset.txt:295 +#: en/git-notes.txt:389 #, no-wrap -msgid "Split a commit apart into a sequence of commits" +msgid "`GIT_NOTES_REWRITE_MODE`" msgstr "" #. type: Plain text -#: en/git-reset.txt:303 +#: en/git-notes.txt:394 msgid "" -"Suppose that you have created lots of logically separate changes and " -"commited them together. Then, later you decide that it might be better to " -"have each logical chunk associated with its own commit. You can use git " -"reset to rewind history without changing the contents of your local files, " -"and then successively use `git add -p` to interactively select which hunks " -"to include into each commit, using `git commit -c` to pre-populate the " -"commit message." +"When copying notes during a rewrite, what to do if the target commit already " +"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " +"`ignore`. This overrides the `core.rewriteMode` setting." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:313 +#. type: Labeled list +#: en/git-notes.txt:395 #, no-wrap -msgid "" -"$ git reset -N HEAD^ <1>\n" -"$ git add -p <2>\n" -"$ git diff --cached <3>\n" -"$ git commit -c HEAD@{1} <4>\n" -"... <5>\n" -"$ git add ... <6>\n" -"$ git diff --cached <7>\n" -"$ git commit ... <8>\n" +msgid "`GIT_NOTES_REWRITE_REF`" msgstr "" #. type: Plain text -#: en/git-reset.txt:319 +#: en/git-notes.txt:399 msgid "" -"First, reset the history back one commit so that we remove the original " -"commit, but leave the working tree with all the changes. The -N ensures that " -"any new files added with HEAD are still marked so that git add -p will find " -"them." +"When rewriting commits, which notes to copy from the original to the " +"rewritten commit. Must be a colon-delimited list of refs or globs." msgstr "" #. type: Plain text -#: en/git-reset.txt:323 +#: en/git-notes.txt:402 msgid "" -"Next, we interactively select diff hunks to add using the git add -p " -"facility. This will ask you about each diff hunk in sequence and you can use " -"simple commands such as \"yes, include this\", \"No don't include this\" or " -"even the very powerful \"edit\" facility." +"If not set in the environment, the list of notes to copy depends on the " +"`notes.rewrite.<command>` and `notes.rewriteRef` settings." msgstr "" -#. type: Plain text -#: en/git-reset.txt:327 -msgid "" -"Once satisfied with the hunks you want to include, you should verify what " -"has been prepared for the first commit by using git diff --cached. This " -"shows all the changes that have been moved into the index and are about to " -"be committed." -msgstr "" +#. type: Title = +#: en/git-p4.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-p4(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-reset.txt:333 -msgid "" -"Next, commit the changes stored in the index. The -c option specifies to pre-" -"populate the commit message from the original message that you started with " -"in the first commit. This is helpful to avoid retyping it. The HEAD@{1} is a " -"special notation for the commit that HEAD used to be at prior to the " -"original reset commit (1 change ago). See linkgit:git-reflog[1] for more " -"details. You may also use any other valid commit reference." -msgstr "" +#: en/git-p4.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-p4 - Import from and submit to Perforce repositories" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Plain text -#: en/git-reset.txt:335 +#: en/git-p4.txt:16 +#, no-wrap msgid "" -"You can repeat steps 2-4 multiple times to break the original code into any " -"number of commits." +"'git p4 clone' [<sync options>] [<clone options>] <p4 depot path>...\n" +"'git p4 sync' [<sync options>] [<p4 depot path>...]\n" +"'git p4 rebase'\n" +"'git p4 submit' [<submit options>] [<master branch name>]\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:338 -msgid "" -"Now you've split out many of the changes into their own commits, and might " -"no longer use the patch mode of git add, in order to select all remaining " -"uncommitted changes." +#: en/git-p4.txt:22 +msgid "This command provides a way to interact with p4 repositories using Git." msgstr "" #. type: Plain text -#: en/git-reset.txt:341 +#: en/git-p4.txt:30 msgid "" -"Once again, check to verify that you've included what you want to. You may " -"also wish to verify that git diff doesn't show any remaining changes to be " -"committed later." -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:342 -msgid "And finally create the final commit." +"Create a new Git repository from an existing p4 repository using 'git p4 " +"clone', giving it one or more p4 depot paths. Incorporate new commits from " +"p4 changes with 'git p4 sync'. The 'sync' command is also used to include " +"new branches from other p4 depot paths. Submit Git changes back to p4 using " +"'git p4 submit'. The command 'git p4 rebase' does a sync plus rebases the " +"current branch onto the updated p4 remote branch." msgstr "" #. type: Plain text -#: en/git-reset.txt:348 -msgid "The tables below show what happens when running:" +#: en/git-p4.txt:35 +msgid "Clone a repository:" msgstr "" #. type: delimited block - -#: en/git-reset.txt:351 +#: en/git-p4.txt:38 en/git-p4.txt:71 #, no-wrap -msgid "git reset --option target\n" +msgid "$ git p4 clone //depot/path/project\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:355 -msgid "" -"to reset the HEAD to another commit (`target`) with the different reset " -"options depending on the state of the files." +#: en/git-p4.txt:41 +msgid "Do some work in the newly created Git repository:" msgstr "" -#. type: Plain text -#: en/git-reset.txt:364 +#. type: delimited block - +#: en/git-p4.txt:46 +#, no-wrap msgid "" -"In these tables, A, B, C and D are some different states of a file. For " -"example, the first line of the first table means that if a file is in state " -"A in the working tree, in state B in the index, in state C in HEAD and in " -"state D in the target, then \"git reset --soft target\" will leave the file " -"in the working tree in state A and in the index in state B. It resets (i.e. " -"moves) the HEAD (i.e. the tip of the current branch, if you are on one) to " -"\"target\" (which has the file in state D)." +"$ cd project\n" +"$ vi foo.h\n" +"$ git commit -a -m \"edited foo.h\"\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:372 -#, no-wrap +#: en/git-p4.txt:50 msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" A B C D --soft A B D\n" -"\t\t\t\t--mixed A D D\n" -"\t\t\t\t--hard D D D\n" -"\t\t\t\t--merge (disallowed)\n" -"\t\t\t\t--keep (disallowed)\n" +"Update the Git repository with recent changes from p4, rebasing your work on " +"top:" msgstr "" -#. type: Plain text -#: en/git-reset.txt:380 +#. type: delimited block - +#: en/git-p4.txt:53 en/git-p4.txt:130 #, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" A B C C --soft A B C\n" -"\t\t\t\t--mixed A C C\n" -"\t\t\t\t--hard C C C\n" -"\t\t\t\t--merge (disallowed)\n" -"\t\t\t\t--keep A C C\n" +msgid "$ git p4 rebase\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:388 -#, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B B C D --soft B B D\n" -"\t\t\t\t--mixed B D D\n" -"\t\t\t\t--hard D D D\n" -"\t\t\t\t--merge D D D\n" -"\t\t\t\t--keep (disallowed)\n" +#: en/git-p4.txt:56 +msgid "Submit your commits back to p4:" msgstr "" -#. type: Plain text -#: en/git-reset.txt:396 +#. type: delimited block - +#: en/git-p4.txt:59 en/git-p4.txt:145 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git p4 submit\n" +msgstr "$ git commit\n" + +#. type: Title ~ +#: en/git-p4.txt:66 #, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B B C C --soft B B C\n" -"\t\t\t\t--mixed B C C\n" -"\t\t\t\t--hard C C C\n" -"\t\t\t\t--merge C C C\n" -"\t\t\t\t--keep B C C\n" +msgid "Clone" msgstr "" #. type: Plain text -#: en/git-reset.txt:404 -#, no-wrap +#: en/git-p4.txt:69 msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B C C D --soft B C D\n" -"\t\t\t\t--mixed B D D\n" -"\t\t\t\t--hard D D D\n" -"\t\t\t\t--merge (disallowed)\n" -"\t\t\t\t--keep (disallowed)\n" +"Generally, 'git p4 clone' is used to create a new Git directory from an " +"existing p4 repository:" msgstr "" #. type: Plain text -#: en/git-reset.txt:412 -#, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B C C C --soft B C C\n" -"\t\t\t\t--mixed B C C\n" -"\t\t\t\t--hard C C C\n" -"\t\t\t\t--merge B C C\n" -"\t\t\t\t--keep B C C\n" +#: en/git-p4.txt:73 +msgid "This:" msgstr "" #. type: Plain text -#: en/git-reset.txt:421 -msgid "" -"\"reset --merge\" is meant to be used when resetting out of a conflicted " -"merge. Any mergy operation guarantees that the working tree file that is " -"involved in the merge does not have local change wrt the index before it " -"starts, and that it writes the result out to the working tree. So if we see " -"some difference between the index and the target and also between the index " -"and the working tree, then it means that we are not resetting out from a " -"state that a mergy operation left after failing with a conflict. That is why " -"we disallow --merge option in this case." +#: en/git-p4.txt:75 +msgid "Creates an empty Git repository in a subdirectory called 'project'." msgstr "" #. type: Plain text -#: en/git-reset.txt:430 +#: en/git-p4.txt:78 msgid "" -"\"reset --keep\" is meant to be used when removing some of the last commits " -"in the current branch while keeping changes in the working tree. If there " -"could be conflicts between the changes in the commit we want to remove and " -"the changes in the working tree we want to keep, the reset is disallowed. " -"That's why it is disallowed if there are both changes between the working " -"tree and HEAD, and between HEAD and the target. To be safe, it is also " -"disallowed when there are unmerged entries." +"Imports the full contents of the head revision from the given p4 depot path " +"into a single commit in the Git branch 'refs/remotes/p4/master'." msgstr "" #. type: Plain text -#: en/git-reset.txt:433 -msgid "The following tables show what happens when there are unmerged entries:" +#: en/git-p4.txt:80 +msgid "Creates a local branch, 'master' from this remote and checks it out." msgstr "" #. type: Plain text -#: en/git-reset.txt:441 -#, no-wrap +#: en/git-p4.txt:83 msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" X U A B --soft (disallowed)\n" -"\t\t\t\t--mixed X B B\n" -"\t\t\t\t--hard B B B\n" -"\t\t\t\t--merge B B B\n" -"\t\t\t\t--keep (disallowed)\n" +"To reproduce the entire p4 history in Git, use the '@all' modifier on the " +"depot path:" msgstr "" -#. type: Plain text -#: en/git-reset.txt:449 +#. type: delimited block - +#: en/git-p4.txt:85 #, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" X U A A --soft (disallowed)\n" -"\t\t\t\t--mixed X A A\n" -"\t\t\t\t--hard A A A\n" -"\t\t\t\t--merge A A A\n" -"\t\t\t\t--keep (disallowed)\n" -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:451 -msgid "X means any state and U means an unmerged index." +msgid "$ git p4 clone //depot/path/project@all\n" msgstr "" -#. type: Title = -#: en/git-revert.txt:2 -#, fuzzy, no-wrap -#| msgid "revert" -msgid "git-revert(1)" -msgstr "revert" - -#. type: Plain text -#: en/git-revert.txt:7 -msgid "git-revert - Revert some existing commits" +#. type: Title ~ +#: en/git-p4.txt:89 +#, no-wrap +msgid "Sync" msgstr "" #. type: Plain text -#: en/git-revert.txt:15 -#, no-wrap +#: en/git-p4.txt:92 msgid "" -"'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>...\n" -"'git revert' --continue\n" -"'git revert' --quit\n" -"'git revert' --abort\n" +"As development continues in the p4 repository, those changes can be included " +"in the Git repository using:" msgstr "" +#. type: delimited block - +#: en/git-p4.txt:94 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git p4 sync\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-revert.txt:23 -msgid "" -"Given one or more existing commits, revert the changes that the related " -"patches introduce, and record some new commits that record them. This " -"requires your working tree to be clean (no modifications from the HEAD " -"commit)." +#: en/git-p4.txt:96 +msgid "This command finds new changes in p4 and imports them as Git commits." msgstr "" #. type: Plain text -#: en/git-revert.txt:32 +#: en/git-p4.txt:99 msgid "" -"Note: 'git revert' is used to record some new commits to reverse the effect " -"of some earlier commits (often only a faulty one). If you want to throw " -"away all uncommitted changes in your working directory, you should see " -"linkgit:git-reset[1], particularly the `--hard` option. If you want to " -"extract specific files as they were in another commit, you should see " -"linkgit:git-checkout[1], specifically the `git checkout <commit> -- " -"<filename>` syntax. Take care with these alternatives as both will discard " -"uncommitted changes in your working directory." +"P4 repositories can be added to an existing Git repository using 'git p4 " +"sync' too:" msgstr "" -#. type: Plain text -#: en/git-revert.txt:42 +#. type: delimited block - +#: en/git-p4.txt:104 +#, no-wrap msgid "" -"Commits to revert. For a more complete list of ways to spell commit names, " -"see linkgit:gitrevisions[7]. Sets of commits can also be given but no " -"traversal is done by default, see linkgit:git-rev-list[1] and its `--no-" -"walk` option." +"$ mkdir repo-git\n" +"$ cd repo-git\n" +"$ git init\n" +"$ git p4 sync //path/in/your/perforce/depot\n" msgstr "" #. type: Plain text -#: en/git-revert.txt:48 +#: en/git-p4.txt:109 msgid "" -"With this option, 'git revert' will let you edit the commit message prior to " -"committing the revert. This is the default if you run the command from a " -"terminal." +"This imports the specified depot into 'refs/remotes/p4/master' in an " +"existing Git repository. The `--branch` option can be used to specify a " +"different branch to be used for the p4 content." msgstr "" #. type: Plain text -#: en/git-revert.txt:56 +#: en/git-p4.txt:114 msgid "" -"Usually you cannot revert a merge because you do not know which side of the " -"merge should be considered the mainline. This option specifies the parent " -"number (starting from 1) of the mainline and allows revert to reverse the " -"change relative to the specified parent." +"If a Git repository includes branches 'refs/remotes/origin/p4', these will " +"be fetched and consulted first during a 'git p4 sync'. Since importing " +"directly from p4 is considerably slower than pulling changes from a Git " +"remote, this can be useful in a multi-developer environment." msgstr "" #. type: Plain text -#: en/git-revert.txt:61 +#: en/git-p4.txt:119 msgid "" -"Reverting a merge commit declares that you will never want the tree changes " -"brought in by the merge. As a result, later merges will only bring in tree " -"changes introduced by commits that are not ancestors of the previously " -"reverted merge. This may or may not be what you want." +"If there are multiple branches, doing 'git p4 sync' will automatically use " +"the \"BRANCH DETECTION\" algorithm to try to partition new changes into the " +"right branch. This can be overridden with the `--branch` option to specify " +"just a single branch to update." +msgstr "" + +#. type: Title ~ +#: en/git-p4.txt:122 +#, no-wrap +msgid "Rebase" msgstr "" #. type: Plain text -#: en/git-revert.txt:64 +#: en/git-p4.txt:128 msgid "" -"See the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] " -"for more details." +"A common working pattern is to fetch the latest changes from the p4 depot " +"and merge them with local uncommitted changes. Often, the p4 repository is " +"the ultimate location for all code, thus a rebase workflow makes sense. " +"This command does 'git p4 sync' followed by 'git rebase' to move local " +"commits on top of updated p4 changes." +msgstr "" + +#. type: Title ~ +#: en/git-p4.txt:134 +#, no-wrap +msgid "Submit" msgstr "" #. type: Plain text -#: en/git-revert.txt:68 +#: en/git-p4.txt:140 msgid "" -"With this option, 'git revert' will not start the commit message editor." +"Submitting changes from a Git repository back to the p4 repository requires " +"a separate p4 client workspace. This should be specified using the " +"`P4CLIENT` environment variable or the Git configuration variable 'git-p4." +"client'. The p4 client must exist, but the client root will be created and " +"populated if it does not already exist." msgstr "" #. type: Plain text -#: en/git-revert.txt:79 +#: en/git-p4.txt:143 msgid "" -"Usually the command automatically creates some commits with commit log " -"messages stating which commits were reverted. This flag applies the changes " -"necessary to revert the named commits to your working tree and the index, " -"but does not make the commits. In addition, when this option is used, your " -"index does not have to match the HEAD commit. The revert is done against " -"the beginning state of your index." +"To submit all changes that are in the current Git branch but not in the 'p4/" +"master' branch, use:" msgstr "" #. type: Plain text -#: en/git-revert.txt:82 -msgid "" -"This is useful when reverting more than one commits' effect to your index in " -"a row." +#: en/git-p4.txt:148 +msgid "To specify a branch other than the current one, use:" msgstr "" -#. type: Labeled list -#: en/git-revert.txt:110 +#. type: delimited block - +#: en/git-p4.txt:150 #, no-wrap -msgid "`git revert HEAD~3`" +msgid "$ git p4 submit topicbranch\n" msgstr "" #. type: Plain text -#: en/git-revert.txt:114 +#: en/git-p4.txt:154 msgid "" -"Revert the changes specified by the fourth last commit in HEAD and create a " -"new commit with the reverted changes." +"The upstream reference is generally 'refs/remotes/p4/master', but can be " +"overridden using the `--origin=` command-line option." msgstr "" -#. type: Labeled list -#: en/git-revert.txt:115 +#. type: Plain text +#: en/git-p4.txt:159 +msgid "" +"The p4 changes will be created as the user invoking 'git p4 submit'. The `--" +"preserve-user` option will cause ownership to be modified according to the " +"author of the Git commit. This option requires admin privileges in p4, " +"which can be granted using 'p4 protect'." +msgstr "" + +#. type: Title ~ +#: en/git-p4.txt:165 #, no-wrap -msgid "`git revert -n master~5..master~2`" +msgid "General options" msgstr "" #. type: Plain text -#: en/git-revert.txt:122 -msgid "" -"Revert the changes done by commits from the fifth last commit in master " -"(included) to the third last commit in master (included), but do not create " -"any commit with the reverted changes. The revert only modifies the working " -"tree and the index." +#: en/git-p4.txt:167 +msgid "All commands except clone accept these options." msgstr "" #. type: Labeled list -#: en/git-revert.txt:126 en/cmds-mainporcelain.txt:22 +#: en/git-p4.txt:168 #, no-wrap -msgid "linkgit:git-cherry-pick[1]" +msgid "--git-dir <dir>" msgstr "" -#. type: Title = -#: en/git-rev-list.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-rev-list(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-rev-list.txt:7 -msgid "git-rev-list - Lists commit objects in reverse chronological order" +#: en/git-p4.txt:170 +msgid "Set the `GIT_DIR` environment variable. See linkgit:git[1]." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:62 +#: en/git-p4.txt:174 +msgid "Provide more progress information." +msgstr "Fournir plus d'information de progression." + +#. type: Title ~ +#: en/git-p4.txt:176 #, no-wrap -msgid "" -"'git rev-list' [ --max-count=<number> ]\n" -"\t [ --skip=<number> ]\n" -"\t [ --max-age=<timestamp> ]\n" -"\t [ --min-age=<timestamp> ]\n" -"\t [ --sparse ]\n" -"\t [ --merges ]\n" -"\t [ --no-merges ]\n" -"\t [ --min-parents=<number> ]\n" -"\t [ --no-min-parents ]\n" -"\t [ --max-parents=<number> ]\n" -"\t [ --no-max-parents ]\n" -"\t [ --first-parent ]\n" -"\t [ --remove-empty ]\n" -"\t [ --full-history ]\n" -"\t [ --not ]\n" -"\t [ --all ]\n" -"\t [ --branches[=<pattern>] ]\n" -"\t [ --tags[=<pattern>] ]\n" -"\t [ --remotes[=<pattern>] ]\n" -"\t [ --glob=<glob-pattern> ]\n" -"\t [ --ignore-missing ]\n" -"\t [ --stdin ]\n" -"\t [ --quiet ]\n" -"\t [ --topo-order ]\n" -"\t [ --parents ]\n" -"\t [ --timestamp ]\n" -"\t [ --left-right ]\n" -"\t [ --left-only ]\n" -"\t [ --right-only ]\n" -"\t [ --cherry-mark ]\n" -"\t [ --cherry-pick ]\n" -"\t [ --encoding=<encoding> ]\n" -"\t [ --(author|committer|grep)=<pattern> ]\n" -"\t [ --regexp-ignore-case | -i ]\n" -"\t [ --extended-regexp | -E ]\n" -"\t [ --fixed-strings | -F ]\n" -"\t [ --date=<format>]\n" -"\t [ [ --objects | --objects-edge | --objects-edge-aggressive ]\n" -"\t [ --unpacked ] ]\n" -"\t [ --pretty | --header ]\n" -"\t [ --bisect ]\n" -"\t [ --bisect-vars ]\n" -"\t [ --bisect-all ]\n" -"\t [ --merge ]\n" -"\t [ --reverse ]\n" -"\t [ --walk-reflogs ]\n" -"\t [ --no-walk ] [ --do-walk ]\n" -"\t [ --count ]\n" -"\t [ --use-bitmap-index ]\n" -"\t <commit>... [ \\-- <paths>... ]\n" +msgid "Sync options" msgstr "" #. type: Plain text -#: en/git-rev-list.txt:70 +#: en/git-p4.txt:179 msgid "" -"List commits that are reachable by following the `parent` links from the " -"given commit(s), but exclude commits that are reachable from the one(s) " -"given with a '{caret}' in front of them. The output is given in reverse " -"chronological order by default." +"These options can be used in the initial 'clone' as well as in subsequent " +"'sync' operations." msgstr "" +#. type: Labeled list +#: en/git-p4.txt:180 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "--branch <ref>" +msgstr "Mode interactif" + #. type: Plain text -#: en/git-rev-list.txt:77 +#: en/git-p4.txt:184 msgid "" -"You can think of this as a set operation. Commits given on the command line " -"form a set of commits that are reachable from any of them, and then commits " -"reachable from any of the ones given with '{caret}' in front are subtracted " -"from that set. The remaining commits are what comes out in the command's " -"output. Various other options and paths parameters can be used to further " -"limit the result." +"Import changes into <ref> instead of refs/remotes/p4/master. If <ref> " +"starts with refs/, it is used as is. Otherwise, if it does not start with " +"p4/, that prefix is added." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:79 -#, fuzzy -#| msgid "support the following date formats:" -msgid "Thus, the following command:" -msgstr "prend en charge les formats de date suivants혻:" - -#. type: delimited block - -#: en/git-rev-list.txt:82 -#, no-wrap -msgid "\t$ git rev-list foo bar ^baz\n" +#: en/git-p4.txt:188 +msgid "" +"By default a <ref> not starting with refs/ is treated as the name of a " +"remote-tracking branch (under refs/remotes/). This behavior can be modified " +"using the --import-local option." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:86 -msgid "" -"means \"list all the commits which are reachable from 'foo' or 'bar', but " -"not from 'baz'\"." +#: en/git-p4.txt:190 +msgid "The default <ref> is \"master\"." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:90 +#: en/git-p4.txt:193 msgid "" -"A special notation \"'<commit1>'..'<commit2>'\" can be used as a short-hand " -"for \"{caret}'<commit1>' '<commit2>'\". For example, either of the following " -"may be used interchangeably:" +"This example imports a new remote \"p4/proj2\" into an existing Git " +"repository:" msgstr "" #. type: delimited block - -#: en/git-rev-list.txt:94 +#: en/git-p4.txt:197 #, no-wrap msgid "" -"\t$ git rev-list origin..HEAD\n" -"\t$ git rev-list HEAD ^origin\n" -msgstr "" - -#. type: Plain text -#: en/git-rev-list.txt:99 -msgid "" -"Another special notation is \"'<commit1>'...'<commit2>'\" which is useful " -"for merges. The resulting set of commits is the symmetric difference " -"between the two operands. The following two commands are equivalent:" +" $ git init\n" +" $ git p4 sync --branch=refs/remotes/p4/proj2 //depot/proj2\n" msgstr "" -#. type: delimited block - -#: en/git-rev-list.txt:103 +#. type: Labeled list +#: en/git-p4.txt:199 #, no-wrap -msgid "" -"\t$ git rev-list A B --not $(git merge-base --all A B)\n" -"\t$ git rev-list A...B\n" +msgid "--detect-branches" msgstr "" #. type: Plain text -#: en/git-rev-list.txt:110 +#: en/git-p4.txt:202 msgid "" -"'rev-list' is a very essential Git command, since it provides the ability to " -"build and traverse commit ancestry graphs. For this reason, it has a lot of " -"different options that enables it to be used by commands as different as " -"'git bisect' and 'git repack'." -msgstr "" - -#. type: Title = -#: en/git-rev-parse.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-rev-parse(1)" -msgstr "git-add(1)" - -#. type: Plain text -#: en/git-rev-parse.txt:7 -msgid "git-rev-parse - Pick out and massage parameters" +"Use the branch detection algorithm to find new paths in p4. It is " +"documented below in \"BRANCH DETECTION\"." msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:13 +#. type: Labeled list +#: en/git-p4.txt:203 #, no-wrap -msgid "'git rev-parse' [ --option ] <args>...\n" +msgid "--changesfile <file>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:23 +#: en/git-p4.txt:207 msgid "" -"Many Git porcelainish commands take mixture of flags (i.e. parameters that " -"begin with a dash '-') and parameters meant for the underlying 'git rev-" -"list' command they use internally and flags and parameters for the other " -"commands they use downstream of 'git rev-list'. This command is used to " -"distinguish between them." +"Import exactly the p4 change numbers listed in 'file', one per line. " +"Normally, 'git p4' inspects the current p4 repository state and detects the " +"changes it should import." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:29 +#. type: Labeled list +#: en/git-p4.txt:208 #, no-wrap -msgid "Operation Modes" +msgid "--silent" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:32 -msgid "Each of these options must appear first on the command line." +#: en/git-p4.txt:210 +#, fuzzy +#| msgid "" +#| "\\--::\n" +#| "\tDo not interpret any more arguments as options.\n" +msgid "Do not print any progress information." msgstr "" +"\\--::\n" +"\tNe pas interpr챕ter les arguments qui suivent comme options.\n" #. type: Labeled list -#: en/git-rev-parse.txt:33 +#: en/git-p4.txt:211 #, no-wrap -msgid "--parseopt" +msgid "--detect-labels" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:35 +#: en/git-p4.txt:215 msgid "" -"Use 'git rev-parse' in option parsing mode (see PARSEOPT section below)." +"Query p4 for labels associated with the depot paths, and add them as tags in " +"Git. Limited usefulness as only imports labels associated with new " +"changelists. Deprecated." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:36 +#: en/git-p4.txt:216 en/git-p4.txt:331 #, no-wrap -msgid "--sq-quote" +msgid "--import-labels" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:40 -msgid "" -"Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE section below). In " -"contrast to the `--sq` option below, this mode does only quoting. Nothing " -"else is done to command input." -msgstr "" - -#. type: Title ~ -#: en/git-rev-parse.txt:42 -#, no-wrap -msgid "Options for --parseopt" +#: en/git-p4.txt:218 +msgid "Import labels from p4 into Git." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:44 +#: en/git-p4.txt:219 #, no-wrap -msgid "--keep-dashdash" +msgid "--import-local" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:47 +#: en/git-p4.txt:226 msgid "" -"Only meaningful in `--parseopt` mode. Tells the option parser to echo out " -"the first `--` met instead of skipping it." +"By default, p4 branches are stored in 'refs/remotes/p4/', where they will be " +"treated as remote-tracking branches by linkgit:git-branch[1] and other " +"commands. This option instead puts p4 branches in 'refs/heads/p4/'. Note " +"that future sync operations must specify `--import-local` as well so that " +"they can find the p4 branches in refs/heads." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:48 -#, fuzzy, no-wrap -#| msgid "status" -msgid "--stop-at-non-option" -msgstr "status" +#: en/git-p4.txt:227 +#, no-wrap +msgid "--max-changes <n>" +msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:52 +#: en/git-p4.txt:233 msgid "" -"Only meaningful in `--parseopt` mode. Lets the option parser stop at the " -"first non-option argument. This can be used to parse sub-commands that take " -"options themselves." +"Import at most 'n' changes, rather than the entire range of changes included " +"in the given revision specifier. A typical usage would be use '@all' as the " +"revision specifier, but then to use '--max-changes 1000' to import only the " +"last 1000 revisions rather than the entire revision history." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:53 +#: en/git-p4.txt:234 #, no-wrap -msgid "--stuck-long" +msgid "--changes-block-size <n>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:56 +#: en/git-p4.txt:242 msgid "" -"Only meaningful in `--parseopt` mode. Output the options in their long form " -"if available, and with their arguments stuck." -msgstr "" - -#. type: Title ~ -#: en/git-rev-parse.txt:58 -#, no-wrap -msgid "Options for Filtering" +"The internal block size to use when converting a revision specifier such as " +"'@all' into a list of specific change numbers. Instead of using a single " +"call to 'p4 changes' to find the full list of changes for the conversion, " +"there are a sequence of calls to 'p4 changes -m', each of which requests one " +"block of changes of the given size. The default block size is 500, which " +"should usually be suitable." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:60 +#: en/git-p4.txt:243 #, no-wrap -msgid "--revs-only" +msgid "--keep-path" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:63 +#: en/git-p4.txt:250 msgid "" -"Do not output flags and parameters not meant for 'git rev-list' command." +"The mapping of file names from the p4 depot path to Git, by default, " +"involves removing the entire depot path. With this option, the full p4 " +"depot path is retained in Git. For example, path '//depot/main/foo/bar.c', " +"when imported from '//depot/main/', becomes 'foo/bar.c'. With `--keep-" +"path`, the Git path is instead 'depot/main/foo/bar.c'." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:64 +#: en/git-p4.txt:251 #, no-wrap -msgid "--no-revs" +msgid "--use-client-spec" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:67 -msgid "Do not output flags and parameters meant for 'git rev-list' command." +#: en/git-p4.txt:254 +msgid "" +"Use a client spec to find the list of interesting files in p4. See the " +"\"CLIENT SPEC\" section below." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:68 +#: en/git-p4.txt:255 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "-/ <path>" +msgstr "patch" + +#. type: Plain text +#: en/git-p4.txt:257 +msgid "Exclude selected depot paths when cloning or syncing." +msgstr "" + +#. type: Title ~ +#: en/git-p4.txt:259 #, no-wrap -msgid "--flags" +msgid "Clone options" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:70 -msgid "Do not output non-flag parameters." +#: en/git-p4.txt:262 +msgid "" +"These options can be used in an initial 'clone', along with the 'sync' " +"options described above." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:71 +#: en/git-p4.txt:263 #, no-wrap -msgid "--no-flags" +msgid "--destination <directory>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:73 -msgid "Do not output flag parameters." +#: en/git-p4.txt:267 +msgid "" +"Where to create the Git repository. If not provided, the last component in " +"the p4 depot path is used to create a new directory." msgstr "" +#. type: Plain text +#: en/git-p4.txt:270 +#, fuzzy +#| msgid "git-commit(1)" +msgid "Perform a bare clone. See linkgit:git-clone[1]." +msgstr "git-commit(1)" + #. type: Title ~ -#: en/git-rev-parse.txt:75 +#: en/git-p4.txt:272 #, no-wrap -msgid "Options for Output" +msgid "Submit options" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:77 -#, fuzzy, no-wrap -#| msgid "default" -msgid "--default <arg>" -msgstr "default" - #. type: Plain text -#: en/git-rev-parse.txt:80 -msgid "If there is no parameter given by the user, use `<arg>` instead." +#: en/git-p4.txt:274 +msgid "These options can be used to modify 'git p4 submit' behavior." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:81 -#, no-wrap -msgid "--prefix <arg>" -msgstr "" +#: en/git-p4.txt:275 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--origin <commit>" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-rev-parse.txt:86 +#: en/git-p4.txt:279 msgid "" -"Behave as if 'git rev-parse' was invoked from the `<arg>` subdirectory of " -"the working tree. Any relative filenames are resolved as if they are " -"prefixed by `<arg>` and will be printed in that form." +"Upstream location from which commits are identified to submit to p4. By " +"default, this is the most recent p4 commit reachable from `HEAD`." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:90 +#: en/git-p4.txt:285 msgid "" -"This can be used to convert arguments to a command run in a subdirectory so " -"that they can still be used after moving to the top-level of the " -"repository. For example:" +"Detect renames. See linkgit:git-diff[1]. Renames will be represented in p4 " +"using explicit 'move' operations. There is no corresponding option to " +"detect copies, but there are variables for both moves and copies." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:96 +#. type: Labeled list +#: en/git-p4.txt:286 #, no-wrap -msgid "" -"prefix=$(git rev-parse --show-prefix)\n" -"cd \"$(git rev-parse --show-toplevel)\"\n" -"# rev-parse provides the -- needed for 'set'\n" -"eval \"set $(git rev-parse --sq --prefix \"$prefix\" -- \"$@\")\"\n" +msgid "--preserve-user" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:103 +#: en/git-p4.txt:289 msgid "" -"Verify that exactly one parameter is provided, and that it can be turned " -"into a raw 20-byte SHA-1 that can be used to access the object database. If " -"so, emit it to the standard output; otherwise, error out." +"Re-author p4 changes before submitting to p4. This option requires p4 admin " +"privileges." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:290 +#, no-wrap +msgid "--export-labels" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:112 +#: en/git-p4.txt:293 msgid "" -"If you want to make sure that the output actually names an object in your " -"object database and/or can be used as a specific type of object you require, " -"you can add the `^{type}` peeling operator to the parameter. For example, " -"`git rev-parse \"$VAR^{commit}\"` will make sure `$VAR` names an existing " -"object that is a commit-ish (i.e. a commit, or an annotated tag that points " -"at a commit). To make sure that `$VAR` names an existing object of any " -"type, `git rev-parse \"$VAR^{object}\"` can be used." +"Export tags from Git as p4 labels. Tags found in Git are applied to the " +"perforce working directory." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:119 +#: en/git-p4.txt:298 msgid "" -"Only meaningful in `--verify` mode. Do not output an error message if the " -"first argument is not a valid object name; instead exit with non-zero status " -"silently. SHA-1s for valid object names are printed to stdout on success." +"Show just what commits would be submitted to p4; do not change state in Git " +"or p4." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:120 +#: en/git-p4.txt:299 #, no-wrap -msgid "--sq" -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:128 -msgid "" -"Usually the output is made one line per flag and parameter. This option " -"makes output a single line, properly quoted for consumption by shell. " -"Useful when you expect your parameter to contain whitespaces and newlines (e." -"g. when using pickaxe `-S` with 'git diff-{asterisk}'). In contrast to the " -"`--sq-quote` option, the command input is still interpreted as usual." +msgid "--prepare-p4-only" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:133 +#: en/git-p4.txt:305 msgid "" -"When showing object names, prefix them with '{caret}' and strip '{caret}' " -"prefix from the object names that already have one." +"Apply a commit to the p4 workspace, opening, adding and deleting files in p4 " +"as for a normal submit operation. Do not issue the final \"p4 submit\", but " +"instead print a message about how to submit manually or revert. This option " +"always stops after the first (oldest) commit. Git tags are not exported to " +"p4." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:134 +#: en/git-p4.txt:306 #, no-wrap -msgid "--abbrev-ref[=(strict|loose)]" +msgid "--shelve" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:138 +#: en/git-p4.txt:310 msgid "" -"A non-ambiguous short name of the objects name. The option core." -"warnAmbiguousRefs is used to select the strict abbreviation mode." +"Instead of submitting create a series of shelved changelists. After " +"creating each shelve, the relevant files are reverted/deleted. If you have " +"multiple commits pending multiple shelves will be created." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:140 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--short=number" -msgstr "Configuration" +#: en/git-p4.txt:311 +#, no-wrap +msgid "--update-shelve CHANGELIST" +msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:144 +#: en/git-p4.txt:314 msgid "" -"Instead of outputting the full SHA-1 values of object names try to " -"abbreviate them to a shorter unique name. When no length is specified 7 is " -"used. The minimum length is 4." +"Update an existing shelved changelist with this commit. Implies --shelve." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:145 +#: en/git-p4.txt:315 #, no-wrap -msgid "--symbolic" +msgid "--conflict=(ask|skip|quit)" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:149 +#: en/git-p4.txt:321 msgid "" -"Usually the object names are output in SHA-1 form (with possible '{caret}' " -"prefix); this option makes them output in a form as close to the original " -"input as possible." +"Conflicts can occur when applying a commit to p4. When this happens, the " +"default behavior (\"ask\") is to prompt whether to skip this commit and " +"continue, or quit. This option can be used to bypass the prompt, causing " +"conflicting commits to be automatically skipped, or to quit trying to apply " +"commits, without prompting." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:150 -#, no-wrap -msgid "--symbolic-full-name" -msgstr "" +#: en/git-p4.txt:322 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "--branch <branch>" +msgstr "Mode interactif" #. type: Plain text -#: en/git-rev-parse.txt:157 +#: en/git-p4.txt:326 msgid "" -"This is similar to --symbolic, but it omits input that are not refs (i.e. " -"branch or tag names; or more explicitly disambiguating \"heads/master\" " -"form, when you want to name the \"master\" branch when there is an " -"unfortunately named tag \"master\"), and show them as full refnames (e.g. " -"\"refs/heads/master\")." +"After submitting, sync this named branch instead of the default p4/master. " +"See the \"Sync options\" section above for more information." msgstr "" #. type: Title ~ -#: en/git-rev-parse.txt:159 +#: en/git-p4.txt:328 #, no-wrap -msgid "Options for Objects" +msgid "Rebase options" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:163 -msgid "Show all refs found in `refs/`." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:164 -#, no-wrap -msgid "--branches[=pattern]" +#: en/git-p4.txt:330 +msgid "These options can be used to modify 'git p4 rebase' behavior." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:165 -#, no-wrap -msgid "--tags[=pattern]" +#. type: Plain text +#: en/git-p4.txt:333 +msgid "Import p4 labels." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:166 +#. type: Title - +#: en/git-p4.txt:335 #, no-wrap -msgid "--remotes[=pattern]" -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:170 -msgid "" -"Show all branches, tags, or remote-tracking branches, respectively (i.e., " -"refs found in `refs/heads`, `refs/tags`, or `refs/remotes`, respectively)." +msgid "DEPOT PATH SYNTAX" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:174 +#: en/git-p4.txt:339 msgid "" -"If a `pattern` is given, only refs matching the given shell glob are shown. " -"If the pattern does not contain a globbing character (`?`, `*`, or `[`), it " -"is turned into a prefix match by appending `/*`." +"The p4 depot path argument to 'git p4 sync' and 'git p4 clone' can be one or " +"more space-separated p4 depot paths, with an optional p4 revision specifier " +"on the end:" msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:175 +#: en/git-p4.txt:340 #, no-wrap -msgid "--glob=pattern" +msgid "\"//depot/my/project\"" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:181 -msgid "" -"Show all refs matching the shell glob pattern `pattern`. If the pattern does " -"not start with `refs/`, this is automatically prepended. If the pattern " -"does not contain a globbing character (`?`, `*`, or `[`), it is turned into " -"a prefix match by appending `/*`." +#: en/git-p4.txt:342 +msgid "Import one commit with all files in the '#head' change under that tree." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:182 en/rev-list-options.txt:163 +#: en/git-p4.txt:343 #, no-wrap -msgid "--exclude=<glob-pattern>" +msgid "\"//depot/my/project@all\"" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:189 en/rev-list-options.txt:171 -msgid "" -"Do not include refs matching '<glob-pattern>' that the next `--all`, `--" -"branches`, `--tags`, `--remotes`, or `--glob` would otherwise consider. " -"Repetitions of this option accumulate exclusion patterns up to the next `--" -"all`, `--branches`, `--tags`, `--remotes`, or `--glob` option (other options " -"or arguments do not clear accumulated patterns)." +#: en/git-p4.txt:345 +msgid "Import one commit for each change in the history of that depot path." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:346 +#, no-wrap +msgid "\"//depot/my/project@1,6\"" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:195 en/rev-list-options.txt:177 -msgid "" -"The patterns given should not begin with `refs/heads`, `refs/tags`, or `refs/" -"remotes` when applied to `--branches`, `--tags`, or `--remotes`, " -"respectively, and they must begin with `refs/` when applied to `--glob` or " -"`--all`. If a trailing '/{asterisk}' is intended, it must be given " -"explicitly." +#: en/git-p4.txt:348 +msgid "Import only changes 1 through 6." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:196 +#: en/git-p4.txt:349 #, no-wrap -msgid "--disambiguate=<prefix>" +msgid "\"//depot/proj1@all //depot/proj2@all\"" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:201 +#: en/git-p4.txt:358 msgid "" -"Show every object whose name begins with the given prefix. The <prefix> " -"must be at least 4 hexadecimal digits long to avoid listing each and every " -"object in the repository by mistake." +"Import all changes from both named depot paths into a single repository. " +"Only files below these directories are included. There is not a " +"subdirectory in Git for each \"proj1\" and \"proj2\". You must use the `--" +"destination` option when specifying more than one depot path. The revision " +"specifier must be specified identically on each depot path. If there are " +"files in the depot paths with the same name, the path with the most recently " +"updated version of the file is the one that appears in Git." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:203 -#, no-wrap -msgid "Options for Files" +#. type: Plain text +#: en/git-p4.txt:360 +msgid "See 'p4 help revisions' for the full syntax of p4 revision specifiers." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:205 +#. type: Title - +#: en/git-p4.txt:363 #, no-wrap -msgid "--local-env-vars" +msgid "CLIENT SPEC" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:210 +#: en/git-p4.txt:373 msgid "" -"List the GIT_* environment variables that are local to the repository (e.g. " -"GIT_DIR or GIT_WORK_TREE, but not GIT_EDITOR). Only the names of the " -"variables are listed, not their value, even if they are set." +"The p4 client specification is maintained with the 'p4 client' command and " +"contains among other fields, a View that specifies how the depot is mapped " +"into the client repository. The 'clone' and 'sync' commands can consult the " +"client spec when given the `--use-client-spec` option or when the " +"useClientSpec variable is true. After 'git p4 clone', the useClientSpec " +"variable is automatically set in the repository configuration file. This " +"allows future 'git p4 submit' commands to work properly; the submit command " +"looks only at the variable and does not have a command-line option." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:211 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--git-dir" -msgstr "git-add(1)" +#. type: Plain text +#: en/git-p4.txt:380 +msgid "" +"The full syntax for a p4 view is documented in 'p4 help views'. 'git p4' " +"knows only a subset of the view syntax. It understands multi-line mappings, " +"overlays with '+', exclusions with '-' and double-quotes around whitespace. " +"Of the possible wildcards, 'git p4' only handles '...', and only when it is " +"at the end of the path. 'git p4' will complain if it encounters an " +"unhandled wildcard." +msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:215 +#: en/git-p4.txt:385 msgid "" -"Show `$GIT_DIR` if defined. Otherwise show the path to the .git directory. " -"The path shown, when relative, is relative to the current working directory." +"Bugs in the implementation of overlap mappings exist. If multiple depot " +"paths map through overlays to the same location in the repository, 'git p4' " +"can choose the wrong one. This is hard to solve without dedicating a client " +"spec just for 'git p4'." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:219 +#: en/git-p4.txt:390 msgid "" -"If `$GIT_DIR` is not defined and the current directory is not detected to " -"lie in a Git repository or work tree print a message to stderr and exit with " -"nonzero status." +"The name of the client can be given to 'git p4' in multiple ways. The " +"variable 'git-p4.client' takes precedence if it exists. Otherwise, normal " +"p4 mechanisms of determining the client are used: environment variable " +"P4CLIENT, a file referenced by P4CONFIG, or the local host name." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:220 +#. type: Title - +#: en/git-p4.txt:393 #, no-wrap -msgid "--absolute-git-dir" +msgid "BRANCH DETECTION" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:223 +#: en/git-p4.txt:400 msgid "" -"Like `--git-dir`, but its output is always the canonicalized absolute path." +"P4 does not have the same concept of a branch as Git. Instead, p4 organizes " +"its content as a directory tree, where by convention different logical " +"branches are in different locations in the tree. The 'p4 branch' command is " +"used to maintain mappings between different areas in the tree, and indicate " +"related content. 'git p4' can use these mappings to determine branch " +"relationships." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:224 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--git-common-dir" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-rev-parse.txt:226 -msgid "Show `$GIT_COMMON_DIR` if defined, else `$GIT_DIR`." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:227 -#, no-wrap -msgid "--is-inside-git-dir" +#: en/git-p4.txt:405 +msgid "" +"If you have a repository where all the branches of interest exist as " +"subdirectories of a single depot path, you can use `--detect-branches` when " +"cloning or syncing to have 'git p4' automatically find subdirectories in p4, " +"and to generate these as branches in Git." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:230 -msgid "" -"When the current working directory is below the repository directory print " -"\"true\", otherwise \"false\"." +#: en/git-p4.txt:407 +msgid "For example, if the P4 repository structure is:" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:231 +#. type: delimited block - +#: en/git-p4.txt:410 #, no-wrap -msgid "--is-inside-work-tree" +msgid "" +"//depot/main/...\n" +"//depot/branch1/...\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:234 -msgid "" -"When the current working directory is inside the work tree of the repository " -"print \"true\", otherwise \"false\"." +#: en/git-p4.txt:413 +msgid "And \"p4 branch -o branch1\" shows a View line that looks like:" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:235 +#. type: delimited block - +#: en/git-p4.txt:415 #, no-wrap -msgid "--is-bare-repository" +msgid "//depot/main/... //depot/branch1/...\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:237 -msgid "When the repository is bare print \"true\", otherwise \"false\"." +#: en/git-p4.txt:418 +msgid "Then this 'git p4 clone' command:" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:238 +#. type: delimited block - +#: en/git-p4.txt:420 #, no-wrap -msgid "--resolve-git-dir <path>" +msgid "git p4 clone --detect-branches //depot@all\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:243 +#: en/git-p4.txt:423 msgid "" -"Check if <path> is a valid repository or a gitfile that points at a valid " -"repository, and print the location of the repository. If <path> is a " -"gitfile then the resolved path to the real repository is printed." +"produces a separate branch in 'refs/remotes/p4/' for //depot/main, called " +"'master', and one for //depot/branch1 called 'depot/branch1'." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:244 -#, no-wrap -msgid "--git-path <path>" +#. type: Plain text +#: en/git-p4.txt:433 +msgid "" +"However, it is not necessary to create branches in p4 to be able to use them " +"like branches. Because it is difficult to infer branch relationships " +"automatically, a Git configuration setting 'git-p4.branchList' can be used " +"to explicitly identify branch relationships. It is a list of \"source:" +"destination\" pairs, like a simple p4 branch specification, where the " +"\"source\" and \"destination\" are the path elements in the p4 repository. " +"The example above relied on the presence of the p4 branch. Without p4 " +"branches, the same result will occur with:" msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:250 +#. type: delimited block - +#: en/git-p4.txt:438 +#, no-wrap msgid "" -"Resolve \"$GIT_DIR/<path>\" and takes other path relocation variables such " -"as $GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... into account. For example, if " -"$GIT_OBJECT_DIRECTORY is set to /foo/bar then \"git rev-parse --git-path " -"objects/abc\" returns /foo/bar/abc." +"git init depot\n" +"cd depot\n" +"git config git-p4.branchList main:branch1\n" +"git p4 clone --detect-branches //depot@all .\n" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:251 +#. type: Title - +#: en/git-p4.txt:442 #, no-wrap -msgid "--show-cdup" +msgid "PERFORMANCE" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:255 +#: en/git-p4.txt:447 msgid "" -"When the command is invoked from a subdirectory, show the path of the top-" -"level directory relative to the current directory (typically a sequence of " -"\"../\", or an empty string)." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:256 -#, no-wrap -msgid "--show-prefix" +"The fast-import mechanism used by 'git p4' creates one pack file for each " +"invocation of 'git p4 sync'. Normally, Git garbage compression (linkgit:git-" +"gc[1]) automatically compresses these to fewer pack files, but explicit " +"invocation of 'git repack -adf' may improve performance." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:260 +#: en/git-p4.txt:453 msgid "" -"When the command is invoked from a subdirectory, show the path of the " -"current directory relative to the top-level directory." +"The following config settings can be used to modify 'git p4' behavior. They " +"all are in the 'git-p4' section." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:261 +#. type: Title ~ +#: en/git-p4.txt:455 #, no-wrap -msgid "--show-toplevel" +msgid "General variables" msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:263 -msgid "Show the absolute path of the top-level directory." -msgstr "" +#. type: Labeled list +#: en/git-p4.txt:456 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-p4.user" +msgstr "git-add(1)" #. type: Plain text -#: en/git-rev-parse.txt:269 -#, no-wrap +#: en/git-p4.txt:459 msgid "" -"--show-superproject-working-tree\n" -"\tShow the absolute path of the root of the superproject's\n" -"\tworking tree (if exists) that uses the current repository as\n" -"\tits submodule. Outputs nothing if the current repository is\n" -"\tnot used as a submodule by any project.\n" +"User specified as an option to all p4 commands, with '-u <user>'. The " +"environment variable 'P4USER' can be used instead." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:270 +#: en/git-p4.txt:460 #, no-wrap -msgid "--shared-index-path" +msgid "git-p4.password" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:273 +#: en/git-p4.txt:464 msgid "" -"Show the path to the shared index file in split index mode, or empty if not " -"in split-index mode." +"Password specified as an option to all p4 commands, with '-P <password>'. " +"The environment variable 'P4PASS' can be used instead." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:275 -#, no-wrap -msgid "Other Options" +#. type: Labeled list +#: en/git-p4.txt:465 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-p4.port" +msgstr "git-add(1)" + +#. type: Plain text +#: en/git-p4.txt:469 +msgid "" +"Port specified as an option to all p4 commands, with '-p <port>'. The " +"environment variable 'P4PORT' can be used instead." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:277 -#, no-wrap -msgid "--since=datestring" +#: en/git-p4.txt:470 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-p4.host" +msgstr "git-add(1)" + +#. type: Plain text +#: en/git-p4.txt:474 +msgid "" +"Host specified as an option to all p4 commands, with '-h <host>'. The " +"environment variable 'P4HOST' can be used instead." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:278 -#, no-wrap -msgid "--after=datestring" -msgstr "" +#: en/git-p4.txt:475 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-p4.client" +msgstr "git-add(1)" #. type: Plain text -#: en/git-rev-parse.txt:281 +#: en/git-p4.txt:478 msgid "" -"Parse the date string, and output the corresponding --max-age= parameter for " -"'git rev-list'." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:282 -#, no-wrap -msgid "--until=datestring" +"Client specified as an option to all p4 commands, with '-c <client>', " +"including the client spec." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:283 +#: en/git-p4.txt:479 #, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--before=datestring" -msgstr "Configuration" +#| msgid "git-add(1)" +msgid "git-p4.retries" +msgstr "git-add(1)" #. type: Plain text -#: en/git-rev-parse.txt:286 +#: en/git-p4.txt:484 msgid "" -"Parse the date string, and output the corresponding --min-age= parameter for " -"'git rev-list'." +"Specifies the number of times to retry a p4 command (notably, 'p4 sync') if " +"the network times out. The default value is 3. Set the value to 0 to " +"disable retries or if your p4 version does not support retries (pre 2012.2)." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:287 +#. type: Title ~ +#: en/git-p4.txt:486 #, no-wrap -msgid "<args>..." -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:289 -msgid "Flags and parameters to be parsed." +msgid "Clone and sync variables" msgstr "" -#. type: Title - -#: en/git-rev-parse.txt:294 +#. type: Labeled list +#: en/git-p4.txt:487 #, no-wrap -msgid "PARSEOPT" +msgid "git-p4.syncFromOrigin" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:299 +#: en/git-p4.txt:493 msgid "" -"In `--parseopt` mode, 'git rev-parse' helps massaging options to bring to " -"shell scripts the same facilities C builtins have. It works as an option " -"normalizer (e.g. splits single switches aggregate values), a bit like " -"`getopt(1)` does." +"Because importing commits from other Git repositories is much faster than " +"importing them from p4, a mechanism exists to find p4 changes first in Git " +"remotes. If branches exist under 'refs/remote/origin/p4', those will be " +"fetched and used when syncing from p4. This variable can be set to 'false' " +"to disable this behavior." msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:304 -msgid "" -"It takes on the standard input the specification of the options to parse and " -"understand, and echoes on the standard output a string suitable for `sh(1)` " -"`eval` to replace the arguments with normalized ones. In case of error, it " -"outputs usage on the standard error stream, and exits with code 129." +#. type: Labeled list +#: en/git-p4.txt:494 +#, no-wrap +msgid "git-p4.branchUser" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:307 +#: en/git-p4.txt:499 msgid "" -"Note: Make sure you quote the result when passing it to `eval`. See below " -"for an example." +"One phase in branch detection involves looking at p4 branches to find new " +"ones to import. By default, all branches are inspected. This option limits " +"the search to just those owned by the single user named in the variable." msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:315 -msgid "" -"'git rev-parse --parseopt' input format is fully text based. It has two " -"parts, separated by a line that contains only `--`. The lines before the " -"separator (should be one or more) are used for the usage. The lines after " -"the separator describe the options." +#. type: Labeled list +#: en/git-p4.txt:500 +#, no-wrap +msgid "git-p4.branchList" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:317 -msgid "Each line of options has this format:" +#: en/git-p4.txt:505 +msgid "" +"List of branches to be imported when branch detection is enabled. Each " +"entry should be a pair of branch names separated by a colon (:). This " +"example declares that both branchA and branchB were created from main:" msgstr "" #. type: delimited block - -#: en/git-rev-parse.txt:320 +#: en/git-p4.txt:509 #, no-wrap -msgid "<opt-spec><flags>*<arg-hint>? SP+ help LF\n" +msgid "" +"git config git-p4.branchList main:branchA\n" +"git config --add git-p4.branchList main:branchB\n" msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:322 +#: en/git-p4.txt:511 #, no-wrap -msgid "`<opt-spec>`" +msgid "git-p4.ignoredP4Labels" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:327 +#: en/git-p4.txt:514 msgid "" -"its format is the short option character, then the long option name " -"separated by a comma. Both parts are not required, though at least one is " -"necessary. May not contain any of the `<flags>` characters. `h,help`, `dry-" -"run` and `f` are examples of correct `<opt-spec>`." +"List of p4 labels to ignore. This is built automatically as unimportable " +"labels are discovered." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:328 +#: en/git-p4.txt:515 #, no-wrap -msgid "`<flags>`" -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:330 -msgid "`<flags>` are of `*`, `=`, `?` or `!`." +msgid "git-p4.importLabels" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:331 -msgid "Use `=` if the option takes an argument." +#: en/git-p4.txt:517 +msgid "Import p4 labels into git, as per --import-labels." msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:335 -msgid "" -"Use `?` to mean that the option takes an optional argument. You probably " -"want to use the `--stuck-long` mode to be able to unambiguously parse the " -"optional argument." +#. type: Labeled list +#: en/git-p4.txt:518 +#, no-wrap +msgid "git-p4.labelImportRegexp" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:339 +#: en/git-p4.txt:521 msgid "" -"Use `*` to mean that this option should not be listed in the usage generated " -"for the `-h` argument. It's shown for `--help-all` as documented in linkgit:" -"gitcli[7]." -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:341 -msgid "Use `!` to not make the corresponding negated long option available." +"Only p4 labels matching this regular expression will be imported. The " +"default value is '[a-zA-Z0-9_\\-.]+$'." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:342 +#: en/git-p4.txt:522 #, no-wrap -msgid "`<arg-hint>`" +msgid "git-p4.useClientSpec" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:347 +#: en/git-p4.txt:527 msgid "" -"`<arg-hint>`, if specified, is used as a name of the argument in the help " -"output, for options that take arguments. `<arg-hint>` is terminated by the " -"first whitespace. It is customary to use a dash to separate words in a " -"multi-word argument hint." +"Specify that the p4 client spec should be used to identify p4 depot paths of " +"interest. This is equivalent to specifying the option `--use-client-spec`. " +"See the \"CLIENT SPEC\" section above. This variable is a boolean, not the " +"name of a p4 client." msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:350 -msgid "" -"The remainder of the line, after stripping the spaces, is used as the help " -"associated to the option." +#. type: Labeled list +#: en/git-p4.txt:528 +#, no-wrap +msgid "git-p4.pathEncoding" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:354 +#: en/git-p4.txt:534 msgid "" -"Blank lines are ignored, and lines that don't match this specification are " -"used as option group headers (start the line with a space to create such " -"lines on purpose)." +"Perforce keeps the encoding of a path as given by the originating OS. Git " +"expects paths encoded as UTF-8. Use this config to tell git-p4 what encoding " +"Perforce had used for the paths. This encoding is used to transcode the " +"paths to UTF-8. As an example, Perforce on Windows often uses \"cp1252\" to " +"encode path names." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:356 en/git-rev-parse.txt:412 en/config.txt:147 +#. type: Labeled list +#: en/git-p4.txt:535 #, no-wrap -msgid "Example" +msgid "git-p4.largeFileSystem" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:361 -#, no-wrap +#. type: Plain text +#: en/git-p4.txt:541 msgid "" -"OPTS_SPEC=\"\\\n" -"some-command [options] <args>...\n" +"Specify the system that is used for large (binary) files. Please note that " +"large file systems do not support the 'git p4 submit' command. Only Git LFS " +"is implemented right now (see https://git-lfs.github.com/ for more " +"information). Download and install the Git LFS command line extension to use " +"this option and configure it like this:" msgstr "" #. type: delimited block - -#: en/git-rev-parse.txt:363 +#: en/git-p4.txt:544 #, no-wrap -msgid "" -"some-command does foo and bar!\n" -"--\n" +msgid "git config git-p4.largeFileSystem GitLFS\n" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:365 +#. type: Labeled list +#: en/git-p4.txt:546 #, no-wrap -msgid "h,help show the help\n" +msgid "git-p4.largeFileExtensions" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:370 -#, no-wrap +#. type: Plain text +#: en/git-p4.txt:549 msgid "" -"foo some nifty option --foo\n" -"bar= some cool option --bar with an argument\n" -"baz=arg another cool option --baz with a named argument\n" -"qux?path qux may take a path argument but has meaning by itself\n" +"All files matching a file extension in the list will be processed by the " +"large file system. Do not prefix the extensions with '.'." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:373 +#. type: Labeled list +#: en/git-p4.txt:550 #, no-wrap -msgid "" -" An option group Header\n" -"C? option C with an optional argument\"\n" +msgid "git-p4.largeFileThreshold" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:375 -#, no-wrap -msgid "eval \"$(echo \"$OPTS_SPEC\" | git rev-parse --parseopt -- \"$@\" || echo exit $?)\"\n" +#. type: Plain text +#: en/git-p4.txt:554 +msgid "" +"All files with an uncompressed size exceeding the threshold will be " +"processed by the large file system. By default the threshold is defined in " +"bytes. Add the suffix k, m, or g to change the unit." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:379 +#. type: Labeled list +#: en/git-p4.txt:555 #, no-wrap -msgid "Usage text" +msgid "git-p4.largeFileCompressedThreshold" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:383 +#: en/git-p4.txt:560 msgid "" -"When `\"$@\"` is `-h` or `--help` in the above example, the following usage " -"text would be shown:" +"All files with a compressed size exceeding the threshold will be processed " +"by the large file system. This option might slow down your clone/sync " +"process. By default the threshold is defined in bytes. Add the suffix k, m, " +"or g to change the unit." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:386 +#. type: Labeled list +#: en/git-p4.txt:561 #, no-wrap -msgid "usage: some-command [options] <args>...\n" +msgid "git-p4.largeFilePush" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:388 -#, no-wrap -msgid " some-command does foo and bar!\n" +#. type: Plain text +#: en/git-p4.txt:564 +msgid "" +"Boolean variable which defines if large files are automatically pushed to a " +"server." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:394 +#. type: Labeled list +#: en/git-p4.txt:565 #, no-wrap -msgid "" -" -h, --help show the help\n" -" --foo some nifty option --foo\n" -" --bar ... some cool option --bar with an argument\n" -" --baz <arg> another cool option --baz with a named argument\n" -" --qux[=<path>] qux may take a path argument but has meaning by itself\n" +msgid "git-p4.keepEmptyCommits" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:397 -#, no-wrap +#. type: Plain text +#: en/git-p4.txt:568 msgid "" -"An option group Header\n" -" -C[...] option C with an optional argument\n" +"A changelist that contains only excluded files will be imported as an empty " +"commit if this boolean option is set to true." msgstr "" -#. type: Title - -#: en/git-rev-parse.txt:400 +#. type: Labeled list +#: en/git-p4.txt:569 #, no-wrap -msgid "SQ-QUOTE" +msgid "git-p4.mapUser" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:406 +#: en/git-p4.txt:572 msgid "" -"In `--sq-quote` mode, 'git rev-parse' echoes on the standard output a single " -"line suitable for `sh(1)` `eval`. This line is made by normalizing the " -"arguments following `--sq-quote`. Nothing other than quoting the arguments " -"is done." +"Map a P4 user to a name and email address in Git. Use a string with the " +"following format to create a mapping:" +msgstr "" + +#. type: delimited block - +#: en/git-p4.txt:575 +#, no-wrap +msgid "git config --add git-p4.mapUser \"p4user = First Last <mail@address.com>\"\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:410 +#: en/git-p4.txt:579 msgid "" -"If you want command input to still be interpreted as usual by 'git rev-" -"parse' before the output is shell quoted, see the `--sq` option." +"A mapping will override any user information from P4. Mappings for multiple " +"P4 user can be defined." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:422 +#. type: Title ~ +#: en/git-p4.txt:581 #, no-wrap -msgid "" -"$ cat >your-git-script.sh <<\\EOF\n" -"#!/bin/sh\n" -"args=$(git rev-parse --sq-quote \"$@\") # quote user-supplied arguments\n" -"command=\"git frotz -n24 $args\" # and use it inside a handcrafted\n" -"\t\t\t\t\t# command line\n" -"eval \"$command\"\n" -"EOF\n" +msgid "Submit variables" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:424 +#. type: Labeled list +#: en/git-p4.txt:582 #, no-wrap -msgid "$ sh your-git-script.sh \"a b'c\"\n" +msgid "git-p4.detectRenames" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:430 -msgid "Print the object name of the current commit:" +#: en/git-p4.txt:585 +msgid "" +"Detect renames. See linkgit:git-diff[1]. This can be true, false, or a " +"score as expected by 'git diff -M'." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:433 +#. type: Labeled list +#: en/git-p4.txt:586 #, no-wrap -msgid "$ git rev-parse --verify HEAD\n" +msgid "git-p4.detectCopies" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:436 +#: en/git-p4.txt:589 msgid "" -"Print the commit object name from the revision in the $REV shell variable:" +"Detect copies. See linkgit:git-diff[1]. This can be true, false, or a " +"score as expected by 'git diff -C'." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:439 +#. type: Labeled list +#: en/git-p4.txt:590 #, no-wrap -msgid "$ git rev-parse --verify $REV^{commit}\n" -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:442 -msgid "This will error out if $REV is empty or not a valid revision." +msgid "git-p4.detectCopiesHarder" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:444 -msgid "Similar to above:" +#: en/git-p4.txt:592 +msgid "Detect copies harder. See linkgit:git-diff[1]. A boolean." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:447 +#. type: Labeled list +#: en/git-p4.txt:593 #, no-wrap -msgid "$ git rev-parse --default master --verify $REV\n" +msgid "git-p4.preserveUser" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:450 +#: en/git-p4.txt:596 msgid "" -"but if $REV is empty, the commit object name from master will be printed." +"On submit, re-author changes to reflect the Git author, regardless of who " +"invokes 'git p4 submit'." msgstr "" -#. type: Title = -#: en/git-rm.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-rm(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-p4.txt:597 +#, no-wrap +msgid "git-p4.allowMissingP4Users" +msgstr "" #. type: Plain text -#: en/git-rm.txt:7 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "git-rm - Remove files from the working tree and from the index" +#: en/git-p4.txt:601 +msgid "" +"When 'preserveUser' is true, 'git p4' normally dies if it cannot find an " +"author in the p4 user map. This setting submits the change regardless." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Plain text -#: en/git-rm.txt:12 +#. type: Labeled list +#: en/git-p4.txt:602 #, no-wrap -msgid "'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>...\n" +msgid "git-p4.skipSubmitEdit" msgstr "" #. type: Plain text -#: en/git-rm.txt:25 +#: en/git-p4.txt:606 msgid "" -"Remove files from the index, or from the working tree and the index. `git " -"rm` will not remove a file from just your working directory. (There is no " -"option to remove a file only from the working tree and yet keep it in the " -"index; use `/bin/rm` if you want to do that.) The files being removed have " -"to be identical to the tip of the branch, and no updates to their contents " -"can be staged in the index, though that default behavior can be overridden " -"with the `-f` option. When `--cached` is given, the staged content has to " -"match either the tip of the branch or the file on disk, allowing the file to " -"be removed from just the index." +"The submit process invokes the editor before each p4 change is submitted. " +"If this setting is true, though, the editing step is skipped." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:607 +#, no-wrap +msgid "git-p4.skipSubmitEditCheck" msgstr "" #. type: Plain text -#: en/git-rm.txt:38 +#: en/git-p4.txt:611 msgid "" -"Files to remove. Fileglobs (e.g. `*.c`) can be given to remove all matching " -"files. If you want Git to expand file glob characters, you may need to " -"shell-escape them. A leading directory name (e.g. `dir` to remove `dir/" -"file1` and `dir/file2`) can be given to remove all files in the directory, " -"and recursively all sub-directories, but this requires the `-r` option to be " -"explicitly given." +"After editing the p4 change message, 'git p4' makes sure that the " +"description really was changed by looking at the file modification time. " +"This option disables that test." msgstr "" -#. type: Plain text -#: en/git-rm.txt:42 -#, fuzzy -#| msgid "" -#| "--date=<date>::\n" -#| "\tOverride the author date used in the commit.\n" -msgid "Override the up-to-date check." +#. type: Labeled list +#: en/git-p4.txt:612 +#, no-wrap +msgid "git-p4.allowSubmit" msgstr "" -"--date=<date>::\n" -"\tSurcharger la date d'auteur utilis챕e dans le commit.\n" #. type: Plain text -#: en/git-rm.txt:48 -#, fuzzy -#| msgid "" -#| "-n::\n" -#| "--dry-run::\n" -#| "\tDon't actually add the file(s), just show if they exist and/or will\n" -#| "\tbe ignored.\n" +#: en/git-p4.txt:618 msgid "" -"Don't actually remove any file(s). Instead, just show if they exist in the " -"index and would otherwise be removed by the command." +"By default, any branch can be used as the source for a 'git p4 submit' " +"operation. This configuration variable, if set, permits only the named " +"branches to be used as submit sources. Branch names must be the short names " +"(no \"refs/heads/\"), and should be separated by commas (\",\"), with no " +"spaces." msgstr "" -"-n::\n" -"--dry-run::\n" -"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" -"\tou seront ignor챕s.\n" -#. type: Plain text -#: en/git-rm.txt:52 -msgid "Allow recursive removal when a leading directory name is given." +#. type: Labeled list +#: en/git-p4.txt:619 +#, no-wrap +msgid "git-p4.skipUserNameCheck" msgstr "" #. type: Plain text -#: en/git-rm.txt:62 +#: en/git-p4.txt:623 msgid "" -"Use this option to unstage and remove paths only from the index. Working " -"tree files, whether modified or not, will be left alone." +"If the user running 'git p4 submit' does not exist in the p4 user map, 'git " +"p4' exits. This option can be used to force submission regardless." msgstr "" #. type: Labeled list -#: en/git-rm.txt:63 +#: en/git-p4.txt:624 #, no-wrap -msgid "--ignore-unmatch" -msgstr "" - -#. type: Plain text -#: en/git-rm.txt:65 -msgid "Exit with a zero status even if no files matched." +msgid "git-p4.attemptRCSCleanup" msgstr "" #. type: Plain text -#: en/git-rm.txt:70 +#: en/git-p4.txt:629 msgid "" -"`git rm` normally outputs one line (in the form of an `rm` command) for " -"each file removed. This option suppresses that output." +"If enabled, 'git p4 submit' will attempt to cleanup RCS keywords ($Header$, " +"etc). These would otherwise cause merge conflicts and prevent the submit " +"going ahead. This option should be considered experimental at present." msgstr "" -#. type: Plain text -#: en/git-rm.txt:79 -msgid "" -"The <file> list given to the command can be exact pathnames, file glob " -"patterns, or leading directory names. The command removes only the paths " -"that are known to Git. Giving the name of a file that you have not told Git " -"about does not remove that file." +#. type: Labeled list +#: en/git-p4.txt:630 +#, no-wrap +msgid "git-p4.exportLabels" msgstr "" #. type: Plain text -#: en/git-rm.txt:84 -msgid "" -"File globbing matches across directory boundaries. Thus, given two " -"directories `d` and `d2`, there is a difference between using `git rm 'd*'` " -"and `git rm 'd/*'`, as the former will also remove all of directory `d2`." +#: en/git-p4.txt:632 +msgid "Export Git tags to p4 labels, as per --export-labels." msgstr "" -#. type: Title - -#: en/git-rm.txt:86 +#. type: Labeled list +#: en/git-p4.txt:633 #, no-wrap -msgid "REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM" +msgid "git-p4.labelExportRegexp" msgstr "" #. type: Plain text -#: en/git-rm.txt:91 +#: en/git-p4.txt:636 msgid "" -"There is no option for `git rm` to remove from the index only the paths that " -"have disappeared from the filesystem. However, depending on the use case, " -"there are several ways that can be done." +"Only p4 labels matching this regular expression will be exported. The " +"default value is '[a-zA-Z0-9_\\-.]+$'." msgstr "" -#. type: Title ~ -#: en/git-rm.txt:93 +#. type: Labeled list +#: en/git-p4.txt:637 #, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "Using ``git commit -a''" -msgstr "$ git commit\n" +#| msgid "git-commit(1)" +msgid "git-p4.conflict" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-rm.txt:100 +#: en/git-p4.txt:640 msgid "" -"If you intend that your next commit should record all modifications of " -"tracked files in the working tree and record all removals of files that have " -"been removed from the working tree with `rm` (as opposed to `git rm`), use " -"`git commit -a`, as it will automatically notice and record all removals. " -"You can also have a similar effect without committing by using `git add -u`." +"Specify submit behavior when a conflict with p4 is found, as per --" +"conflict. The default behavior is 'ask'." msgstr "" -#. type: Title ~ -#: en/git-rm.txt:102 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "Using ``git add -A''" -msgstr "$ git commit\n" +#. type: Title - +#: en/git-p4.txt:642 +#, no-wrap +msgid "IMPLEMENTATION DETAILS" +msgstr "" #. type: Plain text -#: en/git-rm.txt:106 -msgid "" -"When accepting a new code drop for a vendor branch, you probably want to " -"record both the removal of paths and additions of new paths as well as " -"modifications of existing paths." +#: en/git-p4.txt:644 +msgid "Changesets from p4 are imported using Git fast-import." msgstr "" #. type: Plain text -#: en/git-rm.txt:109 +#: en/git-p4.txt:646 msgid "" -"Typically you would first remove all tracked files from the working tree " -"using this command:" -msgstr "" - -#. type: delimited block - -#: en/git-rm.txt:112 -#, no-wrap -msgid "git ls-files -z | xargs -0 rm -f\n" +"Cloning or syncing does not require a p4 client; file contents are collected " +"using 'p4 print'." msgstr "" #. type: Plain text -#: en/git-rm.txt:116 +#: en/git-p4.txt:649 msgid "" -"and then untar the new code in the working tree. Alternately you could " -"'rsync' the changes into the working tree." +"Submitting requires a p4 client, which is not in the same location as the " +"Git repository. Patches are applied, one at a time, to this p4 client and " +"submitted from there." msgstr "" #. type: Plain text -#: en/git-rm.txt:119 +#: en/git-p4.txt:652 msgid "" -"After that, the easiest way to record all removals, additions, and " -"modifications in the working tree is:" +"Each commit imported by 'git p4' has a line at the end of the log message " +"indicating the p4 depot location and change number. This line is used by " +"later 'git p4 sync' operations to know which p4 changes are new." msgstr "" -#. type: delimited block - -#: en/git-rm.txt:122 +#. type: Title = +#: en/git-pack-objects.txt:2 #, fuzzy, no-wrap -#| msgid "$ git add git-*.sh\n" -msgid "git add -A\n" -msgstr "$ git add git-*.sh\n" +#| msgid "git-commit(1)" +msgid "git-pack-objects(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-rm.txt:125 -msgid "See linkgit:git-add[1]." -msgstr "" - -#. type: Title ~ -#: en/git-rm.txt:127 -#, no-wrap -msgid "Other ways" +#: en/git-pack-objects.txt:7 +msgid "git-pack-objects - Create a packed archive of objects" msgstr "" #. type: Plain text -#: en/git-rm.txt:132 -msgid "" -"If all you really want to do is to remove from the index the files that are " -"no longer present in the working tree (perhaps because your working tree is " -"dirty so that you cannot use `git commit -a`), use the following command:" -msgstr "" - -#. type: delimited block - -#: en/git-rm.txt:135 +#: en/git-pack-objects.txt:17 #, no-wrap -msgid "git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached\n" +msgid "" +"'git pack-objects' [-q | --progress | --all-progress] [--all-progress-implied]\n" +"\t[--no-reuse-delta] [--delta-base-offset] [--non-empty]\n" +"\t[--local] [--incremental] [--window=<n>] [--depth=<n>]\n" +"\t[--revs [--unpacked | --all]] [--stdout | base-name]\n" +"\t[--shallow] [--keep-true-parents] < object-list\n" msgstr "" #. type: Plain text -#: en/git-rm.txt:147 +#: en/git-pack-objects.txt:23 msgid "" -"Only submodules using a gitfile (which means they were cloned with a Git " -"version 1.7.8 or newer) will be removed from the work tree, as their " -"repository lives inside the .git directory of the superproject. If a " -"submodule (or one of those nested inside it) still uses a .git directory, " -"`git rm` will fail - no matter if forced or not - to protect the submodule's " -"history. If it exists the submodule.<name> section in the linkgit:" -"gitmodules[5] file will also be removed and that file will be staged (unless " -"--cached or -n are used)." +"Reads list of objects from the standard input, and writes a packed archive " +"with specified base-name, or to the standard output." msgstr "" #. type: Plain text -#: en/git-rm.txt:153 +#: en/git-pack-objects.txt:29 msgid "" -"A submodule is considered up-to-date when the HEAD is the same as recorded " -"in the index, no tracked files are modified and no untracked files that " -"aren't ignored are present in the submodules work tree. Ignored files are " -"deemed expendable and won't stop a submodule's work tree from being removed." +"A packed archive is an efficient way to transfer a set of objects between " +"two repositories as well as an access efficient archival format. In a " +"packed archive, an object is either stored as a compressed whole or as a " +"difference from some other object. The latter is often called a delta." msgstr "" #. type: Plain text -#: en/git-rm.txt:157 +#: en/git-pack-objects.txt:33 msgid "" -"If you only want to remove the local checkout of a submodule from your work " -"tree without committing the removal, use linkgit:git-submodule[1] `deinit` " -"instead." +"The packed archive format (.pack) is designed to be self-contained so that " +"it can be unpacked without any further information. Therefore, each object " +"that a delta depends upon must be present within the pack." msgstr "" -#. type: Labeled list -#: en/git-rm.txt:160 -#, fuzzy, no-wrap -#| msgid "$ git add Documentation/\\*.txt\n" -msgid "`git rm Documentation/\\*.txt`" -msgstr "$ git add Documentation/\\*.txt\n" - -# #. type: Plain text -#: en/git-rm.txt:163 -#, fuzzy -#| msgid "" -#| "Adds content from all `*.txt` files under `Documentation` directory and " -#| "its subdirectories:" +#: en/git-pack-objects.txt:39 msgid "" -"Removes all `*.txt` files from the index that are under the `Documentation` " -"directory and any of its subdirectories." +"A pack index file (.idx) is generated for fast, random access to the objects " +"in the pack. Placing both the index file (.idx) and the packed archive (." +"pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or any of the " +"directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES) enables Git to read from " +"the pack archive." msgstr "" -"Ajouter le contenu de tous le fichiers `*.txt` sous le r챕pertoire " -"`Documentation` et ses sous r챕pertoires." -# #. type: Plain text -#: en/git-rm.txt:167 -#, fuzzy -#| msgid "" -#| "Note that the asterisk `*` is quoted from the shell in this example; this " -#| "lets the command include the files from subdirectories of `Documentation/" -#| "` directory." +#: en/git-pack-objects.txt:45 msgid "" -"Note that the asterisk `*` is quoted from the shell in this example; this " -"lets Git, and not the shell, expand the pathnames of files and " -"subdirectories under the `Documentation/` directory." +"The 'git unpack-objects' command can read the packed archive and expand the " +"objects contained in the pack into \"one-file one-object\" format; this is " +"typically done by the smart-pull commands when a pack is created on-the-fly " +"for efficient network transport by their peers." msgstr "" -"Remarquez que l'ast챕risque `*` est 챕chapp챕 du shell dans cet exemple혻; cela " -"permet d'inclure les fichiers dans les sous-r챕pertoires du R챕pertoire " -"`Documentation/`." #. type: Labeled list -#: en/git-rm.txt:168 -#, fuzzy, no-wrap -#| msgid "$ git add git-*.sh\n" -msgid "`git rm -f git-*.sh`" -msgstr "$ git add git-*.sh\n" +#: en/git-pack-objects.txt:49 +#, no-wrap +msgid "base-name" +msgstr "" -# #. type: Plain text -#: en/git-rm.txt:172 -#, fuzzy -#| msgid "" -#| "Because this example lets the shell expand the asterisk (i.e. you are " -#| "listing the files explicitly), it does not consider `subdir/git-foo.sh`." +#: en/git-pack-objects.txt:56 msgid "" -"Because this example lets the shell expand the asterisk (i.e. you are " -"listing the files explicitly), it does not remove `subdir/git-foo.sh`." +"Write into a pair of files (.pack and .idx), using <base-name> to determine " +"the name of the created file. When this option is used, the two files are " +"written in <base-name>-<SHA-1>.{pack,idx} files. <SHA-1> is a hash based on " +"the pack content and is written to the standard output of the command." msgstr "" -"Comme cet exemple laisse le shell r챕aliser l'expansion de l'ast챕risque " -"(c'est-횪-dire que vous listez explicitement les fichiers du r챕pertoire), il " -"ne traite pas `subdir/git-foo.sh`." #. type: Plain text -#: en/git-rm.txt:181 +#: en/git-pack-objects.txt:60 msgid "" -"Each time a superproject update removes a populated submodule (e.g. when " -"switching between commits before and after the removal) a stale submodule " -"checkout will remain in the old location. Removing the old directory is only " -"safe when it uses a gitfile, as otherwise the history of the submodule will " -"be deleted too. This step will be obsolete when recursive submodule update " -"has been implemented." +"Write the pack contents (what would have been written to .pack file) out to " +"the standard output." msgstr "" #. type: Labeled list -#: en/git-rm.txt:185 en/cmds-mainporcelain.txt:1 +#: en/git-pack-objects.txt:61 #, no-wrap -msgid "linkgit:git-add[1]" +msgid "--revs" msgstr "" -#. type: Title = -#: en/git-send-email.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-send-email(1)" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-send-email.txt:7 -msgid "git-send-email - Send a collection of patches as emails" +#: en/git-pack-objects.txt:69 +msgid "" +"Read the revision arguments from the standard input, instead of individual " +"object names. The revision arguments are processed the same way as 'git rev-" +"list' with the `--objects` flag uses its `commit` arguments to build the " +"list of objects it outputs. The objects on the resulting list are packed. " +"Besides revisions, `--not` or `--shallow <SHA-1>` lines are also accepted." msgstr "" +#. type: Labeled list +#: en/git-pack-objects.txt:70 en/rev-list-options.txt:693 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--unpacked" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-send-email.txt:14 -#, no-wrap +#: en/git-pack-objects.txt:74 msgid "" -"'git send-email' [options] <file|directory|rev-list options>...\n" -"'git send-email' --dump-aliases\n" +"This implies `--revs`. When processing the list of revision arguments read " +"from the standard input, limit the objects packed to those that are not " +"already packed." msgstr "" #. type: Plain text -#: en/git-send-email.txt:23 +#: en/git-pack-objects.txt:80 msgid "" -"Takes the patches given on the command line and emails them out. Patches " -"can be specified as files, directories (which will send all files in the " -"directory), or directly as a revision list. In the last case, any format " -"accepted by linkgit:git-format-patch[1] can be passed to git send-email." +"This implies `--revs`. In addition to the list of revision arguments read " +"from the standard input, pretend as if all refs under `refs/` are specified " +"to be included." msgstr "" #. type: Plain text -#: en/git-send-email.txt:27 +#: en/git-pack-objects.txt:85 msgid "" -"The header of the email is configurable via command-line options. If not " -"specified on the command line, the user will be prompted with a ReadLine " -"enabled interface to provide the necessary information." +"Include unasked-for annotated tags if the object they reference was included " +"in the resulting packfile. This can be useful to send new tags to native " +"Git clients." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:29 -msgid "There are two formats accepted for patch files:" +#. type: Labeled list +#: en/git-pack-objects.txt:86 en/git-repack.txt:84 +#, no-wrap +msgid "--window=<n>" msgstr "" #. type: Plain text -#: en/git-send-email.txt:31 -msgid "mbox format files" +#: en/git-pack-objects.txt:98 +msgid "" +"These two options affect how the objects contained in the pack are stored " +"using delta compression. The objects are first internally sorted by type, " +"size and optionally names and compared against the other objects within --" +"window to see if using delta compression saves space. --depth limits the " +"maximum delta depth; making it too deep affects the performance on the " +"unpacker side, because delta data needs to be applied that many times to get " +"to the necessary object. The default value for --window is 10 and --depth " +"is 50." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:34 -msgid "" -"This is what linkgit:git-format-patch[1] generates. Most headers and MIME " -"formatting are ignored." +#. type: Labeled list +#: en/git-pack-objects.txt:99 en/git-repack.txt:95 +#, no-wrap +msgid "--window-memory=<n>" msgstr "" #. type: Plain text -#: en/git-send-email.txt:37 +#: en/git-pack-objects.txt:109 msgid "" -"The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' " -"script" +"This option provides an additional limit on top of `--window`; the window " +"size will dynamically scale down so as to not take up more than '<n>' bytes " +"in memory. This is useful in repositories with a mix of large and small " +"objects to not run out of memory with a large window, but still be able to " +"take advantage of the large window for the smaller objects. The size can be " +"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " +"usage unlimited. The default is taken from the `pack.windowMemory` " +"configuration variable." msgstr "" #. type: Plain text -#: en/git-send-email.txt:40 +#: en/git-pack-objects.txt:117 en/git-repack.txt:115 msgid "" -"This format expects the first line of the file to contain the \"Cc:\" value " -"and the \"Subject:\" of the message as the second line." +"Maximum size of each output pack file. The size can be suffixed with \"k\", " +"\"m\", or \"g\". The minimum size allowed is limited to 1 MiB. If " +"specified, multiple packfiles may be created, which also prevents the " +"creation of a bitmap index. The default is unlimited, unless the config " +"variable `pack.packSizeLimit` is set." msgstr "" -#. type: Title ~ -#: en/git-send-email.txt:46 +#. type: Labeled list +#: en/git-pack-objects.txt:118 #, no-wrap -msgid "Composing" +msgid "--honor-pack-keep" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:48 en/git-tag.txt:60 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--annotate" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-send-email.txt:52 +#: en/git-pack-objects.txt:122 msgid "" -"Review and edit each patch you're about to send. Default is the value of " -"`sendemail.annotate`. See the CONFIGURATION section for `sendemail." -"multiEdit`." +"This flag causes an object already in a local pack that has a .keep file to " +"be ignored, even if it would have otherwise been packed." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:53 -#, no-wrap -msgid "--bcc=<address>,..." +#. type: Plain text +#: en/git-pack-objects.txt:126 +msgid "" +"This flag causes an object already in a pack to be ignored even if it would " +"have otherwise been packed." msgstr "" #. type: Plain text -#: en/git-send-email.txt:56 +#: en/git-pack-objects.txt:131 msgid "" -"Specify a \"Bcc:\" value for each email. Default is the value of `sendemail." -"bcc`." +"This flag causes an object that is borrowed from an alternate object store " +"to be ignored even if it would have otherwise been packed." +msgstr "" + +#. type: Labeled list +#: en/git-pack-objects.txt:132 +#, no-wrap +msgid "--non-empty" msgstr "" #. type: Plain text -#: en/git-send-email.txt:58 en/git-send-email.txt:64 en/git-send-email.txt:121 -msgid "This option may be specified multiple times." +#: en/git-pack-objects.txt:135 +msgid "Only create a packed archive if it would contain at least one object." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:59 +#: en/git-pack-objects.txt:142 #, no-wrap -msgid "--cc=<address>,..." +msgid "--all-progress" msgstr "" #. type: Plain text -#: en/git-send-email.txt:62 +#: en/git-pack-objects.txt:152 msgid "" -"Specify a starting \"Cc:\" value for each email. Default is the value of " -"`sendemail.cc`." +"When --stdout is specified then progress report is displayed during the " +"object count and compression phases but inhibited during the write-out " +"phase. The reason is that in some cases the output stream is directly linked " +"to another command which may wish to display progress status of its own as " +"it processes incoming pack data. This flag is like --progress except that " +"it forces progress report for the write-out phase as well even if --stdout " +"is used." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:65 +#: en/git-pack-objects.txt:153 #, no-wrap -msgid "--compose" +msgid "--all-progress-implied" msgstr "" #. type: Plain text -#: en/git-send-email.txt:68 +#: en/git-pack-objects.txt:157 msgid "" -"Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1]) to edit an " -"introductory message for the patch series." +"This is used to imply --all-progress whenever progress display is " +"activated. Unlike --all-progress this flag doesn't actually force any " +"progress display by itself." msgstr "" #. type: Plain text -#: en/git-send-email.txt:74 +#: en/git-pack-objects.txt:161 msgid "" -"When `--compose` is used, git send-email will use the From, Subject, and In-" -"Reply-To headers specified in the message. If the body of the message (what " -"you type after the headers and a blank line) only contains blank (or Git: " -"prefixed) lines, the summary won't be sent, but From, Subject, and In-Reply-" -"To headers will be used unless they are removed." +"This flag makes the command not to report its progress on the standard error " +"stream." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:76 -msgid "Missing From or In-Reply-To headers will be prompted for." +#. type: Labeled list +#: en/git-pack-objects.txt:162 +#, no-wrap +msgid "--no-reuse-delta" msgstr "" #. type: Plain text -#: en/git-send-email.txt:78 -msgid "See the CONFIGURATION section for `sendemail.multiEdit`." +#: en/git-pack-objects.txt:168 +msgid "" +"When creating a packed archive in a repository that has existing packs, the " +"command reuses existing deltas. This sometimes results in a slightly " +"suboptimal pack. This flag tells the command not to reuse existing deltas " +"but compute them from scratch." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:79 +#: en/git-pack-objects.txt:169 #, no-wrap -msgid "--from=<address>" +msgid "--no-reuse-object" msgstr "" #. type: Plain text -#: en/git-send-email.txt:86 +#: en/git-pack-objects.txt:175 msgid "" -"Specify the sender of the emails. If not specified on the command line, the " -"value of the `sendemail.from` configuration option is used. If neither the " -"command-line option nor `sendemail.from` are set, then the user will be " -"prompted for the value. The default for the prompt will be the value of " -"GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not set, as returned by " -"\"git var -l\"." +"This flag tells the command not to reuse existing object data at all, " +"including non deltified object, forcing recompression of everything. This " +"implies --no-reuse-delta. Useful only in the obscure case where wholesale " +"enforcement of a different compression level on the packed data is desired." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:87 +#: en/git-pack-objects.txt:176 #, no-wrap -msgid "--in-reply-to=<identifier>" +msgid "--compression=<n>" msgstr "" #. type: Plain text -#: en/git-send-email.txt:93 +#: en/git-pack-objects.txt:183 msgid "" -"Make the first mail (or all the mails with `--no-thread`) appear as a reply " -"to the given Message-Id, which avoids breaking threads to provide a new " -"patch series. The second and subsequent emails will be sent as replies " -"according to the `--[no-]chain-reply-to` setting." +"Specifies compression level for newly-compressed data in the generated " +"pack. If not specified, pack compression level is determined first by pack." +"compression, then by core.compression, and defaults to -1, the zlib default, " +"if neither is set. Add --no-reuse-object if you want to force a uniform " +"compression level on all data no matter the source." msgstr "" #. type: Plain text -#: en/git-send-email.txt:97 +#: en/git-pack-objects.txt:188 msgid "" -"So for example when `--thread` and `--no-chain-reply-to` are specified, the " -"second and subsequent patches will be replies to the first one like in the " -"illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:" +"Create a \"thin\" pack by omitting the common objects between a sender and a " +"receiver in order to reduce network transfer. This option only makes sense " +"in conjunction with --stdout." msgstr "" #. type: Plain text -#: en/git-send-email.txt:105 -#, no-wrap +#: en/git-pack-objects.txt:193 msgid "" -" [PATCH 0/2] Here is what I did...\n" -" [PATCH 1/2] Clean up and tests\n" -" [PATCH 2/2] Implementation\n" -" [PATCH v2 0/3] Here is a reroll\n" -" [PATCH v2 1/3] Clean up\n" -" [PATCH v2 2/3] New tests\n" -" [PATCH v2 3/3] Implementation\n" +"Note: A thin pack violates the packed archive format by omitting required " +"objects and is thus unusable by Git without making it self-contained. Use " +"`git index-pack --fix-thin` (see linkgit:git-index-pack[1]) to restore the " +"self-contained property." +msgstr "" + +#. type: Labeled list +#: en/git-pack-objects.txt:194 +#, no-wrap +msgid "--shallow" msgstr "" #. type: Plain text -#: en/git-send-email.txt:108 +#: en/git-pack-objects.txt:198 msgid "" -"Only necessary if --compose is also set. If --compose is not set, this will " -"be prompted for." +"Optimize a pack that will be provided to a client with a shallow " +"repository. This option, combined with --thin, can result in a smaller pack " +"at the cost of speed." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:109 +#: en/git-pack-objects.txt:199 #, no-wrap -msgid "--subject=<string>" +msgid "--delta-base-offset" msgstr "" #. type: Plain text -#: en/git-send-email.txt:113 +#: en/git-pack-objects.txt:209 msgid "" -"Specify the initial subject of the email thread. Only necessary if --" -"compose is also set. If --compose is not set, this will be prompted for." +"A packed archive can express the base object of a delta as either a 20-byte " +"object name or as an offset in the stream, but ancient versions of Git don't " +"understand the latter. By default, 'git pack-objects' only uses the former " +"format for better compatibility. This option allows the command to use the " +"latter format for compactness. Depending on the average delta chain length, " +"this option typically shrinks the resulting packfile by 3-5 per-cent." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:114 -#, no-wrap -msgid "--to=<address>,..." +#. type: Plain text +#: en/git-pack-objects.txt:214 +msgid "" +"Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]), `git " +"repack` (see linkgit:git-repack[1]) pass this option by default in modern " +"Git when they put objects in your repository into pack files. So does `git " +"bundle` (see linkgit:git-bundle[1]) when it creates a bundle." msgstr "" #. type: Plain text -#: en/git-send-email.txt:119 +#: en/git-pack-objects.txt:224 msgid "" -"Specify the primary recipient of the emails generated. Generally, this will " -"be the upstream maintainer of the project involved. Default is the value of " -"the `sendemail.to` configuration value; if that is unspecified, and --to-cmd " -"is not specified, this will be prompted for." +"Specifies the number of threads to spawn when searching for best delta " +"matches. This requires that pack-objects be compiled with pthreads " +"otherwise this option is ignored with a warning. This is meant to reduce " +"packing time on multiprocessor machines. The required amount of memory for " +"the delta search window is however multiplied by the number of threads. " +"Specifying 0 will cause Git to auto-detect the number of CPU's and set the " +"number of threads accordingly." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:122 +#: en/git-pack-objects.txt:230 #, no-wrap -msgid "--8bit-encoding=<encoding>" +msgid "--keep-true-parents" msgstr "" #. type: Plain text -#: en/git-send-email.txt:128 +#: en/git-pack-objects.txt:233 msgid "" -"When encountering a non-ASCII message or subject that does not declare its " -"encoding, add headers/quoting to indicate it is encoded in <encoding>. " -"Default is the value of the 'sendemail.assume8bitEncoding'; if that is " -"unspecified, this will be prompted for if any non-ASCII files are " -"encountered." +"With this option, parents that are hidden by grafts are packed nevertheless." msgstr "" +# #. type: Plain text -#: en/git-send-email.txt:130 -msgid "Note that no attempts whatsoever are made to validate the encoding." +#: en/git-pack-objects.txt:239 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "" +"linkgit:git-rev-list[1] linkgit:git-repack[1] linkgit:git-prune-packed[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/git-send-email.txt:131 -#, no-wrap -msgid "--compose-encoding=<encoding>" -msgstr "" +#. type: Title = +#: en/git-pack-redundant.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-pack-redundant(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-send-email.txt:134 -msgid "" -"Specify encoding of compose message. Default is the value of the 'sendemail." -"composeencoding'; if that is unspecified, UTF-8 is assumed." +#: en/git-pack-redundant.txt:7 +msgid "git-pack-redundant - Find redundant pack files" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:135 +#. type: Plain text +#: en/git-pack-redundant.txt:13 #, no-wrap -msgid "--transfer-encoding=(7bit|8bit|quoted-printable|base64)" +msgid "'git pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename ... >\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:144 +#: en/git-pack-redundant.txt:19 msgid "" -"Specify the transfer encoding to be used to send the message over SMTP. " -"7bit will fail upon encountering a non-ASCII message. quoted-printable can " -"be useful when the repository contains files that contain carriage returns, " -"but makes the raw patch email file (as saved from a MUA) much harder to " -"inspect manually. base64 is even more fool proof, but also even more " -"opaque. Default is the value of the `sendemail.transferEncoding` " -"configuration value; if that is unspecified, git will use 8bit and not add a " -"Content-Transfer-Encoding header." -msgstr "" - -#. type: Labeled list -#: en/git-send-email.txt:145 -#, no-wrap -msgid "--xmailer" +"This program computes which packs in your repository are redundant. The " +"output is suitable for piping to `xargs rm` if you are in the root of the " +"repository." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:146 -#, no-wrap -msgid "--no-xmailer" +#. type: Plain text +#: en/git-pack-redundant.txt:24 +msgid "" +"'git pack-redundant' accepts a list of objects on standard input. Any " +"objects given will be ignored when checking which packs are required. This " +"makes the following command useful when wanting to remove packs which " +"contain unreachable objects." msgstr "" #. type: Plain text -#: en/git-send-email.txt:150 +#: en/git-pack-redundant.txt:27 msgid "" -"Add (or prevent adding) the \"X-Mailer:\" header. By default, the header is " -"added, but it can be turned off by setting the `sendemail.xmailer` " -"configuration variable to `false`." +"git fsck --full --unreachable | cut -d ' ' -f3 | \\ git pack-redundant --all " +"| xargs rm" msgstr "" -#. type: Title ~ -#: en/git-send-email.txt:152 -#, no-wrap -msgid "Sending" +#. type: Plain text +#: en/git-pack-redundant.txt:34 +msgid "Processes all packs. Any filenames on the command line are ignored." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:154 +#: en/git-pack-redundant.txt:35 #, no-wrap -msgid "--envelope-sender=<address>" +msgid "--alt-odb" msgstr "" #. type: Plain text -#: en/git-send-email.txt:162 +#: en/git-pack-redundant.txt:38 msgid "" -"Specify the envelope sender used to send the emails. This is useful if your " -"default address is not the address that is subscribed to a list. In order to " -"use the 'From' address, set the value to \"auto\". If you use the sendmail " -"binary, you must have suitable privileges for the -f parameter. Default is " -"the value of the `sendemail.envelopeSender` configuration variable; if that " -"is unspecified, choosing the envelope sender is left to your MTA." +"Don't require objects present in packs from alternate object directories to " +"be present in local packs." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:163 -#, no-wrap -msgid "--smtp-encryption=<encryption>" +#. type: Plain text +#: en/git-pack-redundant.txt:41 +msgid "Outputs some statistics to stderr. Has a small performance penalty." msgstr "" +# #. type: Plain text -#: en/git-send-email.txt:167 +#: en/git-pack-redundant.txt:47 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"Specify the encryption to use, either 'ssl' or 'tls'. Any other value " -"reverts to plain SMTP. Default is the value of `sendemail.smtpEncryption`." +"linkgit:git-pack-objects[1] linkgit:git-repack[1] linkgit:git-prune-packed[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/git-send-email.txt:168 -#, no-wrap -msgid "--smtp-domain=<FQDN>" -msgstr "" +#. type: Title = +#: en/git-pack-refs.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-pack-refs(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-send-email.txt:174 -msgid "" -"Specifies the Fully Qualified Domain Name (FQDN) used in the HELO/EHLO " -"command to the SMTP server. Some servers require the FQDN to match your IP " -"address. If not set, git send-email attempts to determine your FQDN " -"automatically. Default is the value of `sendemail.smtpDomain`." +#: en/git-pack-refs.txt:7 +msgid "git-pack-refs - Pack heads and tags for efficient repository access" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:175 +#. type: Plain text +#: en/git-pack-refs.txt:12 #, no-wrap -msgid "--smtp-auth=<mechanisms>" +msgid "'git pack-refs' [--all] [--no-prune]\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:178 +#: en/git-pack-refs.txt:24 msgid "" -"Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting " -"forces using only the listed mechanisms. Example:" -msgstr "" - -#. type: delimited block - -#: en/git-send-email.txt:181 -#, no-wrap -msgid "$ git send-email --smtp-auth=\"PLAIN LOGIN GSSAPI\" ...\n" +"Traditionally, tips of branches and tags (collectively known as 'refs') were " +"stored one file per ref in a (sub)directory under `$GIT_DIR/refs` " +"directory. While many branch tips tend to be updated often, most tags and " +"some branch tips are never updated. When a repository has hundreds or " +"thousands of tags, this one-file-per-ref format both wastes storage and " +"hurts performance." msgstr "" #. type: Plain text -#: en/git-send-email.txt:187 +#: en/git-pack-refs.txt:31 msgid "" -"If at least one of the specified mechanisms matches the ones advertised by " -"the SMTP server and if it is supported by the utilized SASL library, the " -"mechanism is used for authentication. If neither 'sendemail.smtpAuth' nor `--" -"smtp-auth` is specified, all mechanisms supported by the SASL library can be " -"used." +"This command is used to solve the storage and performance problem by storing " +"the refs in a single file, `$GIT_DIR/packed-refs`. When a ref is missing " +"from the traditional `$GIT_DIR/refs` directory hierarchy, it is looked up in " +"this file and used if found." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:188 -#, no-wrap -msgid "--smtp-pass[=<password>]" +#. type: Plain text +#: en/git-pack-refs.txt:34 +msgid "" +"Subsequent updates to branches always create new files under `$GIT_DIR/refs` " +"directory hierarchy." msgstr "" #. type: Plain text -#: en/git-send-email.txt:193 +#: en/git-pack-refs.txt:43 msgid "" -"Password for SMTP-AUTH. The argument is optional: If no argument is " -"specified, then the empty string is used as the password. Default is the " -"value of `sendemail.smtpPass`, however `--smtp-pass` always overrides this " -"value." +"A recommended practice to deal with a repository with too many refs is to " +"pack its refs with `--all` once, and occasionally run `git pack-refs`. Tags " +"are by definition stationary and are not expected to change. Branch heads " +"will be packed with the initial `pack-refs --all`, but only the currently " +"active branch heads will become unpacked, and the next `pack-refs` (without " +"`--all`) will leave them unpacked." msgstr "" #. type: Plain text -#: en/git-send-email.txt:199 +#: en/git-pack-refs.txt:56 msgid "" -"Furthermore, passwords need not be specified in configuration files or on " -"the command line. If a username has been specified (with `--smtp-user` or a " -"`sendemail.smtpUser`), but no password has been specified (with `--smtp-" -"pass` or `sendemail.smtpPass`), then a password is obtained using 'git-" -"credential'." +"The command by default packs all tags and refs that are already packed, and " +"leaves other refs alone. This is because branches are expected to be " +"actively developed and packing their tips does not help performance. This " +"option causes branch tips to be packed as well. Useful for a repository " +"with many branches of historical interests." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:200 -#, no-wrap -msgid "--smtp-server=<host>" +#. type: Plain text +#: en/git-pack-refs.txt:61 +msgid "" +"The command usually removes loose refs under `$GIT_DIR/refs` hierarchy after " +"packing them. This option tells it not to." msgstr "" #. type: Plain text -#: en/git-send-email.txt:209 +#: en/git-pack-refs.txt:69 msgid "" -"If set, specifies the outgoing SMTP server to use (e.g. `smtp.example.com` " -"or a raw IP address). Alternatively it can specify a full pathname of a " -"sendmail-like program instead; the program must support the `-i` option. " -"Default value can be specified by the `sendemail.smtpServer` configuration " -"option; the built-in default is `/usr/sbin/sendmail` or `/usr/lib/sendmail` " -"if such program is available, or `localhost` otherwise." +"Older documentation written before the packed-refs mechanism was introduced " +"may still say things like \".git/refs/heads/<branch> file exists\" when it " +"means \"branch <branch> exists\"." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:210 +#. type: Title = +#: en/git-parse-remote.txt:2 #, no-wrap -msgid "--smtp-server-port=<port>" +msgid "git-parse-remote(1)" msgstr "" #. type: Plain text -#: en/git-send-email.txt:217 +#: en/git-parse-remote.txt:7 msgid "" -"Specifies a port different from the default port (SMTP servers typically " -"listen to smtp port 25, but may also listen to submission port 587, or the " -"common SSL smtp port 465); symbolic port names (e.g. \"submission\" instead " -"of 587) are also accepted. The port can also be set with the `sendemail." -"smtpServerPort` configuration variable." +"git-parse-remote - Routines to help parsing remote repository access " +"parameters" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:218 +#. type: Plain text +#: en/git-parse-remote.txt:13 #, no-wrap -msgid "--smtp-server-option=<option>" +msgid "'. \"$(git --exec-path)/git-parse-remote\"'\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:222 +#: en/git-parse-remote.txt:20 msgid "" -"If set, specifies the outgoing SMTP server option to use. Default value can " -"be specified by the `sendemail.smtpServerOption` configuration option." +"This script is included in various scripts to supply routines to parse files " +"under $GIT_DIR/remotes/ and $GIT_DIR/branches/ and configuration variables " +"that are related to fetching, pulling and pushing." msgstr "" +#. type: Title = +#: en/git-patch-id.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-patch-id(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-send-email.txt:226 -msgid "" -"The --smtp-server-option option must be repeated for each option you want to " -"pass to the server. Likewise, different lines in the configuration files " -"must be used for each option." +#: en/git-patch-id.txt:7 +msgid "git-patch-id - Compute unique ID for a patch" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:227 +#. type: Plain text +#: en/git-patch-id.txt:12 #, no-wrap -msgid "--smtp-ssl" +msgid "'git patch-id' [--stable | --unstable]\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:229 -msgid "Legacy alias for '--smtp-encryption ssl'." -msgstr "" - -#. type: Labeled list -#: en/git-send-email.txt:230 -#, no-wrap -msgid "--smtp-ssl-cert-path" +#: en/git-patch-id.txt:16 +msgid "Read a patch from the standard input and compute the patch ID for it." msgstr "" #. type: Plain text -#: en/git-send-email.txt:240 +#: en/git-patch-id.txt:21 msgid "" -"Path to a store of trusted CA certificates for SMTP SSL/TLS certificate " -"validation (either a directory that has been processed by 'c_rehash', or a " -"single file containing one or more PEM format certificates concatenated " -"together: see verify(1) -CAfile and -CApath for more information on these). " -"Set it to an empty string to disable certificate verification. Defaults to " -"the value of the `sendemail.smtpsslcertpath` configuration variable, if set, " -"or the backing SSL library's compiled-in default otherwise (which should be " -"the best choice on most platforms)." +"A \"patch ID\" is nothing but a sum of SHA-1 of the file diffs associated " +"with a patch, with whitespace and line numbers ignored. As such, it's " +"\"reasonably stable\", but at the same time also reasonably unique, i.e., " +"two patches that have the same \"patch ID\" are almost guaranteed to be the " +"same thing." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:241 -#, no-wrap -msgid "--smtp-user=<user>" +#. type: Plain text +#: en/git-patch-id.txt:23 +msgid "IOW, you can use this thing to look for likely duplicate commits." msgstr "" #. type: Plain text -#: en/git-send-email.txt:245 +#: en/git-patch-id.txt:29 msgid "" -"Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`; if a " -"username is not specified (with `--smtp-user` or `sendemail.smtpUser`), then " -"authentication is not attempted." +"When dealing with 'git diff-tree' output, it takes advantage of the fact " +"that the patch is prefixed with the object name of the commit, and outputs " +"two 40-byte hexadecimal strings. The first string is the patch ID, and the " +"second string is the commit ID. This can be used to make a mapping from " +"patch ID to commit ID." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:246 +#: en/git-patch-id.txt:33 #, no-wrap -msgid "--smtp-debug=0|1" +msgid "--stable" msgstr "" #. type: Plain text -#: en/git-send-email.txt:250 -msgid "" -"Enable (1) or disable (0) debug output. If enabled, SMTP commands and " -"replies will be printed. Useful to debug TLS connection and authentication " -"problems." -msgstr "" - -#. type: Title ~ -#: en/git-send-email.txt:252 -#, no-wrap -msgid "Automating" -msgstr "" - -#. type: Labeled list -#: en/git-send-email.txt:254 -#, no-wrap -msgid "--to-cmd=<command>" +#: en/git-patch-id.txt:35 +msgid "Use a \"stable\" sum of hashes as the patch ID. With this option:" msgstr "" #. type: Plain text -#: en/git-send-email.txt:259 +#: en/git-patch-id.txt:41 msgid "" -"Specify a command to execute once per patch file which should generate patch " -"file specific \"To:\" entries. Output of this command must be single email " -"address per line. Default is the value of 'sendemail.tocmd' configuration " -"value." +"Reordering file diffs that make up a patch does not affect the ID. In " +"particular, two patches produced by comparing the same two trees with two " +"different settings for \"-O<orderfile>\" result in the same patch ID " +"signature, thereby allowing the computed result to be used as a key to index " +"some meta-information about the change between the two trees;" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:260 -#, no-wrap -msgid "--cc-cmd=<command>" +#. type: Plain text +#: en/git-patch-id.txt:47 +msgid "" +"Result is different from the value produced by git 1.9 and older or produced " +"when an \"unstable\" hash (see --unstable below) is configured - even when " +"used on a diff output taken without any use of \"-O<orderfile>\", thereby " +"making existing databases storing such \"unstable\" or historical patch-ids " +"unusable." msgstr "" #. type: Plain text -#: en/git-send-email.txt:265 -msgid "" -"Specify a command to execute once per patch file which should generate patch " -"file specific \"Cc:\" entries. Output of this command must be single email " -"address per line. Default is the value of `sendemail.ccCmd` configuration " -"value." +#: en/git-patch-id.txt:49 +#, no-wrap +msgid "This is the default if patchid.stable is set to true.\n" msgstr "" #. type: Labeled list -#: en/git-send-email.txt:266 +#: en/git-patch-id.txt:50 #, no-wrap -msgid "--[no-]chain-reply-to" +msgid "--unstable" msgstr "" #. type: Plain text -#: en/git-send-email.txt:273 +#: en/git-patch-id.txt:56 msgid "" -"If this is set, each email will be sent as a reply to the previous email " -"sent. If disabled with \"--no-chain-reply-to\", all emails after the first " -"will be sent as replies to the first email sent. When using this, it is " -"recommended that the first file given be an overview of the entire patch " -"series. Disabled by default, but the `sendemail.chainReplyTo` configuration " -"variable can be used to enable it." +"Use an \"unstable\" hash as the patch ID. With this option, the result " +"produced is compatible with the patch-id value produced by git 1.9 and " +"older. Users with pre-existing databases storing patch-ids produced by git " +"1.9 and older (who do not deal with reordered patches) may want to use this " +"option." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:274 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--identity=<identity>" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-patch-id.txt:58 +msgid "This is the default." +msgstr "" #. type: Plain text -#: en/git-send-email.txt:279 en/config.txt:2869 -msgid "" -"A configuration identity. When given, causes values in the 'sendemail." -"<identity>' subsection to take precedence over values in the 'sendemail' " -"section. The default identity is the value of `sendemail.identity`." +#: en/git-patch-id.txt:61 +msgid "The diff to create the ID of." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:280 +#. type: Title = +#: en/git-prune-packed.txt:2 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--[no-]signed-off-by-cc" -msgstr "git-commit(1)" +#| msgid "git-add(1)" +msgid "git-prune-packed(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-send-email.txt:284 -msgid "" -"If this is set, add emails found in Signed-off-by: or Cc: lines to the cc " -"list. Default is the value of `sendemail.signedoffbycc` configuration value; " -"if that is unspecified, default to --signed-off-by-cc." +#: en/git-prune-packed.txt:7 +msgid "git-prune-packed - Remove extra objects that are already in pack files" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:285 +#. type: Plain text +#: en/git-prune-packed.txt:13 #, no-wrap -msgid "--[no-]cc-cover" +msgid "'git prune-packed' [-n|--dry-run] [-q|--quiet]\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:290 +#: en/git-prune-packed.txt:19 msgid "" -"If this is set, emails found in Cc: headers in the first patch of the series " -"(typically the cover letter) are added to the cc list for each email set. " -"Default is the value of 'sendemail.cccover' configuration value; if that is " -"unspecified, default to --no-cc-cover." +"This program searches the `$GIT_OBJECT_DIRECTORY` for all objects that " +"currently exist in a pack file as well as the independent object directories." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:291 -#, no-wrap -msgid "--[no-]to-cover" +#. type: Plain text +#: en/git-prune-packed.txt:21 +msgid "All such extra objects are removed." msgstr "" #. type: Plain text -#: en/git-send-email.txt:296 +#: en/git-prune-packed.txt:24 en/git-repack.txt:24 msgid "" -"If this is set, emails found in To: headers in the first patch of the series " -"(typically the cover letter) are added to the to list for each email set. " -"Default is the value of 'sendemail.tocover' configuration value; if that is " -"unspecified, default to --no-to-cover." +"A pack is a collection of objects, individually compressed, with delta " +"compression applied, stored in a single file, with an associated index file." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:297 -#, no-wrap -msgid "--suppress-cc=<category>" +#. type: Plain text +#: en/git-prune-packed.txt:27 en/git-repack.txt:27 +msgid "" +"Packs are used to reduce the load on mirror systems, backup engines, disk " +"storage, etc." msgstr "" #. type: Plain text -#: en/git-send-email.txt:300 +#: en/git-prune-packed.txt:35 +#, fuzzy +#| msgid "" +#| "-n::\n" +#| "--dry-run::\n" +#| "\tDon't actually add the file(s), just show if they exist and/or will\n" +#| "\tbe ignored.\n" msgid "" -"Specify an additional category of recipients to suppress the auto-cc of:" +"Don't actually remove any objects, only show those that would have been " +"removed." msgstr "" +"-n::\n" +"--dry-run::\n" +"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" +"\tou seront ignor챕s.\n" #. type: Plain text -#: en/git-send-email.txt:303 -msgid "'author' will avoid including the patch author" +#: en/git-prune-packed.txt:39 +msgid "Squelch the progress indicator." msgstr "" +# #. type: Plain text -#: en/git-send-email.txt:304 -msgid "'self' will avoid including the sender" +#: en/git-prune-packed.txt:44 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-pack-objects[1] linkgit:git-repack[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" +#. type: Title = +#: en/git-prune.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-prune(1)" +msgstr "git-add(1)" + +# #. type: Plain text -#: en/git-send-email.txt:306 -msgid "" -"'cc' will avoid including anyone mentioned in Cc lines in the patch header " -"except for self (use 'self' for that)." -msgstr "" +#: en/git-prune.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-prune - Prune all unreachable objects from the object database" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/git-send-email.txt:308 -msgid "" -"'bodycc' will avoid including anyone mentioned in Cc lines in the patch body " -"(commit message) except for self (use 'self' for that)." +#: en/git-prune.txt:13 +#, no-wrap +msgid "'git prune' [-n] [-v] [--expire <expire>] [--] [<head>...]\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:309 +#: en/git-prune.txt:19 msgid "" -"'sob' will avoid including anyone mentioned in Signed-off-by lines except" -msgstr "" - -#. type: Plain text -#: en/git-send-email.txt:310 -msgid "for self (use 'self' for that)." +"In most cases, users should run 'git gc', which calls 'git prune'. See the " +"section \"NOTES\", below." msgstr "" #. type: Plain text -#: en/git-send-email.txt:311 -msgid "'cccmd' will avoid running the --cc-cmd." +#: en/git-prune.txt:29 +msgid "" +"This runs 'git fsck --unreachable' using all the refs available in `refs/`, " +"optionally with additional set of objects specified on the command line, and " +"prunes all unpacked objects unreachable from any of these head objects from " +"the object database. In addition, it prunes the unpacked objects that are " +"also found in packs by running 'git prune-packed'. It also removes entries " +"from .git/shallow that are not reachable by any ref." msgstr "" #. type: Plain text -#: en/git-send-email.txt:312 -msgid "'body' is equivalent to 'sob' + 'bodycc'" +#: en/git-prune.txt:32 +msgid "" +"Note that unreachable, packed objects will remain. If this is not desired, " +"see linkgit:git-repack[1]." msgstr "" #. type: Plain text -#: en/git-send-email.txt:313 -msgid "'all' will suppress all auto cc values." +#: en/git-prune.txt:40 +#, fuzzy +#| msgid "" +#| "-n::\n" +#| "--dry-run::\n" +#| "\tDon't actually add the file(s), just show if they exist and/or will\n" +#| "\tbe ignored.\n" +msgid "Do not remove anything; just report what it would remove." msgstr "" +"-n::\n" +"--dry-run::\n" +"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" +"\tou seront ignor챕s.\n" #. type: Plain text -#: en/git-send-email.txt:318 -msgid "" -"Default is the value of `sendemail.suppresscc` configuration value; if that " -"is unspecified, default to 'self' if --suppress-from is specified, as well " -"as 'body' if --no-signed-off-cc is specified." +#: en/git-prune.txt:44 +#, fuzzy +#| msgid "" +#| "-v::\n" +#| "--verbose::\n" +#| " Be verbose.\n" +msgid "Report all removed objects." msgstr "" +"-v::\n" +"--verbose::\n" +" Mode bavard.\n" #. type: Labeled list -#: en/git-send-email.txt:319 +#: en/git-prune.txt:48 en/git-worktree.txt:124 #, no-wrap -msgid "--[no-]suppress-from" +msgid "--expire <time>" msgstr "" #. type: Plain text -#: en/git-send-email.txt:323 -msgid "" -"If this is set, do not add the From: address to the cc: list. Default is " -"the value of `sendemail.suppressFrom` configuration value; if that is " -"unspecified, default to --no-suppress-from." +#: en/git-prune.txt:50 +msgid "Only expire loose objects older than <time>." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:324 +#: en/git-prune.txt:51 #, no-wrap -msgid "--[no-]thread" -msgstr "" - -#. type: Plain text -#: en/git-send-email.txt:330 -msgid "" -"If this is set, the In-Reply-To and References headers will be added to each " -"email sent. Whether each mail refers to the previous email (`deep` " -"threading per 'git format-patch' wording) or to the first email (`shallow` " -"threading) is governed by \"--[no-]chain-reply-to\"." +msgid "<head>..." msgstr "" #. type: Plain text -#: en/git-send-email.txt:335 +#: en/git-prune.txt:55 msgid "" -"If disabled with \"--no-thread\", those headers will not be added (unless " -"specified with --in-reply-to). Default is the value of the `sendemail." -"thread` configuration value; if that is unspecified, default to --thread." +"In addition to objects reachable from any of our references, keep objects " +"reachable from listed <head>s." msgstr "" #. type: Plain text -#: en/git-send-email.txt:341 +#: en/git-prune.txt:62 msgid "" -"It is up to the user to ensure that no In-Reply-To header already exists " -"when 'git send-email' is asked to add it (especially note that 'git format-" -"patch' can be configured to do the threading itself). Failure to do so may " -"not produce the expected result in the recipient's MUA." -msgstr "" - -#. type: Title ~ -#: en/git-send-email.txt:344 -#, no-wrap -msgid "Administering" +"To prune objects not used by your repository or another that borrows from " +"your repository via its `.git/objects/info/alternates`:" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:346 +#. type: delimited block - +#: en/git-prune.txt:65 #, no-wrap -msgid "--confirm=<mode>" +msgid "$ git prune $(cd ../another && git rev-parse --all)\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:348 -msgid "Confirm just before sending:" +#: en/git-prune.txt:73 +msgid "" +"In most cases, users will not need to call 'git prune' directly, but should " +"instead call 'git gc', which handles pruning along with many other " +"housekeeping tasks." msgstr "" #. type: Plain text -#: en/git-send-email.txt:351 -msgid "'always' will always confirm before sending" +#: en/git-prune.txt:76 +msgid "" +"For a description of which objects are considered for pruning, see 'git " +"fsck''s --unreachable option." msgstr "" +# #. type: Plain text -#: en/git-send-email.txt:352 -msgid "'never' will never confirm before sending" +#: en/git-prune.txt:83 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-fsck[1], linkgit:git-gc[1], linkgit:git-reflog[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Plain text -#: en/git-send-email.txt:354 -msgid "" -"'cc' will confirm before sending when send-email has automatically added " -"addresses from the patch to the Cc list" -msgstr "" +#. type: Title = +#: en/git-pull.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-pull(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-send-email.txt:355 +#: en/git-pull.txt:7 msgid "" -"'compose' will confirm before sending the first message when using --compose." +"git-pull - Fetch from and integrate with another repository or a local branch" msgstr "" #. type: Plain text -#: en/git-send-email.txt:356 -msgid "'auto' is equivalent to 'cc' + 'compose'" +#: en/git-pull.txt:13 +#, no-wrap +msgid "'git pull' [options] [<repository> [<refspec>...]]\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:361 +#: en/git-pull.txt:21 msgid "" -"Default is the value of `sendemail.confirm` configuration value; if that is " -"unspecified, default to 'auto' unless any of the suppress options have been " -"specified, in which case default to 'compose'." +"Incorporates changes from a remote repository into the current branch. In " +"its default mode, `git pull` is shorthand for `git fetch` followed by `git " +"merge FETCH_HEAD`." msgstr "" #. type: Plain text -#: en/git-send-email.txt:364 -msgid "Do everything except actually send the emails." +#: en/git-pull.txt:26 +msgid "" +"More precisely, 'git pull' runs 'git fetch' with the given parameters and " +"calls 'git merge' to merge the retrieved branch heads into the current " +"branch. With `--rebase`, it runs 'git rebase' instead of 'git merge'." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:365 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--[no-]format-patch" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-send-email.txt:370 +#: en/git-pull.txt:33 msgid "" -"When an argument may be understood either as a reference or as a file name, " -"choose to understand it as a format-patch argument (`--format-patch`) or as " -"a file name (`--no-format-patch`). By default, when such a conflict occurs, " -"git send-email will fail." +"<repository> should be the name of a remote repository as passed to linkgit:" +"git-fetch[1]. <refspec> can name an arbitrary remote ref (for example, the " +"name of a tag) or even a collection of refs with corresponding remote-" +"tracking branches (e.g., refs/heads/{asterisk}:refs/remotes/origin/" +"{asterisk}), but usually it is the name of a branch in the remote repository." msgstr "" #. type: Plain text -#: en/git-send-email.txt:374 +#: en/git-pull.txt:37 msgid "" -"Make git-send-email less verbose. One line per email should be all that is " -"output." +"Default values for <repository> and <branch> are read from the \"remote\" " +"and \"merge\" configuration for the current branch as set by linkgit:git-" +"branch[1] `--track`." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:375 +#. type: delimited block - +#: en/git-pull.txt:47 #, no-wrap -msgid "--[no-]validate" -msgstr "" - -#. type: Plain text -#: en/git-send-email.txt:378 msgid "" -"Perform sanity checks on patches. Currently, validation means the following:" +"\t A---B---C master on origin\n" +"\t /\n" +" D---E---F---G master\n" +"\t^\n" +"\torigin/master in your repository\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:381 -msgid "Warn of patches that contain lines longer than 998 characters; this" +#: en/git-pull.txt:54 +msgid "" +"Then \"`git pull`\" will fetch and replay the changes from the remote " +"`master` branch since it diverged from the local `master` (i.e., `E`) until " +"its current commit (`C`) on top of `master` and record the result in a new " +"commit along with the names of the two parent commits and a log message from " +"the user describing the changes." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:382 +#. type: delimited block - +#: en/git-pull.txt:59 #, no-wrap -msgid "is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.\n" +msgid "" +"\t A---B---C origin/master\n" +"\t / \\\n" +" D---E---F---G---H master\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:386 +#: en/git-pull.txt:63 msgid "" -"Default is the value of `sendemail.validate`; if this is not set, default to " -"`--validate`." +"See linkgit:git-merge[1] for details, including how conflicts are presented " +"and handled." msgstr "" #. type: Plain text -#: en/git-send-email.txt:389 -msgid "Send emails even if safety checks would prevent it." +#: en/git-pull.txt:68 +msgid "" +"In Git 1.7.0 or later, to cancel a conflicting merge, use `git reset --" +"merge`. *Warning*: In older versions of Git, running 'git pull' with " +"uncommitted changes is discouraged: while possible, it leaves you in a state " +"that may be hard to back out of in the case of a conflict." msgstr "" -#. type: Title ~ -#: en/git-send-email.txt:392 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Information" -msgstr "Configuration" - -#. type: Labeled list -#: en/git-send-email.txt:394 -#, no-wrap -msgid "--dump-aliases" +#. type: Plain text +#: en/git-pull.txt:73 +msgid "" +"If any of the remote changes overlap with local uncommitted changes, the " +"merge will be automatically cancelled and the work tree untouched. It is " +"generally best to get any local changes in working order before pulling or " +"stash them away with linkgit:git-stash[1]." msgstr "" #. type: Plain text -#: en/git-send-email.txt:399 +#: en/git-pull.txt:82 msgid "" -"Instead of the normal operation, dump the shorthand alias names from the " -"configured alias file(s), one per line in alphabetical order. Note, this " -"only includes the alias name and not its expanded email addresses. See " -"'sendemail.aliasesfile' for more information about aliases." +"This is passed to both underlying git-fetch to squelch reporting of during " +"transfer, and underlying git-merge to squelch output during merging." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:404 en/config.txt:2887 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.aliasesFile" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-send-email.txt:407 -msgid "" -"To avoid typing long email addresses, point this to one or more email " -"aliases files. You must also supply `sendemail.aliasFileType`." +#: en/git-pull.txt:86 +msgid "Pass --verbose to git-fetch and git-merge." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:408 en/config.txt:2888 +#: en/git-pull.txt:87 #, no-wrap -msgid "sendemail.aliasFileType" +msgid "--[no-]recurse-submodules[=yes|on-demand|no]" msgstr "" #. type: Plain text -#: en/git-send-email.txt:411 +#: en/git-pull.txt:95 msgid "" -"Format of the file(s) specified in sendemail.aliasesFile. Must be one of " -"'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'." +"This option controls if new commits of all populated submodules should be " +"fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]). That " +"might be necessary to get the data needed for merging submodule commits, a " +"feature Git learned in 1.7.3. Notice that the result of a merge will not be " +"checked out in the submodule, \"git submodule update\" has to be called " +"afterwards to bring the work tree up to date with the merge result." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:416 -msgid "" -"What an alias file in each format looks like can be found in the " -"documentation of the email program of the same name. The differences and " -"limitations from the standard formats are described below:" +#. type: Title ~ +#: en/git-pull.txt:97 +#, no-wrap +msgid "Options related to merging" msgstr "" #. type: Labeled list -#: en/git-send-email.txt:418 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendmail" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-send-email.txt:420 -msgid "Quoted aliases and quoted addresses are not supported: lines that" +#: en/git-pull.txt:104 +#, no-wrap +msgid "--rebase[=false|true|preserve|interactive]" msgstr "" #. type: Plain text -#: en/git-send-email.txt:421 -msgid "contain a `\"` symbol are ignored." +#: en/git-pull.txt:110 +msgid "" +"When true, rebase the current branch on top of the upstream branch after " +"fetching. If there is a remote-tracking branch corresponding to the upstream " +"branch and the upstream branch was rebased since last fetched, the rebase " +"uses that information to avoid rebasing non-local changes." msgstr "" #. type: Plain text -#: en/git-send-email.txt:422 -msgid "Redirection to a file (`/path/name`) or pipe (`|command`) is not" +#: en/git-pull.txt:113 +msgid "" +"When set to preserve, rebase with the `--preserve-merges` option passed to " +"`git rebase` so that locally created merge commits will not be flattened." msgstr "" #. type: Plain text -#: en/git-send-email.txt:423 -msgid "supported." +#: en/git-pull.txt:115 +msgid "When false, merge the current branch into the upstream branch." msgstr "" #. type: Plain text -#: en/git-send-email.txt:424 -msgid "File inclusion (`:include: /path/name`) is not supported." +#: en/git-pull.txt:117 +msgid "When `interactive`, enable the interactive mode of rebase." msgstr "" #. type: Plain text -#: en/git-send-email.txt:425 -msgid "Warnings are printed on the standard error output for any" +#: en/git-pull.txt:121 +msgid "" +"See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in " +"linkgit:git-config[1] if you want to make `git pull` always use `--rebase` " +"instead of merging." msgstr "" #. type: Plain text -#: en/git-send-email.txt:427 +#: en/git-pull.txt:127 msgid "" -"explicitly unsupported constructs, and any other lines that are not " -"recognized by the parser." +"This is a potentially _dangerous_ mode of operation. It rewrites history, " +"which does not bode well when you published that history already. Do *not* " +"use this option unless you have read linkgit:git-rebase[1] carefully." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:429 en/config.txt:2897 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.multiEdit" -msgstr "git-commit(1)" +#: en/git-pull.txt:128 en/git-svn.txt:245 +#, no-wrap +msgid "--no-rebase" +msgstr "" #. type: Plain text -#: en/git-send-email.txt:434 -msgid "" -"If true (default), a single editor instance will be spawned to edit files " -"you have to edit (patches when `--annotate` is used, and the summary when `--" -"compose` is used). If false, files will be edited one after the other, " -"spawning a new editor each time." +#: en/git-pull.txt:130 +msgid "Override earlier --rebase." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:435 en/config.txt:2894 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.confirm" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-send-email.txt:439 -msgid "" -"Sets the default for whether to confirm before sending. Must be one of " -"'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm` in the " -"previous section for the meaning of these values." +#: en/git-pull.txt:131 en/git-rebase.txt:442 +#, no-wrap +msgid "--autostash" msgstr "" -#. type: Title ~ -#: en/git-send-email.txt:443 +#. type: Labeled list +#: en/git-pull.txt:132 en/git-rebase.txt:443 #, no-wrap -msgid "Use gmail as the smtp server" +msgid "--no-autostash" msgstr "" #. type: Plain text -#: en/git-send-email.txt:446 +#: en/git-pull.txt:137 msgid "" -"To use 'git send-email' to send your patches through the GMail SMTP server, " -"edit ~/.gitconfig to specify your account settings:" +"Before starting rebase, stash local modifications away (see linkgit:git-" +"stash[1]) if needed, and apply the stash when done. `--no-autostash` is " +"useful to override the `rebase.autoStash` configuration variable (see " +"linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-send-email.txt:452 -#, no-wrap -msgid "" -"\t[sendemail]\n" -"\t\tsmtpEncryption = tls\n" -"\t\tsmtpServer = smtp.gmail.com\n" -"\t\tsmtpUser = yourname@gmail.com\n" -"\t\tsmtpServerPort = 587\n" +#: en/git-pull.txt:139 +msgid "This option is only valid when \"--rebase\" is used." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:458 -msgid "" -"If you have multifactor authentication setup on your gmail account, you will " -"need to generate an app-specific password for use with 'git send-email'. " -"Visit https://security.google.com/settings/security/apppasswords to setup an " -"app-specific password. Once setup, you can store it with the credentials " -"helper:" +#. type: Title ~ +#: en/git-pull.txt:141 +#, no-wrap +msgid "Options related to fetching" msgstr "" -#. type: Plain text -#: en/git-send-email.txt:464 +#. type: Title - +#: en/git-pull.txt:152 #, no-wrap -msgid "" -"\t$ git credential fill\n" -"\tprotocol=smtp\n" -"\thost=smtp.gmail.com\n" -"\tusername=youname@gmail.com\n" -"\tpassword=app-password\n" +msgid "DEFAULT BEHAVIOUR" msgstr "" #. type: Plain text -#: en/git-send-email.txt:468 +#: en/git-pull.txt:159 msgid "" -"Once your commits are ready to be sent to the mailing list, run the " -"following commands:" +"Often people use `git pull` without giving any parameter. Traditionally, " +"this has been equivalent to saying `git pull origin`. However, when " +"configuration `branch.<name>.remote` is present while on branch `<name>`, " +"that value is used instead of `origin`." msgstr "" #. type: Plain text -#: en/git-send-email.txt:472 -#, no-wrap +#: en/git-pull.txt:164 msgid "" -"\t$ git format-patch --cover-letter -M origin/master -o outgoing/\n" -"\t$ edit outgoing/0000-*\n" -"\t$ git send-email outgoing/*\n" +"In order to determine what URL to use to fetch from, the value of the " +"configuration `remote.<origin>.url` is consulted and if there is not any " +"such variable, the value on `URL: ` line in `$GIT_DIR/remotes/<origin>` file " +"is used." msgstr "" #. type: Plain text -#: en/git-send-email.txt:475 -#, no-wrap +#: en/git-pull.txt:173 msgid "" -"Note: the following perl modules are required\n" -" Net::SMTP::SSL, MIME::Base64 and Authen::SASL\n" -msgstr "" - -# -#. type: Plain text -#: en/git-send-email.txt:479 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-format-patch[1], linkgit:git-imap-send[1], mbox(5)" +"In order to determine what remote branches to fetch (and optionally store in " +"the remote-tracking branches) when the command is run without any refspec " +"parameters on the command line, values of the configuration variable `remote." +"<origin>.fetch` are consulted, and if there aren't any, `$GIT_DIR/remotes/" +"<origin>` file is consulted and its `Pull: ` lines are used. In addition to " +"the refspec formats described in the OPTIONS section, you can have a " +"globbing refspec that looks like this:" msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-send-pack.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-send-pack(1)" -msgstr "git-add(1)" - -#. type: Plain text -#: en/git-send-pack.txt:7 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "git-send-pack - Push objects over Git protocol to another repository" -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" -#. type: Plain text -#: en/git-send-pack.txt:16 +#. type: delimited block - +#: en/git-pull.txt:176 #, no-wrap -msgid "" -"'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>]\n" -"\t\t[--verbose] [--thin] [--atomic]\n" -"\t\t[--[no-]signed|--sign=(true|false|if-asked)]\n" -"\t\t[<host>:]<directory> [<ref>...]\n" -msgstr "" - -#. type: Plain text -#: en/git-send-pack.txt:21 -msgid "" -"Usually you would want to use 'git push', which is a higher-level wrapper of " -"this command, instead. See linkgit:git-push[1]." +msgid "refs/heads/*:refs/remotes/origin/*\n" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:24 +#: en/git-pull.txt:183 msgid "" -"Invokes 'git-receive-pack' on a possibly remote repository, and updates it " -"from the current repository, sending named refs." +"A globbing refspec must have a non-empty RHS (i.e. must store what were " +"fetched in remote-tracking branches), and its LHS and RHS must end with `/" +"*`. The above specifies that all remote branches are tracked using remote-" +"tracking branches in `refs/remotes/origin/` hierarchy under the same name." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:36 -msgid "Same as --receive-pack=<git-receive-pack>." +#: en/git-pull.txt:187 +msgid "" +"The rule to determine which remote branch to merge after fetching is a bit " +"involved, in order not to break backward compatibility." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:40 +#: en/git-pull.txt:190 msgid "" -"Instead of explicitly specifying which refs to update, update all heads that " -"locally exist." +"If explicit refspecs were given on the command line of `git pull`, they are " +"all merged." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:67 +#: en/git-pull.txt:195 msgid "" -"Send a \"thin\" pack, which records objects in deltified form based on " -"objects not included in the pack to reduce network traffic." +"When no refspec was given on the command line, then `git pull` uses the " +"refspec from the configuration or `$GIT_DIR/remotes/<origin>`. In such " +"cases, the following rules apply:" msgstr "" -#. type: Labeled list -#: en/git-send-pack.txt:68 -#, no-wrap -msgid "--atomic" +#. type: Plain text +#: en/git-pull.txt:199 +msgid "" +"If `branch.<name>.merge` configuration for the current branch `<name>` " +"exists, that is the name of the branch at the remote site that is merged." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:72 -msgid "" -"Use an atomic transaction for updating the refs. If any of the refs fails to " -"update then the entire push will fail without changing any refs." +#: en/git-pull.txt:201 +msgid "If the refspec is a globbing one, nothing is merged." msgstr "" -#. type: Labeled list -#: en/git-send-pack.txt:84 -#, no-wrap -msgid "<host>" +#. type: Plain text +#: en/git-pull.txt:203 +msgid "Otherwise the remote branch of the first refspec is merged." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:88 +#: en/git-pull.txt:211 msgid "" -"A remote host to house the repository. When this part is specified, 'git-" -"receive-pack' is invoked via ssh." +"Update the remote-tracking branches for the repository you cloned from, then " +"merge one of them into your current branch:" msgstr "" +#. type: delimited block - +#: en/git-pull.txt:214 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git pull, git pull origin\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-send-pack.txt:91 -msgid "The repository to update." +#: en/git-pull.txt:219 +msgid "" +"Normally the branch merged in is the HEAD of the remote repository, but the " +"choice is determined by the branch.<name>.remote and branch.<name>.merge " +"options; see linkgit:git-config[1] for details." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:101 -msgid "There are three ways to specify which refs to update on the remote end." +#: en/git-pull.txt:221 +msgid "Merge into the current branch the remote branch `next`:" msgstr "" -#. type: Plain text -#: en/git-send-pack.txt:105 -msgid "" -"With `--all` flag, all refs that exist locally are transferred to the remote " -"side. You cannot specify any '<ref>' if you use this flag." +#. type: delimited block - +#: en/git-pull.txt:224 +#, no-wrap +msgid "$ git pull origin next\n" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:108 +#: en/git-pull.txt:229 msgid "" -"Without `--all` and without any '<ref>', the heads that exist both on the " -"local side and on the remote side are updated." +"This leaves a copy of `next` temporarily in FETCH_HEAD, but does not update " +"any remote-tracking branches. Using remote-tracking branches, the same can " +"be done by invoking fetch and merge:" msgstr "" -#. type: Plain text -#: en/git-send-pack.txt:114 +#. type: delimited block - +#: en/git-pull.txt:233 +#, no-wrap msgid "" -"When one or more '<ref>' are specified explicitly (whether on the command " -"line or via `--stdin`), it can be either a single pattern, or a pair of such " -"pattern separated by a colon \":\" (this means that a ref name cannot have a " -"colon in it). A single pattern '<name>' is just a shorthand for '<name>:" -"<name>'." +"$ git fetch origin\n" +"$ git merge origin/next\n" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:122 +#: en/git-pull.txt:238 msgid "" -"Each pattern pair consists of the source side (before the colon) and the " -"destination side (after the colon). The ref to be pushed is determined by " -"finding a match that matches the source side, and where it is pushed is " -"determined by using the destination side. The rules used to match a ref are " -"the same rules used by 'git rev-parse' to resolve a symbolic ref name. See " -"linkgit:git-rev-parse[1]." +"If you tried a pull which resulted in complex conflicts and would want to " +"start over, you can recover with 'git reset'." msgstr "" +# #. type: Plain text -#: en/git-send-pack.txt:127 -msgid "It is an error if <dst> matches more than one remote refs." +#: en/git-pull.txt:254 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-fetch[1], linkgit:git-merge[1], linkgit:git-config[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Title = -#: en/git-shell.txt:2 +#: en/git-push.txt:2 #, fuzzy, no-wrap #| msgid "git-add(1)" -msgid "git-shell(1)" +msgid "git-push(1)" msgstr "git-add(1)" #. type: Plain text -#: en/git-shell.txt:7 -msgid "git-shell - Restricted login shell for Git-only SSH access" +#: en/git-push.txt:7 +msgid "git-push - Update remote refs along with associated objects" msgstr "" #. type: Plain text -#: en/git-shell.txt:15 +#: en/git-push.txt:18 #, no-wrap msgid "" -"'chsh' -s $(command -v git-shell) <user>\n" -"'git clone' <user>`@localhost:/path/to/repo.git`\n" -"'ssh' <user>`@localhost`\n" +"'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]\n" +"\t [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]\n" +"\t [-u | --set-upstream] [--push-option=<string>]\n" +"\t [--[no-]signed|--sign=(true|false|if-asked)]\n" +"\t [--force-with-lease[=<refname>[:<expect>]]]\n" +"\t [--no-verify] [<repository> [<refspec>...]]\n" msgstr "" #. type: Plain text -#: en/git-shell.txt:23 +#: en/git-push.txt:24 msgid "" -"This is a login shell for SSH accounts to provide restricted Git access. It " -"permits execution only of server-side Git commands implementing the pull/" -"push functionality, plus custom commands present in a subdirectory named " -"`git-shell-commands` in the user's home directory." +"Updates remote refs using local refs, while sending objects necessary to " +"complete the given refs." msgstr "" #. type: Plain text -#: en/git-shell.txt:28 -msgid "'git shell' accepts the following commands after the `-c` option:" -msgstr "" - -#. type: Labeled list -#: en/git-shell.txt:29 -#, no-wrap -msgid "'git receive-pack <argument>'" +#: en/git-push.txt:28 +msgid "" +"You can make interesting things happen to a repository every time you push " +"into it, by setting up 'hooks' there. See documentation for linkgit:git-" +"receive-pack[1]." msgstr "" -#. type: Labeled list -#: en/git-shell.txt:30 -#, no-wrap -msgid "'git upload-pack <argument>'" +#. type: Plain text +#: en/git-push.txt:33 +msgid "" +"When the command line does not specify where to push with the `<repository>` " +"argument, `branch.*.remote` configuration for the current branch is " +"consulted to determine where to push. If the configuration is missing, it " +"defaults to 'origin'." msgstr "" -#. type: Labeled list -#: en/git-shell.txt:31 -#, no-wrap -msgid "'git upload-archive <argument>'" +#. type: Plain text +#: en/git-push.txt:39 +msgid "" +"When the command line does not specify what to push with `<refspec>...` " +"arguments or `--all`, `--mirror`, `--tags` options, the command finds the " +"default `<refspec>` by consulting `remote.*.push` configuration, and if it " +"is not found, honors `push.default` configuration to decide what to push " +"(See linkgit:git-config[1] for the meaning of `push.default`)." msgstr "" #. type: Plain text -#: en/git-shell.txt:35 +#: en/git-push.txt:46 msgid "" -"Call the corresponding server-side command to support the client's 'git " -"push', 'git fetch', or 'git archive --remote' request." +"When neither the command-line nor the configuration specify what to push, " +"the default behavior is used, which corresponds to the `simple` value for " +"`push.default`: the current branch is pushed to the corresponding upstream " +"branch, but as a safety measure, the push is aborted if the upstream branch " +"does not have the same name as the local one." msgstr "" -#. type: Labeled list -#: en/git-shell.txt:35 +#. type: Title - +#: en/git-push.txt:49 #, no-wrap -msgid "'cvs server'" -msgstr "" - -#. type: Plain text -#: en/git-shell.txt:37 -msgid "Imitate a CVS server. See linkgit:git-cvsserver[1]." +msgid "OPTIONS[[OPTIONS]]" msgstr "" #. type: Plain text -#: en/git-shell.txt:42 +#: en/git-push.txt:55 msgid "" -"If a `~/git-shell-commands` directory is present, 'git shell' will also " -"handle other, custom commands by running \"`git-shell-commands/<command> " -"<arguments>`\" from the user's home directory." +"The \"remote\" repository that is destination of a push operation. This " +"parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or " +"the name of a remote (see the section <<REMOTES,REMOTES>> below)." msgstr "" -#. type: Title - -#: en/git-shell.txt:44 +#. type: Labeled list +#: en/git-push.txt:56 #, no-wrap -msgid "INTERACTIVE USE" +msgid "<refspec>..." msgstr "" #. type: Plain text -#: en/git-shell.txt:48 +#: en/git-push.txt:61 msgid "" -"By default, the commands above can be executed only with the `-c` option; " -"the shell is not interactive." +"Specify what destination ref to update with what source object. The format " +"of a <refspec> parameter is an optional plus `+`, followed by the source " +"object <src>, followed by a colon `:`, followed by the destination ref <dst>." msgstr "" #. type: Plain text -#: en/git-shell.txt:56 +#: en/git-push.txt:65 msgid "" -"If a `~/git-shell-commands` directory is present, 'git shell' can also be " -"run interactively (with no arguments). If a `help` command is present in " -"the `git-shell-commands` directory, it is run to provide the user with an " -"overview of allowed actions. Then a \"git> \" prompt is presented at which " -"one can enter any of the commands from the `git-shell-commands` directory, " -"or `exit` to close the connection." +"The <src> is often the name of the branch you would want to push, but it can " +"be any arbitrary \"SHA-1 expression\", such as `master~4` or `HEAD` (see " +"linkgit:gitrevisions[7])." msgstr "" #. type: Plain text -#: en/git-shell.txt:61 +#: en/git-push.txt:75 msgid "" -"Generally this mode is used as an administrative interface to allow users to " -"list repositories they have access to, create, delete, or rename " -"repositories, or change repository descriptions and permissions." +"The <dst> tells which ref on the remote side is updated with this push. " +"Arbitrary expressions cannot be used here, an actual ref must be named. If " +"`git push [<repository>]` without any `<refspec>` argument is set to update " +"some ref at the destination with `<src>` with `remote.<repository>.push` " +"configuration variable, `:<dst>` part can be omitted--such a push will " +"update a ref that `<src>` normally updates without any `<refspec>` on the " +"command line. Otherwise, missing `:<dst>` means to update the same ref as " +"the `<src>`." msgstr "" #. type: Plain text -#: en/git-shell.txt:64 +#: en/git-push.txt:83 msgid "" -"If a `no-interactive-login` command exists, then it is run and the " -"interactive shell is aborted." +"The object referenced by <src> is used to update the <dst> reference on the " +"remote side. By default this is only allowed if <dst> is not a tag " +"(annotated or lightweight), and then only if it can fast-forward <dst>. By " +"having the optional leading `+`, you can tell Git to update the <dst> ref " +"even if it is not allowed by default (e.g., it is not a fast-forward.) This " +"does *not* attempt to merge <src> into <dst>. See EXAMPLES below for " +"details." msgstr "" #. type: Plain text -#: en/git-shell.txt:69 -msgid "To disable interactive logins, displaying a greeting instead:" +#: en/git-push.txt:85 +msgid "`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`." msgstr "" -#. type: delimited block - -#: en/git-shell.txt:80 -#, no-wrap +#. type: Plain text +#: en/git-push.txt:88 msgid "" -"$ chsh -s /usr/bin/git-shell\n" -"$ mkdir $HOME/git-shell-commands\n" -"$ cat >$HOME/git-shell-commands/no-interactive-login <<\\EOF\n" -"#!/bin/sh\n" -"printf '%s\\n' \"Hi $USER! You've successfully authenticated, but I do not\"\n" -"printf '%s\\n' \"provide interactive shell access.\"\n" -"exit 128\n" -"EOF\n" -"$ chmod +x $HOME/git-shell-commands/no-interactive-login\n" +"Pushing an empty <src> allows you to delete the <dst> ref from the remote " +"repository." msgstr "" #. type: Plain text -#: en/git-shell.txt:87 -msgid "ssh(1), linkgit:git-daemon[1], contrib/git-shell-commands/README" +#: en/git-push.txt:93 +msgid "" +"The special refspec `:` (or `+:` to allow non-fast-forward updates) directs " +"Git to push \"matching\" branches: for every branch that exists on the local " +"side, the remote side is updated if a branch of the same name already exists " +"on the remote side." msgstr "" -#. type: Title = -#: en/git-sh-i18n--envsubst.txt:2 -#, no-wrap -msgid "git-sh-i18n{litdd}envsubst(1)" +#. type: Plain text +#: en/git-push.txt:97 +msgid "" +"Push all branches (i.e. refs under `refs/heads/`); cannot be used with other " +"<refspec>." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:7 -msgid "git-sh-i18n--envsubst - Git's own envsubst(1) for i18n fallbacks" +#: en/git-push.txt:105 +msgid "" +"Remove remote branches that don't have a local counterpart. For example a " +"remote branch `tmp` will be removed if a local branch with the same name " +"doesn't exist any more. This also respects refspecs, e.g. `git push --prune " +"remote refs/heads/*:refs/tmp/*` would make sure that remote `refs/tmp/foo` " +"will be removed if `refs/heads/foo` doesn't exist." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:17 -#, no-wrap +#: en/git-push.txt:116 msgid "" -"eval_gettext () {\n" -"\tprintf \"%s\" \"$1\" | (\n" -"\t\texport PATH $('git sh-i18n{litdd}envsubst' --variables \"$1\");\n" -"\t\t'git sh-i18n{litdd}envsubst' \"$1\"\n" -"\t)\n" -"}\n" +"Instead of naming each ref to push, specifies that all refs under `refs/` " +"(which includes but is not limited to `refs/heads/`, `refs/remotes/`, and " +"`refs/tags/`) be mirrored to the remote repository. Newly created local " +"refs will be pushed to the remote end, locally updated refs will be force " +"updated on the remote end, and deleted refs will be removed from the remote " +"end. This is the default if the configuration option `remote.<remote>." +"mirror` is set." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:24 +#: en/git-push.txt:125 msgid "" -"This is not a command the end user would want to run. Ever. This " -"documentation is meant for people who are studying the plumbing scripts and/" -"or are writing new ones." +"Produce machine-readable output. The output status line for each ref will " +"be tab-separated and sent to stdout instead of stderr. The full symbolic " +"names of the refs will be given." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:29 +#: en/git-push.txt:129 msgid "" -"'git sh-i18n{litdd}envsubst' is Git's stripped-down copy of the GNU " -"`envsubst(1)` program that comes with the GNU gettext package. It's used " -"internally by linkgit:git-sh-i18n[1] to interpolate the variables passed to " -"the `eval_gettext` function." +"All listed refs are deleted from the remote repository. This is the same as " +"prefixing all refs with a colon." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:33 +#: en/git-push.txt:134 msgid "" -"No promises are made about the interface, or that this program won't " -"disappear without warning in the next version of Git. Don't use it." +"All refs under `refs/tags` are pushed, in addition to refspecs explicitly " +"listed on the command line." msgstr "" -#. type: Title = -#: en/git-sh-i18n.txt:2 +#. type: Labeled list +#: en/git-push.txt:135 #, no-wrap -msgid "git-sh-i18n(1)" +msgid "--follow-tags" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:7 -msgid "git-sh-i18n - Git's i18n setup code for shell scripts" +#: en/git-push.txt:142 +msgid "" +"Push all the refs that would be pushed without this option, and also push " +"annotated tags in `refs/tags` that are missing from the remote but are " +"pointing at commit-ish that are reachable from the refs being pushed. This " +"can also be specified with configuration variable `push.followTags`. For " +"more information, see `push.followTags` in linkgit:git-config[1]." msgstr "" -#. type: Plain text -#: en/git-sh-i18n.txt:12 +#. type: Labeled list +#: en/git-push.txt:143 en/git-send-pack.txt:73 #, no-wrap -msgid "'. \"$(git --exec-path)/git-sh-i18n\"'\n" +msgid "--[no-]signed" +msgstr "" + +#. type: Labeled list +#: en/git-push.txt:144 en/git-send-pack.txt:74 +#, no-wrap +msgid "--sign=(true|false|if-asked)" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:26 +#: en/git-push.txt:153 en/git-send-pack.txt:83 msgid "" -"The 'git sh-i18n scriptlet is designed to be sourced (using `.`) by Git's " -"porcelain programs implemented in shell script. It provides wrappers for the " -"GNU `gettext` and `eval_gettext` functions accessible through the `gettext." -"sh` script, and provides pass-through fallbacks on systems without GNU " -"gettext." +"GPG-sign the push request to update refs on the receiving side, to allow it " +"to be checked by the hooks and/or be logged. If `false` or `--no-signed`, " +"no signing will be attempted. If `true` or `--signed`, the push will fail " +"if the server does not support signed pushes. If set to `if-asked`, sign if " +"and only if the server supports signed pushes. The push will also fail if " +"the actual call to `gpg --sign` fails. See linkgit:git-receive-pack[1] for " +"the details on the receiving end." msgstr "" #. type: Labeled list -#: en/git-sh-i18n.txt:30 +#: en/git-push.txt:154 #, no-wrap -msgid "gettext" +msgid "--[no-]atomic" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:34 +#: en/git-push.txt:158 msgid "" -"Currently a dummy fall-through function implemented as a wrapper around " -"`printf(1)`. Will be replaced by a real gettext implementation in a later " -"version." +"Use an atomic transaction on the remote side if available. Either all refs " +"are updated, or on error, no refs are updated. If the server does not " +"support atomic pushes the push will fail." msgstr "" #. type: Labeled list -#: en/git-sh-i18n.txt:35 -#, no-wrap -msgid "eval_gettext" -msgstr "" +#: en/git-push.txt:160 +#, fuzzy, no-wrap +#| msgid "status" +msgid "--push-option" +msgstr "status" #. type: Plain text -#: en/git-sh-i18n.txt:40 +#: en/git-push.txt:164 msgid "" -"Currently a dummy fall-through function implemented as a wrapper around " -"`printf(1)` with variables expanded by the linkgit:git-sh-i18n{litdd}" -"envsubst[1] helper. Will be replaced by a real gettext implementation in a " -"later version." +"Transmit the given string to the server, which passes them to the pre-" +"receive as well as the post-receive hook. The given string must not contain " +"a NUL or LF character." msgstr "" -#. type: Title = -#: en/git-shortlog.txt:2 +#. type: Labeled list +#: en/git-push.txt:165 en/git-send-pack.txt:28 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "git-shortlog(1)" +msgid "--receive-pack=<git-receive-pack>" msgstr "git-commit(1)" -#. type: Plain text -#: en/git-shortlog.txt:7 -msgid "git-shortlog - Summarize 'git log' output" -msgstr "" +#. type: Labeled list +#: en/git-push.txt:166 en/git-send-pack.txt:34 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--exec=<git-receive-pack>" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-shortlog.txt:13 -#, no-wrap +#: en/git-push.txt:171 en/git-send-pack.txt:33 msgid "" -"git log --pretty=short | 'git shortlog' [<options>]\n" -"'git shortlog' [<options>] [<revision range>] [[\\--] <path>...]\n" +"Path to the 'git-receive-pack' program on the remote end. Sometimes useful " +"when pushing to a remote repository over ssh, and you do not have the " +"program in a directory on the default $PATH." msgstr "" -#. type: Plain text -#: en/git-shortlog.txt:18 -msgid "" -"Summarizes 'git log' output in a format suitable for inclusion in release " -"announcements. Each commit will be grouped by author and title." +#. type: Labeled list +#: en/git-push.txt:172 +#, no-wrap +msgid "--[no-]force-with-lease" msgstr "" -#. type: Plain text -#: en/git-shortlog.txt:20 -msgid "Additionally, \"[PATCH]\" will be stripped from the commit description." +#. type: Labeled list +#: en/git-push.txt:173 +#, no-wrap +msgid "--force-with-lease=<refname>" msgstr "" -#. type: Plain text -#: en/git-shortlog.txt:25 -msgid "" -"If no revisions are passed on the command line and either standard input is " -"not a terminal or there is no current branch, 'git shortlog' will output a " -"summary of the log read from standard input, without reference to the " -"current repository." +#. type: Labeled list +#: en/git-push.txt:174 +#, no-wrap +msgid "--force-with-lease=<refname>:<expect>" msgstr "" #. type: Plain text -#: en/git-shortlog.txt:33 +#: en/git-push.txt:177 msgid "" -"Sort output according to the number of commits per author instead of author " -"alphabetic order." -msgstr "" - -#. type: Plain text -#: en/git-shortlog.txt:37 -msgid "Suppress commit description and provide a commit count summary only." +"Usually, \"git push\" refuses to update a remote ref that is not an ancestor " +"of the local ref used to overwrite it." msgstr "" -#. type: Labeled list -#: en/git-shortlog.txt:39 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--email" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-shortlog.txt:41 -msgid "Show the email address of each author." +#: en/git-push.txt:180 +msgid "" +"This option overrides this restriction if the current value of the remote " +"ref is the expected value. \"git push\" fails otherwise." msgstr "" -#. type: Labeled list -#: en/git-shortlog.txt:42 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--format[=<format>]" -msgstr "Configuration" - #. type: Plain text -#: en/git-shortlog.txt:47 +#: en/git-push.txt:187 msgid "" -"Instead of the commit subject, use some other information to describe each " -"commit. '<format>' can be any string accepted by the `--format` option of " -"'git log', such as '* [%h] %s'. (See the \"PRETTY FORMATS\" section of " -"linkgit:git-log[1].)" +"Imagine that you have to rebase what you have already published. You will " +"have to bypass the \"must fast-forward\" rule in order to replace the " +"history you originally published with the rebased history. If somebody else " +"built on top of your original history while you are rebasing, the tip of the " +"branch at the remote may advance with her commit, and blindly pushing with " +"`--force` will lose her work." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:49 -msgid "Each pretty-printed commit will be rewrapped before it is shown." +#: en/git-push.txt:194 +msgid "" +"This option allows you to say that you expect the history you are updating " +"is what you rebased and want to replace. If the remote ref still points at " +"the commit you specified, you can be sure that no other people did anything " +"to the ref. It is like taking a \"lease\" on the ref without explicitly " +"locking it, and the remote ref is updated only if the \"lease\" is still " +"valid." msgstr "" -#. type: Labeled list -#: en/git-shortlog.txt:51 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--committer" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-shortlog.txt:53 -msgid "Collect and show committer identities instead of authors." +#: en/git-push.txt:199 +msgid "" +"`--force-with-lease` alone, without specifying the details, will protect all " +"remote refs that are going to be updated by requiring their current value to " +"be the same as the remote-tracking branch we have for them." msgstr "" -#. type: Labeled list -#: en/git-shortlog.txt:54 -#, no-wrap -msgid "-w[<width>[,<indent1>[,<indent2>]]]" +#. type: Plain text +#: en/git-push.txt:204 +msgid "" +"`--force-with-lease=<refname>`, without specifying the expected value, will " +"protect the named ref (alone), if it is going to be updated, by requiring " +"its current value to be the same as the remote-tracking branch we have for " +"it." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:59 +#: en/git-push.txt:212 msgid "" -"Linewrap the output by wrapping each line at `width`. The first line of " -"each entry is indented by `indent1` spaces, and the second and subsequent " -"lines are indented by `indent2` spaces. `width`, `indent1`, and `indent2` " -"default to 76, 6 and 9 respectively." +"`--force-with-lease=<refname>:<expect>` will protect the named ref (alone), " +"if it is going to be updated, by requiring its current value to be the same " +"as the specified value `<expect>` (which is allowed to be different from the " +"remote-tracking branch we have for the refname, or we do not even have to " +"have such a remote-tracking branch when this form is used). If `<expect>` " +"is the empty string, then the named ref must not already exist." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:62 +#: en/git-push.txt:217 msgid "" -"If width is `0` (zero) then indent the lines of the output without wrapping " -"them." +"Note that all forms other than `--force-with-lease=<refname>:<expect>` that " +"specifies the expected current value of the ref explicitly are still " +"experimental and their semantics may change as we gain experience with this " +"feature." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:71 +#: en/git-push.txt:220 msgid "" -"Show only commits in the specified revision range. When no <revision range> " -"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " -"current commit). `origin..HEAD` specifies all the commits reachable from " -"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " -"of ways to spell <revision range>, see the \"Specifying Ranges\" section of " -"linkgit:gitrevisions[7]." +"\"--no-force-with-lease\" will cancel all the previous --force-with-lease on " +"the command line." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:75 -#, no-wrap +#: en/git-push.txt:228 msgid "" -"[\\--] <path>...::\n" -"\tConsider only commits that are enough to explain how the files\n" -"\tthat match the specified paths came to be.\n" +"Usually, the command refuses to update a remote ref that is not an ancestor " +"of the local ref used to overwrite it. Also, when `--force-with-lease` " +"option is used, the command refuses to update a remote ref whose current " +"value does not match what is expected." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:78 +#: en/git-push.txt:231 msgid "" -"Paths may need to be prefixed with \"\\-- \" to separate them from options " -"or the revision range, when confusion arises." +"This flag disables these checks, and can cause the remote repository to lose " +"commits; use it with care." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:85 +#: en/git-push.txt:240 msgid "" -"The `.mailmap` feature is used to coalesce together commits by the same " -"person in the shortlog, where their name and/or email address was spelled " -"differently." +"Note that `--force` applies to all the refs that are pushed, hence using it " +"with `push.default` set to `matching` or with multiple push destinations " +"configured with `remote.*.push` may overwrite refs other than the current " +"branch (including local refs that are strictly behind their remote " +"counterpart). To force a push to only one branch, use a `+` in front of the " +"refspec to push (e.g `git push origin +master` to force a push to the " +"`master` branch). See the `<refspec>...` section above for details." msgstr "" -#. type: Title = -#: en/git-show-branch.txt:2 +#. type: Labeled list +#: en/git-push.txt:241 #, no-wrap -msgid "git-show-branch(1)" +msgid "--repo=<repository>" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:7 -msgid "git-show-branch - Show branches and their commits" +#: en/git-push.txt:244 +msgid "" +"This option is equivalent to the <repository> argument. If both are " +"specified, the command-line argument takes precedence." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:17 -#, no-wrap +#: en/git-push.txt:251 msgid "" -"'git show-branch' [-a|--all] [-r|--remotes] [--topo-order | --date-order]\n" -"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n" -"\t\t[--more=<n> | --list | --independent | --merge-base]\n" -"\t\t[--no-name | --sha1-name] [--topics]\n" -"\t\t[(<rev> | <glob>)...]\n" -"'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]\n" +"For every branch that is up to date or successfully pushed, add upstream " +"(tracking) reference, used by argument-less linkgit:git-pull[1] and other " +"commands. For more information, see `branch.<name>.merge` in linkgit:git-" +"config[1]." msgstr "" -#. type: Plain text -#: en/git-show-branch.txt:24 -msgid "" -"Shows the commit ancestry graph starting from the commits named with <rev>s " -"or <globs>s (or all refs under refs/heads and/or refs/tags) semi-visually." +#. type: Labeled list +#: en/git-push.txt:252 +#, no-wrap +msgid "--[no-]thin" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:26 -msgid "It cannot show more than 29 branches and commits at a time." +#: en/git-push.txt:257 +msgid "" +"These options are passed to linkgit:git-send-pack[1]. A thin transfer " +"significantly reduces the amount of sent data when the sender and receiver " +"share many of the same objects in common. The default is \\--thin." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:29 +#: en/git-push.txt:263 msgid "" -"It uses `showbranch.default` multi-valued configuration items if no <rev> or " -"<glob> is given on the command line." +"Suppress all output, including the listing of updated refs, unless an error " +"occurs. Progress is not reported to the standard error stream." msgstr "" #. type: Labeled list -#: en/git-show-branch.txt:33 +#: en/git-push.txt:275 #, no-wrap -msgid "<rev>" +msgid "--recurse-submodules=check|on-demand|only|no" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:36 +#: en/git-push.txt:289 msgid "" -"Arbitrary extended SHA-1 expression (see linkgit:gitrevisions[7]) that " -"typically names a branch head or a tag." +"May be used to make sure all submodule commits used by the revisions to be " +"pushed are available on a remote-tracking branch. If 'check' is used Git " +"will verify that all submodule commits that changed in the revisions to be " +"pushed are available on at least one remote of the submodule. If any commits " +"are missing the push will be aborted and exit with non-zero status. If 'on-" +"demand' is used all submodules that changed in the revisions to be pushed " +"will be pushed. If on-demand was not able to push all necessary revisions it " +"will also be aborted and exit with non-zero status. If 'only' is used all " +"submodules will be recursively pushed while the superproject is left " +"unpushed. A value of 'no' or using `--no-recurse-submodules` can be used to " +"override the push.recurseSubmodules configuration variable when no submodule " +"recursion is required." msgstr "" #. type: Labeled list -#: en/git-show-branch.txt:37 +#: en/git-push.txt:290 #, no-wrap -msgid "<glob>" +msgid "--[no-]verify" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:42 +#: en/git-push.txt:294 msgid "" -"A glob pattern that matches branch or tag names under refs/. For example, " -"if you have many topic branches under refs/heads/topic, giving `topic/*` " -"would show all of them." +"Toggle the pre-push hook (see linkgit:githooks[5]). The default is --" +"verify, giving the hook a chance to prevent the push. With --no-verify, the " +"hook is bypassed completely." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:46 -msgid "Show the remote-tracking branches." +#: en/git-push.txt:311 +msgid "" +"The output of \"git push\" depends on the transport method used; this " +"section describes the output when pushing over the Git protocol (either " +"locally or via ssh)." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:50 -msgid "Show both remote-tracking branches and local branches." +#: en/git-push.txt:314 +msgid "" +"The status of the push is output in tabular form, with each line " +"representing the status of a single ref. Each line is of the form:" msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:51 +#. type: delimited block - +#: en/git-push.txt:317 #, no-wrap -msgid "--current" +msgid " <flag> <summary> <from> -> <to> (<reason>)\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:55 -msgid "" -"With this option, the command includes the current branch to the list of " -"revs to be shown when it is not given on the command line." +#: en/git-push.txt:320 +msgid "If --porcelain is used, then each line of the output is of the form:" msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:56 en/rev-list-options.txt:635 +#. type: delimited block - +#: en/git-push.txt:323 #, no-wrap -msgid "--topo-order" +msgid " <flag> \\t <from>:<to> \\t <summary> (<reason>)\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:61 +#: en/git-push.txt:327 msgid "" -"By default, the branches and their commits are shown in reverse " -"chronological order. This option makes them appear in topological order (i." -"e., descendant commits are shown before their parents)." +"The status of up-to-date refs is shown only if --porcelain or --verbose " +"option is used." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:62 en/rev-list-options.txt:627 -#, no-wrap -msgid "--date-order" +#. type: Plain text +#: en/git-push.txt:331 +msgid "for a successfully pushed fast-forward;" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:66 -msgid "" -"This option is similar to `--topo-order` in the sense that no parent comes " -"before all of its children, but otherwise commits are ordered according to " -"their commit date." +#: en/git-push.txt:333 +msgid "for a successfully deleted ref;" msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:67 en/rev-list-options.txt:333 -#: en/rev-list-options.txt:466 -#, no-wrap -msgid "--sparse" +#. type: Plain text +#: en/git-push.txt:334 +msgid "for a successfully pushed new ref;" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:71 -msgid "" -"By default, the output omits merges that are reachable from only one tip " -"being shown. This option makes them visible." +#: en/git-push.txt:335 +msgid "for a ref that was rejected or failed to push; and" msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:72 -#, no-wrap -msgid "--more=<n>" +#. type: Plain text +#: en/git-push.txt:336 +msgid "for a ref that was up to date and did not need pushing." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:79 +#: en/git-push.txt:342 msgid "" -"Usually the command stops output upon showing the commit that is the common " -"ancestor of all the branches. This flag tells the command to go <n> more " -"common commits beyond that. When <n> is negative, display only the " -"<reference>s given, without showing the commit ancestry tree." +"For a successfully pushed ref, the summary shows the old and new values of " +"the ref in a form suitable for using as an argument to `git log` (this is " +"`<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-" +"forward updates)." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:82 -msgid "Synonym to `--more=-1`" +#: en/git-push.txt:344 +msgid "For a failed update, more details are given:" msgstr "" #. type: Labeled list -#: en/git-show-branch.txt:83 -#, no-wrap -msgid "--merge-base" -msgstr "" +#: en/git-push.txt:346 +#, fuzzy, no-wrap +#| msgid "removed content" +msgid "rejected" +msgstr "contenu supprim챕" #. type: Plain text -#: en/git-show-branch.txt:89 +#: en/git-push.txt:349 msgid "" -"Instead of showing the commit list, determine possible merge bases for the " -"specified commits. All merge bases will be contained in all specified " -"commits. This is different from how linkgit:git-merge-base[1] handles the " -"case of three or more commits." +"Git did not try to send the ref at all, typically because it is not a fast-" +"forward and you did not force the update." msgstr "" +#. type: Labeled list +#: en/git-push.txt:350 +#, fuzzy, no-wrap +#| msgid "removed content" +msgid "remote rejected" +msgstr "contenu supprim챕" + #. type: Plain text -#: en/git-show-branch.txt:93 +#: en/git-push.txt:358 msgid "" -"Among the <reference>s given, display only the ones that cannot be reached " -"from any other <reference>." +"The remote end refused the update. Usually caused by a hook on the remote " +"side, or because the remote repository has one of the following safety " +"options in effect: `receive.denyCurrentBranch` (for pushes to the checked " +"out branch), `receive.denyNonFastForwards` (for forced non-fast-forward " +"updates), `receive.denyDeletes` or `receive.denyDeleteCurrent`. See linkgit:" +"git-config[1]." msgstr "" #. type: Labeled list -#: en/git-show-branch.txt:94 -#, no-wrap -msgid "--no-name" +#: en/git-push.txt:359 +#, fuzzy, no-wrap +#| msgid "removed content" +msgid "remote failure" +msgstr "contenu supprim챕" + +#. type: Plain text +#: en/git-push.txt:363 +msgid "" +"The remote end did not report the successful update of the ref, perhaps " +"because of a temporary error on the remote side, a break in the network " +"connection, or other transient error." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:96 -msgid "Do not show naming strings for each commit." +#: en/git-push.txt:369 +msgid "" +"The name of the local ref being pushed, minus its `refs/<type>/` prefix. In " +"the case of deletion, the name of the local ref is omitted." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:97 -#, no-wrap -msgid "--sha1-name" +#. type: Plain text +#: en/git-push.txt:373 +msgid "" +"The name of the remote ref being updated, minus its `refs/<type>/` prefix." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:102 +#: en/git-push.txt:378 msgid "" -"Instead of naming the commits using the path to reach them from heads (e.g. " -"\"master~2\" to mean the grandparent of \"master\"), name them with the " -"unique prefix of their object names." +"A human-readable explanation. In the case of successfully pushed refs, no " +"explanation is needed. For a failed ref, the reason for failure is described." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:103 +#. type: Title - +#: en/git-push.txt:380 #, no-wrap -msgid "--topics" +msgid "Note about fast-forwards" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:110 +#: en/git-push.txt:385 msgid "" -"Shows only commits that are NOT on the first branch given. This helps track " -"topic branches by hiding any commit that is already in the main line of " -"development. When given \"git show-branch --topics master topic1 topic2\", " -"this will show the revisions given by \"git rev-list {caret}master topic1 " -"topic2\"" +"When an update changes a branch (or more in general, a ref) that used to " +"point at commit A to point at another commit B, it is called a fast-forward " +"update if and only if B is a descendant of A." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:112 -#, no-wrap -msgid "--reflog[=<n>[,<base>]] [<ref>]" +#. type: Plain text +#: en/git-push.txt:389 +msgid "" +"In a fast-forward update from A to B, the set of commits that the original " +"commit A built on top of is a subset of the commits the new commit B builds " +"on top of. Hence, it does not lose any history." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:118 +#: en/git-push.txt:394 msgid "" -"Shows <n> most recent ref-log entries for the given ref. If <base> is " -"given, <n> entries going back from that entry. <base> can be specified as " -"count or date. When no explicit <ref> parameter is given, it defaults to " -"the current branch (or `HEAD` if it is detached)." +"In contrast, a non-fast-forward update will lose history. For example, " +"suppose you and somebody else started at the same commit X, and you built a " +"history leading to commit B while the other person built a history leading " +"to commit A. The history looks like this:" msgstr "" -#. type: Plain text -#: en/git-show-branch.txt:123 +#. type: delimited block - +#: en/git-push.txt:400 +#, no-wrap msgid "" -"Color the status sign (one of these: `*` `!` `+` `-`) of each commit " -"corresponding to the branch it's in. The value must be always (the " -"default), never, or auto." +" B\n" +" /\n" +" ---X---A\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:128 +#: en/git-push.txt:406 msgid "" -"Turn off colored output, even when the configuration file gives the default " -"to color output. Same as `--color=never`." +"Further suppose that the other person already pushed changes leading to A " +"back to the original repository from which you two obtained the original " +"commit X." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:131 +#: en/git-push.txt:409 msgid "" -"Note that --more, --list, --independent and --merge-base options are " -"mutually exclusive." +"The push done by the other person updated the branch that used to point at " +"commit X to point at commit A. It is a fast-forward." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:139 +#: en/git-push.txt:414 msgid "" -"Given N <references>, the first N lines are the one-line description from " -"their commit message. The branch head that is pointed at by $GIT_DIR/HEAD " -"is prefixed with an asterisk `*` character while other heads are prefixed " -"with a `!` character." +"But if you try to push, you will attempt to update the branch (that now " +"points at A) with commit B. This does _not_ fast-forward. If you did so, " +"the changes introduced by commit A will be lost, because everybody will now " +"start building on top of B." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:146 +#: en/git-push.txt:417 msgid "" -"Following these N lines, one-line log for each commit is displayed, indented " -"N places. If a commit is on the I-th branch, the I-th indentation character " -"shows a `+` sign; otherwise it shows a space. Merge commits are denoted by " -"a `-` sign. Each commit shows a short name that can be used as an extended " -"SHA-1 to name that commit." +"The command by default does not allow an update that is not a fast-forward " +"to prevent such loss of history." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:149 +#: en/git-push.txt:422 msgid "" -"The following example shows three branches, \"master\", \"fixes\" and \"mhf" -"\":" +"If you do not want to lose your work (history from X to B) or the work by " +"the other person (history from X to A), you would need to first fetch the " +"history from the repository, create a history that contains changes done by " +"both parties, and push the result back." msgstr "" -#. type: delimited block - -#: en/git-show-branch.txt:155 -#, no-wrap +#. type: Plain text +#: en/git-push.txt:426 msgid "" -"$ git show-branch master fixes mhf\n" -"* [master] Add 'git show-branch'.\n" -" ! [fixes] Introduce \"reset type\" flag to \"git reset\"\n" -" ! [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" -"---\n" +"You can perform \"git pull\", resolve potential conflicts, and \"git push\" " +"the result. A \"git pull\" will create a merge commit C between commits A " +"and B." msgstr "" #. type: delimited block - -#: en/git-show-branch.txt:167 +#: en/git-push.txt:432 #, no-wrap msgid "" -" + [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" -" + [mhf~1] Use git-octopus when pulling more than one heads.\n" -" + [fixes] Introduce \"reset type\" flag to \"git reset\"\n" -" + [mhf~2] \"git fetch --force\".\n" -" + [mhf~3] Use .git/remote/origin, not .git/branches/origin.\n" -" + [mhf~4] Make \"git pull\" and \"git fetch\" default to origin\n" -" + [mhf~5] Infamous 'octopus merge'\n" -" + [mhf~6] Retire git-parse-remote.\n" -" + [mhf~7] Multi-head fetch.\n" -" + [mhf~8] Start adding the $GIT_DIR/remotes/ support.\n" -"*++ [master] Add 'git show-branch'.\n" +" B---C\n" +" / /\n" +" ---X---A\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:174 +#: en/git-push.txt:437 msgid "" -"These three branches all forked from a common commit, [master], whose commit " -"message is \"Add {apostrophe}git show-branch{apostrophe}\". The \"fixes\" " -"branch adds one commit \"Introduce \"reset type\" flag to \"git reset\"\". " -"The \"mhf\" branch adds many other commits. The current branch is \"master" -"\"." +"Updating A with the resulting merge commit will fast-forward and your push " +"will be accepted." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:182 +#: en/git-push.txt:442 msgid "" -"If you keep your primary branches immediately under `refs/heads`, and topic " -"branches in subdirectories of it, having the following in the configuration " -"file may help:" +"Alternatively, you can rebase your change between X and B on top of A, with " +"\"git pull --rebase\", and push the result back. The rebase will create a " +"new commit D that builds the change between X and B on top of A." msgstr "" #. type: delimited block - -#: en/git-show-branch.txt:187 +#: en/git-push.txt:448 #, no-wrap msgid "" -"[showbranch]\n" -"\tdefault = --topo-order\n" -"\tdefault = heads/*\n" +" B D\n" +" / /\n" +" ---X---A\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:193 +#: en/git-push.txt:453 msgid "" -"With this, `git show-branch` without extra parameters would show only the " -"primary branches. In addition, if you happen to be on your topic branch, it " -"is shown as well." -msgstr "" - -#. type: delimited block - -#: en/git-show-branch.txt:196 -#, no-wrap -msgid "$ git show-branch --reflog=\"10,1 hour ago\" --list master\n" +"Again, updating A with this commit will fast-forward and your push will be " +"accepted." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:201 +#: en/git-push.txt:464 msgid "" -"shows 10 reflog entries going back from the tip as of 1 hour ago. Without " -"`--list`, the output also shows how these tips are topologically related " -"with each other." +"There is another common situation where you may encounter non-fast-forward " +"rejection when you try to push, and it is possible even when you are pushing " +"into a repository nobody else pushes into. After you push commit A yourself " +"(in the first picture in this section), replace it with \"git commit --amend" +"\" to produce commit B, and you try to push it out, because forgot that you " +"have pushed A out already. In such a case, and only if you are certain that " +"nobody in the meantime fetched your earlier commit A (and started building " +"on top of it), you can run \"git push --force\" to overwrite it. In other " +"words, \"git push --force\" is a method reserved for a case where you do " +"mean to lose history." msgstr "" -#. type: Title = -#: en/git-show-index.txt:2 +#. type: Labeled list +#: en/git-push.txt:469 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-show-index(1)" -msgstr "git-commit(1)" +#| msgid "git-add(1)" +msgid "`git push`" +msgstr "git-add(1)" #. type: Plain text -#: en/git-show-index.txt:7 -msgid "git-show-index - Show packed archive index" +#: en/git-push.txt:473 +msgid "" +"Works like `git push <remote>`, where <remote> is the current branch's " +"remote (or `origin`, if no remote is configured for the current branch)." msgstr "" +#. type: Labeled list +#: en/git-push.txt:474 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git push origin`" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-show-index.txt:13 -#, no-wrap -msgid "'git show-index'\n" +#: en/git-push.txt:479 +msgid "" +"Without additional configuration, pushes the current branch to the " +"configured upstream (`remote.origin.merge` configuration variable) if it has " +"the same name as the current branch, and errors out without pushing " +"otherwise." msgstr "" #. type: Plain text -#: en/git-show-index.txt:20 +#: en/git-push.txt:483 msgid "" -"Read the idx file for a Git packfile created with 'git pack-objects' command " -"from the standard input, and dump its contents." +"The default behavior of this command when no <refspec> is given can be " +"configured by setting the `push` option of the remote, or the `push.default` " +"configuration variable." msgstr "" #. type: Plain text -#: en/git-show-index.txt:24 +#: en/git-push.txt:488 msgid "" -"The information it outputs is subset of what you can get from 'git verify-" -"pack -v'; this command only shows the packfile offset and SHA-1 of each " -"object." +"For example, to default to pushing only the current branch to `origin` use " +"`git config remote.origin.push HEAD`. Any valid <refspec> (like the ones in " +"the examples below) can be configured as the default for `git push origin`." msgstr "" -#. type: Title = -#: en/git-show-ref.txt:2 -#, no-wrap -msgid "git-show-ref(1)" -msgstr "" +#. type: Labeled list +#: en/git-push.txt:489 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git push origin :`" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-show-ref.txt:7 -msgid "git-show-ref - List references in a local repository" +#: en/git-push.txt:493 +msgid "" +"Push \"matching\" branches to `origin`. See <refspec> in the <<OPTIONS," +"OPTIONS>> section above for a description of \"matching\" branches." msgstr "" +#. type: Labeled list +#: en/git-push.txt:494 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git push origin master`" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-show-ref.txt:15 -#, no-wrap +#: en/git-push.txt:500 msgid "" -"'git show-ref' [-q|--quiet] [--verify] [--head] [-d|--dereference]\n" -"\t [-s|--hash[=<n>]] [--abbrev[=<n>]] [--tags]\n" -"\t [--heads] [--] [<pattern>...]\n" -"'git show-ref' --exclude-existing[=<pattern>]\n" +"Find a ref that matches `master` in the source repository (most likely, it " +"would find `refs/heads/master`), and update the same ref (e.g. `refs/heads/" +"master`) in `origin` repository with it. If `master` did not exist " +"remotely, it would be created." msgstr "" +#. type: Labeled list +#: en/git-push.txt:501 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "`git push origin HEAD`" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-show-ref.txt:23 -msgid "" -"Displays references available in a local repository along with the " -"associated commit IDs. Results can be filtered using a pattern and tags can " -"be dereferenced into object IDs. Additionally, it can be used to test " -"whether a particular ref exists." +#: en/git-push.txt:504 +msgid "A handy way to push the current branch to the same name on the remote." +msgstr "" + +#. type: Labeled list +#: en/git-push.txt:505 +#, no-wrap +msgid "`git push mothership master:satellite/master dev:satellite/dev`" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:25 -msgid "By default, shows the tags, heads, and remote refs." +#: en/git-push.txt:510 +msgid "" +"Use the source ref that matches `master` (e.g. `refs/heads/master`) to " +"update the ref that matches `satellite/master` (most probably `refs/remotes/" +"satellite/master`) in the `mothership` repository; do the same for `dev` and " +"`satellite/dev`." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:29 +#: en/git-push.txt:517 msgid "" -"The --exclude-existing form is a filter that does the inverse. It reads refs " -"from stdin, one ref per line, and shows those that don't exist in the local " -"repository." +"This is to emulate `git fetch` run on the `mothership` using `git push` that " +"is run in the opposite direction in order to integrate the work done on " +"`satellite`, and is often necessary when you can only make connection in one " +"way (i.e. satellite can ssh into mothership but mothership cannot initiate " +"connection to satellite because the latter is behind a firewall or does not " +"run sshd)." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:32 +#: en/git-push.txt:522 msgid "" -"Use of this utility is encouraged in favor of directly accessing files under " -"the `.git` directory." +"After running this `git push` on the `satellite` machine, you would ssh into " +"the `mothership` and run `git merge` there to complete the emulation of `git " +"pull` that were run on `mothership` to pull changes made on `satellite`." msgstr "" #. type: Labeled list -#: en/git-show-ref.txt:36 +#: en/git-push.txt:523 #, no-wrap -msgid "--head" -msgstr "" - -#. type: Plain text -#: en/git-show-ref.txt:39 -msgid "Show the HEAD reference, even if it would normally be filtered out." +msgid "`git push origin HEAD:master`" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:46 +#: en/git-push.txt:527 msgid "" -"Limit to \"refs/heads\" and \"refs/tags\", respectively. These options are " -"not mutually exclusive; when given both, references stored in \"refs/heads\" " -"and \"refs/tags\" are displayed." +"Push the current branch to the remote ref matching `master` in the `origin` " +"repository. This form is convenient to push the current branch without " +"thinking about its local name." msgstr "" #. type: Labeled list -#: en/git-show-ref.txt:48 +#: en/git-push.txt:528 #, no-wrap -msgid "--dereference" +msgid "`git push origin master:refs/heads/experimental`" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:52 +#: en/git-push.txt:534 msgid "" -"Dereference tags into object IDs as well. They will be shown with \"{caret}" -"{}\" appended." +"Create the branch `experimental` in the `origin` repository by copying the " +"current `master` branch. This form is only needed to create a new branch or " +"tag in the remote repository when the local name and the remote name are " +"different; otherwise, the ref name on its own will work." msgstr "" #. type: Labeled list -#: en/git-show-ref.txt:54 +#: en/git-push.txt:535 #, no-wrap -msgid "--hash[=<n>]" +msgid "`git push origin :experimental`" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:58 +#: en/git-push.txt:538 msgid "" -"Only show the SHA-1 hash, not the reference name. When combined with --" -"dereference the dereferenced tag will still be shown after the SHA-1." +"Find a ref that matches `experimental` in the `origin` repository (e.g. " +"`refs/heads/experimental`), and delete it." +msgstr "" + +#. type: Labeled list +#: en/git-push.txt:539 +#, no-wrap +msgid "`git push origin +dev:master`" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:64 +#: en/git-push.txt:544 msgid "" -"Enable stricter reference checking by requiring an exact ref path. Aside " -"from returning an error code of 1, it will also print an error message if `--" -"quiet` was not specified." +"Update the origin repository's master branch with the dev branch, allowing " +"non-fast-forward updates. *This can leave unreferenced commits dangling in " +"the origin repository.* Consider the following situation, where a fast-" +"forward is not possible:" msgstr "" -#. type: Plain text -#: en/git-show-ref.txt:69 +#. type: delimited block - +#: en/git-push.txt:549 +#, no-wrap msgid "" -"Abbreviate the object name. When using `--hash`, you do not have to say `--" -"hash --abbrev`; `--hash=n` would do." +"\t o---o---o---A---B origin/master\n" +"\t\t \\\n" +"\t\t X---Y---Z dev\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:75 -msgid "" -"Do not print any results to stdout. When combined with `--verify` this can " -"be used to silently check if a reference exists." +#: en/git-push.txt:552 +msgid "The above command would change the origin repository to" msgstr "" -#. type: Labeled list -#: en/git-show-ref.txt:76 +#. type: delimited block - +#: en/git-push.txt:557 #, no-wrap -msgid "--exclude-existing[=<pattern>]" +msgid "" +"\t\t A---B (unnamed branch)\n" +"\t\t /\n" +"\t o---o---o---X---Y---Z master\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:81 +#: en/git-push.txt:562 msgid "" -"Make 'git show-ref' act as a filter that reads refs from stdin of the form " -"\"`^(?:<anything>\\s)?<refname>(?:\\^{})?$`\" and performs the following " -"actions on each:" +"Commits A and B would no longer belong to a branch with a symbolic name, and " +"so would be unreachable. As such, these commits would be removed by a `git " +"gc` command on the origin repository." msgstr "" -#. type: Plain text -#: en/git-show-ref.txt:82 -msgid "strip \"{caret}{}\" at the end of line if any;" +#. type: Title = +#: en/git-quiltimport.txt:2 +#, no-wrap +msgid "git-quiltimport(1)" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:83 -msgid "ignore if pattern is provided and does not head-match refname;" +#: en/git-quiltimport.txt:7 +msgid "git-quiltimport - Applies a quilt patchset onto the current branch" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:84 -msgid "warn if refname is not a well-formed refname and skip;" +#: en/git-quiltimport.txt:14 +#, no-wrap +msgid "" +"'git quiltimport' [--dry-run | -n] [--author <author>] [--patches <dir>]\n" +"\t\t[--series <file>]\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:85 -msgid "ignore if refname is a ref that exists in the local repository;" +#: en/git-quiltimport.txt:21 +msgid "" +"Applies a quilt patchset onto the current Git branch, preserving the patch " +"boundaries, patch order, and patch descriptions present in the quilt " +"patchset." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:86 -msgid "otherwise output the line." +#: en/git-quiltimport.txt:27 +msgid "" +"For each patch the code attempts to extract the author from the patch " +"description. If that fails it falls back to the author specified with --" +"author. If the --author flag was not given the patch description is " +"displayed and the user is asked to interactively enter the author of the " +"patch." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:95 +#: en/git-quiltimport.txt:30 msgid "" -"Show references matching one or more patterns. Patterns are matched from the " -"end of the full name, and only complete parts are matched, e.g. 'master' " -"matches 'refs/heads/master', 'refs/remotes/origin/master', 'refs/tags/jedi/" -"master' but not 'refs/heads/mymaster' or 'refs/remotes/master/jedi'." +"If a subject is not found in the patch description the patch name is " +"preserved as the 1 line subject in the Git description." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:100 -msgid "The output is in the format: '<SHA-1 ID>' '<space>' '<reference name>'." +#: en/git-quiltimport.txt:40 +msgid "" +"Walk through the patches in the series and warn if we cannot find all of the " +"necessary information to commit a patch. At the time of this writing only " +"missing author information is warned about." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:111 +#. type: Labeled list +#: en/git-quiltimport.txt:41 #, no-wrap -msgid "" -"$ git show-ref --head --dereference\n" -"832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD\n" -"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master\n" -"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin\n" -"3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c\n" -"6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}\n" -"055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4\n" -"423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}\n" -"...\n" +msgid "--author Author Name <Author Email>" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:114 +#: en/git-quiltimport.txt:44 msgid "" -"When using --hash (and not --dereference) the output format is: '<SHA-1 ID>'" +"The author name and email address to use when no author information can be " +"found in the patch description." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:121 +#. type: Labeled list +#: en/git-quiltimport.txt:45 #, no-wrap -msgid "" -"$ git show-ref --heads --hash\n" -"2e3ba0114a1f52b47df29743d6915d056be13278\n" -"185008ae97960c8d551adcd9e23565194651b5d1\n" -"03adf42c988195b50e1a1935ba5fcbc39b2b029b\n" -"...\n" +msgid "--patches <dir>" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:129 +#: en/git-quiltimport.txt:47 +msgid "The directory to find the quilt patches." +msgstr "" + +#. type: Plain text +#: en/git-quiltimport.txt:51 msgid "" -"To show all references called \"master\", whether tags or heads or anything " -"else, and regardless of how deep in the reference naming hierarchy they are, " -"use:" +"The default for the patch directory is patches or the value of the `" +"$QUILT_PATCHES` environment variable." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:132 +#. type: Labeled list +#: en/git-quiltimport.txt:52 #, no-wrap -msgid "\tgit show-ref master\n" +msgid "--series <file>" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:136 -msgid "" -"This will show \"refs/heads/master\" but also \"refs/remote/other-repo/master" -"\", if such references exists." +#: en/git-quiltimport.txt:54 +msgid "The quilt series file." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:138 -msgid "When using the `--verify` flag, the command requires an exact path:" +#: en/git-quiltimport.txt:58 +msgid "" +"The default for the series file is <patches>/series or the value of the `" +"$QUILT_SERIES` environment variable." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:141 +#. type: Title = +#: en/git-read-tree.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-read-tree(1)" +msgstr "git-add(1)" + +# +#. type: Plain text +#: en/git-read-tree.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-read-tree - Reads tree information into the index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/git-read-tree.txt:16 #, no-wrap -msgid "\tgit show-ref --verify refs/heads/master\n" +msgid "" +"'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>]\n" +"\t\t[-u [--exclude-per-directory=<gitignore>] | -i]]\n" +"\t\t[--index-output=<file>] [--no-sparse-checkout]\n" +"\t\t(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:144 -msgid "will only match the exact branch called \"master\"." +#: en/git-read-tree.txt:23 +msgid "" +"Reads the tree information given by <tree-ish> into the index, but does not " +"actually *update* any of the files it \"caches\". (see: linkgit:git-checkout-" +"index[1])" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:147 +#: en/git-read-tree.txt:28 msgid "" -"If nothing matches, 'git show-ref' will return an error code of 1, and in " -"the case of verification, it will show an error message." +"Optionally, it can merge a tree into the index, perform a fast-forward (i.e. " +"2-way) merge, or a 3-way merge, with the `-m` flag. When used with `-m`, " +"the `-u` flag causes it to also update the files in the work tree with the " +"result of the merge." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:150 +#: en/git-read-tree.txt:31 msgid "" -"For scripting, you can ask it to be quiet with the \"--quiet\" flag, which " -"allows you to do things like" +"Trivial merges are done by 'git read-tree' itself. Only conflicting paths " +"will be in unmerged state when 'git read-tree' returns." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:154 -#, no-wrap +#. type: Plain text +#: en/git-read-tree.txt:39 msgid "" -"\tgit show-ref --quiet --verify -- \"refs/heads/$headname\" ||\n" -"\t\techo \"$headname is not a valid branch\"\n" +"Perform a merge, not just a read. The command will refuse to run if your " +"index file has unmerged entries, indicating that you have not finished " +"previous merge you started." msgstr "" +#. type: Labeled list +#: en/git-read-tree.txt:40 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--reset" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-show-ref.txt:159 +#: en/git-read-tree.txt:43 msgid "" -"to check whether a particular branch exists or not (notice how we don't " -"actually want to show any results, and we want to use the full refname for " -"it in order to not trigger the problem with ambiguous partial matches)." +"Same as -m, except that unmerged entries are discarded instead of failing." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:163 +#: en/git-read-tree.txt:47 msgid "" -"To show only tags, or only proper branch heads, use \"--tags\" and/or \"--" -"heads\" respectively (using both means that it shows tags and heads, but not " -"other random references under the refs/ subdirectory)." +"After a successful merge, update the files in the work tree with the result " +"of the merge." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:166 +#: en/git-read-tree.txt:56 msgid "" -"To do automatic tag object dereferencing, use the \"-d\" or \"--dereference" -"\" flag, so you can do" +"Usually a merge requires the index file as well as the files in the working " +"tree to be up to date with the current head commit, in order not to lose " +"local changes. This flag disables the check with the working tree and is " +"meant to be used when creating a merge of trees that are not directly " +"related to the current working tree status into a temporary index file." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:169 -#, no-wrap -msgid "\tgit show-ref --tags --dereference\n" +#. type: Plain text +#: en/git-read-tree.txt:61 +msgid "" +"Check if the command would error out, without updating the index or the " +"files in the working tree for real." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:172 -msgid "to get a listing of all tags together with what they dereference." +#: en/git-read-tree.txt:64 +msgid "Show the progress of checking files out." msgstr "" -#. type: Plain text -#: en/git-show-ref.txt:176 -msgid "`.git/refs/*`, `.git/packed-refs`" +#. type: Labeled list +#: en/git-read-tree.txt:65 +#, no-wrap +msgid "--trivial" msgstr "" -# #. type: Plain text -#: en/git-show-ref.txt:183 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-read-tree.txt:70 msgid "" -"linkgit:git-for-each-ref[1], linkgit:git-ls-remote[1], linkgit:git-update-" -"ref[1], linkgit:gitrepository-layout[5]" +"Restrict three-way merge by 'git read-tree' to happen only if there is no " +"file-level merging required, instead of resolving merge for trivial cases " +"and leaving conflicting files unresolved in the index." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Title = -#: en/git-show.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-show(1)" -msgstr "git-add(1)" #. type: Plain text -#: en/git-show.txt:7 -msgid "git-show - Show various types of objects" +#: en/git-read-tree.txt:77 +msgid "" +"Usually a three-way merge by 'git read-tree' resolves the merge for really " +"trivial cases and leaves other cases unresolved in the index, so that " +"porcelains can implement different merge policies. This flag makes the " +"command resolve a few more cases internally:" msgstr "" #. type: Plain text -#: en/git-show.txt:13 -#, no-wrap -msgid "'git show' [options] <object>...\n" +#: en/git-read-tree.txt:80 +msgid "" +"when one side removes a path and the other side leaves the path unmodified. " +"The resolution is to remove that path." msgstr "" #. type: Plain text -#: en/git-show.txt:17 -msgid "Shows one or more objects (blobs, trees, tags and commits)." +#: en/git-read-tree.txt:81 +msgid "when both sides remove a path. The resolution is to remove that path." msgstr "" #. type: Plain text -#: en/git-show.txt:21 +#: en/git-read-tree.txt:83 msgid "" -"For commits it shows the log message and textual diff. It also presents the " -"merge commit in a special format as produced by 'git diff-tree --cc'." +"when both sides add a path identically. The resolution is to add that path." msgstr "" #. type: Plain text -#: en/git-show.txt:23 -msgid "For tags, it shows the tag message and the referenced objects." +#: en/git-read-tree.txt:90 +msgid "" +"Keep the current index contents, and read the contents of the named tree-ish " +"under the directory at `<prefix>`. The command will refuse to overwrite " +"entries that already existed in the original index file. Note that the " +"`<prefix>/` value must end with a slash." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:91 +#, no-wrap +msgid "--exclude-per-directory=<gitignore>" msgstr "" #. type: Plain text -#: en/git-show.txt:26 +#: en/git-read-tree.txt:105 msgid "" -"For trees, it shows the names (equivalent to 'git ls-tree' with --name-only)." +"When running the command with `-u` and `-m` options, the merge result may " +"need to overwrite paths that are not tracked in the current branch. The " +"command usually refuses to proceed with the merge to avoid losing such a " +"path. However this safety valve sometimes gets in the way. For example, it " +"often happens that the other branch added a file that used to be a generated " +"file in your branch, and the safety valve triggers when you try to switch to " +"that branch after you ran `make` but before running `make clean` to remove " +"the generated file. This option tells the command to read per-directory " +"exclude file (usually '.gitignore') and allows such an untracked but " +"explicitly ignored file to be overwritten." msgstr "" -#. type: Plain text -#: en/git-show.txt:28 -msgid "For plain blobs, it shows the plain contents." +#. type: Labeled list +#: en/git-read-tree.txt:106 +#, no-wrap +msgid "--index-output=<file>" msgstr "" #. type: Plain text -#: en/git-show.txt:31 +#: en/git-read-tree.txt:117 msgid "" -"The command takes options applicable to the 'git diff-tree' command to " -"control how the changes the commit introduces are shown." +"Instead of writing the results out to `$GIT_INDEX_FILE`, write the resulting " +"index in the named file. While the command is operating, the original index " +"file is locked with the same mechanism as usual. The file must allow to be " +"rename(2)ed into from a temporary file that is created next to the usual " +"index file; typically this means it needs to be on the same filesystem as " +"the index file itself, and you need write permission to the directories the " +"index file and index output file are located in." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:118 +#, no-wrap +msgid "--no-sparse-checkout" msgstr "" #. type: Plain text -#: en/git-show.txt:33 -msgid "This manual page describes only the most frequently used options." +#: en/git-read-tree.txt:121 +msgid "Disable sparse checkout support even if `core.sparseCheckout` is true." msgstr "" #. type: Labeled list -#: en/git-show.txt:37 +#: en/git-read-tree.txt:122 #, no-wrap -msgid "<object>..." +msgid "--empty" msgstr "" #. type: Plain text -#: en/git-show.txt:41 -msgid "" -"The names of objects to show. For a more complete list of ways to spell " -"object names, see \"SPECIFYING REVISIONS\" section in linkgit:" -"gitrevisions[7]." +#: en/git-read-tree.txt:125 +msgid "Instead of reading tree object(s) into the index, just empty it." msgstr "" #. type: Labeled list -#: en/git-show.txt:60 +#: en/git-read-tree.txt:126 #, no-wrap -msgid "`git show v1.0.0`" +msgid "<tree-ish#>" msgstr "" #. type: Plain text -#: en/git-show.txt:63 -msgid "Shows the tag `v1.0.0`, along with the object the tags points at." +#: en/git-read-tree.txt:128 +msgid "The id of the tree object(s) to be read/merged." msgstr "" -#. type: Labeled list -#: en/git-show.txt:64 +#. type: Title - +#: en/git-read-tree.txt:131 #, no-wrap -msgid "`git show v1.0.0^{tree}`" +msgid "Merging" msgstr "" #. type: Plain text -#: en/git-show.txt:66 -msgid "Shows the tree pointed to by the tag `v1.0.0`." +#: en/git-read-tree.txt:136 +msgid "" +"If `-m` is specified, 'git read-tree' can perform 3 kinds of merge, a single " +"tree merge if only 1 tree is given, a fast-forward merge with 2 trees, or a " +"3-way merge if 3 trees are provided." msgstr "" -#. type: Labeled list -#: en/git-show.txt:67 +#. type: Title ~ +#: en/git-read-tree.txt:139 #, no-wrap -msgid "`git show -s --format=%s v1.0.0^{commit}`" +msgid "Single Tree Merge" msgstr "" #. type: Plain text -#: en/git-show.txt:70 -msgid "Shows the subject of the commit pointed to by the tag `v1.0.0`." +#: en/git-read-tree.txt:145 +msgid "" +"If only 1 tree is specified, 'git read-tree' operates as if the user did not " +"specify `-m`, except that if the original index has an entry for a given " +"pathname, and the contents of the path match with the tree being read, the " +"stat info from the index is used. (In other words, the index's stat()s take " +"precedence over the merged tree's)." msgstr "" -#. type: Labeled list -#: en/git-show.txt:71 -#, no-wrap -msgid "`git show next~10:Documentation/README`" +#. type: Plain text +#: en/git-read-tree.txt:149 +msgid "" +"That means that if you do a `git read-tree -m <newtree>` followed by a `git " +"checkout-index -f -u -a`, the 'git checkout-index' only checks out the stuff " +"that really changed." msgstr "" #. type: Plain text -#: en/git-show.txt:75 +#: en/git-read-tree.txt:152 msgid "" -"Shows the contents of the file `Documentation/README` as they were current " -"in the 10th last commit of the branch `next`." +"This is used to avoid unnecessary false hits when 'git diff-files' is run " +"after 'git read-tree'." msgstr "" -#. type: Labeled list -#: en/git-show.txt:76 +#. type: Title ~ +#: en/git-read-tree.txt:155 #, no-wrap -msgid "`git show master:Makefile master:t/Makefile`" +msgid "Two Tree Merge" msgstr "" #. type: Plain text -#: en/git-show.txt:79 +#: en/git-read-tree.txt:161 msgid "" -"Concatenates the contents of said Makefiles in the head of the branch " -"`master`." +"Typically, this is invoked as `git read-tree -m $H $M`, where $H is the head " +"commit of the current repository, and $M is the head of a foreign tree, " +"which is simply ahead of $H (i.e. we are in a fast-forward situation)." msgstr "" -#. type: Title = -#: en/git-sh-setup.txt:2 -#, no-wrap -msgid "git-sh-setup(1)" +#. type: Plain text +#: en/git-read-tree.txt:164 +msgid "" +"When two trees are specified, the user is telling 'git read-tree' the " +"following:" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:7 -msgid "git-sh-setup - Common Git shell script setup code" +#: en/git-read-tree.txt:166 +msgid "The current index and work tree is derived from $H, but" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:12 -#, no-wrap -msgid "'. \"$(git --exec-path)/git-sh-setup\"'\n" +#: en/git-read-tree.txt:167 +msgid "the user may have local changes in them since $H." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:23 -msgid "" -"The 'git sh-setup' scriptlet is designed to be sourced (using `.`) by other " -"shell scripts to set up some variables pointing at the normal Git " -"directories and a few helper shell functions." +#: en/git-read-tree.txt:169 +msgid "The user wants to fast-forward to $M." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:29 +#: en/git-read-tree.txt:175 msgid "" -"Before sourcing it, your script should set up a few variables; `USAGE` (and " -"`LONG_USAGE`, if any) is used to define message given by `usage()` shell " -"function. `SUBDIRECTORY_OK` can be set if the script can run from a " -"subdirectory of the working tree (some commands do not)." +"In this case, the `git read-tree -m $H $M` command makes sure that no local " +"change is lost as the result of this \"merge\". Here are the \"carry forward" +"\" rules, where \"I\" denotes the index, \"clean\" means that index and work " +"tree coincide, and \"exists\"/\"nothing\" refer to the presence of a path in " +"the specified commit:" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:32 +#: en/git-read-tree.txt:185 +#, no-wrap msgid "" -"The scriptlet sets `GIT_DIR` and `GIT_OBJECT_DIRECTORY` shell variables, but " -"does *not* export them to the environment." +"\tI H M Result\n" +" -------------------------------------------------------\n" +" 0 nothing nothing nothing (does not happen)\n" +" 1 nothing nothing exists use M\n" +" 2 nothing exists nothing remove path from index\n" +" 3 nothing exists exists, use M if \"initial checkout\",\n" +"\t\t\t\t H == M keep index otherwise\n" +"\t\t\t\t exists, fail\n" +"\t\t\t\t H != M\n" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:36 +#. type: Plain text +#: en/git-read-tree.txt:190 #, no-wrap -msgid "die" +msgid "" +" clean I==H I==M\n" +" ------------------\n" +" 4 yes N/A N/A nothing nothing keep index\n" +" 5 no N/A N/A nothing nothing keep index\n" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:39 +#: en/git-read-tree.txt:195 +#, no-wrap msgid "" -"exit after emitting the supplied error message to the standard error stream." +" 6 yes N/A yes nothing exists keep index\n" +" 7 no N/A yes nothing exists keep index\n" +" 8 yes N/A no nothing exists fail\n" +" 9 no N/A no nothing exists fail\n" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:40 +#. type: Plain text +#: en/git-read-tree.txt:200 #, no-wrap -msgid "usage" +msgid "" +" 10 yes yes N/A exists nothing remove path from index\n" +" 11 no yes N/A exists nothing fail\n" +" 12 yes no N/A exists nothing fail\n" +" 13 no no N/A exists nothing fail\n" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:42 -msgid "die with the usage message." +#: en/git-read-tree.txt:205 +#, no-wrap +msgid "" +"\tclean (H==M)\n" +" ------\n" +" 14 yes exists exists keep index\n" +" 15 no exists exists keep index\n" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:43 +#. type: Plain text +#: en/git-read-tree.txt:214 #, no-wrap -msgid "set_reflog_action" +msgid "" +" clean I==H I==M (H!=M)\n" +" ------------------\n" +" 16 yes no no exists exists fail\n" +" 17 no no no exists exists fail\n" +" 18 yes no yes exists exists keep index\n" +" 19 no no yes exists exists keep index\n" +" 20 yes yes no exists exists use M\n" +" 21 no yes no exists exists fail\n" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:49 +#: en/git-read-tree.txt:219 msgid "" -"Set `GIT_REFLOG_ACTION` environment to a given string (typically the name of " -"the program) unless it is already set. Whenever the script runs a `git` " -"command that updates refs, a reflog entry is created using the value of this " -"string to leave the record of what command updated the ref." +"In all \"keep index\" cases, the index entry stays as in the original index " +"file. If the entry is not up to date, 'git read-tree' keeps the copy in the " +"work tree intact when operating under the -u flag." msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:50 -#, no-wrap -msgid "git_editor" +#. type: Plain text +#: en/git-read-tree.txt:230 +msgid "" +"When this form of 'git read-tree' returns successfully, you can see which of " +"the \"local changes\" that you made were carried forward by running `git " +"diff-index --cached $M`. Note that this does not necessarily match what " +"`git diff-index --cached $H` would have produced before such a two tree " +"merge. This is because of cases 18 and 19 --- if you already had the " +"changes in $M (e.g. maybe you picked it up via e-mail in a patch form), `git " +"diff-index --cached $H` would have told you about the change before this " +"merge, but it would not show in `git diff-index --cached $M` output after " +"the two-tree merge." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:54 +#: en/git-read-tree.txt:237 msgid "" -"runs an editor of user's choice (GIT_EDITOR, core.editor, VISUAL or EDITOR) " -"on a given file, but error out if no editor is specified and the terminal is " -"dumb." +"Case 3 is slightly tricky and needs explanation. The result from this rule " +"logically should be to remove the path if the user staged the removal of the " +"path and then switching to a new branch. That however will prevent the " +"initial checkout from happening, so the rule is modified to use M (new tree) " +"only when the content of the index is empty. Otherwise the removal of the " +"path is kept as long as $H and $M are the same." msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:55 +#. type: Title ~ +#: en/git-read-tree.txt:239 #, no-wrap -msgid "is_bare_repository" +msgid "3-Way Merge" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:59 +#: en/git-read-tree.txt:242 msgid "" -"outputs `true` or `false` to the standard output stream to indicate if the " -"repository is a bare repository (i.e. without an associated working tree)." +"Each \"index\" entry has two bits worth of \"stage\" state. stage 0 is the " +"normal one, and is the only one you'd see in any kind of normal use." msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:60 -#, no-wrap -msgid "cd_to_toplevel" +#. type: Plain text +#: en/git-read-tree.txt:245 +msgid "" +"However, when you do 'git read-tree' with three trees, the \"stage\" starts " +"out at 1." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:62 -msgid "runs chdir to the toplevel of the working tree." +#: en/git-read-tree.txt:247 +msgid "This means that you can do" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:63 +#. type: delimited block - +#: en/git-read-tree.txt:250 #, no-wrap -msgid "require_work_tree" +msgid "$ git read-tree -m <tree1> <tree2> <tree3>\n" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:66 +#: en/git-read-tree.txt:258 msgid "" -"checks if the current directory is within the working tree of the " -"repository, and otherwise dies." +"and you will end up with an index with all of the <tree1> entries in " +"\"stage1\", all of the <tree2> entries in \"stage2\" and all of the <tree3> " +"entries in \"stage3\". When performing a merge of another branch into the " +"current branch, we use the common ancestor tree as <tree1>, the current " +"branch head as <tree2>, and the other branch head as <tree3>." msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:67 -#, no-wrap -msgid "require_work_tree_exists" +#. type: Plain text +#: en/git-read-tree.txt:262 +msgid "" +"Furthermore, 'git read-tree' has special-case logic that says: if you see a " +"file that matches in all respects in the following states, it \"collapses\" " +"back to \"stage0\":" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:72 +#: en/git-read-tree.txt:266 msgid "" -"checks if the working tree associated with the repository exists, and " -"otherwise dies. Often done before calling cd_to_toplevel, which is " -"impossible to do if there is no working tree." +"stage 2 and 3 are the same; take one or the other (it makes no difference - " +"the same work has been done on our branch in stage 2 and their branch in " +"stage 3)" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:73 -#, no-wrap -msgid "require_clean_work_tree <action> [<hint>]" +#. type: Plain text +#: en/git-read-tree.txt:271 +msgid "" +"stage 1 and stage 2 are the same and stage 3 is different; take stage 3 (our " +"branch in stage 2 did not do anything since the ancestor in stage 1 while " +"their branch in stage 3 worked on it)" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:78 +#: en/git-read-tree.txt:274 msgid "" -"checks that the working tree and index associated with the repository have " -"no uncommitted changes to tracked files. Otherwise it emits an error " -"message of the form `Cannot <action>: <reason>. <hint>`, and dies. Example:" +"stage 1 and stage 3 are the same and stage 2 is different take stage 2 (we " +"did something while they did nothing)" msgstr "" -#. type: delimited block - -#: en/git-sh-setup.txt:81 -#, no-wrap -msgid "require_clean_work_tree rebase \"Please commit or stash them.\"\n" +#. type: Plain text +#: en/git-read-tree.txt:278 +msgid "" +"The 'git write-tree' command refuses to write a nonsensical tree, and it " +"will complain about unmerged entries if it sees a single entry that is not " +"stage 0." msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:83 -#, no-wrap -msgid "get_author_ident_from_commit" +#. type: Plain text +#: en/git-read-tree.txt:284 +msgid "" +"OK, this all sounds like a collection of totally nonsensical rules, but it's " +"actually exactly what you want in order to do a fast merge. The different " +"stages represent the \"result tree\" (stage 0, aka \"merged\"), the original " +"tree (stage 1, aka \"orig\"), and the two trees you are trying to merge " +"(stage 2 and 3 respectively)." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:86 +#: en/git-read-tree.txt:289 msgid "" -"outputs code for use with eval to set the GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL " -"and GIT_AUTHOR_DATE variables for a given commit." +"The order of stages 1, 2 and 3 (hence the order of three <tree-ish> command-" +"line arguments) are significant when you start a 3-way merge with an index " +"file that is already populated. Here is an outline of how the algorithm " +"works:" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:87 -#, no-wrap -msgid "create_virtual_base" +#. type: Plain text +#: en/git-read-tree.txt:292 +msgid "" +"if a file exists in identical format in all three trees, it will " +"automatically collapse to \"merged\" state by 'git read-tree'." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:92 +#: en/git-read-tree.txt:297 msgid "" -"modifies the first file so only lines in common with the second file remain. " -"If there is insufficient common material, then the first file is left empty. " -"The result is suitable as a virtual base input for a 3-way merge." +"a file that has _any_ difference what-so-ever in the three trees will stay " +"as separate entries in the index. It's up to \"porcelain policy\" to " +"determine how to remove the non-0 stages, and insert a merged version." msgstr "" -#. type: Title = -#: en/git-stage.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-stage(1)" -msgstr "git-add(1)" - -# #. type: Plain text -#: en/git-stage.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-stage - Add file contents to the staging area" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-read-tree.txt:302 +msgid "" +"the index file saves and restores with all this information, so you can " +"merge things incrementally, but as long as it has entries in stages 1/2/3 (i." +"e., \"unmerged entries\") you can't write the result. So now the merge " +"algorithm ends up being really simple:" +msgstr "" #. type: Plain text -#: en/git-stage.txt:13 -#, no-wrap -msgid "'git stage' args...\n" +#: en/git-read-tree.txt:305 +msgid "" +"you walk the index in order, and ignore all entries of stage 0, since " +"they've already been done." msgstr "" #. type: Plain text -#: en/git-stage.txt:20 -#, fuzzy -#| msgid "" -#| "This is a synonym for linkgit:git-fsck[1]. Please refer to the " -#| "documentation of that command." +#: en/git-read-tree.txt:309 msgid "" -"This is a synonym for linkgit:git-add[1]. Please refer to the documentation " -"of that command." +"if you find a \"stage1\", but no matching \"stage2\" or \"stage3\", you know " +"it's been removed from both trees (it only existed in the original tree), " +"and you remove that entry." msgstr "" -"Ceci est un synonyme pour linkgit:git-fsck[1]. Veuillez vous r챕f챕rer 횪 la " -"documentation de cette commande." - -#. type: Title = -#: en/git-stash.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-stash(1)" -msgstr "git-add(1)" #. type: Plain text -#: en/git-stash.txt:7 -msgid "git-stash - Stash the changes in a dirty working directory away" +#: en/git-read-tree.txt:314 +msgid "" +"if you find a matching \"stage2\" and \"stage3\" tree, you remove one of " +"them, and turn the other into a \"stage0\" entry. Remove any matching " +"\"stage1\" entry if it exists too. .. all the normal trivial rules .." msgstr "" #. type: Plain text -#: en/git-stash.txt:24 -#, no-wrap +#: en/git-read-tree.txt:319 msgid "" -"'git stash' list [<options>]\n" -"'git stash' show [<stash>]\n" -"'git stash' drop [-q|--quiet] [<stash>]\n" -"'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]\n" -"'git stash' branch <branchname> [<stash>]\n" -"'git stash' save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" -"\t [-u|--include-untracked] [-a|--all] [<message>]\n" -"'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" -"\t [-u|--include-untracked] [-a|--all] [-m|--message <message>]]\n" -"\t [--] [<pathspec>...]]\n" -"'git stash' clear\n" -"'git stash' create [<message>]\n" -"'git stash' store [-m|--message <message>] [-q|--quiet] <commit>\n" +"You would normally use 'git merge-index' with supplied 'git merge-one-file' " +"to do this last step. The script updates the files in the working tree as " +"it merges each path and at the end of a successful merge." msgstr "" #. type: Plain text -#: en/git-stash.txt:32 +#: en/git-read-tree.txt:327 msgid "" -"Use `git stash` when you want to record the current state of the working " -"directory and the index, but want to go back to a clean working directory. " -"The command saves your local modifications away and reverts the working " -"directory to match the `HEAD` commit." +"When you start a 3-way merge with an index file that is already populated, " +"it is assumed that it represents the state of the files in your work tree, " +"and you can even have files with changes unrecorded in the index file. It " +"is further assumed that this state is \"derived\" from the stage 2 tree. " +"The 3-way merge refuses to run if it finds an entry in the original index " +"file that does not match stage 2." msgstr "" #. type: Plain text -#: en/git-stash.txt:40 +#: en/git-read-tree.txt:332 msgid "" -"The modifications stashed away by this command can be listed with `git stash " -"list`, inspected with `git stash show`, and restored (potentially on top of " -"a different commit) with `git stash apply`. Calling `git stash` without any " -"arguments is equivalent to `git stash save`. A stash is by default listed " -"as \"WIP on 'branchname' ...\", but you can give a more descriptive message " -"on the command line when you create one." +"This is done to prevent you from losing your work-in-progress changes, and " +"mixing your random changes in an unrelated merge commit. To illustrate, " +"suppose you start from what has been committed last to your repository:" +msgstr "" + +#. type: delimited block - +#: en/git-read-tree.txt:336 +#, no-wrap +msgid "" +"$ JC=`git rev-parse --verify \"HEAD^0\"`\n" +"$ git checkout-index -f -u -a $JC\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:47 +#: en/git-read-tree.txt:341 msgid "" -"The latest stash you created is stored in `refs/stash`; older stashes are " -"found in the reflog of this reference and can be named using the usual " -"reflog syntax (e.g. `stash@{0}` is the most recently created stash, " -"`stash@{1}` is the one before it, `stash@{2.hours.ago}` is also possible). " -"Stashes may also be referenced by specifying just the stash index (e.g. the " -"integer `n` is equivalent to `stash@{n}`)." +"You do random edits, without running 'git update-index'. And then you " +"notice that the tip of your \"upstream\" tree has advanced since you pulled " +"from him:" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:51 +#. type: delimited block - +#: en/git-read-tree.txt:345 #, no-wrap -msgid "save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [<message>]" +msgid "" +"$ git fetch git://.... linus\n" +"$ LT=`git rev-parse FETCH_HEAD`\n" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:52 +#. type: Plain text +#: en/git-read-tree.txt:351 +msgid "" +"Your work tree is still based on your HEAD ($JC), but you have some edits " +"since. Three-way merge makes sure that you have not added or modified index " +"entries since $JC, and if you haven't, then does the right thing. So with " +"the following sequence:" +msgstr "" + +#. type: delimited block - +#: en/git-read-tree.txt:357 #, no-wrap -msgid "push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <message>] [--] [<pathspec>...]" +msgid "" +"$ git read-tree -m -u `git merge-base $JC $LT` $JC $LT\n" +"$ git merge-index git-merge-one-file -a\n" +"$ echo \"Merge with Linus\" | \\\n" +" git commit-tree `git write-tree` -p $JC -p $LT\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:58 +#: en/git-read-tree.txt:362 msgid "" -"Save your local modifications to a new 'stash' and roll them back to HEAD " -"(in the working tree and in the index). The <message> part is optional and " -"gives the description along with the stashed state." +"what you would commit is a pure merge between $JC and $LT without your work-" +"in-progress changes, and your work tree would be updated to the result of " +"the merge." msgstr "" #. type: Plain text -#: en/git-stash.txt:64 +#: en/git-read-tree.txt:366 msgid "" -"For quickly making a snapshot, you can omit \"push\". In this mode, non-" -"option arguments are not allowed to prevent a misspelled subcommand from " -"making an unwanted stash. The two exceptions to this are `stash -p` which " -"acts as alias for `stash push -p` and pathspecs, which are allowed after a " -"double hyphen `--` for disambiguation." +"However, if you have local changes in the working tree that would be " +"overwritten by this merge, 'git read-tree' will refuse to run to prevent " +"your changes from being lost." msgstr "" #. type: Plain text -#: en/git-stash.txt:70 +#: en/git-read-tree.txt:376 msgid "" -"When pathspec is given to 'git stash push', the new stash records the " -"modified states only for the files that match the pathspec. The index " -"entries and working tree files are then rolled back to the state in HEAD " -"only for these files, too, leaving files that do not match the pathspec " -"intact." +"In other words, there is no need to worry about what exists only in the " +"working tree. When you have local changes in a part of the project that is " +"not involved in the merge, your changes do not interfere with the merge, and " +"are kept intact. When they *do* interfere, the merge does not even start " +"('git read-tree' complains loudly and fails without modifying anything). In " +"such a case, you can simply continue doing what you were in the middle of " +"doing, and when your working tree is ready (i.e. you have finished your work-" +"in-progress), attempt the merge again." +msgstr "" + +#. type: Title - +#: en/git-read-tree.txt:379 +#, no-wrap +msgid "Sparse checkout" msgstr "" #. type: Plain text -#: en/git-stash.txt:73 +#: en/git-read-tree.txt:384 msgid "" -"If the `--keep-index` option is used, all changes already added to the index " -"are left intact." +"\"Sparse checkout\" allows populating the working directory sparsely. It " +"uses the skip-worktree bit (see linkgit:git-update-index[1]) to tell Git " +"whether a file in the working directory is worth looking at." msgstr "" #. type: Plain text -#: en/git-stash.txt:78 +#: en/git-read-tree.txt:393 msgid "" -"If the `--include-untracked` option is used, all untracked files are also " -"stashed and then cleaned up with `git clean`, leaving the working directory " -"in a very clean state. If the `--all` option is used instead then the " -"ignored files are stashed and cleaned in addition to the untracked files." +"'git read-tree' and other merge-based commands ('git merge', 'git " +"checkout'...) can help maintaining the skip-worktree bitmap and working " +"directory update. `$GIT_DIR/info/sparse-checkout` is used to define the skip-" +"worktree reference bitmap. When 'git read-tree' needs to update the working " +"directory, it resets the skip-worktree bit in the index based on this file, " +"which uses the same syntax as .gitignore files. If an entry matches a " +"pattern in this file, skip-worktree will not be set on that entry. " +"Otherwise, skip-worktree will be set." msgstr "" #. type: Plain text -#: en/git-stash.txt:86 +#: en/git-read-tree.txt:397 msgid "" -"With `--patch`, you can interactively select hunks from the diff between " -"HEAD and the working tree to be stashed. The stash entry is constructed " -"such that its index state is the same as the index state of your repository, " -"and its worktree contains only the changes you selected interactively. The " -"selected changes are then rolled back from your worktree. See the " -"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " -"the `--patch` mode." +"Then it compares the new skip-worktree value with the previous one. If skip-" +"worktree turns from set to unset, it will add the corresponding file back. " +"If it turns from unset to set, that file will be removed." msgstr "" #. type: Plain text -#: en/git-stash.txt:89 +#: en/git-read-tree.txt:401 msgid "" -"The `--patch` option implies `--keep-index`. You can use `--no-keep-index` " -"to override this." +"While `$GIT_DIR/info/sparse-checkout` is usually used to specify what files " +"are in, you can also specify what files are _not_ in, using negate patterns. " +"For example, to remove the file `unwanted`:" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:90 +#. type: delimited block - +#: en/git-read-tree.txt:405 #, no-wrap -msgid "list [<options>]" +msgid "" +"/*\n" +"!unwanted\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:97 +#: en/git-read-tree.txt:413 msgid "" -"List the stashes that you currently have. Each 'stash' is listed with its " -"name (e.g. `stash@{0}` is the latest stash, `stash@{1}` is the one before, " -"etc.), the name of the branch that was current when the stash was made, and " -"a short description of the commit the stash was based on." +"Another tricky thing is fully repopulating the working directory when you no " +"longer want sparse checkout. You cannot just disable \"sparse checkout\" " +"because skip-worktree bits are still in the index and your working directory " +"is still sparsely populated. You should re-populate the working directory " +"with the `$GIT_DIR/info/sparse-checkout` file content as follows:" msgstr "" #. type: delimited block - -#: en/git-stash.txt:101 +#: en/git-read-tree.txt:416 #, no-wrap +msgid "/*\n" +msgstr "" + +#. type: Plain text +#: en/git-read-tree.txt:422 msgid "" -"stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation\n" -"stash@{1}: On master: 9cc0589... Add git-stash\n" +"Then you can disable sparse checkout. Sparse checkout support in 'git read-" +"tree' and similar commands is disabled by default. You need to turn `core." +"sparseCheckout` on in order to have sparse checkout support." msgstr "" +# #. type: Plain text -#: en/git-stash.txt:105 +#: en/git-read-tree.txt:428 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"The command takes options applicable to the 'git log' command to control " -"what is shown and how. See linkgit:git-log[1]." +"linkgit:git-write-tree[1]; linkgit:git-ls-files[1]; linkgit:gitignore[5]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/git-stash.txt:106 -#, no-wrap -msgid "show [<stash>]" +#. type: Title = +#: en/git-rebase.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-rebase(1)" +msgstr "git-add(1)" + +#. type: Plain text +#: en/git-rebase.txt:7 +msgid "git-rebase - Reapply commits on top of another base tip" msgstr "" #. type: Plain text -#: en/git-stash.txt:115 +#: en/git-rebase.txt:16 +#, no-wrap msgid "" -"Show the changes recorded in the stash as a diff between the stashed state " -"and its original parent. When no `<stash>` is given, shows the latest one. " -"By default, the command shows the diffstat, but it will accept any format " -"known to 'git diff' (e.g., `git stash show -p stash@{1}` to view the second " -"most recent stash in patch form). You can use stash.showStat and/or stash." -"showPatch config variables to change the default behavior." +"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]\n" +"\t[<upstream> [<branch>]]\n" +"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]\n" +"\t--root [<branch>]\n" +"'git rebase' --continue | --skip | --abort | --quit | --edit-todo\n" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:116 -#, no-wrap -msgid "pop [--index] [-q|--quiet] [<stash>]" +#. type: Plain text +#: en/git-rebase.txt:22 +msgid "" +"If <branch> is specified, 'git rebase' will perform an automatic `git " +"checkout <branch>` before doing anything else. Otherwise it remains on the " +"current branch." msgstr "" #. type: Plain text -#: en/git-stash.txt:122 +#: en/git-rebase.txt:28 msgid "" -"Remove a single stashed state from the stash list and apply it on top of the " -"current working tree state, i.e., do the inverse operation of `git stash " -"save`. The working directory must match the index." +"If <upstream> is not specified, the upstream configured in branch.<name>." +"remote and branch.<name>.merge options will be used (see linkgit:git-" +"config[1] for details) and the `--fork-point` option is assumed. If you are " +"currently not on any branch or if the current branch does not have a " +"configured upstream, the rebase will abort." msgstr "" #. type: Plain text -#: en/git-stash.txt:126 +#: en/git-rebase.txt:35 msgid "" -"Applying the state can fail with conflicts; in this case, it is not removed " -"from the stash list. You need to resolve the conflicts by hand and call `git " -"stash drop` manually afterwards." +"All changes made by commits in the current branch but that are not in " +"<upstream> are saved to a temporary area. This is the same set of commits " +"that would be shown by `git log <upstream>..HEAD`; or by `git log " +"'fork_point'..HEAD`, if `--fork-point` is active (see the description on `--" +"fork-point` below); or by `git log HEAD`, if the `--root` option is " +"specified." msgstr "" #. type: Plain text -#: en/git-stash.txt:131 +#: en/git-rebase.txt:40 msgid "" -"If the `--index` option is used, then tries to reinstate not only the " -"working tree's changes, but also the index's ones. However, this can fail, " -"when you have conflicts (which are stored in the index, where you therefore " -"can no longer apply the changes as they were originally)." +"The current branch is reset to <upstream>, or <newbase> if the --onto option " +"was supplied. This has the exact same effect as `git reset --hard " +"<upstream>` (or <newbase>). ORIG_HEAD is set to point at the tip of the " +"branch before the reset." msgstr "" #. type: Plain text -#: en/git-stash.txt:134 +#: en/git-rebase.txt:46 msgid "" -"When no `<stash>` is given, `stash@{0}` is assumed, otherwise `<stash>` must " -"be a reference of the form `stash@{<revision>}`." +"The commits that were previously saved into the temporary area are then " +"reapplied to the current branch, one by one, in order. Note that any commits " +"in HEAD which introduce the same textual changes as a commit in HEAD.." +"<upstream> are omitted (i.e., a patch already accepted upstream with a " +"different commit message or timestamp will be skipped)." msgstr "" -#. type: Labeled list -#: en/git-stash.txt:135 -#, no-wrap -msgid "apply [--index] [-q|--quiet] [<stash>]" +#. type: Plain text +#: en/git-rebase.txt:53 +msgid "" +"It is possible that a merge failure will prevent this process from being " +"completely automatic. You will have to resolve any such merge failure and " +"run `git rebase --continue`. Another option is to bypass the commit that " +"caused the merge failure with `git rebase --skip`. To check out the " +"original <branch> and remove the .git/rebase-apply working files, use the " +"command `git rebase --abort` instead." msgstr "" #. type: Plain text -#: en/git-stash.txt:140 +#: en/git-rebase.txt:55 msgid "" -"Like `pop`, but do not remove the state from the stash list. Unlike `pop`, " -"`<stash>` may be any commit that looks like a commit created by `stash save` " -"or `stash create`." +"Assume the following history exists and the current branch is \"topic\":" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:141 +#. type: delimited block - +#: en/git-rebase.txt:60 #, no-wrap -msgid "branch <branchname> [<stash>]" +msgid "" +" A---B---C topic\n" +" /\n" +" D---E---F---G master\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:149 -msgid "" -"Creates and checks out a new branch named `<branchname>` starting from the " -"commit at which the `<stash>` was originally created, applies the changes " -"recorded in `<stash>` to the new working tree and index. If that succeeds, " -"and `<stash>` is a reference of the form `stash@{<revision>}`, it then drops " -"the `<stash>`. When no `<stash>` is given, applies the latest one." +#: en/git-rebase.txt:63 +msgid "From this point, the result of either of the following commands:" msgstr "" #. type: Plain text -#: en/git-stash.txt:155 +#: en/git-rebase.txt:67 +#, no-wrap msgid "" -"This is useful if the branch on which you ran `git stash save` has changed " -"enough that `git stash apply` fails due to conflicts. Since the stash is " -"applied on top of the commit that was HEAD at the time `git stash` was run, " -"it restores the originally stashed state with no conflicts." +" git rebase master\n" +" git rebase master topic\n" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:156 -#, no-wrap -msgid "clear" +#. type: Plain text +#: en/git-rebase.txt:69 +msgid "would be:" msgstr "" -#. type: Plain text -#: en/git-stash.txt:160 +#. type: delimited block - +#: en/git-rebase.txt:74 +#, no-wrap msgid "" -"Remove all the stashed states. Note that those states will then be subject " -"to pruning, and may be impossible to recover (see 'Examples' below for a " -"possible strategy)." +" A'--B'--C' topic\n" +" /\n" +" D---E---F---G master\n" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:161 +#. type: Plain text +#: en/git-rebase.txt:79 #, no-wrap -msgid "drop [-q|--quiet] [<stash>]" +msgid "" +"*NOTE:* The latter form is just a short-hand of `git checkout topic`\n" +"followed by `git rebase master`. When rebase exits `topic` will\n" +"remain the checked-out branch.\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:167 +#: en/git-rebase.txt:85 msgid "" -"Remove a single stashed state from the stash list. When no `<stash>` is " -"given, it removes the latest one. i.e. `stash@{0}`, otherwise `<stash>` must " -"be a valid stash log reference of the form `stash@{<revision>}`." +"If the upstream branch already contains a change you have made (e.g., " +"because you mailed a patch which was applied upstream), then that commit " +"will be skipped. For example, running `git rebase master` on the following " +"history (in which `A'` and `A` introduce the same set of changes, but have " +"different committer information):" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:168 en/git-update-ref.txt:100 +#. type: delimited block - +#: en/git-rebase.txt:90 #, no-wrap -msgid "create" +msgid "" +" A---B---C topic\n" +" /\n" +" D---E---A'---F master\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:174 -msgid "" -"Create a stash (which is a regular commit object) and return its object " -"name, without storing it anywhere in the ref namespace. This is intended to " -"be useful for scripts. It is probably not the command you want to use; see " -"\"save\" above." +#: en/git-rebase.txt:93 +msgid "will result in:" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:175 +#. type: delimited block - +#: en/git-rebase.txt:98 #, no-wrap -msgid "store" +msgid "" +" B'---C' topic\n" +" /\n" +" D---E---A'---F master\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:181 +#: en/git-rebase.txt:103 msgid "" -"Store a given stash created via 'git stash create' (which is a dangling " -"merge commit) in the stash ref, updating the stash reflog. This is intended " -"to be useful for scripts. It is probably not the command you want to use; " -"see \"save\" above." +"Here is how you would transplant a topic branch based on one branch to " +"another, to pretend that you forked the topic branch from the latter branch, " +"using `rebase --onto`." msgstr "" #. type: Plain text -#: en/git-stash.txt:190 +#: en/git-rebase.txt:107 msgid "" -"A stash is represented as a commit whose tree records the state of the " -"working directory, and its first parent is the commit at `HEAD` when the " -"stash was created. The tree of the second parent records the state of the " -"index when the stash is made, and it is made a child of the `HEAD` commit. " -"The ancestry graph looks like this:" +"First let's assume your 'topic' is based on branch 'next'. For example, a " +"feature developed in 'topic' depends on some functionality which is found in " +"'next'." msgstr "" -#. type: Plain text -#: en/git-stash.txt:194 +#. type: delimited block - +#: en/git-rebase.txt:114 #, no-wrap msgid "" -" .----W\n" -" / /\n" -" -----H----I\n" +" o---o---o---o---o master\n" +" \\\n" +" o---o---o---o---o next\n" +" \\\n" +" o---o---o topic\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:198 +#: en/git-rebase.txt:119 msgid "" -"where `H` is the `HEAD` commit, `I` is a commit that records the state of " -"the index, and `W` is a commit that records the state of the working tree." +"We want to make 'topic' forked from branch 'master'; for example, because " +"the functionality on which 'topic' depends was merged into the more stable " +"'master' branch. We want our tree to look like this:" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:203 +#. type: delimited block - +#: en/git-rebase.txt:126 #, no-wrap -msgid "Pulling into a dirty tree" +msgid "" +" o---o---o---o---o master\n" +" | \\\n" +" | o'--o'--o' topic\n" +" \\\n" +" o---o---o---o---o next\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:209 -msgid "" -"When you are in the middle of something, you learn that there are upstream " -"changes that are possibly relevant to what you are doing. When your local " -"changes do not conflict with the changes in the upstream, a simple `git " -"pull` will let you move forward." +#: en/git-rebase.txt:129 +#, fuzzy +#| msgid "support the following date formats:" +msgid "We can get this using the following command:" +msgstr "prend en charge les formats de date suivants혻:" + +#. type: Plain text +#: en/git-rebase.txt:131 +#, no-wrap +msgid " git rebase --onto master next topic\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:214 +#: en/git-rebase.txt:135 msgid "" -"However, there are cases in which your local changes do conflict with the " -"upstream changes, and `git pull` refuses to overwrite your changes. In such " -"a case, you can stash your changes away, perform a pull, and then unstash, " -"like this:" +"Another example of --onto option is to rebase part of a branch. If we have " +"the following situation:" msgstr "" #. type: delimited block - -#: en/git-stash.txt:222 +#: en/git-rebase.txt:142 #, no-wrap msgid "" -"$ git pull\n" -" ...\n" -"file foobar not up to date, cannot merge.\n" -"$ git stash\n" -"$ git pull\n" -"$ git stash pop\n" +" H---I---J topicB\n" +" /\n" +" E---F---G topicA\n" +" /\n" +" A---B---C---D master\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:230 -msgid "" -"When you are in the middle of something, your boss comes in and demands that " -"you fix something immediately. Traditionally, you would make a commit to a " -"temporary branch to store your changes away, and return to your original " -"branch to make the emergency fix, like this:" +#: en/git-rebase.txt:145 en/git-rebase.txt:168 +msgid "then the command" msgstr "" -#. type: delimited block - -#: en/git-stash.txt:241 +#. type: Plain text +#: en/git-rebase.txt:147 #, no-wrap -msgid "" -"# ... hack hack hack ...\n" -"$ git checkout -b my_wip\n" -"$ git commit -a -m \"WIP\"\n" -"$ git checkout master\n" -"$ edit emergency fix\n" -"$ git commit -a -m \"Fix in a hurry\"\n" -"$ git checkout my_wip\n" -"$ git reset --soft HEAD^\n" -"# ... continue hacking ...\n" +msgid " git rebase --onto master topicA topicB\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:244 -msgid "You can use 'git stash' to simplify the above, like this:" +#: en/git-rebase.txt:149 +msgid "would result in:" msgstr "" #. type: delimited block - -#: en/git-stash.txt:252 +#: en/git-rebase.txt:156 #, no-wrap msgid "" -"# ... hack hack hack ...\n" -"$ git stash\n" -"$ edit emergency fix\n" -"$ git commit -a -m \"Fix in a hurry\"\n" -"$ git stash pop\n" -"# ... continue hacking ...\n" +" H'--I'--J' topicB\n" +" /\n" +" | E---F---G topicA\n" +" |/\n" +" A---B---C---D master\n" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:254 -#, no-wrap -msgid "Testing partial commits" +#. type: Plain text +#: en/git-rebase.txt:159 +msgid "This is useful when topicB does not depend on topicA." msgstr "" #. type: Plain text -#: en/git-stash.txt:259 +#: en/git-rebase.txt:162 msgid "" -"You can use `git stash save --keep-index` when you want to make two or more " -"commits out of the changes in the work tree, and you want to test each " -"change before committing:" +"A range of commits could also be removed with rebase. If we have the " +"following situation:" msgstr "" #. type: delimited block - -#: en/git-stash.txt:270 +#: en/git-rebase.txt:165 #, no-wrap -msgid "" -"# ... hack hack hack ...\n" -"$ git add --patch foo # add just first part to the index\n" -"$ git stash save --keep-index # save all other changes to the stash\n" -"$ edit/build/test first part\n" -"$ git commit -m 'First part' # commit fully tested change\n" -"$ git stash pop # prepare to work on all other changes\n" -"# ... repeat above five steps until one commit remains ...\n" -"$ edit/build/test remaining parts\n" -"$ git commit foo -m 'Remaining parts'\n" +msgid " E---F---G---H---I---J topicA\n" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:272 +#. type: Plain text +#: en/git-rebase.txt:170 #, no-wrap -msgid "Recovering stashes that were cleared/dropped erroneously" +msgid " git rebase --onto topicA~5 topicA~3 topicA\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:278 -msgid "" -"If you mistakenly drop or clear stashes, they cannot be recovered through " -"the normal safety mechanisms. However, you can try the following " -"incantation to get a list of stashes that are still in your repository, but " -"not reachable any more:" +#: en/git-rebase.txt:172 +msgid "would result in the removal of commits F and G:" msgstr "" #. type: delimited block - -#: en/git-stash.txt:283 +#: en/git-rebase.txt:175 #, no-wrap +msgid " E---H'---I'---J' topicA\n" +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:180 msgid "" -"git fsck --unreachable |\n" -"grep commit | cut -d\\ -f3 |\n" -"xargs git log --merges --no-walk --grep=WIP\n" +"This is useful if F and G were flawed in some way, or should not be part of " +"topicA. Note that the argument to --onto and the <upstream> parameter can " +"be any valid commit-ish." msgstr "" -# #. type: Plain text -#: en/git-stash.txt:292 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-rebase.txt:186 msgid "" -"linkgit:git-checkout[1], linkgit:git-commit[1], linkgit:git-reflog[1], " -"linkgit:git-reset[1]" +"In case of conflict, 'git rebase' will stop at the first problematic commit " +"and leave conflict markers in the tree. You can use 'git diff' to locate " +"the markers (<<<<<<) and make edits to resolve the conflict. For each file " +"you edit, you need to tell Git that the conflict has been resolved, " +"typically this would be done with" msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-status.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-status(1)" -msgstr "git-add(1)" +#. type: Plain text +#: en/git-rebase.txt:189 +#, no-wrap +msgid " git add <filename>\n" +msgstr "" #. type: Plain text -#: en/git-status.txt:7 -msgid "git-status - Show the working tree status" +#: en/git-rebase.txt:193 +msgid "" +"After resolving the conflict manually and updating the index with the " +"desired resolution, you can continue the rebasing process with" msgstr "" #. type: Plain text -#: en/git-status.txt:13 +#: en/git-rebase.txt:196 #, no-wrap -msgid "'git status' [<options>...] [--] [<pathspec>...]\n" +msgid " git rebase --continue\n" msgstr "" #. type: Plain text -#: en/git-status.txt:23 -msgid "" -"Displays paths that have differences between the index file and the current " -"HEAD commit, paths that have differences between the working tree and the " -"index file, and paths in the working tree that are not tracked by Git (and " -"are not ignored by linkgit:gitignore[5]). The first are what you _would_ " -"commit by running `git commit`; the second and third are what you _could_ " -"commit by running 'git add' before running `git commit`." +#: en/git-rebase.txt:199 +msgid "Alternatively, you can undo the 'git rebase' with" +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:202 +#, no-wrap +msgid " git rebase --abort\n" +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:215 +msgid "If set to true enable `--autostash` option by default." +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:221 +msgid "" +"If set to \"warn\", print warnings about removed commits in interactive " +"mode. If set to \"error\", print the warnings and stop the rebase. If set to " +"\"ignore\", no checking is done. \"ignore\" by default." msgstr "" #. type: Plain text -#: en/git-status.txt:30 -#, fuzzy -#| msgid "" -#| "--long::\n" -#| "\tWhen doing a dry-run, give the output in a the long-format.\n" -#| "\tImplies `--dry-run`.\n" -msgid "Give the output in the short-format." +#: en/git-rebase.txt:224 +msgid "Custom commit list format to use during an `--interactive` rebase." msgstr "" -"--long::\n" -"\tSeulement avec '--dry-run', donner la sortie en format\n" -"\tlong.\n" #. type: Labeled list -#: en/git-status.txt:35 +#: en/git-rebase.txt:227 #, no-wrap -msgid "--porcelain[=<version>]" +msgid "--onto <newbase>" msgstr "" #. type: Plain text -#: en/git-status.txt:40 +#: en/git-rebase.txt:232 msgid "" -"Give the output in an easy-to-parse format for scripts. This is similar to " -"the short output, but will remain stable across Git versions and regardless " -"of user configuration. See below for details." +"Starting point at which to create the new commits. If the --onto option is " +"not specified, the starting point is <upstream>. May be any valid commit, " +"and not just an existing branch name." msgstr "" #. type: Plain text -#: en/git-status.txt:43 +#: en/git-rebase.txt:236 msgid "" -"The version parameter is used to specify the format version. This is " -"optional and defaults to the original version 'v1' format." +"As a special case, you may use \"A\\...B\" as a shortcut for the merge base " +"of A and B if there is exactly one merge base. You can leave out at most one " +"of A and B, in which case it defaults to HEAD." msgstr "" #. type: Plain text -#: en/git-status.txt:46 -#, fuzzy -#| msgid "" -#| "--long::\n" -#| "\tWhen doing a dry-run, give the output in a the long-format.\n" -#| "\tImplies `--dry-run`.\n" -msgid "Give the output in the long-format. This is the default." +#: en/git-rebase.txt:241 +msgid "" +"Upstream branch to compare against. May be any valid commit, not just an " +"existing branch name. Defaults to the configured upstream for the current " +"branch." msgstr "" -"--long::\n" -"\tSeulement avec '--dry-run', donner la sortie en format\n" -"\tlong.\n" #. type: Plain text -#: en/git-status.txt:54 -msgid "" -"In addition to the names of files that have been changed, also show the " -"textual changes that are staged to be committed (i.e., like the output of " -"`git diff --cached`). If `-v` is specified twice, then also show the changes " -"in the working tree that have not yet been staged (i.e., like the output of " -"`git diff`)." +#: en/git-rebase.txt:247 +msgid "Restart the rebasing process after having resolved a merge conflict." msgstr "" #. type: Plain text -#: en/git-status.txt:62 +#: en/git-rebase.txt:254 msgid "" -"The mode parameter is used to specify the handling of untracked files. It " -"is optional: it defaults to 'all', and if specified, it must be stuck to the " -"option (e.g. `-uno`, but not `-u no`)." +"Abort the rebase operation and reset HEAD to the original branch. If " +"<branch> was provided when the rebase operation was started, then HEAD will " +"be reset to <branch>. Otherwise HEAD will be reset to where it was when the " +"rebase operation was started." msgstr "" -#. type: Plain text -#: en/git-status.txt:66 -#, fuzzy, no-wrap -#| msgid "'no' - Show no untracked files\n" -msgid "'no' - Show no untracked files.\n" -msgstr "'no' - Ne montrer aucun fichier non-suivi\n" - -#. type: Plain text -#: en/git-status.txt:67 -#, fuzzy, no-wrap -#| msgid "'normal' - Shows untracked files and directories\n" -msgid "'normal' - Shows untracked files and directories.\n" -msgstr "'normal' - Montrer les fichiers et les dossiers non-suivis\n" +#. type: Labeled list +#: en/git-rebase.txt:255 en/sequencer.txt:6 +#, no-wrap +msgid "--quit" +msgstr "" #. type: Plain text -#: en/git-status.txt:78 +#: en/git-rebase.txt:259 msgid "" -"When `-u` option is not used, untracked files and directories are shown (i." -"e. the same as specifying `normal`), to help you avoid forgetting to add " -"newly created files. Because it takes extra work to find untracked files in " -"the filesystem, this mode may take some time in a large working tree. " -"Consider enabling untracked cache and split index if supported (see `git " -"update-index --untracked-cache` and `git update-index --split-index`), " -"Otherwise you can use `no` to have `git status` return more quickly without " -"showing untracked files." +"Abort the rebase operation but HEAD is not reset back to the original " +"branch. The index and working tree are also left unchanged as a result." msgstr "" #. type: Labeled list -#: en/git-status.txt:82 en/diff-options.txt:581 +#: en/git-rebase.txt:260 #, no-wrap -msgid "--ignore-submodules[=<when>]" +msgid "--keep-empty" msgstr "" #. type: Plain text -#: en/git-status.txt:96 +#: en/git-rebase.txt:263 msgid "" -"Ignore changes to submodules when looking for changes. <when> can be either " -"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " -"\"none\" will consider the submodule modified when it either contains " -"untracked or modified files or its HEAD differs from the commit recorded in " -"the superproject and can be used to override any settings of the 'ignore' " -"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " -"is used submodules are not considered dirty when they only contain untracked " -"content (but they are still scanned for modified content). Using \"dirty\" " -"ignores all changes to the work tree of submodules, only changes to the " -"commits stored in the superproject are shown (this was the behavior before " -"1.7.0). Using \"all\" hides all changes to submodules (and suppresses the " -"output of submodule summaries when the config option `status." -"submoduleSummary` is set)." +"Keep the commits that do not change anything from its parents in the result." msgstr "" #. type: Plain text -#: en/git-status.txt:99 -#, fuzzy -#| msgid "" -#| "-u[<mode>]::\n" -#| "--untracked-files[=<mode>]::\n" -#| "\tShow untracked files.\n" -msgid "Show ignored files as well." +#: en/git-rebase.txt:266 +msgid "Restart the rebasing process by skipping the current patch." +msgstr "" + +#. type: Labeled list +#: en/git-rebase.txt:267 +#, no-wrap +msgid "--edit-todo" msgstr "" -"-u[<mode>]::\n" -"--untracked-files[=<mode>]::\n" -"\tMontrer les fichiers non-suivis.\n" #. type: Plain text -#: en/git-status.txt:103 -msgid "" -"Terminate entries with NUL, instead of LF. This implies the `--" -"porcelain=v1` output format if no other format is given." +#: en/git-rebase.txt:269 +msgid "Edit the todo list during an interactive rebase." msgstr "" #. type: Plain text -#: en/git-status.txt:110 +#: en/git-rebase.txt:275 msgid "" -"Display untracked files in columns. See configuration variable column.status " -"for option syntax.`--column` and `--no-column` without options are " -"equivalent to 'always' and 'never' respectively." +"Use merging strategies to rebase. When the recursive (default) merge " +"strategy is used, this allows rebase to be aware of renames on the upstream " +"side." msgstr "" #. type: Plain text -#: en/git-status.txt:119 +#: en/git-rebase.txt:281 msgid "" -"The output from this command is designed to be used as a commit template " -"comment. The default, long format, is designed to be human readable, " -"verbose and descriptive. Its contents and format are subject to change at " -"any time." +"Note that a rebase merge works by replaying each commit from the working " +"branch on top of the <upstream> branch. Because of this, when a merge " +"conflict happens, the side reported as 'ours' is the so-far rebased series, " +"starting with <upstream>, and 'theirs' is the working branch. In other " +"words, the sides are swapped." msgstr "" #. type: Plain text -#: en/git-status.txt:124 +#: en/git-rebase.txt:287 msgid "" -"The paths mentioned in the output, unlike many other Git commands, are made " -"relative to the current directory if you are working in a subdirectory (this " -"is on purpose, to help cutting and pasting). See the status.relativePaths " -"config option below." +"Use the given merge strategy. If there is no `-s` option 'git merge-" +"recursive' is used instead. This implies --merge." msgstr "" -#. type: Title ~ -#: en/git-status.txt:126 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Short Format" -msgstr "Configuration" - #. type: Plain text -#: en/git-status.txt:129 -msgid "In the short-format, the status of each path is shown as" +#: en/git-rebase.txt:292 +msgid "" +"Because 'git rebase' replays each commit from the working branch on top of " +"the <upstream> branch using the given strategy, using the 'ours' strategy " +"simply discards all patches from the <branch>, which makes little sense." msgstr "" -#. type: Plain text -#: en/git-status.txt:131 +#. type: Labeled list +#: en/git-rebase.txt:293 +#, fuzzy, no-wrap +#| msgid "status" +msgid "-X <strategy-option>" +msgstr "status" + +#. type: Labeled list +#: en/git-rebase.txt:294 #, no-wrap -msgid "\tXY PATH1 -> PATH2\n" +msgid "--strategy-option=<strategy-option>" msgstr "" #. type: Plain text -#: en/git-status.txt:136 +#: en/git-rebase.txt:299 msgid "" -"where `PATH1` is the path in the `HEAD`, and the \" `-> PATH2`\" part is " -"shown only when `PATH1` corresponds to a different path in the index/" -"worktree (i.e. the file is renamed). The `XY` is a two-letter status code." +"Pass the <strategy-option> through to the merge strategy. This implies `--" +"merge` and, if no strategy has been specified, `-s recursive`. Note the " +"reversal of 'ours' and 'theirs' as noted above for the `-m` option." msgstr "" #. type: Plain text -#: en/git-status.txt:142 -msgid "" -"The fields (including the `->`) are separated from each other by a single " -"space. If a filename contains whitespace or other nonprintable characters, " -"that field will be quoted in the manner of a C string literal: surrounded by " -"ASCII double quote (34) characters, and with interior special characters " -"backslash-escaped." +#: en/git-rebase.txt:309 +msgid "Be quiet. Implies --no-stat." msgstr "" #. type: Plain text -#: en/git-status.txt:148 -msgid "" -"For paths with merge conflicts, `X` and `Y` show the modification states of " -"each side of the merge. For paths that do not have merge conflicts, `X` " -"shows the status of the index, and `Y` shows the status of the work tree. " -"For untracked paths, `XY` are `??`. Other status codes can be interpreted " -"as follows:" +#: en/git-rebase.txt:313 +#, fuzzy +#| msgid "" +#| "-v::\n" +#| "--verbose::\n" +#| " Be verbose.\n" +msgid "Be verbose. Implies --stat." msgstr "" +"-v::\n" +"--verbose::\n" +" Mode bavard.\n" #. type: Plain text -#: en/git-status.txt:150 -msgid "' ' = unmodified" +#: en/git-rebase.txt:317 +msgid "" +"Show a diffstat of what changed upstream since the last rebase. The diffstat " +"is also controlled by the configuration option rebase.stat." msgstr "" #. type: Plain text -#: en/git-status.txt:151 -msgid "'M' = modified" +#: en/git-rebase.txt:321 +msgid "Do not show a diffstat as part of the rebase process." msgstr "" #. type: Plain text -#: en/git-status.txt:152 -msgid "'A' = added" +#: en/git-rebase.txt:324 +#, fuzzy +#| msgid "" +#| "-n::\n" +#| "--no-verify::\n" +#| "\tThis option bypasses the pre-commit and commit-msg hooks.\n" +#| "\tSee also linkgit:githooks[5].\n" +msgid "" +"This option bypasses the pre-rebase hook. See also linkgit:githooks[5]." msgstr "" +"-n::\n" +"--no-verify::\n" +"\tCette option court-circuite les crochets pre-commit et commit-msg.\n" +"\tVoir aussi linkgit:githooks[5].\n" -#. type: Plain text -#: en/git-status.txt:153 -msgid "'D' = deleted" +#. type: Labeled list +#: en/git-rebase.txt:325 en/git-rev-parse.txt:98 en/git-show-ref.txt:59 +#: en/git-tag.txt:80 +#, no-wrap +msgid "--verify" msgstr "" #. type: Plain text -#: en/git-status.txt:154 -msgid "'R' = renamed" +#: en/git-rebase.txt:328 +msgid "" +"Allows the pre-rebase hook to run, which is the default. This option can be " +"used to override --no-verify. See also linkgit:githooks[5]." msgstr "" -#. type: Plain text -#: en/git-status.txt:155 -msgid "'C' = copied" +#. type: Labeled list +#: en/git-rebase.txt:336 +#, no-wrap +msgid "--force-rebase" msgstr "" #. type: Plain text -#: en/git-status.txt:156 -msgid "'U' = updated but unmerged" +#: en/git-rebase.txt:339 +msgid "" +"Force a rebase even if the current branch is up-to-date and the command " +"without `--force` would return without doing anything." msgstr "" #. type: Plain text -#: en/git-status.txt:159 +#: en/git-rebase.txt:345 msgid "" -"Ignored files are not listed, unless `--ignored` option is in effect, in " -"which case `XY` are `!!`." +"You may find this (or --no-ff with an interactive rebase) helpful after " +"reverting a topic branch merge, as this option recreates the topic branch " +"with fresh commits so it can be remerged successfully without needing to " +"\"revert the reversion\" (see the link:howto/revert-a-faulty-merge." +"html[revert-a-faulty-merge How-To] for details)." msgstr "" -#. type: Plain text -#: en/git-status.txt:183 +#. type: Labeled list +#: en/git-rebase.txt:347 #, no-wrap -msgid "" -" X Y Meaning\n" -" -------------------------------------------------\n" -" [MD] not updated\n" -" M [ MD] updated in index\n" -" A [ MD] added to index\n" -" D [ M] deleted from index\n" -" R [ MD] renamed in index\n" -" C [ MD] copied in index\n" -" [MARC] index and work tree matches\n" -" [ MARC] M work tree changed since index\n" -" [ MARC] D deleted in work tree\n" -" -------------------------------------------------\n" -" D D unmerged, both deleted\n" -" A U unmerged, added by us\n" -" U D unmerged, deleted by them\n" -" U A unmerged, added by them\n" -" D U unmerged, deleted by us\n" -" A A unmerged, both added\n" -" U U unmerged, both modified\n" -" -------------------------------------------------\n" -" ? ? untracked\n" -" ! ! ignored\n" -" -------------------------------------------------\n" +msgid "--no-fork-point" msgstr "" #. type: Plain text -#: en/git-status.txt:185 -msgid "If -b is used the short-format status is preceded by a line" +#: en/git-rebase.txt:351 +msgid "" +"Use reflog to find a better common ancestor between <upstream> and <branch> " +"when calculating which commits have been introduced by <branch>." msgstr "" #. type: Plain text -#: en/git-status.txt:187 -#, no-wrap -msgid " ## branchname tracking info\n" +#: en/git-rebase.txt:357 +msgid "" +"When --fork-point is active, 'fork_point' will be used instead of <upstream> " +"to calculate the set of commits to rebase, where 'fork_point' is the result " +"of `git merge-base --fork-point <upstream> <branch>` command (see linkgit:" +"git-merge-base[1]). If 'fork_point' ends up being empty, the <upstream> " +"will be used as a fallback." msgstr "" -#. type: Title ~ -#: en/git-status.txt:189 -#, no-wrap -msgid "Porcelain Format Version 1" +#. type: Plain text +#: en/git-rebase.txt:360 +msgid "" +"If either <upstream> or --root is given on the command line, then the " +"default is `--no-fork-point`, otherwise the default is `--fork-point`." msgstr "" #. type: Plain text -#: en/git-status.txt:196 +#: en/git-rebase.txt:366 msgid "" -"Version 1 porcelain format is similar to the short format, but is guaranteed " -"not to change in a backwards-incompatible way between Git versions or based " -"on user configuration. This makes it ideal for parsing by scripts. The " -"description of the short format above also describes the porcelain format, " -"with a few exceptions:" +"These flag are passed to the 'git apply' program (see linkgit:git-apply[1]) " +"that applies the patch. Incompatible with the --interactive option." msgstr "" #. type: Plain text -#: en/git-status.txt:199 +#: en/git-rebase.txt:372 msgid "" -"The user's color.status configuration is not respected; color will always be " -"off." +"These flags are passed to 'git am' to easily change the dates of the rebased " +"commits (see linkgit:git-am[1]). Incompatible with the --interactive option." msgstr "" #. type: Plain text -#: en/git-status.txt:202 +#: en/git-rebase.txt:378 msgid "" -"The user's status.relativePaths configuration is not respected; paths shown " -"will always be relative to the repository root." +"Make a list of the commits which are about to be rebased. Let the user edit " +"that list before rebasing. This mode can also be used to split commits (see " +"SPLITTING COMMITS below)." msgstr "" #. type: Plain text -#: en/git-status.txt:212 +#: en/git-rebase.txt:382 msgid "" -"There is also an alternate -z format recommended for machine parsing. In " -"that format, the status field is the same, but some other things change. " -"First, the '\\->' is omitted from rename entries and the field order is " -"reversed (e.g 'from \\-> to' becomes 'to from'). Second, a NUL (ASCII 0) " -"follows each filename, replacing space as a field separator and the " -"terminating newline (but a space still separates the status field from the " -"first filename). Third, filenames containing special characters are not " -"specially formatted; no quoting or backslash-escaping is performed." +"The commit list format can be changed by setting the configuration option " +"rebase.instructionFormat. A customized instruction format will " +"automatically have the long commit hash prepended to the format." msgstr "" -#. type: Title ~ -#: en/git-status.txt:214 +#. type: Labeled list +#: en/git-rebase.txt:384 en/git-svn.txt:642 #, no-wrap -msgid "Porcelain Format Version 2" +msgid "--preserve-merges" msgstr "" #. type: Plain text -#: en/git-status.txt:219 +#: en/git-rebase.txt:388 msgid "" -"Version 2 format adds more detailed information about the state of the " -"worktree and changed items. Version 2 also defines an extensible set of " -"easy to parse optional headers." +"Recreate merge commits instead of flattening the history by replaying " +"commits a merge commit introduces. Merge conflict resolutions or manual " +"amendments to merge commits are not preserved." msgstr "" #. type: Plain text -#: en/git-status.txt:223 +#: en/git-rebase.txt:392 msgid "" -"Header lines start with \"#\" and are added in response to specific command " -"line arguments. Parsers should ignore headers they don't recognize." +"This uses the `--interactive` machinery internally, but combining it with " +"the `--interactive` option explicitly is generally not a good idea unless " +"you know what you are doing (see BUGS below)." msgstr "" -#. type: Plain text -#: en/git-status.txt:225 -msgid "### Branch Headers" +#. type: Labeled list +#: en/git-rebase.txt:393 +#, no-wrap +msgid "-x <cmd>" msgstr "" -#. type: Plain text -#: en/git-status.txt:228 -msgid "" -"If `--branch` is given, a series of header lines are printed with " -"information about the current branch." +#. type: Labeled list +#: en/git-rebase.txt:394 +#, no-wrap +msgid "--exec <cmd>" msgstr "" #. type: Plain text -#: en/git-status.txt:237 -#, no-wrap +#: en/git-rebase.txt:398 msgid "" -" Line Notes\n" -" ------------------------------------------------------------\n" -" # branch.oid <commit> | (initial) Current commit.\n" -" # branch.head <branch> | (detached) Current branch.\n" -" # branch.upstream <upstream_branch> If upstream is set.\n" -" # branch.ab +<ahead> -<behind> If upstream is set and\n" -"\t\t\t\t\t the commit is present.\n" -" ------------------------------------------------------------\n" +"Append \"exec <cmd>\" after each line creating a commit in the final " +"history. <cmd> will be interpreted as one or more shell commands." msgstr "" #. type: Plain text -#: en/git-status.txt:239 -msgid "### Changed Tracked Entries" +#: en/git-rebase.txt:401 +msgid "" +"You may execute several commands by either using one instance of `--exec` " +"with several commands:" msgstr "" #. type: Plain text -#: en/git-status.txt:245 -msgid "" -"Following the headers, a series of lines are printed for tracked entries. " -"One of three different line formats may be used to describe an entry " -"depending on the type of change. Tracked entries are printed in an " -"undefined order; parsers should allow for a mixture of the 3 line types in " -"any order." +#: en/git-rebase.txt:403 +#, no-wrap +msgid "\tgit rebase -i --exec \"cmd1 && cmd2 && ...\"\n" msgstr "" #. type: Plain text -#: en/git-status.txt:247 -#, fuzzy -#| msgid "support the following date formats:" -msgid "Ordinary changed entries have the following format:" -msgstr "prend en charge les formats de date suivants혻:" +#: en/git-rebase.txt:405 +msgid "or by giving more than one `--exec`:" +msgstr "" #. type: Plain text -#: en/git-status.txt:249 +#: en/git-rebase.txt:407 #, no-wrap -msgid " 1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>\n" +msgid "\tgit rebase -i --exec \"cmd1\" --exec \"cmd2\" --exec ...\n" msgstr "" #. type: Plain text -#: en/git-status.txt:251 -#, fuzzy -#| msgid "support the following date formats:" -msgid "Renamed or copied entries have the following format:" -msgstr "prend en charge les formats de date suivants혻:" +#: en/git-rebase.txt:411 +msgid "" +"If `--autosquash` is used, \"exec\" lines will not be appended for the " +"intermediate commits, and will only appear at the end of each squash/fixup " +"series." +msgstr "" #. type: Plain text -#: en/git-status.txt:253 -#, no-wrap -msgid " 2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><sep><origPath>\n" +#: en/git-rebase.txt:414 +msgid "" +"This uses the `--interactive` machinery internally, but it can be run " +"without an explicit `--interactive`." msgstr "" #. type: Plain text -#: en/git-status.txt:283 -#, no-wrap +#: en/git-rebase.txt:424 msgid "" -" Field Meaning\n" -" --------------------------------------------------------\n" -" <XY> A 2 character field containing the staged and\n" -"\t\tunstaged XY values described in the short format,\n" -"\t\twith unchanged indicated by a \".\" rather than\n" -"\t\ta space.\n" -" <sub> A 4 character field describing the submodule state.\n" -"\t\t\"N...\" when the entry is not a submodule.\n" -"\t\t\"S<c><m><u>\" when the entry is a submodule.\n" -"\t\t<c> is \"C\" if the commit changed; otherwise \".\".\n" -"\t\t<m> is \"M\" if it has tracked changes; otherwise \".\".\n" -"\t\t<u> is \"U\" if there are untracked changes; otherwise \".\".\n" -" <mH> The octal file mode in HEAD.\n" -" <mI> The octal file mode in the index.\n" -" <mW> The octal file mode in the worktree.\n" -" <hH> The object name in HEAD.\n" -" <hI> The object name in the index.\n" -" <X><score> The rename or copy score (denoting the percentage\n" -"\t\tof similarity between the source and target of the\n" -"\t\tmove or copy). For example \"R100\" or \"C75\".\n" -" <path> The pathname. In a renamed/copied entry, this\n" -"\t\tis the path in the index and in the working tree.\n" -" <sep> When the `-z` option is used, the 2 pathnames are separated\n" -"\t\twith a NUL (ASCII 0x00) byte; otherwise, a tab (ASCII 0x09)\n" -"\t\tbyte separates them.\n" -" <origPath> The pathname in the commit at HEAD. This is only\n" -"\t\tpresent in a renamed/copied entry, and tells\n" -"\t\twhere the renamed/copied contents came from.\n" -" --------------------------------------------------------\n" +"Rebase all commits reachable from <branch>, instead of limiting them with an " +"<upstream>. This allows you to rebase the root commit(s) on a branch. When " +"used with --onto, it will skip changes already contained in <newbase> " +"(instead of <upstream>) whereas without --onto it will operate on every " +"change. When used together with both --onto and --preserve-merges, 'all' " +"root commits will be rewritten to have <newbase> as parent instead." msgstr "" -#. type: Plain text -#: en/git-status.txt:286 -msgid "" -"Unmerged entries have the following format; the first character is a \"u\" " -"to distinguish from ordinary changed entries." +#. type: Labeled list +#: en/git-rebase.txt:425 +#, no-wrap +msgid "--autosquash" msgstr "" -#. type: Plain text -#: en/git-status.txt:288 +#. type: Labeled list +#: en/git-rebase.txt:426 #, no-wrap -msgid " u <xy> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>\n" +msgid "--no-autosquash" msgstr "" #. type: Plain text -#: en/git-status.txt:304 -#, no-wrap +#: en/git-rebase.txt:435 msgid "" -" Field Meaning\n" -" --------------------------------------------------------\n" -" <XY> A 2 character field describing the conflict type\n" -"\t\tas described in the short format.\n" -" <sub> A 4 character field describing the submodule state\n" -"\t\tas described above.\n" -" <m1> The octal file mode in stage 1.\n" -" <m2> The octal file mode in stage 2.\n" -" <m3> The octal file mode in stage 3.\n" -" <mW> The octal file mode in the worktree.\n" -" <h1> The object name in stage 1.\n" -" <h2> The object name in stage 2.\n" -" <h3> The object name in stage 3.\n" -" <path> The pathname.\n" -" --------------------------------------------------------\n" +"When the commit log message begins with \"squash! ...\" (or \"fixup! ...\"), " +"and there is a commit whose title begins with the same ..., automatically " +"modify the todo list of rebase -i so that the commit marked for squashing " +"comes right after the commit to be modified, and change the action of the " +"moved commit from `pick` to `squash` (or `fixup`). Ignores subsequent " +"\"fixup! \" or \"squash! \" after the first, in case you referred to an " +"earlier fixup/squash with `git commit --fixup/--squash`." msgstr "" #. type: Plain text -#: en/git-status.txt:306 -msgid "### Other Items" +#: en/git-rebase.txt:437 +msgid "This option is only valid when the `--interactive` option is used." msgstr "" #. type: Plain text -#: en/git-status.txt:310 +#: en/git-rebase.txt:441 msgid "" -"Following the tracked entries (and if requested), a series of lines will be " -"printed for untracked and then ignored items found in the worktree." +"If the `--autosquash` option is enabled by default using the configuration " +"variable `rebase.autoSquash`, this option can be used to override and " +"disable this setting." msgstr "" #. type: Plain text -#: en/git-status.txt:312 -#, fuzzy -#| msgid "support the following date formats:" -msgid "Untracked items have the following format:" -msgstr "prend en charge les formats de date suivants혻:" +#: en/git-rebase.txt:449 +msgid "" +"Automatically create a temporary stash before the operation begins, and " +"apply it after the operation ends. This means that you can run rebase on a " +"dirty worktree. However, use with care: the final stash application after a " +"successful rebase might result in non-trivial conflicts." +msgstr "" -#. type: Plain text -#: en/git-status.txt:314 +#. type: Labeled list +#: en/git-rebase.txt:450 en/merge-options.txt:35 #, no-wrap -msgid " ? <path>\n" +msgid "--no-ff" msgstr "" #. type: Plain text -#: en/git-status.txt:316 -#, fuzzy -#| msgid "support the following date formats:" -msgid "Ignored items have the following format:" -msgstr "prend en charge les formats de date suivants혻:" - -#. type: Plain text -#: en/git-status.txt:318 -#, no-wrap -msgid " ! <path>\n" +#: en/git-rebase.txt:454 +msgid "" +"With --interactive, cherry-pick all rebased commits instead of fast-" +"forwarding over the unchanged ones. This ensures that the entire history of " +"the rebased branch is composed of new commits." msgstr "" #. type: Plain text -#: en/git-status.txt:320 -msgid "### Pathname Format Notes and -z" +#: en/git-rebase.txt:456 +msgid "Without --interactive, this is a synonym for --force-rebase." msgstr "" #. type: Plain text -#: en/git-status.txt:324 +#: en/git-rebase.txt:461 msgid "" -"When the `-z` option is given, pathnames are printed as is and without any " -"quoting and lines are terminated with a NUL (ASCII 0x00) byte." +"You may find this helpful after reverting a topic branch merge, as this " +"option recreates the topic branch with fresh commits so it can be remerged " +"successfully without needing to \"revert the reversion\" (see the link:howto/" +"revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details)." +msgstr "" + +#. type: Title - +#: en/git-rebase.txt:465 en/git-symbolic-ref.txt:54 +#, no-wrap +msgid "NOTES" msgstr "" #. type: Plain text -#: en/git-status.txt:328 +#: en/git-rebase.txt:470 #, fuzzy #| msgid "" -#| "The default can be changed by the `commit.cleanup` configuration variable " -#| "(see linkgit:git-config[1])." +#| "You should understand the implications of rewriting history if you amend " +#| "a commit that has already been published. (See the \"RECOVERING FROM " +#| "UPSTREAM REBASE\" section in linkgit:git-rebase[1].)" msgid "" -"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " -"explained for the configuration variable `core.quotePath` (see linkgit:git-" -"config[1])." +"You should understand the implications of using 'git rebase' on a repository " +"that you share. See also RECOVERING FROM UPSTREAM REBASE below." msgstr "" -"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " -"`commit.cleanup` (voir linkgit:git-config[1])." +"Vous devriez comprendre les implications d'une r챕챕criture de l'historique si " +"vous modifiez un commit qui a d챕j횪 챕t챕 publi챕 (Voir la section 짬혻RATTRAPPER " +"UN REBASAGE AMONT혻쨩 dans linkgit:git-rebase[1])." #. type: Plain text -#: en/git-status.txt:337 +#: en/git-rebase.txt:475 msgid "" -"The command honors `color.status` (or `status.color` -- they mean the same " -"thing and the latter is kept for backward compatibility) and `color.status." -"<slot>` configuration variables to colorize its output." +"When the git-rebase command is run, it will first execute a \"pre-rebase\" " +"hook if one exists. You can use this hook to do sanity checks and reject " +"the rebase if it isn't appropriate. Please see the template pre-rebase hook " +"script for an example." msgstr "" #. type: Plain text -#: en/git-status.txt:341 -msgid "" -"If the config variable `status.relativePaths` is set to false, then all " -"paths shown are relative to the repository root, not to the current " -"directory." +#: en/git-rebase.txt:477 +msgid "Upon completion, <branch> will be the current branch." +msgstr "" + +#. type: Title - +#: en/git-rebase.txt:479 +#, no-wrap +msgid "INTERACTIVE MODE" msgstr "" #. type: Plain text -#: en/git-status.txt:352 +#: en/git-rebase.txt:484 msgid "" -"If `status.submoduleSummary` is set to a non zero number or true (identical " -"to -1 or an unlimited number), the submodule summary will be enabled for the " -"long format and a summary of commits for modified submodules will be shown " -"(see --summary-limit option of linkgit:git-submodule[1]). Please note that " -"the summary output from the status command will be suppressed for all " -"submodules when `diff.ignoreSubmodules` is set to 'all' or only for those " -"submodules where `submodule.<name>.ignore=all`. To also view the summary for " -"ignored submodules you can either use the --ignore-submodules=dirty command " -"line option or the 'git submodule summary' command, which shows a similar " -"output but does not honor these settings." +"Rebasing interactively means that you have a chance to edit the commits " +"which are rebased. You can reorder the commits, and you can remove them " +"(weeding out bad or otherwise unwanted patches)." msgstr "" -#. type: Title = -#: en/git-stripspace.txt:2 -#, no-wrap -msgid "git-stripspace(1)" +#. type: Plain text +#: en/git-rebase.txt:486 +msgid "The interactive mode is meant for this type of workflow:" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:7 -msgid "git-stripspace - Remove unnecessary whitespace" +#: en/git-rebase.txt:488 +msgid "have a wonderful idea" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:14 -#, no-wrap -msgid "" -"'git stripspace' [-s | --strip-comments]\n" -"'git stripspace' [-c | --comment-lines]\n" +#: en/git-rebase.txt:489 +msgid "hack on the code" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:21 -msgid "" -"Read text, such as commit messages, notes, tags and branch descriptions, " -"from the standard input and clean it in the manner used by Git." +#: en/git-rebase.txt:490 +msgid "prepare a series for submission" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:23 -msgid "With no arguments, this will:" +#: en/git-rebase.txt:491 +msgid "submit" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:25 -msgid "remove trailing whitespace from all lines" +#: en/git-rebase.txt:493 +msgid "where point 2. consists of several instances of" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:26 -msgid "collapse multiple consecutive empty lines into one empty line" +#: en/git-rebase.txt:495 +msgid "regular use" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:27 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "remove empty lines from the beginning and end of the input" +#: en/git-rebase.txt:497 +msgid "finish something worthy of a commit" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-stripspace.txt:28 -msgid "add a missing '\\n' to the last line if necessary." -msgstr "" +#: en/git-rebase.txt:498 +#, fuzzy +#| msgid "git-commit(1)" +msgid "commit" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-stripspace.txt:31 -msgid "" -"In the case where the input consists entirely of whitespace characters, no " -"output will be produced." +#: en/git-rebase.txt:500 +msgid "independent fixup" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:35 -#, no-wrap -msgid "" -"*NOTE*: This is intended for cleaning metadata, prefer the `--whitespace=fix`\n" -"mode of linkgit:git-apply[1] for correcting whitespace of patches or files in\n" -"the repository.\n" +#: en/git-rebase.txt:502 +msgid "realize that something does not work" msgstr "" -#. type: Labeled list -#: en/git-stripspace.txt:39 -#, no-wrap -msgid "--strip-comments" +#. type: Plain text +#: en/git-rebase.txt:503 +msgid "fix that" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:41 +#: en/git-rebase.txt:504 +#, fuzzy +#| msgid "git-commit(1)" +msgid "commit it" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-rebase.txt:510 msgid "" -"Skip and remove all lines starting with comment character (default '#')." +"Sometimes the thing fixed in b.2. cannot be amended to the not-quite perfect " +"commit it fixes, because that commit is buried deeply in a patch series. " +"That is exactly what interactive rebase is for: use it after plenty of \"a" +"\"s and \"b\"s, by rearranging and editing commits, and squashing multiple " +"commits into one." msgstr "" -#. type: Labeled list -#: en/git-stripspace.txt:43 -#, no-wrap -msgid "--comment-lines" +#. type: Plain text +#: en/git-rebase.txt:512 +msgid "Start it with the last commit you want to retain as-is:" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:47 -msgid "" -"Prepend comment character and blank to each line. Lines will automatically " -"be terminated with a newline. On empty lines, only the comment character " -"will be prepended." +#: en/git-rebase.txt:514 +#, no-wrap +msgid "\tgit rebase -i <after-this-commit>\n" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:52 -msgid "Given the following noisy input with '$' indicating the end of a line:" +#: en/git-rebase.txt:519 +msgid "" +"An editor will be fired up with all the commits in your current branch " +"(ignoring merge commits), which come after the given commit. You can " +"reorder the commits in this list to your heart's content, and you can remove " +"them. The list looks more or less like this:" msgstr "" #. type: delimited block - -#: en/git-stripspace.txt:65 +#: en/git-rebase.txt:524 #, no-wrap msgid "" -"|A brief introduction $\n" -"| $\n" -"|$\n" -"|A new paragraph$\n" -"|# with a commented-out line $\n" -"|explaining lots of stuff.$\n" -"|$\n" -"|# An old paragraph, also commented-out. $\n" -"| $\n" -"|The end.$\n" -"| $\n" +"pick deadbee The oneline of this commit\n" +"pick fa1afe1 The oneline of the next commit\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:68 -msgid "Use 'git stripspace' with no arguments to obtain:" +#: en/git-rebase.txt:529 +msgid "" +"The oneline descriptions are purely for your pleasure; 'git rebase' will not " +"look at them but at the commit names (\"deadbee\" and \"fa1afe1\" in this " +"example), so do not delete or edit the names." msgstr "" -#. type: delimited block - -#: en/git-stripspace.txt:79 -#, no-wrap +#. type: Plain text +#: en/git-rebase.txt:534 msgid "" -"|A brief introduction$\n" -"|$\n" -"|A new paragraph$\n" -"|# with a commented-out line$\n" -"|explaining lots of stuff.$\n" -"|$\n" -"|# An old paragraph, also commented-out.$\n" -"|$\n" -"|The end.$\n" +"By replacing the command \"pick\" with the command \"edit\", you can tell " +"'git rebase' to stop after applying that commit, so that you can edit the " +"files and/or the commit message, amend the commit, and continue rebasing." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:82 -msgid "Use 'git stripspace --strip-comments' to obtain:" +#: en/git-rebase.txt:537 +msgid "" +"If you just want to edit the commit message for a commit, replace the " +"command \"pick\" with the command \"reword\"." msgstr "" -#. type: delimited block - -#: en/git-stripspace.txt:90 -#, no-wrap +#. type: Plain text +#: en/git-rebase.txt:540 msgid "" -"|A brief introduction$\n" -"|$\n" -"|A new paragraph$\n" -"|explaining lots of stuff.$\n" -"|$\n" -"|The end.$\n" +"To drop a commit, replace the command \"pick\" with \"drop\", or just delete " +"the matching line." msgstr "" -#. type: Title = -#: en/git-submodule.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-submodule(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-submodule.txt:7 -msgid "git-submodule - Initialize, update or inspect submodules" +#: en/git-rebase.txt:548 +msgid "" +"If you want to fold two or more commits into one, replace the command \"pick" +"\" for the second and subsequent commits with \"squash\" or \"fixup\". If " +"the commits had different authors, the folded commit will be attributed to " +"the author of the first commit. The suggested commit message for the folded " +"commit is the concatenation of the commit messages of the first commit and " +"of those with the \"squash\" command, but omits the commit messages of " +"commits with the \"fixup\" command." msgstr "" #. type: Plain text -#: en/git-submodule.txt:21 -#, no-wrap +#: en/git-rebase.txt:552 msgid "" -"'git submodule' [--quiet] add [<options>] [--] <repository> [<path>]\n" -"'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]\n" -"'git submodule' [--quiet] init [--] [<path>...]\n" -"'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)\n" -"'git submodule' [--quiet] update [<options>] [--] [<path>...]\n" -"'git submodule' [--quiet] summary [<options>] [--] [<path>...]\n" -"'git submodule' [--quiet] foreach [--recursive] <command>\n" -"'git submodule' [--quiet] sync [--recursive] [--] [<path>...]\n" -"'git submodule' [--quiet] absorbgitdirs [--] [<path>...]\n" +"'git rebase' will stop when \"pick\" has been replaced with \"edit\" or when " +"a command fails due to merge errors. When you are done editing and/or " +"resolving conflicts you can continue with `git rebase --continue`." msgstr "" #. type: Plain text -#: en/git-submodule.txt:26 -msgid "Inspects, updates and manages submodules." +#: en/git-rebase.txt:556 +msgid "" +"For example, if you want to reorder the last 5 commits, such that what was " +"HEAD~4 becomes the new HEAD. To achieve that, you would call 'git rebase' " +"like this:" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:559 +#, no-wrap +msgid "$ git rebase -i HEAD~5\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:31 -msgid "" -"A submodule allows you to keep another Git repository in a subdirectory of " -"your repository. The other repository has its own history, which does not " -"interfere with the history of the current repository. This can be used to " -"have external dependencies such as third party libraries for example." +#: en/git-rebase.txt:562 +msgid "And move the first patch to the end of the list." msgstr "" #. type: Plain text -#: en/git-submodule.txt:36 +#: en/git-rebase.txt:564 +msgid "You might want to preserve merges, if you have a history like this:" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:571 +#, no-wrap msgid "" -"When cloning or pulling a repository containing submodules however, these " -"will not be checked out by default; the 'init' and 'update' subcommands will " -"maintain submodules checked out and at appropriate revision in your working " -"tree." +" X\n" +" \\\n" +" A---M---B\n" +" /\n" +"---o---O---P---Q\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:45 +#: en/git-rebase.txt:575 msgid "" -"Submodules are composed from a so-called `gitlink` tree entry in the main " -"repository that refers to a particular commit object within the inner " -"repository that is completely separate. A record in the `.gitmodules` (see " -"linkgit:gitmodules[5]) file at the root of the source tree assigns a logical " -"name to the submodule and describes the default URL the submodule shall be " -"cloned from. The logical name can be used for overriding this URL within " -"your local repository configuration (see 'submodule init')." +"Suppose you want to rebase the side branch starting at \"A\" to \"Q\". Make " +"sure that the current HEAD is \"B\", and call" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:578 +#, no-wrap +msgid "$ git rebase -i -p --onto Q O\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:58 +#: en/git-rebase.txt:585 msgid "" -"Submodules are not to be confused with remotes, which are other repositories " -"of the same project; submodules are meant for different projects you would " -"like to make part of your source tree, while the history of the two projects " -"still stays completely independent and you cannot modify the contents of the " -"submodule from within the main project. If you want to merge the project " -"histories and want to treat the aggregated whole as a single project from " -"then on, you may want to add a remote for the other project and use the " -"'subtree' merge strategy, instead of treating the other project as a " -"submodule. Directories that come from both projects can be cloned and " -"checked out as a whole if you choose to go that route." +"Reordering and editing commits usually creates untested intermediate steps. " +"You may want to check that your history editing did not break anything by " +"running a test, or at least recompiling at intermediate points in history by " +"using the \"exec\" command (shortcut \"x\"). You may do so by creating a " +"todo list like this one:" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:61 +#. type: delimited block - +#: en/git-rebase.txt:594 #, no-wrap -msgid "add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]" +msgid "" +"pick deadbee Implement feature XXX\n" +"fixup f1a5c00 Fix to feature XXX\n" +"exec make\n" +"pick c0ffeee The oneline of the next commit\n" +"edit deadbab The oneline of the commit after\n" +"exec cd subdir; make test\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:65 +#: en/git-rebase.txt:599 msgid "" -"Add the given repository as a submodule at the given path to the changeset " -"to be committed next to the current project: the current project is termed " -"the \"superproject\"." +"The interactive rebase will stop when a command fails (i.e. exits with non-0 " +"status) to give you an opportunity to fix the problem. You can continue with " +"`git rebase --continue`." msgstr "" #. type: Plain text -#: en/git-submodule.txt:73 +#: en/git-rebase.txt:604 msgid "" -"This requires at least one argument: <repository>. The optional argument " -"<path> is the relative location for the cloned submodule to exist in the " -"superproject. If <path> is not given, the \"humanish\" part of the source " -"repository is used (\"repo\" for \"/path/to/repo.git\" and \"foo\" for " -"\"host.xz:foo/.git\"). The <path> is also used as the submodule's logical " -"name in its configuration entries unless `--name` is used to specify a " -"logical name." +"The \"exec\" command launches the command in a shell (the one specified in `" +"$SHELL`, or the default shell if `$SHELL` is not set), so you can use shell " +"features (like \"cd\", \">\", \";\" ...). The command is run from the root " +"of the working tree." +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:607 +#, no-wrap +msgid "$ git rebase -i --exec \"make test\"\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:82 +#: en/git-rebase.txt:611 msgid "" -"<repository> is the URL of the new submodule's origin repository. This may " -"be either an absolute URL, or (if it begins with ./ or ../), the location " -"relative to the superproject's default remote repository (Please note that " -"to specify a repository 'foo.git' which is located right next to a " -"superproject 'bar.git', you'll have to use '../foo.git' instead of './foo." -"git' - as one might expect when following the rules for relative URLs - " -"because the evaluation of relative URLs in Git is identical to that of " -"relative directories)." +"This command lets you check that intermediate commits are compilable. The " +"todo list becomes like that:" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:89 +#. type: delimited block - +#: en/git-rebase.txt:621 +#, no-wrap msgid "" -"The default remote is the remote of the remote tracking branch of the " -"current branch. If no such remote tracking branch exists or the HEAD is " -"detached, \"origin\" is assumed to be the default remote. If the " -"superproject doesn't have a default remote configured the superproject is " -"its own authoritative upstream and the current working directory is used " -"instead." +"pick 5928aea one\n" +"exec make test\n" +"pick 04d0fda two\n" +"exec make test\n" +"pick ba46169 three\n" +"exec make test\n" +"pick f4593f9 four\n" +"exec make test\n" +msgstr "" + +#. type: Title - +#: en/git-rebase.txt:624 +#, no-wrap +msgid "SPLITTING COMMITS" msgstr "" #. type: Plain text -#: en/git-submodule.txt:97 +#: en/git-rebase.txt:630 msgid "" -"<path> is the relative location for the cloned submodule to exist in the " -"superproject. If <path> does not exist, then the submodule is created by " -"cloning from the named URL. If <path> does exist and is already a valid Git " -"repository, then this is added to the changeset without cloning. This second " -"form is provided to ease creating a new submodule from scratch, and presumes " -"the user will later push the submodule to the given URL." +"In interactive mode, you can mark commits with the action \"edit\". " +"However, this does not necessarily mean that 'git rebase' expects the result " +"of this edit to be exactly one commit. Indeed, you can undo the commit, or " +"you can add other commits. This can be used to split a commit into two:" msgstr "" #. type: Plain text -#: en/git-submodule.txt:105 +#: en/git-rebase.txt:634 msgid "" -"In either case, the given URL is recorded into .gitmodules for use by " -"subsequent users cloning the superproject. If the URL is given relative to " -"the superproject's repository, the presumption is the superproject and " -"submodule repositories will be kept together in the same relative location, " -"and only the superproject's URL needs to be provided: git-submodule will " -"correctly locate the submodule using the relative URL in .gitmodules." +"Start an interactive rebase with `git rebase -i <commit>^`, where <commit> " +"is the commit you want to split. In fact, any commit range will do, as long " +"as it contains that commit." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:106 -#, no-wrap -msgid "status [--cached] [--recursive] [--] [<path>...]" +#. type: Plain text +#: en/git-rebase.txt:636 +msgid "Mark the commit you want to split with the action \"edit\"." msgstr "" #. type: Plain text -#: en/git-submodule.txt:114 +#: en/git-rebase.txt:640 msgid "" -"Show the status of the submodules. This will print the SHA-1 of the " -"currently checked out commit for each submodule, along with the submodule " -"path and the output of 'git describe' for the SHA-1. Each SHA-1 will be " -"prefixed with `-` if the submodule is not initialized, `+` if the currently " -"checked out submodule commit does not match the SHA-1 found in the index of " -"the containing repository and `U` if the submodule has merge conflicts." +"When it comes to editing that commit, execute `git reset HEAD^`. The effect " +"is that the HEAD is rewound by one, and the index follows suit. However, " +"the working tree stays the same." msgstr "" #. type: Plain text -#: en/git-submodule.txt:117 +#: en/git-rebase.txt:644 msgid "" -"If `--recursive` is specified, this command will recurse into nested " -"submodules, and show their status as well." +"Now add the changes to the index that you want to have in the first commit. " +"You can use `git add` (possibly interactively) or 'git gui' (or both) to do " +"that." msgstr "" #. type: Plain text -#: en/git-submodule.txt:122 +#: en/git-rebase.txt:647 msgid "" -"If you are only interested in changes of the currently initialized " -"submodules with respect to the commit recorded in the index or the HEAD, " -"linkgit:git-status[1] and linkgit:git-diff[1] will provide that information " -"too (and can also report changes to a submodule's work tree)." +"Commit the now-current index with whatever commit message is appropriate now." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:123 -#, no-wrap -msgid "init [--] [<path>...]" +#. type: Plain text +#: en/git-rebase.txt:649 +msgid "Repeat the last two steps until your working tree is clean." msgstr "" #. type: Plain text -#: en/git-submodule.txt:130 -msgid "" -"Initialize the submodules recorded in the index (which were added and " -"committed elsewhere) by setting `submodule.$name.url` in .git/config. It " -"uses the same setting from .gitmodules as a template. If the URL is " -"relative, it will be resolved using the default remote. If there is no " -"default remote, the current repository will be assumed to be upstream." +#: en/git-rebase.txt:651 +msgid "Continue the rebase with `git rebase --continue`." msgstr "" #. type: Plain text -#: en/git-submodule.txt:133 +#: en/git-rebase.txt:656 msgid "" -"Optional <path> arguments limit which submodules will be initialized. If no " -"path is specified, all submodules are initialized." +"If you are not absolutely sure that the intermediate revisions are " +"consistent (they compile, pass the testsuite, etc.) you should use 'git " +"stash' to stash away the not-yet-committed changes after each commit, test, " +"and amend the commit if fixes are necessary." +msgstr "" + +#. type: Title - +#: en/git-rebase.txt:659 +#, no-wrap +msgid "RECOVERING FROM UPSTREAM REBASE" msgstr "" #. type: Plain text -#: en/git-submodule.txt:141 +#: en/git-rebase.txt:666 msgid "" -"When present, it will also copy the value of `submodule.$name.update`. This " -"command does not alter existing information in .git/config. You can then " -"customize the submodule clone URLs in .git/config for your local setup and " -"proceed to `git submodule update`; you can also just use `git submodule " -"update --init` without the explicit 'init' step if you do not intend to " -"customize any submodule locations." +"Rebasing (or any other form of rewriting) a branch that others have based " +"work on is a bad idea: anyone downstream of it is forced to manually fix " +"their history. This section explains how to do the fix from the " +"downstream's point of view. The real fix, however, would be to avoid " +"rebasing the upstream in the first place." msgstr "" #. type: Plain text -#: en/git-submodule.txt:143 -msgid "See the add subcommand for the defintion of default remote." +#: en/git-rebase.txt:671 +msgid "" +"To illustrate, suppose you are in a situation where someone develops a " +"'subsystem' branch, and you are working on a 'topic' that is dependent on " +"this 'subsystem'. You might end up with a history like the following:" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:144 +#. type: delimited block - +#: en/git-rebase.txt:678 #, no-wrap -msgid "deinit [-f|--force] (--all|[--] <path>...)" +msgid "" +" o---o---o---o---o---o---o---o---o master\n" +"\t \\\n" +"\t o---o---o---o---o subsystem\n" +"\t\t\t \\\n" +"\t\t\t *---*---* topic\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:153 -msgid "" -"Unregister the given submodules, i.e. remove the whole `submodule.$name` " -"section from .git/config together with their work tree. Further calls to " -"`git submodule update`, `git submodule foreach` and `git submodule sync` " -"will skip any unregistered submodules until they are initialized again, so " -"use this command if you don't want to have a local checkout of the submodule " -"in your working tree anymore. If you really want to remove a submodule from " -"the repository and commit that use linkgit:git-rm[1] instead." +#: en/git-rebase.txt:681 +msgid "If 'subsystem' is rebased against 'master', the following happens:" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:156 +#. type: delimited block - +#: en/git-rebase.txt:688 +#, no-wrap msgid "" -"When the command is run without pathspec, it errors out, instead of deinit-" -"ing everything, to prevent mistakes." +" o---o---o---o---o---o---o---o master\n" +"\t \\\t\t\t \\\n" +"\t o---o---o---o---o\t o'--o'--o'--o'--o' subsystem\n" +"\t\t\t \\\n" +"\t\t\t *---*---* topic\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:159 +#: en/git-rebase.txt:692 msgid "" -"If `--force` is specified, the submodule's working tree will be removed even " -"if it contains local modifications." +"If you now continue development as usual, and eventually merge 'topic' to " +"'subsystem', the commits from 'subsystem' will remain duplicated forever:" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:160 +#. type: delimited block - +#: en/git-rebase.txt:699 #, no-wrap -msgid "update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]" +msgid "" +" o---o---o---o---o---o---o---o master\n" +"\t \\\t\t\t \\\n" +"\t o---o---o---o---o\t o'--o'--o'--o'--o'--M\t subsystem\n" +"\t\t\t \\\t\t\t /\n" +"\t\t\t *---*---*-..........-*--* topic\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:171 +#: en/git-rebase.txt:706 msgid "" -"Update the registered submodules to match what the superproject expects by " -"cloning missing submodules and updating the working tree of the submodules. " -"The \"updating\" can be done in several ways depending on command line " -"options and the value of `submodule.<name>.update` configuration variable. " -"The command line option takes precedence over the configuration variable. if " -"neither is given, a checkout is performed. update procedures supported both " -"from the command line as well as setting `submodule.<name>.update`:" -msgstr "" - -#. type: Labeled list -#: en/git-submodule.txt:172 -#, no-wrap -msgid "checkout" +"Such duplicates are generally frowned upon because they clutter up history, " +"making it harder to follow. To clean things up, you need to transplant the " +"commits on 'topic' to the new 'subsystem' tip, i.e., rebase 'topic'. This " +"becomes a ripple effect: anyone downstream from 'topic' is forced to rebase " +"too, and so on!" msgstr "" #. type: Plain text -#: en/git-submodule.txt:173 -msgid "the commit recorded in the superproject will be" +#: en/git-rebase.txt:708 +msgid "There are two kinds of fixes, discussed in the following subsections:" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:174 +#. type: Labeled list +#: en/git-rebase.txt:709 #, no-wrap -msgid "checked out in the submodule on a detached HEAD.\n" +msgid "Easy case: The changes are literally the same." msgstr "" #. type: Plain text -#: en/git-submodule.txt:179 +#: en/git-rebase.txt:713 msgid "" -"If `--force` is specified, the submodule will be checked out (using `git " -"checkout --force` if appropriate), even if the commit specified in the index " -"of the containing repository already matches the commit checked out in the " -"submodule." +"This happens if the 'subsystem' rebase was a simple rebase and had no " +"conflicts." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:180 +#: en/git-rebase.txt:714 #, no-wrap -msgid "rebase" +msgid "Hard case: The changes are not the same." msgstr "" #. type: Plain text -#: en/git-submodule.txt:181 -msgid "the current branch of the submodule will be rebased" +#: en/git-rebase.txt:720 +msgid "" +"This happens if the 'subsystem' rebase had conflicts, or used `--" +"interactive` to omit, edit, squash, or fixup commits; or if the upstream " +"used one of `commit --amend`, `reset`, or `filter-branch`." msgstr "" -#. type: Plain text -#: en/git-submodule.txt:182 +#. type: Title ~ +#: en/git-rebase.txt:723 #, no-wrap -msgid "onto the commit recorded in the superproject.\n" -msgstr "" - -#. type: Plain text -#: en/git-submodule.txt:184 -msgid "the commit recorded in the superproject will be merged" +msgid "The easy case" msgstr "" #. type: Plain text -#: en/git-submodule.txt:185 -#, no-wrap -msgid "into the current branch in the submodule.\n" +#: en/git-rebase.txt:728 +msgid "" +"Only works if the changes (patch IDs based on the diff contents) on " +"'subsystem' are literally the same before and after the rebase 'subsystem' " +"did." msgstr "" #. type: Plain text -#: en/git-submodule.txt:188 +#: en/git-rebase.txt:732 msgid "" -"The following procedures are only available via the `submodule.<name>." -"update` configuration variable:" +"In that case, the fix is easy because 'git rebase' knows to skip changes " +"that are already present in the new upstream. So if you say (assuming " +"you're on 'topic')" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:189 +#. type: delimited block - +#: en/git-rebase.txt:734 #, no-wrap -msgid "custom command" +msgid " $ git rebase subsystem\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:190 -msgid "arbitrary shell command that takes a single" +#: en/git-rebase.txt:736 +msgid "you will end up with the fixed history" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:194 +#. type: delimited block - +#: en/git-rebase.txt:742 #, no-wrap msgid "" -"argument (the sha1 of the commit recorded in the\n" -"superproject) is executed. When `submodule.<name>.update`\n" -"is set to '!command', the remainder after the exclamation mark\n" -"is the custom command.\n" +" o---o---o---o---o---o---o---o master\n" +"\t\t\t\t \\\n" +"\t\t\t\t o'--o'--o'--o'--o' subsystem\n" +"\t\t\t\t\t\t \\\n" +"\t\t\t\t\t\t *---*---* topic\n" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:195 en/diff-options.txt:254 +#. type: Title ~ +#: en/git-rebase.txt:746 #, no-wrap -msgid "none" +msgid "The hard case" msgstr "" #. type: Plain text -#: en/git-submodule.txt:196 -msgid "the submodule is not updated." +#: en/git-rebase.txt:750 +msgid "" +"Things get more complicated if the 'subsystem' changes do not exactly " +"correspond to the ones before the rebase." msgstr "" #. type: Plain text -#: en/git-submodule.txt:200 +#: en/git-rebase.txt:755 +#, no-wrap msgid "" -"If the submodule is not yet initialized, and you just want to use the " -"setting as stored in .gitmodules, you can automatically initialize the " -"submodule with the `--init` option." +"While an \"easy case recovery\" sometimes appears to be successful\n" +" even in the hard case, it may have unintended consequences. For\n" +" example, a commit that was removed via `git rebase\n" +" --interactive` will be **resurrected**!\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:203 +#: en/git-rebase.txt:760 msgid "" -"If `--recursive` is specified, this command will recurse into the registered " -"submodules, and update any nested submodules within." +"The idea is to manually tell 'git rebase' \"where the old 'subsystem' ended " +"and your 'topic' began\", that is, what the old merge-base between them " +"was. You will have to find a way to name the last commit of the old " +"'subsystem', for example:" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:204 -#, no-wrap -msgid "summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>...]" +#. type: Plain text +#: en/git-rebase.txt:764 +msgid "" +"With the 'subsystem' reflog: after 'git fetch', the old tip of 'subsystem' " +"is at `subsystem@{1}`. Subsequent fetches will increase the number. (See " +"linkgit:git-reflog[1].)" msgstr "" #. type: Plain text -#: en/git-submodule.txt:213 +#: en/git-rebase.txt:767 msgid "" -"Show commit summary between the given commit (defaults to HEAD) and working " -"tree/index. For a submodule in question, a series of commits in the " -"submodule between the given super project commit and the index or working " -"tree (switched by `--cached`) are shown. If the option `--files` is given, " -"show the series of commits in the submodule between the index of the super " -"project and the working tree of the submodule (this option doesn't allow to " -"use the `--cached` option or to provide an explicit commit)." +"Relative to the tip of 'topic': knowing that your 'topic' has three commits, " +"the old tip of 'subsystem' must be `topic~3`." msgstr "" #. type: Plain text -#: en/git-submodule.txt:216 +#: en/git-rebase.txt:770 msgid "" -"Using the `--submodule=log` option with linkgit:git-diff[1] will provide " -"that information too." +"You can then transplant the old `subsystem..topic` to the new tip by saying " +"(for the reflog case, and assuming you are on 'topic' already):" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:217 +#. type: delimited block - +#: en/git-rebase.txt:772 #, no-wrap -msgid "foreach [--recursive] <command>" +msgid " $ git rebase --onto subsystem subsystem@{1}\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:233 +#: en/git-rebase.txt:777 msgid "" -"Evaluates an arbitrary shell command in each checked out submodule. The " -"command has access to the variables $name, $path, $sha1 and $toplevel: $name " -"is the name of the relevant submodule section in .gitmodules, $path is the " -"name of the submodule directory relative to the superproject, $sha1 is the " -"commit as recorded in the superproject, and $toplevel is the absolute path " -"to the top-level of the superproject. Any submodules defined in the " -"superproject but not checked out are ignored by this command. Unless given " -"`--quiet`, foreach prints the name of each submodule before evaluating the " -"command. If `--recursive` is given, submodules are traversed recursively (i." -"e. the given shell command is evaluated in nested submodules as well). A " -"non-zero return from the command in any submodule causes the processing to " -"terminate. This can be overridden by adding '|| :' to the end of the command." +"The ripple effect of a \"hard case\" recovery is especially bad: 'everyone' " +"downstream from 'topic' will now have to perform a \"hard case\" recovery " +"too!" msgstr "" #. type: Plain text -#: en/git-submodule.txt:236 +#: en/git-rebase.txt:784 msgid "" -"As an example, the command below will show the path and currently checked " -"out commit for each submodule:" +"The todo list presented by `--preserve-merges --interactive` does not " +"represent the topology of the revision graph. Editing commits and rewording " +"their commit messages should work fine, but attempts to reorder commits tend " +"to produce counterintuitive results." msgstr "" -#. type: delimited block - -#: en/git-submodule.txt:239 -#, no-wrap -msgid "git submodule foreach 'echo $path `git rev-parse HEAD`'\n" +#. type: Plain text +#: en/git-rebase.txt:786 +msgid "For example, an attempt to rearrange" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:241 +#. type: delimited block - +#: en/git-rebase.txt:788 #, no-wrap -msgid "sync [--recursive] [--] [<path>...]" +msgid "1 --- 2 --- 3 --- 4 --- 5\n" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:248 -msgid "" -"Synchronizes submodules' remote URL configuration setting to the value " -"specified in .gitmodules. It will only affect those submodules which already " -"have a URL entry in .git/config (that is the case when they are initialized " -"or freshly added). This is useful when submodule URLs change upstream and " -"you need to update your local repositories accordingly." +#. type: delimited block - +#: en/git-rebase.txt:792 +#, no-wrap +msgid "1 --- 2 --- 4 --- 3 --- 5\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:251 -msgid "" -"\"git submodule sync\" synchronizes all submodules while \"git submodule " -"sync \\-- A\" synchronizes submodule \"A\" only." +#: en/git-rebase.txt:794 +msgid "by moving the \"pick 4\" line will result in the following history:" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:254 +#. type: delimited block - +#: en/git-rebase.txt:798 +#, no-wrap msgid "" -"If `--recursive` is specified, this command will recurse into the registered " -"submodules, and sync any nested submodules within." +"\t3\n" +" /\n" +"1 --- 2 --- 4 --- 5\n" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:255 +#. type: Title = +#: en/git-receive-pack.txt:2 #, no-wrap -msgid "absorbgitdirs" +msgid "git-receive-pack(1)" msgstr "" #. type: Plain text -#: en/git-submodule.txt:262 -msgid "" -"If a git directory of a submodule is inside the submodule, move the git " -"directory of the submodule into its superprojects `$GIT_DIR/modules` path " -"and then connect the git directory and its working directory by setting the " -"`core.worktree` and adding a .git file pointing to the git directory " -"embedded in the superprojects git directory." -msgstr "" +#: en/git-receive-pack.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-receive-pack - Receive what is pushed into the repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Plain text -#: en/git-submodule.txt:266 -msgid "" -"A repository that was cloned independently and later added as a submodule or " -"old setups have the submodules git directory inside the submodule instead of " -"embedded into the superprojects git directory." +#: en/git-receive-pack.txt:13 +#, no-wrap +msgid "'git-receive-pack' <directory>\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:268 -msgid "This command is recursive by default." +#: en/git-receive-pack.txt:18 +msgid "" +"Invoked by 'git send-pack' and updates the repository with the information " +"fed from the remote end." msgstr "" #. type: Plain text -#: en/git-submodule.txt:274 -#, fuzzy -#| msgid "" -#| "-q::\n" -#| "--quiet::\n" -#| "\tSuppress commit summary message.\n" -msgid "Only print error messages." +#: en/git-receive-pack.txt:23 +msgid "" +"This command is usually not invoked directly by the end user. The UI for " +"the protocol is on the 'git send-pack' side, and the program pair is meant " +"to be used to push updates to remote repository. For pull operations, see " +"linkgit:git-fetch-pack[1]." msgstr "" -"-q::\n" -"--quiet::\n" -"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Plain text -#: en/git-submodule.txt:278 +#: en/git-receive-pack.txt:28 msgid "" -"This option is only valid for the deinit command. Unregister all submodules " -"in the working tree." +"The command allows for creation and fast-forwarding of sha1 refs (heads/" +"tags) on the remote end (strictly speaking, it is the local end 'git-receive-" +"pack' runs, but to the user who is sitting at the send-pack end, it is " +"updating the remote. Confused?)" msgstr "" #. type: Plain text -#: en/git-submodule.txt:286 +#: en/git-receive-pack.txt:31 msgid "" -"Branch of repository to add as submodule. The name of the branch is " -"recorded as `submodule.<name>.branch` in `.gitmodules` for `update --" -"remote`. A special value of `.` is used to indicate that the name of the " -"branch in the submodule should be the same name as the current branch in the " -"current repository." +"There are other real-world examples of using update and post-update hooks " +"found in the Documentation/howto directory." msgstr "" #. type: Plain text -#: en/git-submodule.txt:299 +#: en/git-receive-pack.txt:35 msgid "" -"This option is only valid for add, deinit and update commands. When running " -"add, allow adding an otherwise ignored submodule path. When running deinit " -"the submodule working trees will be removed even if they contain local " -"changes. When running update (only effective with the checkout procedure), " -"throw away local changes in submodules when switching to a different commit; " -"and always run a checkout operation in the submodule, even if the commit " -"listed in the index of the containing repository matches the commit checked " -"out in the submodule." +"'git-receive-pack' honours the receive.denyNonFastForwards config option, " +"which tells it if updates to a ref should be denied if they are not fast-" +"forwards." msgstr "" #. type: Plain text -#: en/git-submodule.txt:304 +#: en/git-receive-pack.txt:38 msgid "" -"This option is only valid for status and summary commands. These commands " -"typically use the commit found in the submodule HEAD, but with this option, " -"the commit stored in the index is used instead." -msgstr "" - -#. type: Labeled list -#: en/git-submodule.txt:305 -#, no-wrap -msgid "--files" +"A number of other receive.* config options are available to tweak its " +"behavior, see linkgit:git-config[1]." msgstr "" #. type: Plain text -#: en/git-submodule.txt:309 -msgid "" -"This option is only valid for the summary command. This command compares the " -"commit in the index with that in the submodule HEAD when this option is used." +#: en/git-receive-pack.txt:43 +msgid "The repository to sync into." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:311 +#. type: Title - +#: en/git-receive-pack.txt:45 #, no-wrap -msgid "--summary-limit" -msgstr "" - -#. type: Plain text -#: en/git-submodule.txt:317 -msgid "" -"This option is only valid for the summary command. Limit the summary size " -"(number of commits shown in total). Giving 0 will disable the summary; a " -"negative number means unlimited (the default). This limit only applies to " -"modified submodules. The size is always limited to 1 for added/deleted/" -"typechanged submodules." +msgid "pre-receive Hook" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:318 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--remote" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-submodule.txt:327 +#: en/git-receive-pack.txt:49 msgid "" -"This option is only valid for the update command. Instead of using the " -"superproject's recorded SHA-1 to update the submodule, use the status of the " -"submodule's remote-tracking branch. The remote used is branch's remote " -"(`branch.<name>.remote`), defaulting to `origin`. The remote branch used " -"defaults to `master`, but the branch name may be overridden by setting the " -"`submodule.<name>.branch` option in either `.gitmodules` or `.git/config` " -"(with `.git/config` taking precedence)." +"Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists and is " +"executable, it will be invoked once with no parameters. The standard input " +"of the hook will be one line per ref to be updated:" msgstr "" #. type: Plain text -#: en/git-submodule.txt:333 -msgid "" -"This works for any of the supported update procedures (`--checkout`, `--" -"rebase`, etc.). The only change is the source of the target SHA-1. For " -"example, `submodule update --remote --merge` will merge upstream submodule " -"changes into the submodules, while `submodule update --merge` will merge " -"superproject gitlink changes into the submodules." +#: en/git-receive-pack.txt:51 en/git-receive-pack.txt:148 +#, no-wrap +msgid " sha1-old SP sha1-new SP refname LF\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:338 +#: en/git-receive-pack.txt:58 msgid "" -"In order to ensure a current tracking branch state, `update --remote` " -"fetches the submodule's remote repository before calculating the SHA-1. If " -"you don't want to fetch, you should use `submodule update --remote --no-" -"fetch`." +"The refname value is relative to $GIT_DIR; e.g. for the master head this is " +"\"refs/heads/master\". The two sha1 values before each refname are the " +"object names for the refname before and after the update. Refs to be " +"created will have sha1-old equal to 0\\{40}, while refs to be deleted will " +"have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should be " +"valid objects in the repository." msgstr "" #. type: Plain text -#: en/git-submodule.txt:348 +#: en/git-receive-pack.txt:65 msgid "" -"Use this option to integrate changes from the upstream subproject with your " -"submodule's current HEAD. Alternatively, you can run `git pull` from the " -"submodule, which is equivalent except for the remote branch name: `update --" -"remote` uses the default upstream repository and `submodule.<name>.branch`, " -"while `git pull` uses the submodule's `branch.<name>.merge`. Prefer " -"`submodule.<name>.branch` if you want to distribute the default upstream " -"branch with the superproject and `branch.<name>.merge` if you want a more " -"native feel while working in the submodule itself." +"When accepting a signed push (see linkgit:git-push[1]), the signed push " +"certificate is stored in a blob and an environment variable `GIT_PUSH_CERT` " +"can be consulted for its object name. See the description of `post-receive` " +"hook for an example. In addition, the certificate is verified using GPG and " +"the result is exported with the following environment variables:" msgstr "" #. type: Labeled list -#: en/git-submodule.txt:350 +#: en/git-receive-pack.txt:66 #, no-wrap -msgid "--no-fetch" +msgid "`GIT_PUSH_CERT_SIGNER`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:353 +#: en/git-receive-pack.txt:69 msgid "" -"This option is only valid for the update command. Don't fetch new objects " -"from the remote site." +"The name and the e-mail address of the owner of the key that signed the push " +"certificate." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:354 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--checkout" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/git-submodule.txt:362 -msgid "" -"This option is only valid for the update command. Checkout the commit " -"recorded in the superproject on a detached HEAD in the submodule. This is " -"the default behavior, the main use of this option is to override `submodule." -"$name.update` when set to a value other than `checkout`. If the key " -"`submodule.$name.update` is either not explicitly set or set to `checkout`, " -"this option is implicit." +#: en/git-receive-pack.txt:70 +#, no-wrap +msgid "`GIT_PUSH_CERT_KEY`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:372 -msgid "" -"This option is only valid for the update command. Merge the commit recorded " -"in the superproject into the current branch of the submodule. If this option " -"is given, the submodule's HEAD will not be detached. If a merge failure " -"prevents this process, you will have to resolve the resulting conflicts " -"within the submodule with the usual conflict resolution tools. If the key " -"`submodule.$name.update` is set to `merge`, this option is implicit." +#: en/git-receive-pack.txt:72 +msgid "The GPG key ID of the key that signed the push certificate." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:373 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--rebase" -msgstr "git-add(1)" +#: en/git-receive-pack.txt:73 +#, no-wrap +msgid "`GIT_PUSH_CERT_STATUS`" +msgstr "" #. type: Plain text -#: en/git-submodule.txt:381 +#: en/git-receive-pack.txt:77 msgid "" -"This option is only valid for the update command. Rebase the current branch " -"onto the commit recorded in the superproject. If this option is given, the " -"submodule's HEAD will not be detached. If a merge failure prevents this " -"process, you will have to resolve these failures with linkgit:git-" -"rebase[1]. If the key `submodule.$name.update` is set to `rebase`, this " -"option is implicit." +"The status of GPG verification of the push certificate, using the same " +"mnemonic as used in `%G?` format of `git log` family of commands (see " +"linkgit:git-log[1])." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:382 +#: en/git-receive-pack.txt:78 #, no-wrap -msgid "--init" +msgid "`GIT_PUSH_CERT_NONCE`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:386 +#: en/git-receive-pack.txt:84 msgid "" -"This option is only valid for the update command. Initialize all submodules " -"for which \"git submodule init\" has not been called so far before updating." +"The nonce string the process asked the signer to include in the push " +"certificate. If this does not match the value recorded on the \"nonce\" " +"header in the push certificate, it may indicate that the certificate is a " +"valid one that is being replayed from a separate \"git push\" session." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:387 +#: en/git-receive-pack.txt:85 #, no-wrap -msgid "--name" +msgid "`GIT_PUSH_CERT_NONCE_STATUS`" +msgstr "" + +#. type: Labeled list +#: en/git-receive-pack.txt:86 +#, no-wrap +msgid "`UNSOLICITED`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:391 -msgid "" -"This option is only valid for the add command. It sets the submodule's name " -"to the given string instead of defaulting to its path. The name must be " -"valid as a directory name and may not end with a '/'." +#: en/git-receive-pack.txt:89 +msgid "\"git push --signed\" sent a nonce when we did not ask it to send one." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:392 +#: en/git-receive-pack.txt:89 #, no-wrap -msgid "--reference <repository>" +msgid "`MISSING`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:396 -msgid "" -"This option is only valid for add and update commands. These commands " -"sometimes need to clone a remote repository. In this case, this option will " -"be passed to the linkgit:git-clone[1] command." +#: en/git-receive-pack.txt:91 +msgid "\"git push --signed\" did not send any nonce header." msgstr "" -#. type: Plain text -#: en/git-submodule.txt:399 +#. type: Labeled list +#: en/git-receive-pack.txt:91 #, no-wrap -msgid "" -"*NOTE*: Do *not* use this option unless you have read the note\n" -"for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.\n" +msgid "`BAD`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:405 -msgid "" -"This option is only valid for foreach, update, status and sync commands. " -"Traverse submodules recursively. The operation is performed not only in the " -"submodules of the current repo, but also in any nested submodules inside " -"those submodules (and so on)." +#: en/git-receive-pack.txt:93 +msgid "\"git push --signed\" sent a bogus nonce." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:406 +#: en/git-receive-pack.txt:93 #, no-wrap -msgid "--depth" +msgid "`OK`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:410 -msgid "" -"This option is valid for add and update commands. Create a 'shallow' clone " -"with a history truncated to the specified number of revisions. See linkgit:" -"git-clone[1]" +#: en/git-receive-pack.txt:95 +msgid "\"git push --signed\" sent the nonce we asked it to send." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:411 +#: en/git-receive-pack.txt:95 #, no-wrap -msgid "--[no-]recommend-shallow" +msgid "`SLOP`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:416 +#: en/git-receive-pack.txt:99 msgid "" -"This option is only valid for the update command. The initial clone of a " -"submodule will use the recommended `submodule.<name>.shallow` as provided by " -"the .gitmodules file by default. To ignore the suggestions use `--no-" -"recommend-shallow`." +"\"git push --signed\" sent a nonce different from what we asked it to send " +"now, but in a previous session. See `GIT_PUSH_CERT_NONCE_SLOP` environment " +"variable." +msgstr "" + +#. type: Labeled list +#: en/git-receive-pack.txt:100 +#, no-wrap +msgid "`GIT_PUSH_CERT_NONCE_SLOP`" msgstr "" #. type: Plain text -#: en/git-submodule.txt:422 +#: en/git-receive-pack.txt:108 msgid "" -"This option is only valid for the update command. Clone new submodules in " -"parallel with as many jobs. Defaults to the `submodule.fetchJobs` option." +"\"git push --signed\" sent a nonce different from what we asked it to send " +"now, but in a different session whose starting time is different by this " +"many seconds from the current session. Only meaningful when " +"`GIT_PUSH_CERT_NONCE_STATUS` says `SLOP`. Also read about `receive." +"certNonceSlop` variable in linkgit:git-config[1]." msgstr "" #. type: Plain text -#: en/git-submodule.txt:427 +#: en/git-receive-pack.txt:111 msgid "" -"Paths to submodule(s). When specified this will restrict the command to only " -"operate on the submodules found at the specified paths. (This argument is " -"required with add)." +"This hook is called before any refname is updated and before any fast-" +"forward checks are performed." msgstr "" #. type: Plain text -#: en/git-submodule.txt:435 +#: en/git-receive-pack.txt:116 msgid "" -"When initializing submodules, a .gitmodules file in the top-level directory " -"of the containing repository is used to find the url of each submodule. " -"This file should be formatted in the same way as `$GIT_DIR/config`. The key " -"to each submodule url is \"submodule.$name.url\". See linkgit:gitmodules[5] " -"for details." +"If the pre-receive hook exits with a non-zero exit status no updates will be " +"performed, and the update, post-receive and post-update hooks will not be " +"invoked either. This can be useful to quickly bail out if the update is not " +"to be supported." msgstr "" -#. type: Title = -#: en/git-svn.txt:2 +#. type: Title - +#: en/git-receive-pack.txt:118 #, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-svn(1)" -msgstr "git-add(1)" +#| msgid "update" +msgid "update Hook" +msgstr "update" #. type: Plain text -#: en/git-svn.txt:7 +#: en/git-receive-pack.txt:121 msgid "" -"git-svn - Bidirectional operation between a Subversion repository and Git" +"Before each ref is updated, if $GIT_DIR/hooks/update file exists and is " +"executable, it is invoked once per ref, with three parameters:" msgstr "" #. type: Plain text -#: en/git-svn.txt:12 +#: en/git-receive-pack.txt:123 #, no-wrap -msgid "'git svn' <command> [options] [arguments]\n" +msgid " $GIT_DIR/hooks/update refname sha1-old sha1-new\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:18 +#: en/git-receive-pack.txt:130 msgid "" -"'git svn' is a simple conduit for changesets between Subversion and Git. It " -"provides a bidirectional flow of changes between a Subversion and a Git " -"repository." +"The refname parameter is relative to $GIT_DIR; e.g. for the master head this " +"is \"refs/heads/master\". The two sha1 arguments are the object names for " +"the refname before and after the update. Note that the hook is called " +"before the refname is updated, so either sha1-old is 0\\{40} (meaning there " +"is no such ref yet), or it should match what is recorded in refname." msgstr "" #. type: Plain text -#: en/git-svn.txt:23 +#: en/git-receive-pack.txt:133 msgid "" -"'git svn' can track a standard Subversion repository, following the common " -"\"trunk/branches/tags\" layout, with the --stdlayout option. It can also " -"follow branches and tags in any layout with the -T/-t/-b options (see " -"options to 'init' below, and also the 'clone' command)." +"The hook should exit with non-zero status if it wants to disallow updating " +"the named ref. Otherwise it should exit with zero." msgstr "" #. type: Plain text -#: en/git-svn.txt:27 +#: en/git-receive-pack.txt:138 msgid "" -"Once tracking a Subversion repository (with any of the above methods), the " -"Git repository can be updated from Subversion by the 'fetch' command and " -"Subversion updated from Git by the 'dcommit' command." +"Successful execution (a zero exit status) of this hook does not ensure the " +"ref will actually be updated, it is only a prerequisite. As such it is not " +"a good idea to send notices (e.g. email) from this hook. Consider using the " +"post-receive hook instead." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:31 +#. type: Title - +#: en/git-receive-pack.txt:140 #, no-wrap -msgid "'init'" +msgid "post-receive Hook" msgstr "" #. type: Plain text -#: en/git-svn.txt:39 +#: en/git-receive-pack.txt:146 msgid "" -"Initializes an empty Git repository with additional metadata directories for " -"'git svn'. The Subversion URL may be specified as a command-line argument, " -"or as full URL arguments to -T/-t/-b. Optionally, the target directory to " -"operate on can be specified as a second argument. Normally this command " -"initializes the current directory." +"After all refs were updated (or attempted to be updated), if any ref update " +"was successful, and if $GIT_DIR/hooks/post-receive file exists and is " +"executable, it will be invoked once with no parameters. The standard input " +"of the hook will be one line for each successfully updated ref:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:40 -#, no-wrap -msgid "-T<trunk_subdir>" +#. type: Plain text +#: en/git-receive-pack.txt:156 +msgid "" +"The refname value is relative to $GIT_DIR; e.g. for the master head this is " +"\"refs/heads/master\". The two sha1 values before each refname are the " +"object names for the refname before and after the update. Refs that were " +"created will have sha1-old equal to 0\\{40}, while refs that were deleted " +"will have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should " +"be valid objects in the repository." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:41 -#, no-wrap -msgid "--trunk=<trunk_subdir>" +#. type: Plain text +#: en/git-receive-pack.txt:159 +msgid "" +"The `GIT_PUSH_CERT*` environment variables can be inspected, just as in `pre-" +"receive` hook, after accepting a signed push." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:42 -#, no-wrap -msgid "-t<tags_subdir>" +#. type: Plain text +#: en/git-receive-pack.txt:165 +msgid "" +"Using this hook, it is easy to generate mails describing the updates to the " +"repository. This example script sends one mail message per ref listing the " +"commits pushed to the repository, and logs the push certificates of signed " +"pushes with good signatures to a logger service:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:43 +#. type: Plain text +#: en/git-receive-pack.txt:189 #, no-wrap -msgid "--tags=<tags_subdir>" +msgid "" +"\t#!/bin/sh\n" +"\t# mail out commit update information.\n" +"\twhile read oval nval ref\n" +"\tdo\n" +"\t\tif expr \"$oval\" : '0*$' >/dev/null\n" +"\t\tthen\n" +"\t\t\techo \"Created a new ref, with the following commits:\"\n" +"\t\t\tgit rev-list --pretty \"$nval\"\n" +"\t\telse\n" +"\t\t\techo \"New commits:\"\n" +"\t\t\tgit rev-list --pretty \"$nval\" \"^$oval\"\n" +"\t\tfi |\n" +"\t\tmail -s \"Changes to ref $ref\" commit-list@mydomain\n" +"\tdone\n" +"\t# log signed push certificate, if any\n" +"\tif test -n \"${GIT_PUSH_CERT-}\" && test ${GIT_PUSH_CERT_STATUS} = G\n" +"\tthen\n" +"\t\t(\n" +"\t\t\techo expected nonce is ${GIT_PUSH_NONCE}\n" +"\t\t\tgit cat-file blob ${GIT_PUSH_CERT}\n" +"\t\t) | mail -s \"push certificate from $GIT_PUSH_CERT_SIGNER\" push-log@mydomain\n" +"\tfi\n" +"\texit 0\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:44 -#, no-wrap -msgid "-b<branches_subdir>" +#. type: Plain text +#: en/git-receive-pack.txt:192 +msgid "" +"The exit code from this hook invocation is ignored, however a non-zero exit " +"code will generate an error message." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:45 -#, no-wrap -msgid "--branches=<branches_subdir>" +#. type: Plain text +#: en/git-receive-pack.txt:198 +msgid "" +"Note that it is possible for refname to not have sha1-new when this hook " +"runs. This can easily occur if another user modifies the ref after it was " +"updated by 'git-receive-pack', but before the hook was able to evaluate it. " +"It is recommended that hooks rely on sha1-new rather than the current value " +"of refname." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:47 -#, no-wrap -msgid "--stdlayout" -msgstr "" +#. type: Title - +#: en/git-receive-pack.txt:200 +#, fuzzy, no-wrap +#| msgid "update" +msgid "post-update Hook" +msgstr "update" #. type: Plain text -#: en/git-svn.txt:58 +#: en/git-receive-pack.txt:205 msgid "" -"These are optional command-line options for init. Each of these flags can " -"point to a relative repository path (--tags=project/tags) or a full url (--" -"tags=https://foo.org/project/tags). You can specify more than one --tags " -"and/or --branches options, in case your Subversion repository places tags or " -"branches under multiple paths. The option --stdlayout is a shorthand way of " -"setting trunk,tags,branches as the relative paths, which is the Subversion " -"default. If any of the other options are given as well, they take precedence." +"After all other processing, if at least one ref was updated, and if $GIT_DIR/" +"hooks/post-update file exists and is executable, then post-update will be " +"called with the list of refs that have been updated. This can be used to " +"implement any repository wide cleanup tasks." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:58 -#, no-wrap -msgid "--no-metadata" +#. type: Plain text +#: en/git-receive-pack.txt:209 +msgid "" +"The exit code from this hook invocation is ignored; the only thing left for " +"'git-receive-pack' to do at that point is to exit itself anyway." msgstr "" #. type: Plain text -#: en/git-svn.txt:62 +#: en/git-receive-pack.txt:212 msgid "" -"Set the 'noMetadata' option in the [svn-remote] config. This option is not " -"recommended, please read the 'svn.noMetadata' section of this manpage before " -"using this option." +"This hook can be used, for example, to run `git update-server-info` if the " +"repository is packed and is served via a dumb transport." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:62 +#. type: Plain text +#: en/git-receive-pack.txt:215 #, no-wrap -msgid "--use-svm-props" +msgid "" +"\t#!/bin/sh\n" +"\texec git update-server-info\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:64 -msgid "Set the 'useSvmProps' option in the [svn-remote] config." +#: en/git-receive-pack.txt:220 +msgid "linkgit:git-send-pack[1], linkgit:gitnamespaces[7]" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:64 -#, no-wrap -msgid "--use-svnsync-props" -msgstr "" +#. type: Title = +#: en/git-reflog.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-reflog(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-svn.txt:66 -msgid "Set the 'useSvnsyncProps' option in the [svn-remote] config." +#: en/git-reflog.txt:7 +msgid "git-reflog - Manage reflog information" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:66 +#. type: Plain text +#: en/git-reflog.txt:13 #, no-wrap -msgid "--rewrite-root=<URL>" +msgid "'git reflog' <subcommand> <options>\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:68 -msgid "Set the 'rewriteRoot' option in the [svn-remote] config." -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:68 +#: en/git-reflog.txt:27 #, no-wrap -msgid "--rewrite-uuid=<UUID>" +msgid "" +"'git reflog' ['show'] [log-options] [<ref>]\n" +"'git reflog expire' [--expire=<time>] [--expire-unreachable=<time>]\n" +"\t[--rewrite] [--updateref] [--stale-fix]\n" +"\t[--dry-run] [--verbose] [--all | <refs>...]\n" +"'git reflog delete' [--rewrite] [--updateref]\n" +"\t[--dry-run] [--verbose] ref@\\{specifier\\}...\n" +"'git reflog exists' <ref>\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:70 -msgid "Set the 'rewriteUUID' option in the [svn-remote] config." +#: en/git-reflog.txt:35 +msgid "" +"Reference logs, or \"reflogs\", record when the tips of branches and other " +"references were updated in the local repository. Reflogs are useful in " +"various Git commands, to specify the old value of a reference. For example, " +"`HEAD@{2}` means \"where HEAD used to be two moves ago\", `master@{one.week." +"ago}` means \"where master used to point to one week ago in this local " +"repository\", and so on. See linkgit:gitrevisions[7] for more details." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:70 -#, no-wrap -msgid "--username=<user>" +#. type: Plain text +#: en/git-reflog.txt:37 +msgid "This command manages the information recorded in the reflogs." msgstr "" #. type: Plain text -#: en/git-svn.txt:75 +#: en/git-reflog.txt:44 msgid "" -"For transports that SVN handles authentication for (http, https, and plain " -"svn), specify the username. For other transports (e.g. `svn+ssh://`), you " -"must include the username in the URL, e.g. `svn+ssh://foo@svn.bar.com/" -"project`" +"The \"show\" subcommand (which is also the default, in the absence of any " +"subcommands) shows the log of the reference provided in the command-line (or " +"`HEAD`, by default). The reflog covers all recent actions, and in addition " +"the `HEAD` reflog records branch switching. `git reflog show` is an alias " +"for `git log -g --abbrev-commit --pretty=oneline`; see linkgit:git-log[1] " +"for more information." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:75 -#, no-wrap -msgid "--prefix=<prefix>" +#. type: Plain text +#: en/git-reflog.txt:50 +msgid "" +"The \"expire\" subcommand prunes older reflog entries. Entries older than " +"`expire` time, or entries older than `expire-unreachable` time and not " +"reachable from the current tip, are removed from the reflog. This is " +"typically not used directly by end users -- instead, see linkgit:git-gc[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:90 +#: en/git-reflog.txt:55 msgid "" -"This allows one to specify a prefix which is prepended to the names of " -"remotes if trunk/branches/tags are specified. The prefix does not " -"automatically include a trailing slash, so be sure you include one in the " -"argument if that is what you want. If --branches/-b is specified, the " -"prefix must include a trailing slash. Setting a prefix (with a trailing " -"slash) is strongly encouraged in any case, as your SVN-tracking refs will " -"then be located at \"refs/remotes/$prefix/*\", which is compatible with " -"Git's own remote-tracking ref layout (refs/remotes/$remote/*). Setting a " -"prefix is also useful if you wish to track multiple projects that share a " -"common repository. By default, the prefix is set to 'origin/'." +"The \"delete\" subcommand deletes single entries from the reflog. Its " +"argument must be an _exact_ entry (e.g. \"`git reflog delete master@{2}`\"). " +"This subcommand is also typically not used directly by end users." msgstr "" #. type: Plain text -#: en/git-svn.txt:97 +#: en/git-reflog.txt:59 msgid "" -"Before Git v2.0, the default prefix was \"\" (no prefix). This meant that " -"SVN-tracking refs were put at \"refs/remotes/*\", which is incompatible with " -"how Git's own remote-tracking refs are organized. If you still want the old " -"default, you can get it by passing `--prefix \"\"` on the command line (`--" -"prefix=\"\"` may not work if your Perl's Getopt::Long is < v2.37)." +"The \"exists\" subcommand checks whether a ref has a reflog. It exits with " +"zero status if the reflog exists, and non-zero status if it does not." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:98 en/git-svn.txt:141 +#. type: Title ~ +#: en/git-reflog.txt:64 #, no-wrap -msgid "--ignore-paths=<regex>" +msgid "Options for `show`" msgstr "" #. type: Plain text -#: en/git-svn.txt:102 -msgid "" -"When passed to 'init' or 'clone' this regular expression will be preserved " -"as a config key. See 'fetch' for a description of `--ignore-paths`." +#: en/git-reflog.txt:67 +msgid "`git reflog show` accepts any of the options accepted by `git log`." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:102 en/git-svn.txt:170 +#. type: Title ~ +#: en/git-reflog.txt:70 #, no-wrap -msgid "--include-paths=<regex>" +msgid "Options for `expire`" msgstr "" #. type: Plain text -#: en/git-svn.txt:106 -msgid "" -"When passed to 'init' or 'clone' this regular expression will be preserved " -"as a config key. See 'fetch' for a description of `--include-paths`." +#: en/git-reflog.txt:74 +msgid "Process the reflogs of all references." msgstr "" #. type: Labeled list -#: en/git-svn.txt:106 +#: en/git-reflog.txt:75 #, no-wrap -msgid "--no-minimize-url" +msgid "--expire=<time>" msgstr "" #. type: Plain text -#: en/git-svn.txt:117 +#: en/git-reflog.txt:82 msgid "" -"When tracking multiple directories (using --stdlayout, --branches, or --tags " -"options), git svn will attempt to connect to the root (or highest allowed " -"level) of the Subversion repository. This default allows better tracking of " -"history if entire projects are moved within a repository, but may cause " -"issues on repositories where read access restrictions are in place. Passing " -"`--no-minimize-url` will allow git svn to accept URLs as-is without " -"attempting to connect to a higher level directory. This option is off by " -"default when only one URL/branch is tracked (it would do little good)." +"Prune entries older than the specified time. If this option is not " +"specified, the expiration time is taken from the configuration setting `gc." +"reflogExpire`, which in turn defaults to 90 days. `--expire=all` prunes " +"entries regardless of their age; `--expire=never` turns off pruning of " +"reachable entries (but see `--expire-unreachable`)." msgstr "" #. type: Labeled list -#: en/git-svn.txt:118 +#: en/git-reflog.txt:83 #, no-wrap -msgid "'fetch'" +msgid "--expire-unreachable=<time>" msgstr "" #. type: Plain text -#: en/git-svn.txt:123 +#: en/git-reflog.txt:92 msgid "" -"Fetch unfetched revisions from the Subversion remote we are tracking. The " -"name of the [svn-remote \"...\"] section in the $GIT_DIR/config file may be " -"specified as an optional command-line argument." +"Prune entries older than `<time>` that are not reachable from the current " +"tip of the branch. If this option is not specified, the expiration time is " +"taken from the configuration setting `gc.reflogExpireUnreachable`, which in " +"turn defaults to 30 days. `--expire-unreachable=all` prunes unreachable " +"entries regardless of their age; `--expire-unreachable=never` turns off " +"early pruning of unreachable entries (but see `--expire`)." msgstr "" +#. type: Labeled list +#: en/git-reflog.txt:93 +#, fuzzy, no-wrap +#| msgid "update" +msgid "--updateref" +msgstr "update" + #. type: Plain text -#: en/git-svn.txt:126 en/git-svn.txt:227 +#: en/git-reflog.txt:97 msgid "" -"This automatically updates the rev_map if needed (see '$GIT_DIR/svn/\\*\\*/." -"rev_map.*' in the FILES section below for details)." +"Update the reference to the value of the top reflog entry (i.e. <ref>@" +"\\{0\\}) if the previous top entry was pruned. (This option is ignored for " +"symbolic references.)" msgstr "" #. type: Labeled list -#: en/git-svn.txt:127 +#: en/git-reflog.txt:98 #, no-wrap -msgid "--localtime" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:131 -msgid "" -"Store Git commit times in the local time zone instead of UTC. This makes " -"'git log' (even without --date=local) show the same times that `svn log` " -"would in the local time zone." +msgid "--rewrite" msgstr "" #. type: Plain text -#: en/git-svn.txt:137 +#: en/git-reflog.txt:102 msgid "" -"This doesn't interfere with interoperating with the Subversion repository " -"you cloned from, but if you wish for your local Git repository to be able to " -"interoperate with someone else's local Git repository, either don't use this " -"option or you should both use it in the same local time zone." +"If a reflog entry's predecessor is pruned, adjust its \"old\" SHA-1 to be " +"equal to the \"new\" SHA-1 field of the entry that now precedes it." msgstr "" #. type: Labeled list -#: en/git-svn.txt:138 en/git-svn.txt:505 +#: en/git-reflog.txt:103 #, no-wrap -msgid "--parent" +msgid "--stale-fix" msgstr "" #. type: Plain text -#: en/git-svn.txt:140 -msgid "Fetch only from the SVN parent of the current HEAD." +#: en/git-reflog.txt:108 +msgid "" +"Prune any reflog entries that point to \"broken commits\". A broken commit " +"is a commit that is not reachable from any of the reference tips and that " +"refers, directly or indirectly, to a missing commit, tree, or blob object." msgstr "" #. type: Plain text -#: en/git-svn.txt:147 +#: en/git-reflog.txt:113 msgid "" -"This allows one to specify a Perl regular expression that will cause " -"skipping of all matching paths from checkout from SVN. The `--ignore-paths` " -"option should match for every 'fetch' (including automatic fetches due to " -"'clone', 'dcommit', 'rebase', etc) on a given repository." +"This computation involves traversing all the reachable objects, i.e. it has " +"the same cost as 'git prune'. It is primarily intended to fix corruption " +"caused by garbage collecting using older versions of Git, which didn't " +"protect objects referred to by reflogs." msgstr "" #. type: Plain text -#: en/git-svn.txt:150 -#, no-wrap -msgid "config key: svn-remote.<name>.ignore-paths\n" +#: en/git-reflog.txt:118 +#, fuzzy +#| msgid "" +#| "-n::\n" +#| "--dry-run::\n" +#| "\tDon't actually add the file(s), just show if they exist and/or will\n" +#| "\tbe ignored.\n" +msgid "" +"Do not actually prune any entries; just show what would have been pruned." msgstr "" +"-n::\n" +"--dry-run::\n" +"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" +"\tou seront ignor챕s.\n" #. type: Plain text -#: en/git-svn.txt:153 -msgid "" -"If the ignore-paths configuration key is set, and the command-line option is " -"also given, both regular expressions will be used." +#: en/git-reflog.txt:121 +msgid "Print extra information on screen." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:157 +#. type: Title ~ +#: en/git-reflog.txt:124 #, no-wrap -msgid "Skip \"doc*\" directory for every fetch" +msgid "Options for `delete`" msgstr "" -#. type: delimited block - -#: en/git-svn.txt:161 -#, no-wrap -msgid "--ignore-paths=\"^doc\"\n" +#. type: Plain text +#: en/git-reflog.txt:129 +msgid "" +"`git reflog delete` accepts options `--updateref`, `--rewrite`, `-n`, `--dry-" +"run`, and `--verbose`, with the same meanings as when they are used with " +"`expire`." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:163 -#, no-wrap -msgid "Skip \"branches\" and \"tags\" of first level directories" +#. type: Title = +#: en/git-remote-ext.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-remote-ext(1)" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-remote-ext.txt:7 +msgid "git-remote-ext - Bridge smart transport to external command." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:167 +#. type: Plain text +#: en/git-remote-ext.txt:12 #, no-wrap -msgid "--ignore-paths=\"^[^/]+/(?:branches|tags)\"\n" +msgid "git remote add <nick> \"ext::<command>[ <arguments>...]\"\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:177 +#: en/git-remote-ext.txt:17 msgid "" -"This allows one to specify a Perl regular expression that will cause the " -"inclusion of only matching paths from checkout from SVN. The `--include-" -"paths` option should match for every 'fetch' (including automatic fetches " -"due to 'clone', 'dcommit', 'rebase', etc) on a given repository. `--ignore-" -"paths` takes precedence over `--include-paths`." +"This remote helper uses the specified '<command>' to connect to a remote Git " +"server." msgstr "" #. type: Plain text -#: en/git-svn.txt:180 -#, no-wrap -msgid "config key: svn-remote.<name>.include-paths\n" +#: en/git-remote-ext.txt:23 +msgid "" +"Data written to stdin of the specified '<command>' is assumed to be sent to " +"a git:// server, git-upload-pack, git-receive-pack or git-upload-archive " +"(depending on situation), and data read from stdout of <command> is assumed " +"to be received from the same service." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:181 -#, no-wrap -msgid "--log-window-size=<n>" +#. type: Plain text +#: en/git-remote-ext.txt:25 +msgid "Command and arguments are separated by an unescaped space." msgstr "" #. type: Plain text -#: en/git-svn.txt:187 -msgid "" -"Fetch <n> log entries per request when scanning Subversion history. The " -"default is 100. For very large Subversion repositories, larger values may be " -"needed for 'clone'/'fetch' to complete in reasonable time. But overly large " -"values may lead to higher memory usage and request timeouts." +#: en/git-remote-ext.txt:27 +msgid "The following sequences have a special meaning:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:188 +#: en/git-remote-ext.txt:28 #, no-wrap -msgid "'clone'" +msgid "'% '" msgstr "" #. type: Plain text -#: en/git-svn.txt:198 -msgid "" -"Runs 'init' and 'fetch'. It will automatically create a directory based on " -"the basename of the URL passed to it; or if a second argument is passed; it " -"will create a directory and work within that. It accepts all arguments that " -"the 'init' and 'fetch' commands accept; with the exception of `--fetch-all` " -"and `--parent`. After a repository is cloned, the 'fetch' command will be " -"able to update revisions without affecting the working tree; and the " -"'rebase' command will be able to update the working tree with the latest " -"changes." +#: en/git-remote-ext.txt:30 +msgid "Literal space in command or argument." msgstr "" #. type: Labeled list -#: en/git-svn.txt:199 +#: en/git-remote-ext.txt:31 #, no-wrap -msgid "--preserve-empty-dirs" +msgid "'%%'" msgstr "" #. type: Plain text -#: en/git-svn.txt:205 -msgid "" -"Create a placeholder file in the local Git repository for each empty " -"directory fetched from Subversion. This includes directories that become " -"empty by removing all entries in the Subversion repository (but not the " -"directory itself). The placeholder files are also tracked and removed when " -"no longer necessary." +#: en/git-remote-ext.txt:33 +msgid "Literal percent sign." msgstr "" #. type: Labeled list -#: en/git-svn.txt:206 +#: en/git-remote-ext.txt:34 #, no-wrap -msgid "--placeholder-filename=<filename>" +msgid "'%s'" msgstr "" #. type: Plain text -#: en/git-svn.txt:209 +#: en/git-remote-ext.txt:37 msgid "" -"Set the name of placeholder files created by --preserve-empty-dirs. " -"Default: \".gitignore\"" +"Replaced with name (receive-pack, upload-pack, or upload-archive) of the " +"service Git wants to invoke." msgstr "" #. type: Labeled list -#: en/git-svn.txt:210 +#: en/git-remote-ext.txt:38 #, no-wrap -msgid "'rebase'" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:213 -msgid "" -"This fetches revisions from the SVN parent of the current HEAD and rebases " -"the current (uncommitted to SVN) work against it." +msgid "'%S'" msgstr "" #. type: Plain text -#: en/git-svn.txt:217 +#: en/git-remote-ext.txt:42 msgid "" -"This works similarly to `svn update` or 'git pull' except that it preserves " -"linear history with 'git rebase' instead of 'git merge' for ease of " -"dcommitting with 'git svn'." +"Replaced with long name (git-receive-pack, git-upload-pack, or git-upload-" +"archive) of the service Git wants to invoke." msgstr "" -#. type: Plain text -#: en/git-svn.txt:221 -msgid "" -"This accepts all options that 'git svn fetch' and 'git rebase' accept. " -"However, `--fetch-all` only fetches from the current [svn-remote], and not " -"all [svn-remote] definitions." +#. type: Labeled list +#: en/git-remote-ext.txt:43 +#, no-wrap +msgid "'%G' (must be the first characters in an argument)" msgstr "" #. type: Plain text -#: en/git-svn.txt:224 +#: en/git-remote-ext.txt:49 msgid "" -"Like 'git rebase'; this requires that the working tree be clean and have no " -"uncommitted changes." +"This argument will not be passed to '<command>'. Instead, it will cause the " +"helper to start by sending git:// service requests to the remote side with " +"the service field set to an appropriate value and the repository field set " +"to rest of the argument. Default is not to send such a request." msgstr "" #. type: Plain text -#: en/git-svn.txt:232 +#: en/git-remote-ext.txt:52 msgid "" -"Do not fetch remotely; only run 'git rebase' against the last fetched commit " -"from the upstream SVN." +"This is useful if remote side is git:// server accessed over some tunnel." msgstr "" #. type: Labeled list -#: en/git-svn.txt:233 +#: en/git-remote-ext.txt:53 #, no-wrap -msgid "'dcommit'" +msgid "'%V' (must be first characters in argument)" msgstr "" #. type: Plain text -#: en/git-svn.txt:238 +#: en/git-remote-ext.txt:57 msgid "" -"Commit each diff from the current branch directly to the SVN repository, and " -"then rebase or reset (depending on whether or not there is a diff between " -"SVN and head). This will create a revision in SVN for each commit in Git." +"This argument will not be passed to '<command>'. Instead it sets the vhost " +"field in the git:// service request (to rest of the argument). Default is " +"not to send vhost in such request (if sent)." msgstr "" -#. type: Plain text -#: en/git-svn.txt:242 -msgid "" -"When an optional Git branch name (or a Git commit object name) is specified " -"as an argument, the subcommand works on the specified branch, not on the " -"current branch." +#. type: Title - +#: en/git-remote-ext.txt:59 +#, fuzzy, no-wrap +#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" +msgid "ENVIRONMENT VARIABLES:" +msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" + +#. type: Labeled list +#: en/git-remote-ext.txt:61 en/git-remote-fd.txt:33 +#, no-wrap +msgid "GIT_TRANSLOOP_DEBUG" msgstr "" #. type: Plain text -#: en/git-svn.txt:244 -msgid "Use of 'dcommit' is preferred to 'set-tree' (below)." +#: en/git-remote-ext.txt:63 en/git-remote-fd.txt:35 +msgid "If set, prints debugging information about various reads/writes." msgstr "" -#. type: Plain text -#: en/git-svn.txt:247 -msgid "After committing, do not rebase or reset." +#. type: Title - +#: en/git-remote-ext.txt:65 +#, no-wrap +msgid "ENVIRONMENT VARIABLES PASSED TO COMMAND:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:247 +#: en/git-remote-ext.txt:67 #, no-wrap -msgid "--commit-url <URL>" +msgid "GIT_EXT_SERVICE" msgstr "" #. type: Plain text -#: en/git-svn.txt:253 +#: en/git-remote-ext.txt:70 msgid "" -"Commit to this SVN URL (the full path). This is intended to allow existing " -"'git svn' repositories created with one transport method (e.g. `svn://` or " -"`http://` for anonymous read) to be reused if a user is later given access " -"to an alternate transport method (e.g. `svn+ssh://` or `https://`) for " -"commit." +"Set to long name (git-upload-pack, etc...) of service helper needs to invoke." msgstr "" -#. type: Plain text -#: en/git-svn.txt:257 +#. type: Labeled list +#: en/git-remote-ext.txt:71 #, no-wrap -msgid "" -"config key: svn-remote.<name>.commiturl\n" -"config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl options)\n" +msgid "GIT_EXT_SERVICE_NOPREFIX" msgstr "" #. type: Plain text -#: en/git-svn.txt:261 +#: en/git-remote-ext.txt:74 msgid "" -"Note that the SVN URL of the commiturl config key includes the SVN branch. " -"If you rather want to set the commit URL for an entire SVN repository use " -"svn-remote.<name>.pushurl instead." +"Set to long name (upload-pack, etc...) of service helper needs to invoke." msgstr "" +#. type: Title - +#: en/git-remote-ext.txt:77 +#, fuzzy, no-wrap +#| msgid "EXAMPLES" +msgid "EXAMPLES:" +msgstr "EXEMPLES" + #. type: Plain text -#: en/git-svn.txt:264 +#: en/git-remote-ext.txt:82 msgid "" -"Using this option for any other purpose (don't ask) is very strongly " -"discouraged." +"This remote helper is transparently used by Git when you use commands such " +"as \"git fetch <URL>\", \"git clone <URL>\", , \"git push <URL>\" or \"git " +"remote add <nick> <URL>\", where <URL> begins with `ext::`. Examples:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:265 +#: en/git-remote-ext.txt:83 #, no-wrap -msgid "--mergeinfo=<mergeinfo>" +msgid "\"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S 'foo/repo'\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:272 +#: en/git-remote-ext.txt:87 msgid "" -"Add the given merge information during the dcommit (e.g. `--mergeinfo=\"/" -"branches/foo:1-10\"`). All svn server versions can store this information " -"(as a property), and svn clients starting from version 1.5 can make use of " -"it. To specify merge information from multiple branches, use a single space " -"character between the branches (`--mergeinfo=\"/branches/foo:1-10 /branches/" -"bar:3,5-6,8\"`)" +"Like host.example:foo/repo, but use /home/foo/.ssh/somekey as keypair and " +"user as user on remote side. This avoids needing to edit .ssh/config." msgstr "" -#. type: Plain text -#: en/git-svn.txt:275 +#. type: Labeled list +#: en/git-remote-ext.txt:88 #, no-wrap -msgid "config key: svn.pushmergeinfo\n" +msgid "\"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:280 +#: en/git-remote-ext.txt:91 msgid "" -"This option will cause git-svn to attempt to automatically populate the svn:" -"mergeinfo property in the SVN repository when possible. Currently, this can " -"only be done when dcommitting non-fast-forward merges where all parents but " -"the first have already been pushed into SVN." +"Represents repository with path /somerepo accessible over git protocol at " +"abstract namespace address /git-server." msgstr "" -#. type: Plain text -#: en/git-svn.txt:285 -msgid "" -"Ask the user to confirm that a patch set should actually be sent to SVN. " -"For each patch, one may answer \"yes\" (accept this patch), \"no\" (discard " -"this patch), \"all\" (accept all patches), or \"quit\"." +#. type: Labeled list +#: en/git-remote-ext.txt:92 +#, no-wrap +msgid "\"ext::git-server-alias foo %G/repo\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:288 +#: en/git-remote-ext.txt:98 msgid "" -"'git svn dcommit' returns immediately if answer is \"no\" or \"quit\", " -"without committing anything to SVN." +"Represents a repository with path /repo accessed using the helper program " +"\"git-server-alias foo\". The path to the repository and type of request " +"are not passed on the command line but as part of the protocol stream, as " +"usual with git:// protocol." msgstr "" #. type: Labeled list -#: en/git-svn.txt:289 +#: en/git-remote-ext.txt:99 #, no-wrap -msgid "'branch'" +msgid "\"ext::git-server-alias foo %G/repo %Vfoo\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:291 -msgid "Create a branch in the SVN repository." +#: en/git-remote-ext.txt:105 +msgid "" +"Represents a repository with path /repo accessed using the helper program " +"\"git-server-alias foo\". The hostname for the remote server passed in the " +"protocol stream will be \"foo\" (this allows multiple virtual Git servers to " +"share a link-level address)." msgstr "" #. type: Labeled list -#: en/git-svn.txt:293 +#: en/git-remote-ext.txt:106 #, no-wrap -msgid "--message" +msgid "\"ext::git-server-alias foo %G/repo% with% spaces %Vfoo\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:295 -msgid "Allows to specify the commit message." +#: en/git-remote-ext.txt:112 +msgid "" +"Represents a repository with path '/repo with spaces' accessed using the " +"helper program \"git-server-alias foo\". The hostname for the remote server " +"passed in the protocol stream will be \"foo\" (this allows multiple virtual " +"Git servers to share a link-level address)." msgstr "" #. type: Labeled list -#: en/git-svn.txt:297 +#: en/git-remote-ext.txt:113 #, no-wrap -msgid "--tag" +msgid "\"ext::git-ssl foo.example /bar\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:300 +#: en/git-remote-ext.txt:118 msgid "" -"Create a tag by using the tags_subdir instead of the branches_subdir " -"specified during git svn init." +"Represents a repository accessed using the helper program \"git-ssl foo." +"example /bar\". The type of request can be determined by the helper using " +"environment variables (see above)." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:301 +#. type: Plain text +#: en/git-remote-ext.txt:122 en/git-remote-fd.txt:56 +#: en/git-remote-testgit.txt:27 +msgid "linkgit:gitremote-helpers[1]" +msgstr "" + +#. type: Title = +#: en/git-remote-fd.txt:2 #, fuzzy, no-wrap -#| msgid "patch" -msgid "-d<path>" -msgstr "patch" +#| msgid "git-commit(1)" +msgid "git-remote-fd(1)" +msgstr "git-commit(1)" -#. type: Labeled list -#: en/git-svn.txt:302 -#, no-wrap -msgid "--destination=<path>" +#. type: Plain text +#: en/git-remote-fd.txt:7 +msgid "git-remote-fd - Reflect smart transport stream back to caller" msgstr "" #. type: Plain text -#: en/git-svn.txt:310 -msgid "" -"If more than one --branches (or --tags) option was given to the 'init' or " -"'clone' command, you must provide the location of the branch (or tag) you " -"wish to create in the SVN repository. <path> specifies which path to use to " -"create the branch or tag and should match the pattern on the left-hand side " -"of one of the configured branches or tags refspecs. You can see these " -"refspecs with the commands" +#: en/git-remote-fd.txt:11 +msgid "\"fd::<infd>[,<outfd>][/<anything>]\" (as URL)" msgstr "" #. type: Plain text -#: en/git-svn.txt:313 +#: en/git-remote-fd.txt:17 msgid "" -"git config --get-all svn-remote.<name>.branches git config --get-all svn-" -"remote.<name>.tags" +"This helper uses specified file descriptors to connect to a remote Git " +"server. This is not meant for end users but for programs and scripts " +"calling git fetch, push or archive." msgstr "" #. type: Plain text -#: en/git-svn.txt:316 +#: en/git-remote-fd.txt:23 msgid "" -"where <name> is the name of the SVN repository as specified by the -R option " -"to 'init' (or \"svn\" by default)." +"If only <infd> is given, it is assumed to be a bidirectional socket " +"connected to remote Git server (git-upload-pack, git-receive-pack or git-" +"upload-archive). If both <infd> and <outfd> are given, they are assumed to " +"be pipes connected to a remote Git server (<infd> being the inbound pipe and " +"<outfd> being the outbound pipe." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:317 -#, no-wrap -msgid "--username" +#. type: Plain text +#: en/git-remote-fd.txt:26 +msgid "" +"It is assumed that any handshaking procedures have already been completed " +"(such as sending service request for git://) before this helper is started." msgstr "" #. type: Plain text -#: en/git-svn.txt:320 +#: en/git-remote-fd.txt:30 msgid "" -"Specify the SVN username to perform the commit as. This option overrides " -"the 'username' configuration property." +"<anything> can be any string. It is ignored. It is meant for providing " +"information to user in the URL in case that URL is displayed in some context." msgstr "" +#. type: Title - +#: en/git-remote-fd.txt:32 +#, fuzzy, no-wrap +#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" +msgid "ENVIRONMENT VARIABLES" +msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" + #. type: Labeled list -#: en/git-svn.txt:321 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--commit-url" -msgstr "git-commit(1)" +#: en/git-remote-fd.txt:38 +#, no-wrap +msgid "`git fetch fd::17 master`" +msgstr "" #. type: Plain text -#: en/git-svn.txt:326 +#: en/git-remote-fd.txt:41 msgid "" -"Use the specified URL to connect to the destination Subversion repository. " -"This is useful in cases where the source SVN repository is read-only. This " -"option overrides configuration property 'commiturl'." +"Fetch master, using file descriptor #17 to communicate with git-upload-pack." msgstr "" -#. type: Plain text -#: en/git-svn.txt:328 -msgid "git config --get-all svn-remote.<name>.commiturl" +#. type: Labeled list +#: en/git-remote-fd.txt:42 +#, no-wrap +msgid "`git fetch fd::17/foo master`" msgstr "" #. type: Labeled list -#: en/git-svn.txt:330 en/rev-list-options.txt:786 +#: en/git-remote-fd.txt:45 #, no-wrap -msgid "--parents" +msgid "`git push fd::7,8 master (as URL)`" msgstr "" #. type: Plain text -#: en/git-svn.txt:334 +#: en/git-remote-fd.txt:49 msgid "" -"Create parent folders. This parameter is equivalent to the parameter --" -"parents on svn cp commands and is useful for non-standard repository layouts." +"Push master, using file descriptor #7 to read data from git-receive-pack and " +"file descriptor #8 to write data to same service." msgstr "" #. type: Labeled list -#: en/git-svn.txt:335 +#: en/git-remote-fd.txt:50 #, no-wrap -msgid "'tag'" +msgid "`git push fd::7,8/bar master`" +msgstr "" + +#. type: Title = +#: en/git-remote-testgit.txt:2 +#, no-wrap +msgid "git-remote-testgit(1)" msgstr "" #. type: Plain text -#: en/git-svn.txt:338 -msgid "" -"Create a tag in the SVN repository. This is a shorthand for 'branch -t'." +#: en/git-remote-testgit.txt:7 +msgid "git-remote-testgit - Example remote-helper" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:339 +#. type: Plain text +#: en/git-remote-testgit.txt:13 #, no-wrap -msgid "'log'" +msgid "git clone testgit::<source-repo> [<destination>]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:342 +#: en/git-remote-testgit.txt:20 msgid "" -"This should make it easy to look up svn log messages when svn users refer to " -"-r/--revision numbers." +"This command is a simple remote-helper, that is used both as a testcase for " +"the remote-helper functionality, and as an example to show remote-helper " +"authors one possible implementation." msgstr "" #. type: Plain text -#: en/git-svn.txt:344 -msgid "The following features from `svn log' are supported:" +#: en/git-remote-testgit.txt:23 +msgid "" +"The best way to learn more is to read the comments and source code in 'git-" +"remote-testgit'." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:346 +#. type: Title = +#: en/git-remote.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-remote(1)" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-remote.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-remote - Manage set of tracked repositories" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" + +#. type: Plain text +#: en/git-remote.txt:25 #, no-wrap -msgid "-r <n>[:<n>]" +msgid "" +"'git remote' [-v | --verbose]\n" +"'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>\n" +"'git remote rename' <old> <new>\n" +"'git remote remove' <name>\n" +"'git remote set-head' <name> (-a | --auto | -d | --delete | <branch>)\n" +"'git remote set-branches' [--add] <name> <branch>...\n" +"'git remote get-url' [--push] [--all] <name>\n" +"'git remote set-url' [--push] <name> <newurl> [<oldurl>]\n" +"'git remote set-url --add' [--push] <name> <newurl>\n" +"'git remote set-url --delete' [--push] <name> <url>\n" +"'git remote' [-v | --verbose] 'show' [-n] <name>...\n" +"'git remote prune' [-n | --dry-run] <name>...\n" +"'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:347 -#, no-wrap -msgid "--revision=<n>[:<n>]" +#. type: Plain text +#: en/git-remote.txt:30 +msgid "Manage the set of repositories (\"remotes\") whose branches you track." msgstr "" #. type: Plain text -#: en/git-svn.txt:350 -msgid "is supported, non-numeric args are not: HEAD, NEXT, BASE, PREV, etc ..." +#: en/git-remote.txt:39 +msgid "" +"Be a little more verbose and show remote url after name. NOTE: This must be " +"placed between `remote` and `subcommand`." msgstr "" #. type: Plain text -#: en/git-svn.txt:354 +#: en/git-remote.txt:46 msgid "" -"it's not completely compatible with the --verbose output in svn log, but " -"reasonably close." +"With no arguments, shows a list of existing remotes. Several subcommands " +"are available to perform operations on the remotes." msgstr "" #. type: Labeled list -#: en/git-svn.txt:354 +#: en/git-remote.txt:47 #, no-wrap -msgid "--limit=<n>" +msgid "'add'" msgstr "" #. type: Plain text -#: en/git-svn.txt:357 -msgid "is NOT the same as --max-count, doesn't count merged/excluded commits" +#: en/git-remote.txt:52 +msgid "" +"Adds a remote named <name> for the repository at <url>. The command `git " +"fetch <name>` can then be used to create and update remote-tracking branches " +"<name>/<branch>." msgstr "" #. type: Plain text -#: en/git-svn.txt:359 -msgid "supported" +#: en/git-remote.txt:55 +msgid "" +"With `-f` option, `git fetch <name>` is run immediately after the remote " +"information is set up." msgstr "" #. type: Plain text -#: en/git-svn.txt:362 -msgid "New features:" +#: en/git-remote.txt:58 +msgid "" +"With `--tags` option, `git fetch <name>` imports every tag from the remote " +"repository." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:364 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--show-commit" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-remote.txt:61 +msgid "" +"With `--no-tags` option, `git fetch <name>` does not import tags from the " +"remote repository." +msgstr "" #. type: Plain text -#: en/git-svn.txt:366 -msgid "shows the Git commit sha1, as well" +#: en/git-remote.txt:64 +msgid "" +"By default, only tags on fetched branches are imported (see linkgit:git-" +"fetch[1])." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:366 en/pretty-options.txt:31 -#, no-wrap -msgid "--oneline" +#. type: Plain text +#: en/git-remote.txt:70 +msgid "" +"With `-t <branch>` option, instead of the default glob refspec for the " +"remote to track all branches under the `refs/remotes/<name>/` namespace, a " +"refspec to track only `<branch>` is created. You can give more than one `-t " +"<branch>` to track multiple branches without grabbing all branches." msgstr "" #. type: Plain text -#: en/git-svn.txt:368 -msgid "our version of --pretty=oneline" +#: en/git-remote.txt:73 +msgid "" +"With `-m <master>` option, a symbolic-ref `refs/remotes/<name>/HEAD` is set " +"up to point at remote's `<master>` branch. See also the set-head command." msgstr "" #. type: Plain text -#: en/git-svn.txt:373 +#: en/git-remote.txt:79 msgid "" -"SVN itself only stores times in UTC and nothing else. The regular svn client " -"converts the UTC time to the local time (or based on the TZ= environment). " -"This command has the same behaviour." +"When a fetch mirror is created with `--mirror=fetch`, the refs will not be " +"stored in the 'refs/remotes/' namespace, but rather everything in 'refs/' on " +"the remote will be directly mirrored into 'refs/' in the local repository. " +"This option only makes sense in bare repositories, because a fetch would " +"overwrite any local commits." msgstr "" #. type: Plain text -#: en/git-svn.txt:375 -msgid "Any other arguments are passed directly to 'git log'" +#: en/git-remote.txt:82 +msgid "" +"When a push mirror is created with `--mirror=push`, then `git push` will " +"always behave as if `--mirror` was passed." msgstr "" #. type: Labeled list -#: en/git-svn.txt:376 +#: en/git-remote.txt:83 #, no-wrap -msgid "'blame'" +msgid "'rename'" msgstr "" #. type: Plain text -#: en/git-svn.txt:383 +#: en/git-remote.txt:87 msgid "" -"Show what revision and author last modified each line of a file. The output " -"of this mode is format-compatible with the output of `svn blame' by default. " -"Like the SVN blame command, local uncommitted changes in the working tree " -"are ignored; the version of the file in the HEAD revision is annotated. " -"Unknown arguments are passed directly to 'git blame'." +"Rename the remote named <old> to <new>. All remote-tracking branches and " +"configuration settings for the remote are updated." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:384 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--git-format" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-svn.txt:389 +#: en/git-remote.txt:91 msgid "" -"Produce output in the same format as 'git blame', but with SVN revision " -"numbers instead of Git commit hashes. In this mode, changes that haven't " -"been committed to SVN (including local working-copy edits) are shown as " -"revision 0." +"In case <old> and <new> are the same, and <old> is a file under `$GIT_DIR/" +"remotes` or `$GIT_DIR/branches`, the remote is converted to the " +"configuration file format." msgstr "" #. type: Labeled list -#: en/git-svn.txt:390 +#: en/git-remote.txt:92 #, no-wrap -msgid "'find-rev'" +msgid "'remove'" +msgstr "" + +#. type: Labeled list +#: en/git-remote.txt:93 +#, no-wrap +msgid "'rm'" msgstr "" #. type: Plain text -#: en/git-svn.txt:395 +#: en/git-remote.txt:97 msgid "" -"When given an SVN revision number of the form 'rN', returns the " -"corresponding Git commit hash (this can optionally be followed by a tree-ish " -"to specify which branch should be searched). When given a tree-ish, returns " -"the corresponding SVN revision number." +"Remove the remote named <name>. All remote-tracking branches and " +"configuration settings for the remote are removed." msgstr "" #. type: Labeled list -#: en/git-svn.txt:396 +#: en/git-remote.txt:98 #, no-wrap -msgid "-B" +msgid "'set-head'" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:397 -#, no-wrap -msgid "--before" +#. type: Plain text +#: en/git-remote.txt:107 +msgid "" +"Sets or deletes the default branch (i.e. the target of the symbolic-ref " +"`refs/remotes/<name>/HEAD`) for the named remote. Having a default branch " +"for a remote is not required, but allows the name of the remote to be " +"specified in lieu of a specific branch. For example, if the default branch " +"for `origin` is set to `master`, then `origin` may be specified wherever you " +"would normally specify `origin/master`." msgstr "" #. type: Plain text -#: en/git-svn.txt:401 +#: en/git-remote.txt:109 msgid "" -"Don't require an exact match if given an SVN revision, instead find the " -"commit corresponding to the state of the SVN repository (on the current " -"branch) at the specified revision." +"With `-d` or `--delete`, the symbolic ref `refs/remotes/<name>/HEAD` is " +"deleted." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:403 -#, no-wrap -msgid "--after" +#. type: Plain text +#: en/git-remote.txt:116 +msgid "" +"With `-a` or `--auto`, the remote is queried to determine its `HEAD`, then " +"the symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., " +"if the remote `HEAD` is pointed at `next`, \"`git remote set-head origin -a`" +"\" will set the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/" +"origin/next`. This will only work if `refs/remotes/origin/next` already " +"exists; if not it must be fetched first." msgstr "" #. type: Plain text -#: en/git-svn.txt:407 +#: en/git-remote.txt:121 msgid "" -"Don't require an exact match if given an SVN revision; if there is not an " -"exact match return the closest match searching forward in the history." +"Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` " +"explicitly. e.g., \"git remote set-head origin master\" will set the " +"symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/master`. " +"This will only work if `refs/remotes/origin/master` already exists; if not " +"it must be fetched first." msgstr "" #. type: Labeled list -#: en/git-svn.txt:408 +#: en/git-remote.txt:123 #, no-wrap -msgid "'set-tree'" +msgid "'set-branches'" msgstr "" #. type: Plain text -#: en/git-svn.txt:416 +#: en/git-remote.txt:128 msgid "" -"You should consider using 'dcommit' instead of this command. Commit " -"specified commit or tree objects to SVN. This relies on your imported fetch " -"data being up-to-date. This makes absolutely no attempts to do patching " -"when committing to SVN, it simply overwrites files with those specified in " -"the tree or commit. All merging is assumed to have taken place " -"independently of 'git svn' functions." +"Changes the list of branches tracked by the named remote. This can be used " +"to track a subset of the available remote branches after the initial setup " +"for a remote." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:417 -#, no-wrap -msgid "'create-ignore'" +#. type: Plain text +#: en/git-remote.txt:131 +msgid "" +"The named branches will be interpreted as if specified with the `-t` option " +"on the 'git remote add' command line." msgstr "" #. type: Plain text -#: en/git-svn.txt:422 +#: en/git-remote.txt:134 msgid "" -"Recursively finds the svn:ignore property on directories and creates " -"matching .gitignore files. The resulting files are staged to be committed, " -"but are not committed. Use -r/--revision to refer to a specific revision." +"With `--add`, instead of replacing the list of currently tracked branches, " +"adds to that list." msgstr "" #. type: Labeled list -#: en/git-svn.txt:423 +#: en/git-remote.txt:135 #, no-wrap -msgid "'show-ignore'" +msgid "'get-url'" msgstr "" #. type: Plain text -#: en/git-svn.txt:427 +#: en/git-remote.txt:139 msgid "" -"Recursively finds and lists the svn:ignore property on directories. The " -"output is suitable for appending to the $GIT_DIR/info/exclude file." +"Retrieves the URLs for a remote. Configurations for `insteadOf` and " +"`pushInsteadOf` are expanded here. By default, only the first URL is listed." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:428 -#, no-wrap -msgid "'mkdirs'" +#. type: Plain text +#: en/git-remote.txt:141 +msgid "With `--push`, push URLs are queried rather than fetch URLs." msgstr "" #. type: Plain text -#: en/git-svn.txt:436 -msgid "" -"Attempts to recreate empty directories that core Git cannot track based on " -"information in $GIT_DIR/svn/<refname>/unhandled.log files. Empty " -"directories are automatically recreated when using \"git svn clone\" and " -"\"git svn rebase\", so \"mkdirs\" is intended for use after commands like " -"\"git checkout\" or \"git reset\". (See the svn-remote.<name>.automkdirs " -"config file option for more information.)" +#: en/git-remote.txt:143 +msgid "With `--all`, all URLs for the remote will be listed." msgstr "" #. type: Labeled list -#: en/git-svn.txt:437 +#: en/git-remote.txt:144 #, no-wrap -msgid "'commit-diff'" +msgid "'set-url'" msgstr "" #. type: Plain text -#: en/git-svn.txt:446 +#: en/git-remote.txt:149 msgid "" -"Commits the diff of two tree-ish arguments from the command-line. This " -"command does not rely on being inside an `git svn init`-ed repository. This " -"command takes three arguments, (a) the original tree to diff against, (b) " -"the new tree result, (c) the URL of the target Subversion repository. The " -"final argument (URL) may be omitted if you are working from a 'git svn'-" -"aware repository (that has been `init`-ed with 'git svn'). The -r<revision> " -"option is required for this." +"Changes URLs for the remote. Sets first URL for remote <name> that matches " +"regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> " +"doesn't match any URL, an error occurs and nothing is changed." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:447 -#, no-wrap -msgid "'info'" +#. type: Plain text +#: en/git-remote.txt:151 +msgid "With `--push`, push URLs are manipulated instead of fetch URLs." msgstr "" #. type: Plain text -#: en/git-svn.txt:452 -msgid "" -"Shows information about a file or directory similar to what `svn info' " -"provides. Does not currently support a -r/--revision argument. Use the --" -"url option to output only the value of the 'URL:' field." +#: en/git-remote.txt:153 +msgid "With `--add`, instead of changing existing URLs, new URL is added." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:453 -#, no-wrap -msgid "'proplist'" +#. type: Plain text +#: en/git-remote.txt:157 +msgid "" +"With `--delete`, instead of changing existing URLs, all URLs matching regex " +"<url> are deleted for remote <name>. Trying to delete all non-push URLs is " +"an error." msgstr "" #. type: Plain text -#: en/git-svn.txt:457 +#: en/git-remote.txt:164 msgid "" -"Lists the properties stored in the Subversion repository about a given file " -"or directory. Use -r/--revision to refer to a specific Subversion revision." +"Note that the push URL and the fetch URL, even though they can be set " +"differently, must still refer to the same place. What you pushed to the " +"push URL should be what you would see if you immediately fetched from the " +"fetch URL. If you are trying to fetch from one place (e.g. your upstream) " +"and push to another (e.g. your publishing repository), use two separate " +"remotes." msgstr "" #. type: Labeled list -#: en/git-svn.txt:458 +#: en/git-remote.txt:166 #, no-wrap -msgid "'propget'" +msgid "'show'" msgstr "" +# +#. type: Plain text +#: en/git-remote.txt:169 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Gives some information about the remote <name>." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + #. type: Plain text -#: en/git-svn.txt:461 +#: en/git-remote.txt:172 msgid "" -"Gets the Subversion property given as the first argument, for a file. A " -"specific revision can be specified with -r/--revision." +"With `-n` option, the remote heads are not queried first with `git ls-remote " +"<name>`; cached information is used instead." msgstr "" #. type: Labeled list -#: en/git-svn.txt:462 +#: en/git-remote.txt:173 #, no-wrap -msgid "'propset'" +msgid "'prune'" msgstr "" #. type: Plain text -#: en/git-svn.txt:466 +#: en/git-remote.txt:179 msgid "" -"Sets the Subversion property given as the first argument, to the value given " -"as the second argument for the file given as the third argument." +"Deletes all stale remote-tracking branches under <name>. These stale " +"branches have already been removed from the remote repository referenced by " +"<name>, but are still locally available in \"remotes/<name>\"." msgstr "" #. type: Plain text -#: en/git-svn.txt:468 en/git-svn.txt:508 en/diff-format.txt:76 -#: en/diff-format.txt:101 -#, no-wrap -msgid "Example:" +#: en/git-remote.txt:182 +msgid "" +"With `--dry-run` option, report what branches will be pruned, but do not " +"actually prune them." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:471 -#, no-wrap -msgid "git svn propset svn:keywords \"FreeBSD=%H\" devel/py-tipper/Makefile\n" -msgstr "" +#. type: Labeled list +#: en/git-remote.txt:183 +#, fuzzy, no-wrap +#| msgid "update" +msgid "'update'" +msgstr "update" #. type: Plain text -#: en/git-svn.txt:475 +#: en/git-remote.txt:191 msgid "" -"This will set the property 'svn:keywords' to 'FreeBSD=%H' for the file " -"'devel/py-tipper/Makefile'." +"Fetch updates for a named set of remotes in the repository as defined by " +"remotes.<group>. If a named group is not specified on the command line, the " +"configuration parameter remotes.default will be used; if remotes.default is " +"not defined, all remotes which do not have the configuration parameter " +"remote.<name>.skipDefaultUpdate set to true will be updated. (See linkgit:" +"git-config[1])." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:476 -#, no-wrap -msgid "'show-externals'" +#. type: Plain text +#: en/git-remote.txt:193 +msgid "With `--prune` option, prune all the remotes that are updated." msgstr "" #. type: Plain text -#: en/git-svn.txt:479 +#: en/git-remote.txt:201 +#, fuzzy +#| msgid "" +#| "The default can be changed by the `commit.cleanup` configuration variable " +#| "(see linkgit:git-config[1])." msgid "" -"Shows the Subversion externals. Use -r/--revision to specify a specific " -"revision." +"The remote configuration is achieved using the `remote.origin.url` and " +"`remote.origin.fetch` configuration variables. (See linkgit:git-config[1])." msgstr "" +"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " +"`commit.cleanup` (voir linkgit:git-config[1])." #. type: Plain text -#: en/git-svn.txt:483 -msgid "" -"Compress $GIT_DIR/svn/<refname>/unhandled.log files and remove $GIT_DIR/svn/" -"<refname>/index files." +#: en/git-remote.txt:206 +msgid "Add a new remote, fetch, and check out a branch from it" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:484 +#. type: delimited block - +#: en/git-remote.txt:231 #, no-wrap -msgid "'reset'" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:494 msgid "" -"Undoes the effects of 'fetch' back to the specified revision. This allows " -"you to re-'fetch' an SVN revision. Normally the contents of an SVN revision " -"should never change and 'reset' should not be necessary. However, if SVN " -"permissions change, or if you alter your --ignore-paths option, a 'fetch' " -"may fail with \"not found in commit\" (file not previously visible) or " -"\"checksum mismatch\" (missed a modification). If the problem file cannot " -"be ignored forever (with --ignore-paths) the only way to repair the repo is " -"to use 'reset'." +"$ git remote\n" +"origin\n" +"$ git branch -r\n" +" origin/HEAD -> origin/master\n" +" origin/master\n" +"$ git remote add staging git://git.kernel.org/.../gregkh/staging.git\n" +"$ git remote\n" +"origin\n" +"staging\n" +"$ git fetch staging\n" +"...\n" +"From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n" +" * [new branch] master -> staging/master\n" +" * [new branch] staging-linus -> staging/staging-linus\n" +" * [new branch] staging-next -> staging/staging-next\n" +"$ git branch -r\n" +" origin/HEAD -> origin/master\n" +" origin/master\n" +" staging/master\n" +" staging/staging-linus\n" +" staging/staging-next\n" +"$ git checkout -b staging staging/master\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:499 -msgid "" -"Only the rev_map and refs/remotes/git-svn are changed (see '$GIT_DIR/svn/\\*" -"\\*/.rev_map.*' in the FILES section below for details). Follow 'reset' " -"with a 'fetch' and then 'git reset' or 'git rebase' to move local branches " -"onto the new tree." +#: en/git-remote.txt:234 +msgid "Imitate 'git clone' but track only selected branches" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:500 +#. type: delimited block - +#: en/git-remote.txt:241 #, no-wrap -msgid "-r <n>" +msgid "" +"$ mkdir project.git\n" +"$ cd project.git\n" +"$ git init\n" +"$ git remote add -f -t master -m master origin git://example.com/git.git/\n" +"$ git merge origin\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:501 -#, no-wrap -msgid "--revision=<n>" +# +#. type: Plain text +#: en/git-remote.txt:249 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-fetch[1] linkgit:git-branch[1] linkgit:git-config[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" + +#. type: Title = +#: en/git-repack.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-repack(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-svn.txt:504 -msgid "" -"Specify the most recent revision to keep. All later revisions are discarded." -msgstr "" +#: en/git-repack.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-repack - Pack unpacked objects in a repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Plain text -#: en/git-svn.txt:508 -msgid "" -"Discard the specified revision as well, keeping the nearest parent instead." +#: en/git-repack.txt:13 +#, no-wrap +msgid "'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:510 +#: en/git-repack.txt:20 msgid "" -"Assume you have local changes in \"master\", but you need to refetch \"r2\"." +"This command is used to combine all objects that do not currently reside in " +"a \"pack\", into a pack. It can also be used to re-organize existing packs " +"into a single, more efficient pack." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:515 -#, no-wrap +#. type: Plain text +#: en/git-repack.txt:39 msgid "" -" r1---r2---r3 remotes/git-svn\n" -" \\\n" -" A---B master\n" +"Instead of incrementally packing the unpacked objects, pack everything " +"referenced into a single pack. Especially useful when packing a repository " +"that is used for private development. Use with `-d`. This will clean up the " +"objects that `git prune` leaves behind, but `git fsck --full --dangling` " +"shows as dangling." msgstr "" #. type: Plain text -#: en/git-svn.txt:519 +#: en/git-repack.txt:43 msgid "" -"Fix the ignore-paths or SVN permissions problem that caused \"r2\" to be " -"incomplete in the first place. Then:" +"Note that users fetching over dumb protocols will have to fetch the whole " +"new pack in order to get any contained object, no matter how many other " +"objects in that pack they already have locally." msgstr "" #. type: Plain text -#: en/git-svn.txt:523 -#, no-wrap +#: en/git-repack.txt:54 msgid "" -"git svn reset -r2 -p\n" -"git svn fetch\n" +"Same as `-a`, unless `-d` is used. Then any unreachable objects in a " +"previous pack become loose, unpacked objects, instead of being left in the " +"old pack. Unreachable objects are never intentionally added to a pack, even " +"when repacking. This option prevents unreachable objects from being " +"immediately deleted by way of being left in the old pack and then removed. " +"Instead, the loose unreachable objects will be pruned according to normal " +"expiry rules with the next 'git gc' invocation. See linkgit:git-gc[1]." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:528 -#, no-wrap +#. type: Plain text +#: en/git-repack.txt:60 msgid "" -" r1---r2'--r3' remotes/git-svn\n" -" \\\n" -" r2---r3---A---B master\n" +"After packing, if the newly created packs make some existing packs " +"redundant, remove the redundant packs. Also run 'git prune-packed' to " +"remove redundant loose object files." msgstr "" +# #. type: Plain text -#: en/git-svn.txt:533 +#: en/git-repack.txt:64 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"Then fixup \"master\" with 'git rebase'. Do NOT use 'git merge' or your " -"history will not be compatible with a future 'dcommit'!" +"Pass the `--local` option to 'git pack-objects'. See linkgit:git-pack-" +"objects[1]." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Plain text -#: en/git-svn.txt:536 -#, no-wrap -msgid "git rebase --onto remotes/git-svn A^ master\n" -msgstr "" - -#. type: delimited block - -#: en/git-svn.txt:541 -#, no-wrap +#: en/git-repack.txt:68 msgid "" -" r1---r2'--r3' remotes/git-svn\n" -" \\\n" -" A'--B' master\n" -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:546 -#, no-wrap -msgid "--shared[=(false|true|umask|group|all|world|everybody)]" +"Pass the `--no-reuse-delta` option to `git-pack-objects`, see linkgit:git-" +"pack-objects[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:550 +#: en/git-repack.txt:72 msgid "" -"Only used with the 'init' command. These are passed directly to 'git init'." -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:551 -#, no-wrap -msgid "-r <arg>" +"Pass the `--no-reuse-object` option to `git-pack-objects`, see linkgit:git-" +"pack-objects[1]." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:552 -#, no-wrap -msgid "--revision <arg>" +# +#. type: Plain text +#: en/git-repack.txt:76 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "" +"Pass the `-q` option to 'git pack-objects'. See linkgit:git-pack-objects[1]." msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" #. type: Plain text -#: en/git-svn.txt:554 -msgid "Used with the 'fetch' command." +#: en/git-repack.txt:83 +msgid "" +"Do not update the server information with 'git update-server-info'. This " +"option skips updating local catalog files needed to publish this repository " +"(or a direct copy of it) over HTTP or FTP. See linkgit:git-update-server-" +"info[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:558 +#: en/git-repack.txt:94 msgid "" -"This allows revision ranges for partial/cauterized history to be supported. " -"$NUMBER, $NUMBER1:$NUMBER2 (numeric ranges), $NUMBER:HEAD, and BASE:$NUMBER " -"are all supported." +"These two options affect how the objects contained in the pack are stored " +"using delta compression. The objects are first internally sorted by type, " +"size and optionally names and compared against the other objects within `--" +"window` to see if using delta compression saves space. `--depth` limits the " +"maximum delta depth; making it too deep affects the performance on the " +"unpacker side, because delta data needs to be applied that many times to get " +"to the necessary object. The default value for --window is 10 and --depth " +"is 50." msgstr "" #. type: Plain text -#: en/git-svn.txt:562 +#: en/git-repack.txt:107 msgid "" -"This can allow you to make partial mirrors when running fetch; but is " -"generally not recommended because history will be skipped and lost." +"This option provides an additional limit on top of `--window`; the window " +"size will dynamically scale down so as to not take up more than '<n>' bytes " +"in memory. This is useful in repositories with a mix of large and small " +"objects to not run out of memory with a large window, but still be able to " +"take advantage of the large window for the smaller objects. The size can be " +"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " +"usage unlimited. The default is taken from the `pack.windowMemory` " +"configuration variable. Note that the actual memory usage will be the limit " +"multiplied by the number of threads used by linkgit:git-pack-objects[1]." msgstr "" #. type: Labeled list -#: en/git-svn.txt:563 +#: en/git-repack.txt:117 #, no-wrap -msgid "-" +msgid "--write-bitmap-index" msgstr "" #. type: Plain text -#: en/git-svn.txt:566 -msgid "Only used with the 'set-tree' command." +#: en/git-repack.txt:123 +msgid "" +"Write a reachability bitmap index as part of the repack. This only makes " +"sense when used with `-a` or `-A`, as the bitmaps must be able to refer to " +"all reachable objects. This option overrides the setting of `repack." +"writeBitmaps`. This option has no effect if multiple packfiles are created." msgstr "" +#. type: Labeled list +#: en/git-repack.txt:124 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--pack-kept-objects" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-svn.txt:570 +#: en/git-repack.txt:132 msgid "" -"Read a list of commits from stdin and commit them in reverse order. Only " -"the leading sha1 is read from each line, so 'git rev-list --pretty=oneline' " -"output can be used." +"Include objects in `.keep` files when repacking. Note that we still do not " +"delete `.keep` packs after `pack-objects` finishes. This means that we may " +"duplicate objects, but this makes the option safe to use when there are " +"concurrent pushes or fetches. This option is generally only useful if you " +"are writing bitmaps with `-b` or `repack.writeBitmaps`, as it ensures that " +"the bitmapped packfile has the necessary objects." msgstr "" #. type: Labeled list -#: en/git-svn.txt:571 +#: en/git-repack.txt:133 #, no-wrap -msgid "--rmdir" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:573 en/git-svn.txt:586 en/git-svn.txt:597 -msgid "Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands." +msgid "--unpack-unreachable=<when>" msgstr "" #. type: Plain text -#: en/git-svn.txt:579 +#: en/git-repack.txt:138 msgid "" -"Remove directories from the SVN tree if there are no files left behind. SVN " -"can version empty directories, and they are not removed by default if there " -"are no files left in them. Git cannot version empty directories. Enabling " -"this flag will make the commit to SVN act like Git." +"When loosening unreachable objects, do not bother loosening any objects " +"older than `<when>`. This can be used to optimize out the write of any " +"objects that would be immediately pruned by a follow-up `git prune`." msgstr "" -#. type: Plain text -#: en/git-svn.txt:582 +#. type: Labeled list +#: en/git-repack.txt:140 #, no-wrap -msgid "config key: svn.rmdir\n" +msgid "--keep-unreachable" msgstr "" #. type: Plain text -#: en/git-svn.txt:590 +#: en/git-repack.txt:145 msgid "" -"Edit the commit message before committing to SVN. This is off by default " -"for objects that are commits, and forced on when committing tree objects." +"When used with `-ad`, any unreachable objects from existing packs will be " +"appended to the end of the packfile instead of being removed. In addition, " +"any unreachable loose objects will be packed (and their loose counterparts " +"removed)." msgstr "" #. type: Plain text -#: en/git-svn.txt:593 -#, no-wrap -msgid "config key: svn.edit\n" +#: en/git-repack.txt:158 +msgid "" +"By default, the command passes `--delta-base-offset` option to 'git pack-" +"objects'; this typically results in slightly smaller packs, but the " +"generated packs are incompatible with versions of Git older than version " +"1.4.4. If you need to share your repository with such ancient Git versions, " +"either directly or via the dumb http protocol, then you need to set the " +"configuration variable `repack.UseDeltaBaseOffset` to \"false\" and repack. " +"Access from old Git versions over the native protocol is unaffected by this " +"option as the conversion is performed on the fly as needed in that case." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:594 en/diff-options.txt:402 -#, no-wrap -msgid "-l<num>" +#. type: Plain text +#: en/git-repack.txt:163 +msgid "linkgit:git-pack-objects[1] linkgit:git-prune-packed[1]" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:595 en/diff-options.txt:380 -#, no-wrap -msgid "--find-copies-harder" -msgstr "" +#. type: Title = +#: en/git-replace.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-replace(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-svn.txt:600 -msgid "" -"They are both passed directly to 'git diff-tree'; see linkgit:git-diff-" -"tree[1] for more information." +#: en/git-replace.txt:7 +msgid "git-replace - Create, list, delete refs to replace objects" msgstr "" #. type: Plain text -#: en/git-svn.txt:604 +#: en/git-replace.txt:16 #, no-wrap msgid "" -"config key: svn.l\n" -"config key: svn.findcopiesharder\n" -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:605 -#, no-wrap -msgid "-A<filename>" -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:606 -#, no-wrap -msgid "--authors-file=<filename>" +"'git replace' [-f] <object> <replacement>\n" +"'git replace' [-f] --edit <object>\n" +"'git replace' [-f] --graft <commit> [<parent>...]\n" +"'git replace' -d <object>...\n" +"'git replace' [--format=<format>] [-l [<pattern>]]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:608 -msgid "Syntax is compatible with the file used by 'git cvsimport':" -msgstr "" - -#. type: delimited block - -#: en/git-svn.txt:611 -#, no-wrap -msgid "\tloginname = Joe User <user@example.com>\n" +#: en/git-replace.txt:20 +msgid "Adds a 'replace' reference in `refs/replace/` namespace." msgstr "" #. type: Plain text -#: en/git-svn.txt:618 +#: en/git-replace.txt:24 msgid "" -"If this option is specified and 'git svn' encounters an SVN committer name " -"that does not exist in the authors-file, 'git svn' will abort operation. The " -"user will then have to add the appropriate entry. Re-running the previous " -"'git svn' command after the authors-file is modified should continue " -"operation." +"The name of the 'replace' reference is the SHA-1 of the object that is " +"replaced. The content of the 'replace' reference is the SHA-1 of the " +"replacement object." msgstr "" #. type: Plain text -#: en/git-svn.txt:621 -#, no-wrap -msgid "config key: svn.authorsfile\n" +#: en/git-replace.txt:27 +msgid "" +"The replaced object and the replacement object must be of the same type. " +"This restriction can be bypassed using `-f`." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:622 -#, no-wrap -msgid "--authors-prog=<filename>" +#. type: Plain text +#: en/git-replace.txt:29 +msgid "Unless `-f` is given, the 'replace' reference must not yet exist." msgstr "" #. type: Plain text -#: en/git-svn.txt:628 +#: en/git-replace.txt:32 msgid "" -"If this option is specified, for each SVN committer name that does not exist " -"in the authors file, the given file is executed with the committer name as " -"the first argument. The program is expected to return a single line of the " -"form \"Name <email>\", which will be treated as if included in the authors " -"file." +"There is no other restriction on the replaced and replacement objects. " +"Merge commits can be replaced by non-merge commits and vice versa." msgstr "" #. type: Plain text -#: en/git-svn.txt:631 -#, no-wrap -msgid "config key: svn.authorsProg\n" +#: en/git-replace.txt:36 +msgid "" +"Replacement references will be used by default by all Git commands except " +"those doing reachability traversal (prune, pack transfer and fsck)." msgstr "" #. type: Plain text -#: en/git-svn.txt:636 +#: en/git-replace.txt:39 msgid "" -"Make 'git svn' less verbose. Specify a second time to make it even less " -"verbose." -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:639 -#, no-wrap -msgid "-s<strategy>" +"It is possible to disable use of replacement references for any command " +"using the `--no-replace-objects` option just after 'git'." msgstr "" #. type: Plain text -#: en/git-svn.txt:644 -msgid "These are only used with the 'dcommit' and 'rebase' commands." +#: en/git-replace.txt:41 +msgid "For example if commit 'foo' has been replaced by commit 'bar':" msgstr "" +#. type: delimited block - +#: en/git-replace.txt:44 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git --no-replace-objects cat-file commit foo\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-svn.txt:647 -msgid "" -"Passed directly to 'git rebase' when using 'dcommit' if a 'git reset' cannot " -"be used (see 'dcommit')." +#: en/git-replace.txt:47 +msgid "shows information about commit 'foo', while:" msgstr "" +#. type: delimited block - +#: en/git-replace.txt:50 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "$ git cat-file commit foo\n" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-svn.txt:652 -msgid "" -"This can be used with the 'dcommit', 'rebase', 'branch' and 'tag' commands." +#: en/git-replace.txt:53 +msgid "shows information about commit 'bar'." msgstr "" #. type: Plain text -#: en/git-svn.txt:655 +#: en/git-replace.txt:56 msgid "" -"For 'dcommit', print out the series of Git arguments that would show which " -"diffs would be committed to SVN." +"The `GIT_NO_REPLACE_OBJECTS` environment variable can be set to achieve the " +"same effect as the `--no-replace-objects` option." msgstr "" #. type: Plain text -#: en/git-svn.txt:659 +#: en/git-replace.txt:63 msgid "" -"For 'rebase', display the local branch associated with the upstream svn " -"repository associated with the current branch and the URL of svn repository " -"that will be fetched from." +"If an existing replace ref for the same object exists, it will be " +"overwritten (instead of failing)." msgstr "" #. type: Plain text -#: en/git-svn.txt:662 -msgid "" -"For 'branch' and 'tag', display the urls that will be used for copying when " -"creating the branch or tag." +#: en/git-replace.txt:67 +msgid "Delete existing replace refs for the given objects." msgstr "" #. type: Labeled list -#: en/git-svn.txt:663 +#: en/git-replace.txt:68 #, no-wrap -msgid "--use-log-author" +msgid "--edit <object>" msgstr "" #. type: Plain text -#: en/git-svn.txt:667 +#: en/git-replace.txt:76 msgid "" -"When retrieving svn commits into Git (as part of 'fetch', 'rebase', or " -"'dcommit' operations), look for the first `From:` or `Signed-off-by:` line " -"in the log message and use that as the author string." +"Edit an object's content interactively. The existing content for <object> is " +"pretty-printed into a temporary file, an editor is launched on the file, and " +"the result is parsed to create a new object of the same type as <object>. A " +"replacement ref is then created to replace <object> with the newly created " +"object. See linkgit:git-var[1] for details about how the editor will be " +"chosen." msgstr "" #. type: Plain text -#: en/git-svn.txt:670 -#, no-wrap -msgid "config key: svn.useLogAuthor\n" +#: en/git-replace.txt:84 +msgid "" +"When editing, provide the raw object contents rather than pretty-printed " +"ones. Currently this only affects trees, which will be shown in their binary " +"form. This is harder to work with, but can help when repairing a tree that " +"is so corrupted it cannot be pretty-printed. Note that you may need to " +"configure your editor to cleanly read and write binary data." msgstr "" #. type: Labeled list -#: en/git-svn.txt:671 +#: en/git-replace.txt:85 #, no-wrap -msgid "--add-author-from" +msgid "--graft <commit> [<parent>...]" msgstr "" #. type: Plain text -#: en/git-svn.txt:677 +#: en/git-replace.txt:93 msgid "" -"When committing to svn from Git (as part of 'commit-diff', 'set-tree' or " -"'dcommit' operations), if the existing log message doesn't already have a " -"`From:` or `Signed-off-by:` line, append a `From:` line based on the Git " -"commit's author string. If you use this, then `--use-log-author` will " -"retrieve a valid author string for all commits." +"Create a graft commit. A new commit is created with the same content as " +"<commit> except that its parents will be [<parent>...] instead of <commit>'s " +"parents. A replacement ref is then created to replace <commit> with the " +"newly created commit. See contrib/convert-grafts-to-replace-refs.sh for an " +"example script based on this option that can convert grafts to replace refs." msgstr "" -#. type: Plain text -#: en/git-svn.txt:680 +#. type: Labeled list +#: en/git-replace.txt:94 en/git-tag.txt:90 #, no-wrap -msgid "config key: svn.addAuthorFrom\n" +msgid "-l <pattern>" msgstr "" -#. type: Title - -#: en/git-svn.txt:682 -#, fuzzy, no-wrap -#| msgid "OPTIONS" -msgid "ADVANCED OPTIONS" -msgstr "OPTIONS" - #. type: Labeled list -#: en/git-svn.txt:684 +#: en/git-replace.txt:95 en/git-tag.txt:91 #, no-wrap -msgid "-i<GIT_SVN_ID>" +msgid "--list <pattern>" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:685 -#, no-wrap -msgid "--id <GIT_SVN_ID>" +#. type: Plain text +#: en/git-replace.txt:100 +msgid "" +"List replace refs for objects that match the given pattern (or all if no " +"pattern is given). Typing \"git replace\" without arguments, also lists all " +"replace refs." msgstr "" +#. type: Labeled list +#: en/git-replace.txt:101 en/pretty-options.txt:2 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--format=<format>" +msgstr "Configuration" + #. type: Plain text -#: en/git-svn.txt:690 +#: en/git-replace.txt:105 msgid "" -"This sets GIT_SVN_ID (instead of using the environment). This allows the " -"user to override the default refname to fetch from when tracking a single " -"URL. The 'log' and 'dcommit' commands no longer require this switch as an " -"argument." +"When listing, use the specified <format>, which can be one of 'short', " +"'medium' and 'long'. When omitted, the format defaults to 'short'." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:691 +#. type: Title - +#: en/git-replace.txt:107 #, fuzzy, no-wrap -#| msgid "removed content" -msgid "-R<remote name>" -msgstr "contenu supprim챕" +#| msgid "DATE FORMATS" +msgid "FORMATS" +msgstr "FORMATS DE DATE" -#. type: Labeled list -#: en/git-svn.txt:692 -#, no-wrap -msgid "--svn-remote <remote name>" +#. type: Plain text +#: en/git-replace.txt:110 +msgid "The following format are available:" msgstr "" #. type: Plain text -#: en/git-svn.txt:696 -msgid "" -"Specify the [svn-remote \"<remote name>\"] section to use, this allows SVN " -"multiple repositories to be tracked. Default: \"svn\"" +#: en/git-replace.txt:112 +msgid "'short':" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:697 -#, no-wrap -msgid "--follow-parent" +#. type: Plain text +#: en/git-replace.txt:113 +msgid "<replaced sha1>" msgstr "" #. type: Plain text -#: en/git-svn.txt:712 -msgid "" -"This option is only relevant if we are tracking branches (using one of the " -"repository layout options --trunk, --tags, --branches, --stdlayout). For " -"each tracked branch, try to find out where its revision was copied from, and " -"set a suitable parent in the first Git commit for the branch. This is " -"especially helpful when we're tracking a directory that has been moved " -"around within the repository. If this feature is disabled, the branches " -"created by 'git svn' will all be linear and not share any history, meaning " -"that there will be no information on where branches were branched off or " -"merged. However, following long/convoluted histories can take a long time, " -"so disabling this feature may speed up the cloning process. This feature is " -"enabled by default, use --no-follow-parent to disable it." +#: en/git-replace.txt:114 +msgid "'medium':" msgstr "" #. type: Plain text -#: en/git-svn.txt:715 -#, no-wrap -msgid "config key: svn.followparent\n" +#: en/git-replace.txt:115 +msgid "<replaced sha1> -> <replacement sha1>" msgstr "" -#. type: Title - -#: en/git-svn.txt:717 -#, no-wrap -msgid "CONFIG FILE-ONLY OPTIONS" +#. type: Plain text +#: en/git-replace.txt:116 +msgid "'long':" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:719 -#, no-wrap -msgid "svn.noMetadata" +#. type: Plain text +#: en/git-replace.txt:117 +msgid "" +"<replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:720 +#. type: Title - +#: en/git-replace.txt:119 #, no-wrap -msgid "svn-remote.<name>.noMetadata" +msgid "CREATING REPLACEMENT OBJECTS" msgstr "" #. type: Plain text -#: en/git-svn.txt:722 -msgid "This gets rid of the 'git-svn-id:' lines at the end of every commit." +#: en/git-replace.txt:126 +msgid "" +"linkgit:git-filter-branch[1], linkgit:git-hash-object[1] and linkgit:git-" +"rebase[1], among other git commands, can be used to create replacement " +"objects from existing objects. The `--edit` option can also be used with " +"'git replace' to create a replacement object by editing an existing object." msgstr "" #. type: Plain text -#: en/git-svn.txt:727 +#: en/git-replace.txt:132 msgid "" -"This option can only be used for one-shot imports as 'git svn' will not be " -"able to fetch again without metadata. Additionally, if you lose your " -"'$GIT_DIR/svn/\\*\\*/.rev_map.*' files, 'git svn' will not be able to " -"rebuild them." +"If you want to replace many blobs, trees or commits that are part of a " +"string of commits, you may just want to create a replacement string of " +"commits and then only replace the commit at the tip of the target string of " +"commits with the commit at the tip of the replacement string of commits." msgstr "" #. type: Plain text -#: en/git-svn.txt:731 +#: en/git-replace.txt:139 msgid "" -"The 'git svn log' command will not work on repositories using this, either. " -"Using this conflicts with the 'useSvmProps' option for (hopefully) obvious " -"reasons." +"Comparing blobs or trees that have been replaced with those that replace " +"them will not work properly. And using `git reset --hard` to go back to a " +"replaced commit will move the branch to the replacement commit instead of " +"the replaced commit." msgstr "" #. type: Plain text -#: en/git-svn.txt:739 +#: en/git-replace.txt:142 msgid "" -"This option is NOT recommended as it makes it difficult to track down old " -"references to SVN revision numbers in existing documentation, bug reports " -"and archives. If you plan to eventually migrate from SVN to Git and are " -"certain about dropping SVN history, consider linkgit:git-filter-branch[1] " -"instead. filter-branch also allows reformatting of metadata for ease-of-" -"reading and rewriting authorship info for non-\"svn.authorsFile\" users." +"There may be other problems when using 'git rev-list' related to pending " +"objects." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:740 +# +#. type: Plain text +#: en/git-replace.txt:153 +#, fuzzy +#| msgid "" +#| "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" +#| "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" +msgid "" +"linkgit:git-hash-object[1] linkgit:git-filter-branch[1] linkgit:git-" +"rebase[1] linkgit:git-tag[1] linkgit:git-branch[1] linkgit:git-commit[1] " +"linkgit:git-var[1] linkgit:git[1]" +msgstr "" +"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" +"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" + +#. type: Title = +#: en/git-request-pull.txt:2 #, no-wrap -msgid "svn.useSvmProps" +msgid "git-request-pull(1)" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:741 +#. type: Plain text +#: en/git-request-pull.txt:7 +msgid "git-request-pull - Generates a summary of pending changes" +msgstr "" + +#. type: Plain text +#: en/git-request-pull.txt:12 #, no-wrap -msgid "svn-remote.<name>.useSvmProps" +msgid "'git request-pull' [-p] <start> <url> [<end>]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:744 +#: en/git-request-pull.txt:20 msgid "" -"This allows 'git svn' to re-map repository URLs and UUIDs from mirrors " -"created using SVN::Mirror (or svk) for metadata." +"Generate a request asking your upstream project to pull changes into their " +"tree. The request, printed to the standard output, begins with the branch " +"description, summarizes the changes and indicates from where they can be " +"pulled." msgstr "" #. type: Plain text -#: en/git-svn.txt:752 +#: en/git-request-pull.txt:25 msgid "" -"If an SVN revision has a property, \"svm:headrev\", it is likely that the " -"revision was created by SVN::Mirror (also used by SVK). The property " -"contains a repository UUID and a revision. We want to make it look like we " -"are mirroring the original URL, so introduce a helper function that returns " -"the original identity URL and UUID, and use it when generating metadata in " -"commit messages." +"The upstream project is expected to have the commit named by `<start>` and " +"the output asks it to integrate the changes you made since that commit, up " +"to the commit named by `<end>`, by visiting the repository named by `<url>`." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:753 -#, no-wrap -msgid "svn.useSvnsyncProps" +#. type: Plain text +#: en/git-request-pull.txt:31 +msgid "Include patch text in the output." msgstr "" #. type: Labeled list -#: en/git-svn.txt:754 +#: en/git-request-pull.txt:32 #, no-wrap -msgid "svn-remote.<name>.useSvnsyncprops" +msgid "<start>" msgstr "" #. type: Plain text -#: en/git-svn.txt:758 +#: en/git-request-pull.txt:35 msgid "" -"Similar to the useSvmProps option; this is for users of the svnsync(1) " -"command distributed with SVN 1.4.x and later." +"Commit to start at. This names a commit that is already in the upstream " +"history." msgstr "" #. type: Labeled list -#: en/git-svn.txt:759 +#: en/git-request-pull.txt:36 #, no-wrap -msgid "svn-remote.<name>.rewriteRoot" +msgid "<url>" msgstr "" #. type: Plain text -#: en/git-svn.txt:765 -msgid "" -"This allows users to create repositories from alternate URLs. For example, " -"an administrator could run 'git svn' on the server locally (accessing via " -"file://) but wish to distribute the repository with a public http:// or " -"svn:// URL in the metadata so users of it will see the public URL." +#: en/git-request-pull.txt:38 +msgid "The repository URL to be pulled from." msgstr "" #. type: Labeled list -#: en/git-svn.txt:766 +#: en/git-request-pull.txt:39 #, no-wrap -msgid "svn-remote.<name>.rewriteUUID" +msgid "<end>" msgstr "" #. type: Plain text -#: en/git-svn.txt:771 +#: en/git-request-pull.txt:42 msgid "" -"Similar to the useSvmProps option; this is for users who need to remap the " -"UUID manually. This may be useful in situations where the original UUID is " -"not available via either useSvmProps or useSvnsyncProps." +"Commit to end at (defaults to HEAD). This names the commit at the tip of " +"the history you are asking to be pulled." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:772 -#, no-wrap -msgid "svn-remote.<name>.pushurl" +#. type: Plain text +#: en/git-request-pull.txt:47 +msgid "" +"When the repository named by `<url>` has the commit at a tip of a ref that " +"is different from the ref you have locally, you can use the `<local>:" +"<remote>` syntax, to have its local name, a colon `:`, and its remote name." msgstr "" #. type: Plain text -#: en/git-svn.txt:781 +#: en/git-request-pull.txt:56 msgid "" -"Similar to Git's `remote.<name>.pushurl`, this key is designed to be used in " -"cases where 'url' points to an SVN repository via a read-only transport, to " -"provide an alternate read/write transport. It is assumed that both keys " -"point to the same repository. Unlike 'commiturl', 'pushurl' is a base path. " -"If either 'commiturl' or 'pushurl' could be used, 'commiturl' takes " -"precedence." +"Imagine that you built your work on your `master` branch on top of the " +"`v1.0` release, and want it to be integrated to the project. First you push " +"that change to your public repository for others to see:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:782 +#. type: Plain text +#: en/git-request-pull.txt:58 #, no-wrap -msgid "svn.brokenSymlinkWorkaround" +msgid "\tgit push https://git.ko.xz/project master\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:790 -msgid "" -"This disables potentially expensive checks to workaround broken symlinks " -"checked into SVN by broken clients. Set this option to \"false\" if you " -"track a SVN repository with many empty blobs that are not symlinks. This " -"option may be changed while 'git svn' is running and take effect on the next " -"revision fetched. If unset, 'git svn' assumes this option to be \"true\"." +#: en/git-request-pull.txt:60 +msgid "Then, you run this command:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:791 +#. type: Plain text +#: en/git-request-pull.txt:62 #, no-wrap -msgid "svn.pathnameencoding" +msgid "\tgit request-pull v1.0 https://git.ko.xz/project master\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:796 +#: en/git-request-pull.txt:66 msgid "" -"This instructs git svn to recode pathnames to a given encoding. It can be " -"used by windows users and by those who work in non-utf8 locales to avoid " -"corrupted file names with non-ASCII characters. Valid encodings are the " -"ones supported by Perl's Encode module." +"which will produce a request to the upstream, summarizing the changes " +"between the `v1.0` release and your `master`, to pull it from your public " +"repository." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:797 -#, no-wrap -msgid "svn-remote.<name>.automkdirs" +#. type: Plain text +#: en/git-request-pull.txt:69 +msgid "" +"If you pushed your change to a branch whose name is different from the one " +"you have locally, e.g." msgstr "" #. type: Plain text -#: en/git-svn.txt:804 -msgid "" -"Normally, the \"git svn clone\" and \"git svn rebase\" commands attempt to " -"recreate empty directories that are in the Subversion repository. If this " -"option is set to \"false\", then empty directories will only be created if " -"the \"git svn mkdirs\" command is run explicitly. If unset, 'git svn' " -"assumes this option to be \"true\"." +#: en/git-request-pull.txt:71 +#, no-wrap +msgid "\tgit push https://git.ko.xz/project master:for-linus\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:809 -msgid "" -"Since the noMetadata, rewriteRoot, rewriteUUID, useSvnsyncProps and " -"useSvmProps options all affect the metadata generated and used by 'git svn'; " -"they *must* be set in the configuration file before any history is imported " -"and these settings should never be changed once they are set." +#: en/git-request-pull.txt:73 +msgid "then you can ask that to be pulled with" msgstr "" #. type: Plain text -#: en/git-svn.txt:813 -msgid "" -"Additionally, only one of these options can be used per svn-remote section " -"because they affect the 'git-svn-id:' metadata line, except for rewriteRoot " -"and rewriteUUID which can be used together." +#: en/git-request-pull.txt:75 +#, no-wrap +msgid "\tgit request-pull v1.0 https://git.ko.xz/project master:for-linus\n" msgstr "" -#. type: Title - -#: en/git-svn.txt:816 +#. type: Title = +#: en/git-rerere.txt:2 #, fuzzy, no-wrap -#| msgid "EXAMPLES" -msgid "BASIC EXAMPLES" -msgstr "EXEMPLES" +#| msgid "git-add(1)" +msgid "git-rerere(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-svn.txt:820 -msgid "" -"Tracking and contributing to the trunk of a Subversion-managed project " -"(ignoring tags and branches):" +#: en/git-rerere.txt:7 +msgid "git-rerere - Reuse recorded resolution of conflicted merges" msgstr "" -#. type: delimited block - -#: en/git-svn.txt:838 +#. type: Plain text +#: en/git-rerere.txt:12 #, no-wrap +msgid "'git rerere' ['clear'|'forget' <pathspec>|'diff'|'remaining'|'status'|'gc']\n" +msgstr "" + +#. type: Plain text +#: en/git-rerere.txt:20 msgid "" -"# Clone a repo (like git clone):\n" -"\tgit svn clone http://svn.example.com/project/trunk\n" -"# Enter the newly cloned directory:\n" -"\tcd trunk\n" -"# You should be on master branch, double-check with 'git branch'\n" -"\tgit branch\n" -"# Do some work and commit locally to Git:\n" -"\tgit commit ...\n" -"# Something is committed to SVN, rebase your local changes against the\n" -"# latest changes in SVN:\n" -"\tgit svn rebase\n" -"# Now commit your changes (that were committed previously using Git) to SVN,\n" -"# as well as automatically updating your working HEAD:\n" -"\tgit svn dcommit\n" -"# Append svn:ignore settings to the default Git exclude file:\n" -"\tgit svn show-ignore >> .git/info/exclude\n" +"In a workflow employing relatively long lived topic branches, the developer " +"sometimes needs to resolve the same conflicts over and over again until the " +"topic branches are done (either merged to the \"release\" branch, or sent " +"out and accepted upstream)." msgstr "" #. type: Plain text -#: en/git-svn.txt:842 +#: en/git-rerere.txt:25 msgid "" -"Tracking and contributing to an entire Subversion-managed project (complete " -"with a trunk, tags and branches):" +"This command assists the developer in this process by recording conflicted " +"automerge results and corresponding hand resolve results on the initial " +"manual merge, and applying previously recorded hand resolutions to their " +"corresponding automerge results." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:857 -#, no-wrap +#. type: Plain text +#: en/git-rerere.txt:29 msgid "" -"# Clone a repo with standard SVN directory layout (like git clone):\n" -"\tgit svn clone http://svn.example.com/project --stdlayout --prefix svn/\n" -"# Or, if the repo uses a non-standard directory layout:\n" -"\tgit svn clone http://svn.example.com/project -T tr -b branch -t tag --prefix svn/\n" -"# View all branches and tags you have cloned:\n" -"\tgit branch -r\n" -"# Create a new branch in SVN\n" -"\tgit svn branch waldo\n" -"# Reset your master to trunk (or any other branch, replacing 'trunk'\n" -"# with the appropriate name):\n" -"\tgit reset --hard svn/trunk\n" -"# You may only dcommit to one branch/tag/trunk at a time. The usage\n" -"# of dcommit/rebase/show-ignore should be the same as above.\n" +"You need to set the configuration variable rerere.enabled in order to enable " +"this command." msgstr "" #. type: Plain text -#: en/git-svn.txt:865 +#: en/git-rerere.txt:37 msgid "" -"The initial 'git svn clone' can be quite time-consuming (especially for " -"large Subversion repositories). If multiple people (or one person with " -"multiple machines) want to use 'git svn' to interact with the same " -"Subversion repository, you can do the initial 'git svn clone' to a " -"repository on a server and have each person clone that repository with 'git " -"clone':" +"Normally, 'git rerere' is run without arguments or user-intervention. " +"However, it has several commands that allow it to interact with its working " +"state." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:886 +#. type: Labeled list +#: en/git-rerere.txt:38 #, no-wrap +msgid "'clear'" +msgstr "" + +#. type: Plain text +#: en/git-rerere.txt:43 msgid "" -"# Do the initial import on a server\n" -"\tssh server \"cd /pub && git svn clone http://svn.example.com/project [options...]\"\n" -"# Clone locally - make sure the refs/remotes/ space matches the server\n" -"\tmkdir project\n" -"\tcd project\n" -"\tgit init\n" -"\tgit remote add origin server:/pub/project\n" -"\tgit config --replace-all remote.origin.fetch '+refs/remotes/*:refs/remotes/*'\n" -"\tgit fetch\n" -"# Prevent fetch/pull from remote Git server in the future,\n" -"# we only want to use git svn for future updates\n" -"\tgit config --remove-section remote.origin\n" -"# Create a local branch from one of the branches just fetched\n" -"\tgit checkout -b master FETCH_HEAD\n" -"# Initialize 'git svn' locally (be sure to use the same URL and\n" -"# --stdlayout/-T/-b/-t/--prefix options as were used on server)\n" -"\tgit svn init http://svn.example.com/project [options...]\n" -"# Pull the latest changes from Subversion\n" -"\tgit svn rebase\n" +"Reset the metadata used by rerere if a merge resolution is to be aborted. " +"Calling 'git am [--skip|--abort]' or 'git rebase [--skip|--abort]' will " +"automatically invoke this command." msgstr "" -#. type: Title - -#: en/git-svn.txt:889 +#. type: Labeled list +#: en/git-rerere.txt:44 #, no-wrap -msgid "REBASE VS. PULL/MERGE" +msgid "'forget' <pathspec>" msgstr "" #. type: Plain text -#: en/git-svn.txt:895 +#: en/git-rerere.txt:48 msgid "" -"Prefer to use 'git svn rebase' or 'git rebase', rather than 'git pull' or " -"'git merge' to synchronize unintegrated commits with a 'git svn' branch. " -"Doing so will keep the history of unintegrated commits linear with respect " -"to the upstream SVN repository and allow the use of the preferred 'git svn " -"dcommit' subcommand to push unintegrated commits back into SVN." +"Reset the conflict resolutions which rerere has recorded for the current " +"conflict in <pathspec>." msgstr "" +#. type: Labeled list +#: en/git-rerere.txt:49 +#, fuzzy, no-wrap +#| msgid "diff" +msgid "'diff'" +msgstr "diff" + #. type: Plain text -#: en/git-svn.txt:903 +#: en/git-rerere.txt:55 msgid "" -"Originally, 'git svn' recommended that developers pulled or merged from the " -"'git svn' branch. This was because the author favored `git svn set-tree B` " -"to commit a single head rather than the `git svn set-tree A..B` notation to " -"commit multiple commits. Use of 'git pull' or 'git merge' with `git svn set-" -"tree A..B` will cause non-linear history to be flattened when committing " -"into SVN and this can lead to merge commits unexpectedly reversing previous " -"commits in SVN." +"Display diffs for the current state of the resolution. It is useful for " +"tracking what has changed while the user is resolving conflicts. Additional " +"arguments are passed directly to the system 'diff' command installed in PATH." msgstr "" -#. type: Title - -#: en/git-svn.txt:905 +#. type: Labeled list +#: en/git-rerere.txt:56 +#, fuzzy, no-wrap +#| msgid "status" +msgid "'status'" +msgstr "status" + +#. type: Plain text +#: en/git-rerere.txt:59 +msgid "Print paths with conflicts whose merge resolution rerere will record." +msgstr "" + +#. type: Labeled list +#: en/git-rerere.txt:60 #, no-wrap -msgid "MERGE TRACKING" +msgid "'remaining'" msgstr "" #. type: Plain text -#: en/git-svn.txt:912 +#: en/git-rerere.txt:65 msgid "" -"While 'git svn' can track copy history (including branches and tags) for " -"repositories adopting a standard layout, it cannot yet represent merge " -"history that happened inside git back upstream to SVN users. Therefore it " -"is advised that users keep history as linear as possible inside Git to ease " -"compatibility with SVN (see the CAVEATS section below)." +"Print paths with conflicts that have not been autoresolved by rerere. This " +"includes paths whose resolutions cannot be tracked by rerere, such as " +"conflicting submodules." msgstr "" -#. type: Title - -#: en/git-svn.txt:914 +#. type: Labeled list +#: en/git-rerere.txt:66 en/git-svn.txt:480 #, no-wrap -msgid "HANDLING OF SVN BRANCHES" +msgid "'gc'" msgstr "" #. type: Plain text -#: en/git-svn.txt:922 +#: en/git-rerere.txt:74 msgid "" -"If 'git svn' is configured to fetch branches (and --follow-branches is in " -"effect), it sometimes creates multiple Git branches for one SVN branch, " -"where the additional branches have names of the form 'branchname@nnn' (with " -"nnn an SVN revision number). These additional branches are created if 'git " -"svn' cannot find a parent commit for the first commit in an SVN branch, to " -"connect the branch to the history of the other branches." +"Prune records of conflicted merges that occurred a long time ago. By " +"default, unresolved conflicts older than 15 days and resolved conflicts " +"older than 60 days are pruned. These defaults are controlled via the `gc." +"rerereUnresolved` and `gc.rerereResolved` configuration variables " +"respectively." msgstr "" #. type: Plain text -#: en/git-svn.txt:938 +#: en/git-rerere.txt:83 msgid "" -"Normally, the first commit in an SVN branch consists of a copy operation. " -"'git svn' will read this commit to get the SVN revision the branch was " -"created from. It will then try to find the Git commit that corresponds to " -"this SVN revision, and use that as the parent of the branch. However, it is " -"possible that there is no suitable Git commit to serve as parent. This will " -"happen, among other reasons, if the SVN branch is a copy of a revision that " -"was not fetched by 'git svn' (e.g. because it is an old revision that was " -"skipped with `--revision`), or if in SVN a directory was copied that is not " -"tracked by 'git svn' (such as a branch that is not tracked at all, or a " -"subdirectory of a tracked branch). In these cases, 'git svn' will still " -"create a Git branch, but instead of using an existing Git commit as the " -"parent of the branch, it will read the SVN history of the directory the " -"branch was copied from and create appropriate Git commits. This is " -"indicated by the message \"Initializing parent: <branchname>\"." +"When your topic branch modifies an overlapping area that your master branch " +"(or upstream) touched since your topic branch forked from it, you may want " +"to test it with the latest master, even before your topic branch is ready to " +"be pushed upstream:" msgstr "" -#. type: Plain text -#: en/git-svn.txt:945 -msgid "" -"Additionally, it will create a special branch named '<branchname>@<SVN-" -"Revision>', where <SVN-Revision> is the SVN revision number the branch was " -"copied from. This branch will point to the newly created parent commit of " -"the branch. If in SVN the branch was deleted and later recreated from a " -"different version, there will be multiple such branches with an '@'." +#. type: delimited block - +#: en/git-rerere.txt:88 +#, no-wrap +msgid "" +" o---*---o topic\n" +" /\n" +" o---o---o---*---o---o master\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:948 +#: en/git-rerere.txt:92 msgid "" -"Note that this may mean that multiple Git commits are created for a single " -"SVN revision." +"For such a test, you need to merge master and topic somehow. One way to do " +"it is to pull master into the topic branch:" msgstr "" -#. type: Plain text -#: en/git-svn.txt:958 +#. type: delimited block - +#: en/git-rerere.txt:96 +#, no-wrap msgid "" -"An example: in an SVN repository with a standard trunk/tags/branches layout, " -"a directory trunk/sub is created in r.100. In r.200, trunk/sub is branched " -"by copying it to branches/. 'git svn clone -s' will then create a branch " -"'sub'. It will also create new Git commits for r.100 through r.199 and use " -"these as the history of branch 'sub'. Thus there will be two Git commits for " -"each revision from r.100 to r.199 (one containing trunk/, one containing " -"trunk/sub/). Finally, it will create a branch 'sub@200' pointing to the new " -"parent commit of branch 'sub' (i.e. the commit for r.200 and trunk/sub/)." +"\t$ git checkout topic\n" +"\t$ git merge master\n" msgstr "" -#. type: Plain text -#: en/git-svn.txt:968 +#. type: delimited block - +#: en/git-rerere.txt:100 +#, no-wrap msgid "" -"For the sake of simplicity and interoperating with Subversion, it is " -"recommended that all 'git svn' users clone, fetch and dcommit directly from " -"the SVN server, and avoid all 'git clone'/'pull'/'merge'/'push' operations " -"between Git repositories and branches. The recommended method of exchanging " -"code between Git branches and users is 'git format-patch' and 'git am', or " -"just 'dcommit'ing to the SVN repository." +" o---*---o---+ topic\n" +" / /\n" +" o---o---o---*---o---o master\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:974 +#: en/git-rerere.txt:106 msgid "" -"Running 'git merge' or 'git pull' is NOT recommended on a branch you plan to " -"'dcommit' from because Subversion users cannot see any merges you've made. " -"Furthermore, if you merge or pull from a Git branch that is a mirror of an " -"SVN branch, 'dcommit' may commit to the wrong branch." +"The commits marked with `*` touch the same area in the same file; you need " +"to resolve the conflicts when creating the commit marked with `+`. Then you " +"can test the result to make sure your work-in-progress still works with what " +"is in the latest master." msgstr "" #. type: Plain text -#: en/git-svn.txt:977 +#: en/git-rerere.txt:114 msgid "" -"If you do merge, note the following rule: 'git svn dcommit' will attempt to " -"commit on top of the SVN commit named in" +"After this test merge, there are two ways to continue your work on the " +"topic. The easiest is to build on top of the test merge commit `+`, and " +"when your work in the topic branch is finally ready, pull the topic branch " +"into master, and/or ask the upstream to pull from you. By that time, " +"however, the master or the upstream might have been advanced since the test " +"merge `+`, in which case the final commit graph would look like this:" msgstr "" #. type: delimited block - -#: en/git-svn.txt:979 +#: en/git-rerere.txt:121 #, no-wrap -msgid "git log --grep=^git-svn-id: --first-parent -1\n" +msgid "" +"\t$ git checkout topic\n" +"\t$ git merge master\n" +"\t$ ... work on both topic and master branches\n" +"\t$ git checkout master\n" +"\t$ git merge topic\n" msgstr "" -#. type: Plain text -#: en/git-svn.txt:984 +#. type: delimited block - +#: en/git-rerere.txt:125 +#, no-wrap msgid "" -"You 'must' therefore ensure that the most recent commit of the branch you " -"want to dcommit to is the 'first' parent of the merge. Chaos will ensue " -"otherwise, especially if the first parent is an older commit on the same SVN " -"branch." +" o---*---o---+---o---o topic\n" +" / / \\\n" +" o---o---o---*---o---o---o---o---+ master\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:989 +#: en/git-rerere.txt:133 msgid "" -"'git clone' does not clone branches under the refs/remotes/ hierarchy or any " -"'git svn' metadata, or config. So repositories created and managed with " -"using 'git svn' should use 'rsync' for cloning, if cloning is to be done at " -"all." +"When your topic branch is long-lived, however, your topic branch would end " +"up having many such \"Merge from master\" commits on it, which would " +"unnecessarily clutter the development history. Readers of the Linux kernel " +"mailing list may remember that Linus complained about such too frequent test " +"merges when a subsystem maintainer asked to pull from a branch full of " +"\"useless merges\"." msgstr "" #. type: Plain text -#: en/git-svn.txt:994 +#: en/git-rerere.txt:137 msgid "" -"Since 'dcommit' uses rebase internally, any Git branches you 'git push' to " -"before 'dcommit' on will require forcing an overwrite of the existing ref on " -"the remote repository. This is generally considered bad practice, see the " -"linkgit:git-push[1] documentation for details." +"As an alternative, to keep the topic branch clean of test merges, you could " +"blow away the test merge, and keep building on top of the tip before the " +"test merge:" msgstr "" -#. type: Plain text -#: en/git-svn.txt:999 +#. type: delimited block - +#: en/git-rerere.txt:145 +#, no-wrap msgid "" -"Do not use the --amend option of linkgit:git-commit[1] on a change you've " -"already dcommitted. It is considered bad practice to --amend commits you've " -"already pushed to a remote repository for other users, and dcommit with SVN " -"is analogous to that." +"\t$ git checkout topic\n" +"\t$ git merge master\n" +"\t$ git reset --hard HEAD^ ;# rewind the test merge\n" +"\t$ ... work on both topic and master branches\n" +"\t$ git checkout master\n" +"\t$ git merge topic\n" msgstr "" -#. type: Plain text -#: en/git-svn.txt:1014 +#. type: delimited block - +#: en/git-rerere.txt:149 +#, no-wrap msgid "" -"When cloning an SVN repository, if none of the options for describing the " -"repository layout is used (--trunk, --tags, --branches, --stdlayout), 'git " -"svn clone' will create a Git repository with completely linear history, " -"where branches and tags appear as separate directories in the working copy. " -"While this is the easiest way to get a copy of a complete repository, for " -"projects with many branches it will lead to a working copy many times larger " -"than just the trunk. Thus for projects using the standard directory " -"structure (trunk/branches/tags), it is recommended to clone with option `--" -"stdlayout`. If the project uses a non-standard structure, and/or if branches " -"and tags are not required, it is easiest to only clone one directory " -"(typically trunk), without giving any repository layout options. If the " -"full history with branches and tags is required, the options `--trunk` / `--" -"branches` / `--tags` must be used." +" o---*---o-------o---o topic\n" +" / \\\n" +" o---o---o---*---o---o---o---o---+ master\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:1021 +#: en/git-rerere.txt:159 msgid "" -"When using multiple --branches or --tags, 'git svn' does not automatically " -"handle name collisions (for example, if two branches from different paths " -"have the same name, or if a branch and a tag have the same name). In these " -"cases, use 'init' to set up your Git repository then, before your first " -"'fetch', edit the $GIT_DIR/config file so that the branches and tags are " -"associated with different name spaces. For example:" +"This would leave only one merge commit when your topic branch is finally " +"ready and merged into the master branch. This merge would require you to " +"resolve the conflict, introduced by the commits marked with `*`. However, " +"this conflict is often the same conflict you resolved when you created the " +"test merge you blew away. 'git rerere' helps you resolve this final " +"conflicted merge using the information from your earlier hand resolve." msgstr "" #. type: Plain text -#: en/git-svn.txt:1024 -#, no-wrap +#: en/git-rerere.txt:167 msgid "" -"\tbranches = stable/*:refs/remotes/svn/stable/*\n" -"\tbranches = debug/*:refs/remotes/svn/debug/*\n" +"Running the 'git rerere' command immediately after a conflicted automerge " +"records the conflicted working tree files, with the usual conflict markers " +"`<<<<<<<`, `=======`, and `>>>>>>>` in them. Later, after you are done " +"resolving the conflicts, running 'git rerere' again will record the resolved " +"state of these files. Suppose you did this when you created the test merge " +"of master into the topic branch." msgstr "" #. type: Plain text -#: en/git-svn.txt:1030 +#: en/git-rerere.txt:177 msgid "" -"We ignore all SVN properties except svn:executable. Any unhandled " -"properties are logged to $GIT_DIR/svn/<refname>/unhandled.log" +"Next time, after seeing the same conflicted automerge, running 'git rerere' " +"will perform a three-way merge between the earlier conflicted automerge, the " +"earlier manual resolution, and the current conflicted automerge. If this " +"three-way merge resolves cleanly, the result is written out to your working " +"tree file, so you do not have to manually resolve it. Note that 'git " +"rerere' leaves the index file alone, so you still need to do the final " +"sanity checks with `git diff` (or `git diff -c`) and 'git add' when you are " +"satisfied." msgstr "" #. type: Plain text -#: en/git-svn.txt:1037 +#: en/git-rerere.txt:185 msgid "" -"Renamed and copied directories are not detected by Git and hence not tracked " -"when committing to SVN. I do not plan on adding support for this as it's " -"quite difficult and time-consuming to get working for all the possible " -"corner cases (Git doesn't do it, either). Committing renamed and copied " -"files is fully supported if they're similar enough for Git to detect them." +"As a convenience measure, 'git merge' automatically invokes 'git rerere' " +"upon exiting with a failed automerge and 'git rerere' records the hand " +"resolve when it is a new conflict, or reuses the earlier hand resolve when " +"it is not. 'git commit' also invokes 'git rerere' when committing a merge " +"result. What this means is that you do not have to do anything special " +"yourself (besides enabling the rerere.enabled config variable)." msgstr "" #. type: Plain text -#: en/git-svn.txt:1043 +#: en/git-rerere.txt:190 msgid "" -"In SVN, it is possible (though discouraged) to commit changes to a tag " -"(because a tag is just a directory copy, thus technically the same as a " -"branch). When cloning an SVN repository, 'git svn' cannot know if such a " -"commit to a tag will happen in the future. Thus it acts conservatively and " -"imports all SVN tags as branches, prefixing the tag name with 'tags/'." +"In our example, when you do the test merge, the manual resolution is " +"recorded, and it will be reused when you do the actual merge later with the " +"updated master and topic branch, as long as the recorded resolution is still " +"applicable." msgstr "" #. type: Plain text -#: en/git-svn.txt:1054 +#: en/git-rerere.txt:194 msgid "" -"'git svn' stores [svn-remote] configuration information in the repository " -"$GIT_DIR/config file. It is similar the core Git [remote] sections except " -"'fetch' keys do not accept glob arguments; but they are instead handled by " -"the 'branches' and 'tags' keys. Since some SVN repositories are oddly " -"configured with multiple projects glob expansions such those listed below " -"are allowed:" +"The information 'git rerere' records is also used when running 'git " +"rebase'. After blowing away the test merge and continuing development on " +"the topic branch:" msgstr "" #. type: delimited block - -#: en/git-svn.txt:1063 +#: en/git-rerere.txt:199 #, no-wrap msgid "" -"[svn-remote \"project-a\"]\n" -"\turl = http://server.org/svn\n" -"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" -"\tbranches = branches/*/project-a:refs/remotes/project-a/branches/*\n" -"\tbranches = branches/release_*:refs/remotes/project-a/branches/release_*\n" -"\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" -"\ttags = tags/*/project-a:refs/remotes/project-a/tags/*\n" +" o---*---o-------o---o topic\n" +" /\n" +" o---o---o---*---o---o---o---o master\n" msgstr "" -#. type: Plain text -#: en/git-svn.txt:1071 +#. type: delimited block - +#: en/git-rerere.txt:201 #, no-wrap -msgid "" -"Keep in mind that the '\\*' (asterisk) wildcard of the local ref\n" -"(right of the ':') *must* be the farthest right path component;\n" -"however the remote wildcard may be anywhere as long as it's an\n" -"independent path component (surrounded by '/' or EOL). This\n" -"type of configuration is not automatically created by 'init' and\n" -"should be manually entered with a text-editor or using 'git config'.\n" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:1073 -msgid "Also note that only one asterisk is allowed per word. For example:" +msgid "\t$ git rebase master topic\n" msgstr "" -#. type: Plain text -#: en/git-svn.txt:1075 +#. type: delimited block - +#: en/git-rerere.txt:205 #, no-wrap -msgid "\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" +msgid "" +"\t\t\t\t o---*---o-------o---o topic\n" +"\t\t\t\t /\n" +" o---o---o---*---o---o---o---o master\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:1077 -msgid "will match branches 'release', 'rese', 're123se', however" +#: en/git-rerere.txt:213 +msgid "" +"you could run `git rebase master topic`, to bring yourself up-to-date before " +"your topic is ready to be sent upstream. This would result in falling back " +"to a three-way merge, and it would conflict the same way as the test merge " +"you resolved earlier. 'git rerere' will be run by 'git rebase' to help you " +"resolve this conflict." msgstr "" +#. type: Title = +#: en/git-reset.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-reset(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-svn.txt:1079 -#, no-wrap -msgid "\tbranches = branches/re*s*e:refs/remotes/project-a/branches/*\n" +#: en/git-reset.txt:7 +msgid "git-reset - Reset current HEAD to the specified state" msgstr "" #. type: Plain text -#: en/git-svn.txt:1081 -msgid "will produce an error." +#: en/git-reset.txt:14 +#, no-wrap +msgid "" +"'git reset' [-q] [<tree-ish>] [--] <paths>...\n" +"'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]\n" +"'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:1084 +#: en/git-reset.txt:21 msgid "" -"It is also possible to fetch a subset of branches or tags by using a comma-" -"separated list of names within braces. For example:" +"In the first and second form, copy entries from <tree-ish> to the index. In " +"the third form, set the current branch head (HEAD) to <commit>, optionally " +"modifying index and working tree to match. The <tree-ish>/<commit> defaults " +"to HEAD in all forms." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:1091 +#. type: Labeled list +#: en/git-reset.txt:22 #, no-wrap -msgid "" -"[svn-remote \"huge-project\"]\n" -"\turl = http://server.org/svn\n" -"\tfetch = trunk/src:refs/remotes/trunk\n" -"\tbranches = branches/{red,green}/src:refs/remotes/project-a/branches/*\n" -"\ttags = tags/{1.0,2.0}/src:refs/remotes/project-a/tags/*\n" +msgid "'git reset' [-q] [<tree-ish>] [--] <paths>..." msgstr "" #. type: Plain text -#: en/git-svn.txt:1094 -msgid "Multiple fetch, branches, and tags keys are supported:" +#: en/git-reset.txt:26 +msgid "" +"This form resets the index entries for all <paths> to their state at <tree-" +"ish>. (It does not affect the working tree or the current branch.)" msgstr "" -#. type: delimited block - -#: en/git-svn.txt:1103 -#, no-wrap +#. type: Plain text +#: en/git-reset.txt:29 msgid "" -"[svn-remote \"messy-repo\"]\n" -"\turl = http://server.org/svn\n" -"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" -"\tfetch = branches/demos/june-project-a-demo:refs/remotes/project-a/demos/june-demo\n" -"\tbranches = branches/server/*:refs/remotes/project-a/branches/*\n" -"\tbranches = branches/demos/2011/*:refs/remotes/project-a/2011-demos/*\n" -"\ttags = tags/server/*:refs/remotes/project-a/tags/*\n" +"This means that `git reset <paths>` is the opposite of `git add <paths>`." msgstr "" #. type: Plain text -#: en/git-svn.txt:1107 +#: en/git-reset.txt:36 msgid "" -"Creating a branch in such a configuration requires disambiguating which " -"location to use using the -d or --destination flag:" +"After running `git reset <paths>` to update the index entry, you can use " +"linkgit:git-checkout[1] to check the contents out of the index to the " +"working tree. Alternatively, using linkgit:git-checkout[1] and specifying a " +"commit, you can copy the contents of a path out of a commit to the index and " +"to the working tree in one go." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:1110 +#. type: Labeled list +#: en/git-reset.txt:37 #, no-wrap -msgid "$ git svn branch -d branches/server release-2-3-0\n" +msgid "'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]" msgstr "" #. type: Plain text -#: en/git-svn.txt:1116 +#: en/git-reset.txt:41 msgid "" -"Note that git-svn keeps track of the highest revision in which a branch or " -"tag has appeared. If the subset of branches or tags is changed after " -"fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove (or " -"reset) branches-maxRev and/or tags-maxRev as appropriate." +"Interactively select hunks in the difference between the index and <tree-" +"ish> (defaults to HEAD). The chosen hunks are applied in reverse to the " +"index." msgstr "" #. type: Plain text -#: en/git-svn.txt:1125 -#, no-wrap +#: en/git-reset.txt:45 +#, fuzzy +#| msgid "" +#| "by using the --interactive or --patch switches with the 'commit' command " +#| "to decide one by one which files or hunks should be part of the commit in " +#| "addition to contents in the index, before finalizing the operation. See " +#| "the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to " +#| "operate these modes." msgid "" -"$GIT_DIR/svn/\\*\\*/.rev_map.*::\n" -"\tMapping between Subversion revision numbers and Git commit\n" -"\tnames. In a repository where the noMetadata option is not set,\n" -"\tthis can be rebuilt from the git-svn-id: lines that are at the\n" -"\tend of every commit (see the 'svn.noMetadata' section above for\n" -"\tdetails).\n" +"This means that `git reset -p` is the opposite of `git add -p`, i.e. you " +"can use it to selectively reset hunks. See the ``Interactive Mode'' section " +"of linkgit:git-add[1] to learn how to operate the `--patch` mode." msgstr "" +"en utilisant les options --interactive ou --patch avec la commande 'commit' " +"pour choisir quels fichiers ou sections de fichier doivent 챗tre inclus dans " +"le commit en plus de l'index, avant finalisation de l'op챕ration. R챕f챕rez-" +"vous 횪 la section 짬혻Mode interactif혻쨩 de linkgit:git-add[1] pour la " +"description de ces modes." + +#. type: Labeled list +#: en/git-reset.txt:46 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "'git reset' [<mode>] [<commit>]" +msgstr "$ git commit\n" #. type: Plain text -#: en/git-svn.txt:1129 +#: en/git-reset.txt:51 msgid "" -"'git svn fetch' and 'git svn rebase' automatically update the rev_map if it " -"is missing or not up to date. 'git svn reset' automatically rewinds it." +"This form resets the current branch head to <commit> and possibly updates " +"the index (resetting it to the tree of <commit>) and the working tree " +"depending on <mode>. If <mode> is omitted, defaults to \"--mixed\". The " +"<mode> must be one of the following:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:1133 en/cmds-mainporcelain.txt:79 +#: en/git-reset.txt:53 #, no-wrap -msgid "linkgit:git-rebase[1]" +msgid "--soft" msgstr "" -#. type: Title = -#: en/git-symbolic-ref.txt:2 -#, no-wrap -msgid "git-symbolic-ref(1)" +#. type: Plain text +#: en/git-reset.txt:58 +msgid "" +"Does not touch the index file or the working tree at all (but resets the " +"head to <commit>, just like all modes do). This leaves all your changed " +"files \"Changes to be committed\", as 'git status' would put it." msgstr "" -#. type: Plain text -#: en/git-symbolic-ref.txt:7 -msgid "git-symbolic-ref - Read, modify and delete symbolic refs" +#. type: Labeled list +#: en/git-reset.txt:59 +#, no-wrap +msgid "--mixed" msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:14 -#, no-wrap +#: en/git-reset.txt:63 msgid "" -"'git symbolic-ref' [-m <reason>] <name> <ref>\n" -"'git symbolic-ref' [-q] [--short] <name>\n" -"'git symbolic-ref' --delete [-q] <name>\n" +"Resets the index but not the working tree (i.e., the changed files are " +"preserved but not marked for commit) and reports what has not been updated. " +"This is the default action." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:21 +#: en/git-reset.txt:66 msgid "" -"Given one argument, reads which branch head the given symbolic ref refers to " -"and outputs its path, relative to the `.git/` directory. Typically you " -"would give `HEAD` as the <name> argument to see which branch your working " -"tree is on." +"If `-N` is specified, removed paths are marked as intent-to-add (see linkgit:" +"git-add[1])." +msgstr "" + +#. type: Labeled list +#: en/git-reset.txt:67 +#, no-wrap +msgid "--hard" msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:24 +#: en/git-reset.txt:70 msgid "" -"Given two arguments, creates or updates a symbolic ref <name> to point at " -"the given branch <ref>." +"Resets the index and working tree. Any changes to tracked files in the " +"working tree since <commit> are discarded." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:27 +#: en/git-reset.txt:78 msgid "" -"Given `--delete` and an additional argument, deletes the given symbolic ref." +"Resets the index and updates the files in the working tree that are " +"different between <commit> and HEAD, but keeps those which are different " +"between the index and working tree (i.e. which have changes which have not " +"been added). If a file that is different between <commit> and the index has " +"unstaged changes, reset is aborted." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:31 +#: en/git-reset.txt:81 msgid "" -"A symbolic ref is a regular file that stores a string that begins with `ref: " -"refs/`. For example, your `.git/HEAD` is a regular file whose contents is " -"`ref: refs/heads/master`." +"In other words, --merge does something like a 'git read-tree -u -m " +"<commit>', but carries forward unmerged index entries." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:38 -msgid "Delete the symbolic ref <name>." +#: en/git-reset.txt:87 +msgid "" +"Resets index entries and updates files in the working tree that are " +"different between <commit> and HEAD. If a file that is different between " +"<commit> and HEAD has local changes, reset is aborted." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:44 +#: en/git-reset.txt:91 msgid "" -"Do not issue an error message if the <name> is not a symbolic ref but a " -"detached HEAD; instead exit with non-zero status silently." +"If you want to undo a commit other than the latest on a branch, linkgit:git-" +"revert[1] is your friend." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:48 +#: en/git-reset.txt:99 +msgid "Be quiet, only report errors." +msgstr "" + +#. type: Labeled list +#: en/git-reset.txt:104 +#, no-wrap +msgid "Undo add" +msgstr "" + +#. type: delimited block - +#: en/git-reset.txt:112 +#, no-wrap msgid "" -"When showing the value of <name> as a symbolic ref, try to shorten the " -"value, e.g. from `refs/heads/master` to `master`." +"$ edit <1>\n" +"$ git add frotz.c filfre.c\n" +"$ mailx <2>\n" +"$ git reset <3>\n" +"$ git pull git://info.example.com/ nitfol <4>\n" msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:52 +#: en/git-reset.txt:118 msgid "" -"Update the reflog for <name> with <reason>. This is valid only when " -"creating or updating a symbolic ref." +"You are happily working on something, and find the changes in these files " +"are in good order. You do not want to see them when you run \"git diff\", " +"because you plan to work on other files and changes with these files are " +"distracting." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:62 -msgid "" -"In the past, `.git/HEAD` was a symbolic link pointing at `refs/heads/" -"master`. When we wanted to switch to another branch, we did `ln -sf refs/" -"heads/newbranch .git/HEAD`, and when we wanted to find out which branch we " -"are on, we did `readlink .git/HEAD`. But symbolic links are not entirely " -"portable, so they are now deprecated and symbolic refs (as described above) " -"are used by default." +#: en/git-reset.txt:119 +msgid "Somebody asks you to pull, and the changes sounds worthy of merging." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:66 +#: en/git-reset.txt:124 msgid "" -"'git symbolic-ref' will exit with status 0 if the contents of the symbolic " -"ref were printed correctly, with status 1 if the requested name is not a " -"symbolic ref, or 128 if another error occurs." +"However, you already dirtied the index (i.e. your index does not match the " +"HEAD commit). But you know the pull you are going to make does not affect " +"frotz.c or filfre.c, so you revert the index changes for these two files. " +"Your changes in working tree remain there." msgstr "" -#. type: Title = -#: en/git-tag.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-tag(1)" -msgstr "git-add(1)" +#. type: Plain text +#: en/git-reset.txt:126 +msgid "" +"Then you can pull and merge, leaving frotz.c and filfre.c changes still in " +"the working tree." +msgstr "" -#. type: Plain text -#: en/git-tag.txt:7 -msgid "git-tag - Create, list, delete or verify a tag object signed with GPG" +#. type: Labeled list +#: en/git-reset.txt:127 +#, no-wrap +msgid "Undo a commit and redo" msgstr "" -#. type: Plain text -#: en/git-tag.txt:19 +#. type: delimited block - +#: en/git-reset.txt:134 #, no-wrap msgid "" -"'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]\n" -"\t<tagname> [<commit> | <object>]\n" -"'git tag' -d <tagname>...\n" -"'git tag' [-n[<num>]] -l [--contains <commit>] [--points-at <object>]\n" -"\t[--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>]\n" -"\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]\n" -"'git tag' -v [--format=<format>] <tagname>...\n" +"$ git commit ...\n" +"$ git reset --soft HEAD^ <1>\n" +"$ edit <2>\n" +"$ git commit -a -c ORIG_HEAD <3>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:25 +#: en/git-reset.txt:139 msgid "" -"Add a tag reference in `refs/tags/`, unless `-d/-l/-v` is given to delete, " -"list or verify tags." +"This is most often done when you remembered what you just committed is " +"incomplete, or you misspelled your commit message, or both. Leaves working " +"tree as it was before \"reset\"." msgstr "" #. type: Plain text -#: en/git-tag.txt:27 -msgid "Unless `-f` is given, the named tag must not yet exist." +#: en/git-reset.txt:140 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "Make corrections to working tree files." msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-tag.txt:32 +#: en/git-reset.txt:143 msgid "" -"If one of `-a`, `-s`, or `-u <keyid>` is passed, the command creates a 'tag' " -"object, and requires a tag message. Unless `-m <msg>` or `-F <file>` is " -"given, an editor is started for the user to type in the tag message." +"\"reset\" copies the old head to .git/ORIG_HEAD; redo the commit by starting " +"with its log message. If you do not need to edit the message further, you " +"can give -C option instead." msgstr "" #. type: Plain text -#: en/git-tag.txt:35 -msgid "" -"If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <keyid>` are " -"absent, `-a` is implied." +#: en/git-reset.txt:145 +msgid "See also the --amend option to linkgit:git-commit[1]." msgstr "" -#. type: Plain text -#: en/git-tag.txt:38 -msgid "" -"Otherwise just a tag reference for the SHA-1 object name of the commit " -"object is created (i.e. a lightweight tag)." +#. type: Labeled list +#: en/git-reset.txt:146 +#, no-wrap +msgid "Undo a commit, making it a topic branch" msgstr "" -#. type: Plain text -#: en/git-tag.txt:44 +#. type: delimited block - +#: en/git-reset.txt:152 +#, no-wrap msgid "" -"A GnuPG signed tag object will be created when `-s` or `-u <keyid>` is " -"used. When `-u <keyid>` is not used, the committer identity for the current " -"user is used to find the GnuPG key for signing. \tThe configuration variable " -"`gpg.program` is used to specify custom GnuPG binary." +"$ git branch topic/wip <1>\n" +"$ git reset --hard HEAD~3 <2>\n" +"$ git checkout topic/wip <3>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:50 +#: en/git-reset.txt:158 msgid "" -"Tag objects (created with `-a`, `-s`, or `-u`) are called \"annotated\" " -"tags; they contain a creation date, the tagger name and e-mail, a tagging " -"message, and an optional GnuPG signature. Whereas a \"lightweight\" tag is " -"simply a name for an object (usually a commit object)." +"You have made some commits, but realize they were premature to be in the " +"\"master\" branch. You want to continue polishing them in a topic branch, " +"so create \"topic/wip\" branch off of the current HEAD." msgstr "" #. type: Plain text -#: en/git-tag.txt:55 -msgid "" -"Annotated tags are meant for release while lightweight tags are meant for " -"private or temporary object labels. For this reason, some git commands for " -"naming objects (like `git describe`) will ignore lightweight tags by default." +#: en/git-reset.txt:159 +msgid "Rewind the master branch to get rid of those three commits." msgstr "" #. type: Plain text -#: en/git-tag.txt:62 -msgid "Make an unsigned, annotated tag object" +#: en/git-reset.txt:160 +msgid "Switch to \"topic/wip\" branch and keep working." msgstr "" #. type: Labeled list -#: en/git-tag.txt:64 +#: en/git-reset.txt:161 #, no-wrap -msgid "--sign" +msgid "Undo commits permanently" +msgstr "" + +#. type: delimited block - +#: en/git-reset.txt:166 +#, no-wrap +msgid "" +"$ git commit ...\n" +"$ git reset --hard HEAD~3 <1>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:66 -msgid "Make a GPG-signed tag, using the default e-mail address's key." +#: en/git-reset.txt:173 +msgid "" +"The last three commits (HEAD, HEAD^, and HEAD~2) were bad and you do not " +"want to ever see them again. Do *not* do this if you have already given " +"these commits to somebody else. (See the \"RECOVERING FROM UPSTREAM REBASE" +"\" section in linkgit:git-rebase[1] for the implications of doing so.)" msgstr "" #. type: Labeled list -#: en/git-tag.txt:67 +#: en/git-reset.txt:174 #, no-wrap -msgid "-u <keyid>" +msgid "Undo a merge or pull" msgstr "" -#. type: Labeled list -#: en/git-tag.txt:68 +#. type: delimited block - +#: en/git-reset.txt:186 #, no-wrap -msgid "--local-user=<keyid>" +msgid "" +"$ git pull <1>\n" +"Auto-merging nitfol\n" +"CONFLICT (content): Merge conflict in nitfol\n" +"Automatic merge failed; fix conflicts and then commit the result.\n" +"$ git reset --hard <2>\n" +"$ git pull . topic/branch <3>\n" +"Updating from 41223... to 13134...\n" +"Fast-forward\n" +"$ git reset --hard ORIG_HEAD <4>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:70 -msgid "Make a GPG-signed tag, using the given key." +#: en/git-reset.txt:191 +msgid "" +"Try to update from the upstream resulted in a lot of conflicts; you were not " +"ready to spend a lot of time merging right now, so you decide to do that " +"later." msgstr "" #. type: Plain text -#: en/git-tag.txt:74 -msgid "Replace an existing tag with the given name (instead of failing)" +#: en/git-reset.txt:194 +msgid "" +"\"pull\" has not made merge commit, so \"git reset --hard\" which is a " +"synonym for \"git reset --hard HEAD\" clears the mess from the index file " +"and the working tree." msgstr "" #. type: Plain text -#: en/git-tag.txt:78 -msgid "Delete existing tags with the given names." +#: en/git-reset.txt:196 +msgid "" +"Merge a topic branch into the current branch, which resulted in a fast-" +"forward." msgstr "" #. type: Plain text -#: en/git-tag.txt:82 -msgid "Verify the GPG signature of the given tag names." +#: en/git-reset.txt:201 +msgid "" +"But you decided that the topic branch is not ready for public consumption " +"yet. \"pull\" or \"merge\" always leaves the original tip of the current " +"branch in ORIG_HEAD, so resetting hard to it brings your index file and the " +"working tree back to that state, and resets the tip of the branch to that " +"commit." msgstr "" #. type: Labeled list -#: en/git-tag.txt:83 +#: en/git-reset.txt:202 #, no-wrap -msgid "-n<num>" +msgid "Undo a merge or pull inside a dirty working tree" msgstr "" -#. type: Plain text -#: en/git-tag.txt:89 +#. type: delimited block - +#: en/git-reset.txt:211 +#, no-wrap msgid "" -"<num> specifies how many lines from the annotation, if any, are printed when " -"using -l. The default is not to print any annotation lines. If no number " -"is given to `-n`, only the first line is printed. If the tag is not " -"annotated, the commit message is displayed instead." +"$ git pull <1>\n" +"Auto-merging nitfol\n" +"Merge made by recursive.\n" +" nitfol | 20 +++++----\n" +" ...\n" +"$ git reset --merge ORIG_HEAD <2>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:97 +#: en/git-reset.txt:217 msgid "" -"List tags with names that match the given pattern (or all if no pattern is " -"given). Running \"git tag\" without arguments also lists all tags. The " -"pattern is a shell wildcard (i.e., matched using fnmatch(3)). Multiple " -"patterns may be given; if any of them matches, the tag is shown." +"Even if you may have local modifications in your working tree, you can " +"safely say \"git pull\" when you know that the change in the other branch " +"does not overlap with them." msgstr "" #. type: Plain text -#: en/git-tag.txt:110 +#: en/git-reset.txt:222 msgid "" -"Sort based on the key given. Prefix `-` to sort in descending order of the " -"value. You may use the --sort=<key> option multiple times, in which case the " -"last key becomes the primary key. Also supports \"version:refname\" or \"v:" -"refname\" (tag names are treated as versions). The \"version:refname\" sort " -"order can also be affected by the \"versionsort.suffix\" configuration " -"variable. The keys supported are the same as those in `git for-each-ref`. " -"Sort order defaults to the value configured for the `tag.sort` variable if " -"it exists, or lexicographic order otherwise. See linkgit:git-config[1]." +"After inspecting the result of the merge, you may find that the change in " +"the other branch is unsatisfactory. Running \"git reset --hard ORIG_HEAD\" " +"will let you go back to where you were, but it will discard your local " +"changes, which you do not want. \"git reset --merge\" keeps your local " +"changes." msgstr "" -#. type: Plain text -#: en/git-tag.txt:114 -msgid "Sorting and filtering tags are case insensitive." +#. type: Labeled list +#: en/git-reset.txt:224 en/git-stash.txt:224 +#, no-wrap +msgid "Interrupted workflow" msgstr "" #. type: Plain text -#: en/git-tag.txt:120 +#: en/git-reset.txt:230 msgid "" -"Display tag listing in columns. See configuration variable column.tag for " -"option syntax.`--column` and `--no-column` without options are equivalent to " -"'always' and 'never' respectively." +"Suppose you are interrupted by an urgent fix request while you are in the " +"middle of a large change. The files in your working tree are not in any " +"shape to be committed yet, but you need to get to the other branch for a " +"quick bugfix." msgstr "" -#. type: Plain text -#: en/git-tag.txt:122 +#. type: delimited block - +#: en/git-reset.txt:241 +#, no-wrap msgid "" -"This option is only applicable when listing tags without annotation lines." +"$ git checkout feature ;# you were working in \"feature\" branch and\n" +"$ work work work ;# got interrupted\n" +"$ git commit -a -m \"snapshot WIP\" <1>\n" +"$ git checkout master\n" +"$ fix fix fix\n" +"$ git commit ;# commit with real log\n" +"$ git checkout feature\n" +"$ git reset --soft HEAD^ ;# go back to WIP state <2>\n" +"$ git reset <3>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:126 +#: en/git-reset.txt:244 +msgid "This commit will get blown away so a throw-away log message is OK." +msgstr "" + +#. type: Plain text +#: en/git-reset.txt:246 msgid "" -"Only list tags which contain the specified commit (HEAD if not specified)." +"This removes the 'WIP' commit from the commit history, and sets your working " +"tree to the state just before you made that snapshot." msgstr "" #. type: Plain text -#: en/git-tag.txt:129 -msgid "Only list tags of the given object." +#: en/git-reset.txt:249 +msgid "" +"At this point the index file still has all the WIP changes you committed as " +"'snapshot WIP'. This updates the index to show your WIP files as " +"uncommitted." msgstr "" #. type: Plain text -#: en/git-tag.txt:137 +#: en/git-reset.txt:251 #, fuzzy -#| msgid "" -#| "-m <msg>::\n" -#| "--message=<msg>::\n" -#| "\tUse the given <msg> as the commit message.\n" -#| "\tIf multiple `-m` options are given, their values are\n" -#| "\tconcatenated as separate paragraphs.\n" +#| msgid "git-commit(1)" +msgid "See also linkgit:git-stash[1]." +msgstr "git-commit(1)" + +# +#. type: Labeled list +#: en/git-reset.txt:252 +#, fuzzy, no-wrap +#| msgid "git-add - Add file contents to the index" +msgid "Reset a single file in the index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/git-reset.txt:257 msgid "" -"Use the given tag message (instead of prompting). If multiple `-m` options " -"are given, their values are concatenated as separate paragraphs. Implies `-" -"a` if none of `-a`, `-s`, or `-u <keyid>` is given." +"Suppose you have added a file to your index, but later decide you do not " +"want to add it to your commit. You can remove the file from the index while " +"keeping your changes with git reset." +msgstr "" + +#. type: delimited block - +#: en/git-reset.txt:262 +#, no-wrap +msgid "" +"$ git reset -- frotz.c <1>\n" +"$ git commit -m \"Commit files in index\" <2>\n" +"$ git add frotz.c <3>\n" msgstr "" -"-m <msg>::\n" -"--message=<msg>::\n" -"\tUtiliser le <msg> fourni comme message de validation\n" -"\tSi plusieurs options `-m` sont fournies, leurs valeurs\n" -"\tsont concat챕n챕es comme paragraphes s챕par챕s.\n" #. type: Plain text -#: en/git-tag.txt:144 +#: en/git-reset.txt:266 #, fuzzy #| msgid "" -#| "-F <file>::\n" -#| "--file=<file>::\n" -#| "\tTake the commit message from the given file. Use '-' to\n" -#| "\tread the message from the standard input.\n" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" msgid "" -"Take the tag message from the given file. Use '-' to read the message from " -"the standard input. Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is " -"given." +"This removes the file from the index while keeping it in the working " +"directory." msgstr "" -"-F <fichier>::\n" -"--file=<fichier>::\n" -"\tPrendre le message de validation depuis le fichier indiqu챕.\n" -"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-tag.txt:151 -msgid "" -"This option sets how the tag message is cleaned up. The '<mode>' can be one " -"of 'verbatim', 'whitespace' and 'strip'. The 'strip' mode is default. The " -"'verbatim' mode does not change message at all, 'whitespace' removes just " -"leading/trailing whitespace lines and 'strip' removes both whitespace and " -"commentary." +#: en/git-reset.txt:267 +msgid "This commits all other changes in the index." msgstr "" +# #. type: Plain text -#: en/git-tag.txt:158 -msgid "" -"Create a reflog for the tag. To globally enable reflogs for tags, see `core." -"logAllRefUpdates` in linkgit:git-config[1]. The negated form `--no-create-" -"reflog` only overrides an earlier `--create-reflog`, but currently does not " -"negate the setting of `core.logallrefupdates`." -msgstr "" +#: en/git-reset.txt:268 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Adds the file to the index again." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Labeled list -#: en/git-tag.txt:159 +#: en/git-reset.txt:269 #, no-wrap -msgid "<tagname>" +msgid "Keep changes in working tree while discarding some previous commits" msgstr "" #. type: Plain text -#: en/git-tag.txt:164 +#: en/git-reset.txt:276 msgid "" -"The name of the tag to create, delete, or describe. The new tag name must " -"pass all checks defined by linkgit:git-check-ref-format[1]. Some of these " -"checks may restrict the characters allowed in a tag name." +"Suppose you are working on something and you commit it, and then you " +"continue working a bit more, but now you think that what you have in your " +"working tree should be in another branch that has nothing to do with what " +"you committed previously. You can start a new branch and reset it while " +"keeping the changes in your working tree." +msgstr "" + +#. type: delimited block - +#: en/git-reset.txt:285 +#, no-wrap +msgid "" +"$ git tag start\n" +"$ git checkout -b branch1\n" +"$ edit\n" +"$ git commit ... <1>\n" +"$ edit\n" +"$ git checkout -b branch2 <2>\n" +"$ git reset --keep start <3>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:169 +#: en/git-reset.txt:288 +msgid "This commits your first edits in branch1." +msgstr "" + +#. type: Plain text +#: en/git-reset.txt:292 msgid "" -"The object that the new tag will refer to, usually a commit. Defaults to " -"HEAD." +"In the ideal world, you could have realized that the earlier commit did not " +"belong to the new topic when you created and switched to branch2 (i.e. \"git " +"checkout -b branch2 start\"), but nobody is perfect." msgstr "" #. type: Plain text -#: en/git-tag.txt:175 +#: en/git-reset.txt:294 msgid "" -"A string that interpolates `%(fieldname)` from the object pointed at by a " -"ref being shown. The format is the same as that of linkgit:git-for-each-" -"ref[1]. When unspecified, defaults to `%(refname:strip=2)`." +"But you can use \"reset --keep\" to remove the unwanted commit after you " +"switched to \"branch2\"." msgstr "" #. type: Labeled list -#: en/git-tag.txt:176 +#: en/git-reset.txt:295 #, no-wrap -msgid "--[no-]merged [<commit>]" +msgid "Split a commit apart into a sequence of commits" msgstr "" #. type: Plain text -#: en/git-tag.txt:180 +#: en/git-reset.txt:303 msgid "" -"Only list tags whose tips are reachable, or not reachable if `--no-merged` " -"is used, from the specified commit (`HEAD` if not specified)." +"Suppose that you have created lots of logically separate changes and " +"commited them together. Then, later you decide that it might be better to " +"have each logical chunk associated with its own commit. You can use git " +"reset to rewind history without changing the contents of your local files, " +"and then successively use `git add -p` to interactively select which hunks " +"to include into each commit, using `git commit -c` to pre-populate the " +"commit message." +msgstr "" + +#. type: delimited block - +#: en/git-reset.txt:313 +#, no-wrap +msgid "" +"$ git reset -N HEAD^ <1>\n" +"$ git add -p <2>\n" +"$ git diff --cached <3>\n" +"$ git commit -c HEAD@{1} <4>\n" +"... <5>\n" +"$ git add ... <6>\n" +"$ git diff --cached <7>\n" +"$ git commit ... <8>\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:187 +#: en/git-reset.txt:319 msgid "" -"By default, 'git tag' in sign-with-default mode (-s) will use your committer " -"identity (of the form `Your Name <your@email.address>`) to find a key. If " -"you want to use a different default key, you can specify it in the " -"repository configuration as follows:" +"First, reset the history back one commit so that we remove the original " +"commit, but leave the working tree with all the changes. The -N ensures that " +"any new files added with HEAD are still marked so that git add -p will find " +"them." msgstr "" -#. type: delimited block - -#: en/git-tag.txt:191 -#, no-wrap +#. type: Plain text +#: en/git-reset.txt:323 msgid "" -"[user]\n" -" signingKey = <gpg-keyid>\n" +"Next, we interactively select diff hunks to add using the git add -p " +"facility. This will ask you about each diff hunk in sequence and you can use " +"simple commands such as \"yes, include this\", \"No don't include this\" or " +"even the very powerful \"edit\" facility." msgstr "" -#. type: Title ~ -#: en/git-tag.txt:198 -#, no-wrap -msgid "On Re-tagging" +#. type: Plain text +#: en/git-reset.txt:327 +msgid "" +"Once satisfied with the hunks you want to include, you should verify what " +"has been prepared for the first commit by using git diff --cached. This " +"shows all the changes that have been moved into the index and are about to " +"be committed." msgstr "" #. type: Plain text -#: en/git-tag.txt:202 +#: en/git-reset.txt:333 msgid "" -"What should you do when you tag a wrong commit and you would want to re-tag?" +"Next, commit the changes stored in the index. The -c option specifies to pre-" +"populate the commit message from the original message that you started with " +"in the first commit. This is helpful to avoid retyping it. The HEAD@{1} is a " +"special notation for the commit that HEAD used to be at prior to the " +"original reset commit (1 change ago). See linkgit:git-reflog[1] for more " +"details. You may also use any other valid commit reference." msgstr "" #. type: Plain text -#: en/git-tag.txt:205 +#: en/git-reset.txt:335 msgid "" -"If you never pushed anything out, just re-tag it. Use \"-f\" to replace the " -"old one. And you're done." +"You can repeat steps 2-4 multiple times to break the original code into any " +"number of commits." msgstr "" #. type: Plain text -#: en/git-tag.txt:209 +#: en/git-reset.txt:338 msgid "" -"But if you have pushed things out (or others could just read your repository " -"directly), then others will have already seen the old tag. In that case you " -"can do one of two things:" +"Now you've split out many of the changes into their own commits, and might " +"no longer use the patch mode of git add, in order to select all remaining " +"uncommitted changes." msgstr "" #. type: Plain text -#: en/git-tag.txt:216 +#: en/git-reset.txt:341 msgid "" -"The sane thing. Just admit you screwed up, and use a different name. Others " -"have already seen one tag-name, and if you keep the same name, you may be in " -"the situation that two people both have \"version X\", but they actually " -"have 'different' \"X\"'s. So just call it \"X.1\" and be done with it." +"Once again, check to verify that you've included what you want to. You may " +"also wish to verify that git diff doesn't show any remaining changes to be " +"committed later." msgstr "" #. type: Plain text -#: en/git-tag.txt:221 +#: en/git-reset.txt:342 +msgid "And finally create the final commit." +msgstr "" + +#. type: Plain text +#: en/git-reset.txt:348 +msgid "The tables below show what happens when running:" +msgstr "" + +#. type: delimited block - +#: en/git-reset.txt:351 +#, no-wrap +msgid "git reset --option target\n" +msgstr "" + +#. type: Plain text +#: en/git-reset.txt:355 msgid "" -"The insane thing. You really want to call the new version \"X\" too, 'even " -"though' others have already seen the old one. So just use 'git tag -f' " -"again, as if you hadn't already published the old one." +"to reset the HEAD to another commit (`target`) with the different reset " +"options depending on the state of the files." msgstr "" #. type: Plain text -#: en/git-tag.txt:226 +#: en/git-reset.txt:364 msgid "" -"However, Git does *not* (and it should not) change tags behind users back. " -"So if somebody already got the old tag, doing a 'git pull' on your tree " -"shouldn't just make them overwrite the old one." +"In these tables, A, B, C and D are some different states of a file. For " +"example, the first line of the first table means that if a file is in state " +"A in the working tree, in state B in the index, in state C in HEAD and in " +"state D in the target, then \"git reset --soft target\" will leave the file " +"in the working tree in state A and in the index in state B. It resets (i.e. " +"moves) the HEAD (i.e. the tip of the current branch, if you are on one) to " +"\"target\" (which has the file in state D)." msgstr "" #. type: Plain text -#: en/git-tag.txt:233 -msgid "" -"If somebody got a release tag from you, you cannot just change the tag for " -"them by updating your own one. This is a big security issue, in that people " -"MUST be able to trust their tag-names. If you really want to do the insane " -"thing, you need to just fess up to it, and tell people that you messed up. " -"You can do that by making a very public announcement saying:" -msgstr "" - -#. type: delimited block - -#: en/git-tag.txt:237 +#: en/git-reset.txt:372 #, no-wrap msgid "" -"Ok, I messed up, and I pushed out an earlier version tagged as X. I\n" -"then fixed something, and retagged the *fixed* tree as X again.\n" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" A B C D --soft A B D\n" +"\t\t\t\t--mixed A D D\n" +"\t\t\t\t--hard D D D\n" +"\t\t\t\t--merge (disallowed)\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:240 +#. type: Plain text +#: en/git-reset.txt:380 #, no-wrap msgid "" -"If you got the wrong tag, and want the new one, please delete\n" -"the old one and fetch the new one by doing:\n" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" A B C C --soft A B C\n" +"\t\t\t\t--mixed A C C\n" +"\t\t\t\t--hard C C C\n" +"\t\t\t\t--merge (disallowed)\n" +"\t\t\t\t--keep A C C\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:243 -#, fuzzy, no-wrap -#| msgid "$ git commit\n" -msgid "" -"\tgit tag -d X\n" -"\tgit fetch origin tag X\n" -msgstr "$ git commit\n" - -#. type: delimited block - -#: en/git-tag.txt:245 +#. type: Plain text +#: en/git-reset.txt:388 #, no-wrap -msgid "to get my updated tag.\n" +msgid "" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B B C D --soft B B D\n" +"\t\t\t\t--mixed B D D\n" +"\t\t\t\t--hard D D D\n" +"\t\t\t\t--merge D D D\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:247 +#. type: Plain text +#: en/git-reset.txt:396 #, no-wrap -msgid "You can test which tag you have by doing\n" +msgid "" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B B C C --soft B B C\n" +"\t\t\t\t--mixed B C C\n" +"\t\t\t\t--hard C C C\n" +"\t\t\t\t--merge C C C\n" +"\t\t\t\t--keep B C C\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:249 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "\tgit rev-parse X\n" -msgstr "git-add(1)" - -#. type: delimited block - -#: en/git-tag.txt:251 +#. type: Plain text +#: en/git-reset.txt:404 #, no-wrap -msgid "which should return 0123456789abcdef.. if you have the new version.\n" +msgid "" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B C C D --soft B C D\n" +"\t\t\t\t--mixed B D D\n" +"\t\t\t\t--hard D D D\n" +"\t\t\t\t--merge (disallowed)\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:253 +#. type: Plain text +#: en/git-reset.txt:412 #, no-wrap -msgid "Sorry for the inconvenience.\n" +msgid "" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B C C C --soft B C C\n" +"\t\t\t\t--mixed B C C\n" +"\t\t\t\t--hard C C C\n" +"\t\t\t\t--merge B C C\n" +"\t\t\t\t--keep B C C\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:258 +#: en/git-reset.txt:421 msgid "" -"Does this seem a bit complicated? It *should* be. There is no way that it " -"would be correct to just \"fix\" it automatically. People need to know that " -"their tags might have been changed." -msgstr "" - -#. type: Title ~ -#: en/git-tag.txt:261 -#, no-wrap -msgid "On Automatic following" +"\"reset --merge\" is meant to be used when resetting out of a conflicted " +"merge. Any mergy operation guarantees that the working tree file that is " +"involved in the merge does not have local change wrt the index before it " +"starts, and that it writes the result out to the working tree. So if we see " +"some difference between the index and the target and also between the index " +"and the working tree, then it means that we are not resetting out from a " +"state that a mergy operation left after failing with a conflict. That is why " +"we disallow --merge option in this case." msgstr "" #. type: Plain text -#: en/git-tag.txt:266 +#: en/git-reset.txt:430 msgid "" -"If you are following somebody else's tree, you are most likely using remote-" -"tracking branches (eg. `refs/remotes/origin/master`). You usually want the " -"tags from the other end." +"\"reset --keep\" is meant to be used when removing some of the last commits " +"in the current branch while keeping changes in the working tree. If there " +"could be conflicts between the changes in the commit we want to remove and " +"the changes in the working tree we want to keep, the reset is disallowed. " +"That's why it is disallowed if there are both changes between the working " +"tree and HEAD, and between HEAD and the target. To be safe, it is also " +"disallowed when there are unmerged entries." msgstr "" #. type: Plain text -#: en/git-tag.txt:273 -msgid "" -"On the other hand, if you are fetching because you would want a one-shot " -"merge from somebody else, you typically do not want to get tags from there. " -"This happens more often for people near the toplevel but not limited to " -"them. Mere mortals when pulling from each other do not necessarily want to " -"automatically get private anchor point tags from the other person." +#: en/git-reset.txt:433 +msgid "The following tables show what happens when there are unmerged entries:" msgstr "" #. type: Plain text -#: en/git-tag.txt:278 +#: en/git-reset.txt:441 +#, no-wrap msgid "" -"Often, \"please pull\" messages on the mailing list just provide two pieces " -"of information: a repo URL and a branch name; this is designed to be easily " -"cut&pasted at the end of a 'git fetch' command line:" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" X U A B --soft (disallowed)\n" +"\t\t\t\t--mixed X B B\n" +"\t\t\t\t--hard B B B\n" +"\t\t\t\t--merge B B B\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:281 +#. type: Plain text +#: en/git-reset.txt:449 #, no-wrap -msgid "Linus, please pull from\n" +msgid "" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" X U A A --soft (disallowed)\n" +"\t\t\t\t--mixed X A A\n" +"\t\t\t\t--hard A A A\n" +"\t\t\t\t--merge A A A\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:283 -#, no-wrap -msgid "\tgit://git..../proj.git master\n" +#. type: Plain text +#: en/git-reset.txt:451 +msgid "X means any state and U means an unmerged index." msgstr "" -#. type: delimited block - -#: en/git-tag.txt:285 +#. type: Title = +#: en/git-revert.txt:2 #, fuzzy, no-wrap -#| msgid "support the following date formats:" -msgid "to get the following updates...\n" -msgstr "prend en charge les formats de date suivants혻:" +#| msgid "revert" +msgid "git-revert(1)" +msgstr "revert" #. type: Plain text -#: en/git-tag.txt:288 -msgid "becomes:" +#: en/git-revert.txt:7 +msgid "git-revert - Revert some existing commits" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:291 +#. type: Plain text +#: en/git-revert.txt:15 #, no-wrap -msgid "$ git pull git://git..../proj.git master\n" +msgid "" +"'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>...\n" +"'git revert' --continue\n" +"'git revert' --quit\n" +"'git revert' --abort\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:295 +#: en/git-revert.txt:23 msgid "" -"In such a case, you do not want to automatically follow the other person's " -"tags." +"Given one or more existing commits, revert the changes that the related " +"patches introduce, and record some new commits that record them. This " +"requires your working tree to be clean (no modifications from the HEAD " +"commit)." msgstr "" #. type: Plain text -#: en/git-tag.txt:303 +#: en/git-revert.txt:32 msgid "" -"One important aspect of Git is its distributed nature, which largely means " -"there is no inherent \"upstream\" or \"downstream\" in the system. On the " -"face of it, the above example might seem to indicate that the tag namespace " -"is owned by the upper echelon of people and that tags only flow downwards, " -"but that is not the case. It only shows that the usage pattern determines " -"who are interested in whose tags." +"Note: 'git revert' is used to record some new commits to reverse the effect " +"of some earlier commits (often only a faulty one). If you want to throw " +"away all uncommitted changes in your working directory, you should see " +"linkgit:git-reset[1], particularly the `--hard` option. If you want to " +"extract specific files as they were in another commit, you should see " +"linkgit:git-checkout[1], specifically the `git checkout <commit> -- " +"<filename>` syntax. Take care with these alternatives as both will discard " +"uncommitted changes in your working directory." msgstr "" #. type: Plain text -#: en/git-tag.txt:315 +#: en/git-revert.txt:42 msgid "" -"A one-shot pull is a sign that a commit history is now crossing the boundary " -"between one circle of people (e.g. \"people who are primarily interested in " -"the networking part of the kernel\") who may have their own set of tags (e." -"g. \"this is the third release candidate from the networking group to be " -"proposed for general consumption with 2.6.21 release\") to another circle of " -"people (e.g. \"people who integrate various subsystem improvements\"). The " -"latter are usually not interested in the detailed tags used internally in " -"the former group (that is what \"internal\" means). That is why it is " -"desirable not to follow tags automatically in this case." +"Commits to revert. For a more complete list of ways to spell commit names, " +"see linkgit:gitrevisions[7]. Sets of commits can also be given but no " +"traversal is done by default, see linkgit:git-rev-list[1] and its `--no-" +"walk` option." msgstr "" #. type: Plain text -#: en/git-tag.txt:321 +#: en/git-revert.txt:48 msgid "" -"It may well be that among networking people, they may want to exchange the " -"tags internal to their group, but in that workflow they are most likely " -"tracking each other's progress by having remote-tracking branches. Again, " -"the heuristic to automatically follow such tags is a good thing." -msgstr "" - -#. type: Title ~ -#: en/git-tag.txt:324 -#, no-wrap -msgid "On Backdating Tags" +"With this option, 'git revert' will let you edit the commit message prior to " +"committing the revert. This is the default if you run the command from a " +"terminal." msgstr "" #. type: Plain text -#: en/git-tag.txt:331 +#: en/git-revert.txt:56 msgid "" -"If you have imported some changes from another VCS and would like to add " -"tags for major releases of your work, it is useful to be able to specify the " -"date to embed inside of the tag object; such data in the tag object affects, " -"for example, the ordering of tags in the gitweb interface." +"Usually you cannot revert a merge because you do not know which side of the " +"merge should be considered the mainline. This option specifies the parent " +"number (starting from 1) of the mainline and allows revert to reverse the " +"change relative to the specified parent." msgstr "" #. type: Plain text -#: en/git-tag.txt:335 +#: en/git-revert.txt:61 msgid "" -"To set the date used in future tag objects, set the environment variable " -"GIT_COMMITTER_DATE (see the later discussion of possible values; the most " -"common form is \"YYYY-MM-DD HH:MM\")." -msgstr "" - -#. type: delimited block - -#: en/git-tag.txt:340 -#, no-wrap -msgid "$ GIT_COMMITTER_DATE=\"2006-10-02 10:31\" git tag -s v1.0.1\n" +"Reverting a merge commit declares that you will never want the tree changes " +"brought in by the merge. As a result, later merges will only bring in tree " +"changes introduced by commits that are not ancestors of the previously " +"reverted merge. This may or may not be what you want." msgstr "" -# #. type: Plain text -#: en/git-tag.txt:348 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-check-ref-format[1]. linkgit:git-config[1]." +#: en/git-revert.txt:64 +msgid "" +"See the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] " +"for more details." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-unpack-file.txt:2 -#, no-wrap -msgid "git-unpack-file(1)" +#. type: Plain text +#: en/git-revert.txt:68 +msgid "" +"With this option, 'git revert' will not start the commit message editor." msgstr "" #. type: Plain text -#: en/git-unpack-file.txt:7 -msgid "git-unpack-file - Creates a temporary file with a blob's contents" +#: en/git-revert.txt:79 +msgid "" +"Usually the command automatically creates some commits with commit log " +"messages stating which commits were reverted. This flag applies the changes " +"necessary to revert the named commits to your working tree and the index, " +"but does not make the commits. In addition, when this option is used, your " +"index does not have to match the HEAD commit. The revert is done against " +"the beginning state of your index." msgstr "" #. type: Plain text -#: en/git-unpack-file.txt:14 -#, no-wrap -msgid "'git unpack-file' <blob>\n" +#: en/git-revert.txt:82 +msgid "" +"This is useful when reverting more than one commits' effect to your index in " +"a row." msgstr "" -#. type: Plain text -#: en/git-unpack-file.txt:20 +#. type: Labeled list +#: en/git-revert.txt:110 #, no-wrap -msgid "" -"Creates a file holding the contents of the blob specified by sha1. It\n" -"returns the name of the temporary file in the following format:\n" -"\t.merge_file_XXXXX\n" +msgid "`git revert HEAD~3`" msgstr "" #. type: Plain text -#: en/git-unpack-file.txt:25 -msgid "Must be a blob id" +#: en/git-revert.txt:114 +msgid "" +"Revert the changes specified by the fourth last commit in HEAD and create a " +"new commit with the reverted changes." msgstr "" -#. type: Title = -#: en/git-unpack-objects.txt:2 +#. type: Labeled list +#: en/git-revert.txt:115 #, no-wrap -msgid "git-unpack-objects(1)" +msgid "`git revert -n master~5..master~2`" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:7 -msgid "git-unpack-objects - Unpack objects from a packed archive" +#: en/git-revert.txt:122 +msgid "" +"Revert the changes done by commits from the fifth last commit in master " +"(included) to the third last commit in master (included), but do not create " +"any commit with the reverted changes. The revert only modifies the working " +"tree and the index." msgstr "" +#. type: Title = +#: en/git-rev-list.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-rev-list(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-unpack-objects.txt:13 -#, no-wrap -msgid "'git unpack-objects' [-n] [-q] [-r] [--strict]\n" +#: en/git-rev-list.txt:7 +msgid "git-rev-list - Lists commit objects in reverse chronological order" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:20 +#: en/git-rev-list.txt:62 +#, no-wrap msgid "" -"Read a packed archive (.pack) from the standard input, expanding the objects " -"contained within and writing them into the repository in \"loose\" (one " -"object per file) format." +"'git rev-list' [ --max-count=<number> ]\n" +"\t [ --skip=<number> ]\n" +"\t [ --max-age=<timestamp> ]\n" +"\t [ --min-age=<timestamp> ]\n" +"\t [ --sparse ]\n" +"\t [ --merges ]\n" +"\t [ --no-merges ]\n" +"\t [ --min-parents=<number> ]\n" +"\t [ --no-min-parents ]\n" +"\t [ --max-parents=<number> ]\n" +"\t [ --no-max-parents ]\n" +"\t [ --first-parent ]\n" +"\t [ --remove-empty ]\n" +"\t [ --full-history ]\n" +"\t [ --not ]\n" +"\t [ --all ]\n" +"\t [ --branches[=<pattern>] ]\n" +"\t [ --tags[=<pattern>] ]\n" +"\t [ --remotes[=<pattern>] ]\n" +"\t [ --glob=<glob-pattern> ]\n" +"\t [ --ignore-missing ]\n" +"\t [ --stdin ]\n" +"\t [ --quiet ]\n" +"\t [ --topo-order ]\n" +"\t [ --parents ]\n" +"\t [ --timestamp ]\n" +"\t [ --left-right ]\n" +"\t [ --left-only ]\n" +"\t [ --right-only ]\n" +"\t [ --cherry-mark ]\n" +"\t [ --cherry-pick ]\n" +"\t [ --encoding=<encoding> ]\n" +"\t [ --(author|committer|grep)=<pattern> ]\n" +"\t [ --regexp-ignore-case | -i ]\n" +"\t [ --extended-regexp | -E ]\n" +"\t [ --fixed-strings | -F ]\n" +"\t [ --date=<format>]\n" +"\t [ [ --objects | --objects-edge | --objects-edge-aggressive ]\n" +"\t [ --unpacked ] ]\n" +"\t [ --pretty | --header ]\n" +"\t [ --bisect ]\n" +"\t [ --bisect-vars ]\n" +"\t [ --bisect-all ]\n" +"\t [ --merge ]\n" +"\t [ --reverse ]\n" +"\t [ --walk-reflogs ]\n" +"\t [ --no-walk ] [ --do-walk ]\n" +"\t [ --count ]\n" +"\t [ --use-bitmap-index ]\n" +"\t <commit>... [ \\-- <paths>... ]\n" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:24 +#: en/git-rev-list.txt:70 msgid "" -"Objects that already exist in the repository will *not* be unpacked from the " -"packfile. Therefore, nothing will be unpacked if you use this command on a " -"packfile that exists within the target repository." +"List commits that are reachable by following the `parent` links from the " +"given commit(s), but exclude commits that are reachable from the one(s) " +"given with a '{caret}' in front of them. The output is given in reverse " +"chronological order by default." msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:27 +#: en/git-rev-list.txt:77 msgid "" -"See linkgit:git-repack[1] for options to generate new packs and replace " -"existing ones." +"You can think of this as a set operation. Commits given on the command line " +"form a set of commits that are reachable from any of them, and then commits " +"reachable from any of the ones given with '{caret}' in front are subtracted " +"from that set. The remaining commits are what comes out in the command's " +"output. Various other options and paths parameters can be used to further " +"limit the result." msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:32 -msgid "Dry run. Check the pack file without actually unpacking" +#: en/git-rev-list.txt:79 +#, fuzzy +#| msgid "support the following date formats:" +msgid "Thus, the following command:" +msgstr "prend en charge les formats de date suivants혻:" + +#. type: delimited block - +#: en/git-rev-list.txt:82 +#, no-wrap +msgid "\t$ git rev-list foo bar ^baz\n" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:33 -msgid "the objects." +#: en/git-rev-list.txt:86 +msgid "" +"means \"list all the commits which are reachable from 'foo' or 'bar', but " +"not from 'baz'\"." msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:37 +#: en/git-rev-list.txt:90 msgid "" -"The command usually shows percentage progress. This flag suppresses it." +"A special notation \"'<commit1>'..'<commit2>'\" can be used as a short-hand " +"for \"{caret}'<commit1>' '<commit2>'\". For example, either of the following " +"may be used interchangeably:" msgstr "" -#. type: Plain text -#: en/git-unpack-objects.txt:43 +#. type: delimited block - +#: en/git-rev-list.txt:94 +#, no-wrap msgid "" -"When unpacking a corrupt packfile, the command dies at the first " -"corruption. This flag tells it to keep going and make the best effort to " -"recover as many objects as possible." +"\t$ git rev-list origin..HEAD\n" +"\t$ git rev-list HEAD ^origin\n" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:46 -msgid "Don't write objects with broken content or links." +#: en/git-rev-list.txt:99 +msgid "" +"Another special notation is \"'<commit1>'...'<commit2>'\" which is useful " +"for merges. The resulting set of commits is the symmetric difference " +"between the two operands. The following two commands are equivalent:" msgstr "" -#. type: Title = -#: en/git-update-index.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-update-index(1)" -msgstr "git-add(1)" - -# -#. type: Plain text -#: en/git-update-index.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" +#. type: delimited block - +#: en/git-rev-list.txt:103 +#, no-wrap msgid "" -"git-update-index - Register file contents in the working tree to the index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +"\t$ git rev-list A B --not $(git merge-base --all A B)\n" +"\t$ git rev-list A...B\n" +msgstr "" #. type: Plain text -#: en/git-update-index.txt:27 -#, no-wrap +#: en/git-rev-list.txt:110 msgid "" -"'git update-index'\n" -"\t [--add] [--remove | --force-remove] [--replace]\n" -"\t [--refresh] [-q] [--unmerged] [--ignore-missing]\n" -"\t [(--cacheinfo <mode>,<object>,<file>)...]\n" -"\t [--chmod=(+|-)x]\n" -"\t [--[no-]assume-unchanged]\n" -"\t [--[no-]skip-worktree]\n" -"\t [--ignore-submodules]\n" -"\t [--[no-]split-index]\n" -"\t [--[no-|test-|force-]untracked-cache]\n" -"\t [--really-refresh] [--unresolve] [--again | -g]\n" -"\t [--info-only] [--index-info]\n" -"\t [-z] [--stdin] [--index-version <n>]\n" -"\t [--verbose]\n" -"\t [--] [<file>...]\n" +"'rev-list' is a very essential Git command, since it provides the ability to " +"build and traverse commit ancestry graphs. For this reason, it has a lot of " +"different options that enables it to be used by commands as different as " +"'git bisect' and 'git repack'." msgstr "" +#. type: Title = +#: en/git-rev-parse.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-rev-parse(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-update-index.txt:33 -msgid "" -"Modifies the index or directory cache. Each file mentioned is updated into " -"the index and any 'unmerged' or 'needs updating' state is cleared." +#: en/git-rev-parse.txt:7 +msgid "git-rev-parse - Pick out and massage parameters" msgstr "" #. type: Plain text -#: en/git-update-index.txt:36 -msgid "" -"See also linkgit:git-add[1] for a more user-friendly way to do some of the " -"most common operations on the index." +#: en/git-rev-parse.txt:13 +#, no-wrap +msgid "'git rev-parse' [ --option ] <args>...\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:39 +#: en/git-rev-parse.txt:23 msgid "" -"The way 'git update-index' handles files it is told about can be modified " -"using the various options:" +"Many Git porcelainish commands take mixture of flags (i.e. parameters that " +"begin with a dash '-') and parameters meant for the underlying 'git rev-" +"list' command they use internally and flags and parameters for the other " +"commands they use downstream of 'git rev-list'. This command is used to " +"distinguish between them." +msgstr "" + +#. type: Title ~ +#: en/git-rev-parse.txt:29 +#, no-wrap +msgid "Operation Modes" msgstr "" #. type: Plain text -#: en/git-update-index.txt:46 -msgid "" -"If a specified file isn't in the index already then it's added. Default " -"behaviour is to ignore new files." +#: en/git-rev-parse.txt:32 +msgid "Each of these options must appear first on the command line." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:47 +#: en/git-rev-parse.txt:33 #, no-wrap -msgid "--remove" +msgid "--parseopt" msgstr "" #. type: Plain text -#: en/git-update-index.txt:51 +#: en/git-rev-parse.txt:35 msgid "" -"If a specified file is in the index but is missing then it's removed. " -"Default behavior is to ignore removed file." +"Use 'git rev-parse' in option parsing mode (see PARSEOPT section below)." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:55 -msgid "" -"Looks at the current index and checks to see if merges or updates are needed " -"by checking stat() information." +#. type: Labeled list +#: en/git-rev-parse.txt:36 +#, no-wrap +msgid "--sq-quote" msgstr "" #. type: Plain text -#: en/git-update-index.txt:59 +#: en/git-rev-parse.txt:40 msgid "" -"Quiet. If --refresh finds that the index needs an update, the default " -"behavior is to error out. This option makes" +"Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE section below). In " +"contrast to the `--sq` option below, this mode does only quoting. Nothing " +"else is done to command input." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:60 -msgid "'git update-index' continue anyway." +#. type: Title ~ +#: en/git-rev-parse.txt:42 +#, no-wrap +msgid "Options for --parseopt" msgstr "" #. type: Labeled list -#: en/git-update-index.txt:61 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--ignore-submodules" -msgstr "git-add(1)" +#: en/git-rev-parse.txt:44 +#, no-wrap +msgid "--keep-dashdash" +msgstr "" #. type: Plain text -#: en/git-update-index.txt:64 +#: en/git-rev-parse.txt:47 msgid "" -"Do not try to update submodules. This option is only respected when passed " -"before --refresh." +"Only meaningful in `--parseopt` mode. Tells the option parser to echo out " +"the first `--` met instead of skipping it." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:67 -msgid "If --refresh finds unmerged changes in the index, the default" -msgstr "" +#. type: Labeled list +#: en/git-rev-parse.txt:48 +#, fuzzy, no-wrap +#| msgid "status" +msgid "--stop-at-non-option" +msgstr "status" #. type: Plain text -#: en/git-update-index.txt:68 -msgid "behavior is to error out. This option makes 'git update-index'" +#: en/git-rev-parse.txt:52 +msgid "" +"Only meaningful in `--parseopt` mode. Lets the option parser stop at the " +"first non-option argument. This can be used to parse sub-commands that take " +"options themselves." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:69 +#. type: Labeled list +#: en/git-rev-parse.txt:53 #, no-wrap -msgid "continue anyway.\n" +msgid "--stuck-long" msgstr "" #. type: Plain text -#: en/git-update-index.txt:72 -msgid "Ignores missing files during a --refresh" +#: en/git-rev-parse.txt:56 +msgid "" +"Only meaningful in `--parseopt` mode. Output the options in their long form " +"if available, and with their arguments stuck." msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:73 +#. type: Title ~ +#: en/git-rev-parse.txt:58 #, no-wrap -msgid "--cacheinfo <mode>,<object>,<path>" +msgid "Options for Filtering" msgstr "" #. type: Labeled list -#: en/git-update-index.txt:74 +#: en/git-rev-parse.txt:60 #, no-wrap -msgid "--cacheinfo <mode> <object> <path>" +msgid "--revs-only" msgstr "" #. type: Plain text -#: en/git-update-index.txt:79 +#: en/git-rev-parse.txt:63 msgid "" -"Directly insert the specified info into the index. For backward " -"compatibility, you can also give these three arguments as three separate " -"parameters, but new users are encouraged to use a single-parameter form." +"Do not output flags and parameters not meant for 'git rev-list' command." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:80 +#: en/git-rev-parse.txt:64 #, no-wrap -msgid "--index-info" +msgid "--no-revs" msgstr "" -# -#. type: Plain text -#: en/git-update-index.txt:82 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Read index information from stdin." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - #. type: Plain text -#: en/git-update-index.txt:85 -msgid "Set the execute permissions on the updated files." +#: en/git-rev-parse.txt:67 +msgid "Do not output flags and parameters meant for 'git rev-list' command." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:86 +#: en/git-rev-parse.txt:68 #, no-wrap -msgid "--[no-]assume-unchanged" -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:98 -msgid "" -"When this flag is specified, the object names recorded for the paths are not " -"updated. Instead, this option sets/unsets the \"assume unchanged\" bit for " -"the paths. When the \"assume unchanged\" bit is on, the user promises not " -"to change the file and allows Git to assume that the working tree file " -"matches what is recorded in the index. If you want to change the working " -"tree file, you need to unset the bit to tell Git. This is sometimes helpful " -"when working with a big project on a filesystem that has very slow lstat(2) " -"system call (e.g. cifs)." +msgid "--flags" msgstr "" #. type: Plain text -#: en/git-update-index.txt:103 -msgid "" -"Git will fail (gracefully) in case it needs to modify this file in the index " -"e.g. when merging in a commit; thus, in case the assumed-untracked file is " -"changed upstream, you will need to handle the situation manually." +#: en/git-rev-parse.txt:70 +msgid "Do not output non-flag parameters." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:104 +#: en/git-rev-parse.txt:71 #, no-wrap -msgid "--really-refresh" +msgid "--no-flags" msgstr "" #. type: Plain text -#: en/git-update-index.txt:107 -msgid "" -"Like `--refresh`, but checks stat information unconditionally, without " -"regard to the \"assume unchanged\" setting." +#: en/git-rev-parse.txt:73 +msgid "Do not output flag parameters." +msgstr "" + +#. type: Title ~ +#: en/git-rev-parse.txt:75 +#, no-wrap +msgid "Options for Output" msgstr "" #. type: Labeled list -#: en/git-update-index.txt:108 +#: en/git-rev-parse.txt:77 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--[no-]skip-worktree" -msgstr "git-commit(1)" +#| msgid "default" +msgid "--default <arg>" +msgstr "default" #. type: Plain text -#: en/git-update-index.txt:113 -msgid "" -"When one of these flags is specified, the object name recorded for the paths " -"are not updated. Instead, these options set and unset the \"skip-worktree\" " -"bit for the paths. See section \"Skip-worktree bit\" below for more " -"information." +#: en/git-rev-parse.txt:80 +msgid "If there is no parameter given by the user, use `<arg>` instead." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:115 +#: en/git-rev-parse.txt:81 #, no-wrap -msgid "--again" +msgid "--prefix <arg>" msgstr "" #. type: Plain text -#: en/git-update-index.txt:118 +#: en/git-rev-parse.txt:86 msgid "" -"Runs 'git update-index' itself on the paths whose index entries are " -"different from those from the `HEAD` commit." -msgstr "" - -#. type: Labeled list -#: en/git-update-index.txt:119 -#, no-wrap -msgid "--unresolve" +"Behave as if 'git rev-parse' was invoked from the `<arg>` subdirectory of " +"the working tree. Any relative filenames are resolved as if they are " +"prefixed by `<arg>` and will be printed in that form." msgstr "" #. type: Plain text -#: en/git-update-index.txt:122 +#: en/git-rev-parse.txt:90 msgid "" -"Restores the 'unmerged' or 'needs updating' state of a file during a merge " -"if it was cleared by accident." +"This can be used to convert arguments to a command run in a subdirectory so " +"that they can still be used after moving to the top-level of the " +"repository. For example:" msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:123 +#. type: delimited block - +#: en/git-rev-parse.txt:96 #, no-wrap -msgid "--info-only" +msgid "" +"prefix=$(git rev-parse --show-prefix)\n" +"cd \"$(git rev-parse --show-toplevel)\"\n" +"# rev-parse provides the -- needed for 'set'\n" +"eval \"set $(git rev-parse --sq --prefix \"$prefix\" -- \"$@\")\"\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:127 +#: en/git-rev-parse.txt:103 msgid "" -"Do not create objects in the object database for all <file> arguments that " -"follow this flag; just insert their object IDs into the index." +"Verify that exactly one parameter is provided, and that it can be turned " +"into a raw 20-byte SHA-1 that can be used to access the object database. If " +"so, emit it to the standard output; otherwise, error out." msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:128 -#, no-wrap -msgid "--force-remove" +#. type: Plain text +#: en/git-rev-parse.txt:112 +msgid "" +"If you want to make sure that the output actually names an object in your " +"object database and/or can be used as a specific type of object you require, " +"you can add the `^{type}` peeling operator to the parameter. For example, " +"`git rev-parse \"$VAR^{commit}\"` will make sure `$VAR` names an existing " +"object that is a commit-ish (i.e. a commit, or an annotated tag that points " +"at a commit). To make sure that `$VAR` names an existing object of any " +"type, `git rev-parse \"$VAR^{object}\"` can be used." msgstr "" #. type: Plain text -#: en/git-update-index.txt:131 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" +#: en/git-rev-parse.txt:119 msgid "" -"Remove the file from the index even when the working directory still has " -"such a file. (Implies --remove.)" +"Only meaningful in `--verify` mode. Do not output an error message if the " +"first argument is not a valid object name; instead exit with non-zero status " +"silently. SHA-1s for valid object names are printed to stdout on success." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/git-update-index.txt:132 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "--replace" -msgstr "git-add(1)" +#: en/git-rev-parse.txt:120 +#, no-wrap +msgid "--sq" +msgstr "" #. type: Plain text -#: en/git-update-index.txt:139 +#: en/git-rev-parse.txt:128 msgid "" -"By default, when a file `path` exists in the index, 'git update-index' " -"refuses an attempt to add `path/file`. Similarly if a file `path/file` " -"exists, a file `path` cannot be added. With --replace flag, existing " -"entries that conflict with the entry being added are automatically removed " -"with warning messages." +"Usually the output is made one line per flag and parameter. This option " +"makes output a single line, properly quoted for consumption by shell. " +"Useful when you expect your parameter to contain whitespaces and newlines (e." +"g. when using pickaxe `-S` with 'git diff-{asterisk}'). In contrast to the " +"`--sq-quote` option, the command input is still interpreted as usual." msgstr "" #. type: Plain text -#: en/git-update-index.txt:147 -msgid "Report what is being added and removed from index." +#: en/git-rev-parse.txt:133 +msgid "" +"When showing object names, prefix them with '{caret}' and strip '{caret}' " +"prefix from the object names that already have one." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:148 +#: en/git-rev-parse.txt:134 #, no-wrap -msgid "--index-version <n>" +msgid "--abbrev-ref[=(strict|loose)]" msgstr "" #. type: Plain text -#: en/git-update-index.txt:153 +#: en/git-rev-parse.txt:138 msgid "" -"Write the resulting index out in the named on-disk format version. " -"Supported versions are 2, 3 and 4. The current default version is 2 or 3, " -"depending on whether extra features are used, such as `git add -N`." +"A non-ambiguous short name of the objects name. The option core." +"warnAmbiguousRefs is used to select the strict abbreviation mode." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:159 -msgid "" -"Version 4 performs a simple pathname compression that reduces index size by " -"30%-50% on large repositories, which results in faster load time. Version 4 " -"is relatively young (first released in in 1.8.0 in October 2012). Other Git " -"implementations such as JGit and libgit2 may not support it yet." -msgstr "" +#. type: Labeled list +#: en/git-rev-parse.txt:140 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--short=number" +msgstr "Configuration" #. type: Plain text -#: en/git-update-index.txt:163 +#: en/git-rev-parse.txt:144 msgid "" -"Only meaningful with `--stdin` or `--index-info`; paths are separated with " -"NUL character instead of LF." +"Instead of outputting the full SHA-1 values of object names try to " +"abbreviate them to a shorter unique name. When no length is specified 7 is " +"used. The minimum length is 4." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:164 +#: en/git-rev-parse.txt:145 #, no-wrap -msgid "--split-index" +msgid "--symbolic" +msgstr "" + +#. type: Plain text +#: en/git-rev-parse.txt:149 +msgid "" +"Usually the object names are output in SHA-1 form (with possible '{caret}' " +"prefix); this option makes them output in a form as close to the original " +"input as possible." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:165 +#: en/git-rev-parse.txt:150 #, no-wrap -msgid "--no-split-index" +msgid "--symbolic-full-name" msgstr "" #. type: Plain text -#: en/git-update-index.txt:170 +#: en/git-rev-parse.txt:157 msgid "" -"Enable or disable split index mode. If split-index mode is already enabled " -"and `--split-index` is given again, all changes in $GIT_DIR/index are pushed " -"back to the shared index file." +"This is similar to --symbolic, but it omits input that are not refs (i.e. " +"branch or tag names; or more explicitly disambiguating \"heads/master\" " +"form, when you want to name the \"master\" branch when there is an " +"unfortunately named tag \"master\"), and show them as full refnames (e.g. " +"\"refs/heads/master\")." +msgstr "" + +#. type: Title ~ +#: en/git-rev-parse.txt:159 +#, no-wrap +msgid "Options for Objects" msgstr "" #. type: Plain text -#: en/git-update-index.txt:176 -msgid "" -"These options take effect whatever the value of the `core.splitIndex` " -"configuration variable (see linkgit:git-config[1]). But a warning is emitted " -"when the change goes against the configured value, as the configured value " -"will take effect next time the index is read and this will remove the " -"intended effect of the option." +#: en/git-rev-parse.txt:163 +msgid "Show all refs found in `refs/`." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:177 -#, fuzzy, no-wrap -#| msgid "add untracked" -msgid "--untracked-cache" -msgstr "add untracked" +#: en/git-rev-parse.txt:164 +#, no-wrap +msgid "--branches[=pattern]" +msgstr "" #. type: Labeled list -#: en/git-update-index.txt:178 +#: en/git-rev-parse.txt:165 #, no-wrap -msgid "--no-untracked-cache" +msgid "--tags[=pattern]" +msgstr "" + +#. type: Labeled list +#: en/git-rev-parse.txt:166 +#, no-wrap +msgid "--remotes[=pattern]" msgstr "" #. type: Plain text -#: en/git-update-index.txt:181 +#: en/git-rev-parse.txt:170 msgid "" -"Enable or disable untracked cache feature. Please use `--test-untracked-" -"cache` before enabling it." +"Show all branches, tags, or remote-tracking branches, respectively (i.e., " +"refs found in `refs/heads`, `refs/tags`, or `refs/remotes`, respectively)." msgstr "" #. type: Plain text -#: en/git-update-index.txt:187 +#: en/git-rev-parse.txt:174 msgid "" -"These options take effect whatever the value of the `core.untrackedCache` " -"configuration variable (see linkgit:git-config[1]). But a warning is emitted " -"when the change goes against the configured value, as the configured value " -"will take effect next time the index is read and this will remove the " -"intended effect of the option." +"If a `pattern` is given, only refs matching the given shell glob are shown. " +"If the pattern does not contain a globbing character (`?`, `*`, or `[`), it " +"is turned into a prefix match by appending `/*`." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:188 +#: en/git-rev-parse.txt:175 #, no-wrap -msgid "--test-untracked-cache" +msgid "--glob=pattern" msgstr "" #. type: Plain text -#: en/git-update-index.txt:197 +#: en/git-rev-parse.txt:181 msgid "" -"Only perform tests on the working directory to make sure untracked cache can " -"be used. You have to manually enable untracked cache using `--untracked-" -"cache` or `--force-untracked-cache` or the `core.untrackedCache` " -"configuration variable afterwards if you really want to use it. If a test " -"fails the exit code is 1 and a message explains what is not working as " -"needed, otherwise the exit code is 0 and OK is printed." +"Show all refs matching the shell glob pattern `pattern`. If the pattern does " +"not start with `refs/`, this is automatically prepended. If the pattern " +"does not contain a globbing character (`?`, `*`, or `[`), it is turned into " +"a prefix match by appending `/*`." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:198 +#: en/git-rev-parse.txt:182 en/rev-list-options.txt:163 #, no-wrap -msgid "--force-untracked-cache" +msgid "--exclude=<glob-pattern>" msgstr "" #. type: Plain text -#: en/git-update-index.txt:203 +#: en/git-rev-parse.txt:189 en/rev-list-options.txt:171 msgid "" -"Same as `--untracked-cache`. Provided for backwards compatibility with older " -"versions of Git where `--untracked-cache` used to imply `--test-untracked-" -"cache` but this option would enable the extension unconditionally." +"Do not include refs matching '<glob-pattern>' that the next `--all`, `--" +"branches`, `--tags`, `--remotes`, or `--glob` would otherwise consider. " +"Repetitions of this option accumulate exclusion patterns up to the next `--" +"all`, `--branches`, `--tags`, `--remotes`, or `--glob` option (other options " +"or arguments do not clear accumulated patterns)." msgstr "" #. type: Plain text -#: en/git-update-index.txt:213 +#: en/git-rev-parse.txt:195 en/rev-list-options.txt:177 msgid "" -"Files to act on. Note that files beginning with '.' are discarded. This " -"includes `./file` and `dir/./file`. If you don't want this, then use cleaner " -"names. The same applies to directories ending '/' and paths with '//'" +"The patterns given should not begin with `refs/heads`, `refs/tags`, or `refs/" +"remotes` when applied to `--branches`, `--tags`, or `--remotes`, " +"respectively, and they must begin with `refs/` when applied to `--glob` or " +"`--all`. If a trailing '/{asterisk}' is intended, it must be given " +"explicitly." msgstr "" -#. type: Title - -#: en/git-update-index.txt:215 +#. type: Labeled list +#: en/git-rev-parse.txt:196 #, no-wrap -msgid "Using --refresh" +msgid "--disambiguate=<prefix>" msgstr "" #. type: Plain text -#: en/git-update-index.txt:221 +#: en/git-rev-parse.txt:201 msgid "" -"`--refresh` does not calculate a new sha1 file or bring the index up-to-date " -"for mode/content changes. But what it *does* do is to \"re-match\" the stat " -"information of a file with the index, so that you can refresh the index for " -"a file that hasn't been changed but where the stat entry is out of date." +"Show every object whose name begins with the given prefix. The <prefix> " +"must be at least 4 hexadecimal digits long to avoid listing each and every " +"object in the repository by mistake." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:224 -msgid "" -"For example, you'd want to do this after doing a 'git read-tree', to link up " -"the stat index details with the proper files." +#. type: Title ~ +#: en/git-rev-parse.txt:203 +#, no-wrap +msgid "Options for Files" msgstr "" -#. type: Title - -#: en/git-update-index.txt:226 +#. type: Labeled list +#: en/git-rev-parse.txt:205 #, no-wrap -msgid "Using --cacheinfo or --info-only" +msgid "--local-env-vars" msgstr "" #. type: Plain text -#: en/git-update-index.txt:230 +#: en/git-rev-parse.txt:210 msgid "" -"`--cacheinfo` is used to register a file that is not in the current working " -"directory. This is useful for minimum-checkout merging." +"List the GIT_* environment variables that are local to the repository (e.g. " +"GIT_DIR or GIT_WORK_TREE, but not GIT_EDITOR). Only the names of the " +"variables are listed, not their value, even if they are set." msgstr "" +#. type: Labeled list +#: en/git-rev-parse.txt:211 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--git-dir" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-update-index.txt:232 -msgid "To pretend you have a file with mode and sha1 at path, say:" +#: en/git-rev-parse.txt:215 +msgid "" +"Show `$GIT_DIR` if defined. Otherwise show the path to the .git directory. " +"The path shown, when relative, is relative to the current working directory." msgstr "" -#. type: delimited block - -#: en/git-update-index.txt:235 +#. type: Plain text +#: en/git-rev-parse.txt:219 +msgid "" +"If `$GIT_DIR` is not defined and the current directory is not detected to " +"lie in a Git repository or work tree print a message to stderr and exit with " +"nonzero status." +msgstr "" + +#. type: Labeled list +#: en/git-rev-parse.txt:220 #, no-wrap -msgid "$ git update-index --cacheinfo <mode>,<sha1>,<path>\n" +msgid "--absolute-git-dir" msgstr "" #. type: Plain text -#: en/git-update-index.txt:239 +#: en/git-rev-parse.txt:223 msgid "" -"`--info-only` is used to register files without placing them in the object " -"database. This is useful for status-only repositories." +"Like `--git-dir`, but its output is always the canonicalized absolute path." msgstr "" +#. type: Labeled list +#: en/git-rev-parse.txt:224 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--git-common-dir" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-update-index.txt:245 -msgid "" -"Both `--cacheinfo` and `--info-only` behave similarly: the index is updated " -"but the object database isn't. `--cacheinfo` is useful when the object is " -"in the database but the file isn't available locally. `--info-only` is " -"useful when the file is available, but you do not wish to update the object " -"database." +#: en/git-rev-parse.txt:226 +msgid "Show `$GIT_COMMON_DIR` if defined, else `$GIT_DIR`." msgstr "" -#. type: Title - -#: en/git-update-index.txt:248 +#. type: Labeled list +#: en/git-rev-parse.txt:227 #, no-wrap -msgid "Using --index-info" +msgid "--is-inside-git-dir" msgstr "" #. type: Plain text -#: en/git-update-index.txt:253 +#: en/git-rev-parse.txt:230 msgid "" -"`--index-info` is a more powerful mechanism that lets you feed multiple " -"entry definitions from the standard input, and designed specifically for " -"scripts. It can take inputs of three formats:" +"When the current working directory is below the repository directory print " +"\"true\", otherwise \"false\"." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:255 +#. type: Labeled list +#: en/git-rev-parse.txt:231 #, no-wrap -msgid "mode SP sha1 TAB path\n" +msgid "--is-inside-work-tree" msgstr "" #. type: Plain text -#: en/git-update-index.txt:260 +#: en/git-rev-parse.txt:234 msgid "" -"The first format is what \"git-apply --index-info\" reports, and used to " -"reconstruct a partial tree that is used for phony merge base tree when " -"falling back on 3-way merge." +"When the current working directory is inside the work tree of the repository " +"print \"true\", otherwise \"false\"." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:262 +#. type: Labeled list +#: en/git-rev-parse.txt:235 #, no-wrap -msgid "mode SP type SP sha1 TAB path\n" +msgid "--is-bare-repository" msgstr "" #. type: Plain text -#: en/git-update-index.txt:265 -msgid "The second format is to stuff 'git ls-tree' output into the index file." +#: en/git-rev-parse.txt:237 +msgid "When the repository is bare print \"true\", otherwise \"false\"." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:267 +#. type: Labeled list +#: en/git-rev-parse.txt:238 #, no-wrap -msgid "mode SP sha1 SP stage TAB path\n" +msgid "--resolve-git-dir <path>" msgstr "" #. type: Plain text -#: en/git-update-index.txt:270 +#: en/git-rev-parse.txt:243 msgid "" -"This format is to put higher order stages into the index file and matches " -"'git ls-files --stage' output." +"Check if <path> is a valid repository or a gitfile that points at a valid " +"repository, and print the location of the repository. If <path> is a " +"gitfile then the resolved path to the real repository is printed." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:274 -msgid "" -"To place a higher stage entry to the index, the path should first be removed " -"by feeding a mode=0 entry for the path, and then feeding necessary input " -"lines in the third format." +#. type: Labeled list +#: en/git-rev-parse.txt:244 +#, no-wrap +msgid "--git-path <path>" msgstr "" #. type: Plain text -#: en/git-update-index.txt:276 -msgid "For example, starting with this index:" +#: en/git-rev-parse.txt:250 +msgid "" +"Resolve \"$GIT_DIR/<path>\" and takes other path relocation variables such " +"as $GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... into account. For example, if " +"$GIT_OBJECT_DIRECTORY is set to /foo/bar then \"git rev-parse --git-path " +"objects/abc\" returns /foo/bar/abc." msgstr "" -#. type: delimited block - -#: en/git-update-index.txt:280 +#. type: Labeled list +#: en/git-rev-parse.txt:251 #, no-wrap -msgid "" -"$ git ls-files -s\n" -"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0 frotz\n" +msgid "--show-cdup" msgstr "" #. type: Plain text -#: en/git-update-index.txt:283 -msgid "you can feed the following input to `--index-info`:" +#: en/git-rev-parse.txt:255 +msgid "" +"When the command is invoked from a subdirectory, show the path of the top-" +"level directory relative to the current directory (typically a sequence of " +"\"../\", or an empty string)." msgstr "" -#. type: delimited block - -#: en/git-update-index.txt:289 +#. type: Labeled list +#: en/git-rev-parse.txt:256 #, no-wrap -msgid "" -"$ git update-index --index-info\n" -"0 0000000000000000000000000000000000000000\tfrotz\n" -"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" -"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" +msgid "--show-prefix" msgstr "" #. type: Plain text -#: en/git-update-index.txt:295 +#: en/git-rev-parse.txt:260 msgid "" -"The first line of the input feeds 0 as the mode to remove the path; the " -"SHA-1 does not matter as long as it is well formatted. Then the second and " -"third line feeds stage 1 and stage 2 entries for that path. After the " -"above, we would end up with this:" +"When the command is invoked from a subdirectory, show the path of the " +"current directory relative to the top-level directory." msgstr "" -#. type: delimited block - -#: en/git-update-index.txt:300 +#. type: Labeled list +#: en/git-rev-parse.txt:261 #, no-wrap -msgid "" -"$ git ls-files -s\n" -"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" -"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" +msgid "--show-toplevel" msgstr "" -#. type: Title - -#: en/git-update-index.txt:304 -#, no-wrap -msgid "Using ``assume unchanged'' bit" +#. type: Plain text +#: en/git-rev-parse.txt:263 +msgid "Show the absolute path of the top-level directory." msgstr "" #. type: Plain text -#: en/git-update-index.txt:319 +#: en/git-rev-parse.txt:269 +#, no-wrap msgid "" -"Many operations in Git depend on your filesystem to have an efficient " -"`lstat(2)` implementation, so that `st_mtime` information for working tree " -"files can be cheaply checked to see if the file contents have changed from " -"the version recorded in the index file. Unfortunately, some filesystems " -"have inefficient `lstat(2)`. If your filesystem is one of them, you can set " -"\"assume unchanged\" bit to paths you have not changed to cause Git not to " -"do this check. Note that setting this bit on a path does not mean Git will " -"check the contents of the file to see if it has changed -- it makes Git to " -"omit any checking and assume it has *not* changed. When you make changes to " -"working tree files, you have to explicitly tell Git about it by dropping " -"\"assume unchanged\" bit, either before or after you modify them." +"--show-superproject-working-tree\n" +"\tShow the absolute path of the root of the superproject's\n" +"\tworking tree (if exists) that uses the current repository as\n" +"\tits submodule. Outputs nothing if the current repository is\n" +"\tnot used as a submodule by any project.\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:324 -msgid "" -"In order to set \"assume unchanged\" bit, use `--assume-unchanged` option. " -"To unset, use `--no-assume-unchanged`. To see which files have the \"assume " -"unchanged\" bit set, use `git ls-files -v` (see linkgit:git-ls-files[1])." +#. type: Labeled list +#: en/git-rev-parse.txt:270 +#, no-wrap +msgid "--shared-index-path" msgstr "" #. type: Plain text -#: en/git-update-index.txt:334 +#: en/git-rev-parse.txt:273 msgid "" -"The command looks at `core.ignorestat` configuration variable. When this is " -"true, paths updated with `git update-index paths...` and paths updated with " -"other Git commands that update both index and working tree (e.g. 'git apply " -"--index', 'git checkout-index -u', and 'git read-tree -u') are automatically " -"marked as \"assume unchanged\". Note that \"assume unchanged\" bit is *not* " -"set if `git update-index --refresh` finds the working tree file matches the " -"index (use `git update-index --really-refresh` if you want to mark them as " -"\"assume unchanged\")." +"Show the path to the shared index file in split index mode, or empty if not " +"in split-index mode." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:339 -msgid "To update and refresh only the files already checked out:" +#. type: Title ~ +#: en/git-rev-parse.txt:275 +#, no-wrap +msgid "Other Options" msgstr "" #. type: Labeled list -#: en/git-update-index.txt:344 +#: en/git-rev-parse.txt:277 #, no-wrap -msgid "On an inefficient filesystem with `core.ignorestat` set" +msgid "--since=datestring" msgstr "" -#. type: delimited block - -#: en/git-update-index.txt:360 +#. type: Labeled list +#: en/git-rev-parse.txt:278 #, no-wrap -msgid "" -"$ git update-index --really-refresh <1>\n" -"$ git update-index --no-assume-unchanged foo.c <2>\n" -"$ git diff --name-only <3>\n" -"$ edit foo.c\n" -"$ git diff --name-only <4>\n" -"M foo.c\n" -"$ git update-index foo.c <5>\n" -"$ git diff --name-only <6>\n" -"$ edit foo.c\n" -"$ git diff --name-only <7>\n" -"$ git update-index --no-assume-unchanged foo.c <8>\n" -"$ git diff --name-only <9>\n" -"M foo.c\n" +msgid "--after=datestring" msgstr "" #. type: Plain text -#: en/git-update-index.txt:363 +#: en/git-rev-parse.txt:281 msgid "" -"forces lstat(2) to set \"assume unchanged\" bits for paths that match index." +"Parse the date string, and output the corresponding --max-age= parameter for " +"'git rev-list'." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:364 -msgid "mark the path to be edited." +#. type: Labeled list +#: en/git-rev-parse.txt:282 +#, no-wrap +msgid "--until=datestring" msgstr "" +#. type: Labeled list +#: en/git-rev-parse.txt:283 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--before=datestring" +msgstr "Configuration" + #. type: Plain text -#: en/git-update-index.txt:365 -msgid "this does lstat(2) and finds index matches the path." +#: en/git-rev-parse.txt:286 +msgid "" +"Parse the date string, and output the corresponding --min-age= parameter for " +"'git rev-list'." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:366 -msgid "this does lstat(2) and finds index does *not* match the path." +#. type: Labeled list +#: en/git-rev-parse.txt:287 +#, no-wrap +msgid "<args>..." msgstr "" #. type: Plain text -#: en/git-update-index.txt:367 -msgid "registering the new version to index sets \"assume unchanged\" bit." +#: en/git-rev-parse.txt:289 +msgid "Flags and parameters to be parsed." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:368 -msgid "and it is assumed unchanged." +#. type: Title - +#: en/git-rev-parse.txt:294 +#, no-wrap +msgid "PARSEOPT" msgstr "" #. type: Plain text -#: en/git-update-index.txt:369 -msgid "even after you edit it." +#: en/git-rev-parse.txt:299 +msgid "" +"In `--parseopt` mode, 'git rev-parse' helps massaging options to bring to " +"shell scripts the same facilities C builtins have. It works as an option " +"normalizer (e.g. splits single switches aggregate values), a bit like " +"`getopt(1)` does." msgstr "" #. type: Plain text -#: en/git-update-index.txt:370 -msgid "you can tell about the change after the fact." +#: en/git-rev-parse.txt:304 +msgid "" +"It takes on the standard input the specification of the options to parse and " +"understand, and echoes on the standard output a string suitable for `sh(1)` " +"`eval` to replace the arguments with normalized ones. In case of error, it " +"outputs usage on the standard error stream, and exits with code 129." msgstr "" #. type: Plain text -#: en/git-update-index.txt:371 -msgid "now it checks with lstat(2) and finds it has been changed." +#: en/git-rev-parse.txt:307 +msgid "" +"Note: Make sure you quote the result when passing it to `eval`. See below " +"for an example." msgstr "" -#. type: Title - -#: en/git-update-index.txt:374 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "Skip-worktree bit" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-update-index.txt:380 +#: en/git-rev-parse.txt:315 msgid "" -"Skip-worktree bit can be defined in one (long) sentence: When reading an " -"entry, if it is marked as skip-worktree, then Git pretends its working " -"directory version is up to date and read the index version instead." +"'git rev-parse --parseopt' input format is fully text based. It has two " +"parts, separated by a line that contains only `--`. The lines before the " +"separator (should be one or more) are used for the usage. The lines after " +"the separator describe the options." msgstr "" #. type: Plain text -#: en/git-update-index.txt:388 -msgid "" -"To elaborate, \"reading\" means checking for file existence, reading file " -"attributes or file content. The working directory version may be present or " -"absent. If present, its content may match against the index version or not. " -"Writing is not affected by this bit, content safety is still first priority. " -"Note that Git _can_ update working directory file, that is marked skip-" -"worktree, if it is safe to do so (i.e. working directory version matches " -"index version)" +#: en/git-rev-parse.txt:317 +msgid "Each line of options has this format:" +msgstr "" + +#. type: delimited block - +#: en/git-rev-parse.txt:320 +#, no-wrap +msgid "<opt-spec><flags>*<arg-hint>? SP+ help LF\n" +msgstr "" + +#. type: Labeled list +#: en/git-rev-parse.txt:322 +#, no-wrap +msgid "`<opt-spec>`" msgstr "" #. type: Plain text -#: en/git-update-index.txt:392 +#: en/git-rev-parse.txt:327 msgid "" -"Although this bit looks similar to assume-unchanged bit, its goal is " -"different from assume-unchanged bit's. Skip-worktree also takes precedence " -"over assume-unchanged bit when both are set." +"its format is the short option character, then the long option name " +"separated by a comma. Both parts are not required, though at least one is " +"necessary. May not contain any of the `<flags>` characters. `h,help`, `dry-" +"run` and `f` are examples of correct `<opt-spec>`." msgstr "" -#. type: Title - -#: en/git-update-index.txt:394 +#. type: Labeled list +#: en/git-rev-parse.txt:328 #, no-wrap -msgid "Split index" +msgid "`<flags>`" msgstr "" #. type: Plain text -#: en/git-update-index.txt:398 -msgid "" -"This mode is designed for repositories with very large indexes, and aims at " -"reducing the time it takes to repeatedly write these indexes." +#: en/git-rev-parse.txt:330 +msgid "`<flags>` are of `*`, `=`, `?` or `!`." msgstr "" #. type: Plain text -#: en/git-update-index.txt:403 -msgid "" -"In this mode, the index is split into two files, $GIT_DIR/index and $GIT_DIR/" -"sharedindex.<SHA-1>. Changes are accumulated in $GIT_DIR/index, the split " -"index, while the shared index file contains all index entries and stays " -"unchanged." +#: en/git-rev-parse.txt:331 +msgid "Use `=` if the option takes an argument." msgstr "" #. type: Plain text -#: en/git-update-index.txt:408 +#: en/git-rev-parse.txt:335 msgid "" -"All changes in the split index are pushed back to the shared index file when " -"the number of entries in the split index reaches a level specified by the " -"splitIndex.maxPercentChange config variable (see linkgit:git-config[1])." +"Use `?` to mean that the option takes an optional argument. You probably " +"want to use the `--stuck-long` mode to be able to unambiguously parse the " +"optional argument." msgstr "" #. type: Plain text -#: en/git-update-index.txt:413 +#: en/git-rev-parse.txt:339 msgid "" -"Each time a new shared index file is created, the old shared index files are " -"deleted if their modification time is older than what is specified by the " -"splitIndex.sharedIndexExpire config variable (see linkgit:git-config[1])." +"Use `*` to mean that this option should not be listed in the usage generated " +"for the `-h` argument. It's shown for `--help-all` as documented in linkgit:" +"gitcli[7]." msgstr "" #. type: Plain text -#: en/git-update-index.txt:417 -msgid "" -"To avoid deleting a shared index file that is still used, its modification " -"time is updated to the current time everytime a new split index based on the " -"shared index file is either created or read from." +#: en/git-rev-parse.txt:341 +msgid "Use `!` to not make the corresponding negated long option available." msgstr "" -#. type: Title - -#: en/git-update-index.txt:419 +#. type: Labeled list +#: en/git-rev-parse.txt:342 #, no-wrap -msgid "Untracked cache" +msgid "`<arg-hint>`" msgstr "" #. type: Plain text -#: en/git-update-index.txt:423 +#: en/git-rev-parse.txt:347 msgid "" -"This cache is meant to speed up commands that involve determining untracked " -"files such as `git status`." +"`<arg-hint>`, if specified, is used as a name of the argument in the help " +"output, for options that take arguments. `<arg-hint>` is terminated by the " +"first whitespace. It is customary to use a dash to separate words in a " +"multi-word argument hint." msgstr "" #. type: Plain text -#: en/git-update-index.txt:430 +#: en/git-rev-parse.txt:350 msgid "" -"This feature works by recording the mtime of the working tree directories " -"and then omitting reading directories and stat calls against files in those " -"directories whose mtime hasn't changed. For this to work the underlying " -"operating system and file system must change the `st_mtime` field of " -"directories if files in the directory are added, modified or deleted." +"The remainder of the line, after stripping the spaces, is used as the help " +"associated to the option." msgstr "" #. type: Plain text -#: en/git-update-index.txt:435 +#: en/git-rev-parse.txt:354 msgid "" -"You can test whether the filesystem supports that with the `--test-untracked-" -"cache` option. The `--untracked-cache` option used to implicitly perform " -"that test in older versions of Git, but that's no longer the case." +"Blank lines are ignored, and lines that don't match this specification are " +"used as option group headers (start the line with a space to create such " +"lines on purpose)." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:443 +#. type: delimited block - +#: en/git-rev-parse.txt:361 +#, no-wrap msgid "" -"If you want to enable (or disable) this feature, it is easier to use the " -"`core.untrackedCache` configuration variable (see linkgit:git-config[1]) " -"than using the `--untracked-cache` option to `git update-index` in each " -"repository, especially if you want to do so across all repositories you use, " -"because you can set the configuration variable to `true` (or `false`) in " -"your `$HOME/.gitconfig` just once and have it affect all repositories you " -"touch." +"OPTS_SPEC=\"\\\n" +"some-command [options] <args>...\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:449 +#. type: delimited block - +#: en/git-rev-parse.txt:363 +#, no-wrap msgid "" -"When the `core.untrackedCache` configuration variable is changed, the " -"untracked cache is added to or removed from the index the next time a " -"command reads the index; while when `--[no-|force-]untracked-cache` are " -"used, the untracked cache is immediately added to or removed from the index." +"some-command does foo and bar!\n" +"--\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:460 +#. type: delimited block - +#: en/git-rev-parse.txt:365 #, no-wrap -msgid "" -"The command honors `core.filemode` configuration variable. If\n" -"your repository is on a filesystem whose executable bits are\n" -"unreliable, this should be set to 'false' (see linkgit:git-config[1]).\n" -"This causes the command to ignore differences in file modes recorded\n" -"in the index and the file mode on the filesystem if they differ only on\n" -"executable bit. On such an unfortunate filesystem, you may\n" -"need to use 'git update-index --chmod='.\n" +msgid "h,help show the help\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:465 +#. type: delimited block - +#: en/git-rev-parse.txt:370 +#, no-wrap msgid "" -"Quite similarly, if `core.symlinks` configuration variable is set to " -"'false' (see linkgit:git-config[1]), symbolic links are checked out as plain " -"files, and this command does not modify a recorded file mode from symbolic " -"link to regular file." +"foo some nifty option --foo\n" +"bar= some cool option --bar with an argument\n" +"baz=arg another cool option --baz with a named argument\n" +"qux?path qux may take a path argument but has meaning by itself\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:468 +#. type: delimited block - +#: en/git-rev-parse.txt:373 +#, no-wrap msgid "" -"The command looks at `core.ignorestat` configuration variable. See 'Using " -"\"assume unchanged\" bit' section above." +" An option group Header\n" +"C? option C with an optional argument\"\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:473 -msgid "" -"The command also looks at `core.trustctime` configuration variable. It can " -"be useful when the inode change time is regularly modified by something " -"outside Git (file system crawlers and backup systems use ctime for marking " -"files processed) (see linkgit:git-config[1])." +#. type: delimited block - +#: en/git-rev-parse.txt:375 +#, no-wrap +msgid "eval \"$(echo \"$OPTS_SPEC\" | git rev-parse --parseopt -- \"$@\" || echo exit $?)\"\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:477 -#, fuzzy -#| msgid "" -#| "The default can be changed by the `commit.cleanup` configuration variable " -#| "(see linkgit:git-config[1])." -msgid "" -"The untracked cache extension can be enabled by the `core.untrackedCache` " -"configuration variable (see linkgit:git-config[1])." +#. type: Title ~ +#: en/git-rev-parse.txt:379 +#, no-wrap +msgid "Usage text" msgstr "" -"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " -"`commit.cleanup` (voir linkgit:git-config[1])." -# #. type: Plain text -#: en/git-update-index.txt:483 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-config[1], linkgit:git-add[1], linkgit:git-ls-files[1]" +#: en/git-rev-parse.txt:383 +msgid "" +"When `\"$@\"` is `-h` or `--help` in the above example, the following usage " +"text would be shown:" msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-update-ref.txt:2 +#. type: delimited block - +#: en/git-rev-parse.txt:386 #, no-wrap -msgid "git-update-ref(1)" -msgstr "" - -#. type: Plain text -#: en/git-update-ref.txt:7 -msgid "git-update-ref - Update the object name stored in a ref safely" +msgid "usage: some-command [options] <args>...\n" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:12 +#. type: delimited block - +#: en/git-rev-parse.txt:388 #, no-wrap -msgid "'git update-ref' [-m <reason>] (-d <ref> [<oldvalue>] | [--no-deref] [--create-reflog] <ref> <newvalue> [<oldvalue>] | --stdin [-z])\n" +msgid " some-command does foo and bar!\n" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:18 +#. type: delimited block - +#: en/git-rev-parse.txt:394 +#, no-wrap msgid "" -"Given two arguments, stores the <newvalue> in the <ref>, possibly " -"dereferencing the symbolic refs. E.g. `git update-ref HEAD <newvalue>` " -"updates the current branch head to the new object." +" -h, --help show the help\n" +" --foo some nifty option --foo\n" +" --bar ... some cool option --bar with an argument\n" +" --baz <arg> another cool option --baz with a named argument\n" +" --qux[=<path>] qux may take a path argument but has meaning by itself\n" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:27 +#. type: delimited block - +#: en/git-rev-parse.txt:397 +#, no-wrap msgid "" -"Given three arguments, stores the <newvalue> in the <ref>, possibly " -"dereferencing the symbolic refs, after verifying that the current value of " -"the <ref> matches <oldvalue>. E.g. `git update-ref refs/heads/master " -"<newvalue> <oldvalue>` updates the master branch head to <newvalue> only if " -"its current value is <oldvalue>. You can specify 40 \"0\" or an empty " -"string as <oldvalue> to make sure that the ref you are creating does not " -"exist." +"An option group Header\n" +" -C[...] option C with an optional argument\n" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:31 -msgid "" -"It also allows a \"ref\" file to be a symbolic pointer to another ref file " -"by starting with the four-byte header sequence of \"ref:\"." +#. type: Title - +#: en/git-rev-parse.txt:400 +#, no-wrap +msgid "SQ-QUOTE" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:39 +#: en/git-rev-parse.txt:406 msgid "" -"More importantly, it allows the update of a ref file to follow these " -"symbolic pointers, whether they are symlinks or these \"regular file " -"symbolic refs\". It follows *real* symlinks only if they start with \"refs/" -"\": otherwise it will just try to read them and update them as a regular " -"file (i.e. it will allow the filesystem to follow them, but will overwrite " -"such a symlink to somewhere else with a regular filename)." +"In `--sq-quote` mode, 'git rev-parse' echoes on the standard output a single " +"line suitable for `sh(1)` `eval`. This line is made by normalizing the " +"arguments following `--sq-quote`. Nothing other than quoting the arguments " +"is done." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:42 +#: en/git-rev-parse.txt:410 msgid "" -"If --no-deref is given, <ref> itself is overwritten, rather than the result " -"of following the symbolic pointers." +"If you want command input to still be interpreted as usual by 'git rev-" +"parse' before the output is shell quoted, see the `--sq` option." msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:44 -msgid "In general, using" +#. type: delimited block - +#: en/git-rev-parse.txt:422 +#, no-wrap +msgid "" +"$ cat >your-git-script.sh <<\\EOF\n" +"#!/bin/sh\n" +"args=$(git rev-parse --sq-quote \"$@\") # quote user-supplied arguments\n" +"command=\"git frotz -n24 $args\" # and use it inside a handcrafted\n" +"\t\t\t\t\t# command line\n" +"eval \"$command\"\n" +"EOF\n" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:46 +#. type: delimited block - +#: en/git-rev-parse.txt:424 #, no-wrap -msgid "\tgit update-ref HEAD \"$head\"\n" +msgid "$ sh your-git-script.sh \"a b'c\"\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:48 -msgid "should be a _lot_ safer than doing" +#: en/git-rev-parse.txt:430 +msgid "Print the object name of the current commit:" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:50 +#. type: delimited block - +#: en/git-rev-parse.txt:433 #, no-wrap -msgid "\techo \"$head\" > \"$GIT_DIR/HEAD\"\n" +msgid "$ git rev-parse --verify HEAD\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:57 +#: en/git-rev-parse.txt:436 msgid "" -"both from a symlink following standpoint *and* an error checking " -"standpoint. The \"refs/\" rule for symlinks means that symlinks that point " -"to \"outside\" the tree are safe: they'll be followed for reading but not " -"for writing (so we'll never write through a ref symlink to some other tree, " -"if you have copied a whole archive by creating a symlink tree)." +"Print the commit object name from the revision in the $REV shell variable:" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:60 -msgid "" -"With `-d` flag, it deletes the named <ref> after verifying it still contains " -"<oldvalue>." +#. type: delimited block - +#: en/git-rev-parse.txt:439 +#, no-wrap +msgid "$ git rev-parse --verify $REV^{commit}\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:63 -msgid "" -"With `--stdin`, update-ref reads instructions from standard input and " -"performs all modifications together. Specify commands of the form:" +#: en/git-rev-parse.txt:442 +msgid "This will error out if $REV is empty or not a valid revision." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:69 -#, no-wrap -msgid "" -"\tupdate SP <ref> SP <newvalue> [SP <oldvalue>] LF\n" -"\tcreate SP <ref> SP <newvalue> LF\n" -"\tdelete SP <ref> [SP <oldvalue>] LF\n" -"\tverify SP <ref> [SP <oldvalue>] LF\n" -"\toption SP <opt> LF\n" +#: en/git-rev-parse.txt:444 +msgid "Similar to above:" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:72 -msgid "" -"With `--create-reflog`, update-ref will create a reflog for each ref even if " -"one would not ordinarily be created." +#. type: delimited block - +#: en/git-rev-parse.txt:447 +#, no-wrap +msgid "$ git rev-parse --default master --verify $REV\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:77 +#: en/git-rev-parse.txt:450 msgid "" -"Quote fields containing whitespace as if they were strings in C source code; " -"i.e., surrounded by double-quotes and with backslash escapes. Use 40 \"0\" " -"characters or the empty string to specify a zero value. To specify a " -"missing value, omit the value and its preceding SP entirely." +"but if $REV is empty, the commit object name from master will be printed." msgstr "" +#. type: Title = +#: en/git-rm.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-rm(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/git-update-ref.txt:80 -msgid "" -"Alternatively, use `-z` to specify in NUL-terminated format, without quoting:" +#: en/git-rm.txt:7 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "git-rm - Remove files from the working tree and from the index" msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/git-update-ref.txt:86 +#: en/git-rm.txt:12 #, no-wrap -msgid "" -"\tupdate SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL\n" -"\tcreate SP <ref> NUL <newvalue> NUL\n" -"\tdelete SP <ref> NUL [<oldvalue>] NUL\n" -"\tverify SP <ref> NUL [<oldvalue>] NUL\n" -"\toption SP <opt> NUL\n" +msgid "'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>...\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:89 +#: en/git-rm.txt:25 msgid "" -"In this format, use 40 \"0\" to specify a zero value, and use the empty " -"string to specify a missing value." +"Remove files from the index, or from the working tree and the index. `git " +"rm` will not remove a file from just your working directory. (There is no " +"option to remove a file only from the working tree and yet keep it in the " +"index; use `/bin/rm` if you want to do that.) The files being removed have " +"to be identical to the tip of the branch, and no updates to their contents " +"can be staged in the index, though that default behavior can be overridden " +"with the `-f` option. When `--cached` is given, the staged content has to " +"match either the tip of the branch or the file on disk, allowing the file to " +"be removed from just the index." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:93 +#: en/git-rm.txt:38 msgid "" -"In either format, values can be specified in any form that Git recognizes as " -"an object name. Commands in any other format or a repeated <ref> produce an " -"error. Command meanings are:" +"Files to remove. Fileglobs (e.g. `*.c`) can be given to remove all matching " +"files. If you want Git to expand file glob characters, you may need to " +"shell-escape them. A leading directory name (e.g. `dir` to remove `dir/" +"file1` and `dir/file2`) can be given to remove all files in the directory, " +"and recursively all sub-directories, but this requires the `-r` option to be " +"explicitly given." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:99 -msgid "" -"Set <ref> to <newvalue> after verifying <oldvalue>, if given. Specify a " -"zero <newvalue> to ensure the ref does not exist after the update and/or a " -"zero <oldvalue> to make sure the ref does not exist before the update." +#: en/git-rm.txt:42 +#, fuzzy +#| msgid "" +#| "--date=<date>::\n" +#| "\tOverride the author date used in the commit.\n" +msgid "Override the up-to-date check." msgstr "" +"--date=<date>::\n" +"\tSurcharger la date d'auteur utilis챕e dans le commit.\n" #. type: Plain text -#: en/git-update-ref.txt:103 +#: en/git-rm.txt:48 +#, fuzzy +#| msgid "" +#| "-n::\n" +#| "--dry-run::\n" +#| "\tDon't actually add the file(s), just show if they exist and/or will\n" +#| "\tbe ignored.\n" msgid "" -"Create <ref> with <newvalue> after verifying it does not exist. The given " -"<newvalue> may not be zero." +"Don't actually remove any file(s). Instead, just show if they exist in the " +"index and would otherwise be removed by the command." msgstr "" +"-n::\n" +"--dry-run::\n" +"\tN'ajoute pas r챕ellement les fichiers. Montrer juste s'ils existent\n" +"\tou seront ignor챕s.\n" -#. type: Labeled list -#: en/git-update-ref.txt:104 -#, no-wrap -msgid "delete" +#. type: Plain text +#: en/git-rm.txt:52 +msgid "Allow recursive removal when a leading directory name is given." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:107 +#: en/git-rm.txt:62 msgid "" -"Delete <ref> after verifying it exists with <oldvalue>, if given. If given, " -"<oldvalue> may not be zero." +"Use this option to unstage and remove paths only from the index. Working " +"tree files, whether modified or not, will be left alone." msgstr "" #. type: Labeled list -#: en/git-update-ref.txt:108 +#: en/git-rm.txt:63 #, no-wrap -msgid "verify" +msgid "--ignore-unmatch" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:111 -msgid "" -"Verify <ref> against <oldvalue> but do not change it. If <oldvalue> zero or " -"missing, the ref must not exist." +#: en/git-rm.txt:65 +msgid "Exit with a zero status even if no files matched." msgstr "" -#. type: Labeled list -#: en/git-update-ref.txt:112 -#, fuzzy, no-wrap -#| msgid "status" -msgid "option" -msgstr "status" +#. type: Plain text +#: en/git-rm.txt:70 +msgid "" +"`git rm` normally outputs one line (in the form of an `rm` command) for " +"each file removed. This option suppresses that output." +msgstr "" #. type: Plain text -#: en/git-update-ref.txt:116 +#: en/git-rm.txt:79 msgid "" -"Modify behavior of the next command naming a <ref>. The only valid option " -"is `no-deref` to avoid dereferencing a symbolic ref." +"The <file> list given to the command can be exact pathnames, file glob " +"patterns, or leading directory names. The command removes only the paths " +"that are known to Git. Giving the name of a file that you have not told Git " +"about does not remove that file." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:122 +#: en/git-rm.txt:84 msgid "" -"If all <ref>s can be locked with matching <oldvalue>s simultaneously, all " -"modifications are performed. Otherwise, no modifications are performed. " -"Note that while each individual <ref> is updated or deleted atomically, a " -"concurrent reader may still see a subset of the modifications." +"File globbing matches across directory boundaries. Thus, given two " +"directories `d` and `d2`, there is a difference between using `git rm 'd*'` " +"and `git rm 'd/*'`, as the former will also remove all of directory `d2`." msgstr "" #. type: Title - -#: en/git-update-ref.txt:124 +#: en/git-rm.txt:86 #, no-wrap -msgid "Logging Updates" +msgid "REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:131 +#: en/git-rm.txt:91 msgid "" -"If config parameter \"core.logAllRefUpdates\" is true and the ref is one " -"under \"refs/heads/\", \"refs/remotes/\", \"refs/notes/\", or the symbolic " -"ref HEAD; or the file \"$GIT_DIR/logs/<ref>\" exists then `git update-ref` " -"will append a line to the log file \"$GIT_DIR/logs/<ref>\" (dereferencing " -"all symbolic refs before creating the log name) describing the change in ref " -"value. Log lines are formatted as:" +"There is no option for `git rm` to remove from the index only the paths that " +"have disappeared from the filesystem. However, depending on the use case, " +"there are several ways that can be done." msgstr "" +#. type: Title ~ +#: en/git-rm.txt:93 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "Using ``git commit -a''" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-update-ref.txt:133 -msgid "oldsha1 SP newsha1 SP committer LF" +#: en/git-rm.txt:100 +msgid "" +"If you intend that your next commit should record all modifications of " +"tracked files in the working tree and record all removals of files that have " +"been removed from the working tree with `rm` (as opposed to `git rm`), use " +"`git commit -a`, as it will automatically notice and record all removals. " +"You can also have a similar effect without committing by using `git add -u`." msgstr "" +#. type: Title ~ +#: en/git-rm.txt:102 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "Using ``git add -A''" +msgstr "$ git commit\n" + #. type: Plain text -#: en/git-update-ref.txt:138 +#: en/git-rm.txt:106 msgid "" -"Where \"oldsha1\" is the 40 character hexadecimal value previously stored in " -"<ref>, \"newsha1\" is the 40 character hexadecimal value of <newvalue> and " -"\"committer\" is the committer's name, email address and date in the " -"standard Git committer ident format." +"When accepting a new code drop for a vendor branch, you probably want to " +"record both the removal of paths and additions of new paths as well as " +"modifications of existing paths." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:140 -msgid "Optionally with -m:" +#: en/git-rm.txt:109 +msgid "" +"Typically you would first remove all tracked files from the working tree " +"using this command:" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:142 -msgid "oldsha1 SP newsha1 SP committer TAB message LF" +#. type: delimited block - +#: en/git-rm.txt:112 +#, no-wrap +msgid "git ls-files -z | xargs -0 rm -f\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:145 +#: en/git-rm.txt:116 msgid "" -"Where all fields are as described above and \"message\" is the value " -"supplied to the -m option." +"and then untar the new code in the working tree. Alternately you could " +"'rsync' the changes into the working tree." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:149 +#: en/git-rm.txt:119 msgid "" -"An update will fail (without changing <ref>) if the current user is unable " -"to create a new log file, append to the existing log file or does not have " -"committer information available." +"After that, the easiest way to record all removals, additions, and " +"modifications in the working tree is:" msgstr "" -#. type: Title = -#: en/git-update-server-info.txt:2 -#, no-wrap -msgid "git-update-server-info(1)" -msgstr "" +#. type: delimited block - +#: en/git-rm.txt:122 +#, fuzzy, no-wrap +#| msgid "$ git add git-*.sh\n" +msgid "git add -A\n" +msgstr "$ git add git-*.sh\n" #. type: Plain text -#: en/git-update-server-info.txt:7 -msgid "" -"git-update-server-info - Update auxiliary info file to help dumb servers" +#: en/git-rm.txt:125 +msgid "See linkgit:git-add[1]." msgstr "" -#. type: Plain text -#: en/git-update-server-info.txt:13 +#. type: Title ~ +#: en/git-rm.txt:127 #, no-wrap -msgid "'git update-server-info' [--force]\n" +msgid "Other ways" msgstr "" #. type: Plain text -#: en/git-update-server-info.txt:21 +#: en/git-rm.txt:132 msgid "" -"A dumb server that does not do on-the-fly pack generations must have some " -"auxiliary information files in $GIT_DIR/info and $GIT_OBJECT_DIRECTORY/info " -"directories to help clients discover what references and packs the server " -"has. This command generates such auxiliary files." +"If all you really want to do is to remove from the index the files that are " +"no longer present in the working tree (perhaps because your working tree is " +"dirty so that you cannot use `git commit -a`), use the following command:" msgstr "" -#. type: Plain text -#: en/git-update-server-info.txt:29 -#, fuzzy -#| msgid "" -#| "-f::\n" -#| "--force::\n" -#| "\tAllow adding otherwise ignored files.\n" -msgid "Update the info files from scratch." +#. type: delimited block - +#: en/git-rm.txt:135 +#, no-wrap +msgid "git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached\n" msgstr "" -"-f::\n" -"--force::\n" -"\tForce l'ajout de fichiers qui sont normalement ignor챕s.\n" #. type: Plain text -#: en/git-update-server-info.txt:37 +#: en/git-rm.txt:147 msgid "" -"Currently the command updates the following files. Please see linkgit:" -"gitrepository-layout[5] for description of what they are for:" +"Only submodules using a gitfile (which means they were cloned with a Git " +"version 1.7.8 or newer) will be removed from the work tree, as their " +"repository lives inside the .git directory of the superproject. If a " +"submodule (or one of those nested inside it) still uses a .git directory, " +"`git rm` will fail - no matter if forced or not - to protect the submodule's " +"history. If it exists the submodule.<name> section in the linkgit:" +"gitmodules[5] file will also be removed and that file will be staged (unless " +"--cached or -n are used)." msgstr "" #. type: Plain text -#: en/git-update-server-info.txt:39 -msgid "objects/info/packs" +#: en/git-rm.txt:153 +msgid "" +"A submodule is considered up-to-date when the HEAD is the same as recorded " +"in the index, no tracked files are modified and no untracked files that " +"aren't ignored are present in the submodules work tree. Ignored files are " +"deemed expendable and won't stop a submodule's work tree from being removed." msgstr "" #. type: Plain text -#: en/git-update-server-info.txt:41 -msgid "info/refs" -msgstr "" - -#. type: Title = -#: en/git-upload-archive.txt:2 -#, no-wrap -msgid "git-upload-archive(1)" +#: en/git-rm.txt:157 +msgid "" +"If you only want to remove the local checkout of a submodule from your work " +"tree without committing the removal, use linkgit:git-submodule[1] `deinit` " +"instead." msgstr "" -#. type: Plain text -#: en/git-upload-archive.txt:7 -msgid "git-upload-archive - Send archive back to git-archive" -msgstr "" +#. type: Labeled list +#: en/git-rm.txt:160 +#, fuzzy, no-wrap +#| msgid "$ git add Documentation/\\*.txt\n" +msgid "`git rm Documentation/\\*.txt`" +msgstr "$ git add Documentation/\\*.txt\n" +# #. type: Plain text -#: en/git-upload-archive.txt:13 -#, no-wrap -msgid "'git upload-archive' <directory>\n" +#: en/git-rm.txt:163 +#, fuzzy +#| msgid "" +#| "Adds content from all `*.txt` files under `Documentation` directory and " +#| "its subdirectories:" +msgid "" +"Removes all `*.txt` files from the index that are under the `Documentation` " +"directory and any of its subdirectories." msgstr "" +"Ajouter le contenu de tous le fichiers `*.txt` sous le r챕pertoire " +"`Documentation` et ses sous r챕pertoires." +# #. type: Plain text -#: en/git-upload-archive.txt:18 +#: en/git-rm.txt:167 +#, fuzzy +#| msgid "" +#| "Note that the asterisk `*` is quoted from the shell in this example; this " +#| "lets the command include the files from subdirectories of `Documentation/" +#| "` directory." msgid "" -"Invoked by 'git archive --remote' and sends a generated archive to the other " -"end over the Git protocol." +"Note that the asterisk `*` is quoted from the shell in this example; this " +"lets Git, and not the shell, expand the pathnames of files and " +"subdirectories under the `Documentation/` directory." msgstr "" +"Remarquez que l'ast챕risque `*` est 챕chapp챕 du shell dans cet exemple혻; cela " +"permet d'inclure les fichiers dans les sous-r챕pertoires du R챕pertoire " +"`Documentation/`." + +#. type: Labeled list +#: en/git-rm.txt:168 +#, fuzzy, no-wrap +#| msgid "$ git add git-*.sh\n" +msgid "`git rm -f git-*.sh`" +msgstr "$ git add git-*.sh\n" +# #. type: Plain text -#: en/git-upload-archive.txt:22 +#: en/git-rm.txt:172 +#, fuzzy +#| msgid "" +#| "Because this example lets the shell expand the asterisk (i.e. you are " +#| "listing the files explicitly), it does not consider `subdir/git-foo.sh`." msgid "" -"This command is usually not invoked directly by the end user. The UI for " -"the protocol is on the 'git archive' side, and the program pair is meant to " -"be used to get an archive from a remote repository." -msgstr "" - -#. type: Title - -#: en/git-upload-archive.txt:24 en/transfer-data-leaks.txt:2 -#, no-wrap -msgid "SECURITY" +"Because this example lets the shell expand the asterisk (i.e. you are " +"listing the files explicitly), it does not remove `subdir/git-foo.sh`." msgstr "" +"Comme cet exemple laisse le shell r챕aliser l'expansion de l'ast챕risque " +"(c'est-횪-dire que vous listez explicitement les fichiers du r챕pertoire), il " +"ne traite pas `subdir/git-foo.sh`." #. type: Plain text -#: en/git-upload-archive.txt:32 +#: en/git-rm.txt:181 msgid "" -"In order to protect the privacy of objects that have been removed from " -"history but may not yet have been pruned, `git-upload-archive` avoids " -"serving archives for commits and trees that are not reachable from the " -"repository's refs. However, because calculating object reachability is " -"computationally expensive, `git-upload-archive` implements a stricter but " -"easier-to-check set of rules:" +"Each time a superproject update removes a populated submodule (e.g. when " +"switching between commits before and after the removal) a stale submodule " +"checkout will remain in the old location. Removing the old directory is only " +"safe when it uses a gitfile, as otherwise the history of the submodule will " +"be deleted too. This step will be obsolete when recursive submodule update " +"has been implemented." msgstr "" +#. type: Title = +#: en/git-send-email.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-send-email(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-upload-archive.txt:35 -msgid "" -"Clients may request a commit or tree that is pointed to directly by a ref. E." -"g., `git archive --remote=origin v1.0`." +#: en/git-send-email.txt:7 +msgid "git-send-email - Send a collection of patches as emails" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:38 +#: en/git-send-email.txt:14 +#, no-wrap msgid "" -"Clients may request a sub-tree within a commit or tree using the `ref:path` " -"syntax. E.g., `git archive --remote=origin v1.0:Documentation`." +"'git send-email' [options] <file|directory|rev-list options>...\n" +"'git send-email' --dump-aliases\n" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:43 +#: en/git-send-email.txt:23 msgid "" -"Clients may _not_ use other sha1 expressions, even if the end result is " -"reachable. E.g., neither a relative commit like `master^` nor a literal sha1 " -"like `abcd1234` is allowed, even if the result is reachable from the refs." +"Takes the patches given on the command line and emails them out. Patches " +"can be specified as files, directories (which will send all files in the " +"directory), or directly as a revision list. In the last case, any format " +"accepted by linkgit:git-format-patch[1] can be passed to git send-email." msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:48 +#: en/git-send-email.txt:27 msgid "" -"Note that rule 3 disallows many cases that do not have any privacy " -"implications. These rules are subject to change in future versions of git, " -"and the server accessed by `git archive --remote` may or may not follow " -"these exact rules." +"The header of the email is configurable via command-line options. If not " +"specified on the command line, the user will be prompted with a ReadLine " +"enabled interface to provide the necessary information." msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:54 -msgid "" -"If the config option `uploadArchive.allowUnreachable` is true, these rules " -"are ignored, and clients may use arbitrary sha1 expressions. This is useful " -"if you do not care about the privacy of unreachable objects, or if your " -"object database is already publicly available for access via non-smart-http." +#: en/git-send-email.txt:29 +msgid "There are two formats accepted for patch files:" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:59 -msgid "The repository to get a tar archive from." +#: en/git-send-email.txt:31 +msgid "mbox format files" msgstr "" -#. type: Title = -#: en/git-upload-pack.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-upload-pack(1)" -msgstr "git-add(1)" - #. type: Plain text -#: en/git-upload-pack.txt:7 -msgid "git-upload-pack - Send objects packed back to git-fetch-pack" +#: en/git-send-email.txt:34 +msgid "" +"This is what linkgit:git-format-patch[1] generates. Most headers and MIME " +"formatting are ignored." msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:15 -#, no-wrap +#: en/git-send-email.txt:37 msgid "" -"'git-upload-pack' [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n" -"\t\t [--advertise-refs] <directory>\n" -"DESCRIPTION\n" +"The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' " +"script" msgstr "" -#. type: delimited block - -#: en/git-upload-pack.txt:18 -#, no-wrap +#. type: Plain text +#: en/git-send-email.txt:40 msgid "" -"Invoked by 'git fetch-pack', learns what\n" -"objects the other side is missing, and sends them after packing.\n" +"This format expects the first line of the file to contain the \"Cc:\" value " +"and the \"Subject:\" of the message as the second line." msgstr "" -#. type: delimited block - -#: en/git-upload-pack.txt:23 +#. type: Title ~ +#: en/git-send-email.txt:46 #, no-wrap -msgid "" -"This command is usually not invoked directly by the end user.\n" -"The UI for the protocol is on the 'git fetch-pack' side, and the\n" -"program pair is meant to be used to pull updates from a remote\n" -"repository. For push operations, see 'git send-pack'.\n" +msgid "Composing" msgstr "" -#. type: delimited block - -#: en/git-upload-pack.txt:26 +#. type: Labeled list +#: en/git-send-email.txt:48 en/git-tag.txt:60 #, fuzzy, no-wrap -#| msgid "OPTIONS" -msgid "OPTIONS\n" -msgstr "OPTIONS" +#| msgid "git-commit(1)" +msgid "--annotate" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-send-email.txt:52 +msgid "" +"Review and edit each patch you're about to send. Default is the value of " +"`sendemail.annotate`. See the CONFIGURATION section for `sendemail." +"multiEdit`." +msgstr "" #. type: Labeled list -#: en/git-upload-pack.txt:28 +#: en/git-send-email.txt:53 #, no-wrap -msgid "--[no-]strict" +msgid "--bcc=<address>,..." msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:30 -msgid "Do not try <directory>/.git/ if <directory> is no Git directory." +#: en/git-send-email.txt:56 +msgid "" +"Specify a \"Bcc:\" value for each email. Default is the value of `sendemail." +"bcc`." msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:33 -msgid "Interrupt transfer after <n> seconds of inactivity." +#: en/git-send-email.txt:58 en/git-send-email.txt:64 en/git-send-email.txt:121 +msgid "This option may be specified multiple times." msgstr "" #. type: Labeled list -#: en/git-upload-pack.txt:34 +#: en/git-send-email.txt:59 #, no-wrap -msgid "--stateless-rpc" +msgid "--cc=<address>,..." msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:38 +#: en/git-send-email.txt:62 msgid "" -"Perform only a single read-write cycle with stdin and stdout. This fits " -"with the HTTP POST request processing model where a program may read the " -"request, write a response, and must exit." +"Specify a starting \"Cc:\" value for each email. Default is the value of " +"`sendemail.cc`." msgstr "" #. type: Labeled list -#: en/git-upload-pack.txt:39 +#: en/git-send-email.txt:65 #, no-wrap -msgid "--advertise-refs" +msgid "--compose" msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:43 +#: en/git-send-email.txt:68 msgid "" -"Only the initial ref advertisement is output, and the program exits " -"immediately. This fits with the HTTP GET request model, where no request " -"content is received but a response must be produced." +"Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1]) to edit an " +"introductory message for the patch series." msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:46 -msgid "The repository to sync from." +#: en/git-send-email.txt:74 +msgid "" +"When `--compose` is used, git send-email will use the From, Subject, and In-" +"Reply-To headers specified in the message. If the body of the message (what " +"you type after the headers and a blank line) only contains blank (or Git: " +"prefixed) lines, the summary won't be sent, but From, Subject, and In-Reply-" +"To headers will be used unless they are removed." msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:50 -#, fuzzy -#| msgid "git-commit(1)" -msgid "linkgit:gitnamespaces[7]" -msgstr "git-commit(1)" - -#. type: Title = -#: en/git-var.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-var(1)" -msgstr "git-add(1)" +#: en/git-send-email.txt:76 +msgid "Missing From or In-Reply-To headers will be prompted for." +msgstr "" #. type: Plain text -#: en/git-var.txt:7 -msgid "git-var - Show a Git logical variable" +#: en/git-send-email.txt:78 +msgid "See the CONFIGURATION section for `sendemail.multiEdit`." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:79 +#, no-wrap +msgid "--from=<address>" msgstr "" #. type: Plain text -#: en/git-var.txt:13 +#: en/git-send-email.txt:86 +msgid "" +"Specify the sender of the emails. If not specified on the command line, the " +"value of the `sendemail.from` configuration option is used. If neither the " +"command-line option nor `sendemail.from` are set, then the user will be " +"prompted for the value. The default for the prompt will be the value of " +"GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not set, as returned by " +"\"git var -l\"." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:87 #, no-wrap -msgid "'git var' ( -l | <variable> )\n" +msgid "--in-reply-to=<identifier>" msgstr "" #. type: Plain text -#: en/git-var.txt:17 -msgid "Prints a Git logical variable." +#: en/git-send-email.txt:93 +msgid "" +"Make the first mail (or all the mails with `--no-thread`) appear as a reply " +"to the given Message-Id, which avoids breaking threads to provide a new " +"patch series. The second and subsequent emails will be sent as replies " +"according to the `--[no-]chain-reply-to` setting." msgstr "" #. type: Plain text -#: en/git-var.txt:25 +#: en/git-send-email.txt:97 msgid "" -"Cause the logical variables to be listed. In addition, all the variables of " -"the Git configuration file .git/config are listed as well. (However, the " -"configuration variables listing functionality is deprecated in favor of `git " -"config -l`.)" +"So for example when `--thread` and `--no-chain-reply-to` are specified, the " +"second and subsequent patches will be replies to the first one like in the " +"illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:" msgstr "" -#. type: delimited block - -#: en/git-var.txt:30 +#. type: Plain text +#: en/git-send-email.txt:105 #, no-wrap msgid "" -"\t$ git var GIT_AUTHOR_IDENT\n" -"\tEric W. Biederman <ebiederm@lnxi.com> 1121223278 -0600\n" +" [PATCH 0/2] Here is what I did...\n" +" [PATCH 1/2] Clean up and tests\n" +" [PATCH 2/2] Implementation\n" +" [PATCH v2 0/3] Here is a reroll\n" +" [PATCH v2 1/3] Clean up\n" +" [PATCH v2 2/3] New tests\n" +" [PATCH v2 3/3] Implementation\n" msgstr "" -#. type: delimited block - -#: en/git-var.txt:33 -#, no-wrap -msgid "VARIABLES\n" +#. type: Plain text +#: en/git-send-email.txt:108 +msgid "" +"Only necessary if --compose is also set. If --compose is not set, this will " +"be prompted for." msgstr "" #. type: Labeled list -#: en/git-var.txt:34 +#: en/git-send-email.txt:109 #, no-wrap -msgid "GIT_AUTHOR_IDENT" +msgid "--subject=<string>" msgstr "" #. type: Plain text -#: en/git-var.txt:36 -msgid "The author of a piece of code." +#: en/git-send-email.txt:113 +msgid "" +"Specify the initial subject of the email thread. Only necessary if --" +"compose is also set. If --compose is not set, this will be prompted for." msgstr "" #. type: Labeled list -#: en/git-var.txt:37 +#: en/git-send-email.txt:114 #, no-wrap -msgid "GIT_COMMITTER_IDENT" +msgid "--to=<address>,..." msgstr "" #. type: Plain text -#: en/git-var.txt:39 -msgid "The person who put a piece of code into Git." +#: en/git-send-email.txt:119 +msgid "" +"Specify the primary recipient of the emails generated. Generally, this will " +"be the upstream maintainer of the project involved. Default is the value of " +"the `sendemail.to` configuration value; if that is unspecified, and --to-cmd " +"is not specified, this will be prompted for." msgstr "" #. type: Labeled list -#: en/git-var.txt:40 +#: en/git-send-email.txt:122 #, no-wrap -msgid "GIT_EDITOR" +msgid "--8bit-encoding=<encoding>" msgstr "" #. type: Plain text -#: en/git-var.txt:48 +#: en/git-send-email.txt:128 msgid "" -"Text editor for use by Git commands. The value is meant to be interpreted " -"by the shell when it is used. Examples: `~/bin/vi`, `" -"$SOME_ENVIRONMENT_VARIABLE`, `\"C:\\Program Files\\Vim\\gvim.exe\" --" -"nofork`. The order of preference is the `$GIT_EDITOR` environment variable, " -"then `core.editor` configuration, then `$VISUAL`, then `$EDITOR`, and then " -"the default chosen at compile time, which is usually 'vi'." +"When encountering a non-ASCII message or subject that does not declare its " +"encoding, add headers/quoting to indicate it is encoded in <encoding>. " +"Default is the value of the 'sendemail.assume8bitEncoding'; if that is " +"unspecified, this will be prompted for if any non-ASCII files are " +"encountered." msgstr "" #. type: Plain text -#: en/git-var.txt:50 -#, no-wrap -msgid " The build you are using chose '{git-default-editor}' as the default.\n" +#: en/git-send-email.txt:130 +msgid "Note that no attempts whatsoever are made to validate the encoding." msgstr "" #. type: Labeled list -#: en/git-var.txt:52 +#: en/git-send-email.txt:131 #, no-wrap -msgid "GIT_PAGER" +msgid "--compose-encoding=<encoding>" msgstr "" #. type: Plain text -#: en/git-var.txt:58 en/config.txt:772 +#: en/git-send-email.txt:134 msgid "" -"Text viewer for use by Git commands (e.g., 'less'). The value is meant to " -"be interpreted by the shell. The order of preference is the `$GIT_PAGER` " -"environment variable, then `core.pager` configuration, then `$PAGER`, and " -"then the default chosen at compile time (usually 'less')." +"Specify encoding of compose message. Default is the value of the 'sendemail." +"composeencoding'; if that is unspecified, UTF-8 is assumed." msgstr "" -#. type: Plain text -#: en/git-var.txt:60 +#. type: Labeled list +#: en/git-send-email.txt:135 #, no-wrap -msgid " The build you are using chose '{git-default-pager}' as the default.\n" +msgid "--transfer-encoding=(7bit|8bit|quoted-printable|base64)" msgstr "" -# #. type: Plain text -#: en/git-var.txt:67 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "linkgit:git-commit-tree[1] linkgit:git-tag[1] linkgit:git-config[1]" +#: en/git-send-email.txt:144 +msgid "" +"Specify the transfer encoding to be used to send the message over SMTP. " +"7bit will fail upon encountering a non-ASCII message. quoted-printable can " +"be useful when the repository contains files that contain carriage returns, " +"but makes the raw patch email file (as saved from a MUA) much harder to " +"inspect manually. base64 is even more fool proof, but also even more " +"opaque. Default is the value of the `sendemail.transferEncoding` " +"configuration value; if that is unspecified, git will use 8bit and not add a " +"Content-Transfer-Encoding header." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" -#. type: Title = -#: en/git-verify-commit.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-verify-commit(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/git-send-email.txt:145 +#, no-wrap +msgid "--xmailer" +msgstr "" -#. type: Plain text -#: en/git-verify-commit.txt:7 -msgid "git-verify-commit - Check the GPG signature of commits" +#. type: Labeled list +#: en/git-send-email.txt:146 +#, no-wrap +msgid "--no-xmailer" msgstr "" #. type: Plain text -#: en/git-verify-commit.txt:12 +#: en/git-send-email.txt:150 +msgid "" +"Add (or prevent adding) the \"X-Mailer:\" header. By default, the header is " +"added, but it can be turned off by setting the `sendemail.xmailer` " +"configuration variable to `false`." +msgstr "" + +#. type: Title ~ +#: en/git-send-email.txt:152 #, no-wrap -msgid "'git verify-commit' <commit>...\n" +msgid "Sending" msgstr "" -#. type: Plain text -#: en/git-verify-commit.txt:16 -msgid "Validates the GPG signature created by 'git commit -S'." +#. type: Labeled list +#: en/git-send-email.txt:154 +#, no-wrap +msgid "--envelope-sender=<address>" msgstr "" #. type: Plain text -#: en/git-verify-commit.txt:22 en/git-verify-tag.txt:22 +#: en/git-send-email.txt:162 msgid "" -"Print the raw gpg status output to standard error instead of the normal " -"human-readable output." +"Specify the envelope sender used to send the emails. This is useful if your " +"default address is not the address that is subscribed to a list. In order to " +"use the 'From' address, set the value to \"auto\". If you use the sendmail " +"binary, you must have suitable privileges for the -f parameter. Default is " +"the value of the `sendemail.envelopeSender` configuration variable; if that " +"is unspecified, choosing the envelope sender is left to your MTA." msgstr "" -#. type: Plain text -#: en/git-verify-commit.txt:26 -msgid "Print the contents of the commit object before validating it." +#. type: Labeled list +#: en/git-send-email.txt:163 +#, no-wrap +msgid "--smtp-encryption=<encryption>" msgstr "" #. type: Plain text -#: en/git-verify-commit.txt:29 -msgid "SHA-1 identifiers of Git commit objects." +#: en/git-send-email.txt:167 +msgid "" +"Specify the encryption to use, either 'ssl' or 'tls'. Any other value " +"reverts to plain SMTP. Default is the value of `sendemail.smtpEncryption`." msgstr "" -#. type: Title = -#: en/git-verify-pack.txt:2 +#. type: Labeled list +#: en/git-send-email.txt:168 #, no-wrap -msgid "git-verify-pack(1)" +msgid "--smtp-domain=<FQDN>" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:7 -msgid "git-verify-pack - Validate packed Git archive files" +#: en/git-send-email.txt:174 +msgid "" +"Specifies the Fully Qualified Domain Name (FQDN) used in the HELO/EHLO " +"command to the SMTP server. Some servers require the FQDN to match your IP " +"address. If not set, git send-email attempts to determine your FQDN " +"automatically. Default is the value of `sendemail.smtpDomain`." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:175 +#, no-wrap +msgid "--smtp-auth=<mechanisms>" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:13 +#: en/git-send-email.txt:178 +msgid "" +"Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting " +"forces using only the listed mechanisms. Example:" +msgstr "" + +#. type: delimited block - +#: en/git-send-email.txt:181 #, no-wrap -msgid "'git verify-pack' [-v|--verbose] [-s|--stat-only] [--] <pack>.idx ...\n" +msgid "$ git send-email --smtp-auth=\"PLAIN LOGIN GSSAPI\" ...\n" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:20 +#: en/git-send-email.txt:187 msgid "" -"Reads given idx file for packed Git archive created with the 'git pack-" -"objects' command and verifies idx file and the corresponding pack file." +"If at least one of the specified mechanisms matches the ones advertised by " +"the SMTP server and if it is supported by the utilized SASL library, the " +"mechanism is used for authentication. If neither 'sendemail.smtpAuth' nor `--" +"smtp-auth` is specified, all mechanisms supported by the SASL library can be " +"used." msgstr "" #. type: Labeled list -#: en/git-verify-pack.txt:23 +#: en/git-send-email.txt:188 #, no-wrap -msgid "<pack>.idx ..." +msgid "--smtp-pass[=<password>]" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:25 -msgid "The idx files to verify." +#: en/git-send-email.txt:193 +msgid "" +"Password for SMTP-AUTH. The argument is optional: If no argument is " +"specified, then the empty string is used as the password. Default is the " +"value of `sendemail.smtpPass`, however `--smtp-pass` always overrides this " +"value." msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:30 +#: en/git-send-email.txt:199 msgid "" -"After verifying the pack, show list of objects contained in the pack and a " -"histogram of delta chain length." +"Furthermore, passwords need not be specified in configuration files or on " +"the command line. If a username has been specified (with `--smtp-user` or a " +"`sendemail.smtpUser`), but no password has been specified (with `--smtp-" +"pass` or `sendemail.smtpPass`), then a password is obtained using 'git-" +"credential'." msgstr "" #. type: Labeled list -#: en/git-verify-pack.txt:32 +#: en/git-send-email.txt:200 #, no-wrap -msgid "--stat-only" +msgid "--smtp-server=<host>" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:35 +#: en/git-send-email.txt:209 msgid "" -"Do not verify the pack contents; only show the histogram of delta chain " -"length. With `--verbose`, list of objects is also shown." +"If set, specifies the outgoing SMTP server to use (e.g. `smtp.example.com` " +"or a raw IP address). Alternatively it can specify a full pathname of a " +"sendmail-like program instead; the program must support the `-i` option. " +"Default value can be specified by the `sendemail.smtpServer` configuration " +"option; the built-in default is `/usr/sbin/sendmail` or `/usr/lib/sendmail` " +"if such program is available, or `localhost` otherwise." msgstr "" -#. type: Title - -#: en/git-verify-pack.txt:40 -#, fuzzy, no-wrap -#| msgid "DATE FORMATS" -msgid "OUTPUT FORMAT" -msgstr "FORMATS DE DATE" +#. type: Labeled list +#: en/git-send-email.txt:210 +#, no-wrap +msgid "--smtp-server-port=<port>" +msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:42 -msgid "When specifying the -v option the format used is:" +#: en/git-send-email.txt:217 +msgid "" +"Specifies a port different from the default port (SMTP servers typically " +"listen to smtp port 25, but may also listen to submission port 587, or the " +"common SSL smtp port 465); symbolic port names (e.g. \"submission\" instead " +"of 587) are also accepted. The port can also be set with the `sendemail." +"smtpServerPort` configuration variable." msgstr "" -#. type: Plain text -#: en/git-verify-pack.txt:44 +#. type: Labeled list +#: en/git-send-email.txt:218 #, no-wrap -msgid "\tSHA-1 type size size-in-packfile offset-in-packfile\n" +msgid "--smtp-server-option=<option>" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:46 -msgid "for objects that are not deltified in the pack, and" +#: en/git-send-email.txt:222 +msgid "" +"If set, specifies the outgoing SMTP server option to use. Default value can " +"be specified by the `sendemail.smtpServerOption` configuration option." msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:48 +#: en/git-send-email.txt:226 +msgid "" +"The --smtp-server-option option must be repeated for each option you want to " +"pass to the server. Likewise, different lines in the configuration files " +"must be used for each option." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:227 #, no-wrap -msgid "\tSHA-1 type size size-in-packfile offset-in-packfile depth base-SHA-1\n" +msgid "--smtp-ssl" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:50 -msgid "for objects that are deltified." +#: en/git-send-email.txt:229 +msgid "Legacy alias for '--smtp-encryption ssl'." msgstr "" -#. type: Title = -#: en/git-verify-tag.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-verify-tag(1)" -msgstr "git-commit(1)" +#. type: Labeled list +#: en/git-send-email.txt:230 +#, no-wrap +msgid "--smtp-ssl-cert-path" +msgstr "" + +#. type: Plain text +#: en/git-send-email.txt:240 +msgid "" +"Path to a store of trusted CA certificates for SMTP SSL/TLS certificate " +"validation (either a directory that has been processed by 'c_rehash', or a " +"single file containing one or more PEM format certificates concatenated " +"together: see verify(1) -CAfile and -CApath for more information on these). " +"Set it to an empty string to disable certificate verification. Defaults to " +"the value of the `sendemail.smtpsslcertpath` configuration variable, if set, " +"or the backing SSL library's compiled-in default otherwise (which should be " +"the best choice on most platforms)." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:241 +#, no-wrap +msgid "--smtp-user=<user>" +msgstr "" #. type: Plain text -#: en/git-verify-tag.txt:7 -msgid "git-verify-tag - Check the GPG signature of tags" +#: en/git-send-email.txt:245 +msgid "" +"Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`; if a " +"username is not specified (with `--smtp-user` or `sendemail.smtpUser`), then " +"authentication is not attempted." msgstr "" -#. type: Plain text -#: en/git-verify-tag.txt:12 +#. type: Labeled list +#: en/git-send-email.txt:246 #, no-wrap -msgid "'git verify-tag' [--format=<format>] <tag>...\n" +msgid "--smtp-debug=0|1" msgstr "" #. type: Plain text -#: en/git-verify-tag.txt:16 -msgid "Validates the gpg signature created by 'git tag'." +#: en/git-send-email.txt:250 +msgid "" +"Enable (1) or disable (0) debug output. If enabled, SMTP commands and " +"replies will be printed. Useful to debug TLS connection and authentication " +"problems." msgstr "" -#. type: Plain text -#: en/git-verify-tag.txt:26 -msgid "Print the contents of the tag object before validating it." +#. type: Title ~ +#: en/git-send-email.txt:252 +#, no-wrap +msgid "Automating" msgstr "" #. type: Labeled list -#: en/git-verify-tag.txt:27 +#: en/git-send-email.txt:254 #, no-wrap -msgid "<tag>..." +msgid "--to-cmd=<command>" msgstr "" #. type: Plain text -#: en/git-verify-tag.txt:29 -msgid "SHA-1 identifiers of Git tag objects." +#: en/git-send-email.txt:259 +msgid "" +"Specify a command to execute once per patch file which should generate patch " +"file specific \"To:\" entries. Output of this command must be single email " +"address per line. Default is the value of 'sendemail.tocmd' configuration " +"value." msgstr "" -#. type: Title = -#: en/git-web--browse.txt:2 +#. type: Labeled list +#: en/git-send-email.txt:260 #, no-wrap -msgid "git-web{litdd}browse(1)" +msgid "--cc-cmd=<command>" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:7 -msgid "git-web--browse - Git helper script to launch a web browser" +#: en/git-send-email.txt:265 +msgid "" +"Specify a command to execute once per patch file which should generate patch " +"file specific \"Cc:\" entries. Output of this command must be single email " +"address per line. Default is the value of `sendemail.ccCmd` configuration " +"value." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:12 +#. type: Labeled list +#: en/git-send-email.txt:266 #, no-wrap -msgid "'git web{litdd}browse' [OPTIONS] URL/FILE ...\n" +msgid "--[no-]chain-reply-to" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:19 +#: en/git-send-email.txt:273 msgid "" -"This script tries, as much as possible, to display the URLs and FILEs that " -"are passed as arguments, as HTML pages in new tabs on an already opened web " -"browser." -msgstr "" - -#. type: Plain text -#: en/git-web--browse.txt:21 -msgid "The following browsers (or commands) are currently supported:" +"If this is set, each email will be sent as a reply to the previous email " +"sent. If disabled with \"--no-chain-reply-to\", all emails after the first " +"will be sent as replies to the first email sent. When using this, it is " +"recommended that the first file given be an overview of the entire patch " +"series. Disabled by default, but the `sendemail.chainReplyTo` configuration " +"variable can be used to enable it." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:23 -msgid "firefox (this is the default under X Window when not using KDE)" -msgstr "" +#. type: Labeled list +#: en/git-send-email.txt:274 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--identity=<identity>" +msgstr "git-commit(1)" -#. type: Plain text -#: en/git-web--browse.txt:24 -msgid "iceweasel" -msgstr "" +#. type: Labeled list +#: en/git-send-email.txt:280 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--[no-]signed-off-by-cc" +msgstr "git-commit(1)" #. type: Plain text -#: en/git-web--browse.txt:25 -msgid "seamonkey" +#: en/git-send-email.txt:284 +msgid "" +"If this is set, add emails found in Signed-off-by: or Cc: lines to the cc " +"list. Default is the value of `sendemail.signedoffbycc` configuration value; " +"if that is unspecified, default to --signed-off-by-cc." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:26 -msgid "iceape" +#. type: Labeled list +#: en/git-send-email.txt:285 +#, no-wrap +msgid "--[no-]cc-cover" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:27 -msgid "chromium (also supported as chromium-browser)" +#: en/git-send-email.txt:290 +msgid "" +"If this is set, emails found in Cc: headers in the first patch of the series " +"(typically the cover letter) are added to the cc list for each email set. " +"Default is the value of 'sendemail.cccover' configuration value; if that is " +"unspecified, default to --no-cc-cover." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:28 -msgid "google-chrome (also supported as chrome)" +#. type: Labeled list +#: en/git-send-email.txt:291 +#, no-wrap +msgid "--[no-]to-cover" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:29 +#: en/git-send-email.txt:296 msgid "" -"konqueror (this is the default under KDE, see 'Note about konqueror' below)" +"If this is set, emails found in To: headers in the first patch of the series " +"(typically the cover letter) are added to the to list for each email set. " +"Default is the value of 'sendemail.tocover' configuration value; if that is " +"unspecified, default to --no-to-cover." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:30 -msgid "opera" +#. type: Labeled list +#: en/git-send-email.txt:297 +#, no-wrap +msgid "--suppress-cc=<category>" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:31 -msgid "w3m (this is the default outside graphical environments)" +#: en/git-send-email.txt:300 +msgid "" +"Specify an additional category of recipients to suppress the auto-cc of:" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:32 -msgid "elinks" +#: en/git-send-email.txt:303 +msgid "'author' will avoid including the patch author" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:33 -msgid "links" +#: en/git-send-email.txt:304 +msgid "'self' will avoid including the sender" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:34 -msgid "lynx" +#: en/git-send-email.txt:306 +msgid "" +"'cc' will avoid including anyone mentioned in Cc lines in the patch header " +"except for self (use 'self' for that)." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:35 -msgid "dillo" +#: en/git-send-email.txt:308 +msgid "" +"'bodycc' will avoid including anyone mentioned in Cc lines in the patch body " +"(commit message) except for self (use 'self' for that)." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:36 -msgid "open (this is the default under Mac OS X GUI)" +#: en/git-send-email.txt:309 +msgid "" +"'sob' will avoid including anyone mentioned in Signed-off-by lines except" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:37 -msgid "start (this is the default under MinGW)" +#: en/git-send-email.txt:310 +msgid "for self (use 'self' for that)." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:38 -msgid "cygstart (this is the default under Cygwin)" +#: en/git-send-email.txt:311 +msgid "'cccmd' will avoid running the --cc-cmd." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:39 -msgid "xdg-open" +#: en/git-send-email.txt:312 +msgid "'body' is equivalent to 'sob' + 'bodycc'" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:41 -msgid "Custom commands may also be specified." +#: en/git-send-email.txt:313 +msgid "'all' will suppress all auto cc values." msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:44 -#, no-wrap -msgid "-b <browser>" +#. type: Plain text +#: en/git-send-email.txt:318 +msgid "" +"Default is the value of `sendemail.suppresscc` configuration value; if that " +"is unspecified, default to 'self' if --suppress-from is specified, as well " +"as 'body' if --no-signed-off-cc is specified." msgstr "" #. type: Labeled list -#: en/git-web--browse.txt:45 +#: en/git-send-email.txt:319 #, no-wrap -msgid "--browser=<browser>" +msgid "--[no-]suppress-from" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:48 +#: en/git-send-email.txt:323 msgid "" -"Use the specified browser. It must be in the list of supported browsers." -msgstr "" - -#. type: Labeled list -#: en/git-web--browse.txt:49 -#, no-wrap -msgid "-t <browser>" +"If this is set, do not add the From: address to the cc: list. Default is " +"the value of `sendemail.suppressFrom` configuration value; if that is " +"unspecified, default to --no-suppress-from." msgstr "" #. type: Labeled list -#: en/git-web--browse.txt:50 +#: en/git-send-email.txt:324 #, no-wrap -msgid "--tool=<browser>" +msgid "--[no-]thread" msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:53 -#, no-wrap -msgid "-c <conf.var>" +#. type: Plain text +#: en/git-send-email.txt:330 +msgid "" +"If this is set, the In-Reply-To and References headers will be added to each " +"email sent. Whether each mail refers to the previous email (`deep` " +"threading per 'git format-patch' wording) or to the first email (`shallow` " +"threading) is governed by \"--[no-]chain-reply-to\"." msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:54 -#, no-wrap -msgid "--config=<conf.var>" +#. type: Plain text +#: en/git-send-email.txt:335 +msgid "" +"If disabled with \"--no-thread\", those headers will not be added (unless " +"specified with --in-reply-to). Default is the value of the `sendemail." +"thread` configuration value; if that is unspecified, default to --thread." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:57 +#: en/git-send-email.txt:341 msgid "" -"CONF.VAR is looked up in the Git config files. If it's set, then its value " -"specifies the browser that should be used." +"It is up to the user to ensure that no In-Reply-To header already exists " +"when 'git send-email' is asked to add it (especially note that 'git format-" +"patch' can be configured to do the threading itself). Failure to do so may " +"not produce the expected result in the recipient's MUA." msgstr "" #. type: Title ~ -#: en/git-web--browse.txt:62 +#: en/git-send-email.txt:344 #, no-wrap -msgid "CONF.VAR (from -c option) and web.browser" -msgstr "" - -#. type: Plain text -#: en/git-web--browse.txt:67 -msgid "" -"The web browser can be specified using a configuration variable passed with " -"the -c (or --config) command-line option, or the `web.browser` configuration " -"variable if the former is not used." +msgid "Administering" msgstr "" #. type: Labeled list -#: en/git-web--browse.txt:69 en/config.txt:1018 +#: en/git-send-email.txt:346 #, no-wrap -msgid "browser.<tool>.path" +msgid "--confirm=<mode>" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:76 -msgid "" -"You can explicitly provide a full path to your preferred browser by setting " -"the configuration variable `browser.<tool>.path`. For example, you can " -"configure the absolute path to firefox by setting 'browser.firefox.path'. " -"Otherwise, 'git web{litdd}browse' assumes the tool is available in PATH." +#: en/git-send-email.txt:348 +msgid "Confirm just before sending:" msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:78 en/config.txt:1013 -#, no-wrap -msgid "browser.<tool>.cmd" +#. type: Plain text +#: en/git-send-email.txt:351 +msgid "'always' will always confirm before sending" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:86 -msgid "" -"When the browser, specified by options or configuration variables, is not " -"among the supported ones, then the corresponding `browser.<tool>.cmd` " -"configuration variable will be looked up. If this variable exists then 'git " -"web{litdd}browse' will treat the specified tool as a custom command and will " -"use a shell eval to run the command with the URLs passed as arguments." +#: en/git-send-email.txt:352 +msgid "'never' will never confirm before sending" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:93 +#: en/git-send-email.txt:354 msgid "" -"When 'konqueror' is specified by a command-line option or a configuration " -"variable, we launch 'kfmclient' to try to open the HTML man page on an " -"already opened konqueror in a new tab if possible." +"'cc' will confirm before sending when send-email has automatically added " +"addresses from the patch to the Cc list" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:97 +#: en/git-send-email.txt:355 msgid "" -"For consistency, we also try such a trick if 'browser.konqueror.path' is set " -"to something like 'A_PATH_TO/konqueror'. That means we will try to launch " -"'A_PATH_TO/kfmclient' instead." +"'compose' will confirm before sending the first message when using --compose." msgstr "" -#. type: delimited block - -#: en/git-web--browse.txt:104 -#, no-wrap -msgid "" -"\t[web]\n" -"\t\tbrowser = konq\n" +#. type: Plain text +#: en/git-send-email.txt:356 +msgid "'auto' is equivalent to 'cc' + 'compose'" msgstr "" -#. type: delimited block - -#: en/git-web--browse.txt:107 -#, no-wrap +#. type: Plain text +#: en/git-send-email.txt:361 msgid "" -"\t[browser \"konq\"]\n" -"\t\tcmd = A_PATH_TO/konqueror\n" +"Default is the value of `sendemail.confirm` configuration value; if that is " +"unspecified, default to 'auto' unless any of the suppress options have been " +"specified, in which case default to 'compose'." msgstr "" -#. type: Title ~ -#: en/git-web--browse.txt:110 -#, no-wrap -msgid "Note about git-config --global" +#. type: Plain text +#: en/git-send-email.txt:364 +msgid "Do everything except actually send the emails." msgstr "" +#. type: Labeled list +#: en/git-send-email.txt:365 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--[no-]format-patch" +msgstr "git-commit(1)" + #. type: Plain text -#: en/git-web--browse.txt:114 +#: en/git-send-email.txt:370 msgid "" -"Note that these configuration variables should probably be set using the `--" -"global` flag, for example like this:" +"When an argument may be understood either as a reference or as a file name, " +"choose to understand it as a format-patch argument (`--format-patch`) or as " +"a file name (`--no-format-patch`). By default, when such a conflict occurs, " +"git send-email will fail." msgstr "" -#. type: delimited block - -#: en/git-web--browse.txt:117 -#, no-wrap -msgid "$ git config --global web.browser firefox\n" +#. type: Plain text +#: en/git-send-email.txt:374 +msgid "" +"Make git-send-email less verbose. One line per email should be all that is " +"output." msgstr "" -#. type: Title = -#: en/git-whatchanged.txt:2 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-whatchanged(1)" -msgstr "git-add(1)" +#. type: Labeled list +#: en/git-send-email.txt:375 +#, no-wrap +msgid "--[no-]validate" +msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:7 -msgid "git-whatchanged - Show logs with difference each commit introduces" +#: en/git-send-email.txt:378 +msgid "" +"Perform sanity checks on patches. Currently, validation means the following:" msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:13 -#, no-wrap -msgid "'git whatchanged' <option>...\n" +#: en/git-send-email.txt:381 +msgid "Warn of patches that contain lines longer than 998 characters; this" msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:18 -msgid "Shows commit logs and diff output each commit introduces." +#: en/git-send-email.txt:382 +#, no-wrap +msgid "is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.\n" msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:22 +#: en/git-send-email.txt:386 msgid "" -"New users are encouraged to use linkgit:git-log[1] instead. The " -"`whatchanged` command is essentially the same as linkgit:git-log[1] but " -"defaults to show the raw format diff output and to skip merges." +"Default is the value of `sendemail.validate`; if this is not set, default to " +"`--validate`." msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:26 -msgid "" -"The command is kept primarily for historical reasons; fingers of many people " -"who learned Git long before `git log` was invented by reading Linux kernel " -"mailing list are trained to type it." +#: en/git-send-email.txt:389 +msgid "Send emails even if safety checks would prevent it." msgstr "" +#. type: Title ~ +#: en/git-send-email.txt:392 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Information" +msgstr "Configuration" + #. type: Labeled list -#: en/git-whatchanged.txt:30 +#: en/git-send-email.txt:394 #, no-wrap -msgid "`git whatchanged -p v2.6.12.. include/scsi drivers/scsi`" +msgid "--dump-aliases" msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:34 +#: en/git-send-email.txt:399 msgid "" -"Show as patches the commits since version 'v2.6.12' that changed any file in " -"the include/scsi or drivers/scsi subdirectories" +"Instead of the normal operation, dump the shorthand alias names from the " +"configured alias file(s), one per line in alphabetical order. Note, this " +"only includes the alias name and not its expanded email addresses. See " +"'sendemail.aliasesfile' for more information about aliases." msgstr "" -#. type: Labeled list -#: en/git-whatchanged.txt:35 -#, no-wrap -msgid "`git whatchanged --since=\"2 weeks ago\" -- gitk`" +#. type: Plain text +#: en/git-send-email.txt:407 +msgid "" +"To avoid typing long email addresses, point this to one or more email " +"aliases files. You must also supply `sendemail.aliasFileType`." msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:40 +#: en/git-send-email.txt:411 msgid "" -"Show the changes during the last two weeks to the file 'gitk'. The \"--\" " -"is necessary to avoid confusion with the *branch* named 'gitk'" +"Format of the file(s) specified in sendemail.aliasesFile. Must be one of " +"'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'." msgstr "" -#. type: Title = -#: en/git-worktree.txt:2 +#. type: Plain text +#: en/git-send-email.txt:416 +msgid "" +"What an alias file in each format looks like can be found in the " +"documentation of the email program of the same name. The differences and " +"limitations from the standard formats are described below:" +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:418 #, fuzzy, no-wrap #| msgid "git-commit(1)" -msgid "git-worktree(1)" +msgid "sendmail" msgstr "git-commit(1)" #. type: Plain text -#: en/git-worktree.txt:7 -msgid "git-worktree - Manage multiple working trees" +#: en/git-send-email.txt:420 +msgid "Quoted aliases and quoted addresses are not supported: lines that" msgstr "" #. type: Plain text -#: en/git-worktree.txt:17 -#, no-wrap -msgid "" -"'git worktree add' [-f] [--detach] [--checkout] [-b <new-branch>] <path> [<branch>]\n" -"'git worktree list' [--porcelain]\n" -"'git worktree lock' [--reason <string>] <worktree>\n" -"'git worktree prune' [-n] [-v] [--expire <expire>]\n" -"'git worktree unlock' <worktree>\n" +#: en/git-send-email.txt:421 +msgid "contain a `\"` symbol are ignored." msgstr "" #. type: Plain text -#: en/git-worktree.txt:22 -msgid "Manage multiple working trees attached to the same repository." +#: en/git-send-email.txt:422 +msgid "Redirection to a file (`/path/name`) or pipe (`|command`) is not" msgstr "" #. type: Plain text -#: en/git-worktree.txt:29 -msgid "" -"A git repository can support multiple working trees, allowing you to check " -"out more than one branch at a time. With `git worktree add` a new working " -"tree is associated with the repository. This new working tree is called a " -"\"linked working tree\" as opposed to the \"main working tree\" prepared by " -"\"git init\" or \"git clone\". A repository has one main working tree (if " -"it's not a bare repository) and zero or more linked working trees." +#: en/git-send-email.txt:423 +msgid "supported." msgstr "" #. type: Plain text -#: en/git-worktree.txt:36 +#: en/git-send-email.txt:424 +msgid "File inclusion (`:include: /path/name`) is not supported." +msgstr "" + +#. type: Plain text +#: en/git-send-email.txt:425 +msgid "Warnings are printed on the standard error output for any" +msgstr "" + +#. type: Plain text +#: en/git-send-email.txt:427 msgid "" -"When you are done with a linked working tree you can simply delete it. The " -"working tree's administrative files in the repository (see \"DETAILS\" " -"below) will eventually be removed automatically (see `gc." -"worktreePruneExpire` in linkgit:git-config[1]), or you can run `git worktree " -"prune` in the main or any linked working tree to clean up any stale " -"administrative files." +"explicitly unsupported constructs, and any other lines that are not " +"recognized by the parser." msgstr "" #. type: Plain text -#: en/git-worktree.txt:40 +#: en/git-send-email.txt:434 msgid "" -"If you move a linked working tree, you need to manually update the " -"administrative files so that they do not get pruned automatically. See " -"section \"DETAILS\" for more information." +"If true (default), a single editor instance will be spawned to edit files " +"you have to edit (patches when `--annotate` is used, and the summary when `--" +"compose` is used). If false, files will be edited one after the other, " +"spawning a new editor each time." msgstr "" #. type: Plain text -#: en/git-worktree.txt:45 +#: en/git-send-email.txt:439 msgid "" -"If a linked working tree is stored on a portable device or network share " -"which is not always mounted, you can prevent its administrative files from " -"being pruned by issuing the `git worktree lock` command, optionally " -"specifying `--reason` to explain why the working tree is locked." +"Sets the default for whether to confirm before sending. Must be one of " +"'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm` in the " +"previous section for the meaning of these values." msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:48 +#. type: Title ~ +#: en/git-send-email.txt:443 #, no-wrap -msgid "add <path> [<branch>]" +msgid "Use gmail as the smtp server" msgstr "" #. type: Plain text -#: en/git-worktree.txt:54 +#: en/git-send-email.txt:446 msgid "" -"Create `<path>` and checkout `<branch>` into it. The new working directory " -"is linked to the current repository, sharing everything except working " -"directory specific files such as HEAD, index, etc. `-` may also be specified " -"as `<branch>`; it is synonymous with `@{-1}`." +"To use 'git send-email' to send your patches through the GMail SMTP server, " +"edit ~/.gitconfig to specify your account settings:" msgstr "" #. type: Plain text -#: en/git-worktree.txt:58 +#: en/git-send-email.txt:452 +#, no-wrap msgid "" -"If `<branch>` is omitted and neither `-b` nor `-B` nor `--detach` used, " -"then, as a convenience, a new branch based at HEAD is created automatically, " -"as if `-b $(basename <path>)` was specified." +"\t[sendemail]\n" +"\t\tsmtpEncryption = tls\n" +"\t\tsmtpServer = smtp.gmail.com\n" +"\t\tsmtpUser = yourname@gmail.com\n" +"\t\tsmtpServerPort = 587\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:65 +#: en/git-send-email.txt:458 msgid "" -"List details of each worktree. The main worktree is listed first, followed " -"by each of the linked worktrees. The output details include if the worktree " -"is bare, the revision currently checked out, and the branch currently " -"checked out (or 'detached HEAD' if none)." +"If you have multifactor authentication setup on your gmail account, you will " +"need to generate an app-specific password for use with 'git send-email'. " +"Visit https://security.google.com/settings/security/apppasswords to setup an " +"app-specific password. Once setup, you can store it with the credentials " +"helper:" msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:66 +#. type: Plain text +#: en/git-send-email.txt:464 #, no-wrap -msgid "lock" +msgid "" +"\t$ git credential fill\n" +"\tprotocol=smtp\n" +"\thost=smtp.gmail.com\n" +"\tusername=youname@gmail.com\n" +"\tpassword=app-password\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:73 +#: en/git-send-email.txt:468 msgid "" -"If a working tree is on a portable device or network share which is not " -"always mounted, lock it to prevent its administrative files from being " -"pruned automatically. This also prevents it from being moved or deleted. " -"Optionally, specify a reason for the lock with `--reason`." +"Once your commits are ready to be sent to the mailing list, run the " +"following commands:" msgstr "" #. type: Plain text -#: en/git-worktree.txt:77 -msgid "Prune working tree information in $GIT_DIR/worktrees." -msgstr "" - -#. type: Labeled list -#: en/git-worktree.txt:78 +#: en/git-send-email.txt:472 #, no-wrap -msgid "unlock" +msgid "" +"\t$ git format-patch --cover-letter -M origin/master -o outgoing/\n" +"\t$ edit outgoing/0000-*\n" +"\t$ git send-email outgoing/*\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:81 -msgid "Unlock a working tree, allowing it to be pruned, moved or deleted." +#: en/git-send-email.txt:475 +#, no-wrap +msgid "" +"Note: the following perl modules are required\n" +" Net::SMTP::SSL, MIME::Base64 and Authen::SASL\n" msgstr "" +# #. type: Plain text -#: en/git-worktree.txt:90 -msgid "" -"By default, `add` refuses to create a new working tree when `<branch>` is " -"already checked out by another working tree. This option overrides that " -"safeguard." +#: en/git-send-email.txt:479 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-format-patch[1], linkgit:git-imap-send[1], mbox(5)" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/git-worktree.txt:91 +#. type: Title = +#: en/git-send-pack.txt:2 #, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "-b <new-branch>" -msgstr "Mode interactif" +#| msgid "git-add(1)" +msgid "git-send-pack(1)" +msgstr "git-add(1)" -#. type: Labeled list -#: en/git-worktree.txt:92 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "-B <new-branch>" -msgstr "Mode interactif" +#. type: Plain text +#: en/git-send-pack.txt:7 +#, fuzzy +#| msgid "git-commit - Record changes to the repository" +msgid "git-send-pack - Push objects over Git protocol to another repository" +msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" #. type: Plain text -#: en/git-worktree.txt:99 +#: en/git-send-pack.txt:16 +#, no-wrap msgid "" -"With `add`, create a new branch named `<new-branch>` starting at `<branch>`, " -"and check out `<new-branch>` into the new working tree. If `<branch>` is " -"omitted, it defaults to HEAD. By default, `-b` refuses to create a new " -"branch if it already exists. `-B` overrides this safeguard, resetting `<new-" -"branch>` to `<branch>`." +"'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>]\n" +"\t\t[--verbose] [--thin] [--atomic]\n" +"\t\t[--[no-]signed|--sign=(true|false|if-asked)]\n" +"\t\t[<host>:]<directory> [<ref>...]\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:103 +#: en/git-send-pack.txt:21 msgid "" -"With `add`, detach HEAD in the new working tree. See \"DETACHED HEAD\" in " -"linkgit:git-checkout[1]." +"Usually you would want to use 'git push', which is a higher-level wrapper of " +"this command, instead. See linkgit:git-push[1]." msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:104 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--[no-]checkout" -msgstr "git-commit(1)" - #. type: Plain text -#: en/git-worktree.txt:109 +#: en/git-send-pack.txt:24 msgid "" -"By default, `add` checks out `<branch>`, however, `--no-checkout` can be " -"used to suppress checkout in order to make customizations, such as " -"configuring sparse-checkout. See \"Sparse checkout\" in linkgit:git-read-" -"tree[1]." +"Invokes 'git-receive-pack' on a possibly remote repository, and updates it " +"from the current repository, sending named refs." msgstr "" #. type: Plain text -#: en/git-worktree.txt:114 -msgid "With `prune`, do not remove anything; just report what it would remove." +#: en/git-send-pack.txt:36 +msgid "Same as --receive-pack=<git-receive-pack>." msgstr "" #. type: Plain text -#: en/git-worktree.txt:119 +#: en/git-send-pack.txt:40 msgid "" -"With `list`, output in an easy-to-parse format for scripts. This format " -"will remain stable across Git versions and regardless of user " -"configuration. See below for details." -msgstr "" - -#. type: Plain text -#: en/git-worktree.txt:123 -msgid "With `prune`, report all removals." +"Instead of explicitly specifying which refs to update, update all heads that " +"locally exist." msgstr "" #. type: Plain text -#: en/git-worktree.txt:126 -msgid "With `prune`, only expire unused working trees older than <time>." +#: en/git-send-pack.txt:67 +msgid "" +"Send a \"thin\" pack, which records objects in deltified form based on " +"objects not included in the pack to reduce network traffic." msgstr "" #. type: Labeled list -#: en/git-worktree.txt:127 +#: en/git-send-pack.txt:68 #, no-wrap -msgid "--reason <string>" +msgid "--atomic" msgstr "" #. type: Plain text -#: en/git-worktree.txt:129 -msgid "With `lock`, an explanation why the working tree is locked." +#: en/git-send-pack.txt:72 +msgid "" +"Use an atomic transaction for updating the refs. If any of the refs fails to " +"update then the entire push will fail without changing any refs." msgstr "" #. type: Labeled list -#: en/git-worktree.txt:130 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "<worktree>" -msgstr "whitespace" - -#. type: Plain text -#: en/git-worktree.txt:133 -msgid "Working trees can be identified by path, either relative or absolute." +#: en/git-send-pack.txt:84 +#, no-wrap +msgid "<host>" msgstr "" #. type: Plain text -#: en/git-worktree.txt:138 +#: en/git-send-pack.txt:88 msgid "" -"If the last path components in the working tree's path is unique among " -"working trees, it can be used to identify worktrees. For example if you only " -"have two working trees, at \"/abc/def/ghi\" and \"/abc/def/ggg\", then \"ghi" -"\" or \"def/ghi\" is enough to point to the former working tree." +"A remote host to house the repository. When this part is specified, 'git-" +"receive-pack' is invoked via ssh." msgstr "" -#. type: Title - -#: en/git-worktree.txt:140 -#, no-wrap -msgid "DETAILS" +#. type: Plain text +#: en/git-send-pack.txt:91 +msgid "The repository to update." msgstr "" #. type: Plain text -#: en/git-worktree.txt:149 -msgid "" -"Each linked working tree has a private sub-directory in the repository's " -"$GIT_DIR/worktrees directory. The private sub-directory's name is usually " -"the base name of the linked working tree's path, possibly appended with a " -"number to make it unique. For example, when `$GIT_DIR=/path/main/.git` the " -"command `git worktree add /path/other/test-next next` creates the linked " -"working tree in `/path/other/test-next` and also creates a `$GIT_DIR/" -"worktrees/test-next` directory (or `$GIT_DIR/worktrees/test-next1` if `test-" -"next` is already taken)." +#: en/git-send-pack.txt:101 +msgid "There are three ways to specify which refs to update on the remote end." msgstr "" #. type: Plain text -#: en/git-worktree.txt:155 +#: en/git-send-pack.txt:105 msgid "" -"Within a linked working tree, $GIT_DIR is set to point to this private " -"directory (e.g. `/path/main/.git/worktrees/test-next` in the example) and " -"$GIT_COMMON_DIR is set to point back to the main working tree's $GIT_DIR (e." -"g. `/path/main/.git`). These settings are made in a `.git` file located at " -"the top directory of the linked working tree." +"With `--all` flag, all refs that exist locally are transferred to the remote " +"side. You cannot specify any '<ref>' if you use this flag." msgstr "" #. type: Plain text -#: en/git-worktree.txt:164 +#: en/git-send-pack.txt:108 msgid "" -"Path resolution via `git rev-parse --git-path` uses either $GIT_DIR or " -"$GIT_COMMON_DIR depending on the path. For example, in the linked working " -"tree `git rev-parse --git-path HEAD` returns `/path/main/.git/worktrees/test-" -"next/HEAD` (not `/path/other/test-next/.git/HEAD` or `/path/main/.git/HEAD`) " -"while `git rev-parse --git-path refs/heads/master` uses $GIT_COMMON_DIR and " -"returns `/path/main/.git/refs/heads/master`, since refs are shared across " -"all working trees." +"Without `--all` and without any '<ref>', the heads that exist both on the " +"local side and on the remote side are updated." msgstr "" #. type: Plain text -#: en/git-worktree.txt:169 +#: en/git-send-pack.txt:114 msgid "" -"See linkgit:gitrepository-layout[5] for more information. The rule of thumb " -"is do not make any assumption about whether a path belongs to $GIT_DIR or " -"$GIT_COMMON_DIR when you need to directly access something inside $GIT_DIR. " -"Use `git rev-parse --git-path` to get the final path." +"When one or more '<ref>' are specified explicitly (whether on the command " +"line or via `--stdin`), it can be either a single pattern, or a pair of such " +"pattern separated by a colon \":\" (this means that a ref name cannot have a " +"colon in it). A single pattern '<name>' is just a shorthand for '<name>:" +"<name>'." msgstr "" #. type: Plain text -#: en/git-worktree.txt:176 +#: en/git-send-pack.txt:122 msgid "" -"If you move a linked working tree, you need to update the 'gitdir' file in " -"the entry's directory. For example, if a linked working tree is moved to `/" -"newpath/test-next` and its `.git` file points to `/path/main/.git/worktrees/" -"test-next`, then update `/path/main/.git/worktrees/test-next/gitdir` to " -"reference `/newpath/test-next` instead." +"Each pattern pair consists of the source side (before the colon) and the " +"destination side (after the colon). The ref to be pushed is determined by " +"finding a match that matches the source side, and where it is pushed is " +"determined by using the destination side. The rules used to match a ref are " +"the same rules used by 'git rev-parse' to resolve a symbolic ref name. See " +"linkgit:git-rev-parse[1]." msgstr "" #. type: Plain text -#: en/git-worktree.txt:187 -msgid "" -"To prevent a $GIT_DIR/worktrees entry from being pruned (which can be useful " -"in some situations, such as when the entry's working tree is stored on a " -"portable device), use the `git worktree lock` command, which adds a file " -"named 'locked' to the entry's directory. The file contains the reason in " -"plain text. For example, if a linked working tree's `.git` file points to `/" -"path/main/.git/worktrees/test-next` then a file named `/path/main/.git/" -"worktrees/test-next/locked` will prevent the `test-next` entry from being " -"pruned. See linkgit:gitrepository-layout[5] for details." +#: en/git-send-pack.txt:127 +msgid "It is an error if <dst> matches more than one remote refs." msgstr "" -#. type: Title - -#: en/git-worktree.txt:189 -#, no-wrap -msgid "LIST OUTPUT FORMAT" -msgstr "" +#. type: Title = +#: en/git-shell.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-shell(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/git-worktree.txt:192 -msgid "" -"The worktree list command has two output formats. The default format shows " -"the details on a single line with columns. For example:" +#: en/git-shell.txt:7 +msgid "git-shell - Restricted login shell for Git-only SSH access" msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:198 +#. type: Plain text +#: en/git-shell.txt:15 #, no-wrap msgid "" -"S git worktree list\n" -"/path/to/bare-source (bare)\n" -"/path/to/linked-worktree abcd1234 [master]\n" -"/path/to/other-linked-worktree 1234abc (detached HEAD)\n" +"'chsh' -s $(command -v git-shell) <user>\n" +"'git clone' <user>`@localhost:/path/to/repo.git`\n" +"'ssh' <user>`@localhost`\n" msgstr "" -#. type: Title ~ -#: en/git-worktree.txt:201 -#, no-wrap -msgid "Porcelain Format" +#. type: Plain text +#: en/git-shell.txt:23 +msgid "" +"This is a login shell for SSH accounts to provide restricted Git access. It " +"permits execution only of server-side Git commands implementing the pull/" +"push functionality, plus custom commands present in a subdirectory named " +"`git-shell-commands` in the user's home directory." msgstr "" #. type: Plain text -#: en/git-worktree.txt:207 -msgid "" -"The porcelain format has a line per attribute. Attributes are listed with a " -"label and value separated by a single space. Boolean attributes (like " -"'bare' and 'detached') are listed as a label only, and are only present if " -"and only if the value is true. An empty line indicates the end of a " -"worktree. For example:" +#: en/git-shell.txt:28 +msgid "'git shell' accepts the following commands after the `-c` option:" msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:212 +#. type: Labeled list +#: en/git-shell.txt:29 #, no-wrap -msgid "" -"S git worktree list --porcelain\n" -"worktree /path/to/bare-source\n" -"bare\n" +msgid "'git receive-pack <argument>'" msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:216 +#. type: Labeled list +#: en/git-shell.txt:30 #, no-wrap -msgid "" -"worktree /path/to/linked-worktree\n" -"HEAD abcd1234abcd1234abcd1234abcd1234abcd1234\n" -"branch refs/heads/master\n" +msgid "'git upload-pack <argument>'" msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:220 +#. type: Labeled list +#: en/git-shell.txt:31 #, no-wrap -msgid "" -"worktree /path/to/other-linked-worktree\n" -"HEAD 1234abc1234abc1234abc1234abc1234abc1234a\n" -"detached\n" +msgid "'git upload-archive <argument>'" msgstr "" #. type: Plain text -#: en/git-worktree.txt:233 +#: en/git-shell.txt:35 msgid "" -"You are in the middle of a refactoring session and your boss comes in and " -"demands that you fix something immediately. You might typically use linkgit:" -"git-stash[1] to store your changes away temporarily, however, your working " -"tree is in such a state of disarray (with new, moved, and removed files, and " -"other bits and pieces strewn around) that you don't want to risk disturbing " -"any of it. Instead, you create a temporary linked working tree to make the " -"emergency fix, remove it when done, and then resume your earlier refactoring " -"session." +"Call the corresponding server-side command to support the client's 'git " +"push', 'git fetch', or 'git archive --remote' request." msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:242 +#. type: Labeled list +#: en/git-shell.txt:35 #, no-wrap -msgid "" -"$ git worktree add -b emergency-fix ../temp master\n" -"$ pushd ../temp\n" -"# ... hack hack hack ...\n" -"$ git commit -a -m 'emergency fix for boss'\n" -"$ popd\n" -"$ rm -rf ../temp\n" -"$ git worktree prune\n" +msgid "'cvs server'" msgstr "" #. type: Plain text -#: en/git-worktree.txt:249 -msgid "" -"Multiple checkout in general is still experimental, and the support for " -"submodules is incomplete. It is NOT recommended to make multiple checkouts " -"of a superproject." +#: en/git-shell.txt:37 +msgid "Imitate a CVS server. See linkgit:git-cvsserver[1]." msgstr "" #. type: Plain text -#: en/git-worktree.txt:252 +#: en/git-shell.txt:42 msgid "" -"git-worktree could provide more automation for tasks currently performed " -"manually, such as:" +"If a `~/git-shell-commands` directory is present, 'git shell' will also " +"handle other, custom commands by running \"`git-shell-commands/<command> " +"<arguments>`\" from the user's home directory." msgstr "" -#. type: Plain text -#: en/git-worktree.txt:255 -msgid "" -"`remove` to remove a linked working tree and its administrative files (and " -"warn if the working tree is dirty)" +#. type: Title - +#: en/git-shell.txt:44 +#, no-wrap +msgid "INTERACTIVE USE" msgstr "" #. type: Plain text -#: en/git-worktree.txt:256 +#: en/git-shell.txt:48 msgid "" -"`mv` to move or rename a working tree and update its administrative files" +"By default, the commands above can be executed only with the `-c` option; " +"the shell is not interactive." msgstr "" -#. type: Title = -#: en/git-write-tree.txt:2 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "git-write-tree(1)" -msgstr "git-commit(1)" - -# #. type: Plain text -#: en/git-write-tree.txt:7 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "git-write-tree - Create a tree object from the current index" -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/git-shell.txt:56 +msgid "" +"If a `~/git-shell-commands` directory is present, 'git shell' can also be " +"run interactively (with no arguments). If a `help` command is present in " +"the `git-shell-commands` directory, it is run to provide the user with an " +"overview of allowed actions. Then a \"git> \" prompt is presented at which " +"one can enter any of the commands from the `git-shell-commands` directory, " +"or `exit` to close the connection." +msgstr "" #. type: Plain text -#: en/git-write-tree.txt:13 -#, no-wrap -msgid "'git write-tree' [--missing-ok] [--prefix=<prefix>/]\n" +#: en/git-shell.txt:61 +msgid "" +"Generally this mode is used as an administrative interface to allow users to " +"list repositories they have access to, create, delete, or rename " +"repositories, or change repository descriptions and permissions." msgstr "" #. type: Plain text -#: en/git-write-tree.txt:18 +#: en/git-shell.txt:64 msgid "" -"Creates a tree object using the current index. The name of the new tree " -"object is printed to standard output." +"If a `no-interactive-login` command exists, then it is run and the " +"interactive shell is aborted." msgstr "" #. type: Plain text -#: en/git-write-tree.txt:20 -msgid "The index must be in a fully merged state." +#: en/git-shell.txt:69 +msgid "To disable interactive logins, displaying a greeting instead:" msgstr "" -#. type: Plain text -#: en/git-write-tree.txt:26 +#. type: delimited block - +#: en/git-shell.txt:80 +#, no-wrap msgid "" -"Conceptually, 'git write-tree' sync()s the current index contents into a set " -"of tree files. In order to have that match what is actually in your " -"directory right now, you need to have done a 'git update-index' phase before " -"you did the 'git write-tree'." +"$ chsh -s /usr/bin/git-shell\n" +"$ mkdir $HOME/git-shell-commands\n" +"$ cat >$HOME/git-shell-commands/no-interactive-login <<\\EOF\n" +"#!/bin/sh\n" +"printf '%s\\n' \"Hi $USER! You've successfully authenticated, but I do not\"\n" +"printf '%s\\n' \"provide interactive shell access.\"\n" +"exit 128\n" +"EOF\n" +"$ chmod +x $HOME/git-shell-commands/no-interactive-login\n" msgstr "" -#. type: Labeled list -#: en/git-write-tree.txt:30 +#. type: Plain text +#: en/git-shell.txt:87 +msgid "ssh(1), linkgit:git-daemon[1], contrib/git-shell-commands/README" +msgstr "" + +#. type: Title = +#: en/git-sh-i18n--envsubst.txt:2 #, no-wrap -msgid "--missing-ok" +msgid "git-sh-i18n{litdd}envsubst(1)" msgstr "" #. type: Plain text -#: en/git-write-tree.txt:34 -msgid "" -"Normally 'git write-tree' ensures that the objects referenced by the " -"directory exist in the object database. This option disables this check." +#: en/git-sh-i18n--envsubst.txt:7 +msgid "git-sh-i18n--envsubst - Git's own envsubst(1) for i18n fallbacks" msgstr "" #. type: Plain text -#: en/git-write-tree.txt:39 +#: en/git-sh-i18n--envsubst.txt:17 +#, no-wrap msgid "" -"Writes a tree object that represents a subdirectory `<prefix>`. This can be " -"used to write the tree object for a subproject that is in the named " -"subdirectory." +"eval_gettext () {\n" +"\tprintf \"%s\" \"$1\" | (\n" +"\t\texport PATH $('git sh-i18n{litdd}envsubst' --variables \"$1\");\n" +"\t\t'git sh-i18n{litdd}envsubst' \"$1\"\n" +"\t)\n" +"}\n" msgstr "" #. type: Plain text -#: en/blame-options.txt:4 +#: en/git-sh-i18n--envsubst.txt:24 msgid "" -"Show blank SHA-1 for boundary commits. This can also be controlled via the " -"`blame.blankboundary` config option." +"This is not a command the end user would want to run. Ever. This " +"documentation is meant for people who are studying the plumbing scripts and/" +"or are writing new ones." msgstr "" #. type: Plain text -#: en/blame-options.txt:8 +#: en/git-sh-i18n--envsubst.txt:29 msgid "" -"Do not treat root commits as boundaries. This can also be controlled via " -"the `blame.showRoot` config option." -msgstr "" - -#. type: Labeled list -#: en/blame-options.txt:9 -#, no-wrap -msgid "--show-stats" +"'git sh-i18n{litdd}envsubst' is Git's stripped-down copy of the GNU " +"`envsubst(1)` program that comes with the GNU gettext package. It's used " +"internally by linkgit:git-sh-i18n[1] to interpolate the variables passed to " +"the `eval_gettext` function." msgstr "" #. type: Plain text -#: en/blame-options.txt:11 -msgid "Include additional statistics at the end of blame output." -msgstr "" - -#. type: Labeled list -#: en/blame-options.txt:12 -#, no-wrap -msgid "-L <start>,<end>" -msgstr "" - -#. type: Labeled list -#: en/blame-options.txt:13 -#, no-wrap -msgid "-L :<funcname>" +#: en/git-sh-i18n--envsubst.txt:33 +msgid "" +"No promises are made about the interface, or that this program won't " +"disappear without warning in the next version of Git. Don't use it." msgstr "" -#. type: Plain text -#: en/blame-options.txt:16 -msgid "" -"Annotate only the given line range. May be specified multiple times. " -"Overlapping ranges are allowed." +#. type: Title = +#: en/git-sh-i18n.txt:2 +#, no-wrap +msgid "git-sh-i18n(1)" msgstr "" #. type: Plain text -#: en/blame-options.txt:19 -msgid "" -"<start> and <end> are optional. ``-L <start>'' or ``-L <start>,'' spans from " -"<start> to end of file. ``-L ,<end>'' spans from start of file to <end>." +#: en/git-sh-i18n.txt:7 +msgid "git-sh-i18n - Git's i18n setup code for shell scripts" msgstr "" #. type: Plain text -#: en/blame-options.txt:24 -msgid "Show long rev (Default: off)." +#: en/git-sh-i18n.txt:12 +#, no-wrap +msgid "'. \"$(git --exec-path)/git-sh-i18n\"'\n" msgstr "" #. type: Plain text -#: en/blame-options.txt:27 -msgid "Show raw timestamp (Default: off)." +#: en/git-sh-i18n.txt:26 +msgid "" +"The 'git sh-i18n scriptlet is designed to be sourced (using `.`) by Git's " +"porcelain programs implemented in shell script. It provides wrappers for the " +"GNU `gettext` and `eval_gettext` functions accessible through the `gettext." +"sh` script, and provides pass-through fallbacks on systems without GNU " +"gettext." msgstr "" #. type: Labeled list -#: en/blame-options.txt:28 +#: en/git-sh-i18n.txt:30 #, no-wrap -msgid "-S <revs-file>" +msgid "gettext" msgstr "" #. type: Plain text -#: en/blame-options.txt:30 +#: en/git-sh-i18n.txt:34 msgid "" -"Use revisions from revs-file instead of calling linkgit:git-rev-list[1]." +"Currently a dummy fall-through function implemented as a wrapper around " +"`printf(1)`. Will be replaced by a real gettext implementation in a later " +"version." msgstr "" #. type: Labeled list -#: en/blame-options.txt:31 +#: en/git-sh-i18n.txt:35 #, no-wrap -msgid "--reverse <rev>..<rev>" +msgid "eval_gettext" msgstr "" #. type: Plain text -#: en/blame-options.txt:38 +#: en/git-sh-i18n.txt:40 msgid "" -"Walk history forward instead of backward. Instead of showing the revision in " -"which a line appeared, this shows the last revision in which a line has " -"existed. This requires a range of revision like START..END where the path to " -"blame exists in START. `git blame --reverse START` is taken as `git blame --" -"reverse START..HEAD` for convenience." +"Currently a dummy fall-through function implemented as a wrapper around " +"`printf(1)` with variables expanded by the linkgit:git-sh-i18n{litdd}" +"envsubst[1] helper. Will be replaced by a real gettext implementation in a " +"later version." msgstr "" +#. type: Title = +#: en/git-shortlog.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-shortlog(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/blame-options.txt:42 -msgid "Show in a format designed for machine consumption." +#: en/git-shortlog.txt:7 +msgid "git-shortlog - Summarize 'git log' output" msgstr "" -#. type: Labeled list -#: en/blame-options.txt:43 +#. type: Plain text +#: en/git-shortlog.txt:13 #, no-wrap -msgid "--line-porcelain" +msgid "" +"git log --pretty=short | 'git shortlog' [<options>]\n" +"'git shortlog' [<options>] [<revision range>] [[\\--] <path>...]\n" msgstr "" #. type: Plain text -#: en/blame-options.txt:47 +#: en/git-shortlog.txt:18 msgid "" -"Show the porcelain format, but output commit information for each line, not " -"just the first time a commit is referenced. Implies --porcelain." +"Summarizes 'git log' output in a format suitable for inclusion in release " +"announcements. Each commit will be grouped by author and title." msgstr "" #. type: Plain text -#: en/blame-options.txt:51 +#: en/git-shortlog.txt:20 +msgid "Additionally, \"[PATCH]\" will be stripped from the commit description." +msgstr "" + +#. type: Plain text +#: en/git-shortlog.txt:25 msgid "" -"Show the result incrementally in a format designed for machine consumption." +"If no revisions are passed on the command line and either standard input is " +"not a terminal or there is no current branch, 'git shortlog' will output a " +"summary of the log read from standard input, without reference to the " +"current repository." msgstr "" #. type: Plain text -#: en/blame-options.txt:58 +#: en/git-shortlog.txt:33 msgid "" -"Specifies the encoding used to output author names and commit summaries. " -"Setting it to `none` makes blame output unconverted data. For more " -"information see the discussion about encoding in the linkgit:git-log[1] " -"manual page." +"Sort output according to the number of commits per author instead of author " +"alphabetic order." msgstr "" -#. type: Labeled list -#: en/blame-options.txt:59 -#, no-wrap -msgid "--contents <file>" +#. type: Plain text +#: en/git-shortlog.txt:37 +msgid "Suppress commit description and provide a commit count summary only." msgstr "" +#. type: Labeled list +#: en/git-shortlog.txt:39 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--email" +msgstr "git-commit(1)" + #. type: Plain text -#: en/blame-options.txt:65 -msgid "" -"When <rev> is not specified, the command annotates the changes starting " -"backwards from the working tree copy. This flag makes the command pretend " -"as if the working tree copy has the contents of the named file (specify `-` " -"to make the command read from the standard input)." +#: en/git-shortlog.txt:41 +msgid "Show the email address of each author." msgstr "" #. type: Labeled list -#: en/blame-options.txt:66 +#: en/git-shortlog.txt:42 #, fuzzy, no-wrap #| msgid "Configuration" -msgid "--date <format>" +msgid "--format[=<format>]" msgstr "Configuration" #. type: Plain text -#: en/blame-options.txt:72 +#: en/git-shortlog.txt:47 msgid "" -"Specifies the format used to output dates. If --date is not provided, the " -"value of the blame.date config variable is used. If the blame.date config " -"variable is also not set, the iso format is used. For supported values, see " -"the discussion of the --date option at linkgit:git-log[1]." +"Instead of the commit subject, use some other information to describe each " +"commit. '<format>' can be any string accepted by the `--format` option of " +"'git log', such as '* [%h] %s'. (See the \"PRETTY FORMATS\" section of " +"linkgit:git-log[1].)" msgstr "" #. type: Plain text -#: en/blame-options.txt:79 -msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal. This flag enables progress reporting even if not " -"attached to a terminal. Can't use `--progress` together with `--porcelain` " -"or `--incremental`." +#: en/git-shortlog.txt:49 +msgid "Each pretty-printed commit will be rewrapped before it is shown." msgstr "" #. type: Labeled list -#: en/blame-options.txt:80 -#, no-wrap -msgid "-M[<num>]" -msgstr "" - -#. type: Plain text -#: en/blame-options.txt:90 -msgid "" -"Detect moved or copied lines within a file. When a commit moves or copies a " -"block of lines (e.g. the original file has A and then B, and the commit " -"changes it to B and then A), the traditional 'blame' algorithm notices only " -"half of the movement and typically blames the lines that were moved up (i.e. " -"B) to the parent and assigns blame to the lines that were moved down (i.e. " -"A) to the child commit. With this option, both groups of lines are blamed " -"on the parent by running extra passes of inspection." -msgstr "" +#: en/git-shortlog.txt:51 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--committer" +msgstr "git-commit(1)" #. type: Plain text -#: en/blame-options.txt:95 -msgid "" -"<num> is optional but it is the lower bound on the number of alphanumeric " -"characters that Git must detect as moving/copying within a file for it to " -"associate those lines with the parent commit. The default value is 20." +#: en/git-shortlog.txt:53 +msgid "Collect and show committer identities instead of authors." msgstr "" #. type: Labeled list -#: en/blame-options.txt:96 +#: en/git-shortlog.txt:54 #, no-wrap -msgid "-C[<num>]" +msgid "-w[<width>[,<indent1>[,<indent2>]]]" msgstr "" #. type: Plain text -#: en/blame-options.txt:105 +#: en/git-shortlog.txt:59 msgid "" -"In addition to `-M`, detect lines moved or copied from other files that were " -"modified in the same commit. This is useful when you reorganize your " -"program and move code around across files. When this option is given twice, " -"the command additionally looks for copies from other files in the commit " -"that creates the file. When this option is given three times, the command " -"additionally looks for copies from other files in any commit." +"Linewrap the output by wrapping each line at `width`. The first line of " +"each entry is indented by `indent1` spaces, and the second and subsequent " +"lines are indented by `indent2` spaces. `width`, `indent1`, and `indent2` " +"default to 76, 6 and 9 respectively." msgstr "" #. type: Plain text -#: en/blame-options.txt:112 +#: en/git-shortlog.txt:62 msgid "" -"<num> is optional but it is the lower bound on the number of alphanumeric " -"characters that Git must detect as moving/copying between files for it to " -"associate those lines with the parent commit. And the default value is 40. " -"If there are more than one `-C` options given, the <num> argument of the " -"last `-C` will take effect." +"If width is `0` (zero) then indent the lines of the output without wrapping " +"them." msgstr "" #. type: Plain text -#: en/blame-options.txt:114 -msgid "Show help message." +#: en/git-shortlog.txt:71 +msgid "" +"Show only commits in the specified revision range. When no <revision range> " +"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " +"current commit). `origin..HEAD` specifies all the commits reachable from " +"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " +"of ways to spell <revision range>, see the \"Specifying Ranges\" section of " +"linkgit:gitrevisions[7]." msgstr "" -#. type: Title - -#: en/config.txt:2 -#, fuzzy, no-wrap -#| msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" -msgid "CONFIGURATION FILE" -msgstr "ENVIRONNEMENT ET VARIABLES DE CONFIGURATION" +#. type: Plain text +#: en/git-shortlog.txt:75 +#, no-wrap +msgid "" +"[\\--] <path>...::\n" +"\tConsider only commits that are enough to explain how the files\n" +"\tthat match the specified paths came to be.\n" +msgstr "" #. type: Plain text -#: en/config.txt:10 +#: en/git-shortlog.txt:78 msgid "" -"The Git configuration file contains a number of variables that affect the " -"Git commands' behavior. The `.git/config` file in each repository is used to " -"store the configuration for that repository, and `$HOME/.gitconfig` is used " -"to store a per-user configuration as fallback values for the `.git/config` " -"file. The file `/etc/gitconfig` can be used to store a system-wide default " -"configuration." +"Paths may need to be prefixed with \"\\-- \" to separate them from options " +"or the revision range, when confusion arises." msgstr "" #. type: Plain text -#: en/config.txt:19 +#: en/git-shortlog.txt:85 msgid "" -"The configuration variables are used by both the Git plumbing and the " -"porcelains. The variables are divided into sections, wherein the fully " -"qualified variable name of the variable itself is the last dot-separated " -"segment and the section name is everything before the last dot. The variable " -"names are case-insensitive, allow only alphanumeric characters and `-`, and " -"must start with an alphabetic character. Some variables may appear multiple " -"times; we say then that the variable is multivalued." +"The `.mailmap` feature is used to coalesce together commits by the same " +"person in the shortlog, where their name and/or email address was spelled " +"differently." msgstr "" -#. type: Title ~ -#: en/config.txt:21 +#. type: Title = +#: en/git-show-branch.txt:2 #, no-wrap -msgid "Syntax" +msgid "git-show-branch(1)" msgstr "" #. type: Plain text -#: en/config.txt:26 -msgid "" -"The syntax is fairly flexible and permissive; whitespaces are mostly " -"ignored. The '#' and ';' characters begin comments to the end of line, " -"blank lines are ignored." +#: en/git-show-branch.txt:7 +msgid "git-show-branch - Show branches and their commits" msgstr "" #. type: Plain text -#: en/config.txt:33 +#: en/git-show-branch.txt:17 +#, no-wrap msgid "" -"The file consists of sections and variables. A section begins with the name " -"of the section in square brackets and continues until the next section " -"begins. Section names are case-insensitive. Only alphanumeric characters, " -"`-` and `.` are allowed in section names. Each variable must belong to some " -"section, which means that there must be a section header before the first " -"setting of a variable." +"'git show-branch' [-a|--all] [-r|--remotes] [--topo-order | --date-order]\n" +"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n" +"\t\t[--more=<n> | --list | --independent | --merge-base]\n" +"\t\t[--no-name | --sha1-name] [--topics]\n" +"\t\t[(<rev> | <glob>)...]\n" +"'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]\n" msgstr "" #. type: Plain text -#: en/config.txt:37 +#: en/git-show-branch.txt:24 msgid "" -"Sections can be further divided into subsections. To begin a subsection put " -"its name in double quotes, separated by space from the section name, in the " -"section header, like in the example below:" +"Shows the commit ancestry graph starting from the commits named with <rev>s " +"or <globs>s (or all refs under refs/heads and/or refs/tags) semi-visually." msgstr "" -#. type: delimited block - -#: en/config.txt:40 -#, no-wrap -msgid "\t[section \"subsection\"]\n" +#. type: Plain text +#: en/git-show-branch.txt:26 +msgid "It cannot show more than 29 branches and commits at a time." msgstr "" #. type: Plain text -#: en/config.txt:49 +#: en/git-show-branch.txt:29 msgid "" -"Subsection names are case sensitive and can contain any characters except " -"newline (doublequote `\"` and backslash can be included by escaping them as `" -"\\\"` and `\\\\`, respectively). Section headers cannot span multiple " -"lines. Variables may belong directly to a section or to a given " -"subsection. You can have `[section]` if you have `[section \"subsection" -"\"]`, but you don't need to." +"It uses `showbranch.default` multi-valued configuration items if no <rev> or " +"<glob> is given on the command line." msgstr "" -#. type: Plain text -#: en/config.txt:54 -msgid "" -"There is also a deprecated `[section.subsection]` syntax. With this syntax, " -"the subsection name is converted to lower-case and is also compared case " -"sensitively. These subsection names follow the same restrictions as section " -"names." +#. type: Labeled list +#: en/git-show-branch.txt:33 +#, no-wrap +msgid "<rev>" msgstr "" #. type: Plain text -#: en/config.txt:61 +#: en/git-show-branch.txt:36 msgid "" -"All the other lines (and the remainder of the line after the section header) " -"are recognized as setting variables, in the form 'name = value' (or just " -"'name', which is a short-hand to say that the variable is the boolean \"true" -"\"). The variable names are case-insensitive, allow only alphanumeric " -"characters and `-`, and must start with an alphabetic character." +"Arbitrary extended SHA-1 expression (see linkgit:gitrevisions[7]) that " +"typically names a branch head or a tag." +msgstr "" + +#. type: Labeled list +#: en/git-show-branch.txt:37 +#, no-wrap +msgid "<glob>" msgstr "" #. type: Plain text -#: en/config.txt:69 +#: en/git-show-branch.txt:42 msgid "" -"A line that defines a value can be continued to the next line by ending it " -"with a `\\`; the backquote and the end-of-line are stripped. Leading " -"whitespaces after 'name =', the remainder of the line after the first " -"comment character '#' or ';', and trailing whitespaces of the line are " -"discarded unless they are enclosed in double quotes. Internal whitespaces " -"within the value are retained verbatim." +"A glob pattern that matches branch or tag names under refs/. For example, " +"if you have many topic branches under refs/heads/topic, giving `topic/*` " +"would show all of them." msgstr "" #. type: Plain text -#: en/config.txt:72 -msgid "" -"Inside double quotes, double quote `\"` and backslash `\\` characters must " -"be escaped: use `\\\"` for `\"` and `\\\\` for `\\`." +#: en/git-show-branch.txt:46 +msgid "Show the remote-tracking branches." msgstr "" #. type: Plain text -#: en/config.txt:77 -msgid "" -"The following escape sequences (beside `\\\"` and `\\\\`) are recognized: `" -"\\n` for newline character (NL), `\\t` for horizontal tabulation (HT, TAB) " -"and `\\b` for backspace (BS). Other char escape sequences (including octal " -"escape sequences) are invalid." +#: en/git-show-branch.txt:50 +msgid "Show both remote-tracking branches and local branches." msgstr "" -#. type: Title ~ -#: en/config.txt:80 +#. type: Labeled list +#: en/git-show-branch.txt:51 #, no-wrap -msgid "Includes" +msgid "--current" msgstr "" #. type: Plain text -#: en/config.txt:86 +#: en/git-show-branch.txt:55 msgid "" -"You can include a config file from another by setting the special `include." -"path` variable to the name of the file to be included. The variable takes a " -"pathname as its value, and is subject to tilde expansion. `include.path` can " -"be given multiple times." +"With this option, the command includes the current branch to the list of " +"revs to be shown when it is not given on the command line." +msgstr "" + +#. type: Labeled list +#: en/git-show-branch.txt:56 en/rev-list-options.txt:635 +#, no-wrap +msgid "--topo-order" msgstr "" #. type: Plain text -#: en/config.txt:92 +#: en/git-show-branch.txt:61 msgid "" -"The included file is expanded immediately, as if its contents had been found " -"at the location of the include directive. If the value of the `include.path` " -"variable is a relative path, the path is considered to be relative to the " -"configuration file in which the include directive was found. See below for " -"examples." +"By default, the branches and their commits are shown in reverse " +"chronological order. This option makes them appear in topological order (i." +"e., descendant commits are shown before their parents)." msgstr "" -#. type: Title ~ -#: en/config.txt:94 +#. type: Labeled list +#: en/git-show-branch.txt:62 en/rev-list-options.txt:627 #, no-wrap -msgid "Conditional includes" +msgid "--date-order" msgstr "" #. type: Plain text -#: en/config.txt:100 +#: en/git-show-branch.txt:66 msgid "" -"You can include a config file from another conditionally by setting a " -"`includeIf.<condition>.path` variable to the name of the file to be " -"included. The variable's value is treated the same way as `include.path`. " -"`includeIf.<condition>.path` can be given multiple times." +"This option is similar to `--topo-order` in the sense that no parent comes " +"before all of its children, but otherwise commits are ordered according to " +"their commit date." +msgstr "" + +#. type: Labeled list +#: en/git-show-branch.txt:67 en/rev-list-options.txt:333 +#: en/rev-list-options.txt:466 +#, no-wrap +msgid "--sparse" msgstr "" #. type: Plain text -#: en/config.txt:104 +#: en/git-show-branch.txt:71 msgid "" -"The condition starts with a keyword followed by a colon and some data whose " -"format and meaning depends on the keyword. Supported keywords are:" +"By default, the output omits merges that are reachable from only one tip " +"being shown. This option makes them visible." msgstr "" #. type: Labeled list -#: en/config.txt:105 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "`gitdir`" -msgstr "git-add(1)" +#: en/git-show-branch.txt:72 +#, no-wrap +msgid "--more=<n>" +msgstr "" #. type: Plain text -#: en/config.txt:110 +#: en/git-show-branch.txt:79 msgid "" -"The data that follows the keyword `gitdir:` is used as a glob pattern. If " -"the location of the .git directory matches the pattern, the include " -"condition is met." +"Usually the command stops output upon showing the commit that is the common " +"ancestor of all the branches. This flag tells the command to go <n> more " +"common commits beyond that. When <n> is negative, display only the " +"<reference>s given, without showing the commit ancestry tree." msgstr "" #. type: Plain text -#: en/config.txt:115 -msgid "" -"The .git location may be auto-discovered, or come from `$GIT_DIR` " -"environment variable. If the repository is auto discovered via a .git file " -"(e.g. from submodules, or a linked worktree), the .git location would be the " -"final location where the .git directory is, not where the" +#: en/git-show-branch.txt:82 +msgid "Synonym to `--more=-1`" msgstr "" -#. type: Block title -#: en/config.txt:115 +#. type: Labeled list +#: en/git-show-branch.txt:83 #, no-wrap -msgid "git file is." +msgid "--merge-base" msgstr "" #. type: Plain text -#: en/config.txt:120 +#: en/git-show-branch.txt:89 msgid "" -"The pattern can contain standard globbing wildcards and two additional ones, " -"`**/` and `/**`, that can match multiple path components. Please refer to " -"linkgit:gitignore[5] for details. For convenience:" +"Instead of showing the commit list, determine possible merge bases for the " +"specified commits. All merge bases will be contained in all specified " +"commits. This is different from how linkgit:git-merge-base[1] handles the " +"case of three or more commits." msgstr "" #. type: Plain text -#: en/config.txt:123 +#: en/git-show-branch.txt:93 msgid "" -"If the pattern starts with `~/`, `~` will be substituted with the content of " -"the environment variable `HOME`." +"Among the <reference>s given, display only the ones that cannot be reached " +"from any other <reference>." msgstr "" -#. type: Plain text -#: en/config.txt:126 -msgid "" -"If the pattern starts with `./`, it is replaced with the directory " -"containing the current config file." +#. type: Labeled list +#: en/git-show-branch.txt:94 +#, no-wrap +msgid "--no-name" msgstr "" #. type: Plain text -#: en/config.txt:130 -msgid "" -"If the pattern does not start with either `~/`, `./` or `/`, `**/` will be " -"automatically prepended. For example, the pattern `foo/bar` becomes `**/foo/" -"bar` and would match `/any/path/to/foo/bar`." +#: en/git-show-branch.txt:96 +msgid "Do not show naming strings for each commit." +msgstr "" + +#. type: Labeled list +#: en/git-show-branch.txt:97 +#, no-wrap +msgid "--sha1-name" msgstr "" #. type: Plain text -#: en/config.txt:134 +#: en/git-show-branch.txt:102 msgid "" -"If the pattern ends with `/`, `**` will be automatically added. For example, " -"the pattern `foo/` becomes `foo/**`. In other words, it matches \"foo\" and " -"everything inside, recursively." +"Instead of naming the commits using the path to reach them from heads (e.g. " +"\"master~2\" to mean the grandparent of \"master\"), name them with the " +"unique prefix of their object names." msgstr "" #. type: Labeled list -#: en/config.txt:135 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "`gitdir/i`" -msgstr "git-add(1)" +#: en/git-show-branch.txt:103 +#, no-wrap +msgid "--topics" +msgstr "" #. type: Plain text -#: en/config.txt:138 +#: en/git-show-branch.txt:110 msgid "" -"This is the same as `gitdir` except that matching is done case-insensitively " -"(e.g. on case-insensitive file sytems)" +"Shows only commits that are NOT on the first branch given. This helps track " +"topic branches by hiding any commit that is already in the main line of " +"development. When given \"git show-branch --topics master topic1 topic2\", " +"this will show the revisions given by \"git rev-list {caret}master topic1 " +"topic2\"" +msgstr "" + +#. type: Labeled list +#: en/git-show-branch.txt:112 +#, no-wrap +msgid "--reflog[=<n>[,<base>]] [<ref>]" msgstr "" #. type: Plain text -#: en/config.txt:140 -msgid "A few more notes on matching via `gitdir` and `gitdir/i`:" +#: en/git-show-branch.txt:118 +msgid "" +"Shows <n> most recent ref-log entries for the given ref. If <base> is " +"given, <n> entries going back from that entry. <base> can be specified as " +"count or date. When no explicit <ref> parameter is given, it defaults to " +"the current branch (or `HEAD` if it is detached)." msgstr "" #. type: Plain text -#: en/config.txt:142 -msgid "Symlinks in `$GIT_DIR` are not resolved before matching." +#: en/git-show-branch.txt:123 +msgid "" +"Color the status sign (one of these: `*` `!` `+` `-`) of each commit " +"corresponding to the branch it's in. The value must be always (the " +"default), never, or auto." msgstr "" #. type: Plain text -#: en/config.txt:145 +#: en/git-show-branch.txt:128 msgid "" -"Note that \"../\" is not special and will match literally, which is unlikely " -"what you want." +"Turn off colored output, even when the configuration file gives the default " +"to color output. Same as `--color=never`." msgstr "" #. type: Plain text -#: en/config.txt:153 -#, no-wrap +#: en/git-show-branch.txt:131 msgid "" -"\t# Core variables\n" -"\t[core]\n" -"\t\t; Don't trust file modes\n" -"\t\tfilemode = false\n" +"Note that --more, --list, --independent and --merge-base options are " +"mutually exclusive." msgstr "" #. type: Plain text -#: en/config.txt:158 -#, no-wrap +#: en/git-show-branch.txt:139 msgid "" -"\t# Our diff algorithm\n" -"\t[diff]\n" -"\t\texternal = /usr/local/bin/diff-wrapper\n" -"\t\trenames = true\n" +"Given N <references>, the first N lines are the one-line description from " +"their commit message. The branch head that is pointed at by $GIT_DIR/HEAD " +"is prefixed with an asterisk `*` character while other heads are prefixed " +"with a `!` character." msgstr "" #. type: Plain text -#: en/config.txt:162 -#, no-wrap +#: en/git-show-branch.txt:146 msgid "" -"\t[branch \"devel\"]\n" -"\t\tremote = origin\n" -"\t\tmerge = refs/heads/devel\n" +"Following these N lines, one-line log for each commit is displayed, indented " +"N places. If a commit is on the I-th branch, the I-th indentation character " +"shows a `+` sign; otherwise it shows a space. Merge commits are denoted by " +"a `-` sign. Each commit shows a short name that can be used as an extended " +"SHA-1 to name that commit." msgstr "" #. type: Plain text -#: en/config.txt:167 -#, no-wrap +#: en/git-show-branch.txt:149 msgid "" -"\t# Proxy settings\n" -"\t[core]\n" -"\t\tgitProxy=\"ssh\" for \"kernel.org\"\n" -"\t\tgitProxy=default-proxy ; for the rest\n" +"The following example shows three branches, \"master\", \"fixes\" and \"mhf" +"\":" msgstr "" -#. type: Plain text -#: en/config.txt:172 +#. type: delimited block - +#: en/git-show-branch.txt:155 #, no-wrap msgid "" -"\t[include]\n" -"\t\tpath = /path/to/foo.inc ; include by absolute path\n" -"\t\tpath = foo ; expand \"foo\" relative to the current file\n" -"\t\tpath = ~/foo ; expand \"foo\" in your `$HOME` directory\n" +"$ git show-branch master fixes mhf\n" +"* [master] Add 'git show-branch'.\n" +" ! [fixes] Introduce \"reset type\" flag to \"git reset\"\n" +" ! [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" +"---\n" msgstr "" -#. type: Plain text -#: en/config.txt:176 +#. type: delimited block - +#: en/git-show-branch.txt:167 #, no-wrap msgid "" -"\t; include if $GIT_DIR is /path/to/foo/.git\n" -"\t[includeIf \"gitdir:/path/to/foo/.git\"]\n" -"\t\tpath = /path/to/foo.inc\n" +" + [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" +" + [mhf~1] Use git-octopus when pulling more than one heads.\n" +" + [fixes] Introduce \"reset type\" flag to \"git reset\"\n" +" + [mhf~2] \"git fetch --force\".\n" +" + [mhf~3] Use .git/remote/origin, not .git/branches/origin.\n" +" + [mhf~4] Make \"git pull\" and \"git fetch\" default to origin\n" +" + [mhf~5] Infamous 'octopus merge'\n" +" + [mhf~6] Retire git-parse-remote.\n" +" + [mhf~7] Multi-head fetch.\n" +" + [mhf~8] Start adding the $GIT_DIR/remotes/ support.\n" +"*++ [master] Add 'git show-branch'.\n" msgstr "" #. type: Plain text -#: en/config.txt:180 -#, no-wrap +#: en/git-show-branch.txt:174 msgid "" -"\t; include for all repositories inside /path/to/group\n" -"\t[includeIf \"gitdir:/path/to/group/\"]\n" -"\t\tpath = /path/to/foo.inc\n" +"These three branches all forked from a common commit, [master], whose commit " +"message is \"Add {apostrophe}git show-branch{apostrophe}\". The \"fixes\" " +"branch adds one commit \"Introduce \"reset type\" flag to \"git reset\"\". " +"The \"mhf\" branch adds many other commits. The current branch is \"master" +"\"." msgstr "" #. type: Plain text -#: en/config.txt:184 -#, no-wrap +#: en/git-show-branch.txt:182 msgid "" -"\t; include for all repositories inside $HOME/to/group\n" -"\t[includeIf \"gitdir:~/to/group/\"]\n" -"\t\tpath = /path/to/foo.inc\n" +"If you keep your primary branches immediately under `refs/heads`, and topic " +"branches in subdirectories of it, having the following in the configuration " +"file may help:" msgstr "" -#. type: Title ~ -#: en/config.txt:186 +#. type: delimited block - +#: en/git-show-branch.txt:187 #, no-wrap -msgid "Values" +msgid "" +"[showbranch]\n" +"\tdefault = --topo-order\n" +"\tdefault = heads/*\n" msgstr "" #. type: Plain text -#: en/config.txt:191 +#: en/git-show-branch.txt:193 msgid "" -"Values of many variables are treated as a simple string, but there are " -"variables that take values of specific types and there are rules as to how " -"to spell them." +"With this, `git show-branch` without extra parameters would show only the " +"primary branches. In addition, if you happen to be on your topic branch, it " +"is shown as well." msgstr "" -#. type: Labeled list -#: en/config.txt:192 +#. type: delimited block - +#: en/git-show-branch.txt:196 #, no-wrap -msgid "boolean" +msgid "$ git show-branch --reflog=\"10,1 hour ago\" --list master\n" msgstr "" #. type: Plain text -#: en/config.txt:197 +#: en/git-show-branch.txt:201 msgid "" -"When a variable is said to take a boolean value, many synonyms are accepted " -"for 'true' and 'false'; these are all case-insensitive." +"shows 10 reflog entries going back from the tip as of 1 hour ago. Without " +"`--list`, the output also shows how these tips are topologically related " +"with each other." msgstr "" -#. type: Labeled list -#: en/config.txt:198 +#. type: Title = +#: en/git-show-index.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-show-index(1)" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-show-index.txt:7 +msgid "git-show-index - Show packed archive index" +msgstr "" + +#. type: Plain text +#: en/git-show-index.txt:13 #, no-wrap -msgid "true" +msgid "'git show-index'\n" msgstr "" #. type: Plain text -#: en/config.txt:199 -msgid "Boolean true can be spelled as `yes`, `on`, `true`," +#: en/git-show-index.txt:20 +msgid "" +"Read the idx file for a Git packfile created with 'git pack-objects' command " +"from the standard input, and dump its contents." msgstr "" #. type: Plain text -#: en/config.txt:201 -msgid "or `1`. Also, a variable defined without `= <value>` is taken as true." +#: en/git-show-index.txt:24 +msgid "" +"The information it outputs is subset of what you can get from 'git verify-" +"pack -v'; this command only shows the packfile offset and SHA-1 of each " +"object." msgstr "" -#. type: Labeled list -#: en/config.txt:202 +#. type: Title = +#: en/git-show-ref.txt:2 #, no-wrap -msgid "false" +msgid "git-show-ref(1)" msgstr "" #. type: Plain text -#: en/config.txt:203 -msgid "Boolean false can be spelled as `no`, `off`," +#: en/git-show-ref.txt:7 +msgid "git-show-ref - List references in a local repository" msgstr "" #. type: Plain text -#: en/config.txt:204 -msgid "`false`, or `0`." +#: en/git-show-ref.txt:15 +#, no-wrap +msgid "" +"'git show-ref' [-q|--quiet] [--verify] [--head] [-d|--dereference]\n" +"\t [-s|--hash[=<n>]] [--abbrev[=<n>]] [--tags]\n" +"\t [--heads] [--] [<pattern>...]\n" +"'git show-ref' --exclude-existing[=<pattern>]\n" msgstr "" #. type: Plain text -#: en/config.txt:208 +#: en/git-show-ref.txt:23 msgid "" -"When converting value to the canonical form using `--bool` type specifier; " -"'git config' will ensure that the output is \"true\" or \"false\" (spelled " -"in lowercase)." +"Displays references available in a local repository along with the " +"associated commit IDs. Results can be filtered using a pattern and tags can " +"be dereferenced into object IDs. Additionally, it can be used to test " +"whether a particular ref exists." msgstr "" -#. type: Labeled list -#: en/config.txt:209 -#, no-wrap -msgid "integer" +#. type: Plain text +#: en/git-show-ref.txt:25 +msgid "By default, shows the tags, heads, and remote refs." msgstr "" #. type: Plain text -#: en/config.txt:213 +#: en/git-show-ref.txt:29 msgid "" -"The value for many variables that specify various sizes can be suffixed with " -"`k`, `M`,... to mean \"scale the number by 1024\", \"by 1024x1024\", etc." +"The --exclude-existing form is a filter that does the inverse. It reads refs " +"from stdin, one ref per line, and shows those that don't exist in the local " +"repository." msgstr "" #. type: Plain text -#: en/config.txt:218 +#: en/git-show-ref.txt:32 msgid "" -"The value for a variable that takes a color is a list of colors (at most " -"two, one for foreground and one for background) and attributes (as many as " -"you want), separated by spaces." +"Use of this utility is encouraged in favor of directly accessing files under " +"the `.git` directory." msgstr "" -#. type: Plain text -#: en/config.txt:222 -msgid "" -"The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`, " -"`blue`, `magenta`, `cyan` and `white`. The first color given is the " -"foreground; the second is the background." +#. type: Labeled list +#: en/git-show-ref.txt:36 +#, no-wrap +msgid "--head" msgstr "" #. type: Plain text -#: en/config.txt:227 -msgid "" -"Colors may also be given as numbers between 0 and 255; these use ANSI 256-" -"color mode (but note that not all terminals may support this). If your " -"terminal supports it, you may also specify 24-bit RGB values as hex, like " -"`#ff0ab3`." +#: en/git-show-ref.txt:39 +msgid "Show the HEAD reference, even if it would normally be filtered out." msgstr "" #. type: Plain text -#: en/config.txt:234 +#: en/git-show-ref.txt:46 msgid "" -"The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, " -"`italic`, and `strike` (for crossed-out or \"strikethrough\" letters). The " -"position of any attributes with respect to the colors (before, after, or in " -"between), doesn't matter. Specific attributes may be turned off by prefixing " -"them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc)." +"Limit to \"refs/heads\" and \"refs/tags\", respectively. These options are " +"not mutually exclusive; when given both, references stored in \"refs/heads\" " +"and \"refs/tags\" are displayed." msgstr "" -#. type: Plain text -#: en/config.txt:237 -msgid "" -"An empty color string produces no color effect at all. This can be used to " -"avoid coloring specific elements without disabling color entirely." +#. type: Labeled list +#: en/git-show-ref.txt:48 +#, no-wrap +msgid "--dereference" msgstr "" #. type: Plain text -#: en/config.txt:246 +#: en/git-show-ref.txt:52 msgid "" -"For git's pre-defined color slots, the attributes are meant to be reset at " -"the beginning of each item in the colored output. So setting `color.decorate." -"branch` to `black` will paint that branch name in a plain `black`, even if " -"the previous thing on the same output line (e.g. opening parenthesis before " -"the list of branch names in `log --decorate` output) is set to be painted " -"with `bold` or some other attribute. However, custom log formats may do " -"more complicated and layered coloring, and the negated forms may be useful " -"there." +"Dereference tags into object IDs as well. They will be shown with \"{caret}" +"{}\" appended." msgstr "" #. type: Labeled list -#: en/config.txt:247 +#: en/git-show-ref.txt:54 #, no-wrap -msgid "pathname" +msgid "--hash[=<n>]" msgstr "" #. type: Plain text -#: en/config.txt:253 +#: en/git-show-ref.txt:58 msgid "" -"A variable that takes a pathname value can be given a string that begins " -"with \"`~/`\" or \"`~user/`\", and the usual tilde expansion happens to such " -"a string: `~/` is expanded to the value of `$HOME`, and `~user/` to the " -"specified user's home directory." +"Only show the SHA-1 hash, not the reference name. When combined with --" +"dereference the dereferenced tag will still be shown after the SHA-1." msgstr "" #. type: Plain text -#: en/config.txt:261 +#: en/git-show-ref.txt:64 msgid "" -"Note that this list is non-comprehensive and not necessarily complete. For " -"command-specific variables, you will find a more detailed description in the " -"appropriate manual page." +"Enable stricter reference checking by requiring an exact ref path. Aside " +"from returning an error code of 1, it will also print an error message if `--" +"quiet` was not specified." msgstr "" #. type: Plain text -#: en/config.txt:266 +#: en/git-show-ref.txt:69 msgid "" -"Other git-related tools may and do use their own variables. When inventing " -"new variables for use in your own tool, make sure their names do not " -"conflict with those that are used by Git itself and other popular tools, and " -"describe them in your documentation." -msgstr "" - -#. type: Labeled list -#: en/config.txt:268 -#, no-wrap -msgid "advice.*" +"Abbreviate the object name. When using `--hash`, you do not have to say `--" +"hash --abbrev`; `--hash=n` would do." msgstr "" #. type: Plain text -#: en/config.txt:272 +#: en/git-show-ref.txt:75 msgid "" -"These variables control various optional help messages designed to aid new " -"users. All 'advice.*' variables default to 'true', and you can tell Git that " -"you do not need help by setting these to 'false':" +"Do not print any results to stdout. When combined with `--verify` this can " +"be used to silently check if a reference exists." msgstr "" #. type: Labeled list -#: en/config.txt:274 +#: en/git-show-ref.txt:76 #, no-wrap -msgid "pushUpdateRejected" +msgid "--exclude-existing[=<pattern>]" msgstr "" #. type: Plain text -#: en/config.txt:280 -#, no-wrap +#: en/git-show-ref.txt:81 msgid "" -"Set this variable to 'false' if you want to disable\n" -"'pushNonFFCurrent',\n" -"'pushNonFFMatching', 'pushAlreadyExists',\n" -"'pushFetchFirst', and 'pushNeedsForce'\n" -"simultaneously.\n" +"Make 'git show-ref' act as a filter that reads refs from stdin of the form " +"\"`^(?:<anything>\\s)?<refname>(?:\\^{})?$`\" and performs the following " +"actions on each:" msgstr "" -#. type: Labeled list -#: en/config.txt:280 -#, no-wrap -msgid "pushNonFFCurrent" +#. type: Plain text +#: en/git-show-ref.txt:82 +msgid "strip \"{caret}{}\" at the end of line if any;" msgstr "" #. type: Plain text -#: en/config.txt:283 -#, no-wrap -msgid "" -"Advice shown when linkgit:git-push[1] fails due to a\n" -"non-fast-forward update to the current branch.\n" +#: en/git-show-ref.txt:83 +msgid "ignore if pattern is provided and does not head-match refname;" msgstr "" -#. type: Labeled list -#: en/config.txt:283 -#, no-wrap -msgid "pushNonFFMatching" +#. type: Plain text +#: en/git-show-ref.txt:84 +msgid "warn if refname is not a well-formed refname and skip;" msgstr "" #. type: Plain text -#: en/config.txt:288 -#, no-wrap -msgid "" -"Advice shown when you ran linkgit:git-push[1] and pushed\n" -"'matching refs' explicitly (i.e. you used ':', or\n" -"specified a refspec that isn't your current branch) and\n" -"it resulted in a non-fast-forward error.\n" +#: en/git-show-ref.txt:85 +msgid "ignore if refname is a ref that exists in the local repository;" msgstr "" -#. type: Labeled list -#: en/config.txt:288 -#, no-wrap -msgid "pushAlreadyExists" +#. type: Plain text +#: en/git-show-ref.txt:86 +msgid "otherwise output the line." msgstr "" #. type: Plain text -#: en/config.txt:291 -#, no-wrap +#: en/git-show-ref.txt:95 msgid "" -"Shown when linkgit:git-push[1] rejects an update that\n" -"does not qualify for fast-forwarding (e.g., a tag.)\n" -msgstr "" - -#. type: Labeled list -#: en/config.txt:291 -#, no-wrap -msgid "pushFetchFirst" +"Show references matching one or more patterns. Patterns are matched from the " +"end of the full name, and only complete parts are matched, e.g. 'master' " +"matches 'refs/heads/master', 'refs/remotes/origin/master', 'refs/tags/jedi/" +"master' but not 'refs/heads/mymaster' or 'refs/remotes/master/jedi'." msgstr "" #. type: Plain text -#: en/config.txt:295 -#, no-wrap -msgid "" -"Shown when linkgit:git-push[1] rejects an update that\n" -"tries to overwrite a remote ref that points at an\n" -"object we do not have.\n" +#: en/git-show-ref.txt:100 +msgid "The output is in the format: '<SHA-1 ID>' '<space>' '<reference name>'." msgstr "" -#. type: Labeled list -#: en/config.txt:295 +#. type: delimited block - +#: en/git-show-ref.txt:111 #, no-wrap -msgid "pushNeedsForce" +msgid "" +"$ git show-ref --head --dereference\n" +"832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD\n" +"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master\n" +"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin\n" +"3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c\n" +"6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}\n" +"055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4\n" +"423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}\n" +"...\n" msgstr "" #. type: Plain text -#: en/config.txt:300 -#, no-wrap +#: en/git-show-ref.txt:114 msgid "" -"Shown when linkgit:git-push[1] rejects an update that\n" -"tries to overwrite a remote ref that points at an\n" -"object that is not a commit-ish, or make the remote\n" -"ref point at an object that is not a commit-ish.\n" +"When using --hash (and not --dereference) the output format is: '<SHA-1 ID>'" msgstr "" -#. type: Labeled list -#: en/config.txt:300 -#, fuzzy, no-wrap -#| msgid "status" -msgid "statusHints" -msgstr "status" - -#. type: Plain text -#: en/config.txt:306 +#. type: delimited block - +#: en/git-show-ref.txt:121 #, no-wrap msgid "" -"Show directions on how to proceed from the current\n" -"state in the output of linkgit:git-status[1], in\n" -"the template shown when writing commit messages in\n" -"linkgit:git-commit[1], and in the help message shown\n" -"by linkgit:git-checkout[1] when switching branch.\n" +"$ git show-ref --heads --hash\n" +"2e3ba0114a1f52b47df29743d6915d056be13278\n" +"185008ae97960c8d551adcd9e23565194651b5d1\n" +"03adf42c988195b50e1a1935ba5fcbc39b2b029b\n" +"...\n" msgstr "" -#. type: Labeled list -#: en/config.txt:306 -#, fuzzy, no-wrap -#| msgid "status" -msgid "statusUoption" -msgstr "status" - #. type: Plain text -#: en/config.txt:310 -#, no-wrap +#: en/git-show-ref.txt:129 msgid "" -"Advise to consider using the `-u` option to linkgit:git-status[1]\n" -"when the command takes more than 2 seconds to enumerate untracked\n" -"files.\n" +"To show all references called \"master\", whether tags or heads or anything " +"else, and regardless of how deep in the reference naming hierarchy they are, " +"use:" msgstr "" -#. type: Labeled list -#: en/config.txt:310 +#. type: delimited block - +#: en/git-show-ref.txt:132 #, no-wrap -msgid "commitBeforeMerge" +msgid "\tgit show-ref master\n" msgstr "" #. type: Plain text -#: en/config.txt:313 -#, no-wrap +#: en/git-show-ref.txt:136 msgid "" -"Advice shown when linkgit:git-merge[1] refuses to\n" -"merge to avoid overwriting local changes.\n" +"This will show \"refs/heads/master\" but also \"refs/remote/other-repo/master" +"\", if such references exists." msgstr "" -#. type: Labeled list -#: en/config.txt:313 +#. type: Plain text +#: en/git-show-ref.txt:138 +msgid "When using the `--verify` flag, the command requires an exact path:" +msgstr "" + +#. type: delimited block - +#: en/git-show-ref.txt:141 #, no-wrap -msgid "resolveConflict" +msgid "\tgit show-ref --verify refs/heads/master\n" msgstr "" #. type: Plain text -#: en/config.txt:316 -#, no-wrap -msgid "" -"Advice shown by various commands when conflicts\n" -"prevent the operation from being performed.\n" +#: en/git-show-ref.txt:144 +msgid "will only match the exact branch called \"master\"." msgstr "" -#. type: Labeled list -#: en/config.txt:316 -#, no-wrap -msgid "implicitIdentity" +#. type: Plain text +#: en/git-show-ref.txt:147 +msgid "" +"If nothing matches, 'git show-ref' will return an error code of 1, and in " +"the case of verification, it will show an error message." msgstr "" #. type: Plain text -#: en/config.txt:320 -#, no-wrap +#: en/git-show-ref.txt:150 msgid "" -"Advice on how to set your identity configuration when\n" -"your information is guessed from the system username and\n" -"domain name.\n" +"For scripting, you can ask it to be quiet with the \"--quiet\" flag, which " +"allows you to do things like" msgstr "" -#. type: Labeled list -#: en/config.txt:320 +#. type: delimited block - +#: en/git-show-ref.txt:154 #, no-wrap -msgid "detachedHead" +msgid "" +"\tgit show-ref --quiet --verify -- \"refs/heads/$headname\" ||\n" +"\t\techo \"$headname is not a valid branch\"\n" msgstr "" #. type: Plain text -#: en/config.txt:324 -#, no-wrap +#: en/git-show-ref.txt:159 msgid "" -"Advice shown when you used linkgit:git-checkout[1] to\n" -"move to the detach HEAD state, to instruct how to create\n" -"a local branch after the fact.\n" +"to check whether a particular branch exists or not (notice how we don't " +"actually want to show any results, and we want to use the full refname for " +"it in order to not trigger the problem with ambiguous partial matches)." msgstr "" -#. type: Labeled list -#: en/config.txt:324 -#, no-wrap -msgid "amWorkDir" +#. type: Plain text +#: en/git-show-ref.txt:163 +msgid "" +"To show only tags, or only proper branch heads, use \"--tags\" and/or \"--" +"heads\" respectively (using both means that it shows tags and heads, but not " +"other random references under the refs/ subdirectory)." msgstr "" #. type: Plain text -#: en/config.txt:327 -#, no-wrap +#: en/git-show-ref.txt:166 msgid "" -"Advice that shows the location of the patch file when\n" -"linkgit:git-am[1] fails to apply it.\n" +"To do automatic tag object dereferencing, use the \"-d\" or \"--dereference" +"\" flag, so you can do" msgstr "" -#. type: Labeled list -#: en/config.txt:327 +#. type: delimited block - +#: en/git-show-ref.txt:169 #, no-wrap -msgid "rmHints" +msgid "\tgit show-ref --tags --dereference\n" msgstr "" #. type: Plain text -#: en/config.txt:330 -#, no-wrap -msgid "" -"In case of failure in the output of linkgit:git-rm[1],\n" -"show directions on how to proceed from the current state.\n" +#: en/git-show-ref.txt:172 +msgid "to get a listing of all tags together with what they dereference." msgstr "" -#. type: Labeled list -#: en/config.txt:332 -#, no-wrap -msgid "core.fileMode" +#. type: Plain text +#: en/git-show-ref.txt:176 +msgid "`.git/refs/*`, `.git/packed-refs`" msgstr "" # #. type: Plain text -#: en/config.txt:335 +#: en/git-show-ref.txt:183 #, fuzzy -#| msgid "git-add - Add file contents to the index" +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"Tells Git if the executable bit of files in the working tree is to be " -"honored." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +"linkgit:git-for-each-ref[1], linkgit:git-ls-remote[1], linkgit:git-update-" +"ref[1], linkgit:gitrepository-layout[5]" +msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" + +#. type: Title = +#: en/git-show.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-show(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/config.txt:342 -msgid "" -"Some filesystems lose the executable bit when a file that is marked as " -"executable is checked out, or checks out an non-executable file with " -"executable bit on. linkgit:git-clone[1] or linkgit:git-init[1] probe the " -"filesystem to see if it handles the executable bit correctly and this " -"variable is automatically set as necessary." +#: en/git-show.txt:7 +msgid "git-show - Show various types of objects" msgstr "" #. type: Plain text -#: en/config.txt:351 -msgid "" -"A repository, however, may be on a filesystem that handles the filemode " -"correctly, and this variable is set to 'true' when created, but later may be " -"made accessible from another environment that loses the filemode (e.g. " -"exporting ext4 via CIFS mount, visiting a Cygwin created repository with Git " -"for Windows or Eclipse). In such a case it may be necessary to set this " -"variable to 'false'. See linkgit:git-update-index[1]." +#: en/git-show.txt:13 +#, no-wrap +msgid "'git show' [options] <object>...\n" msgstr "" #. type: Plain text -#: en/config.txt:353 +#: en/git-show.txt:17 +msgid "Shows one or more objects (blobs, trees, tags and commits)." +msgstr "" + +#. type: Plain text +#: en/git-show.txt:21 msgid "" -"The default is true (when core.filemode is not specified in the config file)." +"For commits it shows the log message and textual diff. It also presents the " +"merge commit in a special format as produced by 'git diff-tree --cc'." msgstr "" -#. type: Labeled list -#: en/config.txt:354 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "core.hideDotFiles" -msgstr "whitespace" +#. type: Plain text +#: en/git-show.txt:23 +msgid "For tags, it shows the tag message and the referenced objects." +msgstr "" #. type: Plain text -#: en/config.txt:359 +#: en/git-show.txt:26 msgid "" -"(Windows-only) If true, mark newly-created directories and files whose name " -"starts with a dot as hidden. If 'dotGitOnly', only the `.git/` directory is " -"hidden, but no other files starting with a dot. The default mode is " -"'dotGitOnly'." +"For trees, it shows the names (equivalent to 'git ls-tree' with --name-only)." msgstr "" -#. type: Labeled list -#: en/config.txt:360 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "core.ignoreCase" -msgstr "whitespace" +#. type: Plain text +#: en/git-show.txt:28 +msgid "For plain blobs, it shows the plain contents." +msgstr "" #. type: Plain text -#: en/config.txt:367 +#: en/git-show.txt:31 msgid "" -"If true, this option enables various workarounds to enable Git to work " -"better on filesystems that are not case sensitive, like FAT. For example, if " -"a directory listing finds \"makefile\" when Git expects \"Makefile\", Git " -"will assume it is really the same file, and continue to remember it as " -"\"Makefile\"." +"The command takes options applicable to the 'git diff-tree' command to " +"control how the changes the commit introduces are shown." msgstr "" #. type: Plain text -#: en/config.txt:371 -msgid "" -"The default is false, except linkgit:git-clone[1] or linkgit:git-init[1] " -"will probe and set core.ignoreCase true if appropriate when the repository " -"is created." +#: en/git-show.txt:33 +msgid "This manual page describes only the most frequently used options." msgstr "" #. type: Labeled list -#: en/config.txt:372 +#: en/git-show.txt:37 #, no-wrap -msgid "core.precomposeUnicode" +msgid "<object>..." msgstr "" #. type: Plain text -#: en/config.txt:380 +#: en/git-show.txt:41 msgid "" -"This option is only used by Mac OS implementation of Git. When core." -"precomposeUnicode=true, Git reverts the unicode decomposition of filenames " -"done by Mac OS. This is useful when sharing a repository between Mac OS and " -"Linux or Windows. (Git for Windows 1.7.10 or higher is needed, or Git under " -"cygwin 1.7). When false, file names are handled fully transparent by Git, " -"which is backward compatible with older versions of Git." +"The names of objects to show. For a more complete list of ways to spell " +"object names, see \"SPECIFYING REVISIONS\" section in linkgit:" +"gitrevisions[7]." msgstr "" #. type: Labeled list -#: en/config.txt:381 +#: en/git-show.txt:60 #, no-wrap -msgid "core.protectHFS" +msgid "`git show v1.0.0`" msgstr "" #. type: Plain text -#: en/config.txt:385 -msgid "" -"If set to true, do not allow checkout of paths that would be considered " -"equivalent to `.git` on an HFS+ filesystem. Defaults to `true` on Mac OS, " -"and `false` elsewhere." +#: en/git-show.txt:63 +msgid "Shows the tag `v1.0.0`, along with the object the tags points at." msgstr "" #. type: Labeled list -#: en/config.txt:386 +#: en/git-show.txt:64 #, no-wrap -msgid "core.protectNTFS" +msgid "`git show v1.0.0^{tree}`" msgstr "" #. type: Plain text -#: en/config.txt:391 -msgid "" -"If set to true, do not allow checkout of paths that would cause problems " -"with the NTFS filesystem, e.g. conflict with 8.3 \"short\" names. Defaults " -"to `true` on Windows, and `false` elsewhere." +#: en/git-show.txt:66 +msgid "Shows the tree pointed to by the tag `v1.0.0`." msgstr "" #. type: Labeled list -#: en/config.txt:392 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "core.trustctime" -msgstr "whitespace" +#: en/git-show.txt:67 +#, no-wrap +msgid "`git show -s --format=%s v1.0.0^{commit}`" +msgstr "" #. type: Plain text -#: en/config.txt:398 -msgid "" -"If false, the ctime differences between the index and the working tree are " -"ignored; useful when the inode change time is regularly modified by " -"something outside Git (file system crawlers and some backup systems). See " -"linkgit:git-update-index[1]. True by default." +#: en/git-show.txt:70 +msgid "Shows the subject of the commit pointed to by the tag `v1.0.0`." msgstr "" #. type: Labeled list -#: en/config.txt:399 +#: en/git-show.txt:71 #, no-wrap -msgid "core.splitIndex" +msgid "`git show next~10:Documentation/README`" msgstr "" #. type: Plain text -#: en/config.txt:402 +#: en/git-show.txt:75 msgid "" -"If true, the split-index feature of the index will be used. See linkgit:git-" -"update-index[1]. False by default." +"Shows the contents of the file `Documentation/README` as they were current " +"in the 10th last commit of the branch `next`." msgstr "" #. type: Labeled list -#: en/config.txt:403 +#: en/git-show.txt:76 #, no-wrap -msgid "core.untrackedCache" +msgid "`git show master:Makefile master:t/Makefile`" msgstr "" #. type: Plain text -#: en/config.txt:411 +#: en/git-show.txt:79 msgid "" -"Determines what to do about the untracked cache feature of the index. It " -"will be kept, if this variable is unset or set to `keep`. It will " -"automatically be added if set to `true`. And it will automatically be " -"removed, if set to `false`. Before setting it to `true`, you should check " -"that mtime is working properly on your system. See linkgit:git-update-" -"index[1]. `keep` by default." +"Concatenates the contents of said Makefiles in the head of the branch " +"`master`." msgstr "" -#. type: Labeled list -#: en/config.txt:412 +#. type: Title = +#: en/git-sh-setup.txt:2 #, no-wrap -msgid "core.checkStat" +msgid "git-sh-setup(1)" msgstr "" #. type: Plain text -#: en/config.txt:417 -msgid "" -"Determines which stat fields to match between the index and work tree. The " -"user can set this to 'default' or 'minimal'. Default (or explicitly " -"'default'), is to check all fields, including the sub-second part of mtime " -"and ctime." +#: en/git-sh-setup.txt:7 +msgid "git-sh-setup - Common Git shell script setup code" msgstr "" -#. type: Labeled list -#: en/config.txt:418 +#. type: Plain text +#: en/git-sh-setup.txt:12 #, no-wrap -msgid "core.quotePath" +msgid "'. \"$(git --exec-path)/git-sh-setup\"'\n" msgstr "" #. type: Plain text -#: en/config.txt:432 +#: en/git-sh-setup.txt:23 msgid "" -"Commands that output paths (e.g. 'ls-files', 'diff'), will quote \"unusual\" " -"characters in the pathname by enclosing the pathname in double-quotes and " -"escaping those characters with backslashes in the same way C escapes control " -"characters (e.g. `\\t` for TAB, `\\n` for LF, `\\\\` for backslash) or " -"bytes with values larger than 0x80 (e.g. octal `\\302\\265` for \"micro\" in " -"UTF-8). If this variable is set to false, bytes higher than 0x80 are not " -"considered \"unusual\" any more. Double-quotes, backslash and control " -"characters are always escaped regardless of the setting of this variable. A " -"simple space character is not considered \"unusual\". Many commands can " -"output pathnames completely verbatim using the `-z` option. The default " -"value is true." +"The 'git sh-setup' scriptlet is designed to be sourced (using `.`) by other " +"shell scripts to set up some variables pointing at the normal Git " +"directories and a few helper shell functions." msgstr "" -#. type: Labeled list -#: en/config.txt:433 -#, no-wrap -msgid "core.eol" +#. type: Plain text +#: en/git-sh-setup.txt:29 +msgid "" +"Before sourcing it, your script should set up a few variables; `USAGE` (and " +"`LONG_USAGE`, if any) is used to define message given by `usage()` shell " +"function. `SUBDIRECTORY_OK` can be set if the script can run from a " +"subdirectory of the working tree (some commands do not)." msgstr "" #. type: Plain text -#: en/config.txt:440 +#: en/git-sh-setup.txt:32 msgid "" -"Sets the line ending type to use in the working directory for files that " -"have the `text` property set when core.autocrlf is false. Alternatives are " -"'lf', 'crlf' and 'native', which uses the platform's native line ending. " -"The default value is `native`. See linkgit:gitattributes[5] for more " -"information on end-of-line conversion." +"The scriptlet sets `GIT_DIR` and `GIT_OBJECT_DIRECTORY` shell variables, but " +"does *not* export them to the environment." msgstr "" #. type: Labeled list -#: en/config.txt:441 +#: en/git-sh-setup.txt:36 #, no-wrap -msgid "core.safecrlf" +msgid "die" msgstr "" #. type: Plain text -#: en/config.txt:451 +#: en/git-sh-setup.txt:39 msgid "" -"If true, makes Git check if converting `CRLF` is reversible when end-of-line " -"conversion is active. Git will verify if a command modifies a file in the " -"work tree either directly or indirectly. For example, committing a file " -"followed by checking out the same file should yield the original file in the " -"work tree. If this is not the case for the current setting of `core." -"autocrlf`, Git will reject the file. The variable can be set to \"warn\", " -"in which case Git will only warn about an irreversible conversion but " -"continue the operation." +"exit after emitting the supplied error message to the standard error stream." msgstr "" -#. type: Plain text -#: en/config.txt:460 -msgid "" -"CRLF conversion bears a slight chance of corrupting data. When it is " -"enabled, Git will convert CRLF to LF during commit and LF to CRLF during " -"checkout. A file that contains a mixture of LF and CRLF before the commit " -"cannot be recreated by Git. For text files this is the right thing to do: " -"it corrects line endings such that we have only LF line endings in the " -"repository. But for binary files that are accidentally classified as text " -"the conversion can corrupt data." +#. type: Labeled list +#: en/git-sh-setup.txt:40 +#, no-wrap +msgid "usage" msgstr "" #. type: Plain text -#: en/config.txt:467 -msgid "" -"If you recognize such corruption early you can easily fix it by setting the " -"conversion type explicitly in .gitattributes. Right after committing you " -"still have the original file in your work tree and this file is not yet " -"corrupted. You can explicitly tell Git that this file is binary and Git " -"will handle the file appropriately." +#: en/git-sh-setup.txt:42 +msgid "die with the usage message." msgstr "" -#. type: Plain text -#: en/config.txt:474 -msgid "" -"Unfortunately, the desired effect of cleaning up text files with mixed line " -"endings and the undesired effect of corrupting binary files cannot be " -"distinguished. In both cases CRLFs are removed in an irreversible way. For " -"text files this is the right thing to do because CRLFs are line endings, " -"while for binary files converting CRLFs corrupts data." +#. type: Labeled list +#: en/git-sh-setup.txt:43 +#, no-wrap +msgid "set_reflog_action" msgstr "" #. type: Plain text -#: en/config.txt:485 +#: en/git-sh-setup.txt:49 msgid "" -"Note, this safety check does not mean that a checkout will generate a file " -"identical to the original file for a different setting of `core.eol` and " -"`core.autocrlf`, but only for the current one. For example, a text file " -"with `LF` would be accepted with `core.eol=lf` and could later be checked " -"out with `core.eol=crlf`, in which case the resulting file would contain " -"`CRLF`, although the original file contained `LF`. However, in both work " -"trees the line endings would be consistent, that is either all `LF` or all " -"`CRLF`, but never mixed. A file with mixed line endings would be reported " -"by the `core.safecrlf` mechanism." +"Set `GIT_REFLOG_ACTION` environment to a given string (typically the name of " +"the program) unless it is already set. Whenever the script runs a `git` " +"command that updates refs, a reflog entry is created using the value of this " +"string to leave the record of what command updated the ref." msgstr "" #. type: Labeled list -#: en/config.txt:486 +#: en/git-sh-setup.txt:50 #, no-wrap -msgid "core.autocrlf" +msgid "git_editor" msgstr "" #. type: Plain text -#: en/config.txt:493 +#: en/git-sh-setup.txt:54 msgid "" -"Setting this variable to \"true\" is the same as setting the `text` " -"attribute to \"auto\" on all files and core.eol to \"crlf\". Set to true if " -"you want to have `CRLF` line endings in your working directory and the " -"repository has LF line endings. This variable can be set to 'input', in " -"which case no output conversion is performed." +"runs an editor of user's choice (GIT_EDITOR, core.editor, VISUAL or EDITOR) " +"on a given file, but error out if no editor is specified and the terminal is " +"dumb." msgstr "" #. type: Labeled list -#: en/config.txt:494 +#: en/git-sh-setup.txt:55 #, no-wrap -msgid "core.symlinks" +msgid "is_bare_repository" msgstr "" #. type: Plain text -#: en/config.txt:500 +#: en/git-sh-setup.txt:59 msgid "" -"If false, symbolic links are checked out as small plain files that contain " -"the link text. linkgit:git-update-index[1] and linkgit:git-add[1] will not " -"change the recorded type to regular file. Useful on filesystems like FAT " -"that do not support symbolic links." +"outputs `true` or `false` to the standard output stream to indicate if the " +"repository is a bare repository (i.e. without an associated working tree)." +msgstr "" + +#. type: Labeled list +#: en/git-sh-setup.txt:60 +#, no-wrap +msgid "cd_to_toplevel" msgstr "" #. type: Plain text -#: en/config.txt:504 -msgid "" -"The default is true, except linkgit:git-clone[1] or linkgit:git-init[1] will " -"probe and set core.symlinks false if appropriate when the repository is " -"created." +#: en/git-sh-setup.txt:62 +msgid "runs chdir to the toplevel of the working tree." msgstr "" #. type: Labeled list -#: en/config.txt:505 +#: en/git-sh-setup.txt:63 #, no-wrap -msgid "core.gitProxy" +msgid "require_work_tree" msgstr "" #. type: Plain text -#: en/config.txt:513 +#: en/git-sh-setup.txt:66 msgid "" -"A \"proxy command\" to execute (as 'command host port') instead of " -"establishing direct connection to the remote server when using the Git " -"protocol for fetching. If the variable value is in the \"COMMAND for DOMAIN" -"\" format, the command is applied only on hostnames ending with the " -"specified domain string. This variable may be set multiple times and is " -"matched in the given order; the first match wins." +"checks if the current directory is within the working tree of the " +"repository, and otherwise dies." +msgstr "" + +#. type: Labeled list +#: en/git-sh-setup.txt:67 +#, no-wrap +msgid "require_work_tree_exists" msgstr "" #. type: Plain text -#: en/config.txt:517 +#: en/git-sh-setup.txt:72 msgid "" -"Can be overridden by the `GIT_PROXY_COMMAND` environment variable (which " -"always applies universally, without the special \"for\" handling)." +"checks if the working tree associated with the repository exists, and " +"otherwise dies. Often done before calling cd_to_toplevel, which is " +"impossible to do if there is no working tree." +msgstr "" + +#. type: Labeled list +#: en/git-sh-setup.txt:73 +#, no-wrap +msgid "require_clean_work_tree <action> [<hint>]" msgstr "" #. type: Plain text -#: en/config.txt:522 +#: en/git-sh-setup.txt:78 msgid "" -"The special string `none` can be used as the proxy command to specify that " -"no proxy be used for a given domain pattern. This is useful for excluding " -"servers inside a firewall from proxy use, while defaulting to a common proxy " -"for external domains." +"checks that the working tree and index associated with the repository have " +"no uncommitted changes to tracked files. Otherwise it emits an error " +"message of the form `Cannot <action>: <reason>. <hint>`, and dies. Example:" +msgstr "" + +#. type: delimited block - +#: en/git-sh-setup.txt:81 +#, no-wrap +msgid "require_clean_work_tree rebase \"Please commit or stash them.\"\n" msgstr "" #. type: Labeled list -#: en/config.txt:523 +#: en/git-sh-setup.txt:83 #, no-wrap -msgid "core.sshCommand" +msgid "get_author_ident_from_commit" msgstr "" #. type: Plain text -#: en/config.txt:529 +#: en/git-sh-setup.txt:86 msgid "" -"If this variable is set, `git fetch` and `git push` will use the specified " -"command instead of `ssh` when they need to connect to a remote system. The " -"command is in the same form as the `GIT_SSH_COMMAND` environment variable " -"and is overridden when the environment variable is set." +"outputs code for use with eval to set the GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL " +"and GIT_AUTHOR_DATE variables for a given commit." msgstr "" #. type: Labeled list -#: en/config.txt:530 +#: en/git-sh-setup.txt:87 #, no-wrap -msgid "core.ignoreStat" +msgid "create_virtual_base" msgstr "" #. type: Plain text -#: en/config.txt:534 +#: en/git-sh-setup.txt:92 msgid "" -"If true, Git will avoid using lstat() calls to detect if files have changed " -"by setting the \"assume-unchanged\" bit for those tracked files which it has " -"updated identically in both the index and working tree." +"modifies the first file so only lines in common with the second file remain. " +"If there is insufficient common material, then the first file is left empty. " +"The result is suitable as a virtual base input for a 3-way merge." msgstr "" +#. type: Title = +#: en/git-stage.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-stage(1)" +msgstr "git-add(1)" + +# #. type: Plain text -#: en/config.txt:539 -msgid "" -"When files are modified outside of Git, the user will need to stage the " -"modified files explicitly (e.g. see 'Examples' section in linkgit:git-update-" -"index[1]). Git will not normally detect changes to those files." +#: en/git-stage.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-stage - Add file contents to the staging area" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/git-stage.txt:13 +#, no-wrap +msgid "'git stage' args...\n" msgstr "" #. type: Plain text -#: en/config.txt:542 +#: en/git-stage.txt:20 +#, fuzzy +#| msgid "" +#| "This is a synonym for linkgit:git-fsck[1]. Please refer to the " +#| "documentation of that command." msgid "" -"This is useful on systems where lstat() calls are very slow, such as CIFS/" -"Microsoft Windows." +"This is a synonym for linkgit:git-add[1]. Please refer to the documentation " +"of that command." msgstr "" +"Ceci est un synonyme pour linkgit:git-fsck[1]. Veuillez vous r챕f챕rer 횪 la " +"documentation de cette commande." + +#. type: Title = +#: en/git-stash.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-stash(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/config.txt:544 -msgid "False by default." +#: en/git-stash.txt:7 +msgid "git-stash - Stash the changes in a dirty working directory away" msgstr "" -#. type: Labeled list -#: en/config.txt:545 +#. type: Plain text +#: en/git-stash.txt:24 #, no-wrap -msgid "core.preferSymlinkRefs" +msgid "" +"'git stash' list [<options>]\n" +"'git stash' show [<stash>]\n" +"'git stash' drop [-q|--quiet] [<stash>]\n" +"'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]\n" +"'git stash' branch <branchname> [<stash>]\n" +"'git stash' save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +"\t [-u|--include-untracked] [-a|--all] [<message>]\n" +"'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +"\t [-u|--include-untracked] [-a|--all] [-m|--message <message>]]\n" +"\t [--] [<pathspec>...]]\n" +"'git stash' clear\n" +"'git stash' create [<message>]\n" +"'git stash' store [-m|--message <message>] [-q|--quiet] <commit>\n" msgstr "" #. type: Plain text -#: en/config.txt:550 +#: en/git-stash.txt:32 msgid "" -"Instead of the default \"symref\" format for HEAD and other symbolic " -"reference files, use symbolic links. This is sometimes needed to work with " -"old scripts that expect HEAD to be a symbolic link." -msgstr "" - -#. type: Labeled list -#: en/config.txt:551 -#, no-wrap -msgid "core.bare" +"Use `git stash` when you want to record the current state of the working " +"directory and the index, but want to go back to a clean working directory. " +"The command saves your local modifications away and reverts the working " +"directory to match the `HEAD` commit." msgstr "" #. type: Plain text -#: en/config.txt:556 +#: en/git-stash.txt:40 msgid "" -"If true this repository is assumed to be 'bare' and has no working directory " -"associated with it. If this is the case a number of commands that require a " -"working directory will be disabled, such as linkgit:git-add[1] or linkgit:" -"git-merge[1]." +"The modifications stashed away by this command can be listed with `git stash " +"list`, inspected with `git stash show`, and restored (potentially on top of " +"a different commit) with `git stash apply`. Calling `git stash` without any " +"arguments is equivalent to `git stash save`. A stash is by default listed " +"as \"WIP on 'branchname' ...\", but you can give a more descriptive message " +"on the command line when you create one." msgstr "" #. type: Plain text -#: en/config.txt:561 +#: en/git-stash.txt:47 msgid "" -"This setting is automatically guessed by linkgit:git-clone[1] or linkgit:git-" -"init[1] when the repository was created. By default a repository that ends " -"in \"/.git\" is assumed to be not bare (bare = false), while all other " -"repositories are assumed to be bare (bare" +"The latest stash you created is stored in `refs/stash`; older stashes are " +"found in the reflog of this reference and can be named using the usual " +"reflog syntax (e.g. `stash@{0}` is the most recently created stash, " +"`stash@{1}` is the one before it, `stash@{2.hours.ago}` is also possible). " +"Stashes may also be referenced by specifying just the stash index (e.g. the " +"integer `n` is equivalent to `stash@{n}`)." msgstr "" -#. type: Title = -#: en/config.txt:561 +#. type: Labeled list +#: en/git-stash.txt:51 #, no-wrap -msgid "true)." +msgid "save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [<message>]" msgstr "" #. type: Labeled list -#: en/config.txt:563 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "core.worktree" -msgstr "whitespace" +#: en/git-stash.txt:52 +#, no-wrap +msgid "push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <message>] [--] [<pathspec>...]" +msgstr "" #. type: Plain text -#: en/config.txt:576 +#: en/git-stash.txt:58 msgid "" -"Set the path to the root of the working tree. If `GIT_COMMON_DIR` " -"environment variable is set, core.worktree is ignored and not used for " -"determining the root of working tree. This can be overridden by the " -"`GIT_WORK_TREE` environment variable and the `--work-tree` command-line " -"option. The value can be an absolute path or relative to the path to the ." -"git directory, which is either specified by --git-dir or GIT_DIR, or " -"automatically discovered. If --git-dir or GIT_DIR is specified but none of " -"--work-tree, GIT_WORK_TREE and core.worktree is specified, the current " -"working directory is regarded as the top level of your working tree." +"Save your local modifications to a new 'stash' and roll them back to HEAD " +"(in the working tree and in the index). The <message> part is optional and " +"gives the description along with the stashed state." msgstr "" #. type: Plain text -#: en/config.txt:586 +#: en/git-stash.txt:64 msgid "" -"Note that this variable is honored even when set in a configuration file in " -"a \".git\" subdirectory of a directory and its value differs from the latter " -"directory (e.g. \"/path/to/.git/config\" has core.worktree set to \"/" -"different/path\"), which is most likely a misconfiguration. Running Git " -"commands in the \"/path/to\" directory will still use \"/different/path\" as " -"the root of the work tree and can cause confusion unless you know what you " -"are doing (e.g. you are creating a read-only snapshot of the same index to a " -"location different from the repository's usual working tree)." -msgstr "" - -#. type: Labeled list -#: en/config.txt:587 -#, no-wrap -msgid "core.logAllRefUpdates" +"For quickly making a snapshot, you can omit \"push\". In this mode, non-" +"option arguments are not allowed to prevent a misspelled subcommand from " +"making an unwanted stash. The two exceptions to this are `stash -p` which " +"acts as alias for `stash push -p` and pathspecs, which are allowed after a " +"double hyphen `--` for disambiguation." msgstr "" #. type: Plain text -#: en/config.txt:598 +#: en/git-stash.txt:70 msgid "" -"Enable the reflog. Updates to a ref <ref> is logged to the file \"`$GIT_DIR/" -"logs/<ref>`\", by appending the new and old SHA-1, the date/time and the " -"reason of the update, but only when the file exists. If this configuration " -"variable is set to `true`, missing \"`$GIT_DIR/logs/<ref>`\" file is " -"automatically created for branch heads (i.e. under `refs/heads/`), remote " -"refs (i.e. under `refs/remotes/`), note refs (i.e. under `refs/notes/`), and " -"the symbolic ref `HEAD`. If it is set to `always`, then a missing reflog is " -"automatically created for any ref under `refs/`." +"When pathspec is given to 'git stash push', the new stash records the " +"modified states only for the files that match the pathspec. The index " +"entries and working tree files are then rolled back to the state in HEAD " +"only for these files, too, leaving files that do not match the pathspec " +"intact." msgstr "" #. type: Plain text -#: en/config.txt:601 +#: en/git-stash.txt:73 msgid "" -"This information can be used to determine what commit was the tip of a " -"branch \"2 days ago\"." +"If the `--keep-index` option is used, all changes already added to the index " +"are left intact." msgstr "" #. type: Plain text -#: en/config.txt:605 +#: en/git-stash.txt:78 msgid "" -"This value is true by default in a repository that has a working directory " -"associated with it, and false by default in a bare repository." -msgstr "" - -#. type: Labeled list -#: en/config.txt:606 -#, no-wrap -msgid "core.repositoryFormatVersion" +"If the `--include-untracked` option is used, all untracked files are also " +"stashed and then cleaned up with `git clean`, leaving the working directory " +"in a very clean state. If the `--all` option is used instead then the " +"ignored files are stashed and cleaned in addition to the untracked files." msgstr "" #. type: Plain text -#: en/config.txt:609 -msgid "Internal variable identifying the repository format and layout version." -msgstr "" - -#. type: Labeled list -#: en/config.txt:610 -#, no-wrap -msgid "core.sharedRepository" +#: en/git-stash.txt:86 +msgid "" +"With `--patch`, you can interactively select hunks from the diff between " +"HEAD and the working tree to be stashed. The stash entry is constructed " +"such that its index state is the same as the index state of your repository, " +"and its worktree contains only the changes you selected interactively. The " +"selected changes are then rolled back from your worktree. See the " +"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " +"the `--patch` mode." msgstr "" #. type: Plain text -#: en/config.txt:624 +#: en/git-stash.txt:89 msgid "" -"When 'group' (or 'true'), the repository is made shareable between several " -"users in a group (making sure all the files and objects are group-writable). " -"When 'all' (or 'world' or 'everybody'), the repository will be readable by " -"all users, additionally to being group-shareable. When 'umask' (or 'false'), " -"Git will use permissions reported by umask(2). When '0xxx', where '0xxx' is " -"an octal number, files in the repository will have this mode value. '0xxx' " -"will override user's umask value (whereas the other options will only " -"override requested parts of the user's umask value). Examples: '0660' will " -"make the repo read/write-able for the owner and group, but inaccessible to " -"others (equivalent to 'group' unless umask is e.g. '0022'). '0640' is a " -"repository that is group-readable but not group-writable. See linkgit:git-" -"init[1]. False by default." +"The `--patch` option implies `--keep-index`. You can use `--no-keep-index` " +"to override this." msgstr "" #. type: Labeled list -#: en/config.txt:625 +#: en/git-stash.txt:90 #, no-wrap -msgid "core.warnAmbiguousRefs" +msgid "list [<options>]" msgstr "" #. type: Plain text -#: en/config.txt:628 +#: en/git-stash.txt:97 msgid "" -"If true, Git will warn you if the ref name you passed it is ambiguous and " -"might match multiple refs in the repository. True by default." +"List the stashes that you currently have. Each 'stash' is listed with its " +"name (e.g. `stash@{0}` is the latest stash, `stash@{1}` is the one before, " +"etc.), the name of the branch that was current when the stash was made, and " +"a short description of the commit the stash was based on." msgstr "" -#. type: Labeled list -#: en/config.txt:629 +#. type: delimited block - +#: en/git-stash.txt:101 #, no-wrap -msgid "core.compression" +msgid "" +"stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation\n" +"stash@{1}: On master: 9cc0589... Add git-stash\n" msgstr "" #. type: Plain text -#: en/config.txt:635 +#: en/git-stash.txt:105 msgid "" -"An integer -1..9, indicating a default compression level. -1 is the zlib " -"default. 0 means no compression, and 1..9 are various speed/size tradeoffs, " -"9 being slowest. If set, this provides a default to other compression " -"variables, such as `core.looseCompression` and `pack.compression`." +"The command takes options applicable to the 'git log' command to control " +"what is shown and how. See linkgit:git-log[1]." msgstr "" #. type: Labeled list -#: en/config.txt:636 +#: en/git-stash.txt:106 #, no-wrap -msgid "core.looseCompression" +msgid "show [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:642 +#: en/git-stash.txt:115 msgid "" -"An integer -1..9, indicating the compression level for objects that are not " -"in a pack file. -1 is the zlib default. 0 means no compression, and 1..9 are " -"various speed/size tradeoffs, 9 being slowest. If not set, defaults to core." -"compression. If that is not set, defaults to 1 (best speed)." +"Show the changes recorded in the stash as a diff between the stashed state " +"and its original parent. When no `<stash>` is given, shows the latest one. " +"By default, the command shows the diffstat, but it will accept any format " +"known to 'git diff' (e.g., `git stash show -p stash@{1}` to view the second " +"most recent stash in patch form). You can use stash.showStat and/or stash." +"showPatch config variables to change the default behavior." msgstr "" #. type: Labeled list -#: en/config.txt:643 +#: en/git-stash.txt:116 #, no-wrap -msgid "core.packedGitWindowSize" +msgid "pop [--index] [-q|--quiet] [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:651 +#: en/git-stash.txt:122 msgid "" -"Number of bytes of a pack file to map into memory in a single mapping " -"operation. Larger window sizes may allow your system to process a smaller " -"number of large pack files more quickly. Smaller window sizes will " -"negatively affect performance due to increased calls to the operating " -"system's memory manager, but may improve performance when accessing a large " -"number of large pack files." +"Remove a single stashed state from the stash list and apply it on top of the " +"current working tree state, i.e., do the inverse operation of `git stash " +"save`. The working directory must match the index." msgstr "" #. type: Plain text -#: en/config.txt:656 +#: en/git-stash.txt:126 msgid "" -"Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 MiB on 32 " -"bit platforms and 1 GiB on 64 bit platforms. This should be reasonable for " -"all users/operating systems. You probably do not need to adjust this value." -msgstr "" - -#. type: Plain text -#: en/config.txt:658 en/config.txt:670 en/config.txt:683 en/config.txt:696 -msgid "Common unit suffixes of 'k', 'm', or 'g' are supported." -msgstr "" - -#. type: Labeled list -#: en/config.txt:659 -#, no-wrap -msgid "core.packedGitLimit" +"Applying the state can fail with conflicts; in this case, it is not removed " +"from the stash list. You need to resolve the conflicts by hand and call `git " +"stash drop` manually afterwards." msgstr "" #. type: Plain text -#: en/config.txt:664 +#: en/git-stash.txt:131 msgid "" -"Maximum number of bytes to map simultaneously into memory from pack files. " -"If Git needs to access more than this many bytes at once to complete an " -"operation it will unmap existing regions to reclaim virtual address space " -"within the process." +"If the `--index` option is used, then tries to reinstate not only the " +"working tree's changes, but also the index's ones. However, this can fail, " +"when you have conflicts (which are stored in the index, where you therefore " +"can no longer apply the changes as they were originally)." msgstr "" #. type: Plain text -#: en/config.txt:668 +#: en/git-stash.txt:134 msgid "" -"Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms. This " -"should be reasonable for all users/operating systems, except on the largest " -"projects. You probably do not need to adjust this value." +"When no `<stash>` is given, `stash@{0}` is assumed, otherwise `<stash>` must " +"be a reference of the form `stash@{<revision>}`." msgstr "" #. type: Labeled list -#: en/config.txt:671 +#: en/git-stash.txt:135 #, no-wrap -msgid "core.deltaBaseCacheLimit" -msgstr "" - -#. type: Plain text -#: en/config.txt:677 -msgid "" -"Maximum number of bytes to reserve for caching base objects that may be " -"referenced by multiple deltified objects. By storing the entire " -"decompressed base objects in a cache Git is able to avoid unpacking and " -"decompressing frequently used base objects multiple times." +msgid "apply [--index] [-q|--quiet] [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:681 +#: en/git-stash.txt:140 msgid "" -"Default is 96 MiB on all platforms. This should be reasonable for all users/" -"operating systems, except on the largest projects. You probably do not need " -"to adjust this value." +"Like `pop`, but do not remove the state from the stash list. Unlike `pop`, " +"`<stash>` may be any commit that looks like a commit created by `stash save` " +"or `stash create`." msgstr "" #. type: Labeled list -#: en/config.txt:684 +#: en/git-stash.txt:141 #, no-wrap -msgid "core.bigFileThreshold" +msgid "branch <branchname> [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:690 +#: en/git-stash.txt:149 msgid "" -"Files larger than this size are stored deflated, without attempting delta " -"compression. Storing large files without delta compression avoids excessive " -"memory usage, at the slight expense of increased disk usage. Additionally " -"files larger than this size are always treated as binary." +"Creates and checks out a new branch named `<branchname>` starting from the " +"commit at which the `<stash>` was originally created, applies the changes " +"recorded in `<stash>` to the new working tree and index. If that succeeds, " +"and `<stash>` is a reference of the form `stash@{<revision>}`, it then drops " +"the `<stash>`. When no `<stash>` is given, applies the latest one." msgstr "" #. type: Plain text -#: en/config.txt:694 +#: en/git-stash.txt:155 msgid "" -"Default is 512 MiB on all platforms. This should be reasonable for most " -"projects as source code and other text files can still be delta compressed, " -"but larger binary media files won't be." +"This is useful if the branch on which you ran `git stash save` has changed " +"enough that `git stash apply` fails due to conflicts. Since the stash is " +"applied on top of the commit that was HEAD at the time `git stash` was run, " +"it restores the originally stashed state with no conflicts." msgstr "" #. type: Labeled list -#: en/config.txt:697 +#: en/git-stash.txt:156 #, no-wrap -msgid "core.excludesFile" +msgid "clear" msgstr "" #. type: Plain text -#: en/config.txt:704 +#: en/git-stash.txt:160 msgid "" -"Specifies the pathname to the file that contains patterns to describe paths " -"that are not meant to be tracked, in addition to '.gitignore' (per-" -"directory) and '.git/info/exclude'. Defaults to `$XDG_CONFIG_HOME/git/" -"ignore`. If `$XDG_CONFIG_HOME` is either not set or empty, `$HOME/.config/" -"git/ignore` is used instead. See linkgit:gitignore[5]." +"Remove all the stashed states. Note that those states will then be subject " +"to pruning, and may be impossible to recover (see 'Examples' below for a " +"possible strategy)." msgstr "" #. type: Labeled list -#: en/config.txt:705 +#: en/git-stash.txt:161 #, no-wrap -msgid "core.askPass" +msgid "drop [-q|--quiet] [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:713 +#: en/git-stash.txt:167 msgid "" -"Some commands (e.g. svn and http interfaces) that interactively ask for a " -"password can be told to use an external program given via the value of this " -"variable. Can be overridden by the `GIT_ASKPASS` environment variable. If " -"not set, fall back to the value of the `SSH_ASKPASS` environment variable " -"or, failing that, a simple password prompt. The external program shall be " -"given a suitable prompt as command-line argument and write the password on " -"its STDOUT." +"Remove a single stashed state from the stash list. When no `<stash>` is " +"given, it removes the latest one. i.e. `stash@{0}`, otherwise `<stash>` must " +"be a valid stash log reference of the form `stash@{<revision>}`." msgstr "" #. type: Labeled list -#: en/config.txt:714 +#: en/git-stash.txt:168 en/git-update-ref.txt:100 #, no-wrap -msgid "core.attributesFile" +msgid "create" msgstr "" #. type: Plain text -#: en/config.txt:721 +#: en/git-stash.txt:174 msgid "" -"In addition to '.gitattributes' (per-directory) and '.git/info/attributes', " -"Git looks into this file for attributes (see linkgit:gitattributes[5]). Path " -"expansions are made the same way as for `core.excludesFile`. Its default " -"value is `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either " -"not set or empty, `$HOME/.config/git/attributes` is used instead." +"Create a stash (which is a regular commit object) and return its object " +"name, without storing it anywhere in the ref namespace. This is intended to " +"be useful for scripts. It is probably not the command you want to use; see " +"\"save\" above." msgstr "" #. type: Labeled list -#: en/config.txt:722 +#: en/git-stash.txt:175 #, no-wrap -msgid "core.hooksPath" +msgid "store" msgstr "" #. type: Plain text -#: en/config.txt:728 +#: en/git-stash.txt:181 msgid "" -"By default Git will look for your hooks in the '$GIT_DIR/hooks' directory. " -"Set this to different path, e.g. '/etc/git/hooks', and Git will try to find " -"your hooks in that directory, e.g. '/etc/git/hooks/pre-receive' instead of " -"in '$GIT_DIR/hooks/pre-receive'." +"Store a given stash created via 'git stash create' (which is a dangling " +"merge commit) in the stash ref, updating the stash reflog. This is intended " +"to be useful for scripts. It is probably not the command you want to use; " +"see \"save\" above." msgstr "" #. type: Plain text -#: en/config.txt:732 +#: en/git-stash.txt:190 msgid "" -"The path can be either absolute or relative. A relative path is taken as " -"relative to the directory where the hooks are run (see the \"DESCRIPTION\" " -"section of linkgit:githooks[5])." +"A stash is represented as a commit whose tree records the state of the " +"working directory, and its first parent is the commit at `HEAD` when the " +"stash was created. The tree of the second parent records the state of the " +"index when the stash is made, and it is made a child of the `HEAD` commit. " +"The ancestry graph looks like this:" msgstr "" #. type: Plain text -#: en/config.txt:738 -msgid "" -"This configuration variable is useful in cases where you'd like to centrally " -"configure your Git hooks instead of configuring them on a per-repository " -"basis, or as a more flexible and centralized alternative to having an `init." -"templateDir` where you've changed default hooks." -msgstr "" - -#. type: Labeled list -#: en/config.txt:739 +#: en/git-stash.txt:194 #, no-wrap -msgid "core.editor" +msgid "" +" .----W\n" +" / /\n" +" -----H----I\n" msgstr "" #. type: Plain text -#: en/config.txt:744 +#: en/git-stash.txt:198 msgid "" -"Commands such as `commit` and `tag` that lets you edit messages by launching " -"an editor uses the value of this variable when it is set, and the " -"environment variable `GIT_EDITOR` is not set. See linkgit:git-var[1]." +"where `H` is the `HEAD` commit, `I` is a commit that records the state of " +"the index, and `W` is a commit that records the state of the working tree." msgstr "" #. type: Labeled list -#: en/config.txt:745 +#: en/git-stash.txt:203 #, no-wrap -msgid "core.commentChar" +msgid "Pulling into a dirty tree" msgstr "" #. type: Plain text -#: en/config.txt:750 +#: en/git-stash.txt:209 msgid "" -"Commands such as `commit` and `tag` that lets you edit messages consider a " -"line that begins with this character commented, and removes them after the " -"editor returns (default '#')." +"When you are in the middle of something, you learn that there are upstream " +"changes that are possibly relevant to what you are doing. When your local " +"changes do not conflict with the changes in the upstream, a simple `git " +"pull` will let you move forward." msgstr "" #. type: Plain text -#: en/config.txt:753 +#: en/git-stash.txt:214 msgid "" -"If set to \"auto\", `git-commit` would select a character that is not the " -"beginning character of any line in existing commit messages." +"However, there are cases in which your local changes do conflict with the " +"upstream changes, and `git pull` refuses to overwrite your changes. In such " +"a case, you can stash your changes away, perform a pull, and then unstash, " +"like this:" msgstr "" -#. type: Labeled list -#: en/config.txt:754 +#. type: delimited block - +#: en/git-stash.txt:222 #, no-wrap -msgid "core.packedRefsTimeout" +msgid "" +"$ git pull\n" +" ...\n" +"file foobar not up to date, cannot merge.\n" +"$ git stash\n" +"$ git pull\n" +"$ git stash pop\n" msgstr "" #. type: Plain text -#: en/config.txt:759 +#: en/git-stash.txt:230 msgid "" -"The length of time, in milliseconds, to retry when trying to lock the " -"`packed-refs` file. Value 0 means not to retry at all; -1 means to try " -"indefinitely. Default is 1000 (i.e., retry for 1 second)." +"When you are in the middle of something, your boss comes in and demands that " +"you fix something immediately. Traditionally, you would make a commit to a " +"temporary branch to store your changes away, and return to your original " +"branch to make the emergency fix, like this:" msgstr "" -#. type: Labeled list -#: en/config.txt:760 +#. type: delimited block - +#: en/git-stash.txt:241 #, no-wrap -msgid "sequence.editor" -msgstr "" - -#. type: Plain text -#: en/config.txt:765 msgid "" -"Text editor used by `git rebase -i` for editing the rebase instruction " -"file. The value is meant to be interpreted by the shell when it is used. " -"It can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable. " -"When not configured the default commit message editor is used instead." +"# ... hack hack hack ...\n" +"$ git checkout -b my_wip\n" +"$ git commit -a -m \"WIP\"\n" +"$ git checkout master\n" +"$ edit emergency fix\n" +"$ git commit -a -m \"Fix in a hurry\"\n" +"$ git checkout my_wip\n" +"$ git reset --soft HEAD^\n" +"# ... continue hacking ...\n" msgstr "" -#. type: Labeled list -#: en/config.txt:766 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "core.pager" -msgstr "whitespace" - #. type: Plain text -#: en/config.txt:786 -msgid "" -"When the `LESS` environment variable is unset, Git sets it to `FRX` (if " -"`LESS` environment variable is set, Git does not change it at all). If you " -"want to selectively override Git's default setting for `LESS`, you can set " -"`core.pager` to e.g. `less -S`. This will be passed to the shell by Git, " -"which will translate the final command to `LESS=FRX less -S`. The " -"environment does not set the `S` option but the command line does, " -"instructing less to truncate long lines. Similarly, setting `core.pager` to " -"`less -+F` will deactivate the `F` option specified by the environment from " -"the command-line, deactivating the \"quit if one screen\" behavior of " -"`less`. One can specifically activate some flags for particular commands: " -"for example, setting `pager.blame` to `less -S` enables line truncation only " -"for `git blame`." +#: en/git-stash.txt:244 +msgid "You can use 'git stash' to simplify the above, like this:" msgstr "" -#. type: Plain text -#: en/config.txt:790 +#. type: delimited block - +#: en/git-stash.txt:252 +#, no-wrap msgid "" -"Likewise, when the `LV` environment variable is unset, Git sets it to `-c`. " -"You can override this setting by exporting `LV` with another value or " -"setting `core.pager` to `lv +c`." +"# ... hack hack hack ...\n" +"$ git stash\n" +"$ edit emergency fix\n" +"$ git commit -a -m \"Fix in a hurry\"\n" +"$ git stash pop\n" +"# ... continue hacking ...\n" msgstr "" #. type: Labeled list -#: en/config.txt:791 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "core.whitespace" -msgstr "whitespace" +#: en/git-stash.txt:254 +#, no-wrap +msgid "Testing partial commits" +msgstr "" #. type: Plain text -#: en/config.txt:797 +#: en/git-stash.txt:259 msgid "" -"A comma separated list of common whitespace problems to notice. 'git diff' " -"will use `color.diff.whitespace` to highlight them, and 'git apply --" -"whitespace=error' will consider them as errors. You can prefix `-` to " -"disable any of them (e.g. `-trailing-space`):" +"You can use `git stash save --keep-index` when you want to make two or more " +"commits out of the changes in the work tree, and you want to test each " +"change before committing:" msgstr "" -#. type: Plain text -#: en/config.txt:800 +#. type: delimited block - +#: en/git-stash.txt:270 +#, no-wrap msgid "" -"`blank-at-eol` treats trailing whitespaces at the end of the line as an " -"error (enabled by default)." +"# ... hack hack hack ...\n" +"$ git add --patch foo # add just first part to the index\n" +"$ git stash save --keep-index # save all other changes to the stash\n" +"$ edit/build/test first part\n" +"$ git commit -m 'First part' # commit fully tested change\n" +"$ git stash pop # prepare to work on all other changes\n" +"# ... repeat above five steps until one commit remains ...\n" +"$ edit/build/test remaining parts\n" +"$ git commit foo -m 'Remaining parts'\n" +msgstr "" + +#. type: Labeled list +#: en/git-stash.txt:272 +#, no-wrap +msgid "Recovering stashes that were cleared/dropped erroneously" msgstr "" #. type: Plain text -#: en/config.txt:803 +#: en/git-stash.txt:278 msgid "" -"`space-before-tab` treats a space character that appears immediately before " -"a tab character in the initial indent part of the line as an error (enabled " -"by default)." +"If you mistakenly drop or clear stashes, they cannot be recovered through " +"the normal safety mechanisms. However, you can try the following " +"incantation to get a list of stashes that are still in your repository, but " +"not reachable any more:" msgstr "" -#. type: Plain text -#: en/config.txt:806 +#. type: delimited block - +#: en/git-stash.txt:283 +#, no-wrap msgid "" -"`indent-with-non-tab` treats a line that is indented with space characters " -"instead of the equivalent tabs as an error (not enabled by default)." +"git fsck --unreachable |\n" +"grep commit | cut -d\\ -f3 |\n" +"xargs git log --merges --no-walk --grep=WIP\n" msgstr "" +# #. type: Plain text -#: en/config.txt:808 +#: en/git-stash.txt:292 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" msgid "" -"`tab-in-indent` treats a tab character in the initial indent part of the " -"line as an error (not enabled by default)." +"linkgit:git-checkout[1], linkgit:git-commit[1], linkgit:git-reflog[1], " +"linkgit:git-reset[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" + +#. type: Title = +#: en/git-status.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-status(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/config.txt:810 -msgid "" -"`blank-at-eof` treats blank lines added at the end of file as an error " -"(enabled by default)." +#: en/git-status.txt:7 +msgid "git-status - Show the working tree status" msgstr "" #. type: Plain text -#: en/config.txt:812 -msgid "" -"`trailing-space` is a short-hand to cover both `blank-at-eol` and `blank-at-" -"eof`." +#: en/git-status.txt:13 +#, no-wrap +msgid "'git status' [<options>...] [--] [<pathspec>...]\n" msgstr "" #. type: Plain text -#: en/config.txt:816 +#: en/git-status.txt:23 msgid "" -"`cr-at-eol` treats a carriage-return at the end of line as part of the line " -"terminator, i.e. with it, `trailing-space` does not trigger if the character " -"before such a carriage-return is not a whitespace (not enabled by default)." +"Displays paths that have differences between the index file and the current " +"HEAD commit, paths that have differences between the working tree and the " +"index file, and paths in the working tree that are not tracked by Git (and " +"are not ignored by linkgit:gitignore[5]). The first are what you _would_ " +"commit by running `git commit`; the second and third are what you _could_ " +"commit by running 'git add' before running `git commit`." msgstr "" #. type: Plain text -#: en/config.txt:819 -msgid "" -"`tabwidth=<n>` tells how many character positions a tab occupies; this is " -"relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent` " -"errors. The default tab width is 8. Allowed values are 1 to 63." +#: en/git-status.txt:30 +#, fuzzy +#| msgid "" +#| "--long::\n" +#| "\tWhen doing a dry-run, give the output in a the long-format.\n" +#| "\tImplies `--dry-run`.\n" +msgid "Give the output in the short-format." msgstr "" +"--long::\n" +"\tSeulement avec '--dry-run', donner la sortie en format\n" +"\tlong.\n" #. type: Labeled list -#: en/config.txt:820 -#, fuzzy, no-wrap -#| msgid "git-fsck-objects(1)" -msgid "core.fsyncObjectFiles" -msgstr "git-fsck-objects(1)" +#: en/git-status.txt:35 +#, no-wrap +msgid "--porcelain[=<version>]" +msgstr "" #. type: Plain text -#: en/config.txt:822 -msgid "This boolean will enable 'fsync()' when writing object files." +#: en/git-status.txt:40 +msgid "" +"Give the output in an easy-to-parse format for scripts. This is similar to " +"the short output, but will remain stable across Git versions and regardless " +"of user configuration. See below for details." msgstr "" #. type: Plain text -#: en/config.txt:827 +#: en/git-status.txt:43 msgid "" -"This is a total waste of time and effort on a filesystem that orders data " -"writes properly, but can be useful for filesystems that do not use " -"journalling (traditional UNIX filesystems) or that only journal metadata and " -"not file contents (OS X's HFS+, or Linux ext3 with \"data=writeback\")." +"The version parameter is used to specify the format version. This is " +"optional and defaults to the original version 'v1' format." msgstr "" -#. type: Labeled list -#: en/config.txt:828 -#, no-wrap -msgid "core.preloadIndex" +#. type: Plain text +#: en/git-status.txt:46 +#, fuzzy +#| msgid "" +#| "--long::\n" +#| "\tWhen doing a dry-run, give the output in a the long-format.\n" +#| "\tImplies `--dry-run`.\n" +msgid "Give the output in the long-format. This is the default." msgstr "" +"--long::\n" +"\tSeulement avec '--dry-run', donner la sortie en format\n" +"\tlong.\n" #. type: Plain text -#: en/config.txt:830 -msgid "Enable parallel index preload for operations like 'git diff'" +#: en/git-status.txt:54 +msgid "" +"In addition to the names of files that have been changed, also show the " +"textual changes that are staged to be committed (i.e., like the output of " +"`git diff --cached`). If `-v` is specified twice, then also show the changes " +"in the working tree that have not yet been staged (i.e., like the output of " +"`git diff`)." msgstr "" #. type: Plain text -#: en/config.txt:836 +#: en/git-status.txt:62 msgid "" -"This can speed up operations like 'git diff' and 'git status' especially on " -"filesystems like NFS that have weak caching semantics and thus relatively " -"high IO latencies. When enabled, Git will do the index comparison to the " -"filesystem data in parallel, allowing overlapping IO's. Defaults to true." +"The mode parameter is used to specify the handling of untracked files. It " +"is optional: it defaults to 'all', and if specified, it must be stuck to the " +"option (e.g. `-uno`, but not `-u no`)." msgstr "" -#. type: Labeled list -#: en/config.txt:837 -#, no-wrap -msgid "core.createObject" -msgstr "" +#. type: Plain text +#: en/git-status.txt:66 +#, fuzzy, no-wrap +#| msgid "'no' - Show no untracked files\n" +msgid "'no' - Show no untracked files.\n" +msgstr "'no' - Ne montrer aucun fichier non-suivi\n" #. type: Plain text -#: en/config.txt:841 -msgid "" -"You can set this to 'link', in which case a hardlink followed by a delete of " -"the source are used to make sure that object creation will not overwrite " -"existing objects." -msgstr "" +#: en/git-status.txt:67 +#, fuzzy, no-wrap +#| msgid "'normal' - Shows untracked files and directories\n" +msgid "'normal' - Shows untracked files and directories.\n" +msgstr "'normal' - Montrer les fichiers et les dossiers non-suivis\n" #. type: Plain text -#: en/config.txt:845 +#: en/git-status.txt:78 msgid "" -"On some file system/operating system combinations, this is unreliable. Set " -"this config setting to 'rename' there; However, This will remove the check " -"that makes sure that existing object files will not get overwritten." +"When `-u` option is not used, untracked files and directories are shown (i." +"e. the same as specifying `normal`), to help you avoid forgetting to add " +"newly created files. Because it takes extra work to find untracked files in " +"the filesystem, this mode may take some time in a large working tree. " +"Consider enabling untracked cache and split index if supported (see `git " +"update-index --untracked-cache` and `git update-index --split-index`), " +"Otherwise you can use `no` to have `git status` return more quickly without " +"showing untracked files." msgstr "" #. type: Plain text -#: en/config.txt:851 +#: en/git-status.txt:96 msgid "" -"When showing commit messages, also show notes which are stored in the given " -"ref. The ref must be fully qualified. If the given ref does not exist, it " -"is not an error but means that no notes should be printed." +"Ignore changes to submodules when looking for changes. <when> can be either " +"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " +"\"none\" will consider the submodule modified when it either contains " +"untracked or modified files or its HEAD differs from the commit recorded in " +"the superproject and can be used to override any settings of the 'ignore' " +"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " +"is used submodules are not considered dirty when they only contain untracked " +"content (but they are still scanned for modified content). Using \"dirty\" " +"ignores all changes to the work tree of submodules, only changes to the " +"commits stored in the superproject are shown (this was the behavior before " +"1.7.0). Using \"all\" hides all changes to submodules (and suppresses the " +"output of submodule summaries when the config option `status." +"submoduleSummary` is set)." msgstr "" #. type: Plain text -#: en/config.txt:854 -msgid "" -"This setting defaults to \"refs/notes/commits\", and it can be overridden by " -"the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1]." +#: en/git-status.txt:99 +#, fuzzy +#| msgid "" +#| "-u[<mode>]::\n" +#| "--untracked-files[=<mode>]::\n" +#| "\tShow untracked files.\n" +msgid "Show ignored files as well." msgstr "" +"-u[<mode>]::\n" +"--untracked-files[=<mode>]::\n" +"\tMontrer les fichiers non-suivis.\n" -#. type: Labeled list -#: en/config.txt:855 -#, no-wrap -msgid "core.sparseCheckout" +#. type: Plain text +#: en/git-status.txt:103 +msgid "" +"Terminate entries with NUL, instead of LF. This implies the `--" +"porcelain=v1` output format if no other format is given." msgstr "" #. type: Plain text -#: en/config.txt:858 +#: en/git-status.txt:110 msgid "" -"Enable \"sparse checkout\" feature. See section \"Sparse checkout\" in " -"linkgit:git-read-tree[1] for more information." +"Display untracked files in columns. See configuration variable column.status " +"for option syntax.`--column` and `--no-column` without options are " +"equivalent to 'always' and 'never' respectively." msgstr "" -#. type: Labeled list -#: en/config.txt:859 -#, no-wrap -msgid "core.abbrev" +#. type: Plain text +#: en/git-status.txt:119 +msgid "" +"The output from this command is designed to be used as a commit template " +"comment. The default, long format, is designed to be human readable, " +"verbose and descriptive. Its contents and format are subject to change at " +"any time." msgstr "" #. type: Plain text -#: en/config.txt:865 +#: en/git-status.txt:124 msgid "" -"Set the length object names are abbreviated to. If unspecified or set to " -"\"auto\", an appropriate value is computed based on the approximate number " -"of packed objects in your repository, which hopefully is enough for " -"abbreviated object names to stay unique for some time." +"The paths mentioned in the output, unlike many other Git commands, are made " +"relative to the current directory if you are working in a subdirectory (this " +"is on purpose, to help cutting and pasting). See the status.relativePaths " +"config option below." msgstr "" -#. type: Labeled list -#: en/config.txt:866 -#, no-wrap -msgid "add.ignoreErrors" +#. type: Title ~ +#: en/git-status.txt:126 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Short Format" +msgstr "Configuration" + +#. type: Plain text +#: en/git-status.txt:129 +msgid "In the short-format, the status of each path is shown as" msgstr "" -#. type: Labeled list -#: en/config.txt:867 +#. type: Plain text +#: en/git-status.txt:131 #, no-wrap -msgid "add.ignore-errors (deprecated)" +msgid "\tXY PATH1 -> PATH2\n" msgstr "" #. type: Plain text -#: en/config.txt:873 +#: en/git-status.txt:136 msgid "" -"Tells 'git add' to continue adding files when some files cannot be added due " -"to indexing errors. Equivalent to the `--ignore-errors` option of linkgit:" -"git-add[1]. `add.ignore-errors` is deprecated, as it does not follow the " -"usual naming convention for configuration variables." -msgstr "" - -#. type: Labeled list -#: en/config.txt:874 -#, no-wrap -msgid "alias.*" +"where `PATH1` is the path in the `HEAD`, and the \" `-> PATH2`\" part is " +"shown only when `PATH1` corresponds to a different path in the index/" +"worktree (i.e. the file is renamed). The `XY` is a two-letter status code." msgstr "" #. type: Plain text -#: en/config.txt:882 +#: en/git-status.txt:142 msgid "" -"Command aliases for the linkgit:git[1] command wrapper - e.g. after " -"defining \"alias.last = cat-file commit HEAD\", the invocation \"git last\" " -"is equivalent to \"git cat-file commit HEAD\". To avoid confusion and " -"troubles with script usage, aliases that hide existing Git commands are " -"ignored. Arguments are split by spaces, the usual shell quoting and escaping " -"is supported. A quote pair or a backslash can be used to quote them." +"The fields (including the `->`) are separated from each other by a single " +"space. If a filename contains whitespace or other nonprintable characters, " +"that field will be quoted in the manner of a C string literal: surrounded by " +"ASCII double quote (34) characters, and with interior special characters " +"backslash-escaped." msgstr "" #. type: Plain text -#: en/config.txt:892 +#: en/git-status.txt:148 msgid "" -"If the alias expansion is prefixed with an exclamation point, it will be " -"treated as a shell command. For example, defining \"alias.new = !gitk --all " -"--not ORIG_HEAD\", the invocation \"git new\" is equivalent to running the " -"shell command \"gitk --all --not ORIG_HEAD\". Note that shell commands will " -"be executed from the top-level directory of a repository, which may not " -"necessarily be the current directory. `GIT_PREFIX` is set as returned by " -"running 'git rev-parse --show-prefix' from the original current directory. " -"See linkgit:git-rev-parse[1]." +"For paths with merge conflicts, `X` and `Y` show the modification states of " +"each side of the merge. For paths that do not have merge conflicts, `X` " +"shows the status of the index, and `Y` shows the status of the work tree. " +"For untracked paths, `XY` are `??`. Other status codes can be interpreted " +"as follows:" msgstr "" -#. type: Labeled list -#: en/config.txt:893 -#, no-wrap -msgid "am.keepcr" +#. type: Plain text +#: en/git-status.txt:150 +msgid "' ' = unmodified" msgstr "" #. type: Plain text -#: en/config.txt:899 -msgid "" -"If true, git-am will call git-mailsplit for patches in mbox format with " -"parameter `--keep-cr`. In this case git-mailsplit will not remove `\\r` from " -"lines ending with `\\r\\n`. Can be overridden by giving `--no-keep-cr` from " -"the command line. See linkgit:git-am[1], linkgit:git-mailsplit[1]." +#: en/git-status.txt:151 +msgid "'M' = modified" msgstr "" -#. type: Labeled list -#: en/config.txt:900 -#, no-wrap -msgid "am.threeWay" +#. type: Plain text +#: en/git-status.txt:152 +msgid "'A' = added" msgstr "" #. type: Plain text -#: en/config.txt:907 -msgid "" -"By default, `git am` will fail if the patch does not apply cleanly. When set " -"to true, this setting tells `git am` to fall back on 3-way merge if the " -"patch records the identity of blobs it is supposed to apply to and we have " -"those blobs available locally (equivalent to giving the `--3way` option from " -"the command line). Defaults to `false`. See linkgit:git-am[1]." +#: en/git-status.txt:153 +msgid "'D' = deleted" msgstr "" #. type: Plain text -#: en/config.txt:915 -msgid "" -"When set to 'change', tells 'git apply' to ignore changes in whitespace, in " -"the same way as the `--ignore-space-change` option. When set to one of: no, " -"none, never, false tells 'git apply' to respect all whitespace differences. " -"See linkgit:git-apply[1]." +#: en/git-status.txt:154 +msgid "'R' = renamed" msgstr "" #. type: Plain text -#: en/config.txt:919 -msgid "" -"Tells 'git apply' how to handle whitespaces, in the same way as the `--" -"whitespace` option. See linkgit:git-apply[1]." +#: en/git-status.txt:155 +msgid "'C' = copied" msgstr "" -#. type: Labeled list -#: en/config.txt:920 -#, no-wrap -msgid "branch.autoSetupMerge" +#. type: Plain text +#: en/git-status.txt:156 +msgid "'U' = updated but unmerged" msgstr "" #. type: Plain text -#: en/config.txt:931 +#: en/git-status.txt:159 msgid "" -"Tells 'git branch' and 'git checkout' to set up new branches so that linkgit:" -"git-pull[1] will appropriately merge from the starting point branch. Note " -"that even if this option is not set, this behavior can be chosen per-branch " -"using the `--track` and `--no-track` options. The valid settings are: " -"`false` -- no automatic setup is done; `true` -- automatic setup is done " -"when the starting point is a remote-tracking branch; `always` -- automatic " -"setup is done when the starting point is either a local branch or remote-" -"tracking branch. This option defaults to true." -msgstr "" - -#. type: Labeled list -#: en/config.txt:932 -#, no-wrap -msgid "branch.autoSetupRebase" +"Ignored files are not listed, unless `--ignored` option is in effect, in " +"which case `XY` are `!!`." msgstr "" #. type: Plain text -#: en/config.txt:946 +#: en/git-status.txt:183 +#, no-wrap msgid "" -"When a new branch is created with 'git branch' or 'git checkout' that tracks " -"another branch, this variable tells Git to set up pull to rebase instead of " -"merge (see \"branch.<name>.rebase\"). When `never`, rebase is never " -"automatically set to true. When `local`, rebase is set to true for tracked " -"branches of other local branches. When `remote`, rebase is set to true for " -"tracked branches of remote-tracking branches. When `always`, rebase will be " -"set to true for all tracking branches. See \"branch.autoSetupMerge\" for " -"details on how to set up a branch to track another branch. This option " -"defaults to never." +" X Y Meaning\n" +" -------------------------------------------------\n" +" [MD] not updated\n" +" M [ MD] updated in index\n" +" A [ MD] added to index\n" +" D [ M] deleted from index\n" +" R [ MD] renamed in index\n" +" C [ MD] copied in index\n" +" [MARC] index and work tree matches\n" +" [ MARC] M work tree changed since index\n" +" [ MARC] D deleted in work tree\n" +" -------------------------------------------------\n" +" D D unmerged, both deleted\n" +" A U unmerged, added by us\n" +" U D unmerged, deleted by them\n" +" U A unmerged, added by them\n" +" D U unmerged, deleted by us\n" +" A A unmerged, both added\n" +" U U unmerged, both modified\n" +" -------------------------------------------------\n" +" ? ? untracked\n" +" ! ! ignored\n" +" -------------------------------------------------\n" msgstr "" -#. type: Labeled list -#: en/config.txt:947 -#, no-wrap -msgid "branch.<name>.remote" +#. type: Plain text +#: en/git-status.txt:185 +msgid "If -b is used the short-format status is preceded by a line" msgstr "" #. type: Plain text -#: en/config.txt:957 -msgid "" -"When on branch <name>, it tells 'git fetch' and 'git push' which remote to " -"fetch from/push to. The remote to push to may be overridden with `remote." -"pushDefault` (for all branches). The remote to push to, for the current " -"branch, may be further overridden by `branch.<name>.pushRemote`. If no " -"remote is configured, or if you are not on any branch, it defaults to " -"`origin` for fetching and `remote.pushDefault` for pushing. Additionally, `." -"` (a period) is the current local repository (a dot-repository), see `branch." -"<name>.merge`'s final note below." +#: en/git-status.txt:187 +#, no-wrap +msgid " ## branchname tracking info\n" msgstr "" -#. type: Labeled list -#: en/config.txt:958 +#. type: Title ~ +#: en/git-status.txt:189 #, no-wrap -msgid "branch.<name>.pushRemote" +msgid "Porcelain Format Version 1" msgstr "" #. type: Plain text -#: en/config.txt:966 +#: en/git-status.txt:196 msgid "" -"When on branch <name>, it overrides `branch.<name>.remote` for pushing. It " -"also overrides `remote.pushDefault` for pushing from branch <name>. When " -"you pull from one place (e.g. your upstream) and push to another place (e.g. " -"your own publishing repository), you would want to set `remote.pushDefault` " -"to specify the remote to push to for all branches, and use this option to " -"override it for a specific branch." +"Version 1 porcelain format is similar to the short format, but is guaranteed " +"not to change in a backwards-incompatible way between Git versions or based " +"on user configuration. This makes it ideal for parsing by scripts. The " +"description of the short format above also describes the porcelain format, " +"with a few exceptions:" msgstr "" -#. type: Labeled list -#: en/config.txt:967 -#, no-wrap -msgid "branch.<name>.merge" +#. type: Plain text +#: en/git-status.txt:199 +msgid "" +"The user's color.status configuration is not respected; color will always be " +"off." msgstr "" #. type: Plain text -#: en/config.txt:984 +#: en/git-status.txt:202 msgid "" -"Defines, together with branch.<name>.remote, the upstream branch for the " -"given branch. It tells 'git fetch'/'git pull'/'git rebase' which branch to " -"merge and can also affect 'git push' (see push.default). When in branch " -"<name>, it tells 'git fetch' the default refspec to be marked for merging in " -"FETCH_HEAD. The value is handled like the remote part of a refspec, and must " -"match a ref which is fetched from the remote given by \"branch.<name>.remote" -"\". The merge information is used by 'git pull' (which at first calls 'git " -"fetch') to lookup the default branch for merging. Without this option, 'git " -"pull' defaults to merge the first refspec fetched. Specify multiple values " -"to get an octopus merge. If you wish to setup 'git pull' so that it merges " -"into <name> from another branch in the local repository, you can point " -"branch.<name>.merge to the desired branch, and use the relative path setting " -"`.` (a period) for branch.<name>.remote." +"The user's status.relativePaths configuration is not respected; paths shown " +"will always be relative to the repository root." msgstr "" #. type: Plain text -#: en/config.txt:990 +#: en/git-status.txt:212 msgid "" -"Sets default options for merging into branch <name>. The syntax and " -"supported options are the same as those of linkgit:git-merge[1], but option " -"values containing whitespace characters are currently not supported." +"There is also an alternate -z format recommended for machine parsing. In " +"that format, the status field is the same, but some other things change. " +"First, the '\\->' is omitted from rename entries and the field order is " +"reversed (e.g 'from \\-> to' becomes 'to from'). Second, a NUL (ASCII 0) " +"follows each filename, replacing space as a field separator and the " +"terminating newline (but a space still separates the status field from the " +"first filename). Third, filenames containing special characters are not " +"specially formatted; no quoting or backslash-escaping is performed." msgstr "" -#. type: Labeled list -#: en/config.txt:991 +#. type: Title ~ +#: en/git-status.txt:214 #, no-wrap -msgid "branch.<name>.rebase" +msgid "Porcelain Format Version 2" msgstr "" #. type: Plain text -#: en/config.txt:996 +#: en/git-status.txt:219 msgid "" -"When true, rebase the branch <name> on top of the fetched branch, instead of " -"merging the default branch from the default remote when \"git pull\" is run. " -"See \"pull.rebase\" for doing this in a non branch-specific manner." +"Version 2 format adds more detailed information about the state of the " +"worktree and changed items. Version 2 also defines an extensible set of " +"easy to parse optional headers." msgstr "" #. type: Plain text -#: en/config.txt:1000 en/config.txt:2487 +#: en/git-status.txt:223 msgid "" -"When preserve, also pass `--preserve-merges` along to 'git rebase' so that " -"locally committed merge commits will not be flattened by running 'git pull'." +"Header lines start with \"#\" and are added in response to specific command " +"line arguments. Parsers should ignore headers they don't recognize." +msgstr "" + +#. type: Plain text +#: en/git-status.txt:225 +msgid "### Branch Headers" msgstr "" #. type: Plain text -#: en/config.txt:1002 en/config.txt:2489 -msgid "When the value is `interactive`, the rebase is run in interactive mode." +#: en/git-status.txt:228 +msgid "" +"If `--branch` is given, a series of header lines are printed with " +"information about the current branch." msgstr "" #. type: Plain text -#: en/config.txt:1006 en/config.txt:2493 +#: en/git-status.txt:237 #, no-wrap msgid "" -"*NOTE*: this is a possibly dangerous operation; do *not* use\n" -"it unless you understand the implications (see linkgit:git-rebase[1]\n" -"for details).\n" +" Line Notes\n" +" ------------------------------------------------------------\n" +" # branch.oid <commit> | (initial) Current commit.\n" +" # branch.head <branch> | (detached) Current branch.\n" +" # branch.upstream <upstream_branch> If upstream is set.\n" +" # branch.ab +<ahead> -<behind> If upstream is set and\n" +"\t\t\t\t\t the commit is present.\n" +" ------------------------------------------------------------\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1007 -#, no-wrap -msgid "branch.<name>.description" +#. type: Plain text +#: en/git-status.txt:239 +msgid "### Changed Tracked Entries" msgstr "" #. type: Plain text -#: en/config.txt:1012 +#: en/git-status.txt:245 msgid "" -"Branch description, can be edited with `git branch --edit-description`. " -"Branch description is automatically added in the format-patch cover letter " -"or request-pull summary." +"Following the headers, a series of lines are printed for tracked entries. " +"One of three different line formats may be used to describe an entry " +"depending on the type of change. Tracked entries are printed in an " +"undefined order; parsers should allow for a mixture of the 3 line types in " +"any order." msgstr "" #. type: Plain text -#: en/config.txt:1017 -msgid "" -"Specify the command to invoke the specified browser. The specified command " -"is evaluated in shell with the URLs passed as arguments. (See linkgit:git-" -"web{litdd}browse[1].)" -msgstr "" +#: en/git-status.txt:247 +#, fuzzy +#| msgid "support the following date formats:" +msgid "Ordinary changed entries have the following format:" +msgstr "prend en charge les formats de date suivants혻:" #. type: Plain text -#: en/config.txt:1022 -msgid "" -"Override the path for the given tool that may be used to browse HTML help " -"(see `-w` option in linkgit:git-help[1]) or a working repository in gitweb " -"(see linkgit:git-instaweb[1])." +#: en/git-status.txt:249 +#, no-wrap +msgid " 1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1023 +#. type: Plain text +#: en/git-status.txt:251 +#, fuzzy +#| msgid "support the following date formats:" +msgid "Renamed or copied entries have the following format:" +msgstr "prend en charge les formats de date suivants혻:" + +#. type: Plain text +#: en/git-status.txt:253 #, no-wrap -msgid "clean.requireForce" +msgid " 2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><sep><origPath>\n" msgstr "" #. type: Plain text -#: en/config.txt:1026 +#: en/git-status.txt:283 #, no-wrap msgid "" -"A boolean to make git-clean do nothing unless given -f,\n" -"-i or -n. Defaults to true.\n" +" Field Meaning\n" +" --------------------------------------------------------\n" +" <XY> A 2 character field containing the staged and\n" +"\t\tunstaged XY values described in the short format,\n" +"\t\twith unchanged indicated by a \".\" rather than\n" +"\t\ta space.\n" +" <sub> A 4 character field describing the submodule state.\n" +"\t\t\"N...\" when the entry is not a submodule.\n" +"\t\t\"S<c><m><u>\" when the entry is a submodule.\n" +"\t\t<c> is \"C\" if the commit changed; otherwise \".\".\n" +"\t\t<m> is \"M\" if it has tracked changes; otherwise \".\".\n" +"\t\t<u> is \"U\" if there are untracked changes; otherwise \".\".\n" +" <mH> The octal file mode in HEAD.\n" +" <mI> The octal file mode in the index.\n" +" <mW> The octal file mode in the worktree.\n" +" <hH> The object name in HEAD.\n" +" <hI> The object name in the index.\n" +" <X><score> The rename or copy score (denoting the percentage\n" +"\t\tof similarity between the source and target of the\n" +"\t\tmove or copy). For example \"R100\" or \"C75\".\n" +" <path> The pathname. In a renamed/copied entry, this\n" +"\t\tis the path in the index and in the working tree.\n" +" <sep> When the `-z` option is used, the 2 pathnames are separated\n" +"\t\twith a NUL (ASCII 0x00) byte; otherwise, a tab (ASCII 0x09)\n" +"\t\tbyte separates them.\n" +" <origPath> The pathname in the commit at HEAD. This is only\n" +"\t\tpresent in a renamed/copied entry, and tells\n" +"\t\twhere the renamed/copied contents came from.\n" +" --------------------------------------------------------\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1027 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "color.branch" -msgstr "Mode interactif" - #. type: Plain text -#: en/config.txt:1033 +#: en/git-status.txt:286 msgid "" -"A boolean to enable/disable color in the output of linkgit:git-branch[1]. " -"May be set to `always`, `false` (or `never`) or `auto` (or `true`), in which " -"case colors are used only when the output is to a terminal. If unset, then " -"the value of `color.ui` is used (`auto` by default)." +"Unmerged entries have the following format; the first character is a \"u\" " +"to distinguish from ordinary changed entries." msgstr "" -#. type: Labeled list -#: en/config.txt:1034 +#. type: Plain text +#: en/git-status.txt:288 #, no-wrap -msgid "color.branch.<slot>" +msgid " u <xy> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>\n" msgstr "" #. type: Plain text -#: en/config.txt:1040 +#: en/git-status.txt:304 +#, no-wrap msgid "" -"Use customized color for branch coloration. `<slot>` is one of `current` " -"(the current branch), `local` (a local branch), `remote` (a remote-tracking " -"branch in refs/remotes/), `upstream` (upstream tracking branch), `plain` " -"(other refs)." +" Field Meaning\n" +" --------------------------------------------------------\n" +" <XY> A 2 character field describing the conflict type\n" +"\t\tas described in the short format.\n" +" <sub> A 4 character field describing the submodule state\n" +"\t\tas described above.\n" +" <m1> The octal file mode in stage 1.\n" +" <m2> The octal file mode in stage 2.\n" +" <m3> The octal file mode in stage 3.\n" +" <mW> The octal file mode in the worktree.\n" +" <h1> The object name in stage 1.\n" +" <h2> The object name in stage 2.\n" +" <h3> The object name in stage 3.\n" +" <path> The pathname.\n" +" --------------------------------------------------------\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1041 -#, no-wrap -msgid "color.diff" +#. type: Plain text +#: en/git-status.txt:306 +msgid "### Other Items" msgstr "" #. type: Plain text -#: en/config.txt:1049 +#: en/git-status.txt:310 msgid "" -"Whether to use ANSI escape sequences to add color to patches. If this is " -"set to `always`, linkgit:git-diff[1], linkgit:git-log[1], and linkgit:git-" -"show[1] will use color for all patches. If it is set to `true` or `auto`, " -"those commands will only use color when output is to the terminal. If " -"unset, then the value of `color.ui` is used (`auto` by default)." +"Following the tracked entries (and if requested), a series of lines will be " +"printed for untracked and then ignored items found in the worktree." msgstr "" #. type: Plain text -#: en/config.txt:1053 -msgid "" -"This does not affect linkgit:git-format-patch[1] or the 'git-diff-" -"{asterisk}' plumbing commands. Can be overridden on the command line with " -"the `--color[=<when>]` option." -msgstr "" +#: en/git-status.txt:312 +#, fuzzy +#| msgid "support the following date formats:" +msgid "Untracked items have the following format:" +msgstr "prend en charge les formats de date suivants혻:" -#. type: Labeled list -#: en/config.txt:1054 +#. type: Plain text +#: en/git-status.txt:314 #, no-wrap -msgid "color.diff.<slot>" +msgid " ? <path>\n" msgstr "" #. type: Plain text -#: en/config.txt:1062 -msgid "" -"Use customized color for diff colorization. `<slot>` specifies which part " -"of the patch to use the specified color, and is one of `context` (context " -"text - `plain` is a historical synonym), `meta` (metainformation), `frag` " -"(hunk header), 'func' (function in hunk header), `old` (removed lines), " -"`new` (added lines), `commit` (commit headers), or `whitespace` " -"(highlighting whitespace errors)." -msgstr "" +#: en/git-status.txt:316 +#, fuzzy +#| msgid "support the following date formats:" +msgid "Ignored items have the following format:" +msgstr "prend en charge les formats de date suivants혻:" -#. type: Labeled list -#: en/config.txt:1063 +#. type: Plain text +#: en/git-status.txt:318 #, no-wrap -msgid "color.decorate.<slot>" +msgid " ! <path>\n" msgstr "" #. type: Plain text -#: en/config.txt:1067 -msgid "" -"Use customized color for 'git log --decorate' output. `<slot>` is one of " -"`branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local branches, " -"remote-tracking branches, tags, stash and HEAD, respectively." +#: en/git-status.txt:320 +msgid "### Pathname Format Notes and -z" msgstr "" -#. type: Labeled list -#: en/config.txt:1068 -#, no-wrap -msgid "color.grep" +#. type: Plain text +#: en/git-status.txt:324 +msgid "" +"When the `-z` option is given, pathnames are printed as is and without any " +"quoting and lines are terminated with a NUL (ASCII 0x00) byte." msgstr "" #. type: Plain text -#: en/config.txt:1073 +#: en/git-status.txt:328 +#, fuzzy +#| msgid "" +#| "The default can be changed by the `commit.cleanup` configuration variable " +#| "(see linkgit:git-config[1])." msgid "" -"When set to `always`, always highlight matches. When `false` (or `never`), " -"never. When set to `true` or `auto`, use color only when the output is " -"written to the terminal. If unset, then the value of `color.ui` is used " -"(`auto` by default)." +"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " +"explained for the configuration variable `core.quotePath` (see linkgit:git-" +"config[1])." msgstr "" +"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " +"`commit.cleanup` (voir linkgit:git-config[1])." -#. type: Labeled list -#: en/config.txt:1074 -#, no-wrap -msgid "color.grep.<slot>" +#. type: Plain text +#: en/git-status.txt:337 +msgid "" +"The command honors `color.status` (or `status.color` -- they mean the same " +"thing and the latter is kept for backward compatibility) and `color.status." +"<slot>` configuration variables to colorize its output." msgstr "" #. type: Plain text -#: en/config.txt:1077 +#: en/git-status.txt:341 msgid "" -"Use customized color for grep colorization. `<slot>` specifies which part " -"of the line to use the specified color, and is one of" +"If the config variable `status.relativePaths` is set to false, then all " +"paths shown are relative to the repository root, not to the current " +"directory." msgstr "" -#. type: Labeled list -#: en/config.txt:1079 -#, fuzzy, no-wrap -#| msgid "new content" -msgid "`context`" -msgstr "contenu nouveau" - #. type: Plain text -#: en/config.txt:1081 -#, fuzzy -#| msgid "modifying existing content" -msgid "non-matching text in context lines (when using `-A`, `-B`, or `-C`)" -msgstr "modification de contenu existant" +#: en/git-status.txt:352 +msgid "" +"If `status.submoduleSummary` is set to a non zero number or true (identical " +"to -1 or an unlimited number), the submodule summary will be enabled for the " +"long format and a summary of commits for modified submodules will be shown " +"(see --summary-limit option of linkgit:git-submodule[1]). Please note that " +"the summary output from the status command will be suppressed for all " +"submodules when `diff.ignoreSubmodules` is set to 'all' or only for those " +"submodules where `submodule.<name>.ignore=all`. To also view the summary for " +"ignored submodules you can either use the --ignore-submodules=dirty command " +"line option or the 'git submodule summary' command, which shows a similar " +"output but does not honor these settings." +msgstr "" -#. type: Labeled list -#: en/config.txt:1081 +#. type: Title = +#: en/git-stripspace.txt:2 #, no-wrap -msgid "`filename`" +msgid "git-stripspace(1)" msgstr "" #. type: Plain text -#: en/config.txt:1083 -msgid "filename prefix (when not using `-h`)" +#: en/git-stripspace.txt:7 +msgid "git-stripspace - Remove unnecessary whitespace" msgstr "" -#. type: Labeled list -#: en/config.txt:1083 +#. type: Plain text +#: en/git-stripspace.txt:14 #, no-wrap -msgid "`function`" +msgid "" +"'git stripspace' [-s | --strip-comments]\n" +"'git stripspace' [-c | --comment-lines]\n" msgstr "" #. type: Plain text -#: en/config.txt:1085 -msgid "function name lines (when using `-p`)" +#: en/git-stripspace.txt:21 +msgid "" +"Read text, such as commit messages, notes, tags and branch descriptions, " +"from the standard input and clean it in the manner used by Git." msgstr "" -#. type: Labeled list -#: en/config.txt:1085 -#, no-wrap -msgid "`linenumber`" +#. type: Plain text +#: en/git-stripspace.txt:23 +msgid "With no arguments, this will:" msgstr "" #. type: Plain text -#: en/config.txt:1087 -msgid "line number prefix (when using `-n`)" +#: en/git-stripspace.txt:25 +msgid "remove trailing whitespace from all lines" msgstr "" -#. type: Labeled list -#: en/config.txt:1087 -#, fuzzy, no-wrap -#| msgid "patch" -msgid "`match`" -msgstr "patch" - #. type: Plain text -#: en/config.txt:1089 -msgid "matching text (same as setting `matchContext` and `matchSelected`)" +#: en/git-stripspace.txt:26 +msgid "collapse multiple consecutive empty lines into one empty line" msgstr "" -#. type: Labeled list -#: en/config.txt:1089 -#, fuzzy, no-wrap -#| msgid "new content" -msgid "`matchContext`" -msgstr "contenu nouveau" - #. type: Plain text -#: en/config.txt:1091 +#: en/git-stripspace.txt:27 #, fuzzy -#| msgid "modifying existing content" -msgid "matching text in context lines" -msgstr "modification de contenu existant" - -#. type: Labeled list -#: en/config.txt:1091 -#, fuzzy, no-wrap -#| msgid "patch" -msgid "`matchSelected`" -msgstr "patch" +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" +msgid "remove empty lines from the beginning and end of the input" +msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/config.txt:1093 -#, fuzzy -#| msgid "modifying existing content" -msgid "matching text in selected lines" -msgstr "modification de contenu existant" +#: en/git-stripspace.txt:28 +msgid "add a missing '\\n' to the last line if necessary." +msgstr "" -#. type: Labeled list -#: en/config.txt:1093 -#, no-wrap -msgid "`selected`" +#. type: Plain text +#: en/git-stripspace.txt:31 +msgid "" +"In the case where the input consists entirely of whitespace characters, no " +"output will be produced." msgstr "" #. type: Plain text -#: en/config.txt:1095 -#, fuzzy -#| msgid "modifying existing content" -msgid "non-matching text in selected lines" -msgstr "modification de contenu existant" +#: en/git-stripspace.txt:35 +#, no-wrap +msgid "" +"*NOTE*: This is intended for cleaning metadata, prefer the `--whitespace=fix`\n" +"mode of linkgit:git-apply[1] for correcting whitespace of patches or files in\n" +"the repository.\n" +msgstr "" #. type: Labeled list -#: en/config.txt:1095 +#: en/git-stripspace.txt:39 #, no-wrap -msgid "`separator`" +msgid "--strip-comments" msgstr "" #. type: Plain text -#: en/config.txt:1098 +#: en/git-stripspace.txt:41 msgid "" -"separators between fields on a line (`:`, `-`, and `=`) and between hunks " -"(`--`)" +"Skip and remove all lines starting with comment character (default '#')." msgstr "" #. type: Labeled list -#: en/config.txt:1100 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "color.interactive" -msgstr "Mode interactif" +#: en/git-stripspace.txt:43 +#, no-wrap +msgid "--comment-lines" +msgstr "" #. type: Plain text -#: en/config.txt:1107 +#: en/git-stripspace.txt:47 msgid "" -"When set to `always`, always use colors for interactive prompts and displays " -"(such as those used by \"git-add --interactive\" and \"git-clean --" -"interactive\"). When false (or `never`), never. When set to `true` or " -"`auto`, use colors only when the output is to the terminal. If unset, then " -"the value of `color.ui` is used (`auto` by default)." +"Prepend comment character and blank to each line. Lines will automatically " +"be terminated with a newline. On empty lines, only the comment character " +"will be prepended." msgstr "" -#. type: Labeled list -#: en/config.txt:1108 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "color.interactive.<slot>" -msgstr "Mode interactif" - #. type: Plain text -#: en/config.txt:1113 -msgid "" -"Use customized color for 'git add --interactive' and 'git clean --" -"interactive' output. `<slot>` may be `prompt`, `header`, `help` or `error`, " -"for four distinct types of normal output from interactive commands." +#: en/git-stripspace.txt:52 +msgid "Given the following noisy input with '$' indicating the end of a line:" msgstr "" -#. type: Labeled list -#: en/config.txt:1114 -#, fuzzy, no-wrap -#| msgid "status" -msgid "color.pager" -msgstr "status" +#. type: delimited block - +#: en/git-stripspace.txt:65 +#, no-wrap +msgid "" +"|A brief introduction $\n" +"| $\n" +"|$\n" +"|A new paragraph$\n" +"|# with a commented-out line $\n" +"|explaining lots of stuff.$\n" +"|$\n" +"|# An old paragraph, also commented-out. $\n" +"| $\n" +"|The end.$\n" +"| $\n" +msgstr "" #. type: Plain text -#: en/config.txt:1117 -msgid "" -"A boolean to enable/disable colored output when the pager is in use (default " -"is true)." +#: en/git-stripspace.txt:68 +msgid "Use 'git stripspace' with no arguments to obtain:" msgstr "" -#. type: Labeled list -#: en/config.txt:1118 +#. type: delimited block - +#: en/git-stripspace.txt:79 #, no-wrap -msgid "color.showBranch" +msgid "" +"|A brief introduction$\n" +"|$\n" +"|A new paragraph$\n" +"|# with a commented-out line$\n" +"|explaining lots of stuff.$\n" +"|$\n" +"|# An old paragraph, also commented-out.$\n" +"|$\n" +"|The end.$\n" msgstr "" #. type: Plain text -#: en/config.txt:1124 +#: en/git-stripspace.txt:82 +msgid "Use 'git stripspace --strip-comments' to obtain:" +msgstr "" + +#. type: delimited block - +#: en/git-stripspace.txt:90 +#, no-wrap msgid "" -"A boolean to enable/disable color in the output of linkgit:git-show-" -"branch[1]. May be set to `always`, `false` (or `never`) or `auto` (or " -"`true`), in which case colors are used only when the output is to a " -"terminal. If unset, then the value of `color.ui` is used (`auto` by default)." +"|A brief introduction$\n" +"|$\n" +"|A new paragraph$\n" +"|explaining lots of stuff.$\n" +"|$\n" +"|The end.$\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1125 +#. type: Title = +#: en/git-submodule.txt:2 #, fuzzy, no-wrap -#| msgid "status" -msgid "color.status" -msgstr "status" +#| msgid "git-add(1)" +msgid "git-submodule(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/config.txt:1131 +#: en/git-submodule.txt:7 +msgid "git-submodule - Initialize, update or inspect submodules" +msgstr "" + +#. type: Plain text +#: en/git-submodule.txt:21 +#, no-wrap msgid "" -"A boolean to enable/disable color in the output of linkgit:git-status[1]. " -"May be set to `always`, `false` (or `never`) or `auto` (or `true`), in which " -"case colors are used only when the output is to a terminal. If unset, then " -"the value of `color.ui` is used (`auto` by default)." +"'git submodule' [--quiet] add [<options>] [--] <repository> [<path>]\n" +"'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]\n" +"'git submodule' [--quiet] init [--] [<path>...]\n" +"'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)\n" +"'git submodule' [--quiet] update [<options>] [--] [<path>...]\n" +"'git submodule' [--quiet] summary [<options>] [--] [<path>...]\n" +"'git submodule' [--quiet] foreach [--recursive] <command>\n" +"'git submodule' [--quiet] sync [--recursive] [--] [<path>...]\n" +"'git submodule' [--quiet] absorbgitdirs [--] [<path>...]\n" +msgstr "" + +#. type: Plain text +#: en/git-submodule.txt:26 +msgid "Inspects, updates and manages submodules." msgstr "" -#. type: Labeled list -#: en/config.txt:1132 -#, fuzzy, no-wrap -#| msgid "status" -msgid "color.status.<slot>" -msgstr "status" - #. type: Plain text -#: en/config.txt:1142 +#: en/git-submodule.txt:31 msgid "" -"Use customized color for status colorization. `<slot>` is one of `header` " -"(the header text of the status message), `added` or `updated` (files which " -"are added but not committed), `changed` (files which are changed but not " -"added in the index), `untracked` (files which are not tracked by Git), " -"`branch` (the current branch), `nobranch` (the color the 'no branch' warning " -"is shown in, defaulting to red), or `unmerged` (files which have unmerged " -"changes)." +"A submodule allows you to keep another Git repository in a subdirectory of " +"your repository. The other repository has its own history, which does not " +"interfere with the history of the current repository. This can be used to " +"have external dependencies such as third party libraries for example." msgstr "" -#. type: Labeled list -#: en/config.txt:1143 -#, fuzzy, no-wrap -#| msgid "status" -msgid "color.ui" -msgstr "status" - #. type: Plain text -#: en/config.txt:1154 +#: en/git-submodule.txt:36 msgid "" -"This variable determines the default value for variables such as `color." -"diff` and `color.grep` that control the use of color per command family. Its " -"scope will expand as more commands learn configuration to set a default for " -"the `--color` option. Set it to `false` or `never` if you prefer Git " -"commands not to use color unless enabled explicitly with some other " -"configuration or the `--color` option. Set it to `always` if you want all " -"output not intended for machine consumption to use color, to `true` or " -"`auto` (this is the default since Git 1.8.4) if you want such output to use " -"color when written to the terminal." +"When cloning or pulling a repository containing submodules however, these " +"will not be checked out by default; the 'init' and 'update' subcommands will " +"maintain submodules checked out and at appropriate revision in your working " +"tree." msgstr "" -#. type: Labeled list -#: en/config.txt:1155 -#, fuzzy, no-wrap -#| msgid "status" -msgid "column.ui" -msgstr "status" - #. type: Plain text -#: en/config.txt:1159 +#: en/git-submodule.txt:45 msgid "" -"Specify whether supported commands should output in columns. This variable " -"consists of a list of tokens separated by spaces or commas:" +"Submodules are composed from a so-called `gitlink` tree entry in the main " +"repository that refers to a particular commit object within the inner " +"repository that is completely separate. A record in the `.gitmodules` (see " +"linkgit:gitmodules[5]) file at the root of the source tree assigns a logical " +"name to the submodule and describes the default URL the submodule shall be " +"cloned from. The logical name can be used for overriding this URL within " +"your local repository configuration (see 'submodule init')." msgstr "" #. type: Plain text -#: en/config.txt:1162 +#: en/git-submodule.txt:58 msgid "" -"These options control when the feature should be enabled (defaults to " -"'never'):" +"Submodules are not to be confused with remotes, which are other repositories " +"of the same project; submodules are meant for different projects you would " +"like to make part of your source tree, while the history of the two projects " +"still stays completely independent and you cannot modify the contents of the " +"submodule from within the main project. If you want to merge the project " +"histories and want to treat the aggregated whole as a single project from " +"then on, you may want to add a remote for the other project and use the " +"'subtree' merge strategy, instead of treating the other project as a " +"submodule. Directories that come from both projects can be cloned and " +"checked out as a whole if you choose to go that route." msgstr "" #. type: Labeled list -#: en/config.txt:1164 +#: en/git-submodule.txt:61 #, no-wrap -msgid "`always`" +msgid "add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]" msgstr "" #. type: Plain text -#: en/config.txt:1166 -msgid "always show in columns" +#: en/git-submodule.txt:65 +msgid "" +"Add the given repository as a submodule at the given path to the changeset " +"to be committed next to the current project: the current project is termed " +"the \"superproject\"." msgstr "" -#. type: Labeled list -#: en/config.txt:1166 -#, fuzzy, no-wrap -#| msgid "revert" -msgid "`never`" -msgstr "revert" +#. type: Plain text +#: en/git-submodule.txt:73 +msgid "" +"This requires at least one argument: <repository>. The optional argument " +"<path> is the relative location for the cloned submodule to exist in the " +"superproject. If <path> is not given, the \"humanish\" part of the source " +"repository is used (\"repo\" for \"/path/to/repo.git\" and \"foo\" for " +"\"host.xz:foo/.git\"). The <path> is also used as the submodule's logical " +"name in its configuration entries unless `--name` is used to specify a " +"logical name." +msgstr "" #. type: Plain text -#: en/config.txt:1168 -msgid "never show in columns" +#: en/git-submodule.txt:82 +msgid "" +"<repository> is the URL of the new submodule's origin repository. This may " +"be either an absolute URL, or (if it begins with ./ or ../), the location " +"relative to the superproject's default remote repository (Please note that " +"to specify a repository 'foo.git' which is located right next to a " +"superproject 'bar.git', you'll have to use '../foo.git' instead of './foo." +"git' - as one might expect when following the rules for relative URLs - " +"because the evaluation of relative URLs in Git is identical to that of " +"relative directories)." msgstr "" -#. type: Labeled list -#: en/config.txt:1168 -#, no-wrap -msgid "`auto`" +#. type: Plain text +#: en/git-submodule.txt:89 +msgid "" +"The default remote is the remote of the remote tracking branch of the " +"current branch. If no such remote tracking branch exists or the HEAD is " +"detached, \"origin\" is assumed to be the default remote. If the " +"superproject doesn't have a default remote configured the superproject is " +"its own authoritative upstream and the current working directory is used " +"instead." msgstr "" #. type: Plain text -#: en/config.txt:1170 -msgid "show in columns if the output is to the terminal" +#: en/git-submodule.txt:97 +msgid "" +"<path> is the relative location for the cloned submodule to exist in the " +"superproject. If <path> does not exist, then the submodule is created by " +"cloning from the named URL. If <path> does exist and is already a valid Git " +"repository, then this is added to the changeset without cloning. This second " +"form is provided to ease creating a new submodule from scratch, and presumes " +"the user will later push the submodule to the given URL." msgstr "" #. type: Plain text -#: en/config.txt:1175 +#: en/git-submodule.txt:105 msgid "" -"These options control layout (defaults to 'column'). Setting any of these " -"implies 'always' if none of 'always', 'never', or 'auto' are specified." +"In either case, the given URL is recorded into .gitmodules for use by " +"subsequent users cloning the superproject. If the URL is given relative to " +"the superproject's repository, the presumption is the superproject and " +"submodule repositories will be kept together in the same relative location, " +"and only the superproject's URL needs to be provided: git-submodule will " +"correctly locate the submodule using the relative URL in .gitmodules." msgstr "" #. type: Labeled list -#: en/config.txt:1177 +#: en/git-submodule.txt:106 #, no-wrap -msgid "`column`" +msgid "status [--cached] [--recursive] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1179 -msgid "fill columns before rows" +#: en/git-submodule.txt:114 +msgid "" +"Show the status of the submodules. This will print the SHA-1 of the " +"currently checked out commit for each submodule, along with the submodule " +"path and the output of 'git describe' for the SHA-1. Each SHA-1 will be " +"prefixed with `-` if the submodule is not initialized, `+` if the currently " +"checked out submodule commit does not match the SHA-1 found in the index of " +"the containing repository and `U` if the submodule has merge conflicts." msgstr "" -#. type: Labeled list -#: en/config.txt:1179 -#, no-wrap -msgid "`row`" +#. type: Plain text +#: en/git-submodule.txt:117 +msgid "" +"If `--recursive` is specified, this command will recurse into nested " +"submodules, and show their status as well." msgstr "" #. type: Plain text -#: en/config.txt:1181 -msgid "fill rows before columns" +#: en/git-submodule.txt:122 +msgid "" +"If you are only interested in changes of the currently initialized " +"submodules with respect to the commit recorded in the index or the HEAD, " +"linkgit:git-status[1] and linkgit:git-diff[1] will provide that information " +"too (and can also report changes to a submodule's work tree)." msgstr "" #. type: Labeled list -#: en/config.txt:1181 +#: en/git-submodule.txt:123 #, no-wrap -msgid "`plain`" +msgid "init [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1183 -msgid "show in one column" +#: en/git-submodule.txt:130 +msgid "" +"Initialize the submodules recorded in the index (which were added and " +"committed elsewhere) by setting `submodule.$name.url` in .git/config. It " +"uses the same setting from .gitmodules as a template. If the URL is " +"relative, it will be resolved using the default remote. If there is no " +"default remote, the current repository will be assumed to be upstream." msgstr "" #. type: Plain text -#: en/config.txt:1187 +#: en/git-submodule.txt:133 msgid "" -"Finally, these options can be combined with a layout option (defaults to " -"'nodense'):" +"Optional <path> arguments limit which submodules will be initialized. If no " +"path is specified, all submodules are initialized." msgstr "" -#. type: Labeled list -#: en/config.txt:1189 -#, no-wrap -msgid "`dense`" +#. type: Plain text +#: en/git-submodule.txt:141 +msgid "" +"When present, it will also copy the value of `submodule.$name.update`. This " +"command does not alter existing information in .git/config. You can then " +"customize the submodule clone URLs in .git/config for your local setup and " +"proceed to `git submodule update`; you can also just use `git submodule " +"update --init` without the explicit 'init' step if you do not intend to " +"customize any submodule locations." msgstr "" #. type: Plain text -#: en/config.txt:1191 -msgid "make unequal size columns to utilize more space" +#: en/git-submodule.txt:143 +msgid "See the add subcommand for the defintion of default remote." msgstr "" #. type: Labeled list -#: en/config.txt:1191 +#: en/git-submodule.txt:144 #, no-wrap -msgid "`nodense`" +msgid "deinit [-f|--force] (--all|[--] <path>...)" msgstr "" #. type: Plain text -#: en/config.txt:1193 -msgid "make equal size columns" +#: en/git-submodule.txt:153 +msgid "" +"Unregister the given submodules, i.e. remove the whole `submodule.$name` " +"section from .git/config together with their work tree. Further calls to " +"`git submodule update`, `git submodule foreach` and `git submodule sync` " +"will skip any unregistered submodules until they are initialized again, so " +"use this command if you don't want to have a local checkout of the submodule " +"in your working tree anymore. If you really want to remove a submodule from " +"the repository and commit that use linkgit:git-rm[1] instead." msgstr "" -#. type: Labeled list -#: en/config.txt:1195 -#, fuzzy, no-wrap -#| msgid "status" -msgid "column.branch" -msgstr "status" - #. type: Plain text -#: en/config.txt:1198 +#: en/git-submodule.txt:156 msgid "" -"Specify whether to output branch listing in `git branch` in columns. See " -"`column.ui` for details." +"When the command is run without pathspec, it errors out, instead of deinit-" +"ing everything, to prevent mistakes." msgstr "" -#. type: Labeled list -#: en/config.txt:1199 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "column.clean" -msgstr "git-commit(1)" - #. type: Plain text -#: en/config.txt:1202 +#: en/git-submodule.txt:159 msgid "" -"Specify the layout when list items in `git clean -i`, which always shows " -"files and directories in columns. See `column.ui` for details." +"If `--force` is specified, the submodule's working tree will be removed even " +"if it contains local modifications." msgstr "" #. type: Labeled list -#: en/config.txt:1203 -#, fuzzy, no-wrap -#| msgid "status" -msgid "column.status" -msgstr "status" +#: en/git-submodule.txt:160 +#, no-wrap +msgid "update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]" +msgstr "" #. type: Plain text -#: en/config.txt:1206 +#: en/git-submodule.txt:171 msgid "" -"Specify whether to output untracked files in `git status` in columns. See " -"`column.ui` for details." +"Update the registered submodules to match what the superproject expects by " +"cloning missing submodules and updating the working tree of the submodules. " +"The \"updating\" can be done in several ways depending on command line " +"options and the value of `submodule.<name>.update` configuration variable. " +"The command line option takes precedence over the configuration variable. if " +"neither is given, a checkout is performed. update procedures supported both " +"from the command line as well as setting `submodule.<name>.update`:" msgstr "" #. type: Labeled list -#: en/config.txt:1207 -#, fuzzy, no-wrap -#| msgid "status" -msgid "column.tag" -msgstr "status" +#: en/git-submodule.txt:172 +#, no-wrap +msgid "checkout" +msgstr "" #. type: Plain text -#: en/config.txt:1210 -msgid "" -"Specify whether to output tag listing in `git tag` in columns. See `column." -"ui` for details." +#: en/git-submodule.txt:173 +msgid "the commit recorded in the superproject will be" msgstr "" -#. type: Labeled list -#: en/config.txt:1211 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "commit.cleanup" -msgstr "git-commit(1)" - #. type: Plain text -#: en/config.txt:1219 -msgid "" -"This setting overrides the default of the `--cleanup` option in `git " -"commit`. See linkgit:git-commit[1] for details. Changing the default can be " -"useful when you always want to keep lines that begin with comment character " -"`#` in your log message, in which case you would do `git config commit." -"cleanup whitespace` (note that you will have to remove the help lines that " -"begin with `#` in the commit log template yourself, if you do this)." +#: en/git-submodule.txt:174 +#, no-wrap +msgid "checked out in the submodule on a detached HEAD.\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1220 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "commit.gpgSign" -msgstr "git-commit(1)" - #. type: Plain text -#: en/config.txt:1227 +#: en/git-submodule.txt:179 msgid "" -"A boolean to specify whether all commits should be GPG signed. Use of this " -"option when doing operations such as rebase can result in a large number of " -"commits being signed. It may be convenient to use an agent to avoid typing " -"your GPG passphrase several times." +"If `--force` is specified, the submodule will be checked out (using `git " +"checkout --force` if appropriate), even if the commit specified in the index " +"of the containing repository already matches the commit checked out in the " +"submodule." msgstr "" #. type: Labeled list -#: en/config.txt:1228 -#, fuzzy, no-wrap -#| msgid "status" -msgid "commit.status" -msgstr "status" +#: en/git-submodule.txt:180 +#, no-wrap +msgid "rebase" +msgstr "" #. type: Plain text -#: en/config.txt:1232 -#, fuzzy -#| msgid "" -#| "--no-status::\n" -#| "\tDo not include the output of linkgit:git-status[1] in the\n" -#| "\tcommit message template when using an editor to prepare the\n" -#| "\tdefault commit message.\n" -msgid "" -"A boolean to enable/disable inclusion of status information in the commit " -"message template when using an editor to prepare the commit message. " -"Defaults to true." +#: en/git-submodule.txt:181 +msgid "the current branch of the submodule will be rebased" msgstr "" -"--no-status::\n" -"\tNe pas inclure la sortie de linkgit:git-status[1] dans le\n" -"\tmod챔le de message de validation lors de l'utilisation d'un\n" -"\t챕diteur pour pr챕parer le message de validation par d챕faut.\n" - -#. type: Labeled list -#: en/config.txt:1233 -#, fuzzy, no-wrap -#| msgid "status" -msgid "commit.template" -msgstr "status" #. type: Plain text -#: en/config.txt:1236 -msgid "" -"Specify the pathname of a file to use as the template for new commit " -"messages." +#: en/git-submodule.txt:182 +#, no-wrap +msgid "onto the commit recorded in the superproject.\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1237 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "commit.verbose" -msgstr "git-commit(1)" - #. type: Plain text -#: en/config.txt:1240 -msgid "" -"A boolean or int to specify the level of verbose with `git commit`. See " -"linkgit:git-commit[1]." +#: en/git-submodule.txt:184 +msgid "the commit recorded in the superproject will be merged" msgstr "" -#. type: Labeled list -#: en/config.txt:1241 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "credential.helper" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-submodule.txt:185 +#, no-wrap +msgid "into the current branch in the submodule.\n" +msgstr "" #. type: Plain text -#: en/config.txt:1247 +#: en/git-submodule.txt:188 msgid "" -"Specify an external helper to be called when a username or password " -"credential is needed; the helper may consult external storage to avoid " -"prompting the user for the credentials. Note that multiple helpers may be " -"defined. See linkgit:gitcredentials[7] for details." +"The following procedures are only available via the `submodule.<name>." +"update` configuration variable:" msgstr "" #. type: Labeled list -#: en/config.txt:1248 +#: en/git-submodule.txt:189 #, no-wrap -msgid "credential.useHttpPath" +msgid "custom command" msgstr "" #. type: Plain text -#: en/config.txt:1252 -msgid "" -"When acquiring credentials, consider the \"path\" component of an http or " -"https URL to be important. Defaults to false. See linkgit:gitcredentials[7] " -"for more information." +#: en/git-submodule.txt:190 +msgid "arbitrary shell command that takes a single" msgstr "" -#. type: Labeled list -#: en/config.txt:1253 +#. type: Plain text +#: en/git-submodule.txt:194 #, no-wrap -msgid "credential.username" +msgid "" +"argument (the sha1 of the commit recorded in the\n" +"superproject) is executed. When `submodule.<name>.update`\n" +"is set to '!command', the remainder after the exclamation mark\n" +"is the custom command.\n" msgstr "" #. type: Plain text -#: en/config.txt:1257 -msgid "" -"If no username is set for a network authentication, use this username by " -"default. See credential.<context>.* below, and linkgit:gitcredentials[7]." +#: en/git-submodule.txt:196 +msgid "the submodule is not updated." msgstr "" -#. type: Labeled list -#: en/config.txt:1258 -#, no-wrap -msgid "credential.<url>.*" +#. type: Plain text +#: en/git-submodule.txt:200 +msgid "" +"If the submodule is not yet initialized, and you just want to use the " +"setting as stored in .gitmodules, you can automatically initialize the " +"submodule with the `--init` option." msgstr "" #. type: Plain text -#: en/config.txt:1264 +#: en/git-submodule.txt:203 msgid "" -"Any of the credential.* options above can be applied selectively to some " -"credentials. For example \"credential.https://example.com.username\" would " -"set the default username only for https connections to example.com. See " -"linkgit:gitcredentials[7] for details on how URLs are matched." +"If `--recursive` is specified, this command will recurse into the registered " +"submodules, and update any nested submodules within." msgstr "" #. type: Labeled list -#: en/config.txt:1265 +#: en/git-submodule.txt:204 #, no-wrap -msgid "credentialCache.ignoreSIGHUP" -msgstr "" - -#. type: Plain text -#: en/config.txt:1267 -msgid "" -"Tell git-credential-cache--daemon to ignore SIGHUP, instead of quitting." +msgid "summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1281 +#: en/git-submodule.txt:213 msgid "" -"Specify the command to invoke the specified diff tool. The specified " -"command is evaluated in shell with the following variables available: " -"'LOCAL' is set to the name of the temporary file containing the contents of " -"the diff pre-image and 'REMOTE' is set to the name of the temporary file " -"containing the contents of the diff post-image." +"Show commit summary between the given commit (defaults to HEAD) and working " +"tree/index. For a submodule in question, a series of commits in the " +"submodule between the given super project commit and the index or working " +"tree (switched by `--cached`) are shown. If the option `--files` is given, " +"show the series of commits in the submodule between the index of the super " +"project and the working tree of the submodule (this option doesn't allow to " +"use the `--cached` option or to provide an explicit commit)." msgstr "" #. type: Plain text -#: en/config.txt:1293 +#: en/git-submodule.txt:216 msgid "" -"If the number of objects imported by linkgit:git-fast-import[1] is below " -"this limit, then the objects will be unpacked into loose object files. " -"However if the number of imported objects equals or exceeds this limit then " -"the pack will be stored as a pack. Storing the pack from a fast-import can " -"make the import operation complete faster, especially on slow filesystems. " -"If not set, the value of `transfer.unpackLimit` is used instead." +"Using the `--submodule=log` option with linkgit:git-diff[1] will provide " +"that information too." msgstr "" #. type: Labeled list -#: en/config.txt:1294 +#: en/git-submodule.txt:217 #, no-wrap -msgid "fetch.recurseSubmodules" +msgid "foreach [--recursive] <command>" msgstr "" #. type: Plain text -#: en/config.txt:1302 +#: en/git-submodule.txt:233 msgid "" -"This option can be either set to a boolean value or to 'on-demand'. Setting " -"it to a boolean changes the behavior of fetch and pull to unconditionally " -"recurse into submodules when set to true or to not recurse at all when set " -"to false. When set to 'on-demand' (the default value), fetch and pull will " -"only recurse into a populated submodule when its superproject retrieves a " -"commit that updates the submodule's reference." +"Evaluates an arbitrary shell command in each checked out submodule. The " +"command has access to the variables $name, $path, $sha1 and $toplevel: $name " +"is the name of the relevant submodule section in .gitmodules, $path is the " +"name of the submodule directory relative to the superproject, $sha1 is the " +"commit as recorded in the superproject, and $toplevel is the absolute path " +"to the top-level of the superproject. Any submodules defined in the " +"superproject but not checked out are ignored by this command. Unless given " +"`--quiet`, foreach prints the name of each submodule before evaluating the " +"command. If `--recursive` is given, submodules are traversed recursively (i." +"e. the given shell command is evaluated in nested submodules as well). A " +"non-zero return from the command in any submodule causes the processing to " +"terminate. This can be overridden by adding '|| :' to the end of the command." msgstr "" -#. type: Labeled list -#: en/config.txt:1303 -#, fuzzy, no-wrap -#| msgid "git-fsck-objects(1)" -msgid "fetch.fsckObjects" -msgstr "git-fsck-objects(1)" +#. type: Plain text +#: en/git-submodule.txt:236 +msgid "" +"As an example, the command below will show the path and currently checked " +"out commit for each submodule:" +msgstr "" -#. type: Plain text -#: en/config.txt:1309 -msgid "" -"If it is set to true, git-fetch-pack will check all fetched objects. It will " -"abort in the case of a malformed object or a broken link. The result of an " -"abort are only dangling objects. Defaults to false. If not set, the value " -"of `transfer.fsckObjects` is used instead." +#. type: delimited block - +#: en/git-submodule.txt:239 +#, no-wrap +msgid "git submodule foreach 'echo $path `git rev-parse HEAD`'\n" msgstr "" #. type: Labeled list -#: en/config.txt:1310 +#: en/git-submodule.txt:241 #, no-wrap -msgid "fetch.unpackLimit" +msgid "sync [--recursive] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1320 +#: en/git-submodule.txt:248 msgid "" -"If the number of objects fetched over the Git native transfer is below this " -"limit, then the objects will be unpacked into loose object files. However if " -"the number of received objects equals or exceeds this limit then the " -"received pack will be stored as a pack, after adding any missing delta " -"bases. Storing the pack from a push can make the push operation complete " -"faster, especially on slow filesystems. If not set, the value of `transfer." -"unpackLimit` is used instead." +"Synchronizes submodules' remote URL configuration setting to the value " +"specified in .gitmodules. It will only affect those submodules which already " +"have a URL entry in .git/config (that is the case when they are initialized " +"or freshly added). This is useful when submodule URLs change upstream and " +"you need to update your local repositories accordingly." msgstr "" -#. type: Labeled list -#: en/config.txt:1321 -#, no-wrap -msgid "fetch.prune" +#. type: Plain text +#: en/git-submodule.txt:251 +msgid "" +"\"git submodule sync\" synchronizes all submodules while \"git submodule " +"sync \\-- A\" synchronizes submodule \"A\" only." msgstr "" #. type: Plain text -#: en/config.txt:1324 +#: en/git-submodule.txt:254 msgid "" -"If true, fetch will automatically behave as if the `--prune` option was " -"given on the command line. See also `remote.<name>.prune`." +"If `--recursive` is specified, this command will recurse into the registered " +"submodules, and sync any nested submodules within." msgstr "" #. type: Labeled list -#: en/config.txt:1325 +#: en/git-submodule.txt:255 #, no-wrap -msgid "fetch.output" +msgid "absorbgitdirs" msgstr "" #. type: Plain text -#: en/config.txt:1329 +#: en/git-submodule.txt:262 msgid "" -"Control how ref update status is printed. Valid values are `full` and " -"`compact`. Default value is `full`. See section OUTPUT in linkgit:git-" -"fetch[1] for detail." +"If a git directory of a submodule is inside the submodule, move the git " +"directory of the submodule into its superprojects `$GIT_DIR/modules` path " +"and then connect the git directory and its working directory by setting the " +"`core.worktree` and adding a .git file pointing to the git directory " +"embedded in the superprojects git directory." msgstr "" -#. type: Labeled list -#: en/config.txt:1330 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "format.attach" -msgstr "git-commit(1)" - #. type: Plain text -#: en/config.txt:1336 +#: en/git-submodule.txt:266 msgid "" -"Enable multipart/mixed attachments as the default for 'format-patch'. The " -"value can also be a double quoted string which will enable attachments as " -"the default and set the value as the boundary. See the --attach option in " -"linkgit:git-format-patch[1]." +"A repository that was cloned independently and later added as a submodule or " +"old setups have the submodules git directory inside the submodule instead of " +"embedded into the superprojects git directory." msgstr "" -#. type: Labeled list -#: en/config.txt:1337 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.from" -msgstr "Configuration" - #. type: Plain text -#: en/config.txt:1346 -msgid "" -"Provides the default value for the `--from` option to format-patch. Accepts " -"a boolean value, or a name and email address. If false, format-patch " -"defaults to `--no-from`, using commit authors directly in the \"From:\" " -"field of patch mails. If true, format-patch defaults to `--from`, using " -"your committer identity in the \"From:\" field of patch mails and including " -"a \"From:\" field in the body of the patch mail if different. If set to a " -"non-boolean value, format-patch uses that value instead of your committer " -"identity. Defaults to false." +#: en/git-submodule.txt:268 +msgid "This command is recursive by default." msgstr "" -#. type: Labeled list -#: en/config.txt:1347 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.numbered" -msgstr "Configuration" - #. type: Plain text -#: en/config.txt:1353 -msgid "" -"A boolean which can enable or disable sequence numbers in patch subjects. " -"It defaults to \"auto\" which enables it only if there is more than one " -"patch. It can be enabled or disabled for all messages by setting it to " -"\"true\" or \"false\". See --numbered option in linkgit:git-format-patch[1]." +#: en/git-submodule.txt:274 +#, fuzzy +#| msgid "" +#| "-q::\n" +#| "--quiet::\n" +#| "\tSuppress commit summary message.\n" +msgid "Only print error messages." msgstr "" - -#. type: Labeled list -#: en/config.txt:1354 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.headers" -msgstr "Configuration" +"-q::\n" +"--quiet::\n" +"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Plain text -#: en/config.txt:1357 +#: en/git-submodule.txt:278 msgid "" -"Additional email headers to include in a patch to be submitted by mail. See " -"linkgit:git-format-patch[1]." +"This option is only valid for the deinit command. Unregister all submodules " +"in the working tree." msgstr "" -#. type: Labeled list -#: en/config.txt:1358 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.to" -msgstr "Configuration" - -#. type: Labeled list -#: en/config.txt:1359 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.cc" -msgstr "Configuration" - #. type: Plain text -#: en/config.txt:1363 +#: en/git-submodule.txt:286 msgid "" -"Additional recipients to include in a patch to be submitted by mail. See " -"the --to and --cc options in linkgit:git-format-patch[1]." +"Branch of repository to add as submodule. The name of the branch is " +"recorded as `submodule.<name>.branch` in `.gitmodules` for `update --" +"remote`. A special value of `.` is used to indicate that the name of the " +"branch in the submodule should be the same name as the current branch in the " +"current repository." msgstr "" -#. type: Labeled list -#: en/config.txt:1364 -#, no-wrap -msgid "format.subjectPrefix" +#. type: Plain text +#: en/git-submodule.txt:299 +msgid "" +"This option is only valid for add, deinit and update commands. When running " +"add, allow adding an otherwise ignored submodule path. When running deinit " +"the submodule working trees will be removed even if they contain local " +"changes. When running update (only effective with the checkout procedure), " +"throw away local changes in submodules when switching to a different commit; " +"and always run a checkout operation in the submodule, even if the commit " +"listed in the index of the containing repository matches the commit checked " +"out in the submodule." msgstr "" #. type: Plain text -#: en/config.txt:1367 +#: en/git-submodule.txt:304 msgid "" -"The default for format-patch is to output files with the '[PATCH]' subject " -"prefix. Use this variable to change that prefix." +"This option is only valid for status and summary commands. These commands " +"typically use the commit found in the submodule HEAD, but with this option, " +"the commit stored in the index is used instead." msgstr "" #. type: Labeled list -#: en/config.txt:1368 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.signature" -msgstr "Configuration" +#: en/git-submodule.txt:305 +#, no-wrap +msgid "--files" +msgstr "" #. type: Plain text -#: en/config.txt:1373 +#: en/git-submodule.txt:309 msgid "" -"The default for format-patch is to output a signature containing the Git " -"version number. Use this variable to change that default. Set this variable " -"to the empty string (\"\") to suppress signature generation." +"This option is only valid for the summary command. This command compares the " +"commit in the index with that in the submodule HEAD when this option is used." msgstr "" #. type: Labeled list -#: en/config.txt:1374 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.signatureFile" -msgstr "Configuration" +#: en/git-submodule.txt:311 +#, no-wrap +msgid "--summary-limit" +msgstr "" #. type: Plain text -#: en/config.txt:1377 +#: en/git-submodule.txt:317 msgid "" -"Works just like format.signature except the contents of the file specified " -"by this variable will be used as the signature." +"This option is only valid for the summary command. Limit the summary size " +"(number of commits shown in total). Giving 0 will disable the summary; a " +"negative number means unlimited (the default). This limit only applies to " +"modified submodules. The size is always limited to 1 for added/deleted/" +"typechanged submodules." msgstr "" #. type: Labeled list -#: en/config.txt:1378 +#: en/git-submodule.txt:318 #, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.suffix" -msgstr "Configuration" +#| msgid "git-commit(1)" +msgid "--remote" +msgstr "git-commit(1)" #. type: Plain text -#: en/config.txt:1382 +#: en/git-submodule.txt:327 msgid "" -"The default for format-patch is to output files with the suffix `.patch`. " -"Use this variable to change that suffix (make sure to include the dot if you " -"want it)." +"This option is only valid for the update command. Instead of using the " +"superproject's recorded SHA-1 to update the submodule, use the status of the " +"submodule's remote-tracking branch. The remote used is branch's remote " +"(`branch.<name>.remote`), defaulting to `origin`. The remote branch used " +"defaults to `master`, but the branch name may be overridden by setting the " +"`submodule.<name>.branch` option in either `.gitmodules` or `.git/config` " +"(with `.git/config` taking precedence)." msgstr "" -# #. type: Plain text -#: en/config.txt:1387 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-submodule.txt:333 msgid "" -"The default pretty format for log/show/whatchanged command, See linkgit:git-" -"log[1], linkgit:git-show[1], linkgit:git-whatchanged[1]." +"This works for any of the supported update procedures (`--checkout`, `--" +"rebase`, etc.). The only change is the source of the target SHA-1. For " +"example, `submodule update --remote --merge` will merge upstream submodule " +"changes into the submodules, while `submodule update --merge` will merge " +"superproject gitlink changes into the submodules." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Labeled list -#: en/config.txt:1388 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.thread" -msgstr "Configuration" #. type: Plain text -#: en/config.txt:1397 +#: en/git-submodule.txt:338 msgid "" -"The default threading style for 'git format-patch'. Can be a boolean value, " -"or `shallow` or `deep`. `shallow` threading makes every mail a reply to the " -"head of the series, where the head is chosen from the cover letter, the `--" -"in-reply-to`, and the first patch mail, in this order. `deep` threading " -"makes every mail a reply to the previous one. A true boolean value is the " -"same as `shallow`, and a false value disables threading." +"In order to ensure a current tracking branch state, `update --remote` " +"fetches the submodule's remote repository before calculating the SHA-1. If " +"you don't want to fetch, you should use `submodule update --remote --no-" +"fetch`." msgstr "" -#. type: Labeled list -#: en/config.txt:1398 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.signOff" -msgstr "Configuration" - #. type: Plain text -#: en/config.txt:1404 +#: en/git-submodule.txt:348 msgid "" -"A boolean value which lets you enable the `-s/--signoff` option of format-" -"patch by default. *Note:* Adding the Signed-off-by: line to a patch should " -"be a conscious act and means that you certify you have the rights to submit " -"this work under the same open source license. Please see the " -"'SubmittingPatches' document for further discussion." +"Use this option to integrate changes from the upstream subproject with your " +"submodule's current HEAD. Alternatively, you can run `git pull` from the " +"submodule, which is equivalent except for the remote branch name: `update --" +"remote` uses the default upstream repository and `submodule.<name>.branch`, " +"while `git pull` uses the submodule's `branch.<name>.merge`. Prefer " +"`submodule.<name>.branch` if you want to distribute the default upstream " +"branch with the superproject and `branch.<name>.merge` if you want a more " +"native feel while working in the submodule itself." msgstr "" #. type: Labeled list -#: en/config.txt:1405 +#: en/git-submodule.txt:350 #, no-wrap -msgid "format.coverLetter" +msgid "--no-fetch" msgstr "" #. type: Plain text -#: en/config.txt:1409 +#: en/git-submodule.txt:353 msgid "" -"A boolean that controls whether to generate a cover-letter when format-patch " -"is invoked, but in addition can be set to \"auto\", to generate a cover-" -"letter only when there's more than one patch." +"This option is only valid for the update command. Don't fetch new objects " +"from the remote site." msgstr "" #. type: Labeled list -#: en/config.txt:1410 -#, no-wrap -msgid "format.outputDirectory" +#: en/git-submodule.txt:354 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--checkout" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-submodule.txt:362 +msgid "" +"This option is only valid for the update command. Checkout the commit " +"recorded in the superproject on a detached HEAD in the submodule. This is " +"the default behavior, the main use of this option is to override `submodule." +"$name.update` when set to a value other than `checkout`. If the key " +"`submodule.$name.update` is either not explicitly set or set to `checkout`, " +"this option is implicit." msgstr "" #. type: Plain text -#: en/config.txt:1413 +#: en/git-submodule.txt:372 msgid "" -"Set a custom directory to store the resulting files instead of the current " -"working directory." +"This option is only valid for the update command. Merge the commit recorded " +"in the superproject into the current branch of the submodule. If this option " +"is given, the submodule's HEAD will not be detached. If a merge failure " +"prevents this process, you will have to resolve the resulting conflicts " +"within the submodule with the usual conflict resolution tools. If the key " +"`submodule.$name.update` is set to `merge`, this option is implicit." msgstr "" #. type: Labeled list -#: en/config.txt:1414 +#: en/git-submodule.txt:373 #, fuzzy, no-wrap -#| msgid "Configuration" -msgid "format.useAutoBase" -msgstr "Configuration" +#| msgid "git-add(1)" +msgid "--rebase" +msgstr "git-add(1)" #. type: Plain text -#: en/config.txt:1417 +#: en/git-submodule.txt:381 msgid "" -"A boolean value which lets you enable the `--base=auto` option of format-" -"patch by default." +"This option is only valid for the update command. Rebase the current branch " +"onto the commit recorded in the superproject. If this option is given, the " +"submodule's HEAD will not be detached. If a merge failure prevents this " +"process, you will have to resolve these failures with linkgit:git-" +"rebase[1]. If the key `submodule.$name.update` is set to `rebase`, this " +"option is implicit." msgstr "" #. type: Labeled list -#: en/config.txt:1418 +#: en/git-submodule.txt:382 #, no-wrap -msgid "filter.<driver>.clean" +msgid "--init" msgstr "" #. type: Plain text -#: en/config.txt:1422 +#: en/git-submodule.txt:386 msgid "" -"The command which is used to convert the content of a worktree file to a " -"blob upon checkin. See linkgit:gitattributes[5] for details." +"This option is only valid for the update command. Initialize all submodules " +"for which \"git submodule init\" has not been called so far before updating." msgstr "" #. type: Labeled list -#: en/config.txt:1423 +#: en/git-submodule.txt:387 #, no-wrap -msgid "filter.<driver>.smudge" +msgid "--name" msgstr "" #. type: Plain text -#: en/config.txt:1427 +#: en/git-submodule.txt:391 msgid "" -"The command which is used to convert the content of a blob object to a " -"worktree file upon checkout. See linkgit:gitattributes[5] for details." +"This option is only valid for the add command. It sets the submodule's name " +"to the given string instead of defaulting to its path. The name must be " +"valid as a directory name and may not end with a '/'." msgstr "" #. type: Labeled list -#: en/config.txt:1428 +#: en/git-submodule.txt:392 #, no-wrap -msgid "fsck.<msg-id>" +msgid "--reference <repository>" msgstr "" #. type: Plain text -#: en/config.txt:1431 +#: en/git-submodule.txt:396 msgid "" -"Allows overriding the message type (error, warn or ignore) of a specific " -"message ID such as `missingEmail`." +"This option is only valid for add and update commands. These commands " +"sometimes need to clone a remote repository. In this case, this option will " +"be passed to the linkgit:git-clone[1] command." msgstr "" #. type: Plain text -#: en/config.txt:1435 +#: en/git-submodule.txt:399 +#, no-wrap msgid "" -"For convenience, fsck prefixes the error/warning with the message ID, e.g. " -"\"missingEmail: invalid author/committer line - missing email\" means that " -"setting `fsck.missingEmail = ignore` will hide that issue." +"*NOTE*: Do *not* use this option unless you have read the note\n" +"for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.\n" msgstr "" #. type: Plain text -#: en/config.txt:1438 +#: en/git-submodule.txt:405 msgid "" -"This feature is intended to support working with legacy repositories which " -"cannot be repaired without disruptive changes." +"This option is only valid for foreach, update, status and sync commands. " +"Traverse submodules recursively. The operation is performed not only in the " +"submodules of the current repo, but also in any nested submodules inside " +"those submodules (and so on)." msgstr "" #. type: Labeled list -#: en/config.txt:1439 +#: en/git-submodule.txt:406 #, no-wrap -msgid "fsck.skipList" +msgid "--depth" msgstr "" #. type: Plain text -#: en/config.txt:1446 en/config.txt:2679 +#: en/git-submodule.txt:410 msgid "" -"The path to a sorted list of object names (i.e. one SHA-1 per line) that are " -"known to be broken in a non-fatal way and should be ignored. This feature is " -"useful when an established project should be accepted despite early commits " -"containing errors that can be safely ignored such as invalid committer email " -"addresses. Note: corrupt objects cannot be skipped with this setting." +"This option is valid for add and update commands. Create a 'shallow' clone " +"with a history truncated to the specified number of revisions. See linkgit:" +"git-clone[1]" msgstr "" #. type: Labeled list -#: en/config.txt:1447 +#: en/git-submodule.txt:411 #, no-wrap -msgid "gc.aggressiveDepth" +msgid "--[no-]recommend-shallow" msgstr "" #. type: Plain text -#: en/config.txt:1451 +#: en/git-submodule.txt:416 msgid "" -"The depth parameter used in the delta compression algorithm used by 'git gc " -"--aggressive'. This defaults to 50." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1452 -#, no-wrap -msgid "gc.aggressiveWindow" +"This option is only valid for the update command. The initial clone of a " +"submodule will use the recommended `submodule.<name>.shallow` as provided by " +"the .gitmodules file by default. To ignore the suggestions use `--no-" +"recommend-shallow`." msgstr "" #. type: Plain text -#: en/config.txt:1456 +#: en/git-submodule.txt:422 msgid "" -"The window size parameter used in the delta compression algorithm used by " -"'git gc --aggressive'. This defaults to 250." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1457 -#, no-wrap -msgid "gc.auto" +"This option is only valid for the update command. Clone new submodules in " +"parallel with as many jobs. Defaults to the `submodule.fetchJobs` option." msgstr "" #. type: Plain text -#: en/config.txt:1463 +#: en/git-submodule.txt:427 msgid "" -"When there are approximately more than this many loose objects in the " -"repository, `git gc --auto` will pack them. Some Porcelain commands use " -"this command to perform a light-weight garbage collection from time to " -"time. The default value is 6700. Setting this to 0 disables it." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1464 -#, no-wrap -msgid "gc.autoPackLimit" +"Paths to submodule(s). When specified this will restrict the command to only " +"operate on the submodules found at the specified paths. (This argument is " +"required with add)." msgstr "" #. type: Plain text -#: en/config.txt:1469 +#: en/git-submodule.txt:435 msgid "" -"When there are more than this many packs that are not marked with `*.keep` " -"file in the repository, `git gc --auto` consolidates them into one larger " -"pack. The default\tvalue is 50. Setting this to 0 disables it." +"When initializing submodules, a .gitmodules file in the top-level directory " +"of the containing repository is used to find the url of each submodule. " +"This file should be formatted in the same way as `$GIT_DIR/config`. The key " +"to each submodule url is \"submodule.$name.url\". See linkgit:gitmodules[5] " +"for details." msgstr "" -#. type: Labeled list -#: en/config.txt:1470 -#, no-wrap -msgid "gc.autoDetach" -msgstr "" +#. type: Title = +#: en/git-svn.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-svn(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/config.txt:1473 +#: en/git-svn.txt:7 msgid "" -"Make `git gc --auto` return immediately and run in background if the system " -"supports it. Default is true." +"git-svn - Bidirectional operation between a Subversion repository and Git" msgstr "" -#. type: Labeled list -#: en/config.txt:1474 +#. type: Plain text +#: en/git-svn.txt:12 #, no-wrap -msgid "gc.logExpiry" +msgid "'git svn' <command> [options] [arguments]\n" msgstr "" #. type: Plain text -#: en/config.txt:1479 +#: en/git-svn.txt:18 msgid "" -"If the file gc.log exists, then `git gc --auto` won't run unless that file " -"is more than 'gc.logExpiry' old. Default is \"1.day\". See `gc." -"pruneExpire` for more ways to specify its value." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1480 -#, no-wrap -msgid "gc.packRefs" +"'git svn' is a simple conduit for changesets between Subversion and Git. It " +"provides a bidirectional flow of changes between a Subversion and a Git " +"repository." msgstr "" #. type: Plain text -#: en/config.txt:1487 +#: en/git-svn.txt:23 msgid "" -"Running `git pack-refs` in a repository renders it unclonable by Git " -"versions prior to 1.5.1.2 over dumb transports such as HTTP. This variable " -"determines whether 'git gc' runs `git pack-refs`. This can be set to " -"`notbare` to enable it within all non-bare repos or it can be set to a " -"boolean value. The default is `true`." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1488 -#, no-wrap -msgid "gc.pruneExpire" +"'git svn' can track a standard Subversion repository, following the common " +"\"trunk/branches/tags\" layout, with the --stdlayout option. It can also " +"follow branches and tags in any layout with the -T/-t/-b options (see " +"options to 'init' below, and also the 'clone' command)." msgstr "" #. type: Plain text -#: en/config.txt:1496 +#: en/git-svn.txt:27 msgid "" -"When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'. Override " -"the grace period with this config variable. The value \"now\" may be used " -"to disable this grace period and always prune unreachable objects " -"immediately, or \"never\" may be used to suppress pruning. This feature " -"helps prevent corruption when 'git gc' runs concurrently with another " -"process writing to the repository; see the \"NOTES\" section of linkgit:git-" -"gc[1]." +"Once tracking a Subversion repository (with any of the above methods), the " +"Git repository can be updated from Subversion by the 'fetch' command and " +"Subversion updated from Git by the 'dcommit' command." msgstr "" #. type: Labeled list -#: en/config.txt:1497 +#: en/git-svn.txt:31 #, no-wrap -msgid "gc.worktreePruneExpire" +msgid "'init'" msgstr "" #. type: Plain text -#: en/config.txt:1504 +#: en/git-svn.txt:39 msgid "" -"When 'git gc' is run, it calls 'git worktree prune --expire 3.months.ago'. " -"This config variable can be used to set a different grace period. The value " -"\"now\" may be used to disable the grace period and prune `$GIT_DIR/" -"worktrees` immediately, or \"never\" may be used to suppress pruning." +"Initializes an empty Git repository with additional metadata directories for " +"'git svn'. The Subversion URL may be specified as a command-line argument, " +"or as full URL arguments to -T/-t/-b. Optionally, the target directory to " +"operate on can be specified as a second argument. Normally this command " +"initializes the current directory." msgstr "" #. type: Labeled list -#: en/config.txt:1505 +#: en/git-svn.txt:40 #, no-wrap -msgid "gc.reflogExpire" +msgid "-T<trunk_subdir>" msgstr "" #. type: Labeled list -#: en/config.txt:1506 +#: en/git-svn.txt:41 #, no-wrap -msgid "gc.<pattern>.reflogExpire" -msgstr "" - -#. type: Plain text -#: en/config.txt:1513 -msgid "" -"'git reflog expire' removes reflog entries older than this time; defaults to " -"90 days. The value \"now\" expires all entries immediately, and \"never\" " -"suppresses expiration altogether. With \"<pattern>\" (e.g. \"refs/stash\") " -"in the middle the setting applies only to the refs that match the <pattern>." +msgid "--trunk=<trunk_subdir>" msgstr "" #. type: Labeled list -#: en/config.txt:1514 +#: en/git-svn.txt:42 #, no-wrap -msgid "gc.reflogExpireUnreachable" +msgid "-t<tags_subdir>" msgstr "" #. type: Labeled list -#: en/config.txt:1515 +#: en/git-svn.txt:43 #, no-wrap -msgid "gc.<pattern>.reflogExpireUnreachable" -msgstr "" - -#. type: Plain text -#: en/config.txt:1523 -msgid "" -"'git reflog expire' removes reflog entries older than this time and are not " -"reachable from the current tip; defaults to 30 days. The value \"now\" " -"expires all entries immediately, and \"never\" suppresses expiration " -"altogether. With \"<pattern>\" (e.g. \"refs/stash\") in the middle, the " -"setting applies only to the refs that match the <pattern>." +msgid "--tags=<tags_subdir>" msgstr "" #. type: Labeled list -#: en/config.txt:1524 +#: en/git-svn.txt:44 #, no-wrap -msgid "gc.rerereResolved" +msgid "-b<branches_subdir>" msgstr "" -#. type: Plain text -#: en/config.txt:1528 -msgid "" -"Records of conflicted merge you resolved earlier are kept for this many days " -"when 'git rerere gc' is run. The default is 60 days. See linkgit:git-" -"rerere[1]." +#. type: Labeled list +#: en/git-svn.txt:45 +#, no-wrap +msgid "--branches=<branches_subdir>" msgstr "" #. type: Labeled list -#: en/config.txt:1529 +#: en/git-svn.txt:47 #, no-wrap -msgid "gc.rerereUnresolved" +msgid "--stdlayout" msgstr "" #. type: Plain text -#: en/config.txt:1533 +#: en/git-svn.txt:58 msgid "" -"Records of conflicted merge you have not resolved are kept for this many " -"days when 'git rerere gc' is run. The default is 15 days. See linkgit:git-" -"rerere[1]." +"These are optional command-line options for init. Each of these flags can " +"point to a relative repository path (--tags=project/tags) or a full url (--" +"tags=https://foo.org/project/tags). You can specify more than one --tags " +"and/or --branches options, in case your Subversion repository places tags or " +"branches under multiple paths. The option --stdlayout is a shorthand way of " +"setting trunk,tags,branches as the relative paths, which is the Subversion " +"default. If any of the other options are given as well, they take precedence." msgstr "" #. type: Labeled list -#: en/config.txt:1534 +#: en/git-svn.txt:58 #, no-wrap -msgid "gitcvs.commitMsgAnnotation" +msgid "--no-metadata" msgstr "" #. type: Plain text -#: en/config.txt:1537 +#: en/git-svn.txt:62 msgid "" -"Append this string to each commit message. Set to empty string to disable " -"this feature. Defaults to \"via git-CVS emulator\"." +"Set the 'noMetadata' option in the [svn-remote] config. This option is not " +"recommended, please read the 'svn.noMetadata' section of this manpage before " +"using this option." msgstr "" #. type: Labeled list -#: en/config.txt:1538 +#: en/git-svn.txt:62 #, no-wrap -msgid "gitcvs.enabled" +msgid "--use-svm-props" msgstr "" #. type: Plain text -#: en/config.txt:1541 -msgid "" -"Whether the CVS server interface is enabled for this repository. See " -"linkgit:git-cvsserver[1]." +#: en/git-svn.txt:64 +msgid "Set the 'useSvmProps' option in the [svn-remote] config." msgstr "" #. type: Labeled list -#: en/config.txt:1542 +#: en/git-svn.txt:64 #, no-wrap -msgid "gitcvs.logFile" +msgid "--use-svnsync-props" msgstr "" #. type: Plain text -#: en/config.txt:1545 -msgid "" -"Path to a log file where the CVS server interface well... logs various " -"stuff. See linkgit:git-cvsserver[1]." +#: en/git-svn.txt:66 +msgid "Set the 'useSvnsyncProps' option in the [svn-remote] config." msgstr "" #. type: Labeled list -#: en/config.txt:1546 +#: en/git-svn.txt:66 #, no-wrap -msgid "gitcvs.usecrlfattr" +msgid "--rewrite-root=<URL>" msgstr "" #. type: Plain text -#: en/config.txt:1556 -msgid "" -"If true, the server will look up the end-of-line conversion attributes for " -"files to determine the `-k` modes to use. If the attributes force Git to " -"treat a file as text, the `-k` mode will be left blank so CVS clients will " -"treat it as text. If they suppress text conversion, the file will be set " -"with '-kb' mode, which suppresses any newline munging the client might " -"otherwise do. If the attributes do not allow the file type to be determined, " -"then `gitcvs.allBinary` is used. See linkgit:gitattributes[5]." +#: en/git-svn.txt:68 +msgid "Set the 'rewriteRoot' option in the [svn-remote] config." msgstr "" #. type: Labeled list -#: en/config.txt:1557 +#: en/git-svn.txt:68 #, no-wrap -msgid "gitcvs.allBinary" +msgid "--rewrite-uuid=<UUID>" msgstr "" #. type: Plain text -#: en/config.txt:1566 -msgid "" -"This is used if `gitcvs.usecrlfattr` does not resolve the correct '-kb' mode " -"to use. If true, all unresolved files are sent to the client in mode '-kb'. " -"This causes the client to treat them as binary files, which suppresses any " -"newline munging it otherwise might do. Alternatively, if it is set to \"guess" -"\", then the contents of the file are examined to decide if it is binary, " -"similar to `core.autocrlf`." +#: en/git-svn.txt:70 +msgid "Set the 'rewriteUUID' option in the [svn-remote] config." msgstr "" -#. type: Plain text -#: en/config.txt:1574 -msgid "" -"Database used by git-cvsserver to cache revision information derived from " -"the Git repository. The exact meaning depends on the used database driver, " -"for SQLite (which is the default driver) this is a filename. Supports " -"variable substitution (see linkgit:git-cvsserver[1] for details). May not " -"contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" +#. type: Labeled list +#: en/git-svn.txt:70 +#, no-wrap +msgid "--username=<user>" msgstr "" #. type: Plain text -#: en/config.txt:1582 +#: en/git-svn.txt:75 msgid "" -"Used Perl DBI driver. You can specify any available driver for this here, " -"but it might not work. git-cvsserver is tested with 'DBD::SQLite', reported " -"to work with 'DBD::Pg', and reported *not* to work with 'DBD::mysql'. " -"Experimental feature. May not contain double colons (`:`). Default: " -"'SQLite'. See linkgit:git-cvsserver[1]." +"For transports that SVN handles authentication for (http, https, and plain " +"svn), specify the username. For other transports (e.g. `svn+ssh://`), you " +"must include the username in the URL, e.g. `svn+ssh://foo@svn.bar.com/" +"project`" msgstr "" #. type: Labeled list -#: en/config.txt:1583 +#: en/git-svn.txt:75 #, no-wrap -msgid "gitcvs.dbUser, gitcvs.dbPass" -msgstr "" - -#. type: Plain text -#: en/config.txt:1588 -msgid "" -"Database user and password. Only useful if setting `gitcvs.dbDriver`, since " -"SQLite has no concept of database users and/or passwords. 'gitcvs.dbUser' " -"supports variable substitution (see linkgit:git-cvsserver[1] for details)." +msgid "--prefix=<prefix>" msgstr "" #. type: Plain text -#: en/config.txt:1595 +#: en/git-svn.txt:90 msgid "" -"Database table name prefix. Prepended to the names of any database tables " -"used, allowing a single database to be used for several repositories. " -"Supports variable substitution (see linkgit:git-cvsserver[1] for details). " -"Any non-alphabetic characters will be replaced with underscores." +"This allows one to specify a prefix which is prepended to the names of " +"remotes if trunk/branches/tags are specified. The prefix does not " +"automatically include a trailing slash, so be sure you include one in the " +"argument if that is what you want. If --branches/-b is specified, the " +"prefix must include a trailing slash. Setting a prefix (with a trailing " +"slash) is strongly encouraged in any case, as your SVN-tracking refs will " +"then be located at \"refs/remotes/$prefix/*\", which is compatible with " +"Git's own remote-tracking ref layout (refs/remotes/$remote/*). Setting a " +"prefix is also useful if you wish to track multiple projects that share a " +"common repository. By default, the prefix is set to 'origin/'." msgstr "" #. type: Plain text -#: en/config.txt:1601 +#: en/git-svn.txt:97 msgid "" -"All gitcvs variables except for `gitcvs.usecrlfattr` and `gitcvs.allBinary` " -"can also be specified as 'gitcvs.<access_method>.<varname>' (where " -"'access_method' is one of \"ext\" and \"pserver\") to make them apply only " -"for the given access method." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1602 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.category" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1603 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.description" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1604 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.owner" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1605 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.url" -msgstr "git-add(1)" - -#. type: Plain text -#: en/config.txt:1607 -msgid "See linkgit:gitweb[1] for description." +"Before Git v2.0, the default prefix was \"\" (no prefix). This meant that " +"SVN-tracking refs were put at \"refs/remotes/*\", which is incompatible with " +"how Git's own remote-tracking refs are organized. If you still want the old " +"default, you can get it by passing `--prefix \"\"` on the command line (`--" +"prefix=\"\"` may not work if your Perl's Getopt::Long is < v2.37)." msgstr "" #. type: Labeled list -#: en/config.txt:1608 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.avatar" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1609 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.blame" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1610 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.grep" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1611 +#: en/git-svn.txt:98 en/git-svn.txt:141 #, no-wrap -msgid "gitweb.highlight" +msgid "--ignore-paths=<regex>" msgstr "" -#. type: Labeled list -#: en/config.txt:1612 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.patches" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1613 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.pickaxe" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1614 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.remote_heads" -msgstr "git-add(1)" - -#. type: Labeled list -#: en/config.txt:1615 -#, no-wrap -msgid "gitweb.showSizes" +#. type: Plain text +#: en/git-svn.txt:102 +msgid "" +"When passed to 'init' or 'clone' this regular expression will be preserved " +"as a config key. See 'fetch' for a description of `--ignore-paths`." msgstr "" #. type: Labeled list -#: en/config.txt:1616 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "gitweb.snapshot" -msgstr "git-add(1)" - -#. type: Plain text -#: en/config.txt:1618 -msgid "See linkgit:gitweb.conf[5] for description." +#: en/git-svn.txt:102 en/git-svn.txt:170 +#, no-wrap +msgid "--include-paths=<regex>" msgstr "" #. type: Plain text -#: en/config.txt:1636 +#: en/git-svn.txt:106 msgid "" -"Number of grep worker threads to use. See `grep.threads` in linkgit:git-" -"grep[1] for more information." +"When passed to 'init' or 'clone' this regular expression will be preserved " +"as a config key. See 'fetch' for a description of `--include-paths`." msgstr "" #. type: Labeled list -#: en/config.txt:1641 +#: en/git-svn.txt:106 #, no-wrap -msgid "gpg.program" +msgid "--no-minimize-url" msgstr "" #. type: Plain text -#: en/config.txt:1651 +#: en/git-svn.txt:117 msgid "" -"Use this custom program instead of \"`gpg`\" found on `$PATH` when making or " -"verifying a PGP signature. The program must support the same command-line " -"interface as GPG, namely, to verify a detached signature, \"`gpg --verify " -"$file - <$signature`\" is run, and the program is expected to signal a good " -"signature by exiting with code 0, and to generate an ASCII-armored detached " -"signature, the standard input of \"`gpg -bsau $key`\" is fed with the " -"contents to be signed, and the program is expected to send the result to its " -"standard output." +"When tracking multiple directories (using --stdlayout, --branches, or --tags " +"options), git svn will attempt to connect to the root (or highest allowed " +"level) of the Subversion repository. This default allows better tracking of " +"history if entire projects are moved within a repository, but may cause " +"issues on repositories where read access restrictions are in place. Passing " +"`--no-minimize-url` will allow git svn to accept URLs as-is without " +"attempting to connect to a higher level directory. This option is off by " +"default when only one URL/branch is tracked (it would do little good)." msgstr "" #. type: Labeled list -#: en/config.txt:1652 +#: en/git-svn.txt:118 #, no-wrap -msgid "gui.commitMsgWidth" +msgid "'fetch'" msgstr "" #. type: Plain text -#: en/config.txt:1655 +#: en/git-svn.txt:123 msgid "" -"Defines how wide the commit message window is in the linkgit:git-gui[1]. " -"\"75\" is the default." +"Fetch unfetched revisions from the Subversion remote we are tracking. The " +"name of the [svn-remote \"...\"] section in the $GIT_DIR/config file may be " +"specified as an optional command-line argument." msgstr "" -#. type: Labeled list -#: en/config.txt:1656 -#, fuzzy, no-wrap -#| msgid "new content" -msgid "gui.diffContext" -msgstr "contenu nouveau" - #. type: Plain text -#: en/config.txt:1659 +#: en/git-svn.txt:126 en/git-svn.txt:227 msgid "" -"Specifies how many context lines should be used in calls to diff made by the " -"linkgit:git-gui[1]. The default is \"5\"." +"This automatically updates the rev_map if needed (see '$GIT_DIR/svn/\\*\\*/." +"rev_map.*' in the FILES section below for details)." msgstr "" #. type: Labeled list -#: en/config.txt:1660 +#: en/git-svn.txt:127 #, no-wrap -msgid "gui.displayUntracked" +msgid "--localtime" msgstr "" #. type: Plain text -#: en/config.txt:1663 +#: en/git-svn.txt:131 msgid "" -"Determines if linkgit:git-gui[1] shows untracked files in the file list. The " -"default is \"true\"." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1664 -#, no-wrap -msgid "gui.encoding" +"Store Git commit times in the local time zone instead of UTC. This makes " +"'git log' (even without --date=local) show the same times that `svn log` " +"would in the local time zone." msgstr "" #. type: Plain text -#: en/config.txt:1671 +#: en/git-svn.txt:137 msgid "" -"Specifies the default encoding to use for displaying of file contents in " -"linkgit:git-gui[1] and linkgit:gitk[1]. It can be overridden by setting the " -"'encoding' attribute for relevant files (see linkgit:gitattributes[5]). If " -"this option is not set, the tools default to the locale encoding." +"This doesn't interfere with interoperating with the Subversion repository " +"you cloned from, but if you wish for your local Git repository to be able to " +"interoperate with someone else's local Git repository, either don't use this " +"option or you should both use it in the same local time zone." msgstr "" #. type: Labeled list -#: en/config.txt:1672 +#: en/git-svn.txt:138 en/git-svn.txt:505 #, no-wrap -msgid "gui.matchTrackingBranch" +msgid "--parent" msgstr "" #. type: Plain text -#: en/config.txt:1676 -msgid "" -"Determines if new branches created with linkgit:git-gui[1] should default to " -"tracking remote branches with matching names or not. Default: \"false\"." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1677 -#, no-wrap -msgid "gui.newBranchTemplate" +#: en/git-svn.txt:140 +msgid "Fetch only from the SVN parent of the current HEAD." msgstr "" #. type: Plain text -#: en/config.txt:1680 +#: en/git-svn.txt:147 msgid "" -"Is used as suggested name when creating new branches using the linkgit:git-" -"gui[1]." +"This allows one to specify a Perl regular expression that will cause " +"skipping of all matching paths from checkout from SVN. The `--ignore-paths` " +"option should match for every 'fetch' (including automatic fetches due to " +"'clone', 'dcommit', 'rebase', etc) on a given repository." msgstr "" -#. type: Labeled list -#: en/config.txt:1681 +#. type: Plain text +#: en/git-svn.txt:150 #, no-wrap -msgid "gui.pruneDuringFetch" +msgid "config key: svn-remote.<name>.ignore-paths\n" msgstr "" #. type: Plain text -#: en/config.txt:1684 +#: en/git-svn.txt:153 msgid "" -"\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when " -"performing a fetch. The default value is \"false\"." +"If the ignore-paths configuration key is set, and the command-line option is " +"also given, both regular expressions will be used." msgstr "" #. type: Labeled list -#: en/config.txt:1685 +#: en/git-svn.txt:157 #, no-wrap -msgid "gui.trustmtime" +msgid "Skip \"doc*\" directory for every fetch" msgstr "" -#. type: Plain text -#: en/config.txt:1688 -msgid "" -"Determines if linkgit:git-gui[1] should trust the file modification " -"timestamp or not. By default the timestamps are not trusted." +#. type: delimited block - +#: en/git-svn.txt:161 +#, no-wrap +msgid "--ignore-paths=\"^doc\"\n" msgstr "" #. type: Labeled list -#: en/config.txt:1689 +#: en/git-svn.txt:163 #, no-wrap -msgid "gui.spellingDictionary" -msgstr "" - -#. type: Plain text -#: en/config.txt:1693 -msgid "" -"Specifies the dictionary used for spell checking commit messages in the " -"linkgit:git-gui[1]. When set to \"none\" spell checking is turned off." +msgid "Skip \"branches\" and \"tags\" of first level directories" msgstr "" -#. type: Labeled list -#: en/config.txt:1694 +#. type: delimited block - +#: en/git-svn.txt:167 #, no-wrap -msgid "gui.fastCopyBlame" +msgid "--ignore-paths=\"^[^/]+/(?:branches|tags)\"\n" msgstr "" #. type: Plain text -#: en/config.txt:1698 +#: en/git-svn.txt:177 msgid "" -"If true, 'git gui blame' uses `-C` instead of `-C -C` for original location " -"detection. It makes blame significantly faster on huge repositories at the " -"expense of less thorough copy detection." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1699 -#, no-wrap -msgid "gui.copyBlameThreshold" +"This allows one to specify a Perl regular expression that will cause the " +"inclusion of only matching paths from checkout from SVN. The `--include-" +"paths` option should match for every 'fetch' (including automatic fetches " +"due to 'clone', 'dcommit', 'rebase', etc) on a given repository. `--ignore-" +"paths` takes precedence over `--include-paths`." msgstr "" #. type: Plain text -#: en/config.txt:1703 -msgid "" -"Specifies the threshold to use in 'git gui blame' original location " -"detection, measured in alphanumeric characters. See the linkgit:git-blame[1] " -"manual for more information on copy detection." +#: en/git-svn.txt:180 +#, no-wrap +msgid "config key: svn-remote.<name>.include-paths\n" msgstr "" #. type: Labeled list -#: en/config.txt:1704 +#: en/git-svn.txt:181 #, no-wrap -msgid "gui.blamehistoryctx" +msgid "--log-window-size=<n>" msgstr "" #. type: Plain text -#: en/config.txt:1709 +#: en/git-svn.txt:187 msgid "" -"Specifies the radius of history context in days to show in linkgit:gitk[1] " -"for the selected commit, when the `Show History Context` menu item is " -"invoked from 'git gui blame'. If this variable is set to zero, the whole " -"history is shown." +"Fetch <n> log entries per request when scanning Subversion history. The " +"default is 100. For very large Subversion repositories, larger values may be " +"needed for 'clone'/'fetch' to complete in reasonable time. But overly large " +"values may lead to higher memory usage and request timeouts." msgstr "" #. type: Labeled list -#: en/config.txt:1710 +#: en/git-svn.txt:188 #, no-wrap -msgid "guitool.<name>.cmd" +msgid "'clone'" msgstr "" #. type: Plain text -#: en/config.txt:1718 +#: en/git-svn.txt:198 msgid "" -"Specifies the shell command line to execute when the corresponding item of " -"the linkgit:git-gui[1] `Tools` menu is invoked. This option is mandatory for " -"every tool. The command is executed from the root of the working directory, " -"and in the environment it receives the name of the tool as `GIT_GUITOOL`, " -"the name of the currently selected file as 'FILENAME', and the name of the " -"current branch as 'CUR_BRANCH' (if the head is detached, 'CUR_BRANCH' is " -"empty)." +"Runs 'init' and 'fetch'. It will automatically create a directory based on " +"the basename of the URL passed to it; or if a second argument is passed; it " +"will create a directory and work within that. It accepts all arguments that " +"the 'init' and 'fetch' commands accept; with the exception of `--fetch-all` " +"and `--parent`. After a repository is cloned, the 'fetch' command will be " +"able to update revisions without affecting the working tree; and the " +"'rebase' command will be able to update the working tree with the latest " +"changes." msgstr "" #. type: Labeled list -#: en/config.txt:1719 +#: en/git-svn.txt:199 #, no-wrap -msgid "guitool.<name>.needsFile" +msgid "--preserve-empty-dirs" msgstr "" #. type: Plain text -#: en/config.txt:1722 +#: en/git-svn.txt:205 msgid "" -"Run the tool only if a diff is selected in the GUI. It guarantees that " -"'FILENAME' is not empty." +"Create a placeholder file in the local Git repository for each empty " +"directory fetched from Subversion. This includes directories that become " +"empty by removing all entries in the Subversion repository (but not the " +"directory itself). The placeholder files are also tracked and removed when " +"no longer necessary." msgstr "" #. type: Labeled list -#: en/config.txt:1723 +#: en/git-svn.txt:206 #, no-wrap -msgid "guitool.<name>.noConsole" +msgid "--placeholder-filename=<filename>" msgstr "" #. type: Plain text -#: en/config.txt:1726 +#: en/git-svn.txt:209 msgid "" -"Run the command silently, without creating a window to display its output." +"Set the name of placeholder files created by --preserve-empty-dirs. " +"Default: \".gitignore\"" msgstr "" #. type: Labeled list -#: en/config.txt:1727 +#: en/git-svn.txt:210 #, no-wrap -msgid "guitool.<name>.noRescan" +msgid "'rebase'" msgstr "" #. type: Plain text -#: en/config.txt:1730 +#: en/git-svn.txt:213 msgid "" -"Don't rescan the working directory for changes after the tool finishes " -"execution." +"This fetches revisions from the SVN parent of the current HEAD and rebases " +"the current (uncommitted to SVN) work against it." msgstr "" -#. type: Labeled list -#: en/config.txt:1731 -#, no-wrap -msgid "guitool.<name>.confirm" +#. type: Plain text +#: en/git-svn.txt:217 +msgid "" +"This works similarly to `svn update` or 'git pull' except that it preserves " +"linear history with 'git rebase' instead of 'git merge' for ease of " +"dcommitting with 'git svn'." msgstr "" #. type: Plain text -#: en/config.txt:1733 -msgid "Show a confirmation dialog before actually running the tool." +#: en/git-svn.txt:221 +msgid "" +"This accepts all options that 'git svn fetch' and 'git rebase' accept. " +"However, `--fetch-all` only fetches from the current [svn-remote], and not " +"all [svn-remote] definitions." msgstr "" -#. type: Labeled list -#: en/config.txt:1734 -#, no-wrap -msgid "guitool.<name>.argPrompt" +#. type: Plain text +#: en/git-svn.txt:224 +msgid "" +"Like 'git rebase'; this requires that the working tree be clean and have no " +"uncommitted changes." msgstr "" #. type: Plain text -#: en/config.txt:1741 +#: en/git-svn.txt:232 msgid "" -"Request a string argument from the user, and pass it to the tool through the " -"`ARGS` environment variable. Since requesting an argument implies " -"confirmation, the 'confirm' option has no effect if this is enabled. If the " -"option is set to 'true', 'yes', or '1', the dialog uses a built-in generic " -"prompt; otherwise the exact value of the variable is used." +"Do not fetch remotely; only run 'git rebase' against the last fetched commit " +"from the upstream SVN." msgstr "" #. type: Labeled list -#: en/config.txt:1742 +#: en/git-svn.txt:233 #, no-wrap -msgid "guitool.<name>.revPrompt" +msgid "'dcommit'" msgstr "" #. type: Plain text -#: en/config.txt:1746 +#: en/git-svn.txt:238 msgid "" -"Request a single valid revision from the user, and set the `REVISION` " -"environment variable. In other aspects this option is similar to " -"'argPrompt', and can be used together with it." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1747 -#, no-wrap -msgid "guitool.<name>.revUnmerged" +"Commit each diff from the current branch directly to the SVN repository, and " +"then rebase or reset (depending on whether or not there is a diff between " +"SVN and head). This will create a revision in SVN for each commit in Git." msgstr "" #. type: Plain text -#: en/config.txt:1751 +#: en/git-svn.txt:242 msgid "" -"Show only unmerged branches in the 'revPrompt' subdialog. This is useful " -"for tools similar to merge or rebase, but not for things like checkout or " -"reset." +"When an optional Git branch name (or a Git commit object name) is specified " +"as an argument, the subcommand works on the specified branch, not on the " +"current branch." msgstr "" -#. type: Labeled list -#: en/config.txt:1752 -#, no-wrap -msgid "guitool.<name>.title" +#. type: Plain text +#: en/git-svn.txt:244 +msgid "Use of 'dcommit' is preferred to 'set-tree' (below)." msgstr "" #. type: Plain text -#: en/config.txt:1755 -msgid "" -"Specifies the title to use for the prompt dialog. The default is the tool " -"name." +#: en/git-svn.txt:247 +msgid "After committing, do not rebase or reset." msgstr "" #. type: Labeled list -#: en/config.txt:1756 +#: en/git-svn.txt:247 #, no-wrap -msgid "guitool.<name>.prompt" +msgid "--commit-url <URL>" msgstr "" #. type: Plain text -#: en/config.txt:1760 +#: en/git-svn.txt:253 msgid "" -"Specifies the general prompt string to display at the top of the dialog, " -"before subsections for 'argPrompt' and 'revPrompt'. The default value " -"includes the actual command." +"Commit to this SVN URL (the full path). This is intended to allow existing " +"'git svn' repositories created with one transport method (e.g. `svn://` or " +"`http://` for anonymous read) to be reused if a user is later given access " +"to an alternate transport method (e.g. `svn+ssh://` or `https://`) for " +"commit." msgstr "" -#. type: Labeled list -#: en/config.txt:1761 +#. type: Plain text +#: en/git-svn.txt:257 #, no-wrap -msgid "help.browser" +msgid "" +"config key: svn-remote.<name>.commiturl\n" +"config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl options)\n" msgstr "" #. type: Plain text -#: en/config.txt:1764 +#: en/git-svn.txt:261 msgid "" -"Specify the browser that will be used to display help in the 'web' format. " -"See linkgit:git-help[1]." +"Note that the SVN URL of the commiturl config key includes the SVN branch. " +"If you rather want to set the commit URL for an entire SVN repository use " +"svn-remote.<name>.pushurl instead." msgstr "" #. type: Plain text -#: en/config.txt:1769 +#: en/git-svn.txt:264 msgid "" -"Override the default help format used by linkgit:git-help[1]. Values 'man', " -"'info', 'web' and 'html' are supported. 'man' is the default. 'web' and " -"'html' are the same." +"Using this option for any other purpose (don't ask) is very strongly " +"discouraged." msgstr "" #. type: Labeled list -#: en/config.txt:1770 +#: en/git-svn.txt:265 #, no-wrap -msgid "help.autoCorrect" +msgid "--mergeinfo=<mergeinfo>" msgstr "" #. type: Plain text -#: en/config.txt:1778 +#: en/git-svn.txt:272 msgid "" -"Automatically correct and execute mistyped commands after waiting for the " -"given number of deciseconds (0.1 sec). If more than one command can be " -"deduced from the entered text, nothing will be executed. If the value of " -"this option is negative, the corrected command will be executed immediately. " -"If the value is 0 - the command will be just shown but not executed. This " -"is the default." +"Add the given merge information during the dcommit (e.g. `--mergeinfo=\"/" +"branches/foo:1-10\"`). All svn server versions can store this information " +"(as a property), and svn clients starting from version 1.5 can make use of " +"it. To specify merge information from multiple branches, use a single space " +"character between the branches (`--mergeinfo=\"/branches/foo:1-10 /branches/" +"bar:3,5-6,8\"`)" msgstr "" -#. type: Labeled list -#: en/config.txt:1779 +#. type: Plain text +#: en/git-svn.txt:275 #, no-wrap -msgid "help.htmlPath" +msgid "config key: svn.pushmergeinfo\n" msgstr "" #. type: Plain text -#: en/config.txt:1784 +#: en/git-svn.txt:280 msgid "" -"Specify the path where the HTML documentation resides. File system paths and " -"URLs are supported. HTML pages will be prefixed with this path when help is " -"displayed in the 'web' format. This defaults to the documentation path of " -"your Git installation." +"This option will cause git-svn to attempt to automatically populate the svn:" +"mergeinfo property in the SVN repository when possible. Currently, this can " +"only be done when dcommitting non-fast-forward merges where all parents but " +"the first have already been pushed into SVN." msgstr "" -#. type: Labeled list -#: en/config.txt:1785 -#, no-wrap -msgid "http.proxy" +#. type: Plain text +#: en/git-svn.txt:285 +msgid "" +"Ask the user to confirm that a patch set should actually be sent to SVN. " +"For each patch, one may answer \"yes\" (accept this patch), \"no\" (discard " +"this patch), \"all\" (accept all patches), or \"quit\"." msgstr "" #. type: Plain text -#: en/config.txt:1794 +#: en/git-svn.txt:288 msgid "" -"Override the HTTP proxy, normally configured using the 'http_proxy', " -"'https_proxy', and 'all_proxy' environment variables (see `curl(1)`). In " -"addition to the syntax understood by curl, it is possible to specify a proxy " -"string with a user name but no password, in which case git will attempt to " -"acquire one in the same way it does for other credentials. See linkgit:" -"gitcredentials[7] for more information. The syntax thus is '[protocol://]" -"[user[:password]@]proxyhost[:port]'. This can be overridden on a per-remote " -"basis; see remote.<name>.proxy" +"'git svn dcommit' returns immediately if answer is \"no\" or \"quit\", " +"without committing anything to SVN." msgstr "" #. type: Labeled list -#: en/config.txt:1795 +#: en/git-svn.txt:289 #, no-wrap -msgid "http.proxyAuthMethod" +msgid "'branch'" msgstr "" #. type: Plain text -#: en/config.txt:1802 -msgid "" -"Set the method with which to authenticate against the HTTP proxy. This only " -"takes effect if the configured proxy string contains a user name part (i.e. " -"is of the form 'user@host' or 'user@host:port'). This can be overridden on a " -"per-remote basis; see `remote.<name>.proxyAuthMethod`. Both can be " -"overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment variable. " -"Possible values are:" +#: en/git-svn.txt:291 +msgid "Create a branch in the SVN repository." msgstr "" -#. type: Plain text -#: en/config.txt:1808 -msgid "" -"`anyauth` - Automatically pick a suitable authentication method. It is " -"assumed that the proxy answers an unauthenticated request with a 407 status " -"code and one or more Proxy-authenticate headers with supported " -"authentication methods. This is the default." +#. type: Labeled list +#: en/git-svn.txt:293 +#, no-wrap +msgid "--message" msgstr "" #. type: Plain text -#: en/config.txt:1809 -msgid "`basic` - HTTP Basic authentication" +#: en/git-svn.txt:295 +msgid "Allows to specify the commit message." msgstr "" -#. type: Plain text -#: en/config.txt:1811 -msgid "" -"`digest` - HTTP Digest authentication; this prevents the password from being " -"transmitted to the proxy in clear text" +#. type: Labeled list +#: en/git-svn.txt:297 +#, no-wrap +msgid "--tag" msgstr "" #. type: Plain text -#: en/config.txt:1813 +#: en/git-svn.txt:300 msgid "" -"`negotiate` - GSS-Negotiate authentication (compare the --negotiate option " -"of `curl(1)`)" +"Create a tag by using the tags_subdir instead of the branches_subdir " +"specified during git svn init." msgstr "" -#. type: Plain text -#: en/config.txt:1814 -msgid "`ntlm` - NTLM authentication (compare the --ntlm option of `curl(1)`)" -msgstr "" +#. type: Labeled list +#: en/git-svn.txt:301 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "-d<path>" +msgstr "patch" #. type: Labeled list -#: en/config.txt:1816 +#: en/git-svn.txt:302 #, no-wrap -msgid "http.emptyAuth" +msgid "--destination=<path>" msgstr "" #. type: Plain text -#: en/config.txt:1821 +#: en/git-svn.txt:310 msgid "" -"Attempt authentication without seeking a username or password. This can be " -"used to attempt GSS-Negotiate authentication without specifying a username " -"in the URL, as libcurl normally requires a username for authentication." +"If more than one --branches (or --tags) option was given to the 'init' or " +"'clone' command, you must provide the location of the branch (or tag) you " +"wish to create in the SVN repository. <path> specifies which path to use to " +"create the branch or tag and should match the pattern on the left-hand side " +"of one of the configured branches or tags refspecs. You can see these " +"refspecs with the commands" msgstr "" -#. type: Labeled list -#: en/config.txt:1822 -#, no-wrap -msgid "http.delegation" +#. type: Plain text +#: en/git-svn.txt:313 +msgid "" +"git config --get-all svn-remote.<name>.branches git config --get-all svn-" +"remote.<name>.tags" msgstr "" #. type: Plain text -#: en/config.txt:1827 +#: en/git-svn.txt:316 msgid "" -"Control GSSAPI credential delegation. The delegation is disabled by default " -"in libcurl since version 7.21.7. Set parameter to tell the server what it is " -"allowed to delegate when it comes to user credentials. Used with GSS/" -"kerberos. Possible values are:" +"where <name> is the name of the SVN repository as specified by the -R option " +"to 'init' (or \"svn\" by default)." +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:317 +#, no-wrap +msgid "--username" msgstr "" #. type: Plain text -#: en/config.txt:1830 -msgid "`none` - Don't allow any delegation." +#: en/git-svn.txt:320 +msgid "" +"Specify the SVN username to perform the commit as. This option overrides " +"the 'username' configuration property." msgstr "" +#. type: Labeled list +#: en/git-svn.txt:321 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--commit-url" +msgstr "git-commit(1)" + #. type: Plain text -#: en/config.txt:1832 +#: en/git-svn.txt:326 msgid "" -"`policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the " -"Kerberos service ticket, which is a matter of realm policy." +"Use the specified URL to connect to the destination Subversion repository. " +"This is useful in cases where the source SVN repository is read-only. This " +"option overrides configuration property 'commiturl'." msgstr "" #. type: Plain text -#: en/config.txt:1833 -msgid "`always` - Unconditionally allow the server to delegate." +#: en/git-svn.txt:328 +msgid "git config --get-all svn-remote.<name>.commiturl" msgstr "" #. type: Labeled list -#: en/config.txt:1836 +#: en/git-svn.txt:330 en/rev-list-options.txt:786 #, no-wrap -msgid "http.extraHeader" +msgid "--parents" msgstr "" #. type: Plain text -#: en/config.txt:1841 +#: en/git-svn.txt:334 msgid "" -"Pass an additional HTTP header when communicating with a server. If more " -"than one such entry exists, all of them are added as extra headers. To " -"allow overriding the settings inherited from the system config, an empty " -"value will reset the extra headers to the empty list." +"Create parent folders. This parameter is equivalent to the parameter --" +"parents on svn cp commands and is useful for non-standard repository layouts." msgstr "" #. type: Labeled list -#: en/config.txt:1842 +#: en/git-svn.txt:335 #, no-wrap -msgid "http.cookieFile" +msgid "'tag'" msgstr "" #. type: Plain text -#: en/config.txt:1850 +#: en/git-svn.txt:338 msgid "" -"The pathname of a file containing previously stored cookie lines, which " -"should be used in the Git http session, if they match the server. The file " -"format of the file to read cookies from should be plain HTTP headers or the " -"Netscape/Mozilla cookie file format (see `curl(1)`). NOTE that the file " -"specified with http.cookieFile is used only as input unless http.saveCookies " -"is set." +"Create a tag in the SVN repository. This is a shorthand for 'branch -t'." msgstr "" #. type: Labeled list -#: en/config.txt:1851 +#: en/git-svn.txt:339 #, no-wrap -msgid "http.saveCookies" +msgid "'log'" msgstr "" #. type: Plain text -#: en/config.txt:1854 +#: en/git-svn.txt:342 msgid "" -"If set, store cookies received during requests to the file specified by http." -"cookieFile. Has no effect if http.cookieFile is unset." +"This should make it easy to look up svn log messages when svn users refer to " +"-r/--revision numbers." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:344 +msgid "The following features from `svn log' are supported:" msgstr "" #. type: Labeled list -#: en/config.txt:1855 +#: en/git-svn.txt:346 #, no-wrap -msgid "http.sslVersion" +msgid "-r <n>[:<n>]" msgstr "" -#. type: Plain text -#: en/config.txt:1864 -msgid "" -"The SSL version to use when negotiating an SSL connection, if you want to " -"force the default. The available and default version depend on whether " -"libcurl was built against NSS or OpenSSL and the particular configuration of " -"the crypto library in use. Internally this sets the 'CURLOPT_SSL_VERSION' " -"option; see the libcurl documentation for more details on the format of this " -"option and for the ssl version supported. Actually the possible values of " -"this option are:" +#. type: Labeled list +#: en/git-svn.txt:347 +#, no-wrap +msgid "--revision=<n>[:<n>]" msgstr "" #. type: Plain text -#: en/config.txt:1866 -msgid "sslv2" +#: en/git-svn.txt:350 +msgid "is supported, non-numeric args are not: HEAD, NEXT, BASE, PREV, etc ..." msgstr "" #. type: Plain text -#: en/config.txt:1867 -msgid "sslv3" +#: en/git-svn.txt:354 +msgid "" +"it's not completely compatible with the --verbose output in svn log, but " +"reasonably close." msgstr "" -#. type: Plain text -#: en/config.txt:1868 -msgid "tlsv1" +#. type: Labeled list +#: en/git-svn.txt:354 +#, no-wrap +msgid "--limit=<n>" msgstr "" #. type: Plain text -#: en/config.txt:1869 -msgid "tlsv1.0" +#: en/git-svn.txt:357 +msgid "is NOT the same as --max-count, doesn't count merged/excluded commits" msgstr "" #. type: Plain text -#: en/config.txt:1870 -msgid "tlsv1.1" +#: en/git-svn.txt:359 +msgid "supported" msgstr "" #. type: Plain text -#: en/config.txt:1871 -msgid "tlsv1.2" +#: en/git-svn.txt:362 +msgid "New features:" msgstr "" +#. type: Labeled list +#: en/git-svn.txt:364 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--show-commit" +msgstr "git-commit(1)" + #. type: Plain text -#: en/config.txt:1877 -msgid "" -"Can be overridden by the `GIT_SSL_VERSION` environment variable. To force " -"git to use libcurl's default ssl version and ignore any explicit http." -"sslversion option, set `GIT_SSL_VERSION` to the empty string." +#: en/git-svn.txt:366 +msgid "shows the Git commit sha1, as well" msgstr "" #. type: Labeled list -#: en/config.txt:1878 +#: en/git-svn.txt:366 en/pretty-options.txt:31 #, no-wrap -msgid "http.sslCipherList" +msgid "--oneline" msgstr "" #. type: Plain text -#: en/config.txt:1885 -msgid "" -"A list of SSL ciphers to use when negotiating an SSL connection. The " -"available ciphers depend on whether libcurl was built against NSS or OpenSSL " -"and the particular configuration of the crypto library in use. Internally " -"this sets the 'CURLOPT_SSL_CIPHER_LIST' option; see the libcurl " -"documentation for more details on the format of this list." +#: en/git-svn.txt:368 +msgid "our version of --pretty=oneline" msgstr "" #. type: Plain text -#: en/config.txt:1890 +#: en/git-svn.txt:373 msgid "" -"Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable. To " -"force git to use libcurl's default cipher list and ignore any explicit http." -"sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the empty string." +"SVN itself only stores times in UTC and nothing else. The regular svn client " +"converts the UTC time to the local time (or based on the TZ= environment). " +"This command has the same behaviour." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:375 +msgid "Any other arguments are passed directly to 'git log'" msgstr "" #. type: Labeled list -#: en/config.txt:1891 +#: en/git-svn.txt:376 #, no-wrap -msgid "http.sslVerify" +msgid "'blame'" msgstr "" #. type: Plain text -#: en/config.txt:1895 +#: en/git-svn.txt:383 msgid "" -"Whether to verify the SSL certificate when fetching or pushing over HTTPS. " -"Can be overridden by the `GIT_SSL_NO_VERIFY` environment variable." +"Show what revision and author last modified each line of a file. The output " +"of this mode is format-compatible with the output of `svn blame' by default. " +"Like the SVN blame command, local uncommitted changes in the working tree " +"are ignored; the version of the file in the HEAD revision is annotated. " +"Unknown arguments are passed directly to 'git blame'." msgstr "" #. type: Labeled list -#: en/config.txt:1896 -#, no-wrap -msgid "http.sslCert" -msgstr "" +#: en/git-svn.txt:384 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--git-format" +msgstr "git-commit(1)" #. type: Plain text -#: en/config.txt:1900 +#: en/git-svn.txt:389 msgid "" -"File containing the SSL certificate when fetching or pushing over HTTPS. Can " -"be overridden by the `GIT_SSL_CERT` environment variable." +"Produce output in the same format as 'git blame', but with SVN revision " +"numbers instead of Git commit hashes. In this mode, changes that haven't " +"been committed to SVN (including local working-copy edits) are shown as " +"revision 0." msgstr "" #. type: Labeled list -#: en/config.txt:1901 +#: en/git-svn.txt:390 #, no-wrap -msgid "http.sslKey" +msgid "'find-rev'" msgstr "" #. type: Plain text -#: en/config.txt:1905 +#: en/git-svn.txt:395 msgid "" -"File containing the SSL private key when fetching or pushing over HTTPS. Can " -"be overridden by the `GIT_SSL_KEY` environment variable." +"When given an SVN revision number of the form 'rN', returns the " +"corresponding Git commit hash (this can optionally be followed by a tree-ish " +"to specify which branch should be searched). When given a tree-ish, returns " +"the corresponding SVN revision number." msgstr "" #. type: Labeled list -#: en/config.txt:1906 +#: en/git-svn.txt:396 #, no-wrap -msgid "http.sslCertPasswordProtected" -msgstr "" - -#. type: Plain text -#: en/config.txt:1911 -msgid "" -"Enable Git's password prompt for the SSL certificate. Otherwise OpenSSL " -"will prompt the user, possibly many times, if the certificate or private key " -"is encrypted. Can be overridden by the `GIT_SSL_CERT_PASSWORD_PROTECTED` " -"environment variable." +msgid "-B" msgstr "" #. type: Labeled list -#: en/config.txt:1912 +#: en/git-svn.txt:397 #, no-wrap -msgid "http.sslCAInfo" +msgid "--before" msgstr "" #. type: Plain text -#: en/config.txt:1916 +#: en/git-svn.txt:401 msgid "" -"File containing the certificates to verify the peer with when fetching or " -"pushing over HTTPS. Can be overridden by the `GIT_SSL_CAINFO` environment " -"variable." +"Don't require an exact match if given an SVN revision, instead find the " +"commit corresponding to the state of the SVN repository (on the current " +"branch) at the specified revision." msgstr "" #. type: Labeled list -#: en/config.txt:1917 +#: en/git-svn.txt:403 #, no-wrap -msgid "http.sslCAPath" +msgid "--after" msgstr "" #. type: Plain text -#: en/config.txt:1921 +#: en/git-svn.txt:407 msgid "" -"Path containing files with the CA certificates to verify the peer with when " -"fetching or pushing over HTTPS. Can be overridden by the `GIT_SSL_CAPATH` " -"environment variable." +"Don't require an exact match if given an SVN revision; if there is not an " +"exact match return the closest match searching forward in the history." msgstr "" #. type: Labeled list -#: en/config.txt:1922 +#: en/git-svn.txt:408 #, no-wrap -msgid "http.pinnedpubkey" +msgid "'set-tree'" msgstr "" #. type: Plain text -#: en/config.txt:1929 +#: en/git-svn.txt:416 msgid "" -"Public key of the https service. It may either be the filename of a PEM or " -"DER encoded public key file or a string starting with 'sha256//' followed by " -"the base64 encoded sha256 hash of the public key. See also libcurl " -"'CURLOPT_PINNEDPUBLICKEY'. git will exit with an error if this option is set " -"but not supported by cURL." +"You should consider using 'dcommit' instead of this command. Commit " +"specified commit or tree objects to SVN. This relies on your imported fetch " +"data being up-to-date. This makes absolutely no attempts to do patching " +"when committing to SVN, it simply overwrites files with those specified in " +"the tree or commit. All merging is assumed to have taken place " +"independently of 'git svn' functions." msgstr "" #. type: Labeled list -#: en/config.txt:1930 +#: en/git-svn.txt:417 #, no-wrap -msgid "http.sslTry" +msgid "'create-ignore'" msgstr "" #. type: Plain text -#: en/config.txt:1937 +#: en/git-svn.txt:422 msgid "" -"Attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via " -"regular FTP protocol. This might be needed if the FTP server requires it for " -"security reasons or you wish to connect securely whenever remote FTP server " -"supports it. Default is false since it might trigger certificate " -"verification errors on misconfigured servers." +"Recursively finds the svn:ignore property on directories and creates " +"matching .gitignore files. The resulting files are staged to be committed, " +"but are not committed. Use -r/--revision to refer to a specific revision." msgstr "" #. type: Labeled list -#: en/config.txt:1938 +#: en/git-svn.txt:423 #, no-wrap -msgid "http.maxRequests" +msgid "'show-ignore'" msgstr "" #. type: Plain text -#: en/config.txt:1941 +#: en/git-svn.txt:427 msgid "" -"How many HTTP requests to launch in parallel. Can be overridden by the " -"`GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5." +"Recursively finds and lists the svn:ignore property on directories. The " +"output is suitable for appending to the $GIT_DIR/info/exclude file." msgstr "" #. type: Labeled list -#: en/config.txt:1942 +#: en/git-svn.txt:428 #, no-wrap -msgid "http.minSessions" +msgid "'mkdirs'" msgstr "" #. type: Plain text -#: en/config.txt:1947 +#: en/git-svn.txt:436 msgid "" -"The number of curl sessions (counted across slots) to be kept across " -"requests. They will not be ended with curl_easy_cleanup() until " -"http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this value will " -"be capped at 1. Defaults to 1." +"Attempts to recreate empty directories that core Git cannot track based on " +"information in $GIT_DIR/svn/<refname>/unhandled.log files. Empty " +"directories are automatically recreated when using \"git svn clone\" and " +"\"git svn rebase\", so \"mkdirs\" is intended for use after commands like " +"\"git checkout\" or \"git reset\". (See the svn-remote.<name>.automkdirs " +"config file option for more information.)" msgstr "" #. type: Labeled list -#: en/config.txt:1948 +#: en/git-svn.txt:437 #, no-wrap -msgid "http.postBuffer" +msgid "'commit-diff'" msgstr "" #. type: Plain text -#: en/config.txt:1955 +#: en/git-svn.txt:446 msgid "" -"Maximum size in bytes of the buffer used by smart HTTP transports when " -"POSTing data to the remote system. For requests larger than this buffer " -"size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a " -"massive pack file locally. Default is 1 MiB, which is sufficient for most " -"requests." +"Commits the diff of two tree-ish arguments from the command-line. This " +"command does not rely on being inside an `git svn init`-ed repository. This " +"command takes three arguments, (a) the original tree to diff against, (b) " +"the new tree result, (c) the URL of the target Subversion repository. The " +"final argument (URL) may be omitted if you are working from a 'git svn'-" +"aware repository (that has been `init`-ed with 'git svn'). The -r<revision> " +"option is required for this." msgstr "" #. type: Labeled list -#: en/config.txt:1956 +#: en/git-svn.txt:447 #, no-wrap -msgid "http.lowSpeedLimit, http.lowSpeedTime" +msgid "'info'" msgstr "" #. type: Plain text -#: en/config.txt:1961 +#: en/git-svn.txt:452 msgid "" -"If the HTTP transfer speed is less than 'http.lowSpeedLimit' for longer than " -"'http.lowSpeedTime' seconds, the transfer is aborted. Can be overridden by " -"the `GIT_HTTP_LOW_SPEED_LIMIT` and `GIT_HTTP_LOW_SPEED_TIME` environment " -"variables." +"Shows information about a file or directory similar to what `svn info' " +"provides. Does not currently support a -r/--revision argument. Use the --" +"url option to output only the value of the 'URL:' field." msgstr "" #. type: Labeled list -#: en/config.txt:1962 +#: en/git-svn.txt:453 #, no-wrap -msgid "http.noEPSV" +msgid "'proplist'" msgstr "" #. type: Plain text -#: en/config.txt:1967 +#: en/git-svn.txt:457 msgid "" -"A boolean which disables using of EPSV ftp command by curl. This can " -"helpful with some \"poor\" ftp servers which don't support EPSV mode. Can be " -"overridden by the `GIT_CURL_FTP_NO_EPSV` environment variable. Default is " -"false (curl will use EPSV)." +"Lists the properties stored in the Subversion repository about a given file " +"or directory. Use -r/--revision to refer to a specific Subversion revision." msgstr "" #. type: Labeled list -#: en/config.txt:1968 +#: en/git-svn.txt:458 #, no-wrap -msgid "http.userAgent" +msgid "'propget'" msgstr "" #. type: Plain text -#: en/config.txt:1976 +#: en/git-svn.txt:461 msgid "" -"The HTTP USER_AGENT string presented to an HTTP server. The default value " -"represents the version of the client Git such as git/1.7.1. This option " -"allows you to override this value to a more common value such as " -"Mozilla/4.0. This may be necessary, for instance, if connecting through a " -"firewall that restricts HTTP connections to a set of common USER_AGENT " -"strings (but not including those like git/1.7.1). Can be overridden by the " -"`GIT_HTTP_USER_AGENT` environment variable." +"Gets the Subversion property given as the first argument, for a file. A " +"specific revision can be specified with -r/--revision." msgstr "" #. type: Labeled list -#: en/config.txt:1977 +#: en/git-svn.txt:462 #, no-wrap -msgid "http.followRedirects" +msgid "'propset'" msgstr "" #. type: Plain text -#: en/config.txt:1986 +#: en/git-svn.txt:466 msgid "" -"Whether git should follow HTTP redirects. If set to `true`, git will " -"transparently follow any redirect issued by a server it encounters. If set " -"to `false`, git will treat all redirects as errors. If set to `initial`, git " -"will follow redirects only for the initial request to a remote, but not for " -"subsequent follow-up HTTP requests. Since git uses the redirected URL as the " -"base for the follow-up requests, this is generally sufficient. The default " -"is `initial`." +"Sets the Subversion property given as the first argument, to the value given " +"as the second argument for the file given as the third argument." msgstr "" -#. type: Labeled list -#: en/config.txt:1987 +#. type: delimited block - +#: en/git-svn.txt:471 #, no-wrap -msgid "http.<url>.*" +msgid "git svn propset svn:keywords \"FreeBSD=%H\" devel/py-tipper/Makefile\n" msgstr "" #. type: Plain text -#: en/config.txt:1991 +#: en/git-svn.txt:475 msgid "" -"Any of the http.* options above can be applied selectively to some URLs. " -"For a config key to match a URL, each element of the config key is compared " -"to that of the URL, in the following order:" +"This will set the property 'svn:keywords' to 'FreeBSD=%H' for the file " +"'devel/py-tipper/Makefile'." msgstr "" -#. type: Plain text -#: en/config.txt:1995 -msgid "" -"Scheme (e.g., `https` in `https://example.com/`). This field must match " -"exactly between the config key and the URL." +#. type: Labeled list +#: en/git-svn.txt:476 +#, no-wrap +msgid "'show-externals'" msgstr "" #. type: Plain text -#: en/config.txt:2001 +#: en/git-svn.txt:479 msgid "" -"Host/domain name (e.g., `example.com` in `https://example.com/`). This " -"field must match between the config key and the URL. It is possible to " -"specify a `*` as part of the host name to match all subdomains at this " -"level. `https://*.example.com/` for example would match `https://foo.example." -"com/`, but not `https://foo.bar.example.com/`." +"Shows the Subversion externals. Use -r/--revision to specify a specific " +"revision." msgstr "" #. type: Plain text -#: en/config.txt:2006 +#: en/git-svn.txt:483 msgid "" -"Port number (e.g., `8080` in `http://example.com:8080/`). This field must " -"match exactly between the config key and the URL. Omitted port numbers are " -"automatically converted to the correct default for the scheme before " -"matching." +"Compress $GIT_DIR/svn/<refname>/unhandled.log files and remove $GIT_DIR/svn/" +"<refname>/index files." msgstr "" -#. type: Plain text -#: en/config.txt:2014 -msgid "" -"Path (e.g., `repo.git` in `https://example.com/repo.git`). The path field of " -"the config key must match the path field of the URL either exactly or as a " -"prefix of slash-delimited path elements. This means a config key with path " -"`foo/` matches URL path `foo/bar`. A prefix can only match on a slash (`/`) " -"boundary. Longer matches take precedence (so a config key with path `foo/" -"bar` is a better match to URL path `foo/bar` than a config key with just " -"path `foo/`)." +#. type: Labeled list +#: en/git-svn.txt:484 +#, no-wrap +msgid "'reset'" msgstr "" #. type: Plain text -#: en/config.txt:2020 +#: en/git-svn.txt:494 msgid "" -"User name (e.g., `user` in `https://user@example.com/repo.git`). If the " -"config key has a user name it must match the user name in the URL exactly. " -"If the config key does not have a user name, that config key will match a " -"URL with any user name (including none), but at a lower precedence than a " -"config key with a user name." +"Undoes the effects of 'fetch' back to the specified revision. This allows " +"you to re-'fetch' an SVN revision. Normally the contents of an SVN revision " +"should never change and 'reset' should not be necessary. However, if SVN " +"permissions change, or if you alter your --ignore-paths option, a 'fetch' " +"may fail with \"not found in commit\" (file not previously visible) or " +"\"checksum mismatch\" (missed a modification). If the problem file cannot " +"be ignored forever (with --ignore-paths) the only way to repair the repo is " +"to use 'reset'." msgstr "" #. type: Plain text -#: en/config.txt:2027 +#: en/git-svn.txt:499 msgid "" -"The list above is ordered by decreasing precedence; a URL that matches a " -"config key's path is preferred to one that matches its user name. For " -"example, if the URL is `https://user@example.com/foo/bar` a config key match " -"of `https://example.com/foo` will be preferred over a config key match of " -"`https://user@example.com`." +"Only the rev_map and refs/remotes/git-svn are changed (see '$GIT_DIR/svn/\\*" +"\\*/.rev_map.*' in the FILES section below for details). Follow 'reset' " +"with a 'fetch' and then 'git reset' or 'git rebase' to move local branches " +"onto the new tree." msgstr "" -#. type: Plain text -#: en/config.txt:2034 -msgid "" -"All URLs are normalized before attempting any matching (the password part, " -"if embedded in the URL, is always ignored for matching purposes) so that " -"equivalent URLs that are simply spelled differently will match properly. " -"Environment variable settings always override any matches. The URLs that " -"are matched against are those given directly to Git commands. This means " -"any URLs visited as a result of a redirection do not participate in matching." +#. type: Labeled list +#: en/git-svn.txt:500 +#, no-wrap +msgid "-r <n>" msgstr "" #. type: Labeled list -#: en/config.txt:2035 +#: en/git-svn.txt:501 #, no-wrap -msgid "ssh.variant" +msgid "--revision=<n>" msgstr "" #. type: Plain text -#: en/config.txt:2040 +#: en/git-svn.txt:504 msgid "" -"Depending on the value of the environment variables `GIT_SSH` or " -"`GIT_SSH_COMMAND`, or the config setting `core.sshCommand`, Git auto-detects " -"whether to adjust its command-line parameters for use with plink or " -"tortoiseplink, as opposed to the default (OpenSSH)." +"Specify the most recent revision to keep. All later revisions are discarded." msgstr "" #. type: Plain text -#: en/config.txt:2045 +#: en/git-svn.txt:508 msgid "" -"The config variable `ssh.variant` can be set to override this auto-" -"detection; valid values are `ssh`, `plink`, `putty` or `tortoiseplink`. Any " -"other value will be treated as normal ssh. This setting can be overridden " -"via the environment variable `GIT_SSH_VARIANT`." +"Discard the specified revision as well, keeping the nearest parent instead." msgstr "" -#. type: Labeled list -#: en/config.txt:2046 -#, fuzzy, no-wrap -#| msgid "" -#| "[i18n]\n" -#| "\tlogoutputencoding = ISO-8859-1\n" -msgid "i18n.commitEncoding" +#. type: Plain text +#: en/git-svn.txt:510 +msgid "" +"Assume you have local changes in \"master\", but you need to refetch \"r2\"." +msgstr "" + +#. type: delimited block - +#: en/git-svn.txt:515 +#, no-wrap +msgid "" +" r1---r2---r3 remotes/git-svn\n" +" \\\n" +" A---B master\n" msgstr "" -"[i18n]\n" -"\tlogoutputencoding = ISO-8859-1\n" #. type: Plain text -#: en/config.txt:2052 +#: en/git-svn.txt:519 msgid "" -"Character encoding the commit messages are stored in; Git itself does not " -"care per se, but this information is necessary e.g. when importing commits " -"from emails or in the gitk graphical history browser (and possibly at other " -"places in the future or in other porcelains). See e.g. linkgit:git-" -"mailinfo[1]. Defaults to 'utf-8'." +"Fix the ignore-paths or SVN permissions problem that caused \"r2\" to be " +"incomplete in the first place. Then:" msgstr "" #. type: Plain text -#: en/config.txt:2056 +#: en/git-svn.txt:523 +#, no-wrap msgid "" -"Character encoding the commit messages are converted to when running 'git " -"log' and friends." +"git svn reset -r2 -p\n" +"git svn fetch\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2057 +#. type: delimited block - +#: en/git-svn.txt:528 #, no-wrap -msgid "imap" +msgid "" +" r1---r2'--r3' remotes/git-svn\n" +" \\\n" +" r2---r3---A---B master\n" msgstr "" #. type: Plain text -#: en/config.txt:2060 +#: en/git-svn.txt:533 msgid "" -"The configuration variables in the 'imap' section are described in linkgit:" -"git-imap-send[1]." +"Then fixup \"master\" with 'git rebase'. Do NOT use 'git merge' or your " +"history will not be compatible with a future 'dcommit'!" msgstr "" -#. type: Labeled list -#: en/config.txt:2061 +#. type: Plain text +#: en/git-svn.txt:536 #, no-wrap -msgid "index.version" +msgid "git rebase --onto remotes/git-svn A^ master\n" msgstr "" -#. type: Plain text -#: en/config.txt:2064 +#. type: delimited block - +#: en/git-svn.txt:541 +#, no-wrap msgid "" -"Specify the version with which new index files should be initialized. This " -"does not affect existing repositories." +" r1---r2'--r3' remotes/git-svn\n" +" \\\n" +" A'--B' master\n" msgstr "" #. type: Labeled list -#: en/config.txt:2065 +#: en/git-svn.txt:546 #, no-wrap -msgid "init.templateDir" +msgid "--shared[=(false|true|umask|group|all|world|everybody)]" msgstr "" #. type: Plain text -#: en/config.txt:2068 +#: en/git-svn.txt:550 msgid "" -"Specify the directory from which templates will be copied. (See the " -"\"TEMPLATE DIRECTORY\" section of linkgit:git-init[1].)" +"Only used with the 'init' command. These are passed directly to 'git init'." msgstr "" #. type: Labeled list -#: en/config.txt:2069 +#: en/git-svn.txt:551 #, no-wrap -msgid "instaweb.browser" -msgstr "" - -#. type: Plain text -#: en/config.txt:2072 -msgid "" -"Specify the program that will be used to browse your working repository in " -"gitweb. See linkgit:git-instaweb[1]." +msgid "-r <arg>" msgstr "" #. type: Labeled list -#: en/config.txt:2073 +#: en/git-svn.txt:552 #, no-wrap -msgid "instaweb.httpd" +msgid "--revision <arg>" msgstr "" #. type: Plain text -#: en/config.txt:2076 -msgid "" -"The HTTP daemon command-line to start gitweb on your working repository. See " -"linkgit:git-instaweb[1]." +#: en/git-svn.txt:554 +msgid "Used with the 'fetch' command." msgstr "" -#. type: Labeled list -#: en/config.txt:2077 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "instaweb.local" -msgstr "git-add(1)" +#. type: Plain text +#: en/git-svn.txt:558 +msgid "" +"This allows revision ranges for partial/cauterized history to be supported. " +"$NUMBER, $NUMBER1:$NUMBER2 (numeric ranges), $NUMBER:HEAD, and BASE:$NUMBER " +"are all supported." +msgstr "" #. type: Plain text -#: en/config.txt:2080 +#: en/git-svn.txt:562 msgid "" -"If true the web server started by linkgit:git-instaweb[1] will be bound to " -"the local IP (127.0.0.1)." +"This can allow you to make partial mirrors when running fetch; but is " +"generally not recommended because history will be skipped and lost." msgstr "" #. type: Labeled list -#: en/config.txt:2081 +#: en/git-svn.txt:563 #, no-wrap -msgid "instaweb.modulePath" +msgid "-" msgstr "" #. type: Plain text -#: en/config.txt:2085 +#: en/git-svn.txt:566 +msgid "Only used with the 'set-tree' command." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:570 msgid "" -"The default module path for linkgit:git-instaweb[1] to use instead of /usr/" -"lib/apache2/modules. Only used if httpd is Apache." +"Read a list of commits from stdin and commit them in reverse order. Only " +"the leading sha1 is read from each line, so 'git rev-list --pretty=oneline' " +"output can be used." msgstr "" #. type: Labeled list -#: en/config.txt:2086 +#: en/git-svn.txt:571 #, no-wrap -msgid "instaweb.port" +msgid "--rmdir" msgstr "" #. type: Plain text -#: en/config.txt:2089 -msgid "" -"The port number to bind the gitweb httpd to. See linkgit:git-instaweb[1]." +#: en/git-svn.txt:573 en/git-svn.txt:586 en/git-svn.txt:597 +msgid "Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands." msgstr "" -#. type: Labeled list -#: en/config.txt:2090 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "interactive.singleKey" -msgstr "Mode interactif" - #. type: Plain text -#: en/config.txt:2098 +#: en/git-svn.txt:579 msgid "" -"In interactive commands, allow the user to provide one-letter input with a " -"single key (i.e., without hitting enter). Currently this is used by the `--" -"patch` mode of linkgit:git-add[1], linkgit:git-checkout[1], linkgit:git-" -"commit[1], linkgit:git-reset[1], and linkgit:git-stash[1]. Note that this " -"setting is silently ignored if portable keystroke input is not available; " -"requires the Perl module Term::ReadKey." +"Remove directories from the SVN tree if there are no files left behind. SVN " +"can version empty directories, and they are not removed by default if there " +"are no files left in them. Git cannot version empty directories. Enabling " +"this flag will make the commit to SVN act like Git." msgstr "" -#. type: Labeled list -#: en/config.txt:2099 -#, fuzzy, no-wrap -#| msgid "Interactive mode" -msgid "interactive.diffFilter" -msgstr "Mode interactif" +#. type: Plain text +#: en/git-svn.txt:582 +#, no-wrap +msgid "config key: svn.rmdir\n" +msgstr "" #. type: Plain text -#: en/config.txt:2106 +#: en/git-svn.txt:590 msgid "" -"When an interactive command (such as `git add --patch`) shows a colorized " -"diff, git will pipe the diff through the shell command defined by this " -"configuration variable. The command may mark up the diff further for human " -"consumption, provided that it retains a one-to-one correspondence with the " -"lines in the original diff. Defaults to disabled (no filtering)." +"Edit the commit message before committing to SVN. This is off by default " +"for objects that are commits, and forced on when committing tree objects." msgstr "" -#. type: Labeled list -#: en/config.txt:2107 +#. type: Plain text +#: en/git-svn.txt:593 #, no-wrap -msgid "log.abbrevCommit" +msgid "config key: svn.edit\n" msgstr "" -# #. type: Plain text -#: en/config.txt:2111 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#: en/git-svn.txt:600 msgid "" -"If true, makes linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-" -"whatchanged[1] assume `--abbrev-commit`. You may override this option with " -"`--no-abbrev-commit`." +"They are both passed directly to 'git diff-tree'; see linkgit:git-diff-" +"tree[1] for more information." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" #. type: Plain text -#: en/config.txt:2116 +#: en/git-svn.txt:604 +#, no-wrap msgid "" -"Set the default date-time mode for the 'log' command. Setting a value for " -"log.date is similar to using 'git log''s `--date` option. See linkgit:git-" -"log[1] for details." +"config key: svn.l\n" +"config key: svn.findcopiesharder\n" msgstr "" #. type: Labeled list -#: en/config.txt:2117 +#: en/git-svn.txt:605 #, no-wrap -msgid "log.decorate" -msgstr "" - -#. type: Plain text -#: en/config.txt:2126 -msgid "" -"Print out the ref names of any commits that are shown by the log command. If " -"'short' is specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and " -"'refs/remotes/' will not be printed. If 'full' is specified, the full ref " -"name (including prefix) will be printed. If 'auto' is specified, then if " -"the output is going to a terminal, the ref names are shown as if 'short' " -"were given, otherwise no ref names are shown. This is the same as the `--" -"decorate` option of the `git log`." +msgid "-A<filename>" msgstr "" #. type: Labeled list -#: en/config.txt:2133 +#: en/git-svn.txt:606 #, no-wrap -msgid "log.graphColors" +msgid "--authors-file=<filename>" msgstr "" #. type: Plain text -#: en/config.txt:2136 -msgid "" -"A list of colors, separated by commas, that can be used to draw history " -"lines in `git log --graph`." +#: en/git-svn.txt:608 +msgid "Syntax is compatible with the file used by 'git cvsimport':" msgstr "" -#. type: Plain text -#: en/config.txt:2142 -msgid "" -"If true, the initial commit will be shown as a big creation event. This is " -"equivalent to a diff against an empty tree. Tools like linkgit:git-log[1] " -"or linkgit:git-whatchanged[1], which normally hide the root commit will now " -"show it. True by default." +#. type: delimited block - +#: en/git-svn.txt:611 +#, no-wrap +msgid "\tloginname = Joe User <user@example.com>\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2143 -#, no-wrap -msgid "log.mailmap" +#. type: Plain text +#: en/git-svn.txt:618 +msgid "" +"If this option is specified and 'git svn' encounters an SVN committer name " +"that does not exist in the authors-file, 'git svn' will abort operation. The " +"user will then have to add the appropriate entry. Re-running the previous " +"'git svn' command after the authors-file is modified should continue " +"operation." msgstr "" -# #. type: Plain text -#: en/config.txt:2146 -#, fuzzy -#| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" -msgid "" -"If true, makes linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-" -"whatchanged[1] assume `--use-mailmap`." +#: en/git-svn.txt:621 +#, no-wrap +msgid "config key: svn.authorsfile\n" msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" #. type: Labeled list -#: en/config.txt:2147 -#, fuzzy, no-wrap -#| msgid "scissors" -msgid "mailinfo.scissors" -msgstr "scissors" +#: en/git-svn.txt:622 +#, no-wrap +msgid "--authors-prog=<filename>" +msgstr "" #. type: Plain text -#: en/config.txt:2153 +#: en/git-svn.txt:628 msgid "" -"If true, makes linkgit:git-mailinfo[1] (and therefore linkgit:git-am[1]) act " -"by default as if the --scissors option was provided on the command-line. " -"When active, this features removes everything from the message body before a " -"scissors line (i.e. consisting mainly of \">8\", \"8<\" and \"-\")." +"If this option is specified, for each SVN committer name that does not exist " +"in the authors file, the given file is executed with the committer name as " +"the first argument. The program is expected to return a single line of the " +"form \"Name <email>\", which will be treated as if included in the authors " +"file." msgstr "" -#. type: Labeled list -#: en/config.txt:2154 +#. type: Plain text +#: en/git-svn.txt:631 #, no-wrap -msgid "mailmap.file" +msgid "config key: svn.authorsProg\n" msgstr "" #. type: Plain text -#: en/config.txt:2161 +#: en/git-svn.txt:636 msgid "" -"The location of an augmenting mailmap file. The default mailmap, located in " -"the root of the repository, is loaded first, then the mailmap file pointed " -"to by this variable. The location of the mailmap file may be in a " -"repository subdirectory, or somewhere outside of the repository itself. See " -"linkgit:git-shortlog[1] and linkgit:git-blame[1]." +"Make 'git svn' less verbose. Specify a second time to make it even less " +"verbose." msgstr "" #. type: Labeled list -#: en/config.txt:2162 +#: en/git-svn.txt:639 #, no-wrap -msgid "mailmap.blob" +msgid "-s<strategy>" msgstr "" #. type: Plain text -#: en/config.txt:2169 -msgid "" -"Like `mailmap.file`, but consider the value as a reference to a blob in the " -"repository. If both `mailmap.file` and `mailmap.blob` are given, both are " -"parsed, with entries from `mailmap.file` taking precedence. In a bare " -"repository, this defaults to `HEAD:.mailmap`. In a non-bare repository, it " -"defaults to empty." +#: en/git-svn.txt:644 +msgid "These are only used with the 'dcommit' and 'rebase' commands." msgstr "" #. type: Plain text -#: en/config.txt:2173 +#: en/git-svn.txt:647 msgid "" -"Specify the programs that may be used to display help in the 'man' format. " -"See linkgit:git-help[1]." +"Passed directly to 'git rebase' when using 'dcommit' if a 'git reset' cannot " +"be used (see 'dcommit')." msgstr "" #. type: Plain text -#: en/config.txt:2178 +#: en/git-svn.txt:652 msgid "" -"Specify the command to invoke the specified man viewer. The specified " -"command is evaluated in shell with the man page passed as argument. (See " -"linkgit:git-help[1].)" +"This can be used with the 'dcommit', 'rebase', 'branch' and 'tag' commands." msgstr "" #. type: Plain text -#: en/config.txt:2182 +#: en/git-svn.txt:655 msgid "" -"Override the path for the given tool that may be used to display help in the " -"'man' format. See linkgit:git-help[1]." +"For 'dcommit', print out the series of Git arguments that would show which " +"diffs would be committed to SVN." msgstr "" -#. type: Labeled list -#: en/config.txt:2185 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "mergetool.<tool>.path" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2189 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "mergetool.<tool>.cmd" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-svn.txt:659 +msgid "" +"For 'rebase', display the local branch associated with the upstream svn " +"repository associated with the current branch and the URL of svn repository " +"that will be fetched from." +msgstr "" #. type: Plain text -#: en/config.txt:2199 +#: en/git-svn.txt:662 msgid "" -"Specify the command to invoke the specified merge tool. The specified " -"command is evaluated in shell with the following variables available: 'BASE' " -"is the name of a temporary file containing the common base of the files to " -"be merged, if available; 'LOCAL' is the name of a temporary file containing " -"the contents of the file on the current branch; 'REMOTE' is the name of a " -"temporary file containing the contents of the file from the branch being " -"merged; 'MERGED' contains the name of the file to which the merge tool " -"should write the results of a successful merge." +"For 'branch' and 'tag', display the urls that will be used for copying when " +"creating the branch or tag." msgstr "" #. type: Labeled list -#: en/config.txt:2200 +#: en/git-svn.txt:663 #, no-wrap -msgid "mergetool.<tool>.trustExitCode" +msgid "--use-log-author" msgstr "" #. type: Plain text -#: en/config.txt:2207 +#: en/git-svn.txt:667 msgid "" -"For a custom merge command, specify whether the exit code of the merge " -"command can be used to determine whether the merge was successful. If this " -"is not set to true then the merge target file timestamp is checked and the " -"merge assumed to have been successful if the file has been updated, " -"otherwise the user is prompted to indicate the success of the merge." +"When retrieving svn commits into Git (as part of 'fetch', 'rebase', or " +"'dcommit' operations), look for the first `From:` or `Signed-off-by:` line " +"in the log message and use that as the author string." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:670 +#, no-wrap +msgid "config key: svn.useLogAuthor\n" msgstr "" #. type: Labeled list -#: en/config.txt:2208 +#: en/git-svn.txt:671 #, no-wrap -msgid "mergetool.meld.hasOutput" +msgid "--add-author-from" msgstr "" #. type: Plain text -#: en/config.txt:2216 +#: en/git-svn.txt:677 msgid "" -"Older versions of `meld` do not support the `--output` option. Git will " -"attempt to detect whether `meld` supports `--output` by inspecting the " -"output of `meld --help`. Configuring `mergetool.meld.hasOutput` will make " -"Git skip these checks and use the configured value instead. Setting " -"`mergetool.meld.hasOutput` to `true` tells Git to unconditionally use the `--" -"output` option, and `false` avoids using `--output`." +"When committing to svn from Git (as part of 'commit-diff', 'set-tree' or " +"'dcommit' operations), if the existing log message doesn't already have a " +"`From:` or `Signed-off-by:` line, append a `From:` line based on the Git " +"commit's author string. If you use this, then `--use-log-author` will " +"retrieve a valid author string for all commits." msgstr "" -#. type: Labeled list -#: en/config.txt:2217 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "mergetool.keepBackup" -msgstr "git-commit(1)" - #. type: Plain text -#: en/config.txt:2222 -msgid "" -"After performing a merge, the original file with conflict markers can be " -"saved as a file with a `.orig` extension. If this variable is set to " -"`false` then this file is not preserved. Defaults to `true` (i.e. keep the " -"backup files)." +#: en/git-svn.txt:680 +#, no-wrap +msgid "config key: svn.addAuthorFrom\n" msgstr "" +#. type: Title - +#: en/git-svn.txt:682 +#, fuzzy, no-wrap +#| msgid "OPTIONS" +msgid "ADVANCED OPTIONS" +msgstr "OPTIONS" + #. type: Labeled list -#: en/config.txt:2223 +#: en/git-svn.txt:684 #, no-wrap -msgid "mergetool.keepTemporaries" -msgstr "" - -#. type: Plain text -#: en/config.txt:2229 -msgid "" -"When invoking a custom merge tool, Git uses a set of temporary files to pass " -"to the tool. If the tool returns an error and this variable is set to " -"`true`, then these temporary files will be preserved, otherwise they will be " -"removed after the tool has exited. Defaults to `false`." +msgid "-i<GIT_SVN_ID>" msgstr "" #. type: Labeled list -#: en/config.txt:2230 +#: en/git-svn.txt:685 #, no-wrap -msgid "mergetool.writeToTemp" +msgid "--id <GIT_SVN_ID>" msgstr "" #. type: Plain text -#: en/config.txt:2235 +#: en/git-svn.txt:690 msgid "" -"Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of conflicting " -"files in the worktree by default. Git will attempt to use a temporary " -"directory for these files when set `true`. Defaults to `false`." +"This sets GIT_SVN_ID (instead of using the environment). This allows the " +"user to override the default refname to fetch from when tracking a single " +"URL. The 'log' and 'dcommit' commands no longer require this switch as an " +"argument." msgstr "" #. type: Labeled list -#: en/config.txt:2236 +#: en/git-svn.txt:691 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "mergetool.prompt" -msgstr "git-commit(1)" +#| msgid "removed content" +msgid "-R<remote name>" +msgstr "contenu supprim챕" -#. type: Plain text -#: en/config.txt:2238 -msgid "Prompt before each invocation of the merge resolution program." +#. type: Labeled list +#: en/git-svn.txt:692 +#, no-wrap +msgid "--svn-remote <remote name>" msgstr "" #. type: Plain text -#: en/config.txt:2244 +#: en/git-svn.txt:696 msgid "" -"Which merge strategy to choose by default when resolving notes conflicts. " -"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " -"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section of linkgit:git-" -"notes[1] for more information on each strategy." +"Specify the [svn-remote \"<remote name>\"] section to use, this allows SVN " +"multiple repositories to be tracked. Default: \"svn\"" msgstr "" -#. type: Plain text -#: en/config.txt:2250 -msgid "" -"Which merge strategy to choose when doing a notes merge into refs/notes/" -"<name>. This overrides the more general \"notes.mergeStrategy\". See the " -"\"NOTES MERGE STRATEGIES\" section in linkgit:git-notes[1] for more " -"information on the available strategies." +#. type: Labeled list +#: en/git-svn.txt:697 +#, no-wrap +msgid "--follow-parent" msgstr "" #. type: Plain text -#: en/config.txt:2259 +#: en/git-svn.txt:712 msgid "" -"The (fully qualified) refname from which to show notes when showing commit " -"messages. The value of this variable can be set to a glob, in which case " -"notes from all matching refs will be shown. You may also specify this " -"configuration variable several times. A warning will be issued for refs " -"that do not exist, but a glob that does not match any refs is silently " -"ignored." +"This option is only relevant if we are tracking branches (using one of the " +"repository layout options --trunk, --tags, --branches, --stdlayout). For " +"each tracked branch, try to find out where its revision was copied from, and " +"set a suitable parent in the first Git commit for the branch. This is " +"especially helpful when we're tracking a directory that has been moved " +"around within the repository. If this feature is disabled, the branches " +"created by 'git svn' will all be linear and not share any history, meaning " +"that there will be no information on where branches were branched off or " +"merged. However, following long/convoluted histories can take a long time, " +"so disabling this feature may speed up the cloning process. This feature is " +"enabled by default, use --no-follow-parent to disable it." msgstr "" #. type: Plain text -#: en/config.txt:2263 -msgid "" -"This setting can be overridden with the `GIT_NOTES_DISPLAY_REF` environment " -"variable, which must be a colon separated list of refs or globs." +#: en/git-svn.txt:715 +#, no-wrap +msgid "config key: svn.followparent\n" msgstr "" -#. type: Plain text -#: en/config.txt:2267 -msgid "" -"The effective value of \"core.notesRef\" (possibly overridden by " -"GIT_NOTES_REF) is also implicitly added to the list of refs to be displayed." +#. type: Title - +#: en/git-svn.txt:717 +#, no-wrap +msgid "CONFIG FILE-ONLY OPTIONS" msgstr "" -#. type: Plain text -#: en/config.txt:2274 -msgid "" -"When rewriting commits with <command> (currently `amend` or `rebase`) and " -"this variable is set to `true`, Git automatically copies your notes from the " -"original to the rewritten commit. Defaults to `true`, but see \"notes." -"rewriteRef\" below." +#. type: Labeled list +#: en/git-svn.txt:719 +#, no-wrap +msgid "svn.noMetadata" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:720 +#, no-wrap +msgid "svn-remote.<name>.noMetadata" msgstr "" #. type: Plain text -#: en/config.txt:2281 -msgid "" -"When copying notes during a rewrite (see the \"notes.rewrite.<command>\" " -"option), determines what to do if the target commit already has a note. " -"Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`. " -"Defaults to `concatenate`." +#: en/git-svn.txt:722 +msgid "This gets rid of the 'git-svn-id:' lines at the end of every commit." msgstr "" #. type: Plain text -#: en/config.txt:2290 +#: en/git-svn.txt:727 msgid "" -"When copying notes during a rewrite, specifies the (fully qualified) ref " -"whose notes should be copied. The ref may be a glob, in which case notes in " -"all matching refs will be copied. You may also specify this configuration " -"several times." +"This option can only be used for one-shot imports as 'git svn' will not be " +"able to fetch again without metadata. Additionally, if you lose your " +"'$GIT_DIR/svn/\\*\\*/.rev_map.*' files, 'git svn' will not be able to " +"rebuild them." msgstr "" #. type: Plain text -#: en/config.txt:2294 +#: en/git-svn.txt:731 msgid "" -"Does not have a default value; you must configure this variable to enable " -"note rewriting. Set it to `refs/notes/commits` to enable rewriting for the " -"default commit notes." +"The 'git svn log' command will not work on repositories using this, either. " +"Using this conflicts with the 'useSvmProps' option for (hopefully) obvious " +"reasons." msgstr "" #. type: Plain text -#: en/config.txt:2298 +#: en/git-svn.txt:739 msgid "" -"This setting can be overridden with the `GIT_NOTES_REWRITE_REF` environment " -"variable, which must be a colon separated list of refs or globs." +"This option is NOT recommended as it makes it difficult to track down old " +"references to SVN revision numbers in existing documentation, bug reports " +"and archives. If you plan to eventually migrate from SVN to Git and are " +"certain about dropping SVN history, consider linkgit:git-filter-branch[1] " +"instead. filter-branch also allows reformatting of metadata for ease-of-" +"reading and rewriting authorship info for non-\"svn.authorsFile\" users." msgstr "" #. type: Labeled list -#: en/config.txt:2299 +#: en/git-svn.txt:740 #, no-wrap -msgid "pack.window" -msgstr "" - -#. type: Plain text -#: en/config.txt:2302 -msgid "" -"The size of the window used by linkgit:git-pack-objects[1] when no window " -"size is given on the command line. Defaults to 10." +msgid "svn.useSvmProps" msgstr "" #. type: Labeled list -#: en/config.txt:2303 +#: en/git-svn.txt:741 #, no-wrap -msgid "pack.depth" +msgid "svn-remote.<name>.useSvmProps" msgstr "" #. type: Plain text -#: en/config.txt:2306 +#: en/git-svn.txt:744 msgid "" -"The maximum delta depth used by linkgit:git-pack-objects[1] when no maximum " -"depth is given on the command line. Defaults to 50." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2307 -#, no-wrap -msgid "pack.windowMemory" +"This allows 'git svn' to re-map repository URLs and UUIDs from mirrors " +"created using SVN::Mirror (or svk) for metadata." msgstr "" #. type: Plain text -#: en/config.txt:2313 +#: en/git-svn.txt:752 msgid "" -"The maximum size of memory that is consumed by each thread in linkgit:git-" -"pack-objects[1] for pack window memory when no limit is given on the command " -"line. The value can be suffixed with \"k\", \"m\", or \"g\". When left " -"unconfigured (or set explicitly to 0), there will be no limit." +"If an SVN revision has a property, \"svm:headrev\", it is likely that the " +"revision was created by SVN::Mirror (also used by SVK). The property " +"contains a repository UUID and a revision. We want to make it look like we " +"are mirroring the original URL, so introduce a helper function that returns " +"the original identity URL and UUID, and use it when generating metadata in " +"commit messages." msgstr "" #. type: Labeled list -#: en/config.txt:2314 +#: en/git-svn.txt:753 #, no-wrap -msgid "pack.compression" +msgid "svn.useSvnsyncProps" msgstr "" -#. type: Plain text -#: en/config.txt:2322 -msgid "" -"An integer -1..9, indicating the compression level for objects in a pack " -"file. -1 is the zlib default. 0 means no compression, and 1..9 are various " -"speed/size tradeoffs, 9 being slowest. If not set, defaults to core." -"compression. If that is not set, defaults to -1, the zlib default, which is " -"\"a default compromise between speed and compression (currently equivalent " -"to level 6).\"" +#. type: Labeled list +#: en/git-svn.txt:754 +#, no-wrap +msgid "svn-remote.<name>.useSvnsyncprops" msgstr "" #. type: Plain text -#: en/config.txt:2326 +#: en/git-svn.txt:758 msgid "" -"Note that changing the compression level will not automatically recompress " -"all existing objects. You can force recompression by passing the -F option " -"to linkgit:git-repack[1]." +"Similar to the useSvmProps option; this is for users of the svnsync(1) " +"command distributed with SVN 1.4.x and later." msgstr "" #. type: Labeled list -#: en/config.txt:2327 +#: en/git-svn.txt:759 #, no-wrap -msgid "pack.deltaCacheSize" +msgid "svn-remote.<name>.rewriteRoot" msgstr "" #. type: Plain text -#: en/config.txt:2337 +#: en/git-svn.txt:765 msgid "" -"The maximum memory in bytes used for caching deltas in linkgit:git-pack-" -"objects[1] before writing them out to a pack. This cache is used to speed " -"up the writing object phase by not having to recompute the final delta " -"result once the best match for all objects is found. Repacking large " -"repositories on machines which are tight with memory might be badly impacted " -"by this though, especially if this cache pushes the system into swapping. A " -"value of 0 means no limit. The smallest size of 1 byte may be used to " -"virtually disable this cache. Defaults to 256 MiB." +"This allows users to create repositories from alternate URLs. For example, " +"an administrator could run 'git svn' on the server locally (accessing via " +"file://) but wish to distribute the repository with a public http:// or " +"svn:// URL in the metadata so users of it will see the public URL." msgstr "" #. type: Labeled list -#: en/config.txt:2338 +#: en/git-svn.txt:766 #, no-wrap -msgid "pack.deltaCacheLimit" +msgid "svn-remote.<name>.rewriteUUID" msgstr "" #. type: Plain text -#: en/config.txt:2343 +#: en/git-svn.txt:771 msgid "" -"The maximum size of a delta, that is cached in linkgit:git-pack-objects[1]. " -"This cache is used to speed up the writing object phase by not having to " -"recompute the final delta result once the best match for all objects is " -"found. Defaults to 1000." +"Similar to the useSvmProps option; this is for users who need to remap the " +"UUID manually. This may be useful in situations where the original UUID is " +"not available via either useSvmProps or useSvnsyncProps." msgstr "" #. type: Labeled list -#: en/config.txt:2344 +#: en/git-svn.txt:772 #, no-wrap -msgid "pack.threads" +msgid "svn-remote.<name>.pushurl" msgstr "" #. type: Plain text -#: en/config.txt:2353 +#: en/git-svn.txt:781 msgid "" -"Specifies the number of threads to spawn when searching for best delta " -"matches. This requires that linkgit:git-pack-objects[1] be compiled with " -"pthreads otherwise this option is ignored with a warning. This is meant to " -"reduce packing time on multiprocessor machines. The required amount of " -"memory for the delta search window is however multiplied by the number of " -"threads. Specifying 0 will cause Git to auto-detect the number of CPU's and " -"set the number of threads accordingly." +"Similar to Git's `remote.<name>.pushurl`, this key is designed to be used in " +"cases where 'url' points to an SVN repository via a read-only transport, to " +"provide an alternate read/write transport. It is assumed that both keys " +"point to the same repository. Unlike 'commiturl', 'pushurl' is a base path. " +"If either 'commiturl' or 'pushurl' could be used, 'commiturl' takes " +"precedence." msgstr "" #. type: Labeled list -#: en/config.txt:2354 +#: en/git-svn.txt:782 #, no-wrap -msgid "pack.indexVersion" +msgid "svn.brokenSymlinkWorkaround" msgstr "" #. type: Plain text -#: en/config.txt:2362 +#: en/git-svn.txt:790 msgid "" -"Specify the default pack index version. Valid values are 1 for legacy pack " -"index used by Git versions prior to 1.5.2, and 2 for the new pack index with " -"capabilities for packs larger than 4 GB as well as proper protection against " -"the repacking of corrupted packs. Version 2 is the default. Note that " -"version 2 is enforced and this config option ignored whenever the " -"corresponding pack is larger than 2 GB." +"This disables potentially expensive checks to workaround broken symlinks " +"checked into SVN by broken clients. Set this option to \"false\" if you " +"track a SVN repository with many empty blobs that are not symlinks. This " +"option may be changed while 'git svn' is running and take effect on the next " +"revision fetched. If unset, 'git svn' assumes this option to be \"true\"." +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:791 +#, no-wrap +msgid "svn.pathnameencoding" msgstr "" #. type: Plain text -#: en/config.txt:2370 +#: en/git-svn.txt:796 msgid "" -"If you have an old Git that does not understand the version 2 `*.idx` file, " -"cloning or fetching over a non native protocol (e.g. \"http\") that will " -"copy both `*.pack` file and corresponding `*.idx` file from the other side " -"may give you a repository that cannot be accessed with your older version of " -"Git. If the `*.pack` file is smaller than 2 GB, however, you can use linkgit:" -"git-index-pack[1] on the *.pack file to regenerate the `*.idx` file." +"This instructs git svn to recode pathnames to a given encoding. It can be " +"used by windows users and by those who work in non-utf8 locales to avoid " +"corrupted file names with non-ASCII characters. Valid encodings are the " +"ones supported by Perl's Encode module." msgstr "" #. type: Labeled list -#: en/config.txt:2371 +#: en/git-svn.txt:797 #, no-wrap -msgid "pack.packSizeLimit" +msgid "svn-remote.<name>.automkdirs" msgstr "" #. type: Plain text -#: en/config.txt:2382 +#: en/git-svn.txt:804 msgid "" -"The maximum size of a pack. This setting only affects packing to a file " -"when repacking, i.e. the git:// protocol is unaffected. It can be " -"overridden by the `--max-pack-size` option of linkgit:git-repack[1]. " -"Reaching this limit results in the creation of multiple packfiles; which in " -"turn prevents bitmaps from being created. The minimum size allowed is " -"limited to 1 MiB. The default is unlimited. Common unit suffixes of 'k', " -"'m', or 'g' are supported." +"Normally, the \"git svn clone\" and \"git svn rebase\" commands attempt to " +"recreate empty directories that are in the Subversion repository. If this " +"option is set to \"false\", then empty directories will only be created if " +"the \"git svn mkdirs\" command is run explicitly. If unset, 'git svn' " +"assumes this option to be \"true\"." msgstr "" -#. type: Labeled list -#: en/config.txt:2383 -#, no-wrap -msgid "pack.useBitmaps" +#. type: Plain text +#: en/git-svn.txt:809 +msgid "" +"Since the noMetadata, rewriteRoot, rewriteUUID, useSvnsyncProps and " +"useSvmProps options all affect the metadata generated and used by 'git svn'; " +"they *must* be set in the configuration file before any history is imported " +"and these settings should never be changed once they are set." msgstr "" #. type: Plain text -#: en/config.txt:2388 +#: en/git-svn.txt:813 msgid "" -"When true, git will use pack bitmaps (if available) when packing to stdout " -"(e.g., during the server side of a fetch). Defaults to true. You should not " -"generally need to turn this off unless you are debugging pack bitmaps." +"Additionally, only one of these options can be used per svn-remote section " +"because they affect the 'git-svn-id:' metadata line, except for rewriteRoot " +"and rewriteUUID which can be used together." msgstr "" -#. type: Labeled list -#: en/config.txt:2389 -#, no-wrap -msgid "pack.writeBitmaps (deprecated)" -msgstr "" +#. type: Title - +#: en/git-svn.txt:816 +#, fuzzy, no-wrap +#| msgid "EXAMPLES" +msgid "BASIC EXAMPLES" +msgstr "EXEMPLES" #. type: Plain text -#: en/config.txt:2391 -msgid "This is a deprecated synonym for `repack.writeBitmaps`." +#: en/git-svn.txt:820 +msgid "" +"Tracking and contributing to the trunk of a Subversion-managed project " +"(ignoring tags and branches):" msgstr "" -#. type: Labeled list -#: en/config.txt:2392 +#. type: delimited block - +#: en/git-svn.txt:838 #, no-wrap -msgid "pack.writeBitmapHashCache" +msgid "" +"# Clone a repo (like git clone):\n" +"\tgit svn clone http://svn.example.com/project/trunk\n" +"# Enter the newly cloned directory:\n" +"\tcd trunk\n" +"# You should be on master branch, double-check with 'git branch'\n" +"\tgit branch\n" +"# Do some work and commit locally to Git:\n" +"\tgit commit ...\n" +"# Something is committed to SVN, rebase your local changes against the\n" +"# latest changes in SVN:\n" +"\tgit svn rebase\n" +"# Now commit your changes (that were committed previously using Git) to SVN,\n" +"# as well as automatically updating your working HEAD:\n" +"\tgit svn dcommit\n" +"# Append svn:ignore settings to the default Git exclude file:\n" +"\tgit svn show-ignore >> .git/info/exclude\n" msgstr "" #. type: Plain text -#: en/config.txt:2402 +#: en/git-svn.txt:842 msgid "" -"When true, git will include a \"hash cache\" section in the bitmap index (if " -"one is written). This cache can be used to feed git's delta heuristics, " -"potentially leading to better deltas between bitmapped and non-bitmapped " -"objects (e.g., when serving a fetch between an older, bitmapped pack and " -"objects that have been pushed since the last gc). The downside is that it " -"consumes 4 bytes per object of disk space, and that JGit's bitmap " -"implementation does not understand it, causing it to complain if Git and " -"JGit are used on the same repository. Defaults to false." +"Tracking and contributing to an entire Subversion-managed project (complete " +"with a trunk, tags and branches):" msgstr "" -#. type: Labeled list -#: en/config.txt:2403 +#. type: delimited block - +#: en/git-svn.txt:857 #, no-wrap -msgid "pager.<cmd>" +msgid "" +"# Clone a repo with standard SVN directory layout (like git clone):\n" +"\tgit svn clone http://svn.example.com/project --stdlayout --prefix svn/\n" +"# Or, if the repo uses a non-standard directory layout:\n" +"\tgit svn clone http://svn.example.com/project -T tr -b branch -t tag --prefix svn/\n" +"# View all branches and tags you have cloned:\n" +"\tgit branch -r\n" +"# Create a new branch in SVN\n" +"\tgit svn branch waldo\n" +"# Reset your master to trunk (or any other branch, replacing 'trunk'\n" +"# with the appropriate name):\n" +"\tgit reset --hard svn/trunk\n" +"# You may only dcommit to one branch/tag/trunk at a time. The usage\n" +"# of dcommit/rebase/show-ignore should be the same as above.\n" msgstr "" #. type: Plain text -#: en/config.txt:2411 +#: en/git-svn.txt:865 msgid "" -"If the value is boolean, turns on or off pagination of the output of a " -"particular Git subcommand when writing to a tty. Otherwise, turns on " -"pagination for the subcommand using the pager specified by the value of " -"`pager.<cmd>`. If `--paginate` or `--no-pager` is specified on the command " -"line, it takes precedence over this option. To disable pagination for all " -"commands, set `core.pager` or `GIT_PAGER` to `cat`." +"The initial 'git svn clone' can be quite time-consuming (especially for " +"large Subversion repositories). If multiple people (or one person with " +"multiple machines) want to use 'git svn' to interact with the same " +"Subversion repository, you can do the initial 'git svn clone' to a " +"repository on a server and have each person clone that repository with 'git " +"clone':" msgstr "" -#. type: Labeled list -#: en/config.txt:2412 +#. type: delimited block - +#: en/git-svn.txt:886 #, no-wrap -msgid "pretty.<name>" -msgstr "" - -#. type: Plain text -#: en/config.txt:2421 msgid "" -"Alias for a --pretty= format string, as specified in linkgit:git-log[1]. Any " -"aliases defined here can be used just as the built-in pretty formats could. " -"For example, running `git config pretty.changelog \"format:* %H %s\"` would " -"cause the invocation `git log --pretty=changelog` to be equivalent to " -"running `git log \"--pretty=format:* %H %s\"`. Note that an alias with the " -"same name as a built-in format will be silently ignored." +"# Do the initial import on a server\n" +"\tssh server \"cd /pub && git svn clone http://svn.example.com/project [options...]\"\n" +"# Clone locally - make sure the refs/remotes/ space matches the server\n" +"\tmkdir project\n" +"\tcd project\n" +"\tgit init\n" +"\tgit remote add origin server:/pub/project\n" +"\tgit config --replace-all remote.origin.fetch '+refs/remotes/*:refs/remotes/*'\n" +"\tgit fetch\n" +"# Prevent fetch/pull from remote Git server in the future,\n" +"# we only want to use git svn for future updates\n" +"\tgit config --remove-section remote.origin\n" +"# Create a local branch from one of the branches just fetched\n" +"\tgit checkout -b master FETCH_HEAD\n" +"# Initialize 'git svn' locally (be sure to use the same URL and\n" +"# --stdlayout/-T/-b/-t/--prefix options as were used on server)\n" +"\tgit svn init http://svn.example.com/project [options...]\n" +"# Pull the latest changes from Subversion\n" +"\tgit svn rebase\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2422 +#. type: Title - +#: en/git-svn.txt:889 #, no-wrap -msgid "protocol.allow" +msgid "REBASE VS. PULL/MERGE" msgstr "" #. type: Plain text -#: en/config.txt:2429 +#: en/git-svn.txt:895 msgid "" -"If set, provide a user defined default policy for all protocols which don't " -"explicitly have a policy (`protocol.<name>.allow`). By default, if unset, " -"known-safe protocols (http, https, git, ssh, file) have a default policy of " -"`always`, known-dangerous protocols (ext) have a default policy of `never`, " -"and all other protocols have a default policy of `user`. Supported policies:" +"Prefer to use 'git svn rebase' or 'git rebase', rather than 'git pull' or " +"'git merge' to synchronize unintegrated commits with a 'git svn' branch. " +"Doing so will keep the history of unintegrated commits linear with respect " +"to the upstream SVN repository and allow the use of the preferred 'git svn " +"dcommit' subcommand to push unintegrated commits back into SVN." msgstr "" #. type: Plain text -#: en/config.txt:2433 -msgid "`always` - protocol is always able to be used." +#: en/git-svn.txt:903 +msgid "" +"Originally, 'git svn' recommended that developers pulled or merged from the " +"'git svn' branch. This was because the author favored `git svn set-tree B` " +"to commit a single head rather than the `git svn set-tree A..B` notation to " +"commit multiple commits. Use of 'git pull' or 'git merge' with `git svn set-" +"tree A..B` will cause non-linear history to be flattened when committing " +"into SVN and this can lead to merge commits unexpectedly reversing previous " +"commits in SVN." msgstr "" -#. type: Plain text -#: en/config.txt:2435 -msgid "`never` - protocol is never able to be used." +#. type: Title - +#: en/git-svn.txt:905 +#, no-wrap +msgid "MERGE TRACKING" msgstr "" #. type: Plain text -#: en/config.txt:2441 +#: en/git-svn.txt:912 msgid "" -"`user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is " -"either unset or has a value of 1. This policy should be used when you want " -"a protocol to be directly usable by the user but don't want it used by " -"commands which execute clone/fetch/push commands without user input, e.g. " -"recursive submodule initialization." +"While 'git svn' can track copy history (including branches and tags) for " +"repositories adopting a standard layout, it cannot yet represent merge " +"history that happened inside git back upstream to SVN users. Therefore it " +"is advised that users keep history as linear as possible inside Git to ease " +"compatibility with SVN (see the CAVEATS section below)." msgstr "" -#. type: Labeled list -#: en/config.txt:2444 +#. type: Title - +#: en/git-svn.txt:914 #, no-wrap -msgid "protocol.<name>.allow" +msgid "HANDLING OF SVN BRANCHES" msgstr "" #. type: Plain text -#: en/config.txt:2447 +#: en/git-svn.txt:922 msgid "" -"Set a policy to be used by protocol `<name>` with clone/fetch/push commands. " -"See `protocol.allow` above for the available policies." +"If 'git svn' is configured to fetch branches (and --follow-branches is in " +"effect), it sometimes creates multiple Git branches for one SVN branch, " +"where the additional branches have names of the form 'branchname@nnn' (with " +"nnn an SVN revision number). These additional branches are created if 'git " +"svn' cannot find a parent commit for the first commit in an SVN branch, to " +"connect the branch to the history of the other branches." msgstr "" #. type: Plain text -#: en/config.txt:2449 -msgid "The protocol names currently used by git are:" +#: en/git-svn.txt:938 +msgid "" +"Normally, the first commit in an SVN branch consists of a copy operation. " +"'git svn' will read this commit to get the SVN revision the branch was " +"created from. It will then try to find the Git commit that corresponds to " +"this SVN revision, and use that as the parent of the branch. However, it is " +"possible that there is no suitable Git commit to serve as parent. This will " +"happen, among other reasons, if the SVN branch is a copy of a revision that " +"was not fetched by 'git svn' (e.g. because it is an old revision that was " +"skipped with `--revision`), or if in SVN a directory was copied that is not " +"tracked by 'git svn' (such as a branch that is not tracked at all, or a " +"subdirectory of a tracked branch). In these cases, 'git svn' will still " +"create a Git branch, but instead of using an existing Git commit as the " +"parent of the branch, it will read the SVN history of the directory the " +"branch was copied from and create appropriate Git commits. This is " +"indicated by the message \"Initializing parent: <branchname>\"." msgstr "" #. type: Plain text -#: en/config.txt:2453 +#: en/git-svn.txt:945 msgid "" -"`file`: any local file-based path (including `file://` URLs, or local paths)" +"Additionally, it will create a special branch named '<branchname>@<SVN-" +"Revision>', where <SVN-Revision> is the SVN revision number the branch was " +"copied from. This branch will point to the newly created parent commit of " +"the branch. If in SVN the branch was deleted and later recreated from a " +"different version, there will be multiple such branches with an '@'." msgstr "" #. type: Plain text -#: en/config.txt:2456 +#: en/git-svn.txt:948 msgid "" -"`git`: the anonymous git protocol over a direct TCP connection (or proxy, if " -"configured)" +"Note that this may mean that multiple Git commits are created for a single " +"SVN revision." msgstr "" #. type: Plain text -#: en/config.txt:2459 -msgid "`ssh`: git over ssh (including `host:path` syntax, `ssh://`, etc)." +#: en/git-svn.txt:958 +msgid "" +"An example: in an SVN repository with a standard trunk/tags/branches layout, " +"a directory trunk/sub is created in r.100. In r.200, trunk/sub is branched " +"by copying it to branches/. 'git svn clone -s' will then create a branch " +"'sub'. It will also create new Git commits for r.100 through r.199 and use " +"these as the history of branch 'sub'. Thus there will be two Git commits for " +"each revision from r.100 to r.199 (one containing trunk/, one containing " +"trunk/sub/). Finally, it will create a branch 'sub@200' pointing to the new " +"parent commit of branch 'sub' (i.e. the commit for r.200 and trunk/sub/)." msgstr "" #. type: Plain text -#: en/config.txt:2463 +#: en/git-svn.txt:968 msgid "" -"`http`: git over http, both \"smart http\" and \"dumb http\". Note that " -"this does _not_ include `https`; if you want to configure both, you must do " -"so individually." +"For the sake of simplicity and interoperating with Subversion, it is " +"recommended that all 'git svn' users clone, fetch and dcommit directly from " +"the SVN server, and avoid all 'git clone'/'pull'/'merge'/'push' operations " +"between Git repositories and branches. The recommended method of exchanging " +"code between Git branches and users is 'git format-patch' and 'git am', or " +"just 'dcommit'ing to the SVN repository." msgstr "" #. type: Plain text -#: en/config.txt:2466 +#: en/git-svn.txt:974 msgid "" -"any external helpers are named by their protocol (e.g., use `hg` to allow " -"the `git-remote-hg` helper)" -msgstr "" - -#. type: Labeled list -#: en/config.txt:2468 -#, no-wrap -msgid "pull.ff" +"Running 'git merge' or 'git pull' is NOT recommended on a branch you plan to " +"'dcommit' from because Subversion users cannot see any merges you've made. " +"Furthermore, if you merge or pull from a Git branch that is a mirror of an " +"SVN branch, 'dcommit' may commit to the wrong branch." msgstr "" #. type: Plain text -#: en/config.txt:2477 +#: en/git-svn.txt:977 msgid "" -"By default, Git does not create an extra merge commit when merging a commit " -"that is a descendant of the current commit. Instead, the tip of the current " -"branch is fast-forwarded. When set to `false`, this variable tells Git to " -"create an extra merge commit in such a case (equivalent to giving the `--no-" -"ff` option from the command line). When set to `only`, only such fast-" -"forward merges are allowed (equivalent to giving the `--ff-only` option from " -"the command line). This setting overrides `merge.ff` when pulling." +"If you do merge, note the following rule: 'git svn dcommit' will attempt to " +"commit on top of the SVN commit named in" msgstr "" -#. type: Labeled list -#: en/config.txt:2478 +#. type: delimited block - +#: en/git-svn.txt:979 #, no-wrap -msgid "pull.rebase" +msgid "git log --grep=^git-svn-id: --first-parent -1\n" msgstr "" #. type: Plain text -#: en/config.txt:2483 +#: en/git-svn.txt:984 msgid "" -"When true, rebase branches on top of the fetched branch, instead of merging " -"the default branch from the default remote when \"git pull\" is run. See " -"\"branch.<name>.rebase\" for setting this on a per-branch basis." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2494 -#, no-wrap -msgid "pull.octopus" +"You 'must' therefore ensure that the most recent commit of the branch you " +"want to dcommit to is the 'first' parent of the merge. Chaos will ensue " +"otherwise, especially if the first parent is an older commit on the same SVN " +"branch." msgstr "" #. type: Plain text -#: en/config.txt:2497 +#: en/git-svn.txt:989 msgid "" -"The default merge strategy to use when pulling multiple branches at once." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2498 -#, no-wrap -msgid "pull.twohead" +"'git clone' does not clone branches under the refs/remotes/ hierarchy or any " +"'git svn' metadata, or config. So repositories created and managed with " +"using 'git svn' should use 'rsync' for cloning, if cloning is to be done at " +"all." msgstr "" #. type: Plain text -#: en/config.txt:2500 -msgid "The default merge strategy to use when pulling a single branch." +#: en/git-svn.txt:994 +msgid "" +"Since 'dcommit' uses rebase internally, any Git branches you 'git push' to " +"before 'dcommit' on will require forcing an overwrite of the existing ref on " +"the remote repository. This is generally considered bad practice, see the " +"linkgit:git-push[1] documentation for details." msgstr "" -#. type: Labeled list -#: en/config.txt:2501 -#, fuzzy, no-wrap -#| msgid "default" -msgid "push.default" -msgstr "default" - #. type: Plain text -#: en/config.txt:2507 +#: en/git-svn.txt:999 msgid "" -"Defines the action `git push` should take if no refspec is explicitly " -"given. Different values are well-suited for specific workflows; for " -"instance, in a purely central workflow (i.e. the fetch source is equal to " -"the push destination), `upstream` is probably what you want. Possible " -"values are:" +"Do not use the --amend option of linkgit:git-commit[1] on a change you've " +"already dcommitted. It is considered bad practice to --amend commits you've " +"already pushed to a remote repository for other users, and dcommit with SVN " +"is analogous to that." msgstr "" #. type: Plain text -#: en/config.txt:2513 +#: en/git-svn.txt:1014 msgid "" -"`nothing` - do not push anything (error out) unless a refspec is explicitly " -"given. This is primarily meant for people who want to avoid mistakes by " -"always being explicit." +"When cloning an SVN repository, if none of the options for describing the " +"repository layout is used (--trunk, --tags, --branches, --stdlayout), 'git " +"svn clone' will create a Git repository with completely linear history, " +"where branches and tags appear as separate directories in the working copy. " +"While this is the easiest way to get a copy of a complete repository, for " +"projects with many branches it will lead to a working copy many times larger " +"than just the trunk. Thus for projects using the standard directory " +"structure (trunk/branches/tags), it is recommended to clone with option `--" +"stdlayout`. If the project uses a non-standard structure, and/or if branches " +"and tags are not required, it is easiest to only clone one directory " +"(typically trunk), without giving any repository layout options. If the " +"full history with branches and tags is required, the options `--trunk` / `--" +"branches` / `--tags` must be used." msgstr "" #. type: Plain text -#: en/config.txt:2517 +#: en/git-svn.txt:1021 msgid "" -"`current` - push the current branch to update a branch with the same name on " -"the receiving end. Works in both central and non-central workflows." +"When using multiple --branches or --tags, 'git svn' does not automatically " +"handle name collisions (for example, if two branches from different paths " +"have the same name, or if a branch and a tag have the same name). In these " +"cases, use 'init' to set up your Git repository then, before your first " +"'fetch', edit the $GIT_DIR/config file so that the branches and tags are " +"associated with different name spaces. For example:" msgstr "" #. type: Plain text -#: en/config.txt:2523 +#: en/git-svn.txt:1024 +#, no-wrap msgid "" -"`upstream` - push the current branch back to the branch whose changes are " -"usually integrated into the current branch (which is called `@{upstream}`). " -"This mode only makes sense if you are pushing to the same repository you " -"would normally pull from (i.e. central workflow)." +"\tbranches = stable/*:refs/remotes/svn/stable/*\n" +"\tbranches = debug/*:refs/remotes/svn/debug/*\n" msgstr "" #. type: Plain text -#: en/config.txt:2525 -msgid "`tracking` - This is a deprecated synonym for `upstream`." +#: en/git-svn.txt:1030 +msgid "" +"We ignore all SVN properties except svn:executable. Any unhandled " +"properties are logged to $GIT_DIR/svn/<refname>/unhandled.log" msgstr "" #. type: Plain text -#: en/config.txt:2529 +#: en/git-svn.txt:1037 msgid "" -"`simple` - in centralized workflow, work like `upstream` with an added " -"safety to refuse to push if the upstream branch's name is different from the " -"local one." +"Renamed and copied directories are not detected by Git and hence not tracked " +"when committing to SVN. I do not plan on adding support for this as it's " +"quite difficult and time-consuming to get working for all the possible " +"corner cases (Git doesn't do it, either). Committing renamed and copied " +"files is fully supported if they're similar enough for Git to detect them." msgstr "" #. type: Plain text -#: en/config.txt:2533 +#: en/git-svn.txt:1043 msgid "" -"When pushing to a remote that is different from the remote you normally pull " -"from, work as `current`. This is the safest option and is suited for " -"beginners." +"In SVN, it is possible (though discouraged) to commit changes to a tag " +"(because a tag is just a directory copy, thus technically the same as a " +"branch). When cloning an SVN repository, 'git svn' cannot know if such a " +"commit to a tag will happen in the future. Thus it acts conservatively and " +"imports all SVN tags as branches, prefixing the tag name with 'tags/'." msgstr "" #. type: Plain text -#: en/config.txt:2535 -msgid "This mode has become the default in Git 2.0." +#: en/git-svn.txt:1054 +msgid "" +"'git svn' stores [svn-remote] configuration information in the repository " +"$GIT_DIR/config file. It is similar the core Git [remote] sections except " +"'fetch' keys do not accept glob arguments; but they are instead handled by " +"the 'branches' and 'tags' keys. Since some SVN repositories are oddly " +"configured with multiple projects glob expansions such those listed below " +"are allowed:" msgstr "" -#. type: Plain text -#: en/config.txt:2542 +#. type: delimited block - +#: en/git-svn.txt:1063 +#, no-wrap msgid "" -"`matching` - push all branches having the same name on both ends. This " -"makes the repository you are pushing to remember the set of branches that " -"will be pushed out (e.g. if you always push 'maint' and 'master' there and " -"no other branches, the repository you push to will have these two branches, " -"and your local 'maint' and 'master' will be pushed there)." +"[svn-remote \"project-a\"]\n" +"\turl = http://server.org/svn\n" +"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" +"\tbranches = branches/*/project-a:refs/remotes/project-a/branches/*\n" +"\tbranches = branches/release_*:refs/remotes/project-a/branches/release_*\n" +"\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" +"\ttags = tags/*/project-a:refs/remotes/project-a/tags/*\n" msgstr "" #. type: Plain text -#: en/config.txt:2552 +#: en/git-svn.txt:1071 +#, no-wrap msgid "" -"To use this mode effectively, you have to make sure _all_ the branches you " -"would push out are ready to be pushed out before running 'git push', as the " -"whole point of this mode is to allow you to push all of the branches in one " -"go. If you usually finish work on only one branch and push out the result, " -"while other branches are unfinished, this mode is not for you. Also this " -"mode is not suitable for pushing into a shared central repository, as other " -"people may add new branches there, or update the tip of existing branches " -"outside your control." +"Keep in mind that the '\\*' (asterisk) wildcard of the local ref\n" +"(right of the ':') *must* be the farthest right path component;\n" +"however the remote wildcard may be anywhere as long as it's an\n" +"independent path component (surrounded by '/' or EOL). This\n" +"type of configuration is not automatically created by 'init' and\n" +"should be manually entered with a text-editor or using 'git config'.\n" msgstr "" #. type: Plain text -#: en/config.txt:2555 -msgid "" -"This used to be the default, but not since Git 2.0 (`simple` is the new " -"default)." +#: en/git-svn.txt:1073 +msgid "Also note that only one asterisk is allowed per word. For example:" msgstr "" -#. type: Labeled list -#: en/config.txt:2558 +#. type: Plain text +#: en/git-svn.txt:1075 #, no-wrap -msgid "push.followTags" +msgid "\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" msgstr "" #. type: Plain text -#: en/config.txt:2562 -msgid "" -"If set to true enable `--follow-tags` option by default. You may override " -"this configuration at time of push by specifying `--no-follow-tags`." +#: en/git-svn.txt:1077 +msgid "will match branches 'release', 'rese', 're123se', however" msgstr "" -#. type: Labeled list -#: en/config.txt:2563 +#. type: Plain text +#: en/git-svn.txt:1079 #, no-wrap -msgid "push.gpgSign" +msgid "\tbranches = branches/re*s*e:refs/remotes/project-a/branches/*\n" msgstr "" #. type: Plain text -#: en/config.txt:2571 -msgid "" -"May be set to a boolean value, or the string 'if-asked'. A true value causes " -"all pushes to be GPG signed, as if `--signed` is passed to linkgit:git-" -"push[1]. The string 'if-asked' causes pushes to be signed if the server " -"supports it, as if `--signed=if-asked` is passed to 'git push'. A false " -"value may override a value from a lower-priority config file. An explicit " -"command-line flag always overrides this config option." +#: en/git-svn.txt:1081 +msgid "will produce an error." msgstr "" -#. type: Labeled list -#: en/config.txt:2572 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "push.recurseSubmodules" -msgstr "git-add(1)" - #. type: Plain text -#: en/config.txt:2585 +#: en/git-svn.txt:1084 msgid "" -"Make sure all submodule commits used by the revisions to be pushed are " -"available on a remote-tracking branch. If the value is 'check' then Git will " -"verify that all submodule commits that changed in the revisions to be pushed " -"are available on at least one remote of the submodule. If any commits are " -"missing, the push will be aborted and exit with non-zero status. If the " -"value is 'on-demand' then all submodules that changed in the revisions to be " -"pushed will be pushed. If on-demand was not able to push all necessary " -"revisions it will also be aborted and exit with non-zero status. If the " -"value is 'no' then default behavior of ignoring submodules when pushing is " -"retained. You may override this configuration at time of push by specifying " -"'--recurse-submodules=check|on-demand|no'." +"It is also possible to fetch a subset of branches or tags by using a comma-" +"separated list of names within braces. For example:" msgstr "" -#. type: Plain text -#: en/config.txt:2600 +#. type: delimited block - +#: en/git-svn.txt:1091 +#, no-wrap msgid "" -"When set to true, automatically create a temporary stash before the " -"operation begins, and apply it after the operation ends. This means that " -"you can run rebase on a dirty worktree. However, use with care: the final " -"stash application after a successful rebase might result in non-trivial " -"conflicts. Defaults to false." +"[svn-remote \"huge-project\"]\n" +"\turl = http://server.org/svn\n" +"\tfetch = trunk/src:refs/remotes/trunk\n" +"\tbranches = branches/{red,green}/src:refs/remotes/project-a/branches/*\n" +"\ttags = tags/{1.0,2.0}/src:refs/remotes/project-a/tags/*\n" msgstr "" #. type: Plain text -#: en/config.txt:2611 +#: en/git-svn.txt:1094 +msgid "Multiple fetch, branches, and tags keys are supported:" +msgstr "" + +#. type: delimited block - +#: en/git-svn.txt:1103 +#, no-wrap msgid "" -"If set to \"warn\", git rebase -i will print a warning if some commits are " -"removed (e.g. a line was deleted), however the rebase will still proceed. If " -"set to \"error\", it will print the previous warning and stop the rebase, " -"'git rebase --edit-todo' can then be used to correct the error. If set to " -"\"ignore\", no checking is done. To drop a commit without warning or error, " -"use the `drop` command in the todo-list. Defaults to \"ignore\"." +"[svn-remote \"messy-repo\"]\n" +"\turl = http://server.org/svn\n" +"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" +"\tfetch = branches/demos/june-project-a-demo:refs/remotes/project-a/demos/june-demo\n" +"\tbranches = branches/server/*:refs/remotes/project-a/branches/*\n" +"\tbranches = branches/demos/2011/*:refs/remotes/project-a/2011-demos/*\n" +"\ttags = tags/server/*:refs/remotes/project-a/tags/*\n" msgstr "" #. type: Plain text -#: en/config.txt:2616 +#: en/git-svn.txt:1107 msgid "" -"A format string, as specified in linkgit:git-log[1], to be used for the " -"instruction list during an interactive rebase. The format will " -"automatically have the long commit hash prepended to the format." +"Creating a branch in such a configuration requires disambiguating which " +"location to use using the -d or --destination flag:" msgstr "" -#. type: Labeled list -#: en/config.txt:2617 +#. type: delimited block - +#: en/git-svn.txt:1110 #, no-wrap -msgid "receive.advertiseAtomic" +msgid "$ git svn branch -d branches/server release-2-3-0\n" msgstr "" #. type: Plain text -#: en/config.txt:2621 +#: en/git-svn.txt:1116 msgid "" -"By default, git-receive-pack will advertise the atomic push capability to " -"its clients. If you don't want to advertise this capability, set this " -"variable to false." +"Note that git-svn keeps track of the highest revision in which a branch or " +"tag has appeared. If the subset of branches or tags is changed after " +"fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove (or " +"reset) branches-maxRev and/or tags-maxRev as appropriate." msgstr "" -#. type: Labeled list -#: en/config.txt:2622 +#. type: Plain text +#: en/git-svn.txt:1125 #, no-wrap -msgid "receive.advertisePushOptions" +msgid "" +"$GIT_DIR/svn/\\*\\*/.rev_map.*::\n" +"\tMapping between Subversion revision numbers and Git commit\n" +"\tnames. In a repository where the noMetadata option is not set,\n" +"\tthis can be rebuilt from the git-svn-id: lines that are at the\n" +"\tend of every commit (see the 'svn.noMetadata' section above for\n" +"\tdetails).\n" msgstr "" #. type: Plain text -#: en/config.txt:2626 +#: en/git-svn.txt:1129 msgid "" -"By default, git-receive-pack will advertise the push options capability to " -"its clients. If you don't want to advertise this capability, set this " -"variable to false." +"'git svn fetch' and 'git svn rebase' automatically update the rev_map if it " +"is missing or not up to date. 'git svn reset' automatically rewinds it." msgstr "" -#. type: Labeled list -#: en/config.txt:2627 +#. type: Title = +#: en/git-symbolic-ref.txt:2 #, no-wrap -msgid "receive.autogc" +msgid "git-symbolic-ref(1)" msgstr "" #. type: Plain text -#: en/config.txt:2631 -msgid "" -"By default, git-receive-pack will run \"git-gc --auto\" after receiving data " -"from git-push and updating refs. You can stop it by setting this variable " -"to false." +#: en/git-symbolic-ref.txt:7 +msgid "git-symbolic-ref - Read, modify and delete symbolic refs" msgstr "" -#. type: Labeled list -#: en/config.txt:2632 +#. type: Plain text +#: en/git-symbolic-ref.txt:14 #, no-wrap -msgid "receive.certNonceSeed" +msgid "" +"'git symbolic-ref' [-m <reason>] <name> <ref>\n" +"'git symbolic-ref' [-q] [--short] <name>\n" +"'git symbolic-ref' --delete [-q] <name>\n" msgstr "" #. type: Plain text -#: en/config.txt:2637 +#: en/git-symbolic-ref.txt:21 msgid "" -"By setting this variable to a string, `git receive-pack` will accept a `git " -"push --signed` and verifies it by using a \"nonce\" protected by HMAC using " -"this string as a secret key." +"Given one argument, reads which branch head the given symbolic ref refers to " +"and outputs its path, relative to the `.git/` directory. Typically you " +"would give `HEAD` as the <name> argument to see which branch your working " +"tree is on." msgstr "" -#. type: Labeled list -#: en/config.txt:2638 -#, no-wrap -msgid "receive.certNonceSlop" +#. type: Plain text +#: en/git-symbolic-ref.txt:24 +msgid "" +"Given two arguments, creates or updates a symbolic ref <name> to point at " +"the given branch <ref>." msgstr "" #. type: Plain text -#: en/config.txt:2650 +#: en/git-symbolic-ref.txt:27 msgid "" -"When a `git push --signed` sent a push certificate with a \"nonce\" that was " -"issued by a receive-pack serving the same repository within this many " -"seconds, export the \"nonce\" found in the certificate to " -"`GIT_PUSH_CERT_NONCE` to the hooks (instead of what the receive-pack asked " -"the sending side to include). This may allow writing checks in `pre-" -"receive` and `post-receive` a bit easier. Instead of checking " -"`GIT_PUSH_CERT_NONCE_SLOP` environment variable that records by how many " -"seconds the nonce is stale to decide if they want to accept the certificate, " -"they only can check `GIT_PUSH_CERT_NONCE_STATUS` is `OK`." +"Given `--delete` and an additional argument, deletes the given symbolic ref." msgstr "" -#. type: Labeled list -#: en/config.txt:2651 -#, fuzzy, no-wrap -#| msgid "git-fsck-objects(1)" -msgid "receive.fsckObjects" -msgstr "git-fsck-objects(1)" - #. type: Plain text -#: en/config.txt:2657 +#: en/git-symbolic-ref.txt:31 msgid "" -"If it is set to true, git-receive-pack will check all received objects. It " -"will abort in the case of a malformed object or a broken link. The result of " -"an abort are only dangling objects. Defaults to false. If not set, the " -"value of `transfer.fsckObjects` is used instead." +"A symbolic ref is a regular file that stores a string that begins with `ref: " +"refs/`. For example, your `.git/HEAD` is a regular file whose contents is " +"`ref: refs/heads/master`." msgstr "" -#. type: Labeled list -#: en/config.txt:2658 -#, no-wrap -msgid "receive.fsck.<msg-id>" +#. type: Plain text +#: en/git-symbolic-ref.txt:38 +msgid "Delete the symbolic ref <name>." msgstr "" #. type: Plain text -#: en/config.txt:2666 +#: en/git-symbolic-ref.txt:44 msgid "" -"When `receive.fsckObjects` is set to true, errors can be switched to " -"warnings and vice versa by configuring the `receive.fsck.<msg-id>` setting " -"where the `<msg-id>` is the fsck message ID and the value is one of `error`, " -"`warn` or `ignore`. For convenience, fsck prefixes the error/warning with " -"the message ID, e.g. \"missingEmail: invalid author/committer line - missing " -"email\" means that setting `receive.fsck.missingEmail = ignore` will hide " -"that issue." +"Do not issue an error message if the <name> is not a symbolic ref but a " +"detached HEAD; instead exit with non-zero status silently." msgstr "" #. type: Plain text -#: en/config.txt:2671 +#: en/git-symbolic-ref.txt:48 msgid "" -"This feature is intended to support working with legacy repositories which " -"would not pass pushing when `receive.fsckObjects = true`, allowing the host " -"to accept repositories with certain known issues but still catch other " -"issues." +"When showing the value of <name> as a symbolic ref, try to shorten the " +"value, e.g. from `refs/heads/master` to `master`." msgstr "" -#. type: Labeled list -#: en/config.txt:2672 -#, no-wrap -msgid "receive.fsck.skipList" +#. type: Plain text +#: en/git-symbolic-ref.txt:52 +msgid "" +"Update the reflog for <name> with <reason>. This is valid only when " +"creating or updating a symbolic ref." msgstr "" -#. type: Labeled list -#: en/config.txt:2680 -#, no-wrap -msgid "receive.keepAlive" +#. type: Plain text +#: en/git-symbolic-ref.txt:62 +msgid "" +"In the past, `.git/HEAD` was a symbolic link pointing at `refs/heads/" +"master`. When we wanted to switch to another branch, we did `ln -sf refs/" +"heads/newbranch .git/HEAD`, and when we wanted to find out which branch we " +"are on, we did `readlink .git/HEAD`. But symbolic links are not entirely " +"portable, so they are now deprecated and symbolic refs (as described above) " +"are used by default." msgstr "" #. type: Plain text -#: en/config.txt:2688 +#: en/git-symbolic-ref.txt:66 msgid "" -"After receiving the pack from the client, `receive-pack` may produce no " -"output (if `--quiet` was specified) while processing the pack, causing some " -"networks to drop the TCP connection. With this option set, if `receive-" -"pack` does not transmit any data in this phase for `receive.keepAlive` " -"seconds, it will send a short keepalive packet. The default is 5 seconds; " -"set to 0 to disable keepalives entirely." +"'git symbolic-ref' will exit with status 0 if the contents of the symbolic " +"ref were printed correctly, with status 1 if the requested name is not a " +"symbolic ref, or 128 if another error occurs." msgstr "" -#. type: Labeled list -#: en/config.txt:2689 -#, no-wrap -msgid "receive.unpackLimit" -msgstr "" +#. type: Title = +#: en/git-tag.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-tag(1)" +msgstr "git-add(1)" #. type: Plain text -#: en/config.txt:2698 -msgid "" -"If the number of objects received in a push is below this limit then the " -"objects will be unpacked into loose object files. However if the number of " -"received objects equals or exceeds this limit then the received pack will be " -"stored as a pack, after adding any missing delta bases. Storing the pack " -"from a push can make the push operation complete faster, especially on slow " -"filesystems. If not set, the value of `transfer.unpackLimit` is used " -"instead." +#: en/git-tag.txt:7 +msgid "git-tag - Create, list, delete or verify a tag object signed with GPG" msgstr "" -#. type: Labeled list -#: en/config.txt:2699 +#. type: Plain text +#: en/git-tag.txt:19 #, no-wrap -msgid "receive.maxInputSize" +msgid "" +"'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]\n" +"\t<tagname> [<commit> | <object>]\n" +"'git tag' -d <tagname>...\n" +"'git tag' [-n[<num>]] -l [--contains <commit>] [--points-at <object>]\n" +"\t[--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>]\n" +"\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]\n" +"'git tag' -v [--format=<format>] <tagname>...\n" msgstr "" #. type: Plain text -#: en/config.txt:2704 +#: en/git-tag.txt:25 msgid "" -"If the size of the incoming pack stream is larger than this limit, then git-" -"receive-pack will error out, instead of accepting the pack file. If not set " -"or set to 0, then the size is unlimited." +"Add a tag reference in `refs/tags/`, unless `-d/-l/-v` is given to delete, " +"list or verify tags." msgstr "" -#. type: Labeled list -#: en/config.txt:2705 -#, no-wrap -msgid "receive.denyDeletes" +#. type: Plain text +#: en/git-tag.txt:27 +msgid "Unless `-f` is given, the named tag must not yet exist." msgstr "" #. type: Plain text -#: en/config.txt:2708 +#: en/git-tag.txt:32 msgid "" -"If set to true, git-receive-pack will deny a ref update that deletes the " -"ref. Use this to prevent such a ref deletion via a push." +"If one of `-a`, `-s`, or `-u <keyid>` is passed, the command creates a 'tag' " +"object, and requires a tag message. Unless `-m <msg>` or `-F <file>` is " +"given, an editor is started for the user to type in the tag message." msgstr "" -#. type: Labeled list -#: en/config.txt:2709 -#, no-wrap -msgid "receive.denyDeleteCurrent" +#. type: Plain text +#: en/git-tag.txt:35 +msgid "" +"If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <keyid>` are " +"absent, `-a` is implied." msgstr "" #. type: Plain text -#: en/config.txt:2712 +#: en/git-tag.txt:38 msgid "" -"If set to true, git-receive-pack will deny a ref update that deletes the " -"currently checked out branch of a non-bare repository." +"Otherwise just a tag reference for the SHA-1 object name of the commit " +"object is created (i.e. a lightweight tag)." msgstr "" -#. type: Labeled list -#: en/config.txt:2713 -#, no-wrap -msgid "receive.denyCurrentBranch" +#. type: Plain text +#: en/git-tag.txt:44 +msgid "" +"A GnuPG signed tag object will be created when `-s` or `-u <keyid>` is " +"used. When `-u <keyid>` is not used, the committer identity for the current " +"user is used to find the GnuPG key for signing. \tThe configuration variable " +"`gpg.program` is used to specify custom GnuPG binary." msgstr "" #. type: Plain text -#: en/config.txt:2721 +#: en/git-tag.txt:50 msgid "" -"If set to true or \"refuse\", git-receive-pack will deny a ref update to the " -"currently checked out branch of a non-bare repository. Such a push is " -"potentially dangerous because it brings the HEAD out of sync with the index " -"and working tree. If set to \"warn\", print a warning of such a push to " -"stderr, but allow the push to proceed. If set to false or \"ignore\", allow " -"such pushes with no message. Defaults to \"refuse\"." +"Tag objects (created with `-a`, `-s`, or `-u`) are called \"annotated\" " +"tags; they contain a creation date, the tagger name and e-mail, a tagging " +"message, and an optional GnuPG signature. Whereas a \"lightweight\" tag is " +"simply a name for an object (usually a commit object)." msgstr "" #. type: Plain text -#: en/config.txt:2728 +#: en/git-tag.txt:55 msgid "" -"Another option is \"updateInstead\" which will update the working tree if " -"pushing into the current branch. This option is intended for synchronizing " -"working directories when one side is not easily accessible via interactive " -"ssh (e.g. a live web site, hence the requirement that the working directory " -"be clean). This mode also comes in handy when developing inside a VM to test " -"and fix code on different Operating Systems." +"Annotated tags are meant for release while lightweight tags are meant for " +"private or temporary object labels. For this reason, some git commands for " +"naming objects (like `git describe`) will ignore lightweight tags by default." msgstr "" #. type: Plain text -#: en/config.txt:2732 -msgid "" -"By default, \"updateInstead\" will refuse the push if the working tree or " -"the index have any difference from the HEAD, but the `push-to-checkout` hook " -"can be used to customize this. See linkgit:githooks[5]." +#: en/git-tag.txt:62 +msgid "Make an unsigned, annotated tag object" msgstr "" #. type: Labeled list -#: en/config.txt:2733 +#: en/git-tag.txt:64 #, no-wrap -msgid "receive.denyNonFastForwards" +msgid "--sign" msgstr "" #. type: Plain text -#: en/config.txt:2738 -msgid "" -"If set to true, git-receive-pack will deny a ref update which is not a fast-" -"forward. Use this to prevent such an update via a push, even if that push is " -"forced. This configuration variable is set when initializing a shared " -"repository." +#: en/git-tag.txt:66 +msgid "Make a GPG-signed tag, using the default e-mail address's key." msgstr "" #. type: Labeled list -#: en/config.txt:2739 +#: en/git-tag.txt:67 #, no-wrap -msgid "receive.hideRefs" -msgstr "" - -#. type: Plain text -#: en/config.txt:2744 -msgid "" -"This variable is the same as `transfer.hideRefs`, but applies only to " -"`receive-pack` (and so affects pushes, but not fetches). An attempt to " -"update or delete a hidden ref by `git push` is rejected." +msgid "-u <keyid>" msgstr "" #. type: Labeled list -#: en/config.txt:2745 +#: en/git-tag.txt:68 #, no-wrap -msgid "receive.updateServerInfo" +msgid "--local-user=<keyid>" msgstr "" #. type: Plain text -#: en/config.txt:2748 -msgid "" -"If set to true, git-receive-pack will run git-update-server-info after " -"receiving data from git-push and updating refs." +#: en/git-tag.txt:70 +msgid "Make a GPG-signed tag, using the given key." msgstr "" -#. type: Labeled list -#: en/config.txt:2749 -#, no-wrap -msgid "receive.shallowUpdate" +#. type: Plain text +#: en/git-tag.txt:74 +msgid "Replace an existing tag with the given name (instead of failing)" msgstr "" #. type: Plain text -#: en/config.txt:2752 -msgid "" -"If set to true, .git/shallow can be updated when new refs require new " -"shallow roots. Otherwise those refs are rejected." +#: en/git-tag.txt:78 +msgid "Delete existing tags with the given names." msgstr "" -#. type: Labeled list -#: en/config.txt:2753 -#, fuzzy, no-wrap -#| msgid "default" -msgid "remote.pushDefault" -msgstr "default" - #. type: Plain text -#: en/config.txt:2757 -msgid "" -"The remote to push to by default. Overrides `branch.<name>.remote` for all " -"branches, and is overridden by `branch.<name>.pushRemote` for specific " -"branches." +#: en/git-tag.txt:82 +msgid "Verify the GPG signature of the given tag names." msgstr "" #. type: Labeled list -#: en/config.txt:2758 +#: en/git-tag.txt:83 #, no-wrap -msgid "remote.<name>.url" +msgid "-n<num>" msgstr "" #. type: Plain text -#: en/config.txt:2761 +#: en/git-tag.txt:89 msgid "" -"The URL of a remote repository. See linkgit:git-fetch[1] or linkgit:git-" -"push[1]." +"<num> specifies how many lines from the annotation, if any, are printed when " +"using -l. The default is not to print any annotation lines. If no number " +"is given to `-n`, only the first line is printed. If the tag is not " +"annotated, the commit message is displayed instead." msgstr "" -#. type: Labeled list -#: en/config.txt:2762 -#, no-wrap -msgid "remote.<name>.pushurl" +#. type: Plain text +#: en/git-tag.txt:97 +msgid "" +"List tags with names that match the given pattern (or all if no pattern is " +"given). Running \"git tag\" without arguments also lists all tags. The " +"pattern is a shell wildcard (i.e., matched using fnmatch(3)). Multiple " +"patterns may be given; if any of them matches, the tag is shown." msgstr "" #. type: Plain text -#: en/config.txt:2764 -msgid "The push URL of a remote repository. See linkgit:git-push[1]." +#: en/git-tag.txt:110 +msgid "" +"Sort based on the key given. Prefix `-` to sort in descending order of the " +"value. You may use the --sort=<key> option multiple times, in which case the " +"last key becomes the primary key. Also supports \"version:refname\" or \"v:" +"refname\" (tag names are treated as versions). The \"version:refname\" sort " +"order can also be affected by the \"versionsort.suffix\" configuration " +"variable. The keys supported are the same as those in `git for-each-ref`. " +"Sort order defaults to the value configured for the `tag.sort` variable if " +"it exists, or lexicographic order otherwise. See linkgit:git-config[1]." msgstr "" -#. type: Labeled list -#: en/config.txt:2765 -#, no-wrap -msgid "remote.<name>.proxy" +#. type: Plain text +#: en/git-tag.txt:114 +msgid "Sorting and filtering tags are case insensitive." msgstr "" #. type: Plain text -#: en/config.txt:2769 +#: en/git-tag.txt:120 msgid "" -"For remotes that require curl (http, https and ftp), the URL to the proxy to " -"use for that remote. Set to the empty string to disable proxying for that " -"remote." +"Display tag listing in columns. See configuration variable column.tag for " +"option syntax.`--column` and `--no-column` without options are equivalent to " +"'always' and 'never' respectively." msgstr "" -#. type: Labeled list -#: en/config.txt:2770 -#, no-wrap -msgid "remote.<name>.proxyAuthMethod" +#. type: Plain text +#: en/git-tag.txt:122 +msgid "" +"This option is only applicable when listing tags without annotation lines." msgstr "" #. type: Plain text -#: en/config.txt:2774 +#: en/git-tag.txt:126 msgid "" -"For remotes that require curl (http, https and ftp), the method to use for " -"authenticating against the proxy in use (probably set in `remote.<name>." -"proxy`). See `http.proxyAuthMethod`." +"Only list tags which contain the specified commit (HEAD if not specified)." msgstr "" -#. type: Labeled list -#: en/config.txt:2775 -#, no-wrap -msgid "remote.<name>.fetch" +#. type: Plain text +#: en/git-tag.txt:129 +msgid "Only list tags of the given object." msgstr "" -# #. type: Plain text -#: en/config.txt:2778 +#: en/git-tag.txt:137 #, fuzzy #| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#| "-m <msg>::\n" +#| "--message=<msg>::\n" +#| "\tUse the given <msg> as the commit message.\n" +#| "\tIf multiple `-m` options are given, their values are\n" +#| "\tconcatenated as separate paragraphs.\n" msgid "" -"The default set of \"refspec\" for linkgit:git-fetch[1]. See linkgit:git-" -"fetch[1]." -msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" - -#. type: Labeled list -#: en/config.txt:2779 -#, no-wrap -msgid "remote.<name>.push" +"Use the given tag message (instead of prompting). If multiple `-m` options " +"are given, their values are concatenated as separate paragraphs. Implies `-" +"a` if none of `-a`, `-s`, or `-u <keyid>` is given." msgstr "" +"-m <msg>::\n" +"--message=<msg>::\n" +"\tUtiliser le <msg> fourni comme message de validation\n" +"\tSi plusieurs options `-m` sont fournies, leurs valeurs\n" +"\tsont concat챕n챕es comme paragraphes s챕par챕s.\n" -# #. type: Plain text -#: en/config.txt:2782 +#: en/git-tag.txt:144 #, fuzzy #| msgid "" -#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -#| "merge[1], linkgit:git-commit-tree[1]" +#| "-F <file>::\n" +#| "--file=<file>::\n" +#| "\tTake the commit message from the given file. Use '-' to\n" +#| "\tread the message from the standard input.\n" msgid "" -"The default set of \"refspec\" for linkgit:git-push[1]. See linkgit:git-" -"push[1]." +"Take the tag message from the given file. Use '-' to read the message from " +"the standard input. Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is " +"given." +msgstr "" +"-F <fichier>::\n" +"--file=<fichier>::\n" +"\tPrendre le message de validation depuis le fichier indiqu챕.\n" +"\tUtilisez '-' pour lire le message depuis l'entr챕e standard.\n" + +#. type: Plain text +#: en/git-tag.txt:151 +msgid "" +"This option sets how the tag message is cleaned up. The '<mode>' can be one " +"of 'verbatim', 'whitespace' and 'strip'. The 'strip' mode is default. The " +"'verbatim' mode does not change message at all, 'whitespace' removes just " +"leading/trailing whitespace lines and 'strip' removes both whitespace and " +"commentary." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:158 +msgid "" +"Create a reflog for the tag. To globally enable reflogs for tags, see `core." +"logAllRefUpdates` in linkgit:git-config[1]. The negated form `--no-create-" +"reflog` only overrides an earlier `--create-reflog`, but currently does not " +"negate the setting of `core.logallrefupdates`." msgstr "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" -"merge[1], linkgit:git-commit-tree[1]" #. type: Labeled list -#: en/config.txt:2783 +#: en/git-tag.txt:159 #, no-wrap -msgid "remote.<name>.mirror" +msgid "<tagname>" msgstr "" #. type: Plain text -#: en/config.txt:2786 +#: en/git-tag.txt:164 msgid "" -"If true, pushing to this remote will automatically behave as if the `--" -"mirror` option was given on the command line." +"The name of the tag to create, delete, or describe. The new tag name must " +"pass all checks defined by linkgit:git-check-ref-format[1]. Some of these " +"checks may restrict the characters allowed in a tag name." msgstr "" #. type: Labeled list -#: en/config.txt:2787 -#, no-wrap -msgid "remote.<name>.skipDefaultUpdate" +#: en/git-tag.txt:165 en/git.txt:789 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "<commit>" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-tag.txt:169 +msgid "" +"The object that the new tag will refer to, usually a commit. Defaults to " +"HEAD." msgstr "" #. type: Plain text -#: en/config.txt:2791 en/config.txt:2796 +#: en/git-tag.txt:175 msgid "" -"If true, this remote will be skipped by default when updating using linkgit:" -"git-fetch[1] or the `update` subcommand of linkgit:git-remote[1]." +"A string that interpolates `%(fieldname)` from the object pointed at by a " +"ref being shown. The format is the same as that of linkgit:git-for-each-" +"ref[1]. When unspecified, defaults to `%(refname:strip=2)`." msgstr "" #. type: Labeled list -#: en/config.txt:2792 +#: en/git-tag.txt:176 #, no-wrap -msgid "remote.<name>.skipFetchAll" +msgid "--[no-]merged [<commit>]" msgstr "" -#. type: Labeled list -#: en/config.txt:2797 -#, no-wrap -msgid "remote.<name>.receivepack" +#. type: Plain text +#: en/git-tag.txt:180 +msgid "" +"Only list tags whose tips are reachable, or not reachable if `--no-merged` " +"is used, from the specified commit (`HEAD` if not specified)." msgstr "" #. type: Plain text -#: en/config.txt:2800 +#: en/git-tag.txt:187 msgid "" -"The default program to execute on the remote side when pushing. See option " -"--receive-pack of linkgit:git-push[1]." +"By default, 'git tag' in sign-with-default mode (-s) will use your committer " +"identity (of the form `Your Name <your@email.address>`) to find a key. If " +"you want to use a different default key, you can specify it in the " +"repository configuration as follows:" msgstr "" -#. type: Labeled list -#: en/config.txt:2801 +#. type: delimited block - +#: en/git-tag.txt:191 #, no-wrap -msgid "remote.<name>.uploadpack" -msgstr "" - -#. type: Plain text -#: en/config.txt:2804 msgid "" -"The default program to execute on the remote side when fetching. See option " -"--upload-pack of linkgit:git-fetch-pack[1]." +"[user]\n" +" signingKey = <gpg-keyid>\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2805 +#. type: Title ~ +#: en/git-tag.txt:198 #, no-wrap -msgid "remote.<name>.tagOpt" +msgid "On Re-tagging" msgstr "" #. type: Plain text -#: en/config.txt:2812 +#: en/git-tag.txt:202 msgid "" -"Setting this value to --no-tags disables automatic tag following when " -"fetching from remote <name>. Setting it to --tags will fetch every tag from " -"remote <name>, even if they are not reachable from remote branch heads. " -"Passing these flags directly to linkgit:git-fetch[1] can override this " -"setting. See options --tags and --no-tags of linkgit:git-fetch[1]." +"What should you do when you tag a wrong commit and you would want to re-tag?" msgstr "" -#. type: Labeled list -#: en/config.txt:2813 -#, no-wrap -msgid "remote.<name>.vcs" +#. type: Plain text +#: en/git-tag.txt:205 +msgid "" +"If you never pushed anything out, just re-tag it. Use \"-f\" to replace the " +"old one. And you're done." msgstr "" #. type: Plain text -#: en/config.txt:2816 +#: en/git-tag.txt:209 msgid "" -"Setting this to a value <vcs> will cause Git to interact with the remote " -"with the git-remote-<vcs> helper." +"But if you have pushed things out (or others could just read your repository " +"directly), then others will have already seen the old tag. In that case you " +"can do one of two things:" msgstr "" -#. type: Labeled list -#: en/config.txt:2817 -#, no-wrap -msgid "remote.<name>.prune" +#. type: Plain text +#: en/git-tag.txt:216 +msgid "" +"The sane thing. Just admit you screwed up, and use a different name. Others " +"have already seen one tag-name, and if you keep the same name, you may be in " +"the situation that two people both have \"version X\", but they actually " +"have 'different' \"X\"'s. So just call it \"X.1\" and be done with it." msgstr "" #. type: Plain text -#: en/config.txt:2822 +#: en/git-tag.txt:221 msgid "" -"When set to true, fetching from this remote by default will also remove any " -"remote-tracking references that no longer exist on the remote (as if the `--" -"prune` option was given on the command line). Overrides `fetch.prune` " -"settings, if any." +"The insane thing. You really want to call the new version \"X\" too, 'even " +"though' others have already seen the old one. So just use 'git tag -f' " +"again, as if you hadn't already published the old one." msgstr "" -#. type: Labeled list -#: en/config.txt:2823 -#, no-wrap -msgid "remotes.<group>" +#. type: Plain text +#: en/git-tag.txt:226 +msgid "" +"However, Git does *not* (and it should not) change tags behind users back. " +"So if somebody already got the old tag, doing a 'git pull' on your tree " +"shouldn't just make them overwrite the old one." msgstr "" #. type: Plain text -#: en/config.txt:2826 +#: en/git-tag.txt:233 msgid "" -"The list of remotes which are fetched by \"git remote update <group>\". See " -"linkgit:git-remote[1]." +"If somebody got a release tag from you, you cannot just change the tag for " +"them by updating your own one. This is a big security issue, in that people " +"MUST be able to trust their tag-names. If you really want to do the insane " +"thing, you need to just fess up to it, and tell people that you messed up. " +"You can do that by making a very public announcement saying:" msgstr "" -#. type: Labeled list -#: en/config.txt:2827 +#. type: delimited block - +#: en/git-tag.txt:237 #, no-wrap -msgid "repack.useDeltaBaseOffset" +msgid "" +"Ok, I messed up, and I pushed out an earlier version tagged as X. I\n" +"then fixed something, and retagged the *fixed* tree as X again.\n" msgstr "" -#. type: Plain text -#: en/config.txt:2834 +#. type: delimited block - +#: en/git-tag.txt:240 +#, no-wrap msgid "" -"By default, linkgit:git-repack[1] creates packs that use delta-base offset. " -"If you need to share your repository with Git older than version 1.4.4, " -"either directly or via a dumb protocol such as http, then you need to set " -"this option to \"false\" and repack. Access from old Git versions over the " -"native protocol are unaffected by this option." +"If you got the wrong tag, and want the new one, please delete\n" +"the old one and fetch the new one by doing:\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2835 +#. type: delimited block - +#: en/git-tag.txt:243 #, fuzzy, no-wrap -#| msgid "git-fsck-objects(1)" -msgid "repack.packKeptObjects" -msgstr "git-fsck-objects(1)" - -#. type: Plain text -#: en/config.txt:2841 +#| msgid "$ git commit\n" msgid "" -"If set to true, makes `git repack` act as if `--pack-kept-objects` was " -"passed. See linkgit:git-repack[1] for details. Defaults to `false` normally, " -"but `true` if a bitmap index is being written (either via `--write-bitmap-" -"index` or `repack.writeBitmaps`)." +"\tgit tag -d X\n" +"\tgit fetch origin tag X\n" +msgstr "$ git commit\n" + +#. type: delimited block - +#: en/git-tag.txt:245 +#, no-wrap +msgid "to get my updated tag.\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2842 +#. type: delimited block - +#: en/git-tag.txt:247 #, no-wrap -msgid "repack.writeBitmaps" +msgid "You can test which tag you have by doing\n" msgstr "" -#. type: Plain text -#: en/config.txt:2850 -msgid "" -"When true, git will write a bitmap index when packing all objects to disk (e." -"g., when `git repack -a` is run). This index can speed up the \"counting " -"objects\" phase of subsequent packs created for clones and fetches, at the " -"cost of some disk space and extra time spent on the initial repack. This " -"has no effect if multiple packfiles are created. Defaults to false." +#. type: delimited block - +#: en/git-tag.txt:249 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "\tgit rev-parse X\n" +msgstr "git-add(1)" + +#. type: delimited block - +#: en/git-tag.txt:251 +#, no-wrap +msgid "which should return 0123456789abcdef.. if you have the new version.\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2851 +#. type: delimited block - +#: en/git-tag.txt:253 #, no-wrap -msgid "rerere.autoUpdate" +msgid "Sorry for the inconvenience.\n" msgstr "" #. type: Plain text -#: en/config.txt:2855 +#: en/git-tag.txt:258 msgid "" -"When set to true, `git-rerere` updates the index with the resulting contents " -"after it cleanly resolves conflicts using previously recorded resolution. " -"Defaults to false." +"Does this seem a bit complicated? It *should* be. There is no way that it " +"would be correct to just \"fix\" it automatically. People need to know that " +"their tags might have been changed." msgstr "" -#. type: Labeled list -#: en/config.txt:2856 +#. type: Title ~ +#: en/git-tag.txt:261 #, no-wrap -msgid "rerere.enabled" +msgid "On Automatic following" msgstr "" #. type: Plain text -#: en/config.txt:2863 +#: en/git-tag.txt:266 msgid "" -"Activate recording of resolved conflicts, so that identical conflict hunks " -"can be resolved automatically, should they be encountered again. By " -"default, linkgit:git-rerere[1] is enabled if there is an `rr-cache` " -"directory under the `$GIT_DIR`, e.g. if \"rerere\" was previously used in " -"the repository." +"If you are following somebody else's tree, you are most likely using remote-" +"tracking branches (eg. `refs/remotes/origin/master`). You usually want the " +"tags from the other end." msgstr "" -#. type: Labeled list -#: en/config.txt:2864 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.identity" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2870 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.smtpEncryption" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-tag.txt:273 +msgid "" +"On the other hand, if you are fetching because you would want a one-shot " +"merge from somebody else, you typically do not want to get tags from there. " +"This happens more often for people near the toplevel but not limited to " +"them. Mere mortals when pulling from each other do not necessarily want to " +"automatically get private anchor point tags from the other person." +msgstr "" #. type: Plain text -#: en/config.txt:2873 +#: en/git-tag.txt:278 msgid "" -"See linkgit:git-send-email[1] for description. Note that this setting is " -"not subject to the 'identity' mechanism." +"Often, \"please pull\" messages on the mailing list just provide two pieces " +"of information: a repo URL and a branch name; this is designed to be easily " +"cut&pasted at the end of a 'git fetch' command line:" msgstr "" -#. type: Labeled list -#: en/config.txt:2874 +#. type: delimited block - +#: en/git-tag.txt:281 #, no-wrap -msgid "sendemail.smtpssl (deprecated)" +msgid "Linus, please pull from\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:283 +#, no-wrap +msgid "\tgit://git..../proj.git master\n" msgstr "" +#. type: delimited block - +#: en/git-tag.txt:285 +#, fuzzy, no-wrap +#| msgid "support the following date formats:" +msgid "to get the following updates...\n" +msgstr "prend en charge les formats de date suivants혻:" + #. type: Plain text -#: en/config.txt:2876 -msgid "Deprecated alias for 'sendemail.smtpEncryption = ssl'." +#: en/git-tag.txt:288 +msgid "becomes:" msgstr "" -#. type: Labeled list -#: en/config.txt:2877 +#. type: delimited block - +#: en/git-tag.txt:291 #, no-wrap -msgid "sendemail.smtpsslcertpath" +msgid "$ git pull git://git..../proj.git master\n" msgstr "" #. type: Plain text -#: en/config.txt:2880 +#: en/git-tag.txt:295 msgid "" -"Path to ca-certificates (either a directory or a single file). Set it to an " -"empty string to disable certificate verification." +"In such a case, you do not want to automatically follow the other person's " +"tags." msgstr "" -#. type: Labeled list -#: en/config.txt:2881 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.<identity>.*" -msgstr "git-commit(1)" - #. type: Plain text -#: en/config.txt:2886 +#: en/git-tag.txt:303 msgid "" -"Identity-specific versions of the 'sendemail.*' parameters found below, " -"taking precedence over those when the this identity is selected, through " -"command-line or `sendemail.identity`." +"One important aspect of Git is its distributed nature, which largely means " +"there is no inherent \"upstream\" or \"downstream\" in the system. On the " +"face of it, the above example might seem to indicate that the tag namespace " +"is owned by the upper echelon of people and that tags only flow downwards, " +"but that is not the case. It only shows that the usage pattern determines " +"who are interested in whose tags." msgstr "" -#. type: Labeled list -#: en/config.txt:2889 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.annotate" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2890 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.bcc" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2891 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.cc" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2892 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.ccCmd" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2893 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.chainReplyTo" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2895 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.envelopeSender" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2896 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.from" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2898 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.signedoffbycc" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2899 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.smtpPass" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2900 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.suppresscc" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2901 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.suppressFrom" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2902 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.to" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2903 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.smtpDomain" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2904 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.smtpServer" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2905 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.smtpServerPort" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2906 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.smtpServerOption" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2907 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.smtpUser" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2908 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.thread" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2909 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.transferEncoding" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2910 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.validate" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/config.txt:2911 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "sendemail.xmailer" -msgstr "git-commit(1)" +#. type: Plain text +#: en/git-tag.txt:315 +msgid "" +"A one-shot pull is a sign that a commit history is now crossing the boundary " +"between one circle of people (e.g. \"people who are primarily interested in " +"the networking part of the kernel\") who may have their own set of tags (e." +"g. \"this is the third release candidate from the networking group to be " +"proposed for general consumption with 2.6.21 release\") to another circle of " +"people (e.g. \"people who integrate various subsystem improvements\"). The " +"latter are usually not interested in the detailed tags used internally in " +"the former group (that is what \"internal\" means). That is why it is " +"desirable not to follow tags automatically in this case." +msgstr "" #. type: Plain text -#: en/config.txt:2913 -#, fuzzy -#| msgid "git-commit(1)" -msgid "See linkgit:git-send-email[1] for description." -msgstr "git-commit(1)" +#: en/git-tag.txt:321 +msgid "" +"It may well be that among networking people, they may want to exchange the " +"tags internal to their group, but in that workflow they are most likely " +"tracking each other's progress by having remote-tracking branches. Again, " +"the heuristic to automatically follow such tags is a good thing." +msgstr "" -#. type: Labeled list -#: en/config.txt:2914 +#. type: Title ~ +#: en/git-tag.txt:324 #, no-wrap -msgid "sendemail.signedoffcc (deprecated)" +msgid "On Backdating Tags" msgstr "" #. type: Plain text -#: en/config.txt:2916 -msgid "Deprecated alias for `sendemail.signedoffbycc`." +#: en/git-tag.txt:331 +msgid "" +"If you have imported some changes from another VCS and would like to add " +"tags for major releases of your work, it is useful to be able to specify the " +"date to embed inside of the tag object; such data in the tag object affects, " +"for example, the ordering of tags in the gitweb interface." msgstr "" -#. type: Labeled list -#: en/config.txt:2917 -#, fuzzy, no-wrap -#| msgid "default" -msgid "showbranch.default" -msgstr "default" +#. type: Plain text +#: en/git-tag.txt:335 +msgid "" +"To set the date used in future tag objects, set the environment variable " +"GIT_COMMITTER_DATE (see the later discussion of possible values; the most " +"common form is \"YYYY-MM-DD HH:MM\")." +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:340 +#, no-wrap +msgid "$ GIT_COMMITTER_DATE=\"2006-10-02 10:31\" git tag -s v1.0.1\n" +msgstr "" # #. type: Plain text -#: en/config.txt:2920 +#: en/git-tag.txt:348 #, fuzzy #| msgid "" #| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" #| "merge[1], linkgit:git-commit-tree[1]" -msgid "" -"The default set of branches for linkgit:git-show-branch[1]. See linkgit:git-" -"show-branch[1]." +msgid "linkgit:git-check-ref-format[1]. linkgit:git-config[1]." msgstr "" "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" "merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/config.txt:2921 +#. type: Title = +#: en/git.txt:2 #, no-wrap -msgid "splitIndex.maxPercentChange" -msgstr "" +msgid "git(1)" +msgstr "git(1)" #. type: Plain text -#: en/config.txt:2933 -msgid "" -"When the split index feature is used, this specifies the percent of entries " -"the split index can contain compared to the total number of entries in both " -"the split index and the shared index before a new shared index is written. " -"The value should be between 0 and 100. If the value is 0 then a new shared " -"index is always written, if it is 100 a new shared index is never written. " -"By default the value is 20, so a new shared index is written if the number " -"of entries in the split index would be greater than 20 percent of the total " -"number of entries. See linkgit:git-update-index[1]." +#: en/git.txt:7 +msgid "git - the stupid content tracker" msgstr "" -#. type: Labeled list -#: en/config.txt:2934 +#. type: Plain text +#: en/git.txt:18 #, no-wrap -msgid "splitIndex.sharedIndexExpire" +msgid "" +"'git' [--version] [--help] [-C <path>] [-c <name>=<value>]\n" +" [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n" +" [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]\n" +" [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n" +" [--super-prefix=<path>]\n" +" <command> [<args>]\n" msgstr "" #. type: Plain text -#: en/config.txt:2945 +#: en/git.txt:24 msgid "" -"When the split index feature is used, shared index files that were not " -"modified since the time this variable specifies will be removed when a new " -"shared index file is created. The value \"now\" expires all entries " -"immediately, and \"never\" suppresses expiration altogether. The default " -"value is \"2.weeks.ago\". Note that a shared index file is considered " -"modified (for the purpose of expiration) each time a new split-index file is " -"either created based on it or read from it. See linkgit:git-update-index[1]." +"Git is a fast, scalable, distributed revision control system with an " +"unusually rich command set that provides both high-level operations and full " +"access to internals." msgstr "" -#. type: Labeled list -#: en/config.txt:2946 -#, fuzzy, no-wrap -#| msgid "status" -msgid "status.relativePaths" -msgstr "status" - #. type: Plain text -#: en/config.txt:2951 +#: en/git.txt:29 msgid "" -"By default, linkgit:git-status[1] shows paths relative to the current " -"directory. Setting this variable to `false` shows paths relative to the " -"repository root (this was the default for Git prior to v1.5.4)." +"See linkgit:gittutorial[7] to get started, then see linkgit:giteveryday[7] " +"for a useful minimum set of commands. The link:user-manual.html[Git User's " +"Manual] has a more in-depth introduction." msgstr "" -#. type: Labeled list -#: en/config.txt:2952 -#, fuzzy, no-wrap -#| msgid "status" -msgid "status.short" -msgstr "status" - #. type: Plain text -#: en/config.txt:2955 +#: en/git.txt:34 msgid "" -"Set to true to enable --short by default in linkgit:git-status[1]. The " -"option --no-short takes precedence over this variable." +"After you mastered the basic concepts, you can come back to this page to " +"learn what commands Git offers. You can learn more about individual Git " +"commands with \"git help command\". linkgit:gitcli[7] manual page gives you " +"an overview of the command-line command syntax." msgstr "" -#. type: Labeled list -#: en/config.txt:2956 -#, fuzzy, no-wrap -#| msgid "status" -msgid "status.branch" -msgstr "status" - #. type: Plain text -#: en/config.txt:2959 +#: en/git.txt:37 msgid "" -"Set to true to enable --branch by default in linkgit:git-status[1]. The " -"option --no-branch takes precedence over this variable." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2960 -#, no-wrap -msgid "status.displayCommentPrefix" +"A formatted and hyperlinked copy of the latest Git documentation can be " +"viewed at `https://git.github.io/htmldocs/git.html`." msgstr "" -#. type: Plain text -#: en/config.txt:2966 +#. type: delimited block = +#: en/git.txt:46 msgid "" -"If set to true, linkgit:git-status[1] will insert a comment prefix before " -"each output line (starting with `core.commentChar`, i.e. `#` by default). " -"This was the behavior of linkgit:git-status[1] in Git 1.8.4 and previous. " -"Defaults to false." +"You are reading the documentation for the latest (possibly unreleased) " +"version of Git, that is available from the 'master' branch of the `git.git` " +"repository. Documentation for older releases are available here:" msgstr "" -#. type: Labeled list -#: en/config.txt:2967 -#, no-wrap -msgid "status.showUntrackedFiles" +#. type: delimited block = +#: en/git.txt:48 +msgid "link:v2.12.1/git.html[documentation for release 2.12.1]" msgstr "" -#. type: Plain text -#: en/config.txt:2975 +#. type: delimited block = +#: en/git.txt:52 msgid "" -"By default, linkgit:git-status[1] and linkgit:git-commit[1] show files which " -"are not currently tracked by Git. Directories which contain only untracked " -"files, are shown with the directory name only. Showing untracked files means " -"that Git needs to lstat() all the files in the whole repository, which might " -"be slow on some systems. So, this variable controls how the commands " -"displays the untracked files. Possible values are:" +"release notes for link:RelNotes/2.12.1.txt[2.12.1]. link:RelNotes/2.12.0." +"txt[2.12]." msgstr "" -#. type: Plain text -#: en/config.txt:2978 -#, fuzzy -#| msgid "'no' - Show no untracked files\n" -msgid "`no` - Show no untracked files." -msgstr "'no' - Ne montrer aucun fichier non-suivi\n" - -#. type: Plain text -#: en/config.txt:2979 -#, fuzzy -#| msgid "'normal' - Shows untracked files and directories\n" -msgid "`normal` - Show untracked files and directories." -msgstr "'normal' - Montrer les fichiers et les dossiers non-suivis\n" - -#. type: Plain text -#: en/config.txt:2980 -#, fuzzy -#| msgid "'all' - Also shows individual files in untracked directories.\n" -msgid "`all` - Show also individual files in untracked directories." +#. type: delimited block = +#: en/git.txt:54 +msgid "link:v2.11.1/git.html[documentation for release 2.11.1]" msgstr "" -"'all' - Montrer aussi les fichiers individuels dans le dossiers non-" -"suivis.\n" -#. type: Plain text -#: en/config.txt:2985 +#. type: delimited block = +#: en/git.txt:58 msgid "" -"If this variable is not specified, it defaults to 'normal'. This variable " -"can be overridden with the -u|--untracked-files option of linkgit:git-" -"status[1] and linkgit:git-commit[1]." +"release notes for link:RelNotes/2.11.1.txt[2.11.1], link:RelNotes/2.11.0." +"txt[2.11]." msgstr "" -#. type: Labeled list -#: en/config.txt:2986 -#, no-wrap -msgid "status.submoduleSummary" +#. type: delimited block = +#: en/git.txt:60 +msgid "link:v2.10.2/git.html[documentation for release 2.10.2]" msgstr "" -#. type: Plain text -#: en/config.txt:3001 +#. type: delimited block = +#: en/git.txt:65 msgid "" -"Defaults to false. If this is set to a non zero number or true (identical " -"to -1 or an unlimited number), the submodule summary will be enabled and a " -"summary of commits for modified submodules will be shown (see --summary-" -"limit option of linkgit:git-submodule[1]). Please note that the summary " -"output command will be suppressed for all submodules when `diff." -"ignoreSubmodules` is set to 'all' or only for those submodules where " -"`submodule.<name>.ignore=all`. The only exception to that rule is that " -"status and commit will show staged submodule changes. To also view the " -"summary for ignored submodules you can either use the --ignore-" -"submodules=dirty command-line option or the 'git submodule summary' command, " -"which shows a similar output but does not honor these settings." +"release notes for link:RelNotes/2.10.2.txt[2.10.2], link:RelNotes/2.10.1." +"txt[2.10.1], link:RelNotes/2.10.0.txt[2.10]." msgstr "" -#. type: Labeled list -#: en/config.txt:3002 -#, fuzzy, no-wrap -#| msgid "status" -msgid "stash.showPatch" -msgstr "status" +#. type: delimited block = +#: en/git.txt:67 +msgid "link:v2.9.3/git.html[documentation for release 2.9.3]" +msgstr "" -#. type: Plain text -#: en/config.txt:3006 +#. type: delimited block = +#: en/git.txt:73 msgid "" -"If this is set to true, the `git stash show` command without an option will " -"show the stash in patch form. Defaults to false. See description of 'show' " -"command in linkgit:git-stash[1]." +"release notes for link:RelNotes/2.9.3.txt[2.9.3], link:RelNotes/2.9.2." +"txt[2.9.2], link:RelNotes/2.9.1.txt[2.9.1], link:RelNotes/2.9.0.txt[2.9]." msgstr "" -#. type: Labeled list -#: en/config.txt:3007 -#, fuzzy, no-wrap -#| msgid "status" -msgid "stash.showStat" -msgstr "status" +#. type: delimited block = +#: en/git.txt:75 +msgid "link:v2.8.4/git.html[documentation for release 2.8.4]" +msgstr "" -#. type: Plain text -#: en/config.txt:3011 +#. type: delimited block = +#: en/git.txt:82 msgid "" -"If this is set to true, the `git stash show` command without an option will " -"show diffstat of the stash. Defaults to true. See description of 'show' " -"command in linkgit:git-stash[1]." +"release notes for link:RelNotes/2.8.4.txt[2.8.4], link:RelNotes/2.8.3." +"txt[2.8.3], link:RelNotes/2.8.2.txt[2.8.2], link:RelNotes/2.8.1.txt[2.8.1], " +"link:RelNotes/2.8.0.txt[2.8]." msgstr "" -#. type: Labeled list -#: en/config.txt:3012 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "submodule.<name>.url" -msgstr "git-add(1)" +#. type: delimited block = +#: en/git.txt:84 +msgid "link:v2.7.3/git.html[documentation for release 2.7.3]" +msgstr "" -#. type: Plain text -#: en/config.txt:3019 +#. type: delimited block = +#: en/git.txt:90 msgid "" -"The URL for a submodule. This variable is copied from the .gitmodules file " -"to the git config via 'git submodule init'. The user can change the " -"configured URL before obtaining the submodule via 'git submodule update'. " -"After obtaining the submodule, the presence of this variable is used as a " -"sign whether the submodule is of interest to git commands. See linkgit:git-" -"submodule[1] and linkgit:gitmodules[5] for details." +"release notes for link:RelNotes/2.7.3.txt[2.7.3], link:RelNotes/2.7.2." +"txt[2.7.2], link:RelNotes/2.7.1.txt[2.7.1], link:RelNotes/2.7.0.txt[2.7]." msgstr "" -#. type: Labeled list -#: en/config.txt:3020 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "submodule.<name>.update" -msgstr "git-add(1)" +#. type: delimited block = +#: en/git.txt:92 +msgid "link:v2.6.6/git.html[documentation for release 2.6.6]" +msgstr "" -#. type: Plain text -#: en/config.txt:3025 +#. type: delimited block = +#: en/git.txt:101 msgid "" -"The default update procedure for a submodule. This variable is populated by " -"`git submodule init` from the linkgit:gitmodules[5] file. See description of " -"'update' command in linkgit:git-submodule[1]." +"release notes for link:RelNotes/2.6.6.txt[2.6.6], link:RelNotes/2.6.5." +"txt[2.6.5], link:RelNotes/2.6.4.txt[2.6.4], link:RelNotes/2.6.3.txt[2.6.3], " +"link:RelNotes/2.6.2.txt[2.6.2], link:RelNotes/2.6.1.txt[2.6.1], link:" +"RelNotes/2.6.0.txt[2.6]." msgstr "" -#. type: Labeled list -#: en/config.txt:3026 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "submodule.<name>.branch" -msgstr "git-add(1)" +#. type: delimited block = +#: en/git.txt:103 +msgid "link:v2.5.5/git.html[documentation for release 2.5.5]" +msgstr "" -#. type: Plain text -#: en/config.txt:3031 +#. type: delimited block = +#: en/git.txt:111 msgid "" -"The remote branch name for a submodule, used by `git submodule update --" -"remote`. Set this option to override the value found in the `.gitmodules` " -"file. See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details." +"release notes for link:RelNotes/2.5.5.txt[2.5.5], link:RelNotes/2.5.4." +"txt[2.5.4], link:RelNotes/2.5.3.txt[2.5.3], link:RelNotes/2.5.2.txt[2.5.2], " +"link:RelNotes/2.5.1.txt[2.5.1], link:RelNotes/2.5.0.txt[2.5]." msgstr "" -#. type: Labeled list -#: en/config.txt:3032 -#, no-wrap -msgid "submodule.<name>.fetchRecurseSubmodules" +#. type: delimited block = +#: en/git.txt:113 +msgid "link:v2.4.11/git.html[documentation for release 2.4.11]" msgstr "" -#. type: Plain text -#: en/config.txt:3038 +#. type: delimited block = +#: en/git.txt:127 msgid "" -"This option can be used to control recursive fetching of this submodule. It " -"can be overridden by using the --[no-]recurse-submodules command-line option " -"to \"git fetch\" and \"git pull\". This setting will override that from in " -"the linkgit:gitmodules[5] file." +"release notes for link:RelNotes/2.4.11.txt[2.4.11], link:RelNotes/2.4.10." +"txt[2.4.10], link:RelNotes/2.4.9.txt[2.4.9], link:RelNotes/2.4.8.txt[2.4.8], " +"link:RelNotes/2.4.7.txt[2.4.7], link:RelNotes/2.4.6.txt[2.4.6], link:" +"RelNotes/2.4.5.txt[2.4.5], link:RelNotes/2.4.4.txt[2.4.4], link:" +"RelNotes/2.4.3.txt[2.4.3], link:RelNotes/2.4.2.txt[2.4.2], link:" +"RelNotes/2.4.1.txt[2.4.1], link:RelNotes/2.4.0.txt[2.4]." msgstr "" -#. type: Labeled list -#: en/config.txt:3039 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "submodule.<name>.ignore" -msgstr "git-add(1)" +#. type: delimited block = +#: en/git.txt:129 +msgid "link:v2.3.10/git.html[documentation for release 2.3.10]" +msgstr "" -#. type: Plain text -#: en/config.txt:3054 +#. type: delimited block = +#: en/git.txt:142 msgid "" -"Defines under what circumstances \"git status\" and the diff family show a " -"submodule as modified. When set to \"all\", it will never be considered " -"modified (but it will nonetheless show up in the output of status and commit " -"when it has been staged), \"dirty\" will ignore all changes to the " -"submodules work tree and takes only differences between the HEAD of the " -"submodule and the commit recorded in the superproject into account. " -"\"untracked\" will additionally let submodules with modified tracked files " -"in their work tree show up. Using \"none\" (the default when this option is " -"not set) also shows submodules that have untracked files in their work tree " -"as changed. This setting overrides any setting made in .gitmodules for this " -"submodule, both settings can be overridden on the command line by using the " -"\"--ignore-submodules\" option. The 'git submodule' commands are not " -"affected by this setting." +"release notes for link:RelNotes/2.3.10.txt[2.3.10], link:RelNotes/2.3.9." +"txt[2.3.9], link:RelNotes/2.3.8.txt[2.3.8], link:RelNotes/2.3.7.txt[2.3.7], " +"link:RelNotes/2.3.6.txt[2.3.6], link:RelNotes/2.3.5.txt[2.3.5], link:" +"RelNotes/2.3.4.txt[2.3.4], link:RelNotes/2.3.3.txt[2.3.3], link:" +"RelNotes/2.3.2.txt[2.3.2], link:RelNotes/2.3.1.txt[2.3.1], link:" +"RelNotes/2.3.0.txt[2.3]." msgstr "" -#. type: Labeled list -#: en/config.txt:3055 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "submodule.fetchJobs" -msgstr "git-add(1)" +#. type: delimited block = +#: en/git.txt:144 +msgid "link:v2.2.3/git.html[documentation for release 2.2.3]" +msgstr "" -#. type: Plain text -#: en/config.txt:3060 +#. type: delimited block = +#: en/git.txt:150 msgid "" -"Specifies how many submodules are fetched/cloned at the same time. A " -"positive integer allows up to that number of submodules fetched in parallel. " -"A value of 0 will give some reasonable default. If unset, it defaults to 1." +"release notes for link:RelNotes/2.2.3.txt[2.2.3], link:RelNotes/2.2.2." +"txt[2.2.2], link:RelNotes/2.2.1.txt[2.2.1], link:RelNotes/2.2.0.txt[2.2]." msgstr "" -#. type: Labeled list -#: en/config.txt:3061 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "submodule.alternateLocation" -msgstr "git-add(1)" +#. type: delimited block = +#: en/git.txt:152 +msgid "link:v2.1.4/git.html[documentation for release 2.1.4]" +msgstr "" -#. type: Plain text -#: en/config.txt:3067 +#. type: delimited block = +#: en/git.txt:159 msgid "" -"Specifies how the submodules obtain alternates when submodules are cloned. " -"Possible values are `no`, `superproject`. By default `no` is assumed, which " -"doesn't add references. When the value is set to `superproject` the " -"submodule to be cloned computes its alternates location relative to the " -"superprojects alternate." +"release notes for link:RelNotes/2.1.4.txt[2.1.4], link:RelNotes/2.1.3." +"txt[2.1.3], link:RelNotes/2.1.2.txt[2.1.2], link:RelNotes/2.1.1.txt[2.1.1], " +"link:RelNotes/2.1.0.txt[2.1]." msgstr "" -#. type: Labeled list -#: en/config.txt:3068 -#, no-wrap -msgid "submodule.alternateErrorStrategy" +#. type: delimited block = +#: en/git.txt:161 +msgid "link:v2.0.5/git.html[documentation for release 2.0.5]" msgstr "" -#. type: Plain text -#: en/config.txt:3072 +#. type: delimited block = +#: en/git.txt:169 msgid "" -"Specifies how to treat errors with the alternates for a submodule as " -"computed via `submodule.alternateLocation`. Possible values are `ignore`, " -"`info`, `die`. Default is `die`." +"release notes for link:RelNotes/2.0.5.txt[2.0.5], link:RelNotes/2.0.4." +"txt[2.0.4], link:RelNotes/2.0.3.txt[2.0.3], link:RelNotes/2.0.2.txt[2.0.2], " +"link:RelNotes/2.0.1.txt[2.0.1], link:RelNotes/2.0.0.txt[2.0.0]." msgstr "" -#. type: Labeled list -#: en/config.txt:3073 -#, no-wrap -msgid "tag.forceSignAnnotated" +#. type: delimited block = +#: en/git.txt:171 +msgid "link:v1.9.5/git.html[documentation for release 1.9.5]" msgstr "" -#. type: Plain text -#: en/config.txt:3077 +#. type: delimited block = +#: en/git.txt:179 msgid "" -"A boolean to specify whether annotated tags created should be GPG signed. " -"If `--annotate` is specified on the command line, it takes precedence over " -"this option." +"release notes for link:RelNotes/1.9.5.txt[1.9.5], link:RelNotes/1.9.4." +"txt[1.9.4], link:RelNotes/1.9.3.txt[1.9.3], link:RelNotes/1.9.2.txt[1.9.2], " +"link:RelNotes/1.9.1.txt[1.9.1], link:RelNotes/1.9.0.txt[1.9.0]." msgstr "" -#. type: Labeled list -#: en/config.txt:3078 -#, no-wrap -msgid "tag.sort" +#. type: delimited block = +#: en/git.txt:181 +msgid "link:v1.8.5.6/git.html[documentation for release 1.8.5.6]" msgstr "" -#. type: Plain text -#: en/config.txt:3082 +#. type: delimited block = +#: en/git.txt:190 msgid "" -"This variable controls the sort ordering of tags when displayed by linkgit:" -"git-tag[1]. Without the \"--sort=<value>\" option provided, the value of " -"this variable will be used as the default." +"release notes for link:RelNotes/1.8.5.6.txt[1.8.5.6], link:RelNotes/1.8.5.5." +"txt[1.8.5.5], link:RelNotes/1.8.5.4.txt[1.8.5.4], link:RelNotes/1.8.5.3." +"txt[1.8.5.3], link:RelNotes/1.8.5.2.txt[1.8.5.2], link:RelNotes/1.8.5.1." +"txt[1.8.5.1], link:RelNotes/1.8.5.txt[1.8.5]." msgstr "" -#. type: Plain text -#: en/config.txt:3089 +#. type: delimited block = +#: en/git.txt:192 +msgid "link:v1.8.4.5/git.html[documentation for release 1.8.4.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:200 msgid "" -"This variable can be used to restrict the permission bits of tar archive " -"entries. The default is 0002, which turns off the world write bit. The " -"special value \"user\" indicates that the archiving user's umask will be " -"used instead. See umask(2) and linkgit:git-archive[1]." +"release notes for link:RelNotes/1.8.4.5.txt[1.8.4.5], link:RelNotes/1.8.4.4." +"txt[1.8.4.4], link:RelNotes/1.8.4.3.txt[1.8.4.3], link:RelNotes/1.8.4.2." +"txt[1.8.4.2], link:RelNotes/1.8.4.1.txt[1.8.4.1], link:RelNotes/1.8.4." +"txt[1.8.4]." msgstr "" -#. type: Labeled list -#: en/config.txt:3090 -#, fuzzy, no-wrap -#| msgid "git-fsck-objects(1)" -msgid "transfer.fsckObjects" -msgstr "git-fsck-objects(1)" +#. type: delimited block = +#: en/git.txt:202 +msgid "link:v1.8.3.4/git.html[documentation for release 1.8.3.4]" +msgstr "" -#. type: Plain text -#: en/config.txt:3094 +#. type: delimited block = +#: en/git.txt:209 msgid "" -"When `fetch.fsckObjects` or `receive.fsckObjects` are not set, the value of " -"this variable is used instead. Defaults to false." +"release notes for link:RelNotes/1.8.3.4.txt[1.8.3.4], link:RelNotes/1.8.3.3." +"txt[1.8.3.3], link:RelNotes/1.8.3.2.txt[1.8.3.2], link:RelNotes/1.8.3.1." +"txt[1.8.3.1], link:RelNotes/1.8.3.txt[1.8.3]." msgstr "" -#. type: Labeled list -#: en/config.txt:3095 -#, no-wrap -msgid "transfer.hideRefs" +#. type: delimited block = +#: en/git.txt:211 +msgid "link:v1.8.2.3/git.html[documentation for release 1.8.2.3]" msgstr "" -#. type: Plain text -#: en/config.txt:3103 +#. type: delimited block = +#: en/git.txt:217 msgid "" -"String(s) `receive-pack` and `upload-pack` use to decide which refs to omit " -"from their initial advertisements. Use more than one definition to specify " -"multiple prefix strings. A ref that is under the hierarchies listed in the " -"value of this variable is excluded, and is hidden when responding to `git " -"push` or `git fetch`. See `receive.hideRefs` and `uploadpack.hideRefs` for " -"program-specific versions of this config." +"release notes for link:RelNotes/1.8.2.3.txt[1.8.2.3], link:RelNotes/1.8.2.2." +"txt[1.8.2.2], link:RelNotes/1.8.2.1.txt[1.8.2.1], link:RelNotes/1.8.2." +"txt[1.8.2]." msgstr "" -#. type: Plain text -#: en/config.txt:3108 -msgid "" -"You may also include a `!` in front of the ref name to negate the entry, " -"explicitly exposing it, even if an earlier entry marked it as hidden. If " -"you have multiple hideRefs values, later entries override earlier ones (and " -"entries in more-specific config files override less-specific ones)." +#. type: delimited block = +#: en/git.txt:219 +msgid "link:v1.8.1.6/git.html[documentation for release 1.8.1.6]" msgstr "" -#. type: Plain text -#: en/config.txt:3117 +#. type: delimited block = +#: en/git.txt:228 msgid "" -"If a namespace is in use, the namespace prefix is stripped from each " -"reference before it is matched against `transfer.hiderefs` patterns. For " -"example, if `refs/heads/master` is specified in `transfer.hideRefs` and the " -"current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master` is " -"omitted from the advertisements but `refs/heads/master` and `refs/namespaces/" -"bar/refs/heads/master` are still advertised as so-called \"have\" lines. In " -"order to match refs before stripping, add a `^` in front of the ref name. If " -"you combine `!` and `^`, `!` must be specified first." +"release notes for link:RelNotes/1.8.1.6.txt[1.8.1.6], link:RelNotes/1.8.1.5." +"txt[1.8.1.5], link:RelNotes/1.8.1.4.txt[1.8.1.4], link:RelNotes/1.8.1.3." +"txt[1.8.1.3], link:RelNotes/1.8.1.2.txt[1.8.1.2], link:RelNotes/1.8.1.1." +"txt[1.8.1.1], link:RelNotes/1.8.1.txt[1.8.1]." msgstr "" -#. type: Plain text -#: en/config.txt:3122 +#. type: delimited block = +#: en/git.txt:230 +msgid "link:v1.8.0.3/git.html[documentation for release 1.8.0.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:236 msgid "" -"Even if you hide refs, a client may still be able to steal the target " -"objects via the techniques described in the \"SECURITY\" section of the " -"linkgit:gitnamespaces[7] man page; it's best to keep private data in a " -"separate repository." +"release notes for link:RelNotes/1.8.0.3.txt[1.8.0.3], link:RelNotes/1.8.0.2." +"txt[1.8.0.2], link:RelNotes/1.8.0.1.txt[1.8.0.1], link:RelNotes/1.8.0." +"txt[1.8.0]." msgstr "" -#. type: Labeled list -#: en/config.txt:3123 -#, no-wrap -msgid "transfer.unpackLimit" +#. type: delimited block = +#: en/git.txt:238 +msgid "link:v1.7.12.4/git.html[documentation for release 1.7.12.4]" msgstr "" -#. type: Plain text -#: en/config.txt:3127 +#. type: delimited block = +#: en/git.txt:245 msgid "" -"When `fetch.unpackLimit` or `receive.unpackLimit` are not set, the value of " -"this variable is used instead. The default value is 100." +"release notes for link:RelNotes/1.7.12.4.txt[1.7.12.4], link:" +"RelNotes/1.7.12.3.txt[1.7.12.3], link:RelNotes/1.7.12.2.txt[1.7.12.2], link:" +"RelNotes/1.7.12.1.txt[1.7.12.1], link:RelNotes/1.7.12.txt[1.7.12]." msgstr "" -#. type: Labeled list -#: en/config.txt:3128 -#, no-wrap -msgid "uploadarchive.allowUnreachable" +#. type: delimited block = +#: en/git.txt:247 +msgid "link:v1.7.11.7/git.html[documentation for release 1.7.11.7]" msgstr "" -#. type: Plain text -#: en/config.txt:3134 +#. type: delimited block = +#: en/git.txt:257 msgid "" -"If true, allow clients to use `git archive --remote` to request any tree, " -"whether reachable from the ref tips or not. See the discussion in the " -"\"SECURITY\" section of linkgit:git-upload-archive[1] for more details. " -"Defaults to `false`." +"release notes for link:RelNotes/1.7.11.7.txt[1.7.11.7], link:" +"RelNotes/1.7.11.6.txt[1.7.11.6], link:RelNotes/1.7.11.5.txt[1.7.11.5], link:" +"RelNotes/1.7.11.4.txt[1.7.11.4], link:RelNotes/1.7.11.3.txt[1.7.11.3], link:" +"RelNotes/1.7.11.2.txt[1.7.11.2], link:RelNotes/1.7.11.1.txt[1.7.11.1], link:" +"RelNotes/1.7.11.txt[1.7.11]." msgstr "" -#. type: Labeled list -#: en/config.txt:3135 -#, no-wrap -msgid "uploadpack.hideRefs" +#. type: delimited block = +#: en/git.txt:259 +msgid "link:v1.7.10.5/git.html[documentation for release 1.7.10.5]" msgstr "" -#. type: Plain text -#: en/config.txt:3140 +#. type: delimited block = +#: en/git.txt:267 msgid "" -"This variable is the same as `transfer.hideRefs`, but applies only to " -"`upload-pack` (and so affects only fetches, not pushes). An attempt to " -"fetch a hidden ref by `git fetch` will fail. See also `uploadpack." -"allowTipSHA1InWant`." +"release notes for link:RelNotes/1.7.10.5.txt[1.7.10.5], link:" +"RelNotes/1.7.10.4.txt[1.7.10.4], link:RelNotes/1.7.10.3.txt[1.7.10.3], link:" +"RelNotes/1.7.10.2.txt[1.7.10.2], link:RelNotes/1.7.10.1.txt[1.7.10.1], link:" +"RelNotes/1.7.10.txt[1.7.10]." msgstr "" -#. type: Labeled list -#: en/config.txt:3141 -#, no-wrap -msgid "uploadpack.allowTipSHA1InWant" +#. type: delimited block = +#: en/git.txt:269 +msgid "link:v1.7.9.7/git.html[documentation for release 1.7.9.7]" msgstr "" -#. type: Plain text -#: en/config.txt:3149 +#. type: delimited block = +#: en/git.txt:279 msgid "" -"When `uploadpack.hideRefs` is in effect, allow `upload-pack` to accept a " -"fetch request that asks for an object at the tip of a hidden ref (by " -"default, such a request is rejected). See also `uploadpack.hideRefs`. Even " -"if this is false, a client may be able to steal objects via the techniques " -"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " -"page; it's best to keep private data in a separate repository." +"release notes for link:RelNotes/1.7.9.7.txt[1.7.9.7], link:RelNotes/1.7.9.6." +"txt[1.7.9.6], link:RelNotes/1.7.9.5.txt[1.7.9.5], link:RelNotes/1.7.9.4." +"txt[1.7.9.4], link:RelNotes/1.7.9.3.txt[1.7.9.3], link:RelNotes/1.7.9.2." +"txt[1.7.9.2], link:RelNotes/1.7.9.1.txt[1.7.9.1], link:RelNotes/1.7.9." +"txt[1.7.9]." msgstr "" -#. type: Labeled list -#: en/config.txt:3150 -#, no-wrap -msgid "uploadpack.allowReachableSHA1InWant" +#. type: delimited block = +#: en/git.txt:281 +msgid "link:v1.7.8.6/git.html[documentation for release 1.7.8.6]" msgstr "" -#. type: Plain text -#: en/config.txt:3158 +#. type: delimited block = +#: en/git.txt:290 msgid "" -"Allow `upload-pack` to accept a fetch request that asks for an object that " -"is reachable from any ref tip. However, note that calculating object " -"reachability is computationally expensive. Defaults to `false`. Even if " -"this is false, a client may be able to steal objects via the techniques " -"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " -"page; it's best to keep private data in a separate repository." +"release notes for link:RelNotes/1.7.8.6.txt[1.7.8.6], link:RelNotes/1.7.8.5." +"txt[1.7.8.5], link:RelNotes/1.7.8.4.txt[1.7.8.4], link:RelNotes/1.7.8.3." +"txt[1.7.8.3], link:RelNotes/1.7.8.2.txt[1.7.8.2], link:RelNotes/1.7.8.1." +"txt[1.7.8.1], link:RelNotes/1.7.8.txt[1.7.8]." msgstr "" -#. type: Labeled list -#: en/config.txt:3159 -#, no-wrap -msgid "uploadpack.allowAnySHA1InWant" +#. type: delimited block = +#: en/git.txt:292 +msgid "link:v1.7.7.7/git.html[documentation for release 1.7.7.7]" msgstr "" -#. type: Plain text -#: en/config.txt:3163 +#. type: delimited block = +#: en/git.txt:302 msgid "" -"Allow `upload-pack` to accept a fetch request that asks for any object at " -"all. Defaults to `false`." +"release notes for link:RelNotes/1.7.7.7.txt[1.7.7.7], link:RelNotes/1.7.7.6." +"txt[1.7.7.6], link:RelNotes/1.7.7.5.txt[1.7.7.5], link:RelNotes/1.7.7.4." +"txt[1.7.7.4], link:RelNotes/1.7.7.3.txt[1.7.7.3], link:RelNotes/1.7.7.2." +"txt[1.7.7.2], link:RelNotes/1.7.7.1.txt[1.7.7.1], link:RelNotes/1.7.7." +"txt[1.7.7]." msgstr "" -#. type: Labeled list -#: en/config.txt:3164 -#, no-wrap -msgid "uploadpack.keepAlive" +#. type: delimited block = +#: en/git.txt:304 +msgid "link:v1.7.6.6/git.html[documentation for release 1.7.6.6]" msgstr "" -#. type: Plain text -#: en/config.txt:3174 +#. type: delimited block = +#: en/git.txt:313 msgid "" -"When `upload-pack` has started `pack-objects`, there may be a quiet period " -"while `pack-objects` prepares the pack. Normally it would output progress " -"information, but if `--quiet` was used for the fetch, `pack-objects` will " -"output nothing at all until the pack data begins. Some clients and networks " -"may consider the server to be hung and give up. Setting this option " -"instructs `upload-pack` to send an empty keepalive packet every `uploadpack." -"keepAlive` seconds. Setting this option to 0 disables keepalive packets " -"entirely. The default is 5 seconds." +"release notes for link:RelNotes/1.7.6.6.txt[1.7.6.6], link:RelNotes/1.7.6.5." +"txt[1.7.6.5], link:RelNotes/1.7.6.4.txt[1.7.6.4], link:RelNotes/1.7.6.3." +"txt[1.7.6.3], link:RelNotes/1.7.6.2.txt[1.7.6.2], link:RelNotes/1.7.6.1." +"txt[1.7.6.1], link:RelNotes/1.7.6.txt[1.7.6]." msgstr "" -#. type: Labeled list -#: en/config.txt:3175 -#, no-wrap -msgid "uploadpack.packObjectsHook" +#. type: delimited block = +#: en/git.txt:315 +msgid "link:v1.7.5.4/git.html[documentation for release 1.7.5.4]" msgstr "" -#. type: Plain text -#: en/config.txt:3185 +#. type: delimited block = +#: en/git.txt:322 msgid "" -"If this option is set, when `upload-pack` would run `git pack-objects` to " -"create a packfile for a client, it will run this shell command instead. The " -"`pack-objects` command and arguments it _would_ have run (including the `git " -"pack-objects` at the beginning) are appended to the shell command. The stdin " -"and stdout of the hook are treated as if `pack-objects` itself was run. I." -"e., `upload-pack` will feed input intended for `pack-objects` to the hook, " -"and expects a completed packfile on stdout." +"release notes for link:RelNotes/1.7.5.4.txt[1.7.5.4], link:RelNotes/1.7.5.3." +"txt[1.7.5.3], link:RelNotes/1.7.5.2.txt[1.7.5.2], link:RelNotes/1.7.5.1." +"txt[1.7.5.1], link:RelNotes/1.7.5.txt[1.7.5]." msgstr "" -#. type: Plain text -#: en/config.txt:3189 +#. type: delimited block = +#: en/git.txt:324 +msgid "link:v1.7.4.5/git.html[documentation for release 1.7.4.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:332 msgid "" -"Note that this configuration variable is ignored if it is seen in the " -"repository-level config (this is a safety measure against fetching from " -"untrusted repositories)." +"release notes for link:RelNotes/1.7.4.5.txt[1.7.4.5], link:RelNotes/1.7.4.4." +"txt[1.7.4.4], link:RelNotes/1.7.4.3.txt[1.7.4.3], link:RelNotes/1.7.4.2." +"txt[1.7.4.2], link:RelNotes/1.7.4.1.txt[1.7.4.1], link:RelNotes/1.7.4." +"txt[1.7.4]." msgstr "" -#. type: Labeled list -#: en/config.txt:3190 -#, no-wrap -msgid "url.<base>.insteadOf" +#. type: delimited block = +#: en/git.txt:334 +msgid "link:v1.7.3.5/git.html[documentation for release 1.7.3.5]" msgstr "" -#. type: Plain text -#: en/config.txt:3200 +#. type: delimited block = +#: en/git.txt:342 msgid "" -"Any URL that starts with this value will be rewritten to start, instead, " -"with <base>. In cases where some site serves a large number of repositories, " -"and serves them with multiple access methods, and some users need to use " -"different access methods, this feature allows people to specify any of the " -"equivalent URLs and have Git automatically rewrite the URL to the best " -"alternative for the particular user, even for a never-before-seen repository " -"on the site. When more than one insteadOf strings match a given URL, the " -"longest match is used." +"release notes for link:RelNotes/1.7.3.5.txt[1.7.3.5], link:RelNotes/1.7.3.4." +"txt[1.7.3.4], link:RelNotes/1.7.3.3.txt[1.7.3.3], link:RelNotes/1.7.3.2." +"txt[1.7.3.2], link:RelNotes/1.7.3.1.txt[1.7.3.1], link:RelNotes/1.7.3." +"txt[1.7.3]." msgstr "" -#. type: Labeled list -#: en/config.txt:3201 -#, no-wrap -msgid "url.<base>.pushInsteadOf" +#. type: delimited block = +#: en/git.txt:344 +msgid "link:v1.7.2.5/git.html[documentation for release 1.7.2.5]" msgstr "" -#. type: Plain text -#: en/config.txt:3213 +#. type: delimited block = +#: en/git.txt:352 msgid "" -"Any URL that starts with this value will not be pushed to; instead, it will " -"be rewritten to start with <base>, and the resulting URL will be pushed to. " -"In cases where some site serves a large number of repositories, and serves " -"them with multiple access methods, some of which do not allow push, this " -"feature allows people to specify a pull-only URL and have Git automatically " -"use an appropriate URL to push, even for a never-before-seen repository on " -"the site. When more than one pushInsteadOf strings match a given URL, the " -"longest match is used. If a remote has an explicit pushurl, Git will ignore " -"this setting for that remote." +"release notes for link:RelNotes/1.7.2.5.txt[1.7.2.5], link:RelNotes/1.7.2.4." +"txt[1.7.2.4], link:RelNotes/1.7.2.3.txt[1.7.2.3], link:RelNotes/1.7.2.2." +"txt[1.7.2.2], link:RelNotes/1.7.2.1.txt[1.7.2.1], link:RelNotes/1.7.2." +"txt[1.7.2]." msgstr "" -#. type: Labeled list -#: en/config.txt:3214 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "user.email" -msgstr "git-commit(1)" +#. type: delimited block = +#: en/git.txt:354 +msgid "link:v1.7.1.4/git.html[documentation for release 1.7.1.4]" +msgstr "" -#. type: Plain text -#: en/config.txt:3218 +#. type: delimited block = +#: en/git.txt:361 msgid "" -"Your email address to be recorded in any newly created commits. Can be " -"overridden by the `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_EMAIL`, and `EMAIL` " -"environment variables. See linkgit:git-commit-tree[1]." +"release notes for link:RelNotes/1.7.1.4.txt[1.7.1.4], link:RelNotes/1.7.1.3." +"txt[1.7.1.3], link:RelNotes/1.7.1.2.txt[1.7.1.2], link:RelNotes/1.7.1.1." +"txt[1.7.1.1], link:RelNotes/1.7.1.txt[1.7.1]." msgstr "" -#. type: Labeled list -#: en/config.txt:3219 -#, no-wrap -msgid "user.name" +#. type: delimited block = +#: en/git.txt:363 +msgid "link:v1.7.0.9/git.html[documentation for release 1.7.0.9]" msgstr "" -#. type: Plain text -#: en/config.txt:3223 +#. type: delimited block = +#: en/git.txt:375 msgid "" -"Your full name to be recorded in any newly created commits. Can be " -"overridden by the `GIT_AUTHOR_NAME` and `GIT_COMMITTER_NAME` environment " -"variables. See linkgit:git-commit-tree[1]." +"release notes for link:RelNotes/1.7.0.9.txt[1.7.0.9], link:RelNotes/1.7.0.8." +"txt[1.7.0.8], link:RelNotes/1.7.0.7.txt[1.7.0.7], link:RelNotes/1.7.0.6." +"txt[1.7.0.6], link:RelNotes/1.7.0.5.txt[1.7.0.5], link:RelNotes/1.7.0.4." +"txt[1.7.0.4], link:RelNotes/1.7.0.3.txt[1.7.0.3], link:RelNotes/1.7.0.2." +"txt[1.7.0.2], link:RelNotes/1.7.0.1.txt[1.7.0.1], link:RelNotes/1.7.0." +"txt[1.7.0]." msgstr "" -#. type: Labeled list -#: en/config.txt:3224 -#, no-wrap -msgid "user.useConfigOnly" +#. type: delimited block = +#: en/git.txt:377 +msgid "link:v1.6.6.3/git.html[documentation for release 1.6.6.3]" msgstr "" -#. type: Plain text -#: en/config.txt:3233 +#. type: delimited block = +#: en/git.txt:383 msgid "" -"Instruct Git to avoid trying to guess defaults for `user.email` and `user." -"name`, and instead retrieve the values only from the configuration. For " -"example, if you have multiple email addresses and would like to use a " -"different one for each repository, then with this configuration option set " -"to `true` in the global config along with a name, Git will prompt you to set " -"up an email before making new commits in a newly cloned repository. " -"Defaults to `false`." +"release notes for link:RelNotes/1.6.6.3.txt[1.6.6.3], link:RelNotes/1.6.6.2." +"txt[1.6.6.2], link:RelNotes/1.6.6.1.txt[1.6.6.1], link:RelNotes/1.6.6." +"txt[1.6.6]." msgstr "" -#. type: Labeled list -#: en/config.txt:3234 -#, no-wrap -msgid "user.signingKey" +#. type: delimited block = +#: en/git.txt:385 +msgid "link:v1.6.5.9/git.html[documentation for release 1.6.5.9]" msgstr "" -#. type: Plain text -#: en/config.txt:3240 +#. type: delimited block = +#: en/git.txt:397 msgid "" -"If linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the key you " -"want it to automatically when creating a signed tag or commit, you can " -"override the default selection with this variable. This option is passed " -"unchanged to gpg's --local-user parameter, so you may specify a key using " -"any method that gpg supports." +"release notes for link:RelNotes/1.6.5.9.txt[1.6.5.9], link:RelNotes/1.6.5.8." +"txt[1.6.5.8], link:RelNotes/1.6.5.7.txt[1.6.5.7], link:RelNotes/1.6.5.6." +"txt[1.6.5.6], link:RelNotes/1.6.5.5.txt[1.6.5.5], link:RelNotes/1.6.5.4." +"txt[1.6.5.4], link:RelNotes/1.6.5.3.txt[1.6.5.3], link:RelNotes/1.6.5.2." +"txt[1.6.5.2], link:RelNotes/1.6.5.1.txt[1.6.5.1], link:RelNotes/1.6.5." +"txt[1.6.5]." msgstr "" -#. type: Labeled list -#: en/config.txt:3241 -#, no-wrap -msgid "versionsort.prereleaseSuffix (deprecated)" +#. type: delimited block = +#: en/git.txt:399 +msgid "link:v1.6.4.5/git.html[documentation for release 1.6.4.5]" msgstr "" -#. type: Plain text -#: en/config.txt:3244 +#. type: delimited block = +#: en/git.txt:407 msgid "" -"Deprecated alias for `versionsort.suffix`. Ignored if `versionsort.suffix` " -"is set." +"release notes for link:RelNotes/1.6.4.5.txt[1.6.4.5], link:RelNotes/1.6.4.4." +"txt[1.6.4.4], link:RelNotes/1.6.4.3.txt[1.6.4.3], link:RelNotes/1.6.4.2." +"txt[1.6.4.2], link:RelNotes/1.6.4.1.txt[1.6.4.1], link:RelNotes/1.6.4." +"txt[1.6.4]." msgstr "" -#. type: Labeled list -#: en/config.txt:3245 -#, no-wrap -msgid "versionsort.suffix" +#. type: delimited block = +#: en/git.txt:409 +msgid "link:v1.6.3.4/git.html[documentation for release 1.6.3.4]" msgstr "" -#. type: Plain text -#: en/config.txt:3252 +#. type: delimited block = +#: en/git.txt:416 msgid "" -"Even when version sort is used in linkgit:git-tag[1], tagnames with the same " -"base version but different suffixes are still sorted lexicographically, " -"resulting e.g. in prerelease tags appearing after the main release (e.g. " -"\"1.0-rc1\" after \"1.0\"). This variable can be specified to determine the " -"sorting order of tags with different suffixes." +"release notes for link:RelNotes/1.6.3.4.txt[1.6.3.4], link:RelNotes/1.6.3.3." +"txt[1.6.3.3], link:RelNotes/1.6.3.2.txt[1.6.3.2], link:RelNotes/1.6.3.1." +"txt[1.6.3.1], link:RelNotes/1.6.3.txt[1.6.3]." msgstr "" -#. type: Plain text -#: en/config.txt:3266 +#. type: delimited block = +#: en/git.txt:424 msgid "" -"By specifying a single suffix in this variable, any tagname containing that " -"suffix will appear before the corresponding main release. E.g. if the " -"variable is set to \"-rc\", then all \"1.0-rcX\" tags will appear before " -"\"1.0\". If specified multiple times, once per suffix, then the order of " -"suffixes in the configuration will determine the sorting order of tagnames " -"with those suffixes. E.g. if \"-pre\" appears before \"-rc\" in the " -"configuration, then all \"1.0-preX\" tags will be listed before any \"1.0-rcX" -"\" tags. The placement of the main release tag relative to tags with " -"various suffixes can be determined by specifying the empty suffix among " -"those other suffixes. E.g. if the suffixes \"-rc\", \"\", \"-ck\" and \"-bfs" -"\" appear in the configuration in this order, then all \"v4.8-rcX\" tags are " -"listed first, followed by \"v4.8\", then \"v4.8-ckX\" and finally \"v4.8-bfsX" -"\"." +"release notes for link:RelNotes/1.6.2.5.txt[1.6.2.5], link:RelNotes/1.6.2.4." +"txt[1.6.2.4], link:RelNotes/1.6.2.3.txt[1.6.2.3], link:RelNotes/1.6.2.2." +"txt[1.6.2.2], link:RelNotes/1.6.2.1.txt[1.6.2.1], link:RelNotes/1.6.2." +"txt[1.6.2]." msgstr "" -#. type: Plain text -#: en/config.txt:3274 +#. type: delimited block = +#: en/git.txt:426 +msgid "link:v1.6.1.3/git.html[documentation for release 1.6.1.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:432 msgid "" -"If more than one suffixes match the same tagname, then that tagname will be " -"sorted according to the suffix which starts at the earliest position in the " -"tagname. If more than one different matching suffixes start at that " -"earliest position, then that tagname will be sorted according to the longest " -"of those suffixes. The sorting order between different suffixes is " -"undefined if they are in multiple config files." +"release notes for link:RelNotes/1.6.1.3.txt[1.6.1.3], link:RelNotes/1.6.1.2." +"txt[1.6.1.2], link:RelNotes/1.6.1.1.txt[1.6.1.1], link:RelNotes/1.6.1." +"txt[1.6.1]." msgstr "" -#. type: Labeled list -#: en/config.txt:3275 -#, no-wrap -msgid "web.browser" +#. type: delimited block = +#: en/git.txt:434 +msgid "link:v1.6.0.6/git.html[documentation for release 1.6.0.6]" msgstr "" -#. type: Plain text -#: en/config.txt:3278 +#. type: delimited block = +#: en/git.txt:443 msgid "" -"Specify a web browser that may be used by some commands. Currently only " -"linkgit:git-instaweb[1] and linkgit:git-help[1] may use it." +"release notes for link:RelNotes/1.6.0.6.txt[1.6.0.6], link:RelNotes/1.6.0.5." +"txt[1.6.0.5], link:RelNotes/1.6.0.4.txt[1.6.0.4], link:RelNotes/1.6.0.3." +"txt[1.6.0.3], link:RelNotes/1.6.0.2.txt[1.6.0.2], link:RelNotes/1.6.0.1." +"txt[1.6.0.1], link:RelNotes/1.6.0.txt[1.6.0]." msgstr "" -#. type: Title - -#: en/date-formats.txt:2 -#, no-wrap -msgid "DATE FORMATS" -msgstr "FORMATS DE DATE" +#. type: delimited block = +#: en/git.txt:445 +msgid "link:v1.5.6.6/git.html[documentation for release 1.5.6.6]" +msgstr "" -#. type: Plain text -#: en/date-formats.txt:5 -msgid "The `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE` environment variables" -msgstr "Les variables d'environnement `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE`" +#. type: delimited block = +#: en/git.txt:454 +msgid "" +"release notes for link:RelNotes/1.5.6.6.txt[1.5.6.6], link:RelNotes/1.5.6.5." +"txt[1.5.6.5], link:RelNotes/1.5.6.4.txt[1.5.6.4], link:RelNotes/1.5.6.3." +"txt[1.5.6.3], link:RelNotes/1.5.6.2.txt[1.5.6.2], link:RelNotes/1.5.6.1." +"txt[1.5.6.1], link:RelNotes/1.5.6.txt[1.5.6]." +msgstr "" -#. type: Plain text -#: en/date-formats.txt:7 -msgid "and the `--date` option" -msgstr "et l'option `--date`" +#. type: delimited block = +#: en/git.txt:456 +msgid "link:v1.5.5.6/git.html[documentation for release 1.5.5.6]" +msgstr "" -#. type: Plain text -#: en/date-formats.txt:9 -msgid "support the following date formats:" -msgstr "prend en charge les formats de date suivants혻:" +#. type: delimited block = +#: en/git.txt:465 +msgid "" +"release notes for link:RelNotes/1.5.5.6.txt[1.5.5.6], link:RelNotes/1.5.5.5." +"txt[1.5.5.5], link:RelNotes/1.5.5.4.txt[1.5.5.4], link:RelNotes/1.5.5.3." +"txt[1.5.5.3], link:RelNotes/1.5.5.2.txt[1.5.5.2], link:RelNotes/1.5.5.1." +"txt[1.5.5.1], link:RelNotes/1.5.5.txt[1.5.5]." +msgstr "" -#. type: Labeled list -#: en/date-formats.txt:10 -#, no-wrap -msgid "Git internal format" -msgstr "Format interne de Git" +#. type: delimited block = +#: en/git.txt:467 +msgid "link:v1.5.4.7/git.html[documentation for release 1.5.4.7]" +msgstr "" -#. type: Plain text -#: en/date-formats.txt:15 -#, fuzzy -#| msgid "" -#| "It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is " -#| "the number of seconds since the UNIX epoch. `<time zone offset>` is a " -#| "positive or negative offset from UTC. For example CET (which is 1 hour " -#| "ahead of UTC) is `+0100`." +#. type: delimited block = +#: en/git.txt:477 msgid "" -"It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is the " -"number of seconds since the UNIX epoch. `<time zone offset>` is a positive " -"or negative offset from UTC. For example CET (which is 1 hour ahead of UTC) " -"is `+0100`." +"release notes for link:RelNotes/1.5.4.7.txt[1.5.4.7], link:RelNotes/1.5.4.6." +"txt[1.5.4.6], link:RelNotes/1.5.4.5.txt[1.5.4.5], link:RelNotes/1.5.4.4." +"txt[1.5.4.4], link:RelNotes/1.5.4.3.txt[1.5.4.3], link:RelNotes/1.5.4.2." +"txt[1.5.4.2], link:RelNotes/1.5.4.1.txt[1.5.4.1], link:RelNotes/1.5.4." +"txt[1.5.4]." msgstr "" -"Il est de la forme `<horodatage unix> <d챕calage de fuseau horaire>`, o첫 " -"`<horodatage unix>` est un nombre de secondes depuis l'챕poque UNIX. " -"`<d챕calage de fuseau horaire>` est un d챕calage positif ou n챕gative par " -"rapport 횪 UTC. Par exemple, CET (qui est en avance d'une heure sur UTC) est `" -"+0100`." -#. type: Labeled list -#: en/date-formats.txt:16 -#, no-wrap -msgid "RFC 2822" -msgstr "RFC 2822" +#. type: delimited block = +#: en/git.txt:479 +msgid "link:v1.5.3.8/git.html[documentation for release 1.5.3.8]" +msgstr "" -#. type: Plain text -#: en/date-formats.txt:19 -#, fuzzy -#| msgid "" -#| "The standard email format as described by RFC 2822, for example `Thu, 07 " -#| "Apr 2005 22:13:13 +0200`." +#. type: delimited block = +#: en/git.txt:490 msgid "" -"The standard email format as described by RFC 2822, for example `Thu, 07 Apr " -"2005 22:13:13 +0200`." +"release notes for link:RelNotes/1.5.3.8.txt[1.5.3.8], link:RelNotes/1.5.3.7." +"txt[1.5.3.7], link:RelNotes/1.5.3.6.txt[1.5.3.6], link:RelNotes/1.5.3.5." +"txt[1.5.3.5], link:RelNotes/1.5.3.4.txt[1.5.3.4], link:RelNotes/1.5.3.3." +"txt[1.5.3.3], link:RelNotes/1.5.3.2.txt[1.5.3.2], link:RelNotes/1.5.3.1." +"txt[1.5.3.1], link:RelNotes/1.5.3.txt[1.5.3]." msgstr "" -"Le standard de format des courriel tel que d챕crit par la RFC 2822, par " -"exemple `Thu, 07 Apr 2005 22:13:13 +0200`." -#. type: Labeled list -#: en/date-formats.txt:20 -#, no-wrap -msgid "ISO 8601" -msgstr "ISO 8601" +#. type: delimited block = +#: en/git.txt:492 +msgid "link:v1.5.2.5/git.html[documentation for release 1.5.2.5]" +msgstr "" -#. type: Plain text -#: en/date-formats.txt:24 -#, fuzzy -#| msgid "" -#| "Time and date specified by the ISO 8601 standard, for example " -#| "`2005-04-07T22:13:13`. The parser accepts a space instead of the `T` " -#| "character as well." +#. type: delimited block = +#: en/git.txt:500 msgid "" -"Time and date specified by the ISO 8601 standard, for example " -"`2005-04-07T22:13:13`. The parser accepts a space instead of the `T` " -"character as well." +"release notes for link:RelNotes/1.5.2.5.txt[1.5.2.5], link:RelNotes/1.5.2.4." +"txt[1.5.2.4], link:RelNotes/1.5.2.3.txt[1.5.2.3], link:RelNotes/1.5.2.2." +"txt[1.5.2.2], link:RelNotes/1.5.2.1.txt[1.5.2.1], link:RelNotes/1.5.2." +"txt[1.5.2]." msgstr "" -"Les heures et les dates sont sp챕cifi챕es par le standard ISO 8601, par " -"exemple `2005-04-07T22:13:13`. L'analyseur accepte aussi un espace au lieu " -"du caract챔re `T`. " -#. type: Plain text -#: en/date-formats.txt:26 +#. type: delimited block = +#: en/git.txt:502 +msgid "link:v1.5.1.6/git.html[documentation for release 1.5.1.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:511 msgid "" -"In addition, the date part is accepted in the following formats: `YYYY.MM." -"DD`, `MM/DD/YYYY` and `DD.MM.YYYY`." +"release notes for link:RelNotes/1.5.1.6.txt[1.5.1.6], link:RelNotes/1.5.1.5." +"txt[1.5.1.5], link:RelNotes/1.5.1.4.txt[1.5.1.4], link:RelNotes/1.5.1.3." +"txt[1.5.1.3], link:RelNotes/1.5.1.2.txt[1.5.1.2], link:RelNotes/1.5.1.1." +"txt[1.5.1.1], link:RelNotes/1.5.1.txt[1.5.1]." msgstr "" -"De plus, la partie date est accept챕e dans les formats suivants혻: `AAAA.MM." -"JJ`, `MM/JJ/AAAA` et `JJ.MM.AAAA`." -#. type: Title - -#: en/diff-format.txt:2 -#, no-wrap -msgid "Raw output format" +#. type: delimited block = +#: en/git.txt:513 +msgid "link:v1.5.0.7/git.html[documentation for release 1.5.0.7]" msgstr "" -#. type: Plain text -#: en/diff-format.txt:6 +#. type: delimited block = +#: en/git.txt:522 msgid "" -"The raw output format from \"git-diff-index\", \"git-diff-tree\", \"git-diff-" -"files\" and \"git diff --raw\" are very similar." +"release notes for link:RelNotes/1.5.0.7.txt[1.5.0.7], link:RelNotes/1.5.0.6." +"txt[1.5.0.6], link:RelNotes/1.5.0.5.txt[1.5.0.5], link:RelNotes/1.5.0.3." +"txt[1.5.0.3], link:RelNotes/1.5.0.2.txt[1.5.0.2], link:RelNotes/1.5.0.1." +"txt[1.5.0.1], link:RelNotes/1.5.0.txt[1.5.0]." msgstr "" -#. type: Plain text -#: en/diff-format.txt:9 +#. type: delimited block = +#: en/git.txt:527 msgid "" -"These commands all compare two sets of things; what is compared differs:" +"documentation for release link:v1.4.4.4/git.html[1.4.4.4], link:v1.3.3/git." +"html[1.3.3], link:v1.2.6/git.html[1.2.6], link:v1.0.13/git.html[1.0.13]." msgstr "" -#. type: Labeled list -#: en/diff-format.txt:10 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-diff-index <tree-ish>" -msgstr "git-add(1)" - #. type: Plain text -#: en/diff-format.txt:12 -msgid "compares the <tree-ish> and the files on the filesystem." +#: en/git.txt:536 +msgid "Prints the Git suite version that the 'git' program came from." msgstr "" -#. type: Labeled list -#: en/diff-format.txt:13 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "git-diff-index --cached <tree-ish>" -msgstr "git-add(1)" - #. type: Plain text -#: en/diff-format.txt:15 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "compares the <tree-ish> and the index." -msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," - -#. type: Labeled list -#: en/diff-format.txt:16 -#, no-wrap -msgid "git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]" +#: en/git.txt:542 +msgid "" +"Prints the synopsis and a list of the most commonly used commands. If the " +"option `--all` or `-a` is given then all available commands are printed. If " +"a Git command is named this option will bring up the manual page for that " +"command." msgstr "" #. type: Plain text -#: en/diff-format.txt:18 -msgid "compares the trees named by the two arguments." +#: en/git.txt:547 +msgid "" +"Other options are available to control how the manual page is displayed. See " +"linkgit:git-help[1] for more information, because `git --help ...` is " +"converted internally into `git help ...`." msgstr "" #. type: Labeled list -#: en/diff-format.txt:19 -#, no-wrap -msgid "git-diff-files [<pattern>...]" -msgstr "" +#: en/git.txt:548 +#, fuzzy, no-wrap +#| msgid "patch" +msgid "-C <path>" +msgstr "patch" #. type: Plain text -#: en/diff-format.txt:21 -msgid "compares the index and the files on the filesystem." +#: en/git.txt:553 +msgid "" +"Run as if git was started in '<path>' instead of the current working " +"directory. When multiple `-C` options are given, each subsequent non-" +"absolute `-C <path>` is interpreted relative to the preceding `-C <path>`." msgstr "" #. type: Plain text -#: en/diff-format.txt:25 +#: en/git.txt:558 msgid "" -"The \"git-diff-tree\" command begins its output by printing the hash of what " -"is being compared. After that, all the commands print one output line per " -"changed file." +"This option affects options that expect path name like `--git-dir` and `--" +"work-tree` in that their interpretations of the path names would be made " +"relative to the working directory caused by the `-C` option. For example the " +"following invocations are equivalent:" msgstr "" #. type: Plain text -#: en/diff-format.txt:27 -msgid "An output line is formatted this way:" -msgstr "" - -#. type: delimited block - -#: en/diff-format.txt:35 +#: en/git.txt:561 #, no-wrap msgid "" -"in-place edit :100644 100644 bcd1234... 0123456... M file0\n" -"copy-edit :100644 100644 abcd123... 1234567... C68 file1 file2\n" -"rename-edit :100644 100644 abcd123... 1234567... R86 file1 file3\n" -"create :000000 100644 0000000... 1234567... A file4\n" -"delete :100644 000000 1234567... 0000000... D file5\n" -"unmerged :000000 000000 0000000... 0000000... U file6\n" +" git --git-dir=a.git --work-tree=b -C c status\n" +" git --git-dir=c/a.git --work-tree=c/b status\n" msgstr "" -#. type: Plain text -#: en/diff-format.txt:38 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "That is, from the left to the right:" +#. type: Labeled list +#: en/git.txt:562 +#, no-wrap +msgid "-c <name>=<value>" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Plain text -#: en/diff-format.txt:40 -msgid "a colon." +#: en/git.txt:567 +msgid "" +"Pass a configuration parameter to the command. The value given will override " +"values from configuration files. The <name> is expected in the same format " +"as listed by 'git config' (subkeys separated by dots)." msgstr "" #. type: Plain text -#: en/diff-format.txt:41 -msgid "mode for \"src\"; 000000 if creation or unmerged." +#: en/git.txt:572 +msgid "" +"Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets `foo." +"bar` to the boolean true value (just like `[foo]bar` would in a config " +"file). Including the equals but with an empty value (like `git -c foo." +"bar= ...`) sets `foo.bar` to the empty string." msgstr "" -#. type: Plain text -#: en/diff-format.txt:42 en/diff-format.txt:44 en/diff-format.txt:46 -#: en/diff-format.txt:48 -msgid "a space." +#. type: Labeled list +#: en/git.txt:573 +#, no-wrap +msgid "--exec-path[=<path>]" msgstr "" #. type: Plain text -#: en/diff-format.txt:43 -msgid "mode for \"dst\"; 000000 if deletion or unmerged." +#: en/git.txt:578 +msgid "" +"Path to wherever your core Git programs are installed. This can also be " +"controlled by setting the GIT_EXEC_PATH environment variable. If no path is " +"given, 'git' will print the current setting and then exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:45 -msgid "sha1 for \"src\"; 0\\{40\\} if creation or unmerged." +#. type: Labeled list +#: en/git.txt:579 +#, no-wrap +msgid "--html-path" msgstr "" #. type: Plain text -#: en/diff-format.txt:47 +#: en/git.txt:582 msgid "" -"sha1 for \"dst\"; 0\\{40\\} if creation, unmerged or \"look at work tree\"." +"Print the path, without trailing slash, where Git's HTML documentation is " +"installed and exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:49 -msgid "status, followed by optional \"score\" number." +#. type: Labeled list +#: en/git.txt:583 +#, no-wrap +msgid "--man-path" msgstr "" #. type: Plain text -#: en/diff-format.txt:50 -msgid "a tab or a NUL when `-z` option is used." +#: en/git.txt:586 +msgid "" +"Print the manpath (see `man(1)`) for the man pages for this version of Git " +"and exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:51 -msgid "path for \"src\"" +#. type: Labeled list +#: en/git.txt:587 +#, no-wrap +msgid "--info-path" msgstr "" #. type: Plain text -#: en/diff-format.txt:52 -msgid "a tab or a NUL when `-z` option is used; only exists for C or R." +#: en/git.txt:590 +msgid "" +"Print the path where the Info files documenting this version of Git are " +"installed and exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:53 -msgid "path for \"dst\"; only exists for C or R." +#. type: Labeled list +#: en/git.txt:592 +#, no-wrap +msgid "--paginate" msgstr "" #. type: Plain text -#: en/diff-format.txt:54 -msgid "an LF or a NUL when `-z` option is used, to terminate the record." +#: en/git.txt:597 +msgid "" +"Pipe all output into 'less' (or if set, $PAGER) if standard output is a " +"terminal. This overrides the `pager.<cmd>` configuration options (see the " +"\"Configuration Mechanism\" section below)." msgstr "" -#. type: Plain text -#: en/diff-format.txt:56 -msgid "Possible status letters are:" -msgstr "" +#. type: Labeled list +#: en/git.txt:598 +#, no-wrap +msgid "--no-pager" +msgstr "--no-pager" #. type: Plain text -#: en/diff-format.txt:58 -msgid "A: addition of a file" +#: en/git.txt:600 +msgid "Do not pipe Git output into a pager." msgstr "" -#. type: Plain text -#: en/diff-format.txt:59 -msgid "C: copy of a file into a new one" +#. type: Labeled list +#: en/git.txt:601 +#, no-wrap +msgid "--git-dir=<path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:60 -msgid "D: deletion of a file" +#: en/git.txt:605 +msgid "" +"Set the path to the repository. This can also be controlled by setting the " +"`GIT_DIR` environment variable. It can be an absolute path or relative path " +"to current working directory." msgstr "" -# -#. type: Plain text -#: en/diff-format.txt:61 -#, fuzzy -#| msgid "modifying the contents of context or removal lines" -msgid "M: modification of the contents or mode of a file" -msgstr "modification de contenu de contexte ou de lignes supprim챕es" +#. type: Labeled list +#: en/git.txt:606 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "--work-tree=<path>" +msgstr "whitespace" #. type: Plain text -#: en/diff-format.txt:62 -msgid "R: renaming of a file" +#: en/git.txt:613 +msgid "" +"Set the path to the working tree. It can be an absolute path or a path " +"relative to the current working directory. This can also be controlled by " +"setting the GIT_WORK_TREE environment variable and the core.worktree " +"configuration variable (see core.worktree in linkgit:git-config[1] for a " +"more detailed discussion)." msgstr "" -#. type: Plain text -#: en/diff-format.txt:63 -msgid "T: change in the type of the file" +#. type: Labeled list +#: en/git.txt:614 +#, no-wrap +msgid "--namespace=<path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:65 +#: en/git.txt:618 msgid "" -"U: file is unmerged (you must complete the merge before it can be committed)" +"Set the Git namespace. See linkgit:gitnamespaces[7] for more details. " +"Equivalent to setting the `GIT_NAMESPACE` environment variable." msgstr "" -#. type: Plain text -#: en/diff-format.txt:66 -msgid "X: \"unknown\" change type (most probably a bug, please report it)" +#. type: Labeled list +#: en/git.txt:619 +#, no-wrap +msgid "--super-prefix=<path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:71 +#: en/git.txt:623 msgid "" -"Status letters C and R are always followed by a score (denoting the " -"percentage of similarity between the source and target of the move or " -"copy). Status letter M may be followed by a score (denoting the percentage " -"of dissimilarity) for file rewrites." +"Currently for internal use only. Set a prefix which gives a path from above " +"a repository down to its root. One use is to give submodules context about " +"the superproject that invoked it." msgstr "" #. type: Plain text -#: en/diff-format.txt:74 +#: en/git.txt:628 msgid "" -"<sha1> is shown as all 0's if a file is new on the filesystem and it is out " -"of sync with the index." -msgstr "" - -#. type: delimited block - -#: en/diff-format.txt:79 -#, no-wrap -msgid ":100644 100644 5be4a4...... 000000...... M file.c\n" +"Treat the repository as a bare repository. If GIT_DIR environment is not " +"set, it is set to the current working directory." msgstr "" -#. type: Title - -#: en/diff-format.txt:87 -#, no-wrap -msgid "diff format for merges" -msgstr "" +#. type: Labeled list +#: en/git.txt:629 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--no-replace-objects" +msgstr "git-commit(1)" #. type: Plain text -#: en/diff-format.txt:93 +#: en/git.txt:632 msgid "" -"\"git-diff-tree\", \"git-diff-files\" and \"git-diff --raw\" can take `-c` " -"or `--cc` option to generate diff output also for merge commits. The output " -"differs from the format described above in the following way:" -msgstr "" - -#. type: Plain text -#: en/diff-format.txt:95 -msgid "there is a colon for each parent" +"Do not use replacement refs to replace Git objects. See linkgit:git-" +"replace[1] for more information." msgstr "" -#. type: Plain text -#: en/diff-format.txt:96 -msgid "there are more \"src\" modes and \"src\" sha1" +#. type: Labeled list +#: en/git.txt:633 +#, no-wrap +msgid "--literal-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:97 -msgid "status is concatenated status characters for each parent" +#: en/git.txt:637 +msgid "" +"Treat pathspecs literally (i.e. no globbing, no pathspec magic). This is " +"equivalent to setting the `GIT_LITERAL_PATHSPECS` environment variable to " +"`1`." msgstr "" -#. type: Plain text -#: en/diff-format.txt:98 -msgid "no optional \"score\" number" +#. type: Labeled list +#: en/git.txt:638 +#, no-wrap +msgid "--glob-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:99 -msgid "single path, only for \"dst\"" +#: en/git.txt:643 +msgid "" +"Add \"glob\" magic to all pathspec. This is equivalent to setting the " +"`GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling globbing on " +"individual pathspecs can be done using pathspec magic \":(literal)\"" msgstr "" -#. type: delimited block - -#: en/diff-format.txt:104 +#. type: Labeled list +#: en/git.txt:644 #, no-wrap -msgid "::100644 100644 100644 fabadb8... cc95eb0... 4866510... MM\tdescribe.c\n" +msgid "--noglob-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:108 +#: en/git.txt:649 msgid "" -"Note that 'combined diff' lists only files which were modified from all " -"parents." +"Add \"literal\" magic to all pathspec. This is equivalent to setting the " +"`GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling globbing on " +"individual pathspecs can be done using pathspec magic \":(glob)\"" msgstr "" -#. type: Title - -#: en/diff-format.txt:114 -#, fuzzy, no-wrap -#| msgid "Git internal format" -msgid "other diff formats" -msgstr "Format interne de Git" - -#. type: Plain text -#: en/diff-format.txt:120 -msgid "" -"The `--summary` option describes newly added, deleted, renamed and copied " -"files. The `--stat` option adds diffstat(1) graph to the output. These " -"options can be combined with other options, such as `-p`, and are meant for " -"human consumption." +#. type: Labeled list +#: en/git.txt:650 +#, no-wrap +msgid "--icase-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:125 +#: en/git.txt:653 msgid "" -"When showing a change that involves a rename or a copy, `--stat` output " -"formats the pathnames compactly by combining common prefix and suffix of the " -"pathnames. For example, a change that moves `arch/i386/Makefile` to `arch/" -"x86/Makefile` while modifying 4 lines will be shown like this:" +"Add \"icase\" magic to all pathspec. This is equivalent to setting the " +"`GIT_ICASE_PATHSPECS` environment variable to `1`." msgstr "" -#. type: delimited block - -#: en/diff-format.txt:128 +#. type: Title - +#: en/git.txt:655 #, no-wrap -msgid "arch/{i386 => x86}/Makefile | 4 +--\n" +msgid "GIT COMMANDS" msgstr "" #. type: Plain text -#: en/diff-format.txt:133 +#: en/git.txt:659 msgid "" -"The `--numstat` option gives the diffstat(1) information but is designed for " -"easier machine consumption. An entry in `--numstat` output looks like this:" +"We divide Git into high level (\"porcelain\") commands and low level " +"(\"plumbing\") commands." msgstr "" -#. type: delimited block - -#: en/diff-format.txt:137 +#. type: Title - +#: en/git.txt:661 #, no-wrap -msgid "" -"1\t2\tREADME\n" -"3\t1\tarch/{i386 => x86}/Makefile\n" +msgid "High-level commands (porcelain)" msgstr "" #. type: Plain text -#: en/diff-format.txt:140 -msgid "That is, from left to right:" +#: en/git.txt:665 +msgid "" +"We separate the porcelain commands into the main commands and some ancillary " +"user utilities." msgstr "" -#. type: Plain text -#: en/diff-format.txt:142 en/diff-format.txt:158 -msgid "the number of added lines;" +#. type: Title ~ +#: en/git.txt:667 +#, no-wrap +msgid "Main porcelain commands" msgstr "" -#. type: Plain text -#: en/diff-format.txt:143 en/diff-format.txt:145 en/diff-format.txt:159 -#: en/diff-format.txt:161 -msgid "a tab;" +#. type: Title ~ +#: en/git.txt:672 +#, no-wrap +msgid "Ancillary Commands" msgstr "" #. type: Plain text -#: en/diff-format.txt:144 en/diff-format.txt:160 -msgid "the number of deleted lines;" +#: en/git.txt:674 +msgid "Manipulators:" msgstr "" #. type: Plain text -#: en/diff-format.txt:146 -msgid "pathname (possibly with rename/copy information);" +#: en/git.txt:678 +msgid "Interrogators:" msgstr "" -#. type: Plain text -#: en/diff-format.txt:147 -msgid "a newline." +#. type: Title ~ +#: en/git.txt:683 +#, no-wrap +msgid "Interacting with Others" msgstr "" #. type: Plain text -#: en/diff-format.txt:149 -msgid "When `-z` output option is in effect, the output is formatted this way:" +#: en/git.txt:687 +msgid "" +"These commands are to interact with foreign SCM and with other people via " +"patch over e-mail." msgstr "" -#. type: delimited block - -#: en/diff-format.txt:153 +#. type: Title - +#: en/git.txt:692 #, no-wrap -msgid "" -"1\t2\tREADME NUL\n" -"3\t1\tNUL arch/i386/Makefile NUL arch/x86/Makefile NUL\n" +msgid "Low-level commands (plumbing)" msgstr "" #. type: Plain text -#: en/diff-format.txt:156 -msgid "That is:" +#: en/git.txt:699 +msgid "" +"Although Git includes its own porcelain layer, its low-level commands are " +"sufficient to support development of alternative porcelains. Developers of " +"such porcelains might start by reading about linkgit:git-update-index[1] and " +"linkgit:git-read-tree[1]." msgstr "" #. type: Plain text -#: en/diff-format.txt:162 en/diff-format.txt:164 -msgid "a NUL (only exists if renamed/copied);" +#: en/git.txt:706 +msgid "" +"The interface (input, output, set of options and the semantics) to these " +"low-level commands are meant to be a lot more stable than Porcelain level " +"commands, because these commands are primarily for scripted use. The " +"interface to Porcelain commands on the other hand are subject to change in " +"order to improve the end user experience." msgstr "" #. type: Plain text -#: en/diff-format.txt:163 -msgid "pathname in preimage;" +#: en/git.txt:712 +msgid "" +"The following description divides the low-level commands into commands that " +"manipulate objects (in the repository, index, and working tree), commands " +"that interrogate and compare objects, and commands that move objects and " +"references between repositories." msgstr "" -#. type: Plain text -#: en/diff-format.txt:165 -msgid "pathname in postimage (only exists if renamed/copied);" +#. type: Title ~ +#: en/git.txt:715 +#, no-wrap +msgid "Manipulation commands" msgstr "" -#. type: Plain text -#: en/diff-format.txt:166 -msgid "a NUL." +#. type: Title ~ +#: en/git.txt:721 +#, no-wrap +msgid "Interrogation commands" msgstr "" #. type: Plain text -#: en/diff-format.txt:171 +#: en/git.txt:727 msgid "" -"The extra `NUL` before the preimage path in renamed case is to allow scripts " -"that read the output to tell if the current record being read is a single-" -"path record or a rename/copy record without reading ahead. After reading " -"added and deleted lines, reading up to `NUL` would yield the pathname, but " -"if that is `NUL`, the record will show two paths." +"In general, the interrogate commands do not touch the files in the working " +"tree." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:1 +#. type: Title ~ +#: en/git.txt:730 #, no-wrap -msgid "diff.autoRefreshIndex" +msgid "Synching repositories" msgstr "" #. type: Plain text -#: en/diff-config.txt:10 +#: en/git.txt:736 msgid "" -"When using 'git diff' to compare with work tree files, do not consider stat-" -"only change as changed. Instead, silently run `git update-index --refresh` " -"to update the cached stat information for paths whose contents in the work " -"tree match the contents in the index. This option defaults to true. Note " -"that this affects only 'git diff' Porcelain, and not lower level 'diff' " -"commands such as 'git diff-files'." +"The following are helper commands used by the above; end users typically do " +"not use them directly." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:11 +#. type: Title ~ +#: en/git.txt:741 #, no-wrap -msgid "diff.dirstat" +msgid "Internal helper commands" msgstr "" #. type: Plain text -#: en/diff-config.txt:18 +#: en/git.txt:745 msgid "" -"A comma separated list of `--dirstat` parameters specifying the default " -"behavior of the `--dirstat` option to linkgit:git-diff[1]` and friends. The " -"defaults can be overridden on the command line (using `--dirstat=<param1," -"param2,...>`). The fallback defaults (when not changed by `diff.dirstat`) " -"are `changes,noncumulative,3`. The following parameters are available:" +"These are internal helper commands used by other commands; end users " +"typically do not use them directly." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:20 en/diff-options.txt:137 -#, no-wrap -msgid "`changes`" -msgstr "" +#. type: Title - +#: en/git.txt:750 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Configuration Mechanism" +msgstr "Configuration" #. type: Plain text -#: en/diff-config.txt:26 en/diff-options.txt:143 +#: en/git.txt:755 msgid "" -"Compute the dirstat numbers by counting the lines that have been removed " -"from the source, or added to the destination. This ignores the amount of " -"pure code movements within a file. In other words, rearranging lines in a " -"file is not counted as much as other changes. This is the default behavior " -"when no parameter is given." +"Git uses a simple text format to store customizations that are per " +"repository and are per user. Such a configuration file may look like this:" msgstr "" -#. type: Labeled list -#: en/diff-config.txt:26 en/diff-options.txt:143 +#. type: delimited block - +#: en/git.txt:760 #, no-wrap -msgid "`lines`" +msgid "" +"#\n" +"# A '#' or ';' character indicates a comment.\n" +"#\n" msgstr "" -#. type: Plain text -#: en/diff-config.txt:34 en/diff-options.txt:151 +#. type: delimited block - +#: en/git.txt:765 +#, no-wrap msgid "" -"Compute the dirstat numbers by doing the regular line-based diff analysis, " -"and summing the removed/added line counts. (For binary files, count 64-byte " -"chunks instead, since binary files have no natural concept of lines). This " -"is a more expensive `--dirstat` behavior than the `changes` behavior, but it " -"does count rearranged lines within a file as much as other changes. The " -"resulting output is consistent with what you get from the other `--*stat` " -"options." +"; core variables\n" +"[core]\n" +"\t; Don't trust file modes\n" +"\tfilemode = false\n" msgstr "" -#. type: Labeled list -#: en/diff-config.txt:34 en/diff-options.txt:151 +#. type: delimited block - +#: en/git.txt:770 #, no-wrap -msgid "`files`" +msgid "" +"; user identity\n" +"[user]\n" +"\tname = \"Junio C Hamano\"\n" +"\temail = \"gitster@pobox.com\"\n" msgstr "" #. type: Plain text -#: en/diff-config.txt:39 en/diff-options.txt:156 +#: en/git.txt:776 msgid "" -"Compute the dirstat numbers by counting the number of files changed. Each " -"changed file counts equally in the dirstat analysis. This is the " -"computationally cheapest `--dirstat` behavior, since it does not have to " -"look at the file contents at all." +"Various commands read from the configuration file and adjust their operation " +"accordingly. See linkgit:git-config[1] for a list and more details about " +"the configuration mechanism." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:39 en/diff-options.txt:156 +#. type: Title - +#: en/git.txt:779 #, no-wrap -msgid "`cumulative`" +msgid "Identifier Terminology" msgstr "" #. type: Plain text -#: en/diff-config.txt:44 en/diff-options.txt:161 -msgid "" -"Count changes in a child directory for the parent directory as well. Note " -"that when using `cumulative`, the sum of the percentages reported may exceed " -"100%. The default (non-cumulative) behavior can be specified with the " -"`noncumulative` parameter." +#: en/git.txt:782 +msgid "Indicates the object name for any type of object." +msgstr "" + +#. type: Labeled list +#: en/git.txt:783 en/git-unpack-file.txt:23 +#, no-wrap +msgid "<blob>" msgstr "" #. type: Plain text -#: en/diff-config.txt:48 en/diff-options.txt:165 -msgid "" -"An integer parameter specifies a cut-off percent (3% by default). " -"Directories contributing less than this percentage of the changes are not " -"shown in the output." +#: en/git.txt:785 +msgid "Indicates a blob object name." msgstr "" #. type: Plain text -#: en/diff-config.txt:54 -msgid "" -"Example: The following will count changed files, while ignoring directories " -"with less than 10% of the total amount of changed files, and accumulating " -"child directory counts in the parent directories: `files,10,cumulative`." +#: en/git.txt:788 +msgid "Indicates a tree object name." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:55 -#, no-wrap -msgid "diff.statGraphWidth" +#. type: Plain text +#: en/git.txt:791 +msgid "Indicates a commit object name." msgstr "" #. type: Plain text -#: en/diff-config.txt:58 +#: en/git.txt:797 msgid "" -"Limit the width of the graph part in --stat output. If set, applies to all " -"commands generating --stat output except format-patch." +"Indicates a tree, commit or tag object name. A command that takes a <tree-" +"ish> argument ultimately wants to operate on a <tree> object but " +"automatically dereferences <commit> and <tag> objects that point at a <tree>." msgstr "" #. type: Labeled list -#: en/diff-config.txt:59 +#: en/git.txt:798 #, fuzzy, no-wrap -#| msgid "new content" -msgid "diff.context" -msgstr "contenu nouveau" +#| msgid "git-commit(1)" +msgid "<commit-ish>" +msgstr "git-commit(1)" #. type: Plain text -#: en/diff-config.txt:62 +#: en/git.txt:803 msgid "" -"Generate diffs with <n> lines of context instead of the default of 3. This " -"value is overridden by the -U option." -msgstr "" - -#. type: Labeled list -#: en/diff-config.txt:63 -#, no-wrap -msgid "diff.interHunkContext" +"Indicates a commit or tag object name. A command that takes a <commit-ish> " +"argument ultimately wants to operate on a <commit> object but automatically " +"dereferences <tag> objects that point at a <commit>." msgstr "" #. type: Plain text -#: en/diff-config.txt:68 +#: en/git.txt:807 msgid "" -"Show the context between diff hunks, up to the specified number of lines, " -"thereby fusing the hunks that are close to each other. This value serves as " -"the default for the `--inter-hunk-context` command line option." +"Indicates that an object type is required. Currently one of: `blob`, " +"`tree`, `commit`, or `tag`." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:69 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "diff.external" -msgstr "diff" - #. type: Plain text -#: en/diff-config.txt:77 +#: en/git.txt:811 msgid "" -"If this config variable is set, diff generation is not performed using the " -"internal diff machinery, but using the given command. Can be overridden " -"with the `GIT_EXTERNAL_DIFF' environment variable. The command is called " -"with parameters as described under \"git Diffs\" in linkgit:git[1]. Note: " -"if you want to use an external diff program only on a subset of your files, " -"you\tmight want to use linkgit:gitattributes[5] instead." +"Indicates a filename - almost always relative to the root of the tree " +"structure `GIT_INDEX_FILE` describes." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:78 +#. type: Title - +#: en/git.txt:813 #, no-wrap -msgid "diff.ignoreSubmodules" +msgid "Symbolic Identifiers" msgstr "" #. type: Plain text -#: en/diff-config.txt:87 +#: en/git.txt:816 msgid "" -"Sets the default value of --ignore-submodules. Note that this affects only " -"'git diff' Porcelain, and not lower level 'diff' commands such as 'git diff-" -"files'. 'git checkout' also honors this setting when reporting uncommitted " -"changes. Setting it to 'all' disables the submodule summary normally shown " -"by 'git commit' and 'git status' when `status.submoduleSummary` is set " -"unless it is overridden by using the --ignore-submodules command-line " -"option. The 'git submodule' commands are not affected by this setting." +"Any Git command accepting any <object> can also use the following symbolic " +"notation:" +msgstr "" + +#. type: Plain text +#: en/git.txt:819 +msgid "indicates the head of the current branch." msgstr "" #. type: Labeled list -#: en/diff-config.txt:88 +#: en/git.txt:820 #, no-wrap -msgid "diff.mnemonicPrefix" +msgid "<tag>" msgstr "" #. type: Plain text -#: en/diff-config.txt:93 -msgid "" -"If set, 'git diff' uses a prefix pair that is different from the standard " -"\"a/\" and \"b/\" depending on what is being compared. When this " -"configuration is in effect, reverse diff output also swaps the order of the " -"prefixes:" +#: en/git.txt:823 +msgid "a valid tag 'name' (i.e. a `refs/tags/<tag>` reference)." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:93 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "`git diff`" -msgstr "git-add(1)" +#. type: Plain text +#: en/git.txt:827 +msgid "a valid head 'name' (i.e. a `refs/heads/<head>` reference)." +msgstr "" #. type: Plain text -#: en/diff-config.txt:95 -msgid "compares the (i)ndex and the (w)ork tree;" +#: en/git.txt:830 +msgid "" +"For a more complete list of ways to spell object names, see \"SPECIFYING " +"REVISIONS\" section in linkgit:gitrevisions[7]." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:95 +#. type: Title - +#: en/git.txt:833 #, no-wrap -msgid "`git diff HEAD`" +msgid "File/Directory Structure" msgstr "" #. type: Plain text -#: en/diff-config.txt:97 -msgid "compares a (c)ommit and the (w)ork tree;" +#: en/git.txt:836 +msgid "Please see the linkgit:gitrepository-layout[5] document." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:97 -#, no-wrap -msgid "`git diff --cached`" +#. type: Plain text +#: en/git.txt:838 +msgid "Read linkgit:githooks[5] for more details about each hook." msgstr "" #. type: Plain text -#: en/diff-config.txt:99 -msgid "compares a (c)ommit and the (i)ndex;" +#: en/git.txt:841 +msgid "" +"Higher level SCMs may provide and manage additional information in the `" +"$GIT_DIR`." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:99 +#. type: Title - +#: en/git.txt:844 #, no-wrap -msgid "`git diff HEAD:file1 file2`" +msgid "Terminology" msgstr "" #. type: Plain text -#: en/diff-config.txt:101 -msgid "compares an (o)bject and a (w)ork tree entity;" +#: en/git.txt:846 +msgid "Please see linkgit:gitglossary[7]." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:101 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "`git diff --no-index a b`" -msgstr "git-add(1)" - #. type: Plain text -#: en/diff-config.txt:103 -msgid "compares two non-git things (1) and (2)." +#: en/git.txt:851 +msgid "Various Git commands use the following environment variables:" msgstr "" -#. type: Labeled list -#: en/diff-config.txt:104 +#. type: Title ~ +#: en/git.txt:853 #, no-wrap -msgid "diff.noprefix" +msgid "The Git Repository" msgstr "" #. type: Plain text -#: en/diff-config.txt:106 -msgid "If set, 'git diff' does not show any source or destination prefix." +#: en/git.txt:857 +msgid "" +"These environment variables apply to 'all' core Git commands. Nb: it is " +"worth noting that they may be used/overridden by SCMS sitting above Git so " +"take care if using a foreign front-end." msgstr "" #. type: Labeled list -#: en/diff-config.txt:107 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "diff.orderFile" -msgstr "diff" +#: en/git.txt:858 +#, no-wrap +msgid "`GIT_INDEX_FILE`" +msgstr "" #. type: Plain text -#: en/diff-config.txt:112 +#: en/git.txt:862 msgid "" -"File indicating how to order files within a diff. See the '-O' option to " -"linkgit:git-diff[1] for details. If `diff.orderFile` is a relative " -"pathname, it is treated as relative to the top of the working tree." +"This environment allows the specification of an alternate index file. If not " +"specified, the default of `$GIT_DIR/index` is used." msgstr "" #. type: Labeled list -#: en/diff-config.txt:113 +#: en/git.txt:863 #, no-wrap -msgid "diff.renameLimit" +msgid "`GIT_INDEX_VERSION`" msgstr "" #. type: Plain text -#: en/diff-config.txt:116 +#: en/git.txt:868 msgid "" -"The number of files to consider when performing the copy/rename detection; " -"equivalent to the 'git diff' option `-l`." +"This environment variable allows the specification of an index version for " +"new repositories. It won't affect existing index files. By default index " +"file version 2 or 3 is used. See linkgit:git-update-index[1] for more " +"information." msgstr "" #. type: Labeled list -#: en/diff-config.txt:117 +#: en/git.txt:869 #, no-wrap -msgid "diff.renames" +msgid "`GIT_OBJECT_DIRECTORY`" msgstr "" #. type: Plain text -#: en/diff-config.txt:125 +#: en/git.txt:874 msgid "" -"Whether and how Git detects renames. If set to \"false\", rename detection " -"is disabled. If set to \"true\", basic rename detection is enabled. If set " -"to \"copies\" or \"copy\", Git will detect copies, as well. Defaults to " -"true. Note that this affects only 'git diff' Porcelain like linkgit:git-" -"diff[1] and linkgit:git-log[1], and not lower level commands such as linkgit:" -"git-diff-files[1]." +"If the object storage directory is specified via this environment variable " +"then the sha1 directories are created underneath - otherwise the default `" +"$GIT_DIR/objects` directory is used." msgstr "" #. type: Labeled list -#: en/diff-config.txt:126 +#: en/git.txt:875 #, no-wrap -msgid "diff.suppressBlankEmpty" +msgid "`GIT_ALTERNATE_OBJECT_DIRECTORIES`" msgstr "" #. type: Plain text -#: en/diff-config.txt:129 +#: en/git.txt:881 msgid "" -"A boolean to inhibit the standard behavior of printing a space before each " -"empty output line. Defaults to false." +"Due to the immutable nature of Git objects, old objects can be archived into " +"shared, read-only directories. This variable specifies a \":\" separated (on " +"Windows \";\" separated) list of Git object directories which can be used to " +"search for Git objects. New objects will not be written to these directories." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:130 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "diff.submodule" -msgstr "git-add(1)" - #. type: Plain text -#: en/diff-config.txt:137 +#: en/git.txt:887 msgid "" -"Specify the format in which differences in submodules are shown. The \"short" -"\" format just shows the names of the commits at the beginning and end of " -"the range. The \"log\" format lists the commits in the range like linkgit:" -"git-submodule[1] `summary` does. The \"diff\" format shows an inline diff of " -"the changed contents of the submodule. Defaults to \"short\"." +"Entries that begin with `\"` (double-quote) will be interpreted as C-style " +"quoted paths, removing leading and trailing double-quotes and respecting " +"backslash escapes. E.g., the value `\"path-with-\\\"-and-:-in-it\":vanilla-" +"path` has two paths: `path-with-\"-and-:-in-it` and `vanilla-path`." msgstr "" #. type: Labeled list -#: en/diff-config.txt:138 +#: en/git.txt:888 #, no-wrap -msgid "diff.wordRegex" +msgid "`GIT_DIR`" msgstr "" #. type: Plain text -#: en/diff-config.txt:143 +#: en/git.txt:893 msgid "" -"A POSIX Extended Regular Expression used to determine what is a \"word\" " -"when performing word-by-word difference calculations. Character sequences " -"that match the regular expression are \"words\", all other characters are " -"*ignorable* whitespace." +"If the `GIT_DIR` environment variable is set then it specifies a path to use " +"instead of the default `.git` for the base of the repository. The `--git-" +"dir` command-line option also sets this value." msgstr "" #. type: Labeled list -#: en/diff-config.txt:144 +#: en/git.txt:894 #, no-wrap -msgid "diff.<driver>.command" +msgid "`GIT_WORK_TREE`" msgstr "" #. type: Plain text -#: en/diff-config.txt:147 +#: en/git.txt:898 msgid "" -"The custom diff driver command. See linkgit:gitattributes[5] for details." +"Set the path to the root of the working tree. This can also be controlled " +"by the `--work-tree` command-line option and the core.worktree configuration " +"variable." msgstr "" #. type: Labeled list -#: en/diff-config.txt:148 +#: en/git.txt:899 #, no-wrap -msgid "diff.<driver>.xfuncname" +msgid "`GIT_NAMESPACE`" msgstr "" #. type: Plain text -#: en/diff-config.txt:152 +#: en/git.txt:902 msgid "" -"The regular expression that the diff driver should use to recognize the hunk " -"header. A built-in pattern may also be used. See linkgit:gitattributes[5] " -"for details." +"Set the Git namespace; see linkgit:gitnamespaces[7] for details. The `--" +"namespace` command-line option also sets this value." msgstr "" #. type: Labeled list -#: en/diff-config.txt:153 +#: en/git.txt:903 #, no-wrap -msgid "diff.<driver>.binary" +msgid "`GIT_CEILING_DIRECTORIES`" msgstr "" #. type: Plain text -#: en/diff-config.txt:156 +#: en/git.txt:917 msgid "" -"Set this option to true to make the diff driver treat files as binary. See " -"linkgit:gitattributes[5] for details." +"This should be a colon-separated list of absolute paths. If set, it is a " +"list of directories that Git should not chdir up into while looking for a " +"repository directory (useful for excluding slow-loading network " +"directories). It will not exclude the current working directory or a " +"GIT_DIR set on the command line or in the environment. Normally, Git has to " +"read the entries in this list and resolve any symlink that might be present " +"in order to compare them with the current directory. However, if even this " +"access is slow, you can add an empty entry to the list to tell Git that the " +"subsequent entries are not symlinks and needn't be resolved; e.g., " +"`GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink`." msgstr "" #. type: Labeled list -#: en/diff-config.txt:157 +#: en/git.txt:918 #, no-wrap -msgid "diff.<driver>.textconv" +msgid "`GIT_DISCOVERY_ACROSS_FILESYSTEM`" msgstr "" #. type: Plain text -#: en/diff-config.txt:162 +#: en/git.txt:927 msgid "" -"The command that the diff driver should call to generate the text-converted " -"version of a file. The result of the conversion is used to generate a human-" -"readable diff. See linkgit:gitattributes[5] for details." +"When run in a directory that does not have \".git\" repository directory, " +"Git tries to find such a directory in the parent directories to find the top " +"of the working tree, but by default it does not cross filesystem " +"boundaries. This environment variable can be set to true to tell Git not to " +"stop at filesystem boundaries. Like `GIT_CEILING_DIRECTORIES`, this will " +"not affect an explicit repository directory set via `GIT_DIR` or on the " +"command line." +msgstr "" + +#. type: Labeled list +#: en/git.txt:928 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_COMMON_DIR`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + +#. type: Plain text +#: en/git.txt:936 +msgid "" +"If this variable is set to a path, non-worktree files that are normally in " +"$GIT_DIR will be taken from this path instead. Worktree-specific files such " +"as HEAD or index are taken from $GIT_DIR. See linkgit:gitrepository-" +"layout[5] and linkgit:git-worktree[1] for details. This variable has lower " +"precedence than other path variables such as GIT_INDEX_FILE, " +"GIT_OBJECT_DIRECTORY..." msgstr "" +#. type: Title ~ +#: en/git.txt:938 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "Git Commits" +msgstr "$ git commit\n" + +#. type: Labeled list +#: en/git.txt:939 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_AUTHOR_NAME`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + +#. type: Labeled list +#: en/git.txt:940 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_AUTHOR_EMAIL`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + +#. type: Labeled list +#: en/git.txt:941 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_AUTHOR_DATE`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + +#. type: Labeled list +#: en/git.txt:942 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_COMMITTER_NAME`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + +#. type: Labeled list +#: en/git.txt:943 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_COMMITTER_EMAIL`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + +#. type: Labeled list +#: en/git.txt:944 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_COMMITTER_DATE`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + #. type: Labeled list -#: en/diff-config.txt:163 +#: en/git.txt:945 #, no-wrap -msgid "diff.<driver>.wordRegex" +msgid "'EMAIL'" msgstr "" #. type: Plain text -#: en/diff-config.txt:167 -msgid "" -"The regular expression that the diff driver should use to split words in a " -"line. See linkgit:gitattributes[5] for details." -msgstr "" +#: en/git.txt:947 +#, fuzzy +#| msgid "git-commit(1)" +msgid "see linkgit:git-commit-tree[1]" +msgstr "git-commit(1)" + +#. type: Title ~ +#: en/git.txt:949 +#, fuzzy, no-wrap +#| msgid "$ git commit\n" +msgid "Git Diffs" +msgstr "$ git commit\n" #. type: Labeled list -#: en/diff-config.txt:168 +#: en/git.txt:950 #, no-wrap -msgid "diff.<driver>.cachetextconv" -msgstr "" - -#. type: Plain text -#: en/diff-config.txt:171 -msgid "" -"Set this option to true to make the diff driver cache the text conversion " -"outputs. See linkgit:gitattributes[5] for details." +msgid "`GIT_DIFF_OPTS`" msgstr "" #. type: Plain text -#: en/diff-config.txt:178 +#: en/git.txt:955 msgid "" -"Controls which diff tool is used by linkgit:git-difftool[1]. This variable " -"overrides the value configured in `merge.tool`. The list below shows the " -"valid built-in values. Any other value is treated as a custom diff tool and " -"requires that a corresponding difftool.<tool>.cmd variable is defined." +"Only valid setting is \"--unified=??\" or \"-u??\" to set the number of " +"context lines shown when a unified diff is created. This takes precedence " +"over any \"-U\" or \"--unified\" option value passed on the Git diff command " +"line." msgstr "" #. type: Labeled list -#: en/diff-config.txt:181 +#: en/git.txt:956 #, no-wrap -msgid "diff.indentHeuristic" +msgid "`GIT_EXTERNAL_DIFF`" msgstr "" #. type: Plain text -#: en/diff-config.txt:184 +#: en/git.txt:961 msgid "" -"Set this option to `true` to enable experimental heuristics that shift diff " -"hunk boundaries to make patches easier to read." -msgstr "" - -#. type: Labeled list -#: en/diff-config.txt:185 -#, no-wrap -msgid "diff.algorithm" +"When the environment variable `GIT_EXTERNAL_DIFF` is set, the program named " +"by it is called, instead of the diff invocation described above. For a path " +"that is added, removed, or modified, `GIT_EXTERNAL_DIFF` is called with 7 " +"parameters:" msgstr "" #. type: Plain text -#: en/diff-config.txt:187 -msgid "Choose a diff algorithm. The variants are as follows:" -msgstr "" - -#. type: Labeled list -#: en/diff-config.txt:189 en/diff-options.txt:82 -#, no-wrap -msgid "`default`, `myers`" +#: en/git.txt:963 +msgid "path old-file old-hex old-mode new-file new-hex new-mode" msgstr "" #. type: Plain text -#: en/diff-config.txt:191 en/diff-options.txt:84 -msgid "The basic greedy diff algorithm. Currently, this is the default." +#: en/git.txt:965 +msgid "where:" msgstr "" #. type: Labeled list -#: en/diff-config.txt:191 en/diff-options.txt:84 +#: en/git.txt:966 #, no-wrap -msgid "`minimal`" +msgid "<old|new>-file" msgstr "" #. type: Plain text -#: en/diff-config.txt:194 en/diff-options.txt:71 en/diff-options.txt:87 -msgid "Spend extra time to make sure the smallest possible diff is produced." -msgstr "" - -#. type: Labeled list -#: en/diff-config.txt:194 en/diff-options.txt:87 -#, no-wrap -msgid "`patience`" +#: en/git.txt:967 +msgid "are files GIT_EXTERNAL_DIFF can use to read the" msgstr "" #. type: Plain text -#: en/diff-config.txt:196 en/diff-options.txt:89 -msgid "Use \"patience diff\" algorithm when generating patches." +#: en/git.txt:968 +#, no-wrap +msgid "contents of <old|new>,\n" msgstr "" #. type: Labeled list -#: en/diff-config.txt:196 en/diff-options.txt:89 +#: en/git.txt:968 #, no-wrap -msgid "`histogram`" +msgid "<old|new>-hex" msgstr "" #. type: Plain text -#: en/diff-config.txt:199 en/diff-options.txt:92 -msgid "" -"This algorithm extends the patience algorithm to \"support low-occurrence " -"common elements\"." +#: en/git.txt:969 +msgid "are the 40-hexdigit SHA-1 hashes," msgstr "" #. type: Labeled list -#: en/diff-config.txt:202 +#: en/git.txt:969 #, no-wrap -msgid "diff.wsErrorHighlight" +msgid "<old|new>-mode" msgstr "" #. type: Plain text -#: en/diff-config.txt:206 -msgid "" -"A comma separated list of `old`, `new`, `context`, that specifies how " -"whitespace errors on lines are highlighted with `color.diff.whitespace`. " -"Can be overridden by the command line option `--ws-error-highlight=<kind>`" -msgstr "" - -#. type: Title - -#: en/diff-generate-patch.txt:2 -#, no-wrap -msgid "Generating patches with -p" +#: en/git.txt:970 +msgid "are the octal representation of the file modes." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:10 +#: en/git.txt:976 msgid "" -"When \"git-diff-index\", \"git-diff-tree\", or \"git-diff-files\" are run " -"with a `-p` option, \"git diff\" without the `--raw` option, or \"git log\" " -"with the \"-p\" option, they do not produce the output described above; " -"instead they produce a patch file. You can customize the creation of such " -"patches via the `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment " -"variables." +"The file parameters can point at the user's working file (e.g. `new-file` in " +"\"git-diff-files\"), `/dev/null` (e.g. `old-file` when a new file is added), " +"or a temporary file (e.g. `old-file` in the index). `GIT_EXTERNAL_DIFF` " +"should not worry about unlinking the temporary file --- it is removed when " +"`GIT_EXTERNAL_DIFF` exits." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:13 +#: en/git.txt:979 msgid "" -"What the -p option produces is slightly different from the traditional diff " -"format:" +"For a path that is unmerged, `GIT_EXTERNAL_DIFF` is called with 1 parameter, " +"<path>." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:15 -msgid "It is preceded with a \"git diff\" header that looks like this:" +#: en/git.txt:982 +msgid "" +"For each path `GIT_EXTERNAL_DIFF` is called, two environment variables, " +"`GIT_DIFF_PATH_COUNTER` and `GIT_DIFF_PATH_TOTAL` are set." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:17 +#. type: Labeled list +#: en/git.txt:983 #, no-wrap -msgid "diff --git a/file1 b/file2\n" +msgid "`GIT_DIFF_PATH_COUNTER`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:21 -msgid "" -"The `a/` and `b/` filenames are the same unless rename/copy is involved. " -"Especially, even for a creation or a deletion, `/dev/null` is _not_ used in " -"place of the `a/` or `b/` filenames." +#: en/git.txt:985 +msgid "A 1-based counter incremented by one for every path." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:25 -msgid "" -"When rename/copy is involved, `file1` and `file2` show the name of the " -"source file of the rename/copy and the name of the file that rename/copy " -"produces, respectively." +#. type: Labeled list +#: en/git.txt:986 +#, no-wrap +msgid "`GIT_DIFF_PATH_TOTAL`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:27 -msgid "It is followed by one or more extended header lines:" +#: en/git.txt:988 +msgid "The total number of paths." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:39 +#. type: Labeled list +#: en/git.txt:991 #, no-wrap -msgid "" -"old mode <mode>\n" -"new mode <mode>\n" -"deleted file mode <mode>\n" -"new file mode <mode>\n" -"copy from <path>\n" -"copy to <path>\n" -"rename from <path>\n" -"rename to <path>\n" -"similarity index <number>\n" -"dissimilarity index <number>\n" -"index <hash>..<hash> <mode>\n" -msgstr "" - -#. type: Plain text -#: en/diff-generate-patch.txt:42 -msgid "" -"File modes are printed as 6-digit octal numbers including the file type and " -"file permission bits." +msgid "`GIT_MERGE_VERBOSITY`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:44 +#: en/git.txt:995 msgid "" -"Path names in extended headers do not include the `a/` and `b/` prefixes." +"A number controlling the amount of output shown by the recursive merge " +"strategy. Overrides merge.verbosity. See linkgit:git-merge[1]" msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:51 -msgid "" -"The similarity index is the percentage of unchanged lines, and the " -"dissimilarity index is the percentage of changed lines. It is a rounded " -"down integer, followed by a percent sign. The similarity index value of " -"100% is thus reserved for two equal files, while 100% dissimilarity means " -"that no line from the old file made it into the new one." +#. type: Labeled list +#: en/git.txt:996 +#, no-wrap +msgid "`GIT_PAGER`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:55 +#: en/git.txt:1001 msgid "" -"The index line includes the SHA-1 checksum before and after the change. The " -"<mode> is included if the file mode does not change; otherwise, separate " -"lines indicate the old and the new mode." +"This environment variable overrides `$PAGER`. If it is set to an empty " +"string or to the value \"cat\", Git will not launch a pager. See also the " +"`core.pager` option in linkgit:git-config[1]." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:59 -#, fuzzy -#| msgid "" -#| "The default can be changed by the `commit.cleanup` configuration variable " -#| "(see linkgit:git-config[1])." -msgid "" -"Pathnames with \"unusual\" characters are quoted as explained for the " -"configuration variable `core.quotePath` (see linkgit:git-config[1])." -msgstr "" -"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " -"`commit.cleanup` (voir linkgit:git-config[1])." +#. type: Labeled list +#: en/git.txt:1002 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_EDITOR`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" #. type: Plain text -#: en/diff-generate-patch.txt:64 +#: en/git.txt:1007 msgid "" -"All the `file1` files in the output refer to files before the commit, and " -"all the `file2` files refer to files after the commit. It is incorrect to " -"apply each change to each file sequentially. For example, this patch will " -"swap a and b:" +"This environment variable overrides `$EDITOR` and `$VISUAL`. It is used by " +"several Git commands when, on interactive mode, an editor is to be launched. " +"See also linkgit:git-var[1] and the `core.editor` option in linkgit:git-" +"config[1]." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:71 +#. type: Labeled list +#: en/git.txt:1008 #, no-wrap -msgid "" -"diff --git a/a b/b\n" -"rename from a\n" -"rename to b\n" -"diff --git a/b b/a\n" -"rename from b\n" -"rename to a\n" +msgid "`GIT_SSH`" msgstr "" -#. type: Title - -#: en/diff-generate-patch.txt:74 +#. type: Labeled list +#: en/git.txt:1009 #, fuzzy, no-wrap -#| msgid "Git internal format" -msgid "combined diff format" -msgstr "Format interne de Git" +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_SSH_COMMAND`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" #. type: Plain text -#: en/diff-generate-patch.txt:82 +#: en/git.txt:1018 msgid "" -"Any diff-generating command can take the `-c` or `--cc` option to produce a " -"'combined diff' when showing a merge. This is the default format when " -"showing merges with linkgit:git-diff[1] or linkgit:git-show[1]. Note also " -"that you can give the `-m` option to any of these commands to force " -"generation of diffs with individual parents of a merge." +"If either of these environment variables is set then 'git fetch' and 'git " +"push' will use the specified command instead of 'ssh' when they need to " +"connect to a remote system. The command will be given exactly two or four " +"arguments: the 'username@host' (or just 'host') from the URL and the shell " +"command to execute on that remote system, optionally preceded by `-p` " +"(literally) and the 'port' from the URL when it specifies something other " +"than the default SSH port." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:84 -msgid "A 'combined diff' format looks like this:" +#: en/git.txt:1024 +msgid "" +"`$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted by " +"the shell, which allows additional arguments to be included. `$GIT_SSH` on " +"the other hand must be just the path to a program (which can be a wrapper " +"shell script, if additional arguments are needed)." msgstr "" -#. type: delimited block - -#: en/diff-generate-patch.txt:93 -#, no-wrap +#. type: Plain text +#: en/git.txt:1028 msgid "" -"diff --combined describe.c\n" -"index fabadb8,cc95eb0..4866510\n" -"--- a/describe.c\n" -"+++ b/describe.c\n" -"@@@ -98,20 -98,12 +98,20 @@@\n" -"\treturn (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;\n" -" }\n" +"Usually it is easier to configure any desired options through your personal " +"`.ssh/config` file. Please consult your ssh documentation for further " +"details." msgstr "" -#. type: delimited block - -#: en/diff-generate-patch.txt:103 +#. type: Labeled list +#: en/git.txt:1029 #, no-wrap +msgid "`GIT_SSH_VARIANT`" +msgstr "" + +#. type: Plain text +#: en/git.txt:1034 msgid "" -"- static void describe(char *arg)\n" -" -static void describe(struct commit *cmit, int last_one)\n" -"++static void describe(char *arg, int last_one)\n" -" {\n" -" +\tunsigned char sha1[20];\n" -" +\tstruct commit *cmit;\n" -"\tstruct commit_list *list;\n" -"\tstatic int initialized = 0;\n" -"\tstruct commit_name *n;\n" +"If this environment variable is set, it overrides Git's autodetection " +"whether `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` refer to OpenSSH, " +"plink or tortoiseplink. This variable overrides the config setting `ssh." +"variant` that serves the same purpose." msgstr "" -#. type: delimited block - -#: en/diff-generate-patch.txt:113 +#. type: Labeled list +#: en/git.txt:1035 #, no-wrap -msgid "" -" +\tif (get_sha1(arg, sha1) < 0)\n" -" +\t\tusage(describe_usage);\n" -" +\tcmit = lookup_commit_reference(sha1);\n" -" +\tif (!cmit)\n" -" +\t\tusage(describe_usage);\n" -" +\n" -"\tif (!initialized) {\n" -"\t\tinitialized = 1;\n" -"\t\tfor_each_ref(get_name);\n" +msgid "`GIT_ASKPASS`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:117 +#: en/git.txt:1041 msgid "" -"It is preceded with a \"git diff\" header, that looks like this (when `-c` " -"option is used):" +"If this environment variable is set, then Git commands which need to acquire " +"passwords or passphrases (e.g. for HTTP or IMAP authentication) will call " +"this program with a suitable prompt as command-line argument and read the " +"password from its STDOUT. See also the `core.askPass` option in linkgit:git-" +"config[1]." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:119 +#. type: Labeled list +#: en/git.txt:1042 #, no-wrap -msgid "diff --combined file\n" +msgid "`GIT_TERMINAL_PROMPT`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:121 -msgid "or like this (when `--cc` option is used):" +#: en/git.txt:1045 +msgid "" +"If this environment variable is set to `0`, git will not prompt on the " +"terminal (e.g., when asking for HTTP authentication)." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:123 +#. type: Labeled list +#: en/git.txt:1046 #, no-wrap -msgid " diff --cc file\n" +msgid "`GIT_CONFIG_NOSYSTEM`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:126 +#: en/git.txt:1053 msgid "" -"It is followed by one or more extended header lines (this example shows a " -"merge with two parents):" +"Whether to skip reading settings from the system-wide `$(prefix)/etc/" +"gitconfig` file. This environment variable can be used along with `$HOME` " +"and `$XDG_CONFIG_HOME` to create a predictable environment for a picky " +"script, or you can set it temporarily to avoid using a buggy `/etc/" +"gitconfig` file while waiting for someone with sufficient permissions to fix " +"it." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:131 +#. type: Labeled list +#: en/git.txt:1054 #, no-wrap -msgid "" -"index <hash>,<hash>..<hash>\n" -"mode <mode>,<mode>..<mode>\n" -"new file mode <mode>\n" -"deleted file mode <mode>,<mode>\n" +msgid "`GIT_FLUSH`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:137 +#: en/git.txt:1064 +#, no-wrap msgid "" -"The `mode <mode>,<mode>..<mode>` line appears only if at least one of the " -"<mode> is different from the rest. Extended headers with information about " -"detected contents movement (renames and copying detection) are designed to " -"work with diff of two <tree-ish> and are not used by combined diff format." +"If this environment variable is set to \"1\", then commands such\n" +"as 'git blame' (in incremental mode), 'git rev-list', 'git log',\n" +"'git check-attr' and 'git check-ignore' will\n" +"force a flush of the output stream after each record have been\n" +"flushed. If this\n" +"variable is set to \"0\", the output of these commands will be done\n" +"using completely buffered I/O. If this environment variable is\n" +"not set, Git will choose buffered or record-oriented flushing\n" +"based on whether stdout appears to be redirected to a file or not.\n" msgstr "" +#. type: Labeled list +#: en/git.txt:1065 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_TRACE`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + #. type: Plain text -#: en/diff-generate-patch.txt:139 -msgid "It is followed by two-line from-file/to-file header" +#: en/git.txt:1068 +msgid "" +"Enables general trace messages, e.g. alias expansion, built-in command " +"execution and external command execution." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:141 -msgid "a/file" +#: en/git.txt:1072 +msgid "" +"If this variable is set to \"1\", \"2\" or \"true\" (comparison is case " +"insensitive), trace messages will be printed to stderr." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:142 -msgid "b/file" +#: en/git.txt:1077 +msgid "" +"If the variable is set to an integer value greater than 2 and lower than 10 " +"(strictly) then Git will interpret this value as an open file descriptor and " +"will try to write the trace messages into this file descriptor." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:146 +#: en/git.txt:1082 msgid "" -"Similar to two-line header for traditional 'unified' diff format, `/dev/" -"null` is used to signal created or deleted files." +"Alternatively, if the variable is set to an absolute path (starting with a " +"'/' character), Git will interpret this as a file path and will try to write " +"the trace messages into it." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:152 +#: en/git.txt:1085 msgid "" -"Chunk header format is modified to prevent people from accidentally feeding " -"it to `patch -p1`. Combined diff format was created for review of merge " -"commit changes, and was not meant for apply. The change is similar to the " -"change in the extended 'index' header:" +"Unsetting the variable, or setting it to empty, \"0\" or \"false\" (case " +"insensitive) disables trace messages." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:154 +#. type: Labeled list +#: en/git.txt:1086 #, no-wrap -msgid "@@@ <from-file-range> <from-file-range> <to-file-range> @@@\n" +msgid "`GIT_TRACE_PACK_ACCESS`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:157 +#: en/git.txt:1092 msgid "" -"There are (number of parents + 1) `@` characters in the chunk header for " -"combined diff format." +"Enables trace messages for all accesses to any packs. For each access, the " +"pack file name and an offset in the pack is recorded. This may be helpful " +"for troubleshooting some pack-related performance problems. See `GIT_TRACE` " +"for available trace output options." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:166 -msgid "" -"Unlike the traditional 'unified' diff format, which shows two files A and B " -"with a single column that has `-` (minus -- appears in A but removed in B), `" -"+` (plus -- missing in A but added to B), or `\" \"` (space -- unchanged) " -"prefix, this format compares two or more files file1, file2,... with one " -"file X, and shows how X differs from each of fileN. One column for each of " -"fileN is prepended to the output line to note how X's line is different from " -"it." +#. type: Labeled list +#: en/git.txt:1093 +#, no-wrap +msgid "`GIT_TRACE_PACKET`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:172 +#: en/git.txt:1099 msgid "" -"A `-` character in the column N means that the line appears in fileN but it " -"does not appear in the result. A `+` character in the column N means that " -"the line appears in the result, and fileN does not have that line (in other " -"words, the line was added, from the point of view of that parent)." +"Enables trace messages for all packets coming in or out of a given program. " +"This can help with debugging object negotiation or other protocol issues. " +"Tracing is turned off at a packet starting with \"PACK\" (but see " +"`GIT_TRACE_PACKFILE` below). See `GIT_TRACE` for available trace output " +"options." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:178 -msgid "" -"In the above example output, the function signature was changed from both " -"files (hence two `-` removals from both file1 and file2, plus `++` to mean " -"one line that was added does not appear in either file1 or file2). Also " -"eight other lines are the same from file1 but do not appear in file2 (hence " -"prefixed with `+`)." +#. type: Labeled list +#: en/git.txt:1100 +#, no-wrap +msgid "`GIT_TRACE_PACKFILE`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:184 +#: en/git.txt:1107 msgid "" -"When shown by `git diff-tree -c`, it compares the parents of a merge commit " -"with the merge result (i.e. file1..fileN are the parents). When shown by " -"`git diff-files -c`, it compares the two unresolved merge parents with the " -"working tree file (i.e. file1 is stage 2 aka \"our version\", file2 is stage " -"3 aka \"their version\")." +"Enables tracing of packfiles sent or received by a given program. Unlike " +"other trace output, this trace is verbatim: no headers, and no quoting of " +"binary data. You almost certainly want to direct into a file (e.g., " +"`GIT_TRACE_PACKFILE=/tmp/my.pack`) rather than displaying it on the terminal " +"or mixing it with other trace output." msgstr "" #. type: Plain text -#: en/diff-options.txt:19 -msgid "Generate plain patches without any diffstats." +#: en/git.txt:1110 +msgid "" +"Note that this is currently only implemented for the client side of clones " +"and fetches." msgstr "" -#. type: Plain text -#: en/diff-options.txt:26 -msgid "Generate patch (see section on generating patches)." +#. type: Labeled list +#: en/git.txt:1111 +#, no-wrap +msgid "`GIT_TRACE_PERFORMANCE`" msgstr "" #. type: Plain text -#: en/diff-options.txt:28 en/diff-options.txt:50 -#, no-wrap -msgid "\tThis is the default.\n" +#: en/git.txt:1115 +msgid "" +"Enables performance related trace messages, e.g. total execution time of " +"each Git command. See `GIT_TRACE` for available trace output options." msgstr "" #. type: Labeled list -#: en/diff-options.txt:31 -#, fuzzy, no-wrap -#| msgid "patch" -msgid "--no-patch" -msgstr "patch" +#: en/git.txt:1116 +#, no-wrap +msgid "`GIT_TRACE_SETUP`" +msgstr "" #. type: Plain text -#: en/diff-options.txt:34 +#: en/git.txt:1120 msgid "" -"Suppress diff output. Useful for commands like `git show` that show the " -"patch by default, or to cancel the effect of `--patch`." +"Enables trace messages printing the .git, working tree and current working " +"directory after Git has completed its setup phase. See `GIT_TRACE` for " +"available trace output options." msgstr "" #. type: Labeled list -#: en/diff-options.txt:36 +#: en/git.txt:1121 #, no-wrap -msgid "-U<n>" +msgid "`GIT_TRACE_SHALLOW`" +msgstr "" + +#. type: Plain text +#: en/git.txt:1125 +msgid "" +"Enables trace messages that can help debugging fetching / cloning of shallow " +"repositories. See `GIT_TRACE` for available trace output options." msgstr "" #. type: Labeled list -#: en/diff-options.txt:37 +#: en/git.txt:1126 #, no-wrap -msgid "--unified=<n>" +msgid "`GIT_TRACE_CURL`" msgstr "" #. type: Plain text -#: en/diff-options.txt:40 -msgid "Generate diffs with <n> lines of context instead of the usual three." +#: en/git.txt:1133 +msgid "" +"Enables a curl full trace dump of all incoming and outgoing data, including " +"descriptive information, of the git transport protocol. This is similar to " +"doing curl `--trace-ascii` on the command line. This option overrides " +"setting the `GIT_CURL_VERBOSE` environment variable. See `GIT_TRACE` for " +"available trace output options." msgstr "" +#. type: Labeled list +#: en/git.txt:1134 +#, fuzzy, no-wrap +#| msgid "`$GIT_DIR/COMMIT_EDITMSG`" +msgid "`GIT_LITERAL_PATHSPECS`" +msgstr "`$GIT_DIR/COMMIT_EDITMSG`" + #. type: Plain text -#: en/diff-options.txt:42 -#, no-wrap -msgid "\tImplies `-p`.\n" +#: en/git.txt:1142 +msgid "" +"Setting this variable to `1` will cause Git to treat all pathspecs " +"literally, rather than as glob patterns. For example, running " +"`GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search for commits that " +"touch the path `*.c`, not any paths that the glob `*.c` matches. You might " +"want this if you are feeding literal paths to Git (e.g., paths previously " +"given to you by `git ls-tree`, `--raw` diff output, etc)." msgstr "" -#. type: Plain text -#: en/diff-options.txt:48 +#. type: Labeled list +#: en/git.txt:1143 #, no-wrap -msgid "\tGenerate the diff in raw format.\n" +msgid "`GIT_GLOB_PATHSPECS`" msgstr "" #. type: Plain text -#: en/diff-options.txt:58 -#, no-wrap +#: en/git.txt:1146 msgid "" -"\tFor each commit, show a summary of changes using the raw diff\n" -"\tformat. See the \"RAW OUTPUT FORMAT\" section of\n" -"\tlinkgit:git-diff[1]. This is different from showing the log\n" -"\titself in raw format, which you can achieve with\n" -"\t`--format=raw`.\n" +"Setting this variable to `1` will cause Git to treat all pathspecs as glob " +"patterns (aka \"glob\" magic)." msgstr "" #. type: Labeled list -#: en/diff-options.txt:62 +#: en/git.txt:1147 #, no-wrap -msgid "--patch-with-raw" +msgid "`GIT_NOGLOB_PATHSPECS`" msgstr "" #. type: Plain text -#: en/diff-options.txt:64 -msgid "Synonym for `-p --raw`." +#: en/git.txt:1150 +msgid "" +"Setting this variable to `1` will cause Git to treat all pathspecs as " +"literal (aka \"literal\" magic)." msgstr "" #. type: Labeled list -#: en/diff-options.txt:68 +#: en/git.txt:1151 #, no-wrap -msgid "--minimal" +msgid "`GIT_ICASE_PATHSPECS`" +msgstr "" + +#. type: Plain text +#: en/git.txt:1154 +msgid "" +"Setting this variable to `1` will cause Git to treat all pathspecs as case-" +"insensitive." msgstr "" #. type: Labeled list -#: en/diff-options.txt:72 +#: en/git.txt:1155 #, no-wrap -msgid "--patience" +msgid "`GIT_REFLOG_ACTION`" msgstr "" #. type: Plain text -#: en/diff-options.txt:74 -msgid "Generate a diff using the \"patience diff\" algorithm." +#: en/git.txt:1164 +msgid "" +"When a ref is updated, reflog entries are created to keep track of the " +"reason why the ref was updated (which is typically the name of the high-" +"level command that updated the ref), in addition to the old and new values " +"of the ref. A scripted Porcelain command can use set_reflog_action helper " +"function in `git-sh-setup` to set its name to this variable when it is " +"invoked as the top level command by the end user, to be recorded in the body " +"of the reflog." msgstr "" #. type: Labeled list -#: en/diff-options.txt:75 +#: en/git.txt:1165 #, no-wrap -msgid "--histogram" +msgid "`GIT_REF_PARANOIA`" msgstr "" #. type: Plain text -#: en/diff-options.txt:77 -msgid "Generate a diff using the \"histogram diff\" algorithm." +#: en/git.txt:1175 +msgid "" +"If set to `1`, include broken or badly named refs when iterating over lists " +"of refs. In a normal, non-corrupted repository, this does nothing. However, " +"enabling it may help git to detect and abort some operations in the presence " +"of broken refs. Git sets this variable automatically when performing " +"destructive operations like linkgit:git-prune[1]. You should not need to set " +"it yourself unless you want to be paranoid about making sure an operation " +"has touched every ref (e.g., because you are cloning a repository to make a " +"backup)." msgstr "" #. type: Labeled list -#: en/diff-options.txt:78 +#: en/git.txt:1176 #, no-wrap -msgid "--diff-algorithm={patience|minimal|histogram|myers}" +msgid "`GIT_ALLOW_PROTOCOL`" msgstr "" #. type: Plain text -#: en/diff-options.txt:80 -msgid "Choose a diff algorithm. The variants are as follows:" +#: en/git.txt:1184 +msgid "" +"If set to a colon-separated list of protocols, behave as if `protocol.allow` " +"is set to `never`, and each of the listed protocols has `protocol.<name>." +"allow` set to `always` (overriding any existing configuration). In other " +"words, any protocol not mentioned will be disallowed (i.e., this is a " +"whitelist, not a blacklist). See the description of `protocol.allow` in " +"linkgit:git-config[1] for more details." +msgstr "" + +#. type: Labeled list +#: en/git.txt:1185 +#, no-wrap +msgid "`GIT_PROTOCOL_FROM_USER`" msgstr "" #. type: Plain text -#: en/diff-options.txt:97 +#: en/git.txt:1191 msgid "" -"For instance, if you configured diff.algorithm variable to a non-default " -"value and want to use the default one, then you have to use `--diff-" -"algorithm=default` option." +"Set to 0 to prevent protocols used by fetch/push/clone which are configured " +"to the `user` state. This is useful to restrict recursive submodule " +"initialization from an untrusted repository or for programs which feed " +"potentially-untrusted URLS to git commands. See linkgit:git-config[1] for " +"more details." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:98 +#. type: Title - +#: en/git.txt:1193 #, no-wrap -msgid "--stat[=<width>[,<name-width>[,<count>]]]" +msgid "Discussion[[Discussion]]" msgstr "" #. type: Plain text -#: en/diff-options.txt:112 +#: en/git.txt:1198 msgid "" -"Generate a diffstat. By default, as much space as necessary will be used for " -"the filename part, and the rest for the graph part. Maximum width defaults " -"to terminal width, or 80 columns if not connected to a terminal, and can be " -"overridden by `<width>`. The width of the filename part can be limited by " -"giving another width `<name-width>` after a comma. The width of the graph " -"part can be limited by using `--stat-graph-width=<width>` (affects all " -"commands generating a stat graph) or by setting `diff." -"statGraphWidth=<width>` (does not affect `git format-patch`). By giving a " -"third parameter `<count>`, you can limit the output to the first `<count>` " -"lines, followed by `...` if there are more." +"More detail on the following is available from the link:user-manual.html#git-" +"concepts[Git concepts chapter of the user-manual] and linkgit:gitcore-" +"tutorial[7]." msgstr "" #. type: Plain text -#: en/diff-options.txt:115 +#: en/git.txt:1205 msgid "" -"These parameters can also be set individually with `--stat-width=<width>`, " -"`--stat-name-width=<name-width>` and `--stat-count=<count>`." +"A Git project normally consists of a working directory with a \".git\" " +"subdirectory at the top level. The .git directory contains, among other " +"things, a compressed object database representing the complete history of " +"the project, an \"index\" file which links that history to the current " +"contents of the working tree, and named pointers into that history such as " +"tags and branch heads." msgstr "" #. type: Plain text -#: en/diff-options.txt:122 +#: en/git.txt:1210 msgid "" -"Similar to `--stat`, but shows number of added and deleted lines in decimal " -"notation and pathname without abbreviation, to make it more machine " -"friendly. For binary files, outputs two `-` instead of saying `0 0`." +"The object database contains objects of three main types: blobs, which hold " +"file data; trees, which point to blobs and other trees to build up directory " +"hierarchies; and commits, which each reference a single tree and some number " +"of parent commits." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:123 -#, no-wrap -msgid "--shortstat" +#. type: Plain text +#: en/git.txt:1215 +msgid "" +"The commit, equivalent to what other systems call a \"changeset\" or " +"\"version\", represents a step in the project's history, and each parent " +"represents an immediately preceding step. Commits with more than one parent " +"represent merges of independent lines of development." msgstr "" #. type: Plain text -#: en/diff-options.txt:127 +#: en/git.txt:1221 msgid "" -"Output only the last line of the `--stat` format containing total number of " -"modified files, as well as number of added and deleted lines." +"All objects are named by the SHA-1 hash of their contents, normally written " +"as a string of 40 hex digits. Such names are globally unique. The entire " +"history leading up to a commit can be vouched for by signing just that " +"commit. A fourth object type, the tag, is provided for this purpose." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:128 -#, no-wrap -msgid "--dirstat[=<param1,param2,...>]" +#. type: Plain text +#: en/git.txt:1224 +msgid "" +"When first created, objects are stored in individual files, but for " +"efficiency may later be compressed together into \"pack files\"." msgstr "" #. type: Plain text -#: en/diff-options.txt:135 +#: en/git.txt:1231 msgid "" -"Output the distribution of relative amount of changes for each sub-" -"directory. The behavior of `--dirstat` can be customized by passing it a " -"comma separated list of parameters. The defaults are controlled by the " -"`diff.dirstat` configuration variable (see linkgit:git-config[1]). The " -"following parameters are available:" +"Named pointers called refs mark interesting points in history. A ref may " +"contain the SHA-1 name of an object or the name of another ref. Refs with " +"names beginning `ref/head/` contain the SHA-1 name of the most recent commit " +"(or \"head\") of a branch under development. SHA-1 names of tags of " +"interest are stored under `ref/tags/`. A special ref named `HEAD` contains " +"the name of the currently checked-out branch." msgstr "" #. type: Plain text -#: en/diff-options.txt:171 +#: en/git.txt:1240 msgid "" -"Example: The following will count changed files, while ignoring directories " -"with less than 10% of the total amount of changed files, and accumulating " -"child directory counts in the parent directories: `--dirstat=files,10," -"cumulative`." +"The index file is initialized with a list of all paths and, for each path, a " +"blob object and a set of attributes. The blob object represents the " +"contents of the file as of the head of the current branch. The attributes " +"(last modified time, size, etc.) are taken from the corresponding file in " +"the working tree. Subsequent changes to the working tree can be found by " +"comparing these attributes. The index may be updated with new content, and " +"new commits may be created from the content stored in the index." msgstr "" #. type: Plain text -#: en/diff-options.txt:175 +#: en/git.txt:1244 msgid "" -"Output a condensed summary of extended header information such as creations, " -"renames and mode changes." +"The index is also capable of storing multiple entries (called \"stages\") " +"for a given pathname. These stages are used to hold the various unmerged " +"version of a file when a merge is in progress." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:177 +#. type: Title - +#: en/git.txt:1246 #, no-wrap -msgid "--patch-with-stat" +msgid "FURTHER DOCUMENTATION" msgstr "" #. type: Plain text -#: en/diff-options.txt:179 -msgid "Synonym for `-p --stat`." +#: en/git.txt:1251 +msgid "" +"See the references in the \"description\" section to get started using Git. " +"The following is probably more detail than necessary for a first-time user." msgstr "" #. type: Plain text -#: en/diff-options.txt:186 -#, no-wrap -msgid "\tSeparate the commits with NULs instead of with new newlines.\n" +#: en/git.txt:1255 +msgid "" +"The link:user-manual.html#git-concepts[Git concepts chapter of the user-" +"manual] and linkgit:gitcore-tutorial[7] both provide introductions to the " +"underlying Git architecture." msgstr "" #. type: Plain text -#: en/diff-options.txt:189 -msgid "" -"Also, when `--raw` or `--numstat` has been given, do not munge pathnames and " -"use NULs as output field terminators." +#: en/git.txt:1257 +msgid "See linkgit:gitworkflows[7] for an overview of recommended workflows." msgstr "" #. type: Plain text -#: en/diff-options.txt:193 -#, no-wrap +#: en/git.txt:1260 msgid "" -"\tWhen `--raw`, `--numstat`, `--name-only` or `--name-status` has been\n" -"\tgiven, do not munge pathnames and use NULs as output field terminators.\n" +"See also the link:howto-index.html[howto] documents for some useful examples." msgstr "" #. type: Plain text -#: en/diff-options.txt:201 -msgid "Show only names of changed files." +#: en/git.txt:1263 +msgid "" +"The internals are documented in the link:technical/api-index.html[Git API " +"documentation]." msgstr "" #. type: Plain text -#: en/diff-options.txt:205 +#: en/git.txt:1266 msgid "" -"Show only names and status of changed files. See the description of the `--" -"diff-filter` option on what the status letters mean." +"Users migrating from CVS may also want to read linkgit:gitcvs-migration[7]." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:206 +#. type: Title - +#: en/git.txt:1269 #, no-wrap -msgid "--submodule[=<format>]" +msgid "Authors" msgstr "" #. type: Plain text -#: en/diff-options.txt:217 +#: en/git.txt:1274 msgid "" -"Specify how differences in submodules are shown. When specifying `--" -"submodule=short` the 'short' format is used. This format just shows the " -"names of the commits at the beginning and end of the range. When `--" -"submodule` or `--submodule=log` is specified, the 'log' format is used. " -"This format lists the commits in the range like linkgit:git-submodule[1] " -"`summary` does. When `--submodule=diff` is specified, the 'diff' format is " -"used. This format shows an inline diff of the changes in the submodule " -"contents between the commit range. Defaults to `diff.submodule` or the " -"'short' format if the config option is unset." +"Git was started by Linus Torvalds, and is currently maintained by Junio C " +"Hamano. Numerous contributions have come from the Git mailing list <git@vger." +"kernel.org>. http://www.openhub.net/p/git/contributors/summary gives you a " +"more complete list of contributors." msgstr "" #. type: Plain text -#: en/diff-options.txt:222 +#: en/git.txt:1278 msgid "" -"Show colored diff. `--color` (i.e. without '=<when>') is the same as `--" -"color=always`. '<when>' can be one of `always`, `never`, or `auto`." +"If you have a clone of git.git itself, the output of linkgit:git-shortlog[1] " +"and linkgit:git-blame[1] can show you the authors for specific parts of the " +"project." msgstr "" -#. type: Plain text -#: en/diff-options.txt:225 +#. type: Title - +#: en/git.txt:1280 #, no-wrap -msgid "" -"\tIt can be changed by the `color.ui` and `color.diff`\n" -"\tconfiguration settings.\n" +msgid "Reporting Bugs" msgstr "" #. type: Plain text -#: en/diff-options.txt:229 -msgid "Turn off colored diff." +#: en/git.txt:1285 +msgid "" +"Report bugs to the Git mailing list <git@vger.kernel.org> where the " +"development and maintenance is primarily done. You do not have to be " +"subscribed to the list to send a message there." msgstr "" +# #. type: Plain text -#: en/diff-options.txt:231 +#: en/git.txt:1293 +#, fuzzy +#| msgid "" +#| "linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" +#| "mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" +msgid "" +"linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:giteveryday[7], " +"linkgit:gitcvs-migration[7], linkgit:gitglossary[7], linkgit:gitcore-" +"tutorial[7], linkgit:gitcli[7], link:user-manual.html[The Git User's " +"Manual], linkgit:gitworkflows[7]" +msgstr "" +"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-" +"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" + +#. type: Title = +#: en/git-unpack-file.txt:2 #, no-wrap -msgid "\tThis can be used to override configuration settings.\n" +msgid "git-unpack-file(1)" msgstr "" #. type: Plain text -#: en/diff-options.txt:233 -#, no-wrap -msgid "\tIt is the same as `--color=never`.\n" +#: en/git-unpack-file.txt:7 +msgid "git-unpack-file - Creates a temporary file with a blob's contents" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:234 +#. type: Plain text +#: en/git-unpack-file.txt:14 #, no-wrap -msgid "--word-diff[=<mode>]" +msgid "'git unpack-file' <blob>\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:239 +#: en/git-unpack-file.txt:20 +#, no-wrap msgid "" -"Show a word diff, using the <mode> to delimit changed words. By default, " -"words are delimited by whitespace; see `--word-diff-regex` below. The " -"<mode> defaults to 'plain', and must be one of:" +"Creates a file holding the contents of the blob specified by sha1. It\n" +"returns the name of the temporary file in the following format:\n" +"\t.merge_file_XXXXX\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:243 -msgid "Highlight changed words using only colors. Implies `--color`." +#: en/git-unpack-file.txt:25 +msgid "Must be a blob id" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:243 +#. type: Title = +#: en/git-unpack-objects.txt:2 #, no-wrap -msgid "plain" +msgid "git-unpack-objects(1)" msgstr "" #. type: Plain text -#: en/diff-options.txt:247 -msgid "" -"Show words as `[-removed-]` and `{+added+}`. Makes no attempts to escape " -"the delimiters if they appear in the input, so the output may be ambiguous." +#: en/git-unpack-objects.txt:7 +msgid "git-unpack-objects - Unpack objects from a packed archive" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:247 +#. type: Plain text +#: en/git-unpack-objects.txt:13 #, no-wrap -msgid "porcelain" +msgid "'git unpack-objects' [-n] [-q] [-r] [--strict]\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:254 +#: en/git-unpack-objects.txt:20 msgid "" -"Use a special line-based format intended for script consumption. Added/" -"removed/unchanged runs are printed in the usual unified diff format, " -"starting with a `+`/`-`/` ` character at the beginning of the line and " -"extending to the end of the line. Newlines in the input are represented by " -"a tilde `~` on a line of its own." +"Read a packed archive (.pack) from the standard input, expanding the objects " +"contained within and writing them into the repository in \"loose\" (one " +"object per file) format." msgstr "" #. type: Plain text -#: en/diff-options.txt:256 -msgid "Disable word diff again." +#: en/git-unpack-objects.txt:24 +msgid "" +"Objects that already exist in the repository will *not* be unpacked from the " +"packfile. Therefore, nothing will be unpacked if you use this command on a " +"packfile that exists within the target repository." msgstr "" #. type: Plain text -#: en/diff-options.txt:260 +#: en/git-unpack-objects.txt:27 msgid "" -"Note that despite the name of the first mode, color is used to highlight the " -"changed parts in all modes if enabled." +"See linkgit:git-repack[1] for options to generate new packs and replace " +"existing ones." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:261 +#. type: Plain text +#: en/git-unpack-objects.txt:32 +msgid "Dry run. Check the pack file without actually unpacking" +msgstr "" + +#. type: Plain text +#: en/git-unpack-objects.txt:33 +msgid "the objects." +msgstr "" + +#. type: Plain text +#: en/git-unpack-objects.txt:37 +msgid "" +"The command usually shows percentage progress. This flag suppresses it." +msgstr "" + +#. type: Plain text +#: en/git-unpack-objects.txt:43 +msgid "" +"When unpacking a corrupt packfile, the command dies at the first " +"corruption. This flag tells it to keep going and make the best effort to " +"recover as many objects as possible." +msgstr "" + +#. type: Plain text +#: en/git-unpack-objects.txt:46 +msgid "Don't write objects with broken content or links." +msgstr "" + +#. type: Title = +#: en/git-update-index.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-update-index(1)" +msgstr "git-add(1)" + +# +#. type: Plain text +#: en/git-update-index.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "" +"git-update-index - Register file contents in the working tree to the index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/git-update-index.txt:27 #, no-wrap -msgid "--word-diff-regex=<regex>" +msgid "" +"'git update-index'\n" +"\t [--add] [--remove | --force-remove] [--replace]\n" +"\t [--refresh] [-q] [--unmerged] [--ignore-missing]\n" +"\t [(--cacheinfo <mode>,<object>,<file>)...]\n" +"\t [--chmod=(+|-)x]\n" +"\t [--[no-]assume-unchanged]\n" +"\t [--[no-]skip-worktree]\n" +"\t [--ignore-submodules]\n" +"\t [--[no-]split-index]\n" +"\t [--[no-|test-|force-]untracked-cache]\n" +"\t [--really-refresh] [--unresolve] [--again | -g]\n" +"\t [--info-only] [--index-info]\n" +"\t [-z] [--stdin] [--index-version <n>]\n" +"\t [--verbose]\n" +"\t [--] [<file>...]\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:265 +#: en/git-update-index.txt:33 msgid "" -"Use <regex> to decide what a word is, instead of considering runs of non-" -"whitespace to be a word. Also implies `--word-diff` unless it was already " -"enabled." +"Modifies the index or directory cache. Each file mentioned is updated into " +"the index and any 'unmerged' or 'needs updating' state is cleared." msgstr "" #. type: Plain text -#: en/diff-options.txt:273 +#: en/git-update-index.txt:36 msgid "" -"Every non-overlapping match of the <regex> is considered a word. Anything " -"between these matches is considered whitespace and ignored(!) for the " -"purposes of finding differences. You may want to append `|[^[:space:]]` to " -"your regular expression to make sure that it matches all non-whitespace " -"characters. A match that contains a newline is silently truncated(!) at the " -"newline." +"See also linkgit:git-add[1] for a more user-friendly way to do some of the " +"most common operations on the index." msgstr "" #. type: Plain text -#: en/diff-options.txt:276 +#: en/git-update-index.txt:39 msgid "" -"For example, `--word-diff-regex=.` will treat each character as a word and, " -"correspondingly, show differences character by character." +"The way 'git update-index' handles files it is told about can be modified " +"using the various options:" msgstr "" #. type: Plain text -#: en/diff-options.txt:281 +#: en/git-update-index.txt:46 msgid "" -"The regex can also be set via a diff driver or configuration option, see " -"linkgit:gitattributes[5] or linkgit:git-config[1]. Giving it explicitly " -"overrides any diff driver or configuration setting. Diff drivers override " -"configuration settings." +"If a specified file isn't in the index already then it's added. Default " +"behaviour is to ignore new files." msgstr "" #. type: Labeled list -#: en/diff-options.txt:282 +#: en/git-update-index.txt:47 #, no-wrap -msgid "--color-words[=<regex>]" +msgid "--remove" msgstr "" #. type: Plain text -#: en/diff-options.txt:285 +#: en/git-update-index.txt:51 msgid "" -"Equivalent to `--word-diff=color` plus (if a regex was specified) `--word-" -"diff-regex=<regex>`." +"If a specified file is in the index but is missing then it's removed. " +"Default behavior is to ignore removed file." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:287 -#, no-wrap -msgid "--no-renames" +#. type: Plain text +#: en/git-update-index.txt:55 +msgid "" +"Looks at the current index and checks to see if merges or updates are needed " +"by checking stat() information." msgstr "" #. type: Plain text -#: en/diff-options.txt:290 +#: en/git-update-index.txt:59 msgid "" -"Turn off rename detection, even when the configuration file gives the " -"default to do so." +"Quiet. If --refresh finds that the index needs an update, the default " +"behavior is to error out. This option makes" msgstr "" #. type: Plain text -#: en/diff-options.txt:301 -msgid "" -"Warn if changes introduce conflict markers or whitespace errors. What are " -"considered whitespace errors is controlled by `core.whitespace` " -"configuration. By default, trailing whitespaces (including lines that " -"solely consist of whitespaces) and a space character that is immediately " -"followed by a tab character inside the initial indent of the line are " -"considered whitespace errors. Exits with non-zero status if problems are " -"found. Not compatible with --exit-code." +#: en/git-update-index.txt:60 +msgid "'git update-index' continue anyway." msgstr "" #. type: Labeled list -#: en/diff-options.txt:302 -#, no-wrap -msgid "--ws-error-highlight=<kind>" -msgstr "" +#: en/git-update-index.txt:61 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--ignore-submodules" +msgstr "git-add(1)" #. type: Plain text -#: en/diff-options.txt:312 +#: en/git-update-index.txt:64 msgid "" -"Highlight whitespace errors on lines specified by <kind> in the color " -"specified by `color.diff.whitespace`. <kind> is a comma separated list of " -"`old`, `new`, `context`. When this option is not given, only whitespace " -"errors in `new` lines are highlighted. E.g. `--ws-error-highlight=new,old` " -"highlights whitespace errors on both deleted and added lines. `all` can be " -"used as a short-hand for `old,new,context`. The `diff.wsErrorHighlight` " -"configuration variable can be used to specify the default behaviour." +"Do not try to update submodules. This option is only respected when passed " +"before --refresh." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:315 -#, no-wrap -msgid "--full-index" +#. type: Plain text +#: en/git-update-index.txt:67 +msgid "If --refresh finds unmerged changes in the index, the default" msgstr "" #. type: Plain text -#: en/diff-options.txt:319 -msgid "" -"Instead of the first handful of characters, show the full pre- and post-" -"image blob object names on the \"index\" line when generating patch format " -"output." +#: en/git-update-index.txt:68 +msgid "behavior is to error out. This option makes 'git update-index'" msgstr "" #. type: Plain text -#: en/diff-options.txt:323 -msgid "" -"In addition to `--full-index`, output a binary diff that can be applied with " -"`git-apply`." +#: en/git-update-index.txt:69 +#, no-wrap +msgid "continue anyway.\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:331 -msgid "" -"Instead of showing the full 40-byte hexadecimal object name in diff-raw " -"format output and diff-tree header lines, show only a partial prefix. This " -"is independent of the `--full-index` option above, which controls the diff-" -"patch output format. Non default number of digits can be specified with `--" -"abbrev=<n>`." +#: en/git-update-index.txt:72 +msgid "Ignores missing files during a --refresh" msgstr "" #. type: Labeled list -#: en/diff-options.txt:332 +#: en/git-update-index.txt:73 #, no-wrap -msgid "-B[<n>][/<m>]" +msgid "--cacheinfo <mode>,<object>,<path>" msgstr "" #. type: Labeled list -#: en/diff-options.txt:333 +#: en/git-update-index.txt:74 #, no-wrap -msgid "--break-rewrites[=[<n>][/<m>]]" +msgid "--cacheinfo <mode> <object> <path>" msgstr "" #. type: Plain text -#: en/diff-options.txt:336 +#: en/git-update-index.txt:79 msgid "" -"Break complete rewrite changes into pairs of delete and create. This serves " -"two purposes:" +"Directly insert the specified info into the index. For backward " +"compatibility, you can also give these three arguments as three separate " +"parameters, but new users are encouraged to use a single-parameter form." msgstr "" -#. type: Plain text -#: en/diff-options.txt:346 -msgid "" -"It affects the way a change that amounts to a total rewrite of a file not as " -"a series of deletion and insertion mixed together with a very few lines that " -"happen to match textually as the context, but as a single deletion of " -"everything old followed by a single insertion of everything new, and the " -"number `m` controls this aspect of the -B option (defaults to 60%). `-B/70%` " -"specifies that less than 30% of the original should remain in the result for " -"Git to consider it a total rewrite (i.e. otherwise the resulting patch will " -"be a series of deletion and insertion mixed together with context lines)." +#. type: Labeled list +#: en/git-update-index.txt:80 +#, no-wrap +msgid "--index-info" msgstr "" +# #. type: Plain text -#: en/diff-options.txt:354 -msgid "" -"When used with -M, a totally-rewritten file is also considered as the source " -"of a rename (usually -M only considers a file that disappeared as the source " -"of a rename), and the number `n` controls this aspect of the -B option " -"(defaults to 50%). `-B20%` specifies that a change with addition and " -"deletion compared to 20% or more of the file's size are eligible for being " -"picked up as a possible source of a rename to another file." +#: en/git-update-index.txt:82 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "Read index information from stdin." +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" + +#. type: Plain text +#: en/git-update-index.txt:85 +msgid "Set the execute permissions on the updated files." msgstr "" #. type: Labeled list -#: en/diff-options.txt:355 +#: en/git-update-index.txt:86 #, no-wrap -msgid "-M[<n>]" +msgid "--[no-]assume-unchanged" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:356 -#, no-wrap -msgid "--find-renames[=<n>]" +#. type: Plain text +#: en/git-update-index.txt:98 +msgid "" +"When this flag is specified, the object names recorded for the paths are not " +"updated. Instead, this option sets/unsets the \"assume unchanged\" bit for " +"the paths. When the \"assume unchanged\" bit is on, the user promises not " +"to change the file and allows Git to assume that the working tree file " +"matches what is recorded in the index. If you want to change the working " +"tree file, you need to unset the bit to tell Git. This is sometimes helpful " +"when working with a big project on a filesystem that has very slow lstat(2) " +"system call (e.g. cifs)." msgstr "" #. type: Plain text -#: en/diff-options.txt:359 +#: en/git-update-index.txt:103 +msgid "" +"Git will fail (gracefully) in case it needs to modify this file in the index " +"e.g. when merging in a commit; thus, in case the assumed-untracked file is " +"changed upstream, you will need to handle the situation manually." +msgstr "" + +#. type: Labeled list +#: en/git-update-index.txt:104 #, no-wrap -msgid "\tDetect renames.\n" +msgid "--really-refresh" msgstr "" #. type: Plain text -#: en/diff-options.txt:364 -#, no-wrap +#: en/git-update-index.txt:107 msgid "" -"\tIf generating diffs, detect and report renames for each commit.\n" -"\tFor following files across renames while traversing history, see\n" -"\t`--follow`.\n" +"Like `--refresh`, but checks stat information unconditionally, without " +"regard to the \"assume unchanged\" setting." msgstr "" +#. type: Labeled list +#: en/git-update-index.txt:108 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--[no-]skip-worktree" +msgstr "git-commit(1)" + #. type: Plain text -#: en/diff-options.txt:374 -#, no-wrap +#: en/git-update-index.txt:113 msgid "" -"\tIf `n` is specified, it is a threshold on the similarity\n" -"\tindex (i.e. amount of addition/deletions compared to the\n" -"\tfile's size). For example, `-M90%` means Git should consider a\n" -"\tdelete/add pair to be a rename if more than 90% of the file\n" -"\thasn't changed. Without a `%` sign, the number is to be read as\n" -"\ta fraction, with a decimal point before it. I.e., `-M5` becomes\n" -"\t0.5, and is thus the same as `-M50%`. Similarly, `-M05` is\n" -"\tthe same as `-M5%`. To limit detection to exact renames, use\n" -"\t`-M100%`. The default similarity index is 50%.\n" +"When one of these flags is specified, the object name recorded for the paths " +"are not updated. Instead, these options set and unset the \"skip-worktree\" " +"bit for the paths. See section \"Skip-worktree bit\" below for more " +"information." msgstr "" #. type: Labeled list -#: en/diff-options.txt:375 +#: en/git-update-index.txt:115 #, no-wrap -msgid "-C[<n>]" +msgid "--again" +msgstr "" + +#. type: Plain text +#: en/git-update-index.txt:118 +msgid "" +"Runs 'git update-index' itself on the paths whose index entries are " +"different from those from the `HEAD` commit." msgstr "" #. type: Labeled list -#: en/diff-options.txt:376 +#: en/git-update-index.txt:119 #, no-wrap -msgid "--find-copies[=<n>]" +msgid "--unresolve" msgstr "" #. type: Plain text -#: en/diff-options.txt:379 +#: en/git-update-index.txt:122 msgid "" -"Detect copies as well as renames. See also `--find-copies-harder`. If `n` " -"is specified, it has the same meaning as for `-M<n>`." +"Restores the 'unmerged' or 'needs updating' state of a file during a merge " +"if it was cleared by accident." +msgstr "" + +#. type: Labeled list +#: en/git-update-index.txt:123 +#, no-wrap +msgid "--info-only" msgstr "" #. type: Plain text -#: en/diff-options.txt:388 +#: en/git-update-index.txt:127 msgid "" -"For performance reasons, by default, `-C` option finds copies only if the " -"original file of the copy was modified in the same changeset. This flag " -"makes the command inspect unmodified files as candidates for the source of " -"copy. This is a very expensive operation for large projects, so use it with " -"caution. Giving more than one `-C` option has the same effect." +"Do not create objects in the object database for all <file> arguments that " +"follow this flag; just insert their object IDs into the index." msgstr "" #. type: Labeled list -#: en/diff-options.txt:390 +#: en/git-update-index.txt:128 #, no-wrap -msgid "--irreversible-delete" +msgid "--force-remove" msgstr "" #. type: Plain text -#: en/diff-options.txt:398 +#: en/git-update-index.txt:131 +#, fuzzy +#| msgid "" +#| "by using 'git rm' to remove files from the working tree and the index, " +#| "again before using the 'commit' command;" msgid "" -"Omit the preimage for deletes, i.e. print only the header but not the diff " -"between the preimage and `/dev/null`. The resulting patch is not meant to be " -"applied with `patch` or `git apply`; this is solely for people who want to " -"just concentrate on reviewing the text after the change. In addition, the " -"output obviously lack enough information to apply such a patch in reverse, " -"even manually, hence the name of the option." +"Remove the file from the index even when the working directory still has " +"such a file. (Implies --remove.)" msgstr "" +"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " +"de l'index, encore une fois, avant d'utiliser la commande 'commit'," + +#. type: Labeled list +#: en/git-update-index.txt:132 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "--replace" +msgstr "git-add(1)" #. type: Plain text -#: en/diff-options.txt:401 +#: en/git-update-index.txt:139 msgid "" -"When used together with `-B`, omit also the preimage in the deletion part of " -"a delete/create pair." +"By default, when a file `path` exists in the index, 'git update-index' " +"refuses an attempt to add `path/file`. Similarly if a file `path/file` " +"exists, a file `path` cannot be added. With --replace flag, existing " +"entries that conflict with the entry being added are automatically removed " +"with warning messages." msgstr "" #. type: Plain text -#: en/diff-options.txt:408 -msgid "" -"The `-M` and `-C` options require O(n^2) processing time where n is the " -"number of potential rename/copy targets. This option prevents rename/copy " -"detection from running if the number of rename/copy targets exceeds the " -"specified number." +#: en/git-update-index.txt:147 +msgid "Report what is being added and removed from index." msgstr "" #. type: Labeled list -#: en/diff-options.txt:410 +#: en/git-update-index.txt:148 #, no-wrap -msgid "--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]" +msgid "--index-version <n>" msgstr "" #. type: Plain text -#: en/diff-options.txt:421 +#: en/git-update-index.txt:153 msgid "" -"Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), " -"Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, " -"submodule, ...) changed (`T`), are Unmerged (`U`), are Unknown (`X`), or " -"have had their pairing Broken (`B`). Any combination of the filter " -"characters (including none) can be used. When `*` (All-or-none) is added to " -"the combination, all paths are selected if there is any file that matches " -"other criteria in the comparison; if there is no file that matches other " -"criteria, nothing is selected." +"Write the resulting index out in the named on-disk format version. " +"Supported versions are 2, 3 and 4. The current default version is 2 or 3, " +"depending on whether extra features are used, such as `git add -N`." msgstr "" #. type: Plain text -#: en/diff-options.txt:424 +#: en/git-update-index.txt:159 msgid "" -"Also, these upper-case letters can be downcased to exclude. E.g. `--diff-" -"filter=ad` excludes added and deleted paths." -msgstr "" - -#. type: Labeled list -#: en/diff-options.txt:425 -#, no-wrap -msgid "-S<string>" +"Version 4 performs a simple pathname compression that reduces index size by " +"30%-50% on large repositories, which results in faster load time. Version 4 " +"is relatively young (first released in in 1.8.0 in October 2012). Other Git " +"implementations such as JGit and libgit2 may not support it yet." msgstr "" #. type: Plain text -#: en/diff-options.txt:429 +#: en/git-update-index.txt:163 msgid "" -"Look for differences that change the number of occurrences of the specified " -"string (i.e. addition/deletion) in a file. Intended for the scripter's use." +"Only meaningful with `--stdin` or `--index-info`; paths are separated with " +"NUL character instead of LF." msgstr "" -#. type: Plain text -#: en/diff-options.txt:435 -msgid "" -"It is useful when you're looking for an exact block of code (like a struct), " -"and want to know the history of that block since it first came into being: " -"use the feature iteratively to feed the interesting block in the preimage " -"back into `-S`, and keep going until you get the very first version of the " -"block." +#. type: Labeled list +#: en/git-update-index.txt:164 +#, no-wrap +msgid "--split-index" msgstr "" #. type: Labeled list -#: en/diff-options.txt:436 +#: en/git-update-index.txt:165 #, no-wrap -msgid "-G<regex>" +msgid "--no-split-index" msgstr "" #. type: Plain text -#: en/diff-options.txt:439 +#: en/git-update-index.txt:170 msgid "" -"Look for differences whose patch text contains added/removed lines that " -"match <regex>." +"Enable or disable split index mode. If split-index mode is already enabled " +"and `--split-index` is given again, all changes in $GIT_DIR/index are pushed " +"back to the shared index file." msgstr "" #. type: Plain text -#: en/diff-options.txt:443 +#: en/git-update-index.txt:176 msgid "" -"To illustrate the difference between `-S<regex> --pickaxe-regex` and `-" -"G<regex>`, consider a commit with the following diff in the same file:" +"These options take effect whatever the value of the `core.splitIndex` " +"configuration variable (see linkgit:git-config[1]). But a warning is emitted " +"when the change goes against the configured value, as the configured value " +"will take effect next time the index is read and this will remove the " +"intended effect of the option." msgstr "" -#. type: delimited block - -#: en/diff-options.txt:448 +#. type: Labeled list +#: en/git-update-index.txt:177 +#, fuzzy, no-wrap +#| msgid "add untracked" +msgid "--untracked-cache" +msgstr "add untracked" + +#. type: Labeled list +#: en/git-update-index.txt:178 #, no-wrap -msgid "" -"+ return !regexec(regexp, two->ptr, 1, ®match, 0);\n" -"...\n" -"- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);\n" +msgid "--no-untracked-cache" msgstr "" #. type: Plain text -#: en/diff-options.txt:453 +#: en/git-update-index.txt:181 msgid "" -"While `git log -G\"regexec\\(regexp\"` will show this commit, `git log -S" -"\"regexec\\(regexp\" --pickaxe-regex` will not (because the number of " -"occurrences of that string did not change)." +"Enable or disable untracked cache feature. Please use `--test-untracked-" +"cache` before enabling it." msgstr "" #. type: Plain text -#: en/diff-options.txt:456 -msgid "See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more information." +#: en/git-update-index.txt:187 +msgid "" +"These options take effect whatever the value of the `core.untrackedCache` " +"configuration variable (see linkgit:git-config[1]). But a warning is emitted " +"when the change goes against the configured value, as the configured value " +"will take effect next time the index is read and this will remove the " +"intended effect of the option." msgstr "" #. type: Labeled list -#: en/diff-options.txt:457 +#: en/git-update-index.txt:188 #, no-wrap -msgid "--pickaxe-all" +msgid "--test-untracked-cache" msgstr "" #. type: Plain text -#: en/diff-options.txt:461 +#: en/git-update-index.txt:197 msgid "" -"When `-S` or `-G` finds a change, show all the changes in that changeset, " -"not just the files that contain the change in <string>." +"Only perform tests on the working directory to make sure untracked cache can " +"be used. You have to manually enable untracked cache using `--untracked-" +"cache` or `--force-untracked-cache` or the `core.untrackedCache` " +"configuration variable afterwards if you really want to use it. If a test " +"fails the exit code is 1 and a message explains what is not working as " +"needed, otherwise the exit code is 0 and OK is printed." msgstr "" #. type: Labeled list -#: en/diff-options.txt:462 +#: en/git-update-index.txt:198 #, no-wrap -msgid "--pickaxe-regex" -msgstr "" - -#. type: Plain text -#: en/diff-options.txt:465 -msgid "" -"Treat the <string> given to `-S` as an extended POSIX regular expression to " -"match." +msgid "--force-untracked-cache" msgstr "" #. type: Plain text -#: en/diff-options.txt:472 +#: en/git-update-index.txt:203 msgid "" -"Control the order in which files appear in the output. This overrides the " -"`diff.orderFile` configuration variable (see linkgit:git-config[1]). To " -"cancel `diff.orderFile`, use `-O/dev/null`." +"Same as `--untracked-cache`. Provided for backwards compatibility with older " +"versions of Git where `--untracked-cache` used to imply `--test-untracked-" +"cache` but this option would enable the extension unconditionally." msgstr "" #. type: Plain text -#: en/diff-options.txt:484 +#: en/git-update-index.txt:213 msgid "" -"The output order is determined by the order of glob patterns in " -"<orderfile>. All files with pathnames that match the first pattern are " -"output first, all files with pathnames that match the second pattern (but " -"not the first) are output next, and so on. All files with pathnames that do " -"not match any pattern are output last, as if there was an implicit match-all " -"pattern at the end of the file. If multiple pathnames have the same rank " -"(they match the same pattern but no earlier patterns), their output order " -"relative to each other is the normal order." +"Files to act on. Note that files beginning with '.' are discarded. This " +"includes `./file` and `dir/./file`. If you don't want this, then use cleaner " +"names. The same applies to directories ending '/' and paths with '//'" msgstr "" -#. type: Plain text -#: en/diff-options.txt:486 -msgid "<orderfile> is parsed as follows:" +#. type: Title - +#: en/git-update-index.txt:215 +#, no-wrap +msgid "Using --refresh" msgstr "" #. type: Plain text -#: en/diff-options.txt:490 +#: en/git-update-index.txt:221 msgid "" -"Blank lines are ignored, so they can be used as separators for readability." +"`--refresh` does not calculate a new sha1 file or bring the index up-to-date " +"for mode/content changes. But what it *does* do is to \"re-match\" the stat " +"information of a file with the index, so that you can refresh the index for " +"a file that hasn't been changed but where the stat entry is out of date." msgstr "" #. type: Plain text -#: en/diff-options.txt:494 +#: en/git-update-index.txt:224 msgid "" -"Lines starting with a hash (\"`#`\") are ignored, so they can be used for " -"comments. Add a backslash (\"`\\`\") to the beginning of the pattern if it " -"starts with a hash." +"For example, you'd want to do this after doing a 'git read-tree', to link up " +"the stat index details with the proper files." msgstr "" -#. type: Plain text -#: en/diff-options.txt:496 -msgid "Each other line contains a single pattern." +#. type: Title - +#: en/git-update-index.txt:226 +#, no-wrap +msgid "Using --cacheinfo or --info-only" msgstr "" #. type: Plain text -#: en/diff-options.txt:503 +#: en/git-update-index.txt:230 msgid "" -"Patterns have the same syntax and semantics as patterns used for fnmantch(3) " -"without the FNM_PATHNAME flag, except a pathname also matches a pattern if " -"removing any number of the final pathname components matches the pattern. " -"For example, the pattern \"`foo*bar`\" matches \"`fooasdfbar`\" and \"`foo/" -"bar/baz/asdf`\" but not \"`foobarx`\"." +"`--cacheinfo` is used to register a file that is not in the current working " +"directory. This is useful for minimum-checkout merging." msgstr "" #. type: Plain text -#: en/diff-options.txt:508 -msgid "" -"Swap two inputs; that is, show differences from index or on-disk file to " -"tree contents." +#: en/git-update-index.txt:232 +msgid "To pretend you have a file with mode and sha1 at path, say:" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:509 +#. type: delimited block - +#: en/git-update-index.txt:235 #, no-wrap -msgid "--relative[=<path>]" +msgid "$ git update-index --cacheinfo <mode>,<sha1>,<path>\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:516 +#: en/git-update-index.txt:239 msgid "" -"When run from a subdirectory of the project, it can be told to exclude " -"changes outside the directory and show pathnames relative to it with this " -"option. When you are not in a subdirectory (e.g. in a bare repository), you " -"can name which subdirectory to make the output relative to by giving a " -"<path> as an argument." +"`--info-only` is used to register files without placing them in the object " +"database. This is useful for status-only repositories." msgstr "" #. type: Plain text -#: en/diff-options.txt:521 -msgid "Treat all files as text." +#: en/git-update-index.txt:245 +msgid "" +"Both `--cacheinfo` and `--info-only` behave similarly: the index is updated " +"but the object database isn't. `--cacheinfo` is useful when the object is " +"in the database but the file isn't available locally. `--info-only` is " +"useful when the file is available, but you do not wish to update the object " +"database." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:522 +#. type: Title - +#: en/git-update-index.txt:248 #, no-wrap -msgid "--ignore-space-at-eol" -msgstr "" - -#. type: Plain text -#: en/diff-options.txt:524 -msgid "Ignore changes in whitespace at EOL." +msgid "Using --index-info" msgstr "" #. type: Plain text -#: en/diff-options.txt:530 +#: en/git-update-index.txt:253 msgid "" -"Ignore changes in amount of whitespace. This ignores whitespace at line " -"end, and considers all other sequences of one or more whitespace characters " -"to be equivalent." +"`--index-info` is a more powerful mechanism that lets you feed multiple " +"entry definitions from the standard input, and designed specifically for " +"scripts. It can take inputs of three formats:" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:532 +#. type: Plain text +#: en/git-update-index.txt:255 #, no-wrap -msgid "--ignore-all-space" +msgid "mode SP sha1 TAB path\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:536 +#: en/git-update-index.txt:260 msgid "" -"Ignore whitespace when comparing lines. This ignores differences even if " -"one line has whitespace where the other line has none." +"The first format is what \"git-apply --index-info\" reports, and used to " +"reconstruct a partial tree that is used for phony merge base tree when " +"falling back on 3-way merge." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:537 +#. type: Plain text +#: en/git-update-index.txt:262 #, no-wrap -msgid "--ignore-blank-lines" +msgid "mode SP type SP sha1 TAB path\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:539 -msgid "Ignore changes whose lines are all blank." +#: en/git-update-index.txt:265 +msgid "The second format is to stuff 'git ls-tree' output into the index file." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:540 +#. type: Plain text +#: en/git-update-index.txt:267 #, no-wrap -msgid "--inter-hunk-context=<lines>" +msgid "mode SP sha1 SP stage TAB path\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:545 +#: en/git-update-index.txt:270 msgid "" -"Show the context between diff hunks, up to the specified number of lines, " -"thereby fusing hunks that are close to each other. Defaults to `diff." -"interHunkContext` or 0 if the config option is unset." +"This format is to put higher order stages into the index file and matches " +"'git ls-files --stage' output." msgstr "" #. type: Plain text -#: en/diff-options.txt:549 -msgid "Show whole surrounding functions of changes." +#: en/git-update-index.txt:274 +msgid "" +"To place a higher stage entry to the index, the path should first be removed " +"by feeding a mode=0 entry for the path, and then feeding necessary input " +"lines in the third format." msgstr "" #. type: Plain text -#: en/diff-options.txt:556 +#: en/git-update-index.txt:276 +msgid "For example, starting with this index:" +msgstr "" + +#. type: delimited block - +#: en/git-update-index.txt:280 +#, no-wrap msgid "" -"Make the program exit with codes similar to diff(1). That is, it exits with " -"1 if there were differences and 0 means no differences." +"$ git ls-files -s\n" +"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0 frotz\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:559 -msgid "Disable all output of the program. Implies `--exit-code`." +#: en/git-update-index.txt:283 +msgid "you can feed the following input to `--index-info`:" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:562 -#, fuzzy, no-wrap -#| msgid "diff" -msgid "--ext-diff" -msgstr "diff" +#. type: delimited block - +#: en/git-update-index.txt:289 +#, no-wrap +msgid "" +"$ git update-index --index-info\n" +"0 0000000000000000000000000000000000000000\tfrotz\n" +"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" +"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" +msgstr "" #. type: Plain text -#: en/diff-options.txt:566 +#: en/git-update-index.txt:295 msgid "" -"Allow an external diff helper to be executed. If you set an external diff " -"driver with linkgit:gitattributes[5], you need to use this option with " -"linkgit:git-log[1] and friends." +"The first line of the input feeds 0 as the mode to remove the path; the " +"SHA-1 does not matter as long as it is well formatted. Then the second and " +"third line feeds stage 1 and stage 2 entries for that path. After the " +"above, we would end up with this:" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:567 +#. type: delimited block - +#: en/git-update-index.txt:300 #, no-wrap -msgid "--no-ext-diff" +msgid "" +"$ git ls-files -s\n" +"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" +"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" msgstr "" -#. type: Plain text -#: en/diff-options.txt:569 -msgid "Disallow external diff drivers." +#. type: Title - +#: en/git-update-index.txt:304 +#, no-wrap +msgid "Using ``assume unchanged'' bit" msgstr "" #. type: Plain text -#: en/diff-options.txt:580 +#: en/git-update-index.txt:319 msgid "" -"Allow (or disallow) external text conversion filters to be run when " -"comparing binary files. See linkgit:gitattributes[5] for details. Because " -"textconv filters are typically a one-way conversion, the resulting diff is " -"suitable for human consumption, but cannot be applied. For this reason, " -"textconv filters are enabled by default only for linkgit:git-diff[1] and " -"linkgit:git-log[1], but not for linkgit:git-format-patch[1] or diff plumbing " -"commands." +"Many operations in Git depend on your filesystem to have an efficient " +"`lstat(2)` implementation, so that `st_mtime` information for working tree " +"files can be cheaply checked to see if the file contents have changed from " +"the version recorded in the index file. Unfortunately, some filesystems " +"have inefficient `lstat(2)`. If your filesystem is one of them, you can set " +"\"assume unchanged\" bit to paths you have not changed to cause Git not to " +"do this check. Note that setting this bit on a path does not mean Git will " +"check the contents of the file to see if it has changed -- it makes Git to " +"omit any checking and assume it has *not* changed. When you make changes to " +"working tree files, you have to explicitly tell Git about it by dropping " +"\"assume unchanged\" bit, either before or after you modify them." msgstr "" #. type: Plain text -#: en/diff-options.txt:593 +#: en/git-update-index.txt:324 msgid "" -"Ignore changes to submodules in the diff generation. <when> can be either " -"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " -"\"none\" will consider the submodule modified when it either contains " -"untracked or modified files or its HEAD differs from the commit recorded in " -"the superproject and can be used to override any settings of the 'ignore' " -"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " -"is used submodules are not considered dirty when they only contain untracked " -"content (but they are still scanned for modified content). Using \"dirty\" " -"ignores all changes to the work tree of submodules, only changes to the " -"commits stored in the superproject are shown (this was the behavior until " -"1.7.0). Using \"all\" hides all changes to submodules." +"In order to set \"assume unchanged\" bit, use `--assume-unchanged` option. " +"To unset, use `--no-assume-unchanged`. To see which files have the \"assume " +"unchanged\" bit set, use `git ls-files -v` (see linkgit:git-ls-files[1])." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:594 -#, no-wrap -msgid "--src-prefix=<prefix>" +#. type: Plain text +#: en/git-update-index.txt:334 +msgid "" +"The command looks at `core.ignorestat` configuration variable. When this is " +"true, paths updated with `git update-index paths...` and paths updated with " +"other Git commands that update both index and working tree (e.g. 'git apply " +"--index', 'git checkout-index -u', and 'git read-tree -u') are automatically " +"marked as \"assume unchanged\". Note that \"assume unchanged\" bit is *not* " +"set if `git update-index --refresh` finds the working tree file matches the " +"index (use `git update-index --really-refresh` if you want to mark them as " +"\"assume unchanged\")." msgstr "" #. type: Plain text -#: en/diff-options.txt:596 -msgid "Show the given source prefix instead of \"a/\"." +#: en/git-update-index.txt:339 +msgid "To update and refresh only the files already checked out:" msgstr "" #. type: Labeled list -#: en/diff-options.txt:597 +#: en/git-update-index.txt:344 #, no-wrap -msgid "--dst-prefix=<prefix>" +msgid "On an inefficient filesystem with `core.ignorestat` set" msgstr "" -#. type: Plain text -#: en/diff-options.txt:599 -msgid "Show the given destination prefix instead of \"b/\"." +#. type: delimited block - +#: en/git-update-index.txt:360 +#, no-wrap +msgid "" +"$ git update-index --really-refresh <1>\n" +"$ git update-index --no-assume-unchanged foo.c <2>\n" +"$ git diff --name-only <3>\n" +"$ edit foo.c\n" +"$ git diff --name-only <4>\n" +"M foo.c\n" +"$ git update-index foo.c <5>\n" +"$ git diff --name-only <6>\n" +"$ edit foo.c\n" +"$ git diff --name-only <7>\n" +"$ git update-index --no-assume-unchanged foo.c <8>\n" +"$ git diff --name-only <9>\n" +"M foo.c\n" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:600 -#, no-wrap -msgid "--no-prefix" +#. type: Plain text +#: en/git-update-index.txt:363 +msgid "" +"forces lstat(2) to set \"assume unchanged\" bits for paths that match index." msgstr "" #. type: Plain text -#: en/diff-options.txt:602 -msgid "Do not show any source or destination prefix." +#: en/git-update-index.txt:364 +msgid "mark the path to be edited." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:603 -#, no-wrap -msgid "--line-prefix=<prefix>" +#. type: Plain text +#: en/git-update-index.txt:365 +msgid "this does lstat(2) and finds index matches the path." msgstr "" #. type: Plain text -#: en/diff-options.txt:605 -msgid "Prepend an additional prefix to every line of output." +#: en/git-update-index.txt:366 +msgid "this does lstat(2) and finds index does *not* match the path." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:606 -#, no-wrap -msgid "--ita-invisible-in-index" +#. type: Plain text +#: en/git-update-index.txt:367 +msgid "registering the new version to index sets \"assume unchanged\" bit." msgstr "" #. type: Plain text -#: en/diff-options.txt:613 -msgid "" -"By default entries added by \"git add -N\" appear as an existing empty file " -"in \"git diff\" and a new file in \"git diff --cached\". This option makes " -"the entry appear as a new file in \"git diff\" and non-existent in \"git " -"diff --cached\". This option could be reverted with `--ita-visible-in-" -"index`. Both options are experimental and could be removed in future." +#: en/git-update-index.txt:368 +msgid "and it is assumed unchanged." msgstr "" #. type: Plain text -#: en/diff-options.txt:615 -msgid "" -"For more detailed explanation on these common options, see also linkgit:" -"gitdiffcore[7]." +#: en/git-update-index.txt:369 +msgid "even after you edit it." msgstr "" #. type: Plain text -#: en/fetch-options.txt:3 -msgid "Fetch all remotes." +#: en/git-update-index.txt:370 +msgid "you can tell about the change after the fact." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:5 -#, no-wrap -msgid "--append" +#. type: Plain text +#: en/git-update-index.txt:371 +msgid "now it checks with lstat(2) and finds it has been changed." msgstr "" +#. type: Title - +#: en/git-update-index.txt:374 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "Skip-worktree bit" +msgstr "git-commit(1)" + #. type: Plain text -#: en/fetch-options.txt:9 +#: en/git-update-index.txt:380 msgid "" -"Append ref names and object names of fetched refs to the existing contents " -"of `.git/FETCH_HEAD`. Without this option old data in `.git/FETCH_HEAD` " -"will be overwritten." +"Skip-worktree bit can be defined in one (long) sentence: When reading an " +"entry, if it is marked as skip-worktree, then Git pretends its working " +"directory version is up to date and read the index version instead." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:10 -#, no-wrap -msgid "--depth=<depth>" +#. type: Plain text +#: en/git-update-index.txt:388 +msgid "" +"To elaborate, \"reading\" means checking for file existence, reading file " +"attributes or file content. The working directory version may be present or " +"absent. If present, its content may match against the index version or not. " +"Writing is not affected by this bit, content safety is still first priority. " +"Note that Git _can_ update working directory file, that is marked skip-" +"worktree, if it is safe to do so (i.e. working directory version matches " +"index version)" msgstr "" #. type: Plain text -#: en/fetch-options.txt:16 +#: en/git-update-index.txt:392 msgid "" -"Limit fetching to the specified number of commits from the tip of each " -"remote branch history. If fetching to a 'shallow' repository created by `git " -"clone` with `--depth=<depth>` option (see linkgit:git-clone[1]), deepen or " -"shorten the history to the specified number of commits. Tags for the " -"deepened commits are not fetched." +"Although this bit looks similar to assume-unchanged bit, its goal is " +"different from assume-unchanged bit's. Skip-worktree also takes precedence " +"over assume-unchanged bit when both are set." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:17 +#. type: Title - +#: en/git-update-index.txt:394 #, no-wrap -msgid "--deepen=<depth>" +msgid "Split index" msgstr "" #. type: Plain text -#: en/fetch-options.txt:21 +#: en/git-update-index.txt:398 msgid "" -"Similar to --depth, except it specifies the number of commits from the " -"current shallow boundary instead of from the tip of each remote branch " -"history." +"This mode is designed for repositories with very large indexes, and aims at " +"reducing the time it takes to repeatedly write these indexes." msgstr "" #. type: Plain text -#: en/fetch-options.txt:25 +#: en/git-update-index.txt:403 msgid "" -"Deepen or shorten the history of a shallow repository to include all " -"reachable commits after <date>." +"In this mode, the index is split into two files, $GIT_DIR/index and $GIT_DIR/" +"sharedindex.<SHA-1>. Changes are accumulated in $GIT_DIR/index, the split " +"index, while the shared index file contains all index entries and stays " +"unchanged." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:31 -#, no-wrap -msgid "--unshallow" +#. type: Plain text +#: en/git-update-index.txt:408 +msgid "" +"All changes in the split index are pushed back to the shared index file when " +"the number of entries in the split index reaches a level specified by the " +"splitIndex.maxPercentChange config variable (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/fetch-options.txt:35 +#: en/git-update-index.txt:413 msgid "" -"If the source repository is complete, convert a shallow repository to a " -"complete one, removing all the limitations imposed by shallow repositories." +"Each time a new shared index file is created, the old shared index files are " +"deleted if their modification time is older than what is specified by the " +"splitIndex.sharedIndexExpire config variable (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/fetch-options.txt:38 +#: en/git-update-index.txt:417 msgid "" -"If the source repository is shallow, fetch as much as possible so that the " -"current repository has the same history as the source repository." +"To avoid deleting a shared index file that is still used, its modification " +"time is updated to the current time everytime a new split index based on the " +"shared index file is either created or read from." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:39 +#. type: Title - +#: en/git-update-index.txt:419 #, no-wrap -msgid "--update-shallow" +msgid "Untracked cache" msgstr "" #. type: Plain text -#: en/fetch-options.txt:44 +#: en/git-update-index.txt:423 msgid "" -"By default when fetching from a shallow repository, `git fetch` refuses refs " -"that require updating .git/shallow. This option updates .git/shallow and " -"accept such refs." +"This cache is meant to speed up commands that involve determining untracked " +"files such as `git status`." msgstr "" #. type: Plain text -#: en/fetch-options.txt:48 -msgid "Show what would be done, without making any changes." +#: en/git-update-index.txt:430 +msgid "" +"This feature works by recording the mtime of the working tree directories " +"and then omitting reading directories and stat calls against files in those " +"directories whose mtime hasn't changed. For this to work the underlying " +"operating system and file system must change the `st_mtime` field of " +"directories if files in the directory are added, modified or deleted." msgstr "" #. type: Plain text -#: en/fetch-options.txt:57 +#: en/git-update-index.txt:435 msgid "" -"When 'git fetch' is used with `<rbranch>:<lbranch>` refspec, it refuses to " -"update the local branch `<lbranch>` unless the remote branch `<rbranch>` it " -"fetches is a descendant of `<lbranch>`. This option overrides that check." +"You can test whether the filesystem supports that with the `--test-untracked-" +"cache` option. The `--untracked-cache` option used to implicitly perform " +"that test in older versions of Git, but that's no longer the case." msgstr "" #. type: Plain text -#: en/fetch-options.txt:61 -msgid "Keep downloaded pack." -msgstr "" - -#. type: Labeled list -#: en/fetch-options.txt:63 -#, no-wrap -msgid "--multiple" +#: en/git-update-index.txt:443 +msgid "" +"If you want to enable (or disable) this feature, it is easier to use the " +"`core.untrackedCache` configuration variable (see linkgit:git-config[1]) " +"than using the `--untracked-cache` option to `git update-index` in each " +"repository, especially if you want to do so across all repositories you use, " +"because you can set the configuration variable to `true` (or `false`) in " +"your `$HOME/.gitconfig` just once and have it affect all repositories you " +"touch." msgstr "" #. type: Plain text -#: en/fetch-options.txt:66 +#: en/git-update-index.txt:449 msgid "" -"Allow several <repository> and <group> arguments to be specified. No " -"<refspec>s may be specified." +"When the `core.untrackedCache` configuration variable is changed, the " +"untracked cache is added to or removed from the index the next time a " +"command reads the index; while when `--[no-|force-]untracked-cache` are " +"used, the untracked cache is immediately added to or removed from the index." msgstr "" #. type: Plain text -#: en/fetch-options.txt:77 +#: en/git-update-index.txt:460 +#, no-wrap msgid "" -"Before fetching, remove any remote-tracking references that no longer exist " -"on the remote. Tags are not subject to pruning if they are fetched only " -"because of the default tag auto-following or due to a --tags option. " -"However, if tags are fetched due to an explicit refspec (either on the " -"command line or in the remote configuration, for example if the remote was " -"cloned with the --mirror option), then they are also subject to pruning." +"The command honors `core.filemode` configuration variable. If\n" +"your repository is on a filesystem whose executable bits are\n" +"unreliable, this should be set to 'false' (see linkgit:git-config[1]).\n" +"This causes the command to ignore differences in file modes recorded\n" +"in the index and the file mode on the filesystem if they differ only on\n" +"executable bit. On such an unfortunate filesystem, you may\n" +"need to use 'git update-index --chmod='.\n" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:82 -#, no-wrap -msgid "--no-tags" +#. type: Plain text +#: en/git-update-index.txt:465 +msgid "" +"Quite similarly, if `core.symlinks` configuration variable is set to " +"'false' (see linkgit:git-config[1]), symbolic links are checked out as plain " +"files, and this command does not modify a recorded file mode from symbolic " +"link to regular file." msgstr "" #. type: Plain text -#: en/fetch-options.txt:88 +#: en/git-update-index.txt:468 msgid "" -"By default, tags that point at objects that are downloaded from the remote " -"repository are fetched and stored locally. This option disables this " -"automatic tag following. The default behavior for a remote may be specified " -"with the remote.<name>.tagOpt setting. See linkgit:git-config[1]." +"The command looks at `core.ignorestat` configuration variable. See 'Using " +"\"assume unchanged\" bit' section above." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:90 -#, no-wrap -msgid "--refmap=<refspec>" +#. type: Plain text +#: en/git-update-index.txt:473 +msgid "" +"The command also looks at `core.trustctime` configuration variable. It can " +"be useful when the inode change time is regularly modified by something " +"outside Git (file system crawlers and backup systems use ctime for marking " +"files processed) (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/fetch-options.txt:97 +#: en/git-update-index.txt:477 +#, fuzzy +#| msgid "" +#| "The default can be changed by the `commit.cleanup` configuration variable " +#| "(see linkgit:git-config[1])." msgid "" -"When fetching refs listed on the command line, use the specified refspec " -"(can be given more than once) to map the refs to remote-tracking branches, " -"instead of the values of `remote.*.fetch` configuration variables for the " -"remote repository. See section on \"Configured Remote-tracking Branches\" " -"for details." +"The untracked cache extension can be enabled by the `core.untrackedCache` " +"configuration variable (see linkgit:git-config[1])." msgstr "" +"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " +"`commit.cleanup` (voir linkgit:git-config[1])." +# #. type: Plain text -#: en/fetch-options.txt:106 -msgid "" -"Fetch all tags from the remote (i.e., fetch remote tags `refs/tags/*` into " -"local tags with the same name), in addition to whatever else would otherwise " -"be fetched. Using this option alone does not subject tags to pruning, even " -"if --prune is used (though tags may be pruned anyway if they are also the " -"destination of an explicit refspec; see `--prune`)." +#: en/git-update-index.txt:483 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-config[1], linkgit:git-add[1], linkgit:git-ls-files[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" -#. type: Labeled list -#: en/fetch-options.txt:107 +#. type: Title = +#: en/git-update-ref.txt:2 #, no-wrap -msgid "--recurse-submodules[=yes|on-demand|no]" +msgid "git-update-ref(1)" msgstr "" #. type: Plain text -#: en/fetch-options.txt:117 -msgid "" -"This option controls if and under what conditions new commits of populated " -"submodules should be fetched too. It can be used as a boolean option to " -"completely disable recursion when set to 'no' or to unconditionally recurse " -"into all populated submodules when set to 'yes', which is the default when " -"this option is used without any value. Use 'on-demand' to only recurse into " -"a populated submodule when the superproject retrieves a commit that updates " -"the submodule's reference to a commit that isn't already in the local " -"submodule clone." +#: en/git-update-ref.txt:7 +msgid "git-update-ref - Update the object name stored in a ref safely" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:118 +#. type: Plain text +#: en/git-update-ref.txt:12 #, no-wrap -msgid "-j" +msgid "'git update-ref' [-m <reason>] (-d <ref> [<oldvalue>] | [--no-deref] [--create-reflog] <ref> <newvalue> [<oldvalue>] | --stdin [-z])\n" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:119 -#, no-wrap -msgid "--jobs=<n>" +#. type: Plain text +#: en/git-update-ref.txt:18 +msgid "" +"Given two arguments, stores the <newvalue> in the <ref>, possibly " +"dereferencing the symbolic refs. E.g. `git update-ref HEAD <newvalue>` " +"updates the current branch head to the new object." msgstr "" #. type: Plain text -#: en/fetch-options.txt:124 +#: en/git-update-ref.txt:27 msgid "" -"Number of parallel children to be used for fetching submodules. Each will " -"fetch from different submodules, such that fetching many submodules will be " -"faster. By default submodules will be fetched one at a time." +"Given three arguments, stores the <newvalue> in the <ref>, possibly " +"dereferencing the symbolic refs, after verifying that the current value of " +"the <ref> matches <oldvalue>. E.g. `git update-ref refs/heads/master " +"<newvalue> <oldvalue>` updates the master branch head to <newvalue> only if " +"its current value is <oldvalue>. You can specify 40 \"0\" or an empty " +"string as <oldvalue> to make sure that the ref you are creating does not " +"exist." msgstr "" #. type: Plain text -#: en/fetch-options.txt:128 +#: en/git-update-ref.txt:31 msgid "" -"Disable recursive fetching of submodules (this has the same effect as using " -"the `--recurse-submodules=no` option)." +"It also allows a \"ref\" file to be a symbolic pointer to another ref file " +"by starting with the four-byte header sequence of \"ref:\"." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:129 -#, no-wrap -msgid "--submodule-prefix=<path>" +#. type: Plain text +#: en/git-update-ref.txt:39 +msgid "" +"More importantly, it allows the update of a ref file to follow these " +"symbolic pointers, whether they are symlinks or these \"regular file " +"symbolic refs\". It follows *real* symlinks only if they start with \"refs/" +"\": otherwise it will just try to read them and update them as a regular " +"file (i.e. it will allow the filesystem to follow them, but will overwrite " +"such a symlink to somewhere else with a regular filename)." msgstr "" #. type: Plain text -#: en/fetch-options.txt:133 +#: en/git-update-ref.txt:42 msgid "" -"Prepend <path> to paths printed in informative messages such as \"Fetching " -"submodule foo\". This option is used internally when recursing over " -"submodules." +"If --no-deref is given, <ref> itself is overwritten, rather than the result " +"of following the symbolic pointers." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:134 +#. type: Plain text +#: en/git-update-ref.txt:44 +msgid "In general, using" +msgstr "" + +#. type: Plain text +#: en/git-update-ref.txt:46 #, no-wrap -msgid "--recurse-submodules-default=[yes|on-demand]" +msgid "\tgit update-ref HEAD \"$head\"\n" msgstr "" #. type: Plain text -#: en/fetch-options.txt:141 -msgid "" -"This option is used internally to temporarily provide a non-negative default " -"value for the --recurse-submodules option. All other methods of configuring " -"fetch's submodule recursion (such as settings in linkgit:gitmodules[5] and " -"linkgit:git-config[1]) override this option, as does specifying --" -"[no-]recurse-submodules directly." +#: en/git-update-ref.txt:48 +msgid "should be a _lot_ safer than doing" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:144 +#. type: Plain text +#: en/git-update-ref.txt:50 #, no-wrap -msgid "--update-head-ok" +msgid "\techo \"$head\" > \"$GIT_DIR/HEAD\"\n" msgstr "" #. type: Plain text -#: en/fetch-options.txt:151 +#: en/git-update-ref.txt:57 msgid "" -"By default 'git fetch' refuses to update the head which corresponds to the " -"current branch. This flag disables the check. This is purely for the " -"internal use for 'git pull' to communicate with 'git fetch', and unless you " -"are implementing your own Porcelain you are not supposed to use it." +"both from a symlink following standpoint *and* an error checking " +"standpoint. The \"refs/\" rule for symlinks means that symlinks that point " +"to \"outside\" the tree are safe: they'll be followed for reading but not " +"for writing (so we'll never write through a ref symlink to some other tree, " +"if you have copied a whole archive by creating a symlink tree)." msgstr "" #. type: Plain text -#: en/fetch-options.txt:157 +#: en/git-update-ref.txt:60 msgid "" -"When given, and the repository to fetch from is handled by 'git fetch-pack', " -"`--exec=<upload-pack>` is passed to the command to specify non-default path " -"for the command run on the other end." +"With `-d` flag, it deletes the named <ref> after verifying it still contains " +"<oldvalue>." msgstr "" #. type: Plain text -#: en/fetch-options.txt:164 +#: en/git-update-ref.txt:63 msgid "" -"Pass --quiet to git-fetch-pack and silence any other internally used git " -"commands. Progress is not reported to the standard error stream." +"With `--stdin`, update-ref reads instructions from standard input and " +"performs all modifications together. Specify commands of the form:" msgstr "" -#. type: Labeled list -#: en/fmt-merge-msg-config.txt:1 +#. type: Plain text +#: en/git-update-ref.txt:69 #, no-wrap -msgid "merge.branchdesc" +msgid "" +"\tupdate SP <ref> SP <newvalue> [SP <oldvalue>] LF\n" +"\tcreate SP <ref> SP <newvalue> LF\n" +"\tdelete SP <ref> [SP <oldvalue>] LF\n" +"\tverify SP <ref> [SP <oldvalue>] LF\n" +"\toption SP <opt> LF\n" msgstr "" #. type: Plain text -#: en/fmt-merge-msg-config.txt:5 +#: en/git-update-ref.txt:72 msgid "" -"In addition to branch names, populate the log message with the branch " -"description text associated with them. Defaults to false." +"With `--create-reflog`, update-ref will create a reflog for each ref even if " +"one would not ordinarily be created." msgstr "" -#. type: Labeled list -#: en/fmt-merge-msg-config.txt:6 -#, no-wrap -msgid "merge.log" +#. type: Plain text +#: en/git-update-ref.txt:77 +msgid "" +"Quote fields containing whitespace as if they were strings in C source code; " +"i.e., surrounded by double-quotes and with backslash escapes. Use 40 \"0\" " +"characters or the empty string to specify a zero value. To specify a " +"missing value, omit the value and its preceding SP entirely." msgstr "" #. type: Plain text -#: en/fmt-merge-msg-config.txt:10 +#: en/git-update-ref.txt:80 msgid "" -"In addition to branch names, populate the log message with at most the " -"specified number of one-line descriptions from the actual commits that are " -"being merged. Defaults to false, and true is a synonym for 20." +"Alternatively, use `-z` to specify in NUL-terminated format, without quoting:" msgstr "" #. type: Plain text -#: en/i18n.txt:2 -msgid "Git is to some extent character encoding agnostic." +#: en/git-update-ref.txt:86 +#, no-wrap +msgid "" +"\tupdate SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL\n" +"\tcreate SP <ref> NUL <newvalue> NUL\n" +"\tdelete SP <ref> NUL [<oldvalue>] NUL\n" +"\tverify SP <ref> NUL [<oldvalue>] NUL\n" +"\toption SP <opt> NUL\n" msgstr "" -"Git est dans une certaine mesure agnostique concernant l'encodage des " -"caract챔res." #. type: Plain text -#: en/i18n.txt:6 +#: en/git-update-ref.txt:89 msgid "" -"The contents of the blob objects are uninterpreted sequences of bytes. " -"There is no encoding translation at the core level." +"In this format, use 40 \"0\" to specify a zero value, and use the empty " +"string to specify a missing value." msgstr "" -"Le contenu des objets blob est une s챕quence d'octets non interpr챕t챕s. Il n'y " -"a pas de conversion d'encodage au niveau de base." #. type: Plain text -#: en/i18n.txt:13 +#: en/git-update-ref.txt:93 msgid "" -"Path names are encoded in UTF-8 normalization form C. This applies to tree " -"objects, the index file, ref names, as well as path names in command line " -"arguments, environment variables and config files (`.git/config` (see " -"linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and " -"linkgit:gitmodules[5])." +"In either format, values can be specified in any form that Git recognizes as " +"an object name. Commands in any other format or a repeated <ref> produce an " +"error. Command meanings are:" msgstr "" -"Les noms de chemins sont encod챕s en forme C de normalisation UTF-8. Ceci " -"s'applique aux objets arbre, au fichier d'index, au noms de r챕f챕rences ainsi " -"qu'aux noms de chemin en argument de ligne de commande, aux variables " -"d'environnement et aux fichiers de configuration (`.git/config` (voir " -"linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and " -"linkgit:gitmodules[5])." #. type: Plain text -#: en/i18n.txt:23 +#: en/git-update-ref.txt:99 msgid "" -"Note that Git at the core level treats path names simply as sequences of non-" -"NUL bytes, there are no path name encoding conversions (except on Mac and " -"Windows). Therefore, using non-ASCII path names will mostly work even on " -"platforms and file systems that use legacy extended ASCII encodings. " -"However, repositories created on such systems will not work properly on " -"UTF-8-based systems (e.g. Linux, Mac, Windows) and vice versa. " -"Additionally, many Git-based tools simply assume path names to be UTF-8 and " -"will fail to display other encodings correctly." +"Set <ref> to <newvalue> after verifying <oldvalue>, if given. Specify a " +"zero <newvalue> to ensure the ref does not exist after the update and/or a " +"zero <oldvalue> to make sure the ref does not exist before the update." msgstr "" -"Remarquez que Git traite les noms de chemins comme des s챕quences d'octets " -"non-nuls au niveau de base, il n'y a pas de conversion d'encodage des noms " -"de fichiers (sauf sur Mac et Windows). De ce fait, l'utilisation de noms de " -"chemins non-ASCII fonctionnera pratiquement, m챗me sur les plateformes et " -"syst챔mes de fichier utilisant d'anciens encodages d'ASCII 챕tendu." #. type: Plain text -#: en/i18n.txt:29 +#: en/git-update-ref.txt:103 msgid "" -"Commit log messages are typically encoded in UTF-8, but other extended ASCII " -"encodings are also supported. This includes ISO-8859-x, CP125x and many " -"others, but _not_ UTF-16/32, EBCDIC and CJK multi-byte encodings (GBK, Shift-" -"JIS, Big5, EUC-x, CP9xx etc.)." +"Create <ref> with <newvalue> after verifying it does not exist. The given " +"<newvalue> may not be zero." +msgstr "" + +#. type: Labeled list +#: en/git-update-ref.txt:104 +#, no-wrap +msgid "delete" msgstr "" -"Les messages du journal des validations sont typiquement encod챕s en UTF-8, " -"mais les autres encodages d'ASCII 챕tendu sont aussi pris en charge. Ceci " -"inclut ISO-8859-x, CP125x et de nombreux autres, mais _pas_ UTF-16/32, " -"EBCDIC ni les encodages multi-octets CJK (GBK, Shift-JIS, Big5, EUC-x, CP9xx " -"etc.)." #. type: Plain text -#: en/i18n.txt:36 +#: en/git-update-ref.txt:107 msgid "" -"Although we encourage that the commit log messages are encoded in UTF-8, " -"both the core and Git Porcelain are designed not to force UTF-8 on " -"projects. If all participants of a particular project find it more " -"convenient to use legacy encodings, Git does not forbid it. However, there " -"are a few things to keep in mind." +"Delete <ref> after verifying it exists with <oldvalue>, if given. If given, " +"<oldvalue> may not be zero." +msgstr "" + +#. type: Labeled list +#: en/git-update-ref.txt:108 +#, no-wrap +msgid "verify" msgstr "" -"Bien que l'usage de UTF-8 dans les messages de validation soit encourag챕, le " -"c흹ur de Git et la porcelaine sont con챌us pour ne pas forcer l'usage d'UTF-8 " -"dans les projets. Si tous les participants d'un projet donn챕 trouvent plus " -"simple d'utiliser des encodages anciens, Git ne l'interdit pas. Cependant, " -"il y a quelques d챕tails 횪 garder en t챗te." #. type: Plain text -#: en/i18n.txt:42 +#: en/git-update-ref.txt:111 msgid "" -"'git commit' and 'git commit-tree' issues a warning if the commit log " -"message given to it does not look like a valid UTF-8 string, unless you " -"explicitly say your project uses a legacy encoding. The way to say this is " -"to have i18n.commitencoding in `.git/config` file, like this:" +"Verify <ref> against <oldvalue> but do not change it. If <oldvalue> zero or " +"missing, the ref must not exist." msgstr "" -"`git commit` et `git commit-tree` affichent un avertissement si le message " -"de validation fourni ne semble pas 챗tre une cha챤ne de caract챔res UTF-8 " -"valide, 횪 moins que vous n'indiquiez explicitement que votre projet utilise " -"un encodage ancien. La mani챔re de l'indiquer est d'avoir i18n.commitencoding " -"dans `.git/config`, comme ceci혻:" -#. type: delimited block - -#: en/i18n.txt:46 +#. type: Labeled list +#: en/git-update-ref.txt:112 #, fuzzy, no-wrap -#| msgid "" -#| "[i18n]\n" -#| "\tcommitencoding = ISO-8859-1\n" -msgid "" -"[i18n]\n" -"\tcommitencoding = ISO-8859-1\n" -msgstr "" -"[i18n]\n" -"\tcommitencoding = ISO-8859-1\n" +#| msgid "status" +msgid "option" +msgstr "status" #. type: Plain text -#: en/i18n.txt:52 -#, fuzzy -#| msgid "" -#| "Commit objects created with the above setting record the value of `i18n." -#| "commitencoding` in its `encoding` header. This is to help other people " -#| "who look at them later. Lack of this header implies that the commit log " -#| "message is encoded in UTF-8." +#: en/git-update-ref.txt:116 msgid "" -"Commit objects created with the above setting record the value of `i18n." -"commitencoding` in its `encoding` header. This is to help other people who " -"look at them later. Lack of this header implies that the commit log message " -"is encoded in UTF-8." +"Modify behavior of the next command naming a <ref>. The only valid option " +"is `no-deref` to avoid dereferencing a symbolic ref." msgstr "" -"Les objets commit cr챕챕s avec le r챕glage ci-dessus enregistrent la valeur de " -"`i18n.commitencoding` dans leur ent챗te d'encodage `encoding`. Ceci permet " -"d'aider les personnes qui les liront plus tard. L'absence de cet ent챗te " -"implique que les message de validation est encod챕 en UTF-8." #. type: Plain text -#: en/i18n.txt:58 -#, fuzzy -#| msgid "" -#| "'git log', 'git show', 'git blame' and friends look at the `encoding` " -#| "header of a commit object, and try to re-code the log message into UTF-8 " -#| "unless otherwise specified. You can specify the desired output encoding " -#| "with `i18n.logoutputencoding` in `.git/config` file, like this:" +#: en/git-update-ref.txt:122 msgid "" -"'git log', 'git show', 'git blame' and friends look at the `encoding` header " -"of a commit object, and try to re-code the log message into UTF-8 unless " -"otherwise specified. You can specify the desired output encoding with `i18n." -"logoutputencoding` in `.git/config` file, like this:" +"If all <ref>s can be locked with matching <oldvalue>s simultaneously, all " +"modifications are performed. Otherwise, no modifications are performed. " +"Note that while each individual <ref> is updated or deleted atomically, a " +"concurrent reader may still see a subset of the modifications." msgstr "" -"Sauf indication contraire, 'git log', 'git show', 'git blame' et consort " -"lisent l'ent챗te `encoding` d'un objet commit et essaient de r챕-encoder le " -"message de validation en UTF-8. Vous pouvez sp챕cifier l'encodage de sortie " -"que vous souhaitez avec `i18n.logoutputencoding` dans le fichier `.git/" -"config`, comme ceci혻:" -#. type: delimited block - -#: en/i18n.txt:62 -#, fuzzy, no-wrap -#| msgid "" -#| "[i18n]\n" -#| "\tlogoutputencoding = ISO-8859-1\n" -msgid "" -"[i18n]\n" -"\tlogoutputencoding = ISO-8859-1\n" +#. type: Title - +#: en/git-update-ref.txt:124 +#, no-wrap +msgid "Logging Updates" msgstr "" -"[i18n]\n" -"\tlogoutputencoding = ISO-8859-1\n" #. type: Plain text -#: en/i18n.txt:66 -#, fuzzy -#| msgid "" -#| "If you do not have this configuration variable, the value of `i18n." -#| "commitencoding` is used instead." +#: en/git-update-ref.txt:131 msgid "" -"If you do not have this configuration variable, the value of `i18n." -"commitencoding` is used instead." +"If config parameter \"core.logAllRefUpdates\" is true and the ref is one " +"under \"refs/heads/\", \"refs/remotes/\", \"refs/notes/\", or the symbolic " +"ref HEAD; or the file \"$GIT_DIR/logs/<ref>\" exists then `git update-ref` " +"will append a line to the log file \"$GIT_DIR/logs/<ref>\" (dereferencing " +"all symbolic refs before creating the log name) describing the change in ref " +"value. Log lines are formatted as:" msgstr "" -"Si vous n'avez pas chang챕 cette variable de configuration, c'est la valeur " -"de `i18n.commitencoding` qui est utilis챕e." #. type: Plain text -#: en/i18n.txt:70 -msgid "" -"Note that we deliberately chose not to re-code the commit log message when a " -"commit is made to force UTF-8 at the commit object level, because re-coding " -"to UTF-8 is not necessarily a reversible operation." +#: en/git-update-ref.txt:133 +msgid "oldsha1 SP newsha1 SP committer LF" msgstr "" -"Remarquez qu'il a 챕t챕 d챕lib챕r챕ment choisi de ne pas r챕-encoder le message de " -"validation quand le commit est cr챕챕 pour forcer l'UTF-8 au niveau de l'objet " -"commit parce que r챕-encoder en UTF-8 n'est pas n챕cessairement une op챕ration " -"r챕versible." #. type: Plain text -#: en/line-range-format.txt:2 -msgid "<start> and <end> can take one of these forms:" +#: en/git-update-ref.txt:138 +msgid "" +"Where \"oldsha1\" is the 40 character hexadecimal value previously stored in " +"<ref>, \"newsha1\" is the 40 character hexadecimal value of <newvalue> and " +"\"committer\" is the committer's name, email address and date in the " +"standard Git committer ident format." msgstr "" #. type: Plain text -#: en/line-range-format.txt:4 -msgid "number" +#: en/git-update-ref.txt:140 +msgid "Optionally with -m:" msgstr "" #. type: Plain text -#: en/line-range-format.txt:7 -msgid "" -"If <start> or <end> is a number, it specifies an absolute line number (lines " -"count from 1)." +#: en/git-update-ref.txt:142 +msgid "oldsha1 SP newsha1 SP committer TAB message LF" msgstr "" #. type: Plain text -#: en/line-range-format.txt:10 -msgid "/regex/" +#: en/git-update-ref.txt:145 +msgid "" +"Where all fields are as described above and \"message\" is the value " +"supplied to the -m option." msgstr "" #. type: Plain text -#: en/line-range-format.txt:17 +#: en/git-update-ref.txt:149 msgid "" -"This form will use the first line matching the given POSIX regex. If <start> " -"is a regex, it will search from the end of the previous `-L` range, if any, " -"otherwise from the start of file. If <start> is ``^/regex/'', it will " -"search from the start of file. If <end> is a regex, it will search starting " -"at the line given by <start>." +"An update will fail (without changing <ref>) if the current user is unable " +"to create a new log file, append to the existing log file or does not have " +"committer information available." msgstr "" -#. type: Plain text -#: en/line-range-format.txt:20 -msgid "+offset or -offset" +#. type: Title = +#: en/git-update-server-info.txt:2 +#, no-wrap +msgid "git-update-server-info(1)" msgstr "" #. type: Plain text -#: en/line-range-format.txt:23 +#: en/git-update-server-info.txt:7 msgid "" -"This is only valid for <end> and will specify a number of lines before or " -"after the line given by <start>." +"git-update-server-info - Update auxiliary info file to help dumb servers" msgstr "" #. type: Plain text -#: en/line-range-format.txt:30 -msgid "" -"If ``:<funcname>'' is given in place of <start> and <end>, it is a regular " -"expression that denotes the range from the first funcname line that matches " -"<funcname>, up to the next funcname line. ``:<funcname>'' searches from the " -"end of the previous `-L` range, if any, otherwise from the start of file. " -"``^:<funcname>'' searches from the start of file." +#: en/git-update-server-info.txt:13 +#, no-wrap +msgid "'git update-server-info' [--force]\n" msgstr "" #. type: Plain text -#: en/mailmap.txt:6 +#: en/git-update-server-info.txt:21 msgid "" -"If the file `.mailmap` exists at the toplevel of the repository, or at the " -"location pointed to by the mailmap.file or mailmap.blob configuration " -"options, it is used to map author and committer names and email addresses to " -"canonical real names and email addresses." +"A dumb server that does not do on-the-fly pack generations must have some " +"auxiliary information files in $GIT_DIR/info and $GIT_OBJECT_DIRECTORY/info " +"directories to help clients discover what references and packs the server " +"has. This command generates such auxiliary files." msgstr "" #. type: Plain text -#: en/mailmap.txt:10 -msgid "" -"In the simple form, each line in the file consists of the canonical real " -"name of an author, whitespace, and an email address used in the commit " -"(enclosed by '<' and '>') to map to the name. For example:" +#: en/git-update-server-info.txt:29 +#, fuzzy +#| msgid "" +#| "-f::\n" +#| "--force::\n" +#| "\tAllow adding otherwise ignored files.\n" +msgid "Update the info files from scratch." msgstr "" +"-f::\n" +"--force::\n" +"\tForce l'ajout de fichiers qui sont normalement ignor챕s.\n" #. type: Plain text -#: en/mailmap.txt:12 -#, no-wrap -msgid "\tProper Name <commit@email.xx>\n" +#: en/git-update-server-info.txt:37 +msgid "" +"Currently the command updates the following files. Please see linkgit:" +"gitrepository-layout[5] for description of what they are for:" msgstr "" #. type: Plain text -#: en/mailmap.txt:15 -#, fuzzy -#| msgid "The possible options are:\n" -msgid "The more complex forms are:" -msgstr "Les options possibles sont :\n" +#: en/git-update-server-info.txt:39 +msgid "objects/info/packs" +msgstr "" #. type: Plain text -#: en/mailmap.txt:17 +#: en/git-update-server-info.txt:41 +msgid "info/refs" +msgstr "" + +#. type: Title = +#: en/git-upload-archive.txt:2 #, no-wrap -msgid "\t<proper@email.xx> <commit@email.xx>\n" +msgid "git-upload-archive(1)" msgstr "" #. type: Plain text -#: en/mailmap.txt:19 -msgid "which allows mailmap to replace only the email part of a commit, and:" +#: en/git-upload-archive.txt:7 +msgid "git-upload-archive - Send archive back to git-archive" msgstr "" #. type: Plain text -#: en/mailmap.txt:21 +#: en/git-upload-archive.txt:13 #, no-wrap -msgid "\tProper Name <proper@email.xx> <commit@email.xx>\n" +msgid "'git upload-archive' <directory>\n" msgstr "" #. type: Plain text -#: en/mailmap.txt:24 +#: en/git-upload-archive.txt:18 msgid "" -"which allows mailmap to replace both the name and the email of a commit " -"matching the specified commit email address, and:" +"Invoked by 'git archive --remote' and sends a generated archive to the other " +"end over the Git protocol." msgstr "" #. type: Plain text -#: en/mailmap.txt:26 +#: en/git-upload-archive.txt:22 +msgid "" +"This command is usually not invoked directly by the end user. The UI for " +"the protocol is on the 'git archive' side, and the program pair is meant to " +"be used to get an archive from a remote repository." +msgstr "" + +#. type: Title - +#: en/git-upload-archive.txt:24 en/transfer-data-leaks.txt:2 #, no-wrap -msgid "\tProper Name <proper@email.xx> Commit Name <commit@email.xx>\n" +msgid "SECURITY" msgstr "" #. type: Plain text -#: en/mailmap.txt:29 +#: en/git-upload-archive.txt:32 msgid "" -"which allows mailmap to replace both the name and the email of a commit " -"matching both the specified commit name and email address." +"In order to protect the privacy of objects that have been removed from " +"history but may not yet have been pruned, `git-upload-archive` avoids " +"serving archives for commits and trees that are not reachable from the " +"repository's refs. However, because calculating object reachability is " +"computationally expensive, `git-upload-archive` implements a stricter but " +"easier-to-check set of rules:" msgstr "" #. type: Plain text -#: en/mailmap.txt:32 +#: en/git-upload-archive.txt:35 msgid "" -"Example 1: Your history contains commits by two authors, Jane and Joe, whose " -"names appear in the repository under several forms:" +"Clients may request a commit or tree that is pointed to directly by a ref. E." +"g., `git archive --remote=origin v1.0`." msgstr "" -#. type: delimited block - -#: en/mailmap.txt:39 -#, no-wrap +#. type: Plain text +#: en/git-upload-archive.txt:38 msgid "" -"Joe Developer <joe@example.com>\n" -"Joe R. Developer <joe@example.com>\n" -"Jane Doe <jane@example.com>\n" -"Jane Doe <jane@laptop.(none)>\n" -"Jane D. <jane@desktop.(none)>\n" +"Clients may request a sub-tree within a commit or tree using the `ref:path` " +"syntax. E.g., `git archive --remote=origin v1.0:Documentation`." msgstr "" #. type: Plain text -#: en/mailmap.txt:44 +#: en/git-upload-archive.txt:43 msgid "" -"Now suppose that Joe wants his middle name initial used, and Jane prefers " -"her family name fully spelled out. A proper `.mailmap` file would look like:" +"Clients may _not_ use other sha1 expressions, even if the end result is " +"reachable. E.g., neither a relative commit like `master^` nor a literal sha1 " +"like `abcd1234` is allowed, even if the result is reachable from the refs." msgstr "" -#. type: delimited block - -#: en/mailmap.txt:48 -#, no-wrap +#. type: Plain text +#: en/git-upload-archive.txt:48 msgid "" -"Jane Doe <jane@desktop.(none)>\n" -"Joe R. Developer <joe@example.com>\n" +"Note that rule 3 disallows many cases that do not have any privacy " +"implications. These rules are subject to change in future versions of git, " +"and the server accessed by `git archive --remote` may or may not follow " +"these exact rules." msgstr "" #. type: Plain text -#: en/mailmap.txt:52 +#: en/git-upload-archive.txt:54 msgid "" -"Note how there is no need for an entry for `<jane@laptop.(none)>`, because " -"the real name of that author is already correct." +"If the config option `uploadArchive.allowUnreachable` is true, these rules " +"are ignored, and clients may use arbitrary sha1 expressions. This is useful " +"if you do not care about the privacy of unreachable objects, or if your " +"object database is already publicly available for access via non-smart-http." +msgstr "" + +#. type: Plain text +#: en/git-upload-archive.txt:59 +msgid "The repository to get a tar archive from." msgstr "" +#. type: Title = +#: en/git-upload-pack.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-upload-pack(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/mailmap.txt:55 -msgid "Example 2: Your repository contains commits from the following authors:" +#: en/git-upload-pack.txt:7 +msgid "git-upload-pack - Send objects packed back to git-fetch-pack" msgstr "" -#. type: delimited block - -#: en/mailmap.txt:63 +#. type: Plain text +#: en/git-upload-pack.txt:15 #, no-wrap msgid "" -"nick1 <bugs@company.xx>\n" -"nick2 <bugs@company.xx>\n" -"nick2 <nick2@company.xx>\n" -"santa <me@company.xx>\n" -"claus <me@company.xx>\n" -"CTO <cto@coompany.xx>\n" -msgstr "" - -#. type: Plain text -#: en/mailmap.txt:66 -msgid "Then you might want a `.mailmap` file that looks like:" +"'git-upload-pack' [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n" +"\t\t [--advertise-refs] <directory>\n" +"DESCRIPTION\n" msgstr "" #. type: delimited block - -#: en/mailmap.txt:72 +#: en/git-upload-pack.txt:18 #, no-wrap msgid "" -"<cto@company.xx> <cto@coompany.xx>\n" -"Some Dude <some@dude.xx> nick1 <bugs@company.xx>\n" -"Other Author <other@author.xx> nick2 <bugs@company.xx>\n" -"Other Author <other@author.xx> <nick2@company.xx>\n" -"Santa Claus <santa.claus@northpole.xx> <me@company.xx>\n" +"Invoked by 'git fetch-pack', learns what\n" +"objects the other side is missing, and sends them after packing.\n" msgstr "" -#. type: Plain text -#: en/mailmap.txt:75 +#. type: delimited block - +#: en/git-upload-pack.txt:23 +#, no-wrap msgid "" -"Use hash '#' for comments that are either on their own line, or after the " -"email address." +"This command is usually not invoked directly by the end user.\n" +"The UI for the protocol is on the 'git fetch-pack' side, and the\n" +"program pair is meant to be used to pull updates from a remote\n" +"repository. For push operations, see 'git send-pack'.\n" msgstr "" +#. type: delimited block - +#: en/git-upload-pack.txt:26 +#, fuzzy, no-wrap +#| msgid "OPTIONS" +msgid "OPTIONS\n" +msgstr "OPTIONS" + #. type: Labeled list -#: en/merge-config.txt:1 +#: en/git-upload-pack.txt:28 #, no-wrap -msgid "merge.conflictStyle" +msgid "--[no-]strict" msgstr "" #. type: Plain text -#: en/merge-config.txt:8 -msgid "" -"Specify the style in which conflicted hunks are written out to working tree " -"files upon merge. The default is \"merge\", which shows a `<<<<<<<` " -"conflict marker, changes made by one side, a `=======` marker, changes made " -"by the other side, and then a `>>>>>>>` marker. An alternate style, " -"\"diff3\", adds a `|||||||` marker and the original text before the " -"`=======` marker." -msgstr "" - -#. type: Labeled list -#: en/merge-config.txt:9 -#, no-wrap -msgid "merge.defaultToUpstream" +#: en/git-upload-pack.txt:30 +msgid "Do not try <directory>/.git/ if <directory> is no Git directory." msgstr "" #. type: Plain text -#: en/merge-config.txt:18 -msgid "" -"If merge is called without any commit argument, merge the upstream branches " -"configured for the current branch by using their last observed values stored " -"in their remote-tracking branches. The values of the `branch.<current " -"branch>.merge` that name the branches at the remote named by `branch." -"<current branch>.remote` are consulted, and then they are mapped via `remote." -"<remote>.fetch` to their corresponding remote-tracking branches, and the " -"tips of these tracking branches are merged." +#: en/git-upload-pack.txt:33 +msgid "Interrupt transfer after <n> seconds of inactivity." msgstr "" #. type: Labeled list -#: en/merge-config.txt:19 +#: en/git-upload-pack.txt:34 #, no-wrap -msgid "merge.ff" +msgid "--stateless-rpc" msgstr "" #. type: Plain text -#: en/merge-config.txt:28 +#: en/git-upload-pack.txt:38 msgid "" -"By default, Git does not create an extra merge commit when merging a commit " -"that is a descendant of the current commit. Instead, the tip of the current " -"branch is fast-forwarded. When set to `false`, this variable tells Git to " -"create an extra merge commit in such a case (equivalent to giving the `--no-" -"ff` option from the command line). When set to `only`, only such fast-" -"forward merges are allowed (equivalent to giving the `--ff-only` option from " -"the command line)." +"Perform only a single read-write cycle with stdin and stdout. This fits " +"with the HTTP POST request processing model where a program may read the " +"request, write a response, and must exit." msgstr "" #. type: Labeled list -#: en/merge-config.txt:31 +#: en/git-upload-pack.txt:39 #, no-wrap -msgid "merge.renameLimit" +msgid "--advertise-refs" msgstr "" #. type: Plain text -#: en/merge-config.txt:35 +#: en/git-upload-pack.txt:43 msgid "" -"The number of files to consider when performing rename detection during a " -"merge; if not specified, defaults to the value of diff.renameLimit." +"Only the initial ref advertisement is output, and the program exits " +"immediately. This fits with the HTTP GET request model, where no request " +"content is received but a response must be produced." msgstr "" -#. type: Labeled list -#: en/merge-config.txt:36 -#, no-wrap -msgid "merge.renormalize" +#. type: Plain text +#: en/git-upload-pack.txt:46 +msgid "The repository to sync from." msgstr "" #. type: Plain text -#: en/merge-config.txt:45 -msgid "" -"Tell Git that canonical representation of files in the repository has " -"changed over time (e.g. earlier commits record text files with CRLF line " -"endings, but recent ones use LF line endings). In such a repository, Git " -"can convert the data recorded in commits to a canonical form before " -"performing a merge to reduce unnecessary conflicts. For more information, " -"see section \"Merging branches with differing checkin/checkout attributes\" " -"in linkgit:gitattributes[5]." +#: en/git-upload-pack.txt:50 +#, fuzzy +#| msgid "git-commit(1)" +msgid "linkgit:gitnamespaces[7]" +msgstr "git-commit(1)" + +#. type: Title = +#: en/git-var.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-var(1)" +msgstr "git-add(1)" + +#. type: Plain text +#: en/git-var.txt:7 +msgid "git-var - Show a Git logical variable" msgstr "" -#. type: Labeled list -#: en/merge-config.txt:46 +#. type: Plain text +#: en/git-var.txt:13 #, no-wrap -msgid "merge.stat" +msgid "'git var' ( -l | <variable> )\n" msgstr "" #. type: Plain text -#: en/merge-config.txt:49 -msgid "" -"Whether to print the diffstat between ORIG_HEAD and the merge result at the " -"end of the merge. True by default." +#: en/git-var.txt:17 +msgid "Prints a Git logical variable." msgstr "" -#. type: Labeled list -#: en/merge-config.txt:50 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "merge.tool" -msgstr "git-commit(1)" - #. type: Plain text -#: en/merge-config.txt:55 +#: en/git-var.txt:25 msgid "" -"Controls which merge tool is used by linkgit:git-mergetool[1]. The list " -"below shows the valid built-in values. Any other value is treated as a " -"custom merge tool and requires that a corresponding mergetool.<tool>.cmd " -"variable is defined." +"Cause the logical variables to be listed. In addition, all the variables of " +"the Git configuration file .git/config are listed as well. (However, the " +"configuration variables listing functionality is deprecated in favor of `git " +"config -l`.)" msgstr "" -#. type: Labeled list -#: en/merge-config.txt:58 +#. type: delimited block - +#: en/git-var.txt:30 #, no-wrap -msgid "merge.verbosity" +msgid "" +"\t$ git var GIT_AUTHOR_IDENT\n" +"\tEric W. Biederman <ebiederm@lnxi.com> 1121223278 -0600\n" msgstr "" -#. type: Plain text -#: en/merge-config.txt:65 -msgid "" -"Controls the amount of output shown by the recursive merge strategy. Level " -"0 outputs nothing except a final error message if conflicts were detected. " -"Level 1 outputs only conflicts, 2 outputs conflicts and file changes. Level " -"5 and above outputs debugging information. The default is level 2. Can be " -"overridden by the `GIT_MERGE_VERBOSITY` environment variable." +#. type: delimited block - +#: en/git-var.txt:33 +#, no-wrap +msgid "VARIABLES\n" msgstr "" #. type: Labeled list -#: en/merge-config.txt:66 +#: en/git-var.txt:34 #, no-wrap -msgid "merge.<driver>.name" +msgid "GIT_AUTHOR_IDENT" msgstr "" #. type: Plain text -#: en/merge-config.txt:69 -msgid "" -"Defines a human-readable name for a custom low-level merge driver. See " -"linkgit:gitattributes[5] for details." +#: en/git-var.txt:36 +msgid "The author of a piece of code." msgstr "" #. type: Labeled list -#: en/merge-config.txt:70 +#: en/git-var.txt:37 #, no-wrap -msgid "merge.<driver>.driver" +msgid "GIT_COMMITTER_IDENT" msgstr "" #. type: Plain text -#: en/merge-config.txt:73 -msgid "" -"Defines the command that implements a custom low-level merge driver. See " -"linkgit:gitattributes[5] for details." +#: en/git-var.txt:39 +msgid "The person who put a piece of code into Git." msgstr "" #. type: Labeled list -#: en/merge-config.txt:74 +#: en/git-var.txt:40 #, no-wrap -msgid "merge.<driver>.recursive" +msgid "GIT_EDITOR" msgstr "" #. type: Plain text -#: en/merge-config.txt:77 +#: en/git-var.txt:48 msgid "" -"Names a low-level merge driver to be used when performing an internal merge " -"between common ancestors. See linkgit:gitattributes[5] for details." +"Text editor for use by Git commands. The value is meant to be interpreted " +"by the shell when it is used. Examples: `~/bin/vi`, `" +"$SOME_ENVIRONMENT_VARIABLE`, `\"C:\\Program Files\\Vim\\gvim.exe\" --" +"nofork`. The order of preference is the `$GIT_EDITOR` environment variable, " +"then `core.editor` configuration, then `$VISUAL`, then `$EDITOR`, and then " +"the default chosen at compile time, which is usually 'vi'." msgstr "" #. type: Plain text -#: en/merge-options.txt:5 -msgid "" -"Perform the merge and commit the result. This option can be used to override " -"--no-commit." +#: en/git-var.txt:50 +#, no-wrap +msgid " The build you are using chose '{git-default-editor}' as the default.\n" +msgstr "" + +#. type: Labeled list +#: en/git-var.txt:52 +#, no-wrap +msgid "GIT_PAGER" msgstr "" #. type: Plain text -#: en/merge-options.txt:9 -msgid "" -"With --no-commit perform the merge but pretend the merge failed and do not " -"autocommit, to give the user a chance to inspect and further tweak the merge " -"result before committing." +#: en/git-var.txt:60 +#, no-wrap +msgid " The build you are using chose '{git-default-pager}' as the default.\n" msgstr "" +# #. type: Plain text -#: en/merge-options.txt:18 -msgid "" -"Invoke an editor before committing successful mechanical merge to further " -"edit the auto-generated merge message, so that the user can explain and " -"justify the merge. The `--no-edit` option can be used to accept the auto-" -"generated message (this is generally discouraged)." +#: en/git-var.txt:67 +#, fuzzy +#| msgid "" +#| "linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +#| "merge[1], linkgit:git-commit-tree[1]" +msgid "linkgit:git-commit-tree[1] linkgit:git-tag[1] linkgit:git-config[1]" msgstr "" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], linkgit:git-" +"merge[1], linkgit:git-commit-tree[1]" + +#. type: Title = +#: en/git-verify-commit.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-verify-commit(1)" +msgstr "git-commit(1)" #. type: Plain text -#: en/merge-options.txt:22 -msgid "" -"The `--edit` (or `-e`) option is still useful if you are giving a draft " -"message with the `-m` option from the command line and want to edit it in " -"the editor." +#: en/git-verify-commit.txt:7 +msgid "git-verify-commit - Check the GPG signature of commits" msgstr "" #. type: Plain text -#: en/merge-options.txt:29 -msgid "" -"Older scripts may depend on the historical behaviour of not allowing the " -"user to edit the merge log message. They will see an editor opened when they " -"run `git merge`. To make it easier to adjust such scripts to the updated " -"behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be set to `no` " -"at the beginning of them." +#: en/git-verify-commit.txt:12 +#, no-wrap +msgid "'git verify-commit' <commit>...\n" msgstr "" #. type: Plain text -#: en/merge-options.txt:34 -msgid "" -"When the merge resolves as a fast-forward, only update the branch pointer, " -"without creating a merge commit. This is the default behavior." +#: en/git-verify-commit.txt:16 +msgid "Validates the GPG signature created by 'git commit -S'." msgstr "" #. type: Plain text -#: en/merge-options.txt:39 +#: en/git-verify-commit.txt:22 en/git-verify-tag.txt:22 msgid "" -"Create a merge commit even when the merge resolves as a fast-forward. This " -"is the default behaviour when merging an annotated (and possibly signed) tag." +"Print the raw gpg status output to standard error instead of the normal " +"human-readable output." msgstr "" -#. type: Labeled list -#: en/merge-options.txt:40 -#, no-wrap -msgid "--ff-only" +#. type: Plain text +#: en/git-verify-commit.txt:26 +msgid "Print the contents of the commit object before validating it." msgstr "" #. type: Plain text -#: en/merge-options.txt:44 -msgid "" -"Refuse to merge and exit with a non-zero status unless the current `HEAD` is " -"already up-to-date or the merge can be resolved as a fast-forward." +#: en/git-verify-commit.txt:29 +msgid "SHA-1 identifiers of Git commit objects." msgstr "" -#. type: Plain text -#: en/merge-options.txt:50 -msgid "" -"In addition to branch names, populate the log message with one-line " -"descriptions from at most <n> actual commits that are being merged. See also " -"linkgit:git-fmt-merge-msg[1]." +#. type: Title = +#: en/git-verify-pack.txt:2 +#, no-wrap +msgid "git-verify-pack(1)" msgstr "" #. type: Plain text -#: en/merge-options.txt:53 -msgid "" -"With --no-log do not list one-line descriptions from the actual commits " -"being merged." +#: en/git-verify-pack.txt:7 +msgid "git-verify-pack - Validate packed Git archive files" msgstr "" #. type: Plain text -#: en/merge-options.txt:60 -msgid "" -"Show a diffstat at the end of the merge. The diffstat is also controlled by " -"the configuration option merge.stat." +#: en/git-verify-pack.txt:13 +#, no-wrap +msgid "'git verify-pack' [-v|--verbose] [-s|--stat-only] [--] <pack>.idx ...\n" msgstr "" #. type: Plain text -#: en/merge-options.txt:63 -msgid "With -n or --no-stat do not show a diffstat at the end of the merge." +#: en/git-verify-pack.txt:20 +msgid "" +"Reads given idx file for packed Git archive created with the 'git pack-" +"objects' command and verifies idx file and the corresponding pack file." msgstr "" #. type: Labeled list -#: en/merge-options.txt:64 +#: en/git-verify-pack.txt:23 #, no-wrap -msgid "--squash" +msgid "<pack>.idx ..." msgstr "" -#. type: Labeled list -#: en/merge-options.txt:65 -#, no-wrap -msgid "--no-squash" +#. type: Plain text +#: en/git-verify-pack.txt:25 +msgid "The idx files to verify." msgstr "" #. type: Plain text -#: en/merge-options.txt:73 +#: en/git-verify-pack.txt:30 msgid "" -"Produce the working tree and index state as if a real merge happened (except " -"for the merge information), but do not actually make a commit, move the " -"`HEAD`, or record `$GIT_DIR/MERGE_HEAD` (to cause the next `git commit` " -"command to create a merge commit). This allows you to create a single " -"commit on top of the current branch whose effect is the same as merging " -"another branch (or more in case of an octopus)." +"After verifying the pack, show list of objects contained in the pack and a " +"histogram of delta chain length." msgstr "" -#. type: Plain text -#: en/merge-options.txt:76 -msgid "" -"With --no-squash perform the merge and commit the result. This option can be " -"used to override --squash." +#. type: Labeled list +#: en/git-verify-pack.txt:32 +#, no-wrap +msgid "--stat-only" msgstr "" #. type: Plain text -#: en/merge-options.txt:84 +#: en/git-verify-pack.txt:35 msgid "" -"Use the given merge strategy; can be supplied more than once to specify them " -"in the order they should be tried. If there is no `-s` option, a built-in " -"list of strategies is used instead ('git merge-recursive' when merging a " -"single head, 'git merge-octopus' otherwise)." +"Do not verify the pack contents; only show the histogram of delta chain " +"length. With `--verbose`, list of objects is also shown." msgstr "" -#. type: Labeled list -#: en/merge-options.txt:85 +#. type: Title - +#: en/git-verify-pack.txt:40 #, fuzzy, no-wrap -#| msgid "status" -msgid "-X <option>" -msgstr "status" +#| msgid "DATE FORMATS" +msgid "OUTPUT FORMAT" +msgstr "FORMATS DE DATE" #. type: Plain text -#: en/merge-options.txt:89 -msgid "Pass merge strategy specific option through to the merge strategy." +#: en/git-verify-pack.txt:42 +msgid "When specifying the -v option the format used is:" msgstr "" -#. type: Labeled list -#: en/merge-options.txt:90 +#. type: Plain text +#: en/git-verify-pack.txt:44 #, no-wrap -msgid "--verify-signatures" +msgid "\tSHA-1 type size size-in-packfile offset-in-packfile\n" msgstr "" -#. type: Labeled list -#: en/merge-options.txt:91 +#. type: Plain text +#: en/git-verify-pack.txt:46 +msgid "for objects that are not deltified in the pack, and" +msgstr "" + +#. type: Plain text +#: en/git-verify-pack.txt:48 #, no-wrap -msgid "--no-verify-signatures" +msgid "\tSHA-1 type size size-in-packfile offset-in-packfile depth base-SHA-1\n" msgstr "" #. type: Plain text -#: en/merge-options.txt:97 -msgid "" -"Verify that the tip commit of the side branch being merged is signed with a " -"valid key, i.e. a key that has a valid uid: in the default trust model, this " -"means the signing key has been signed by a trusted key. If the tip commit " -"of the side branch is not signed with a valid key, the merge is aborted." +#: en/git-verify-pack.txt:50 +msgid "for objects that are deltified." msgstr "" -#. type: Labeled list -#: en/merge-options.txt:99 -#, no-wrap -msgid "--no-summary" +#. type: Title = +#: en/git-verify-tag.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-verify-tag(1)" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/git-verify-tag.txt:7 +msgid "git-verify-tag - Check the GPG signature of tags" msgstr "" #. type: Plain text -#: en/merge-options.txt:102 -msgid "" -"Synonyms to --stat and --no-stat; these are deprecated and will be removed " -"in the future." +#: en/git-verify-tag.txt:12 +#, no-wrap +msgid "'git verify-tag' [--format=<format>] <tag>...\n" msgstr "" #. type: Plain text -#: en/merge-options.txt:107 -#, fuzzy -#| msgid "" -#| "-q::\n" -#| "--quiet::\n" -#| "\tSuppress commit summary message.\n" -msgid "Operate quietly. Implies --no-progress." +#: en/git-verify-tag.txt:16 +msgid "Validates the gpg signature created by 'git tag'." msgstr "" -"-q::\n" -"--quiet::\n" -"\tSupprimer le message de r챕sum챕 de commit.\n" #. type: Plain text -#: en/merge-options.txt:118 -msgid "" -"Turn progress on/off explicitly. If neither is specified, progress is shown " -"if standard error is connected to a terminal. Note that not all merge " -"strategies may support progress reporting." +#: en/git-verify-tag.txt:26 +msgid "Print the contents of the tag object before validating it." msgstr "" #. type: Labeled list -#: en/merge-options.txt:121 +#: en/git-verify-tag.txt:27 #, no-wrap -msgid "--allow-unrelated-histories" +msgid "<tag>..." msgstr "" #. type: Plain text -#: en/merge-options.txt:127 -msgid "" -"By default, `git merge` command refuses to merge histories that do not share " -"a common ancestor. This option can be used to override this safety when " -"merging histories of two projects that started their lives independently. As " -"that is a very rare occasion, no configuration variable to enable this by " -"default exists and will not be added." +#: en/git-verify-tag.txt:29 +msgid "SHA-1 identifiers of Git tag objects." msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:2 -msgid "araxis" +#. type: Title = +#: en/git-web--browse.txt:2 +#, no-wrap +msgid "git-web{litdd}browse(1)" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:3 -msgid "bc" +#: en/git-web--browse.txt:7 +msgid "git-web--browse - Git helper script to launch a web browser" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:4 -msgid "bc3" +#: en/git-web--browse.txt:12 +#, no-wrap +msgid "'git web{litdd}browse' [OPTIONS] URL/FILE ...\n" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:5 -msgid "codecompare" +#: en/git-web--browse.txt:19 +msgid "" +"This script tries, as much as possible, to display the URLs and FILEs that " +"are passed as arguments, as HTML pages in new tabs on an already opened web " +"browser." msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:6 -msgid "deltawalker" +#: en/git-web--browse.txt:21 +msgid "The following browsers (or commands) are currently supported:" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:7 -#, fuzzy -#| msgid "diff" -msgid "diffmerge" -msgstr "diff" +#: en/git-web--browse.txt:23 +msgid "firefox (this is the default under X Window when not using KDE)" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:8 -#, fuzzy -#| msgid "diff" -msgid "diffuse" -msgstr "diff" +#: en/git-web--browse.txt:24 +msgid "iceweasel" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:9 -msgid "ecmerge" +#: en/git-web--browse.txt:25 +msgid "seamonkey" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:10 -#, fuzzy -#| msgid "git-commit(1)" -msgid "emerge" -msgstr "git-commit(1)" +#: en/git-web--browse.txt:26 +msgid "iceape" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:11 -#, fuzzy -#| msgid "diff" -msgid "examdiff" -msgstr "diff" +#: en/git-web--browse.txt:27 +msgid "chromium (also supported as chromium-browser)" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:12 -#, fuzzy -#| msgid "diff" -msgid "gvimdiff" -msgstr "diff" +#: en/git-web--browse.txt:28 +msgid "google-chrome (also supported as chrome)" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:13 -#, fuzzy -#| msgid "diff" -msgid "gvimdiff2" -msgstr "diff" +#: en/git-web--browse.txt:29 +msgid "" +"konqueror (this is the default under KDE, see 'Note about konqueror' below)" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:14 -#, fuzzy -#| msgid "diff" -msgid "gvimdiff3" -msgstr "diff" +#: en/git-web--browse.txt:30 +msgid "opera" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:15 -#, fuzzy -#| msgid "diff" -msgid "kdiff3" -msgstr "diff" +#: en/git-web--browse.txt:31 +msgid "w3m (this is the default outside graphical environments)" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:16 -msgid "meld" +#: en/git-web--browse.txt:32 +msgid "elinks" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:17 -#, fuzzy -#| msgid "diff" -msgid "opendiff" -msgstr "diff" +#: en/git-web--browse.txt:33 +msgid "links" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:18 -msgid "p4merge" +#: en/git-web--browse.txt:34 +msgid "lynx" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:19 -#, fuzzy -#| msgid "diff" -msgid "tkdiff" -msgstr "diff" +#: en/git-web--browse.txt:35 +msgid "dillo" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:20 -msgid "tortoisemerge" +#: en/git-web--browse.txt:36 +msgid "open (this is the default under Mac OS X GUI)" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:21 -#, fuzzy -#| msgid "diff" -msgid "vimdiff" -msgstr "diff" +#: en/git-web--browse.txt:37 +msgid "start (this is the default under MinGW)" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:22 -#, fuzzy -#| msgid "diff" -msgid "vimdiff2" -msgstr "diff" +#: en/git-web--browse.txt:38 +msgid "cygstart (this is the default under Cygwin)" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:23 -#, fuzzy -#| msgid "diff" -msgid "vimdiff3" -msgstr "diff" +#: en/git-web--browse.txt:39 +msgid "xdg-open" +msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:24 -#, fuzzy -#| msgid "git-commit(1)" -msgid "winmerge" -msgstr "git-commit(1)" +#: en/git-web--browse.txt:41 +msgid "Custom commands may also be specified." +msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:24 -#, fuzzy -#| msgid "diff" -msgid "xxdiff" -msgstr "diff" +#. type: Labeled list +#: en/git-web--browse.txt:44 +#, no-wrap +msgid "-b <browser>" +msgstr "" -#. type: Title - -#: en/merge-strategies.txt:2 +#. type: Labeled list +#: en/git-web--browse.txt:45 #, no-wrap -msgid "MERGE STRATEGIES" +msgid "--browser=<browser>" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:8 +#: en/git-web--browse.txt:48 msgid "" -"The merge mechanism (`git merge` and `git pull` commands) allows the backend " -"'merge strategies' to be chosen with `-s` option. Some strategies can also " -"take their own options, which can be passed by giving `-X<option>` arguments " -"to `git merge` and/or `git pull`." +"Use the specified browser. It must be in the list of supported browsers." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:9 +#: en/git-web--browse.txt:49 #, no-wrap -msgid "resolve" +msgid "-t <browser>" +msgstr "" + +#. type: Labeled list +#: en/git-web--browse.txt:50 +#, no-wrap +msgid "--tool=<browser>" +msgstr "" + +#. type: Labeled list +#: en/git-web--browse.txt:53 +#, no-wrap +msgid "-c <conf.var>" +msgstr "" + +#. type: Labeled list +#: en/git-web--browse.txt:54 +#, no-wrap +msgid "--config=<conf.var>" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:15 +#: en/git-web--browse.txt:57 msgid "" -"This can only resolve two heads (i.e. the current branch and another branch " -"you pulled from) using a 3-way merge algorithm. It tries to carefully " -"detect criss-cross merge ambiguities and is considered generally safe and " -"fast." +"CONF.VAR is looked up in the Git config files. If it's set, then its value " +"specifies the browser that should be used." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:16 +#. type: Title ~ +#: en/git-web--browse.txt:62 #, no-wrap -msgid "recursive" +msgid "CONF.VAR (from -c option) and web.browser" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:28 +#: en/git-web--browse.txt:67 msgid "" -"This can only resolve two heads using a 3-way merge algorithm. When there " -"is more than one common ancestor that can be used for 3-way merge, it " -"creates a merged tree of the common ancestors and uses that as the reference " -"tree for the 3-way merge. This has been reported to result in fewer merge " -"conflicts without causing mismerges by tests done on actual merge commits " -"taken from Linux 2.6 kernel development history. Additionally this can " -"detect and handle merges involving renames. This is the default merge " -"strategy when pulling or merging one branch." +"The web browser can be specified using a configuration variable passed with " +"the -c (or --config) command-line option, or the `web.browser` configuration " +"variable if the former is not used." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:30 -msgid "The 'recursive' strategy can take the following options:" +#: en/git-web--browse.txt:76 +msgid "" +"You can explicitly provide a full path to your preferred browser by setting " +"the configuration variable `browser.<tool>.path`. For example, you can " +"configure the absolute path to firefox by setting 'browser.firefox.path'. " +"Otherwise, 'git web{litdd}browse' assumes the tool is available in PATH." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:31 en/merge-strategies.txt:110 -#, no-wrap -msgid "ours" +#. type: Plain text +#: en/git-web--browse.txt:86 +msgid "" +"When the browser, specified by options or configuration variables, is not " +"among the supported ones, then the corresponding `browser.<tool>.cmd` " +"configuration variable will be looked up. If this variable exists then 'git " +"web{litdd}browse' will treat the specified tool as a custom command and will " +"use a shell eval to run the command with the URLs passed as arguments." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:36 +#: en/git-web--browse.txt:93 msgid "" -"This option forces conflicting hunks to be auto-resolved cleanly by favoring " -"'our' version. Changes from the other tree that do not conflict with our " -"side are reflected to the merge result. For a binary file, the entire " -"contents are taken from our side." +"When 'konqueror' is specified by a command-line option or a configuration " +"variable, we launch 'kfmclient' to try to open the HTML man page on an " +"already opened konqueror in a new tab if possible." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:40 +#: en/git-web--browse.txt:97 msgid "" -"This should not be confused with the 'ours' merge strategy, which does not " -"even look at what the other tree contains at all. It discards everything " -"the other tree did, declaring 'our' history contains all that happened in it." +"For consistency, we also try such a trick if 'browser.konqueror.path' is set " +"to something like 'A_PATH_TO/konqueror'. That means we will try to launch " +"'A_PATH_TO/kfmclient' instead." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:41 +#. type: delimited block - +#: en/git-web--browse.txt:104 #, no-wrap -msgid "theirs" +msgid "" +"\t[web]\n" +"\t\tbrowser = konq\n" msgstr "" -#. type: Plain text -#: en/merge-strategies.txt:43 -msgid "This is the opposite of 'ours'." +#. type: delimited block - +#: en/git-web--browse.txt:107 +#, no-wrap +msgid "" +"\t[browser \"konq\"]\n" +"\t\tcmd = A_PATH_TO/konqueror\n" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:44 +#. type: Title ~ +#: en/git-web--browse.txt:110 #, no-wrap -msgid "patience" +msgid "Note about git-config --global" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:50 +#: en/git-web--browse.txt:114 msgid "" -"With this option, 'merge-recursive' spends a little extra time to avoid " -"mismerges that sometimes occur due to unimportant matching lines (e.g., " -"braces from distinct functions). Use this when the branches to be merged " -"have diverged wildly. See also linkgit:git-diff[1] `--patience`." +"Note that these configuration variables should probably be set using the `--" +"global` flag, for example like this:" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:51 +#. type: delimited block - +#: en/git-web--browse.txt:117 #, no-wrap -msgid "diff-algorithm=[patience|minimal|histogram|myers]" +msgid "$ git config --global web.browser firefox\n" msgstr "" +#. type: Title = +#: en/git-whatchanged.txt:2 +#, fuzzy, no-wrap +#| msgid "git-add(1)" +msgid "git-whatchanged(1)" +msgstr "git-add(1)" + #. type: Plain text -#: en/merge-strategies.txt:56 -msgid "" -"Tells 'merge-recursive' to use a different diff algorithm, which can help " -"avoid mismerges that occur due to unimportant matching lines (such as braces " -"from distinct functions). See also linkgit:git-diff[1] `--diff-algorithm`." +#: en/git-whatchanged.txt:7 +msgid "git-whatchanged - Show logs with difference each commit introduces" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:57 +#. type: Plain text +#: en/git-whatchanged.txt:13 #, no-wrap -msgid "ignore-space-change" +msgid "'git whatchanged' <option>...\n" +msgstr "" + +#. type: Plain text +#: en/git-whatchanged.txt:18 +msgid "Shows commit logs and diff output each commit introduces." +msgstr "" + +#. type: Plain text +#: en/git-whatchanged.txt:22 +msgid "" +"New users are encouraged to use linkgit:git-log[1] instead. The " +"`whatchanged` command is essentially the same as linkgit:git-log[1] but " +"defaults to show the raw format diff output and to skip merges." +msgstr "" + +#. type: Plain text +#: en/git-whatchanged.txt:26 +msgid "" +"The command is kept primarily for historical reasons; fingers of many people " +"who learned Git long before `git log` was invented by reading Linux kernel " +"mailing list are trained to type it." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:58 +#: en/git-whatchanged.txt:30 #, no-wrap -msgid "ignore-all-space" +msgid "`git whatchanged -p v2.6.12.. include/scsi drivers/scsi`" +msgstr "" + +#. type: Plain text +#: en/git-whatchanged.txt:34 +msgid "" +"Show as patches the commits since version 'v2.6.12' that changed any file in " +"the include/scsi or drivers/scsi subdirectories" msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:59 +#: en/git-whatchanged.txt:35 #, no-wrap -msgid "ignore-space-at-eol" +msgid "`git whatchanged --since=\"2 weeks ago\" -- gitk`" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:65 +#: en/git-whatchanged.txt:40 msgid "" -"Treats lines with the indicated type of whitespace change as unchanged for " -"the sake of a three-way merge. Whitespace changes mixed with other changes " -"to a line are not ignored. See also linkgit:git-diff[1] `-b`, `-w`, and `--" -"ignore-space-at-eol`." +"Show the changes during the last two weeks to the file 'gitk'. The \"--\" " +"is necessary to avoid confusion with the *branch* named 'gitk'" msgstr "" +#. type: Title = +#: en/git-worktree.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-worktree(1)" +msgstr "git-commit(1)" + #. type: Plain text -#: en/merge-strategies.txt:68 -msgid "" -"If 'their' version only introduces whitespace changes to a line, 'our' " -"version is used;" +#: en/git-worktree.txt:7 +msgid "git-worktree - Manage multiple working trees" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:70 +#: en/git-worktree.txt:17 +#, no-wrap msgid "" -"If 'our' version introduces whitespace changes but 'their' version includes " -"a substantial change, 'their' version is used;" +"'git worktree add' [-f] [--detach] [--checkout] [-b <new-branch>] <path> [<branch>]\n" +"'git worktree list' [--porcelain]\n" +"'git worktree lock' [--reason <string>] <worktree>\n" +"'git worktree prune' [-n] [-v] [--expire <expire>]\n" +"'git worktree unlock' <worktree>\n" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:71 -msgid "Otherwise, the merge proceeds in the usual way." +#: en/git-worktree.txt:22 +msgid "Manage multiple working trees attached to the same repository." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:72 -#, no-wrap -msgid "renormalize" +#. type: Plain text +#: en/git-worktree.txt:29 +msgid "" +"A git repository can support multiple working trees, allowing you to check " +"out more than one branch at a time. With `git worktree add` a new working " +"tree is associated with the repository. This new working tree is called a " +"\"linked working tree\" as opposed to the \"main working tree\" prepared by " +"\"git init\" or \"git clone\". A repository has one main working tree (if " +"it's not a bare repository) and zero or more linked working trees." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:79 +#: en/git-worktree.txt:36 msgid "" -"This runs a virtual check-out and check-in of all three stages of a file " -"when resolving a three-way merge. This option is meant to be used when " -"merging branches with different clean filters or end-of-line normalization " -"rules. See \"Merging branches with differing checkin/checkout attributes\" " -"in linkgit:gitattributes[5] for details." +"When you are done with a linked working tree you can simply delete it. The " +"working tree's administrative files in the repository (see \"DETAILS\" " +"below) will eventually be removed automatically (see `gc." +"worktreePruneExpire` in linkgit:git-config[1]), or you can run `git worktree " +"prune` in the main or any linked working tree to clean up any stale " +"administrative files." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:80 -#, no-wrap -msgid "no-renormalize" +#. type: Plain text +#: en/git-worktree.txt:40 +msgid "" +"If you move a linked working tree, you need to manually update the " +"administrative files so that they do not get pruned automatically. See " +"section \"DETAILS\" for more information." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:83 +#: en/git-worktree.txt:45 msgid "" -"Disables the `renormalize` option. This overrides the `merge.renormalize` " -"configuration variable." +"If a linked working tree is stored on a portable device or network share " +"which is not always mounted, you can prevent its administrative files from " +"being pruned by issuing the `git worktree lock` command, optionally " +"specifying `--reason` to explain why the working tree is locked." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:84 +#: en/git-worktree.txt:48 #, no-wrap -msgid "no-renames" +msgid "add <path> [<branch>]" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:87 +#: en/git-worktree.txt:54 msgid "" -"Turn off rename detection. See also linkgit:git-diff[1] `--no-renames`." +"Create `<path>` and checkout `<branch>` into it. The new working directory " +"is linked to the current repository, sharing everything except working " +"directory specific files such as HEAD, index, etc. `-` may also be specified " +"as `<branch>`; it is synonymous with `@{-1}`." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:88 -#, no-wrap -msgid "find-renames[=<n>]" +#. type: Plain text +#: en/git-worktree.txt:58 +msgid "" +"If `<branch>` is omitted and neither `-b` nor `-B` nor `--detach` used, " +"then, as a convenience, a new branch based at HEAD is created automatically, " +"as if `-b $(basename <path>)` was specified." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:92 +#: en/git-worktree.txt:65 msgid "" -"Turn on rename detection, optionally setting the similarity threshold. This " -"is the default. See also linkgit:git-diff[1] `--find-renames`." +"List details of each worktree. The main worktree is listed first, followed " +"by each of the linked worktrees. The output details include if the worktree " +"is bare, the revision currently checked out, and the branch currently " +"checked out (or 'detached HEAD' if none)." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:93 +#: en/git-worktree.txt:66 #, no-wrap -msgid "rename-threshold=<n>" +msgid "lock" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:95 -msgid "Deprecated synonym for `find-renames=<n>`." +#: en/git-worktree.txt:73 +msgid "" +"If a working tree is on a portable device or network share which is not " +"always mounted, lock it to prevent its administrative files from being " +"pruned automatically. This also prevents it from being moved or deleted. " +"Optionally, specify a reason for the lock with `--reason`." +msgstr "" + +#. type: Plain text +#: en/git-worktree.txt:77 +msgid "Prune working tree information in $GIT_DIR/worktrees." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:96 +#: en/git-worktree.txt:78 #, no-wrap -msgid "subtree[=<path>]" +msgid "unlock" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:102 +#: en/git-worktree.txt:81 +msgid "Unlock a working tree, allowing it to be pruned, moved or deleted." +msgstr "" + +#. type: Plain text +#: en/git-worktree.txt:90 msgid "" -"This option is a more advanced form of 'subtree' strategy, where the " -"strategy makes a guess on how two trees must be shifted to match with each " -"other when merging. Instead, the specified path is prefixed (or stripped " -"from the beginning) to make the shape of two trees to match." +"By default, `add` refuses to create a new working tree when `<branch>` is " +"already checked out by another working tree. This option overrides that " +"safeguard." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:103 -#, no-wrap -msgid "octopus" -msgstr "" +#: en/git-worktree.txt:91 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "-b <new-branch>" +msgstr "Mode interactif" + +#. type: Labeled list +#: en/git-worktree.txt:92 +#, fuzzy, no-wrap +#| msgid "Interactive mode" +msgid "-B <new-branch>" +msgstr "Mode interactif" #. type: Plain text -#: en/merge-strategies.txt:109 +#: en/git-worktree.txt:99 msgid "" -"This resolves cases with more than two heads, but refuses to do a complex " -"merge that needs manual resolution. It is primarily meant to be used for " -"bundling topic branch heads together. This is the default merge strategy " -"when pulling or merging more than one branch." +"With `add`, create a new branch named `<new-branch>` starting at `<branch>`, " +"and check out `<new-branch>` into the new working tree. If `<branch>` is " +"omitted, it defaults to HEAD. By default, `-b` refuses to create a new " +"branch if it already exists. `-B` overrides this safeguard, resetting `<new-" +"branch>` to `<branch>`." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:117 +#: en/git-worktree.txt:103 msgid "" -"This resolves any number of heads, but the resulting tree of the merge is " -"always that of the current branch head, effectively ignoring all changes " -"from all other branches. It is meant to be used to supersede old " -"development history of side branches. Note that this is different from the -" -"Xours option to the 'recursive' merge strategy." +"With `add`, detach HEAD in the new working tree. See \"DETACHED HEAD\" in " +"linkgit:git-checkout[1]." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:118 -#, no-wrap -msgid "subtree" -msgstr "" +#: en/git-worktree.txt:104 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--[no-]checkout" +msgstr "git-commit(1)" #. type: Plain text -#: en/merge-strategies.txt:124 +#: en/git-worktree.txt:109 msgid "" -"This is a modified recursive strategy. When merging trees A and B, if B " -"corresponds to a subtree of A, B is first adjusted to match the tree " -"structure of A, instead of reading the trees at the same level. This " -"adjustment is also done to the common ancestor tree." +"By default, `add` checks out `<branch>`, however, `--no-checkout` can be " +"used to suppress checkout in order to make customizations, such as " +"configuring sparse-checkout. See \"Sparse checkout\" in linkgit:git-read-" +"tree[1]." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:131 -msgid "" -"With the strategies that use 3-way merge (including the default, " -"'recursive'), if a change is made on both branches, but later reverted on " -"one of the branches, that change will be present in the merged result; some " -"people find this behavior confusing. It occurs because only the heads and " -"the merge base are considered when performing a merge, not the individual " -"commits. The merge algorithm therefore considers the reverted change as no " -"change at all, and substitutes the changed version instead." +#: en/git-worktree.txt:114 +msgid "With `prune`, do not remove anything; just report what it would remove." msgstr "" -#. type: Title - -#: en/pretty-formats.txt:2 -#, fuzzy, no-wrap -#| msgid "DATE FORMATS" -msgid "PRETTY FORMATS" -msgstr "FORMATS DE DATE" - #. type: Plain text -#: en/pretty-formats.txt:13 +#: en/git-worktree.txt:119 msgid "" -"If the commit is a merge, and if the pretty-format is not 'oneline', 'email' " -"or 'raw', an additional line is inserted before the 'Author:' line. This " -"line begins with \"Merge: \" and the sha1s of ancestral commits are printed, " -"separated by spaces. Note that the listed commits may not necessarily be " -"the list of the *direct* parent commits if you have limited your view of " -"history: for example, if you are only interested in changes related to a " -"certain directory or file." +"With `list`, output in an easy-to-parse format for scripts. This format " +"will remain stable across Git versions and regardless of user " +"configuration. See below for details." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:20 -msgid "" -"There are several built-in formats, and you can define additional formats by " -"setting a pretty.<name> config option to either another format name, or a " -"'format:' string, as described below (see linkgit:git-config[1]). Here are " -"the details of the built-in formats:" +#: en/git-worktree.txt:123 +msgid "With `prune`, report all removals." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:22 -msgid "'oneline'" +#: en/git-worktree.txt:126 +msgid "With `prune`, only expire unused working trees older than <time>." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:24 +#. type: Labeled list +#: en/git-worktree.txt:127 #, no-wrap -msgid "<sha1> <title line>\n" +msgid "--reason <string>" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:26 -msgid "This is designed to be as compact as possible." +#: en/git-worktree.txt:129 +msgid "With `lock`, an explanation why the working tree is locked." msgstr "" +#. type: Labeled list +#: en/git-worktree.txt:130 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "<worktree>" +msgstr "whitespace" + #. type: Plain text -#: en/pretty-formats.txt:28 -msgid "'short'" +#: en/git-worktree.txt:133 +msgid "Working trees can be identified by path, either relative or absolute." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:31 -#, no-wrap +#: en/git-worktree.txt:138 msgid "" -"commit <sha1>\n" -"Author: <author>\n" +"If the last path components in the working tree's path is unique among " +"working trees, it can be used to identify worktrees. For example if you only " +"have two working trees, at \"/abc/def/ghi\" and \"/abc/def/ggg\", then \"ghi" +"\" or \"def/ghi\" is enough to point to the former working tree." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:33 en/pretty-formats.txt:41 en/pretty-formats.txt:51 -#: en/pretty-formats.txt:63 +#. type: Title - +#: en/git-worktree.txt:140 #, no-wrap -msgid "<title line>\n" +msgid "DETAILS" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:35 -msgid "'medium'" +#: en/git-worktree.txt:149 +msgid "" +"Each linked working tree has a private sub-directory in the repository's " +"$GIT_DIR/worktrees directory. The private sub-directory's name is usually " +"the base name of the linked working tree's path, possibly appended with a " +"number to make it unique. For example, when `$GIT_DIR=/path/main/.git` the " +"command `git worktree add /path/other/test-next next` creates the linked " +"working tree in `/path/other/test-next` and also creates a `$GIT_DIR/" +"worktrees/test-next` directory (or `$GIT_DIR/worktrees/test-next1` if `test-" +"next` is already taken)." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:39 -#, no-wrap +#: en/git-worktree.txt:155 msgid "" -"commit <sha1>\n" -"Author: <author>\n" -"Date: <author date>\n" +"Within a linked working tree, $GIT_DIR is set to point to this private " +"directory (e.g. `/path/main/.git/worktrees/test-next` in the example) and " +"$GIT_COMMON_DIR is set to point back to the main working tree's $GIT_DIR (e." +"g. `/path/main/.git`). These settings are made in a `.git` file located at " +"the top directory of the linked working tree." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:43 en/pretty-formats.txt:53 en/pretty-formats.txt:65 -#: en/pretty-formats.txt:74 -msgid "<full commit message>" +#: en/git-worktree.txt:164 +msgid "" +"Path resolution via `git rev-parse --git-path` uses either $GIT_DIR or " +"$GIT_COMMON_DIR depending on the path. For example, in the linked working " +"tree `git rev-parse --git-path HEAD` returns `/path/main/.git/worktrees/test-" +"next/HEAD` (not `/path/other/test-next/.git/HEAD` or `/path/main/.git/HEAD`) " +"while `git rev-parse --git-path refs/heads/master` uses $GIT_COMMON_DIR and " +"returns `/path/main/.git/refs/heads/master`, since refs are shared across " +"all working trees." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:45 -msgid "'full'" +#: en/git-worktree.txt:169 +msgid "" +"See linkgit:gitrepository-layout[5] for more information. The rule of thumb " +"is do not make any assumption about whether a path belongs to $GIT_DIR or " +"$GIT_COMMON_DIR when you need to directly access something inside $GIT_DIR. " +"Use `git rev-parse --git-path` to get the final path." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:49 -#, no-wrap +#: en/git-worktree.txt:176 msgid "" -"commit <sha1>\n" -"Author: <author>\n" -"Commit: <committer>\n" +"If you move a linked working tree, you need to update the 'gitdir' file in " +"the entry's directory. For example, if a linked working tree is moved to `/" +"newpath/test-next` and its `.git` file points to `/path/main/.git/worktrees/" +"test-next`, then update `/path/main/.git/worktrees/test-next/gitdir` to " +"reference `/newpath/test-next` instead." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:55 -msgid "'fuller'" +#: en/git-worktree.txt:187 +msgid "" +"To prevent a $GIT_DIR/worktrees entry from being pruned (which can be useful " +"in some situations, such as when the entry's working tree is stored on a " +"portable device), use the `git worktree lock` command, which adds a file " +"named 'locked' to the entry's directory. The file contains the reason in " +"plain text. For example, if a linked working tree's `.git` file points to `/" +"path/main/.git/worktrees/test-next` then a file named `/path/main/.git/" +"worktrees/test-next/locked` will prevent the `test-next` entry from being " +"pruned. See linkgit:gitrepository-layout[5] for details." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:61 +#. type: Title - +#: en/git-worktree.txt:189 #, no-wrap -msgid "" -"commit <sha1>\n" -"Author: <author>\n" -"AuthorDate: <author date>\n" -"Commit: <committer>\n" -"CommitDate: <committer date>\n" +msgid "LIST OUTPUT FORMAT" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:67 -msgid "'email'" +#: en/git-worktree.txt:192 +msgid "" +"The worktree list command has two output formats. The default format shows " +"the details on a single line with columns. For example:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:72 +#. type: delimited block - +#: en/git-worktree.txt:198 #, no-wrap msgid "" -"From <sha1> <date>\n" -"From: <author>\n" -"Date: <author date>\n" -"Subject: [PATCH] <title line>\n" +"S git worktree list\n" +"/path/to/bare-source (bare)\n" +"/path/to/linked-worktree abcd1234 [master]\n" +"/path/to/other-linked-worktree 1234abc (detached HEAD)\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:76 -msgid "'raw'" +#. type: Title ~ +#: en/git-worktree.txt:201 +#, no-wrap +msgid "Porcelain Format" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:86 +#: en/git-worktree.txt:207 msgid "" -"The 'raw' format shows the entire commit exactly as stored in the commit " -"object. Notably, the SHA-1s are displayed in full, regardless of whether --" -"abbrev or --no-abbrev are used, and 'parents' information show the true " -"parent commits, without taking grafts or history simplification into " -"account. Note that this format affects the way commits are displayed, but " -"not the way the diff is shown e.g. with `git log --raw`. To get full object " -"names in a raw diff format, use `--no-abbrev`." +"The porcelain format has a line per attribute. Attributes are listed with a " +"label and value separated by a single space. Boolean attributes (like " +"'bare' and 'detached') are listed as a label only, and are only present if " +"and only if the value is true. An empty line indicates the end of a " +"worktree. For example:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:88 -#, fuzzy -#| msgid "Configuration" -msgid "'format:<string>'" -msgstr "Configuration" - -#. type: Plain text -#: en/pretty-formats.txt:93 +#. type: delimited block - +#: en/git-worktree.txt:212 +#, no-wrap msgid "" -"The 'format:<string>' format allows you to specify which information you " -"want to show. It works a little bit like printf format, with the notable " -"exception that you get a newline with '%n' instead of '\\n'." +"S git worktree list --porcelain\n" +"worktree /path/to/bare-source\n" +"bare\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:96 +#. type: delimited block - +#: en/git-worktree.txt:216 +#, no-wrap msgid "" -"E.g, 'format:\"The author of %h was %an, %ar%nThe title was >>%s<<%n\"' " -"would show something like this:" +"worktree /path/to/linked-worktree\n" +"HEAD abcd1234abcd1234abcd1234abcd1234abcd1234\n" +"branch refs/heads/master\n" msgstr "" #. type: delimited block - -#: en/pretty-formats.txt:100 +#: en/git-worktree.txt:220 #, no-wrap msgid "" -"The author of fe6e0ee was Junio C Hamano, 23 hours ago\n" -"The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<\n" +"worktree /path/to/other-linked-worktree\n" +"HEAD 1234abc1234abc1234abc1234abc1234abc1234a\n" +"detached\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:104 -#, fuzzy -#| msgid "The possible options are:\n" -msgid "The placeholders are:" -msgstr "Les options possibles sont :\n" - -#. type: Plain text -#: en/pretty-formats.txt:106 -msgid "'%H': commit hash" +#: en/git-worktree.txt:233 +msgid "" +"You are in the middle of a refactoring session and your boss comes in and " +"demands that you fix something immediately. You might typically use linkgit:" +"git-stash[1] to store your changes away temporarily, however, your working " +"tree is in such a state of disarray (with new, moved, and removed files, and " +"other bits and pieces strewn around) that you don't want to risk disturbing " +"any of it. Instead, you create a temporary linked working tree to make the " +"emergency fix, remove it when done, and then resume your earlier refactoring " +"session." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:107 -msgid "'%h': abbreviated commit hash" +#. type: delimited block - +#: en/git-worktree.txt:242 +#, no-wrap +msgid "" +"$ git worktree add -b emergency-fix ../temp master\n" +"$ pushd ../temp\n" +"# ... hack hack hack ...\n" +"$ git commit -a -m 'emergency fix for boss'\n" +"$ popd\n" +"$ rm -rf ../temp\n" +"$ git worktree prune\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:108 -msgid "'%T': tree hash" +#: en/git-worktree.txt:249 +msgid "" +"Multiple checkout in general is still experimental, and the support for " +"submodules is incomplete. It is NOT recommended to make multiple checkouts " +"of a superproject." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:109 -msgid "'%t': abbreviated tree hash" +#: en/git-worktree.txt:252 +msgid "" +"git-worktree could provide more automation for tasks currently performed " +"manually, such as:" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:110 -msgid "'%P': parent hashes" +#: en/git-worktree.txt:255 +msgid "" +"`remove` to remove a linked working tree and its administrative files (and " +"warn if the working tree is dirty)" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:111 -msgid "'%p': abbreviated parent hashes" +#: en/git-worktree.txt:256 +msgid "" +"`mv` to move or rename a working tree and update its administrative files" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:112 -msgid "'%an': author name" -msgstr "" +#. type: Title = +#: en/git-write-tree.txt:2 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "git-write-tree(1)" +msgstr "git-commit(1)" +# #. type: Plain text -#: en/pretty-formats.txt:114 -msgid "" -"'%aN': author name (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" -msgstr "" +#: en/git-write-tree.txt:7 +#, fuzzy +#| msgid "git-add - Add file contents to the index" +msgid "git-write-tree - Create a tree object from the current index" +msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" #. type: Plain text -#: en/pretty-formats.txt:115 -msgid "'%ae': author email" +#: en/git-write-tree.txt:13 +#, no-wrap +msgid "'git write-tree' [--missing-ok] [--prefix=<prefix>/]\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:117 +#: en/git-write-tree.txt:18 msgid "" -"'%aE': author email (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" -msgstr "" - -#. type: Plain text -#: en/pretty-formats.txt:118 -msgid "'%ad': author date (format respects --date= option)" +"Creates a tree object using the current index. The name of the new tree " +"object is printed to standard output." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:119 -msgid "'%aD': author date, RFC2822 style" +#: en/git-write-tree.txt:20 +msgid "The index must be in a fully merged state." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:120 -msgid "'%ar': author date, relative" +#: en/git-write-tree.txt:26 +msgid "" +"Conceptually, 'git write-tree' sync()s the current index contents into a set " +"of tree files. In order to have that match what is actually in your " +"directory right now, you need to have done a 'git update-index' phase before " +"you did the 'git write-tree'." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:121 -msgid "'%at': author date, UNIX timestamp" +#. type: Labeled list +#: en/git-write-tree.txt:30 +#, no-wrap +msgid "--missing-ok" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:122 -msgid "'%ai': author date, ISO 8601-like format" +#: en/git-write-tree.txt:34 +msgid "" +"Normally 'git write-tree' ensures that the objects referenced by the " +"directory exist in the object database. This option disables this check." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:123 -msgid "'%aI': author date, strict ISO 8601 format" +#: en/git-write-tree.txt:39 +msgid "" +"Writes a tree object that represents a subdirectory `<prefix>`. This can be " +"used to write the tree object for a subproject that is in the named " +"subdirectory." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:124 -msgid "'%cn': committer name" +#: en/i18n.txt:2 +msgid "Git is to some extent character encoding agnostic." msgstr "" +"Git est dans une certaine mesure agnostique concernant l'encodage des " +"caract챔res." #. type: Plain text -#: en/pretty-formats.txt:126 +#: en/i18n.txt:6 msgid "" -"'%cN': committer name (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" +"The contents of the blob objects are uninterpreted sequences of bytes. " +"There is no encoding translation at the core level." msgstr "" +"Le contenu des objets blob est une s챕quence d'octets non interpr챕t챕s. Il n'y " +"a pas de conversion d'encodage au niveau de base." #. type: Plain text -#: en/pretty-formats.txt:127 -msgid "'%ce': committer email" +#: en/i18n.txt:13 +msgid "" +"Path names are encoded in UTF-8 normalization form C. This applies to tree " +"objects, the index file, ref names, as well as path names in command line " +"arguments, environment variables and config files (`.git/config` (see " +"linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and " +"linkgit:gitmodules[5])." msgstr "" +"Les noms de chemins sont encod챕s en forme C de normalisation UTF-8. Ceci " +"s'applique aux objets arbre, au fichier d'index, au noms de r챕f챕rences ainsi " +"qu'aux noms de chemin en argument de ligne de commande, aux variables " +"d'environnement et aux fichiers de configuration (`.git/config` (voir " +"linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and " +"linkgit:gitmodules[5])." #. type: Plain text -#: en/pretty-formats.txt:129 +#: en/i18n.txt:23 msgid "" -"'%cE': committer email (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" +"Note that Git at the core level treats path names simply as sequences of non-" +"NUL bytes, there are no path name encoding conversions (except on Mac and " +"Windows). Therefore, using non-ASCII path names will mostly work even on " +"platforms and file systems that use legacy extended ASCII encodings. " +"However, repositories created on such systems will not work properly on " +"UTF-8-based systems (e.g. Linux, Mac, Windows) and vice versa. " +"Additionally, many Git-based tools simply assume path names to be UTF-8 and " +"will fail to display other encodings correctly." msgstr "" +"Remarquez que Git traite les noms de chemins comme des s챕quences d'octets " +"non-nuls au niveau de base, il n'y a pas de conversion d'encodage des noms " +"de fichiers (sauf sur Mac et Windows). De ce fait, l'utilisation de noms de " +"chemins non-ASCII fonctionnera pratiquement, m챗me sur les plateformes et " +"syst챔mes de fichier utilisant d'anciens encodages d'ASCII 챕tendu." #. type: Plain text -#: en/pretty-formats.txt:130 -msgid "'%cd': committer date (format respects --date= option)" +#: en/i18n.txt:29 +msgid "" +"Commit log messages are typically encoded in UTF-8, but other extended ASCII " +"encodings are also supported. This includes ISO-8859-x, CP125x and many " +"others, but _not_ UTF-16/32, EBCDIC and CJK multi-byte encodings (GBK, Shift-" +"JIS, Big5, EUC-x, CP9xx etc.)." msgstr "" +"Les messages du journal des validations sont typiquement encod챕s en UTF-8, " +"mais les autres encodages d'ASCII 챕tendu sont aussi pris en charge. Ceci " +"inclut ISO-8859-x, CP125x et de nombreux autres, mais _pas_ UTF-16/32, " +"EBCDIC ni les encodages multi-octets CJK (GBK, Shift-JIS, Big5, EUC-x, CP9xx " +"etc.)." #. type: Plain text -#: en/pretty-formats.txt:131 -msgid "'%cD': committer date, RFC2822 style" +#: en/i18n.txt:36 +msgid "" +"Although we encourage that the commit log messages are encoded in UTF-8, " +"both the core and Git Porcelain are designed not to force UTF-8 on " +"projects. If all participants of a particular project find it more " +"convenient to use legacy encodings, Git does not forbid it. However, there " +"are a few things to keep in mind." msgstr "" +"Bien que l'usage de UTF-8 dans les messages de validation soit encourag챕, le " +"c흹ur de Git et la porcelaine sont con챌us pour ne pas forcer l'usage d'UTF-8 " +"dans les projets. Si tous les participants d'un projet donn챕 trouvent plus " +"simple d'utiliser des encodages anciens, Git ne l'interdit pas. Cependant, " +"il y a quelques d챕tails 횪 garder en t챗te." #. type: Plain text -#: en/pretty-formats.txt:132 -msgid "'%cr': committer date, relative" +#: en/i18n.txt:42 +msgid "" +"'git commit' and 'git commit-tree' issues a warning if the commit log " +"message given to it does not look like a valid UTF-8 string, unless you " +"explicitly say your project uses a legacy encoding. The way to say this is " +"to have i18n.commitencoding in `.git/config` file, like this:" msgstr "" +"`git commit` et `git commit-tree` affichent un avertissement si le message " +"de validation fourni ne semble pas 챗tre une cha챤ne de caract챔res UTF-8 " +"valide, 횪 moins que vous n'indiquiez explicitement que votre projet utilise " +"un encodage ancien. La mani챔re de l'indiquer est d'avoir i18n.commitencoding " +"dans `.git/config`, comme ceci혻:" -#. type: Plain text -#: en/pretty-formats.txt:133 -msgid "'%ct': committer date, UNIX timestamp" +#. type: delimited block - +#: en/i18n.txt:46 +#, no-wrap +msgid "" +"[i18n]\n" +"\tcommitencoding = ISO-8859-1\n" msgstr "" +"[i18n]\n" +"\tcommitencoding = ISO-8859-1\n" #. type: Plain text -#: en/pretty-formats.txt:134 -msgid "'%ci': committer date, ISO 8601-like format" +#: en/i18n.txt:52 +msgid "" +"Commit objects created with the above setting record the value of `i18n." +"commitencoding` in its `encoding` header. This is to help other people who " +"look at them later. Lack of this header implies that the commit log message " +"is encoded in UTF-8." msgstr "" +"Les objets commit cr챕챕s avec le r챕glage ci-dessus enregistrent la valeur de " +"`i18n.commitencoding` dans leur ent챗te d'encodage `encoding`. Ceci permet " +"d'aider les personnes qui les liront plus tard. L'absence de cet ent챗te " +"implique que les message de validation est encod챕 en UTF-8." #. type: Plain text -#: en/pretty-formats.txt:135 -msgid "'%cI': committer date, strict ISO 8601 format" +#: en/i18n.txt:58 +msgid "" +"'git log', 'git show', 'git blame' and friends look at the `encoding` header " +"of a commit object, and try to re-code the log message into UTF-8 unless " +"otherwise specified. You can specify the desired output encoding with `i18n." +"logoutputencoding` in `.git/config` file, like this:" msgstr "" +"Sauf indication contraire, 'git log', 'git show', 'git blame' et consort " +"lisent l'ent챗te `encoding` d'un objet commit et essaient de r챕-encoder le " +"message de validation en UTF-8. Vous pouvez sp챕cifier l'encodage de sortie " +"que vous souhaitez avec `i18n.logoutputencoding` dans le fichier `.git/" +"config`, comme ceci혻:" -#. type: Plain text -#: en/pretty-formats.txt:136 -msgid "'%d': ref names, like the --decorate option of linkgit:git-log[1]" +#. type: delimited block - +#: en/i18n.txt:62 +#, no-wrap +msgid "" +"[i18n]\n" +"\tlogoutputencoding = ISO-8859-1\n" msgstr "" +"[i18n]\n" +"\tlogoutputencoding = ISO-8859-1\n" #. type: Plain text -#: en/pretty-formats.txt:137 -msgid "'%D': ref names without the \" (\", \")\" wrapping." +#: en/i18n.txt:66 +msgid "" +"If you do not have this configuration variable, the value of `i18n." +"commitencoding` is used instead." msgstr "" +"Si vous n'avez pas chang챕 cette variable de configuration, c'est la valeur " +"de `i18n.commitencoding` qui est utilis챕e." #. type: Plain text -#: en/pretty-formats.txt:138 -msgid "'%e': encoding" +#: en/i18n.txt:70 +msgid "" +"Note that we deliberately chose not to re-code the commit log message when a " +"commit is made to force UTF-8 at the commit object level, because re-coding " +"to UTF-8 is not necessarily a reversible operation." msgstr "" +"Remarquez qu'il a 챕t챕 d챕lib챕r챕ment choisi de ne pas r챕-encoder le message de " +"validation quand le commit est cr챕챕 pour forcer l'UTF-8 au niveau de l'objet " +"commit parce que r챕-encoder en UTF-8 n'est pas n챕cessairement une op챕ration " +"r챕versible." #. type: Plain text -#: en/pretty-formats.txt:139 -msgid "'%s': subject" +#: en/line-range-format.txt:2 +msgid "<start> and <end> can take one of these forms:" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:140 -msgid "'%f': sanitized subject line, suitable for a filename" +#: en/line-range-format.txt:4 +msgid "number" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:141 -msgid "'%b': body" +#: en/line-range-format.txt:7 +msgid "" +"If <start> or <end> is a number, it specifies an absolute line number (lines " +"count from 1)." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:142 -msgid "'%B': raw body (unwrapped subject and body)" +#: en/line-range-format.txt:10 +msgid "/regex/" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:144 -msgid "'%N': commit notes" +#: en/line-range-format.txt:17 +msgid "" +"This form will use the first line matching the given POSIX regex. If <start> " +"is a regex, it will search from the end of the previous `-L` range, if any, " +"otherwise from the start of file. If <start> is ``^/regex/'', it will " +"search from the start of file. If <end> is a regex, it will search starting " +"at the line given by <start>." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:146 -msgid "'%GG': raw verification message from GPG for a signed commit" +#: en/line-range-format.txt:20 +msgid "+offset or -offset" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:154 +#: en/line-range-format.txt:23 msgid "" -"'%G?': show \"G\" for a good (valid) signature, \"B\" for a bad signature, " -"\"U\" for a good signature with unknown validity, \"X\" for a good signature " -"that has expired, \"Y\" for a good signature made by an expired key, \"R\" " -"for a good signature made by a revoked key, \"E\" if the signature cannot be " -"checked (e.g. missing key) and \"N\" for no signature" +"This is only valid for <end> and will specify a number of lines before or " +"after the line given by <start>." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:155 -msgid "'%GS': show the name of the signer for a signed commit" +#: en/line-range-format.txt:30 +msgid "" +"If ``:<funcname>'' is given in place of <start> and <end>, it is a regular " +"expression that denotes the range from the first funcname line that matches " +"<funcname>, up to the next funcname line. ``:<funcname>'' searches from the " +"end of the previous `-L` range, if any, otherwise from the start of file. " +"``^:<funcname>'' searches from the start of file." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:156 -msgid "'%GK': show the key used to sign a signed commit" +#: en/mailmap.txt:6 +msgid "" +"If the file `.mailmap` exists at the toplevel of the repository, or at the " +"location pointed to by the mailmap.file or mailmap.blob configuration " +"options, it is used to map author and committer names and email addresses to " +"canonical real names and email addresses." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:161 +#: en/mailmap.txt:10 msgid "" -"'%gD': reflog selector, e.g., `refs/stash@{1}` or `refs/stash@{2 minutes " -"ago`}; the format follows the rules described for the `-g` option. The " -"portion before the `@` is the refname as given on the command line (so `git " -"log -g refs/heads/master` would yield `refs/heads/master@{0}`)." +"In the simple form, each line in the file consists of the canonical real " +"name of an author, whitespace, and an email address used in the commit " +"(enclosed by '<' and '>') to map to the name. For example:" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:164 -msgid "" -"'%gd': shortened reflog selector; same as `%gD`, but the refname portion is " -"shortened for human readability (so `refs/heads/master` becomes just " -"`master`)." +#: en/mailmap.txt:12 +#, no-wrap +msgid "\tProper Name <commit@email.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:165 -msgid "'%gn': reflog identity name" +#: en/mailmap.txt:15 +#, fuzzy +#| msgid "The possible options are:\n" +msgid "The more complex forms are:" +msgstr "Les options possibles sont :\n" + +#. type: Plain text +#: en/mailmap.txt:17 +#, no-wrap +msgid "\t<proper@email.xx> <commit@email.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:167 -msgid "" -"'%gN': reflog identity name (respecting .mailmap, see linkgit:git-" -"shortlog[1] or linkgit:git-blame[1])" +#: en/mailmap.txt:19 +msgid "which allows mailmap to replace only the email part of a commit, and:" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:168 -msgid "'%ge': reflog identity email" +#: en/mailmap.txt:21 +#, no-wrap +msgid "\tProper Name <proper@email.xx> <commit@email.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:170 +#: en/mailmap.txt:24 msgid "" -"'%gE': reflog identity email (respecting .mailmap, see linkgit:git-" -"shortlog[1] or linkgit:git-blame[1])" +"which allows mailmap to replace both the name and the email of a commit " +"matching the specified commit email address, and:" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:171 -msgid "'%gs': reflog subject" +#: en/mailmap.txt:26 +#, no-wrap +msgid "\tProper Name <proper@email.xx> Commit Name <commit@email.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:172 -msgid "'%Cred': switch color to red" +#: en/mailmap.txt:29 +msgid "" +"which allows mailmap to replace both the name and the email of a commit " +"matching both the specified commit name and email address." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:173 -msgid "'%Cgreen': switch color to green" +#: en/mailmap.txt:32 +msgid "" +"Example 1: Your history contains commits by two authors, Jane and Joe, whose " +"names appear in the repository under several forms:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:174 -msgid "'%Cblue': switch color to blue" +#. type: delimited block - +#: en/mailmap.txt:39 +#, no-wrap +msgid "" +"Joe Developer <joe@example.com>\n" +"Joe R. Developer <joe@example.com>\n" +"Jane Doe <jane@example.com>\n" +"Jane Doe <jane@laptop.(none)>\n" +"Jane D. <jane@desktop.(none)>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:175 -msgid "'%Creset': reset color" +#: en/mailmap.txt:44 +msgid "" +"Now suppose that Joe wants his middle name initial used, and Jane prefers " +"her family name fully spelled out. A proper `.mailmap` file would look like:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:182 +#. type: delimited block - +#: en/mailmap.txt:48 +#, no-wrap msgid "" -"'%C(...)': color specification, as described under Values in the " -"\"CONFIGURATION FILE\" section of linkgit:git-config[1]; adding `auto,` at " -"the beginning will emit color only when colors are enabled for log output " -"(by `color.diff`, `color.ui`, or `--color`, and respecting the `auto` " -"settings of the former if we are going to a terminal). `auto` alone (i.e. `" -"%C(auto)`) will turn on auto coloring on the next placeholders until the " -"color is switched again." +"Jane Doe <jane@desktop.(none)>\n" +"Joe R. Developer <joe@example.com>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:183 -msgid "'%m': left (`<`), right (`>`) or boundary (`-`) mark" +#: en/mailmap.txt:52 +msgid "" +"Note how there is no need for an entry for `<jane@laptop.(none)>`, because " +"the real name of that author is already correct." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:184 -msgid "'%n': newline" +#: en/mailmap.txt:55 +msgid "Example 2: Your repository contains commits from the following authors:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:185 -msgid "'%%': a raw '%'" +#. type: delimited block - +#: en/mailmap.txt:63 +#, no-wrap +msgid "" +"nick1 <bugs@company.xx>\n" +"nick2 <bugs@company.xx>\n" +"nick2 <nick2@company.xx>\n" +"santa <me@company.xx>\n" +"claus <me@company.xx>\n" +"CTO <cto@coompany.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:186 -msgid "'%x00': print a byte from a hex code" +#: en/mailmap.txt:66 +msgid "Then you might want a `.mailmap` file that looks like:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:188 +#. type: delimited block - +#: en/mailmap.txt:72 +#, no-wrap msgid "" -"'%w([<w>[,<i1>[,<i2>]]])': switch line wrapping, like the -w option of " -"linkgit:git-shortlog[1]." +"<cto@company.xx> <cto@coompany.xx>\n" +"Some Dude <some@dude.xx> nick1 <bugs@company.xx>\n" +"Other Author <other@author.xx> nick2 <bugs@company.xx>\n" +"Other Author <other@author.xx> <nick2@company.xx>\n" +"Santa Claus <santa.claus@northpole.xx> <me@company.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:193 +#: en/mailmap.txt:75 msgid "" -"'%<(<N>[,trunc|ltrunc|mtrunc])': make the next placeholder take at least N " -"columns, padding spaces on the right if necessary. Optionally truncate at " -"the beginning (ltrunc), the middle (mtrunc) or the end (trunc) if the " -"output is longer than N columns. Note that truncating only works correctly " -"with N >= 2." +"Use hash '#' for comments that are either on their own line, or after the " +"email address." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:195 -msgid "" -"'%<|(<N>)': make the next placeholder take at least until Nth columns, " -"padding spaces on the right if necessary" +#. type: Labeled list +#: en/merge-config.txt:1 +#, no-wrap +msgid "merge.conflictStyle" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:197 +#: en/merge-config.txt:8 msgid "" -"'%>(<N>)', '%>|(<N>)': similar to '%<(<N>)', '%<|(<N>)' respectively, but " -"padding spaces on the left" +"Specify the style in which conflicted hunks are written out to working tree " +"files upon merge. The default is \"merge\", which shows a `<<<<<<<` " +"conflict marker, changes made by one side, a `=======` marker, changes made " +"by the other side, and then a `>>>>>>>` marker. An alternate style, " +"\"diff3\", adds a `|||||||` marker and the original text before the " +"`=======` marker." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:200 -msgid "" -"'%>>(<N>)', '%>>|(<N>)': similar to '%>(<N>)', '%>|(<N>)' respectively, " -"except that if the next placeholder takes more spaces than given and there " -"are spaces on its left, use those spaces" +#. type: Labeled list +#: en/merge-config.txt:9 +#, no-wrap +msgid "merge.defaultToUpstream" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:204 +#: en/merge-config.txt:18 msgid "" -"'%><(<N>)', '%><|(<N>)': similar to '% <(<N>)', '%<|(<N>)' respectively, but " -"padding both sides (i.e. the text is centered) -%(trailers): display the " -"trailers of the body as interpreted by linkgit:git-interpret-trailers[1]" +"If merge is called without any commit argument, merge the upstream branches " +"configured for the current branch by using their last observed values stored " +"in their remote-tracking branches. The values of the `branch.<current " +"branch>.merge` that name the branches at the remote named by `branch." +"<current branch>.remote` are consulted, and then they are mapped via `remote." +"<remote>.fetch` to their corresponding remote-tracking branches, and the " +"tips of these tracking branches are merged." +msgstr "" + +#. type: Labeled list +#: en/merge-config.txt:19 +#, no-wrap +msgid "merge.ff" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:211 +#: en/merge-config.txt:28 msgid "" -"Some placeholders may depend on other options given to the revision " -"traversal engine. For example, the `%g*` reflog options will insert an empty " -"string unless we are traversing reflog entries (e.g., by `git log -g`). The `" -"%d` and `%D` placeholders will use the \"short\" decoration format if `--" -"decorate` was not already provided on the command line." +"By default, Git does not create an extra merge commit when merging a commit " +"that is a descendant of the current commit. Instead, the tip of the current " +"branch is fast-forwarded. When set to `false`, this variable tells Git to " +"create an extra merge commit in such a case (equivalent to giving the `--no-" +"ff` option from the command line). When set to `only`, only such fast-" +"forward merges are allowed (equivalent to giving the `--ff-only` option from " +"the command line)." +msgstr "" + +#. type: Labeled list +#: en/merge-config.txt:31 +#, no-wrap +msgid "merge.renameLimit" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:215 +#: en/merge-config.txt:35 msgid "" -"If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is " -"inserted immediately before the expansion if and only if the placeholder " -"expands to a non-empty string." +"The number of files to consider when performing rename detection during a " +"merge; if not specified, defaults to the value of diff.renameLimit." +msgstr "" + +#. type: Labeled list +#: en/merge-config.txt:36 +#, no-wrap +msgid "merge.renormalize" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:219 +#: en/merge-config.txt:45 msgid "" -"If you add a `-` (minus sign) after '%' of a placeholder, line-feeds that " -"immediately precede the expansion are deleted if and only if the placeholder " -"expands to an empty string." +"Tell Git that canonical representation of files in the repository has " +"changed over time (e.g. earlier commits record text files with CRLF line " +"endings, but recent ones use LF line endings). In such a repository, Git " +"can convert the data recorded in commits to a canonical form before " +"performing a merge to reduce unnecessary conflicts. For more information, " +"see section \"Merging branches with differing checkin/checkout attributes\" " +"in linkgit:gitattributes[5]." +msgstr "" + +#. type: Labeled list +#: en/merge-config.txt:46 +#, no-wrap +msgid "merge.stat" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:223 +#: en/merge-config.txt:49 msgid "" -"If you add a ` ` (space) after '%' of a placeholder, a space is inserted " -"immediately before the expansion if and only if the placeholder expands to a " -"non-empty string." +"Whether to print the diffstat between ORIG_HEAD and the merge result at the " +"end of the merge. True by default." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:225 -#, fuzzy -#| msgid "Configuration" -msgid "'tformat:'" -msgstr "Configuration" +#. type: Labeled list +#: en/merge-config.txt:50 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "merge.tool" +msgstr "git-commit(1)" #. type: Plain text -#: en/pretty-formats.txt:233 +#: en/merge-config.txt:55 msgid "" -"The 'tformat:' format works exactly like 'format:', except that it provides " -"\"terminator\" semantics instead of \"separator\" semantics. In other words, " -"each commit has the message terminator character (usually a newline) " -"appended, rather than a separator placed between entries. This means that " -"the final entry of a single-line format will be properly terminated with a " -"new line, just as the \"oneline\" format does. For example:" +"Controls which merge tool is used by linkgit:git-mergetool[1]. The list " +"below shows the valid built-in values. Any other value is treated as a " +"custom merge tool and requires that a corresponding mergetool.<tool>.cmd " +"variable is defined." msgstr "" -#. type: delimited block - -#: en/pretty-formats.txt:239 +#. type: Labeled list +#: en/merge-config.txt:58 #, no-wrap +msgid "merge.verbosity" +msgstr "" + +#. type: Plain text +#: en/merge-config.txt:65 msgid "" -"$ git log -2 --pretty=format:%h 4da45bef \\\n" -" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" -"4da45be\n" -"7134973 -- NO NEWLINE\n" +"Controls the amount of output shown by the recursive merge strategy. Level " +"0 outputs nothing except a final error message if conflicts were detected. " +"Level 1 outputs only conflicts, 2 outputs conflicts and file changes. Level " +"5 and above outputs debugging information. The default is level 2. Can be " +"overridden by the `GIT_MERGE_VERBOSITY` environment variable." msgstr "" -#. type: delimited block - -#: en/pretty-formats.txt:244 +#. type: Labeled list +#: en/merge-config.txt:66 #, no-wrap -msgid "" -"$ git log -2 --pretty=tformat:%h 4da45bef \\\n" -" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" -"4da45be\n" -"7134973\n" +msgid "merge.<driver>.name" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:249 +#: en/merge-config.txt:69 msgid "" -"In addition, any unrecognized string that has a `%` in it is interpreted as " -"if it has `tformat:` in front of it. For example, these two are equivalent:" +"Defines a human-readable name for a custom low-level merge driver. See " +"linkgit:gitattributes[5] for details." msgstr "" -#. type: delimited block - -#: en/pretty-formats.txt:253 +#. type: Labeled list +#: en/merge-config.txt:70 #, no-wrap +msgid "merge.<driver>.driver" +msgstr "" + +#. type: Plain text +#: en/merge-config.txt:73 msgid "" -"$ git log -2 --pretty=tformat:%h 4da45bef\n" -"$ git log -2 --pretty=%h 4da45bef\n" +"Defines the command that implements a custom low-level merge driver. See " +"linkgit:gitattributes[5] for details." msgstr "" #. type: Labeled list -#: en/pretty-options.txt:1 +#: en/merge-config.txt:74 #, no-wrap -msgid "--pretty[=<format>]" +msgid "merge.<driver>.recursive" msgstr "" #. type: Plain text -#: en/pretty-options.txt:10 +#: en/merge-config.txt:77 msgid "" -"Pretty-print the contents of the commit logs in a given format, where " -"'<format>' can be one of 'oneline', 'short', 'medium', 'full', 'fuller', " -"'email', 'raw', 'format:<string>' and 'tformat:<string>'. When '<format>' " -"is none of the above, and has '%placeholder' in it, it acts as if '--" -"pretty=tformat:<format>' were given." +"Names a low-level merge driver to be used when performing an internal merge " +"between common ancestors. See linkgit:gitattributes[5] for details." msgstr "" #. type: Plain text -#: en/pretty-options.txt:13 +#: en/merge-options.txt:5 msgid "" -"See the \"PRETTY FORMATS\" section for some additional details for each " -"format. When '=<format>' part is omitted, it defaults to 'medium'." +"Perform the merge and commit the result. This option can be used to override " +"--no-commit." msgstr "" #. type: Plain text -#: en/pretty-options.txt:16 -#, fuzzy -#| msgid "" -#| "The default can be changed by the `commit.cleanup` configuration variable " -#| "(see linkgit:git-config[1])." +#: en/merge-options.txt:9 msgid "" -"Note: you can specify the default pretty format in the repository " -"configuration (see linkgit:git-config[1])." -msgstr "" -"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " -"`commit.cleanup` (voir linkgit:git-config[1])." - -#. type: Labeled list -#: en/pretty-options.txt:17 -#, no-wrap -msgid "--abbrev-commit" +"With --no-commit perform the merge but pretend the merge failed and do not " +"autocommit, to give the user a chance to inspect and further tweak the merge " +"result before committing." msgstr "" #. type: Plain text -#: en/pretty-options.txt:22 +#: en/merge-options.txt:18 msgid "" -"Instead of showing the full 40-byte hexadecimal commit object name, show " -"only a partial prefix. Non default number of digits can be specified with " -"\"--abbrev=<n>\" (which also modifies diff output, if it is displayed)." +"Invoke an editor before committing successful mechanical merge to further " +"edit the auto-generated merge message, so that the user can explain and " +"justify the merge. The `--no-edit` option can be used to accept the auto-" +"generated message (this is generally discouraged)." msgstr "" #. type: Plain text -#: en/pretty-options.txt:25 +#: en/merge-options.txt:22 msgid "" -"This should make \"--pretty=oneline\" a whole lot more readable for people " -"using 80-column terminals." -msgstr "" - -#. type: Labeled list -#: en/pretty-options.txt:26 -#, no-wrap -msgid "--no-abbrev-commit" +"The `--edit` (or `-e`) option is still useful if you are giving a draft " +"message with the `-m` option from the command line and want to edit it in " +"the editor." msgstr "" #. type: Plain text -#: en/pretty-options.txt:30 +#: en/merge-options.txt:29 msgid "" -"Show the full 40-byte hexadecimal commit object name. This negates `--abbrev-" -"commit` and those options which imply it such as \"--oneline\". It also " -"overrides the `log.abbrevCommit` variable." +"Older scripts may depend on the historical behaviour of not allowing the " +"user to edit the merge log message. They will see an editor opened when they " +"run `git merge`. To make it easier to adjust such scripts to the updated " +"behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be set to `no` " +"at the beginning of them." msgstr "" #. type: Plain text -#: en/pretty-options.txt:34 +#: en/merge-options.txt:34 msgid "" -"This is a shorthand for \"--pretty=oneline --abbrev-commit\" used together." +"When the merge resolves as a fast-forward, only update the branch pointer, " +"without creating a merge commit. This is the default behavior." msgstr "" #. type: Plain text -#: en/pretty-options.txt:44 +#: en/merge-options.txt:39 msgid "" -"The commit objects record the encoding used for the log message in their " -"encoding header; this option can be used to tell the command to re-code the " -"commit log message in the encoding preferred by the user. For non plumbing " -"commands this defaults to UTF-8. Note that if an object claims to be encoded " -"in `X` and we are outputting in `X`, we will output the object verbatim; " -"this means that invalid sequences in the original commit may be copied to " -"the output." +"Create a merge commit even when the merge resolves as a fast-forward. This " +"is the default behaviour when merging an annotated (and possibly signed) tag." msgstr "" #. type: Labeled list -#: en/pretty-options.txt:45 +#: en/merge-options.txt:40 #, no-wrap -msgid "--expand-tabs=<n>" +msgid "--ff-only" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:46 -#, no-wrap -msgid "--expand-tabs" +#. type: Plain text +#: en/merge-options.txt:44 +msgid "" +"Refuse to merge and exit with a non-zero status unless the current `HEAD` is " +"already up-to-date or the merge can be resolved as a fast-forward." msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:47 -#, no-wrap -msgid "--no-expand-tabs" +#. type: Plain text +#: en/merge-options.txt:50 +msgid "" +"In addition to branch names, populate the log message with one-line " +"descriptions from at most <n> actual commits that are being merged. See also " +"linkgit:git-fmt-merge-msg[1]." msgstr "" #. type: Plain text -#: en/pretty-options.txt:54 +#: en/merge-options.txt:53 msgid "" -"Perform a tab expansion (replace each tab with enough spaces to fill to the " -"next display column that is multiple of '<n>') in the log message before " -"showing it in the output. `--expand-tabs` is a short-hand for `--expand-" -"tabs=8`, and `--no-expand-tabs` is a short-hand for `--expand-tabs=0`, which " -"disables tab expansion." +"With --no-log do not list one-line descriptions from the actual commits " +"being merged." msgstr "" #. type: Plain text -#: en/pretty-options.txt:58 +#: en/merge-options.txt:60 msgid "" -"By default, tabs are expanded in pretty formats that indent the log message " -"by 4 spaces (i.e. 'medium', which is the default, 'full', and 'fuller')." +"Show a diffstat at the end of the merge. The diffstat is also controlled by " +"the configuration option merge.stat." +msgstr "" + +#. type: Plain text +#: en/merge-options.txt:63 +msgid "With -n or --no-stat do not show a diffstat at the end of the merge." msgstr "" #. type: Labeled list -#: en/pretty-options.txt:60 +#: en/merge-options.txt:64 #, no-wrap -msgid "--notes[=<treeish>]" +msgid "--squash" msgstr "" -#. type: Plain text -#: en/pretty-options.txt:66 -msgid "" -"Show the notes (see linkgit:git-notes[1]) that annotate the commit, when " -"showing the commit log message. This is the default for `git log`, `git " -"show` and `git whatchanged` commands when there is no `--pretty`, `--" -"format`, or `--oneline` option given on the command line." +#. type: Labeled list +#: en/merge-options.txt:65 +#, no-wrap +msgid "--no-squash" msgstr "" #. type: Plain text -#: en/pretty-options.txt:70 +#: en/merge-options.txt:73 msgid "" -"By default, the notes shown are from the notes refs listed in the `core." -"notesRef` and `notes.displayRef` variables (or corresponding environment " -"overrides). See linkgit:git-config[1] for more details." +"Produce the working tree and index state as if a real merge happened (except " +"for the merge information), but do not actually make a commit, move the " +"`HEAD`, or record `$GIT_DIR/MERGE_HEAD` (to cause the next `git commit` " +"command to create a merge commit). This allows you to create a single " +"commit on top of the current branch whose effect is the same as merging " +"another branch (or more in case of an octopus)." msgstr "" #. type: Plain text -#: en/pretty-options.txt:75 +#: en/merge-options.txt:76 msgid "" -"With an optional '<treeish>' argument, use the treeish to find the notes to " -"display. The treeish can specify the full refname when it begins with `refs/" -"notes/`; when it begins with `notes/`, `refs/` and otherwise `refs/notes/` " -"is prefixed to form a full name of the ref." +"With --no-squash perform the merge and commit the result. This option can be " +"used to override --squash." msgstr "" #. type: Plain text -#: en/pretty-options.txt:80 +#: en/merge-options.txt:84 msgid "" -"Multiple --notes options can be combined to control which notes are being " -"displayed. Examples: \"--notes=foo\" will show only notes from \"refs/notes/" -"foo\"; \"--notes=foo --notes\" will show both notes from \"refs/notes/foo\" " -"and from the default notes ref(s)." +"Use the given merge strategy; can be supplied more than once to specify them " +"in the order they should be tried. If there is no `-s` option, a built-in " +"list of strategies is used instead ('git merge-recursive' when merging a " +"single head, 'git merge-octopus' otherwise)." msgstr "" #. type: Labeled list -#: en/pretty-options.txt:81 -#, no-wrap -msgid "--no-notes" -msgstr "" +#: en/merge-options.txt:85 +#, fuzzy, no-wrap +#| msgid "status" +msgid "-X <option>" +msgstr "status" #. type: Plain text -#: en/pretty-options.txt:87 -msgid "" -"Do not show notes. This negates the above `--notes` option, by resetting the " -"list of notes refs from which notes are shown. Options are parsed in the " -"order given on the command line, so e.g. \"--notes --notes=foo --no-notes --" -"notes=bar\" will only show notes from \"refs/notes/bar\"." +#: en/merge-options.txt:89 +msgid "Pass merge strategy specific option through to the merge strategy." msgstr "" #. type: Labeled list -#: en/pretty-options.txt:88 +#: en/merge-options.txt:90 #, no-wrap -msgid "--show-notes[=<treeish>]" +msgid "--verify-signatures" msgstr "" #. type: Labeled list -#: en/pretty-options.txt:89 +#: en/merge-options.txt:91 #, no-wrap -msgid "--[no-]standard-notes" +msgid "--no-verify-signatures" msgstr "" #. type: Plain text -#: en/pretty-options.txt:92 +#: en/merge-options.txt:97 msgid "" -"These options are deprecated. Use the above --notes/--no-notes options " -"instead." +"Verify that the tip commit of the side branch being merged is signed with a " +"valid key, i.e. a key that has a valid uid: in the default trust model, this " +"means the signing key has been signed by a trusted key. If the tip commit " +"of the side branch is not signed with a valid key, the merge is aborted." msgstr "" #. type: Labeled list -#: en/pretty-options.txt:94 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--show-signature" -msgstr "Configuration" +#: en/merge-options.txt:99 +#, no-wrap +msgid "--no-summary" +msgstr "" #. type: Plain text -#: en/pretty-options.txt:96 +#: en/merge-options.txt:102 msgid "" -"Check the validity of a signed commit object by passing the signature to " -"`gpg --verify` and show the output." +"Synonyms to --stat and --no-stat; these are deprecated and will be removed " +"in the future." msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:6 +#: en/merge-options.txt:107 +#, fuzzy +#| msgid "" +#| "-q::\n" +#| "--quiet::\n" +#| "\tSuppress commit summary message.\n" +msgid "Operate quietly. Implies --no-progress." +msgstr "" +"-q::\n" +"--quiet::\n" +"\tSupprimer le message de r챕sum챕 de commit.\n" + +#. type: Plain text +#: en/merge-options.txt:118 msgid "" -"The \"remote\" repository that is the source of a fetch or pull operation. " -"This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) " -"or the name of a remote (see the section <<REMOTES,REMOTES>> below)." +"Turn progress on/off explicitly. If neither is specified, progress is shown " +"if standard error is connected to a terminal. Note that not all merge " +"strategies may support progress reporting." msgstr "" #. type: Labeled list -#: en/pull-fetch-param.txt:8 +#: en/merge-options.txt:121 #, no-wrap -msgid "<group>" +msgid "--allow-unrelated-histories" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:12 -#, fuzzy -#| msgid "" -#| "The default can be changed by the `commit.cleanup` configuration variable " -#| "(see linkgit:git-config[1])." +#: en/merge-options.txt:127 msgid "" -"A name referring to a list of repositories as the value of remotes.<group> " -"in the configuration file. (See linkgit:git-config[1])." +"By default, `git merge` command refuses to merge histories that do not share " +"a common ancestor. This option can be used to override this safety when " +"merging histories of two projects that started their lives independently. As " +"that is a very rare occasion, no configuration variable to enable this by " +"default exists and will not be added." msgstr "" -"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " -"`commit.cleanup` (voir linkgit:git-config[1])." -#. type: Labeled list -#: en/pull-fetch-param.txt:14 +#. type: Title - +#: en/merge-strategies.txt:2 #, no-wrap -msgid "<refspec>" +msgid "MERGE STRATEGIES" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:18 +#: en/merge-strategies.txt:8 msgid "" -"Specifies which refs to fetch and which local refs to update. When no " -"<refspec>s appear on the command line, the refs to fetch are read from " -"`remote.<repository>.fetch` variables instead" +"The merge mechanism (`git merge` and `git pull` commands) allows the backend " +"'merge strategies' to be chosen with `-s` option. Some strategies can also " +"take their own options, which can be passed by giving `-X<option>` arguments " +"to `git merge` and/or `git pull`." msgstr "" -#. type: Plain text -#: en/pull-fetch-param.txt:20 +#. type: Labeled list +#: en/merge-strategies.txt:9 #, no-wrap -msgid "\t(see <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> below).\n" +msgid "resolve" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:23 +#: en/merge-strategies.txt:15 +msgid "" +"This can only resolve two heads (i.e. the current branch and another branch " +"you pulled from) using a 3-way merge algorithm. It tries to carefully " +"detect criss-cross merge ambiguities and is considered generally safe and " +"fast." +msgstr "" + +#. type: Labeled list +#: en/merge-strategies.txt:16 #, no-wrap -msgid "\t(see linkgit:git-fetch[1]).\n" +msgid "recursive" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:29 +#: en/merge-strategies.txt:28 msgid "" -"The format of a <refspec> parameter is an optional plus `+`, followed by the " -"source ref <src>, followed by a colon `:`, followed by the destination ref " -"<dst>. The colon can be omitted when <dst> is empty." +"This can only resolve two heads using a 3-way merge algorithm. When there " +"is more than one common ancestor that can be used for 3-way merge, it " +"creates a merged tree of the common ancestors and uses that as the reference " +"tree for the 3-way merge. This has been reported to result in fewer merge " +"conflicts without causing mismerges by tests done on actual merge commits " +"taken from Linux 2.6 kernel development history. Additionally this can " +"detect and handle merges involving renames. This is the default merge " +"strategy when pulling or merging one branch." msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:32 -msgid "" -"`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`; it requests " -"fetching everything up to the given tag." +#: en/merge-strategies.txt:30 +msgid "The 'recursive' strategy can take the following options:" msgstr "" -#. type: Plain text -#: en/pull-fetch-param.txt:39 -msgid "" -"The remote ref that matches <src> is fetched, and if <dst> is not empty " -"string, the local ref that matches it is fast-forwarded using <src>. If the " -"optional plus `+` is used, the local ref is updated even if it does not " -"result in a fast-forward update." +#. type: Labeled list +#: en/merge-strategies.txt:31 en/merge-strategies.txt:110 +#, no-wrap +msgid "ours" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:51 +#: en/merge-strategies.txt:36 msgid "" -"When the remote branch you want to fetch is known to be rewound and rebased " -"regularly, it is expected that its new tip will not be descendant of its " -"previous tip (as stored in your remote-tracking branch the last time you " -"fetched). You would want to use the `+` sign to indicate non-fast-forward " -"updates will be needed for such branches. There is no way to determine or " -"declare that a branch will be made available in a repository with this " -"behavior; the pulling user simply must know this is the expected usage " -"pattern for a branch." +"This option forces conflicting hunks to be auto-resolved cleanly by favoring " +"'our' version. Changes from the other tree that do not conflict with our " +"side are reflected to the merge result. For a binary file, the entire " +"contents are taken from our side." msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:71 +#: en/merge-strategies.txt:40 msgid "" -"There is a difference between listing multiple <refspec> directly on 'git " -"pull' command line and having multiple `remote.<repository>.fetch` entries " -"in your configuration for a <repository> and running a 'git pull' command " -"without any explicit <refspec> parameters. <refspec>s listed explicitly on " -"the command line are always merged into the current branch after fetching. " -"In other words, if you list more than one remote ref, 'git pull' will create " -"an Octopus merge. On the other hand, if you do not list any explicit " -"<refspec> parameter on the command line, 'git pull' will fetch all the " -"<refspec>s it finds in the `remote.<repository>.fetch` configuration and " -"merge only the first <refspec> found into the current branch. This is " -"because making an Octopus from remote refs is rarely done, while keeping " -"track of multiple remote heads in one-go by fetching more than one is often " -"useful." +"This should not be confused with the 'ours' merge strategy, which does not " +"even look at what the other tree contains at all. It discards everything " +"the other tree did, declaring 'our' history contains all that happened in it." msgstr "" -#. type: Title - -#: en/revisions.txt:2 +#. type: Labeled list +#: en/merge-strategies.txt:41 #, no-wrap -msgid "SPECIFYING REVISIONS" +msgid "theirs" msgstr "" #. type: Plain text -#: en/revisions.txt:9 -msgid "" -"A revision parameter '<rev>' typically, but not necessarily, names a commit " -"object. It uses what is called an 'extended SHA-1' syntax. Here are " -"various ways to spell object names. The ones listed near the end of this " -"list name trees and blobs contained in a commit." +#: en/merge-strategies.txt:43 +msgid "This is the opposite of 'ours'." msgstr "" #. type: Labeled list -#: en/revisions.txt:10 +#: en/merge-strategies.txt:44 #, no-wrap -msgid "'<sha1>', e.g. 'dae86e1950b1277e545cee180551750029cfe735', 'dae86e'" +msgid "patience" msgstr "" #. type: Plain text -#: en/revisions.txt:16 +#: en/merge-strategies.txt:50 msgid "" -"The full SHA-1 object name (40-byte hexadecimal string), or a leading " -"substring that is unique within the repository. E.g. " -"dae86e1950b1277e545cee180551750029cfe735 and dae86e both name the same " -"commit object if there is no other object in your repository whose object " -"name starts with dae86e." +"With this option, 'merge-recursive' spends a little extra time to avoid " +"mismerges that sometimes occur due to unimportant matching lines (e.g., " +"braces from distinct functions). Use this when the branches to be merged " +"have diverged wildly. See also linkgit:git-diff[1] `--patience`." msgstr "" #. type: Labeled list -#: en/revisions.txt:17 +#: en/merge-strategies.txt:51 #, no-wrap -msgid "'<describeOutput>', e.g. 'v1.7.4.2-679-g3bee7fb'" +msgid "diff-algorithm=[patience|minimal|histogram|myers]" msgstr "" #. type: Plain text -#: en/revisions.txt:21 +#: en/merge-strategies.txt:56 msgid "" -"Output from `git describe`; i.e. a closest tag, optionally followed by a " -"dash and a number of commits, followed by a dash, a 'g', and an abbreviated " -"object name." +"Tells 'merge-recursive' to use a different diff algorithm, which can help " +"avoid mismerges that occur due to unimportant matching lines (such as braces " +"from distinct functions). See also linkgit:git-diff[1] `--diff-algorithm`." msgstr "" #. type: Labeled list -#: en/revisions.txt:22 +#: en/merge-strategies.txt:57 #, no-wrap -msgid "'<refname>', e.g. 'master', 'heads/master', 'refs/heads/master'" +msgid "ignore-space-change" msgstr "" -#. type: Plain text -#: en/revisions.txt:29 -msgid "" -"A symbolic ref name. E.g. 'master' typically means the commit object " -"referenced by 'refs/heads/master'. If you happen to have both 'heads/" -"master' and 'tags/master', you can explicitly say 'heads/master' to tell Git " -"which one you mean. When ambiguous, a '<refname>' is disambiguated by " -"taking the first match in the following rules:" +#. type: Labeled list +#: en/merge-strategies.txt:58 +#, no-wrap +msgid "ignore-all-space" msgstr "" -#. type: Plain text -#: en/revisions.txt:33 -msgid "" -"If '$GIT_DIR/<refname>' exists, that is what you mean (this is usually " -"useful only for `HEAD`, `FETCH_HEAD`, `ORIG_HEAD`, `MERGE_HEAD` and " -"`CHERRY_PICK_HEAD`);" +#. type: Labeled list +#: en/merge-strategies.txt:59 +#, no-wrap +msgid "ignore-space-at-eol" msgstr "" #. type: Plain text -#: en/revisions.txt:35 -msgid "otherwise, 'refs/<refname>' if it exists;" +#: en/merge-strategies.txt:65 +msgid "" +"Treats lines with the indicated type of whitespace change as unchanged for " +"the sake of a three-way merge. Whitespace changes mixed with other changes " +"to a line are not ignored. See also linkgit:git-diff[1] `-b`, `-w`, and `--" +"ignore-space-at-eol`." msgstr "" #. type: Plain text -#: en/revisions.txt:37 -msgid "otherwise, 'refs/tags/<refname>' if it exists;" +#: en/merge-strategies.txt:68 +msgid "" +"If 'their' version only introduces whitespace changes to a line, 'our' " +"version is used;" msgstr "" #. type: Plain text -#: en/revisions.txt:39 -msgid "otherwise, 'refs/heads/<refname>' if it exists;" +#: en/merge-strategies.txt:70 +msgid "" +"If 'our' version introduces whitespace changes but 'their' version includes " +"a substantial change, 'their' version is used;" msgstr "" #. type: Plain text -#: en/revisions.txt:41 -msgid "otherwise, 'refs/remotes/<refname>' if it exists;" +#: en/merge-strategies.txt:71 +msgid "Otherwise, the merge proceeds in the usual way." msgstr "" -#. type: Plain text -#: en/revisions.txt:43 -msgid "otherwise, 'refs/remotes/<refname>/HEAD' if it exists." +#. type: Labeled list +#: en/merge-strategies.txt:72 +#, no-wrap +msgid "renormalize" msgstr "" #. type: Plain text -#: en/revisions.txt:55 +#: en/merge-strategies.txt:79 msgid "" -"`HEAD` names the commit on which you based the changes in the working tree. " -"`FETCH_HEAD` records the branch which you fetched from a remote repository " -"with your last `git fetch` invocation. `ORIG_HEAD` is created by commands " -"that move your `HEAD` in a drastic way, to record the position of the `HEAD` " -"before their operation, so that you can easily change the tip of the branch " -"back to the state before you ran them. `MERGE_HEAD` records the commit(s) " -"which you are merging into your branch when you run `git merge`. " -"`CHERRY_PICK_HEAD` records the commit which you are cherry-picking when you " -"run `git cherry-pick`." +"This runs a virtual check-out and check-in of all three stages of a file " +"when resolving a three-way merge. This option is meant to be used when " +"merging branches with different clean filters or end-of-line normalization " +"rules. See \"Merging branches with differing checkin/checkout attributes\" " +"in linkgit:gitattributes[5] for details." +msgstr "" + +#. type: Labeled list +#: en/merge-strategies.txt:80 +#, no-wrap +msgid "no-renormalize" msgstr "" #. type: Plain text -#: en/revisions.txt:60 +#: en/merge-strategies.txt:83 msgid "" -"Note that any of the 'refs/*' cases above may come either from the '$GIT_DIR/" -"refs' directory or from the '$GIT_DIR/packed-refs' file. While the ref name " -"encoding is unspecified, UTF-8 is preferred as some output processing may " -"assume ref names in UTF-8." +"Disables the `renormalize` option. This overrides the `merge.renormalize` " +"configuration variable." msgstr "" #. type: Labeled list -#: en/revisions.txt:61 +#: en/merge-strategies.txt:84 #, no-wrap -msgid "'@'" +msgid "no-renames" msgstr "" #. type: Plain text -#: en/revisions.txt:63 -msgid "'@' alone is a shortcut for `HEAD`." +#: en/merge-strategies.txt:87 +msgid "" +"Turn off rename detection. See also linkgit:git-diff[1] `--no-renames`." msgstr "" #. type: Labeled list -#: en/revisions.txt:64 +#: en/merge-strategies.txt:88 #, no-wrap -msgid "'<refname>@{<date>}', e.g. 'master@\\{yesterday\\}', 'HEAD@{5 minutes ago}'" +msgid "find-renames[=<n>]" msgstr "" #. type: Plain text -#: en/revisions.txt:75 +#: en/merge-strategies.txt:92 msgid "" -"A ref followed by the suffix '@' with a date specification enclosed in a " -"brace pair (e.g. '\\{yesterday\\}', '{1 month 2 weeks 3 days 1 hour 1 second " -"ago}' or '{1979-02-26 18:30:00}') specifies the value of the ref at a prior " -"point in time. This suffix may only be used immediately following a ref " -"name and the ref must have an existing log ('$GIT_DIR/logs/<ref>'). Note " -"that this looks up the state of your *local* ref at a given time; e.g., what " -"was in your local 'master' branch last week. If you want to look at commits " -"made during certain times, see `--since` and `--until`." +"Turn on rename detection, optionally setting the similarity threshold. This " +"is the default. See also linkgit:git-diff[1] `--find-renames`." msgstr "" #. type: Labeled list -#: en/revisions.txt:76 +#: en/merge-strategies.txt:93 #, no-wrap -msgid "'<refname>@{<n>}', e.g. 'master@\\{1\\}'" +msgid "rename-threshold=<n>" msgstr "" #. type: Plain text -#: en/revisions.txt:84 -msgid "" -"A ref followed by the suffix '@' with an ordinal specification enclosed in a " -"brace pair (e.g. '\\{1\\}', '\\{15\\}') specifies the n-th prior value of " -"that ref. For example 'master@\\{1\\}' is the immediate prior value of " -"'master' while 'master@\\{5\\}' is the 5th prior value of 'master'. This " -"suffix may only be used immediately following a ref name and the ref must " -"have an existing log ('$GIT_DIR/logs/<refname>')." +#: en/merge-strategies.txt:95 +msgid "Deprecated synonym for `find-renames=<n>`." msgstr "" #. type: Labeled list -#: en/revisions.txt:85 +#: en/merge-strategies.txt:96 #, no-wrap -msgid "'@{<n>}', e.g. '@\\{1\\}'" +msgid "subtree[=<path>]" msgstr "" #. type: Plain text -#: en/revisions.txt:89 +#: en/merge-strategies.txt:102 msgid "" -"You can use the '@' construct with an empty ref part to get at a reflog " -"entry of the current branch. For example, if you are on branch 'blabla' then " -"'@\\{1\\}' means the same as 'blabla@\\{1\\}'." +"This option is a more advanced form of 'subtree' strategy, where the " +"strategy makes a guess on how two trees must be shifted to match with each " +"other when merging. Instead, the specified path is prefixed (or stripped " +"from the beginning) to make the shape of two trees to match." msgstr "" #. type: Labeled list -#: en/revisions.txt:90 +#: en/merge-strategies.txt:103 #, no-wrap -msgid "'@{-<n>}', e.g. '@{-1}'" +msgid "octopus" msgstr "" #. type: Plain text -#: en/revisions.txt:93 +#: en/merge-strategies.txt:109 msgid "" -"The construct '@{-<n>}' means the <n>th branch/commit checked out before the " -"current one." +"This resolves cases with more than two heads, but refuses to do a complex " +"merge that needs manual resolution. It is primarily meant to be used for " +"bundling topic branch heads together. This is the default merge strategy " +"when pulling or merging more than one branch." +msgstr "" + +#. type: Plain text +#: en/merge-strategies.txt:117 +msgid "" +"This resolves any number of heads, but the resulting tree of the merge is " +"always that of the current branch head, effectively ignoring all changes " +"from all other branches. It is meant to be used to supersede old " +"development history of side branches. Note that this is different from the -" +"Xours option to the 'recursive' merge strategy." msgstr "" #. type: Labeled list -#: en/revisions.txt:94 +#: en/merge-strategies.txt:118 #, no-wrap -msgid "'<branchname>@\\{upstream\\}', e.g. 'master@\\{upstream\\}', '@\\{u\\}'" +msgid "subtree" msgstr "" #. type: Plain text -#: en/revisions.txt:100 +#: en/merge-strategies.txt:124 msgid "" -"The suffix '@\\{upstream\\}' to a branchname (short form '<branchname>@\\{u" -"\\}') refers to the branch that the branch specified by branchname is set " -"to build on top of (configured with `branch.<name>.remote` and `branch." -"<name>.merge`). A missing branchname defaults to the current one." +"This is a modified recursive strategy. When merging trees A and B, if B " +"corresponds to a subtree of A, B is first adjusted to match the tree " +"structure of A, instead of reading the trees at the same level. This " +"adjustment is also done to the common ancestor tree." msgstr "" -#. type: Labeled list -#: en/revisions.txt:101 -#, no-wrap -msgid "'<branchname>@\\{push\\}', e.g. 'master@\\{push\\}', '@\\{push\\}'" +#. type: Plain text +#: en/merge-strategies.txt:131 +msgid "" +"With the strategies that use 3-way merge (including the default, " +"'recursive'), if a change is made on both branches, but later reverted on " +"one of the branches, that change will be present in the merged result; some " +"people find this behavior confusing. It occurs because only the heads and " +"the merge base are considered when performing a merge, not the individual " +"commits. The merge algorithm therefore considers the reverted change as no " +"change at all, and substitutes the changed version instead." msgstr "" #. type: Plain text -#: en/revisions.txt:107 -msgid "" -"The suffix '@\\{push}' reports the branch \"where we would push to\" if `git " -"push` were run while `branchname` was checked out (or the current `HEAD` if " -"no branchname is specified). Since our push destination is in a remote " -"repository, of course, we report the local tracking branch that corresponds " -"to that branch (i.e., something in 'refs/remotes/')." +#: en/mergetools-merge.txt:2 +msgid "araxis" msgstr "" #. type: Plain text -#: en/revisions.txt:109 -msgid "Here's an example to make it more clear:" +#: en/mergetools-merge.txt:3 +msgid "bc" msgstr "" -#. type: delimited block - -#: en/revisions.txt:114 -#, no-wrap -msgid "" -"$ git config push.default current\n" -"$ git config remote.pushdefault myfork\n" -"$ git checkout -b mybranch origin/master\n" +#. type: Plain text +#: en/mergetools-merge.txt:4 +msgid "bc3" +msgstr "" + +#. type: Plain text +#: en/mergetools-merge.txt:5 +msgid "codecompare" +msgstr "" + +#. type: Plain text +#: en/mergetools-merge.txt:6 +msgid "deltawalker" msgstr "" -#. type: delimited block - -#: en/revisions.txt:117 -#, no-wrap -msgid "" -"$ git rev-parse --symbolic-full-name @{upstream}\n" -"refs/remotes/origin/master\n" +#. type: Plain text +#: en/mergetools-merge.txt:7 +#, fuzzy +#| msgid "diff" +msgid "diffmerge" +msgstr "diff" + +#. type: Plain text +#: en/mergetools-merge.txt:8 +#, fuzzy +#| msgid "diff" +msgid "diffuse" +msgstr "diff" + +#. type: Plain text +#: en/mergetools-merge.txt:9 +msgid "ecmerge" +msgstr "" + +#. type: Plain text +#: en/mergetools-merge.txt:10 +#, fuzzy +#| msgid "git-commit(1)" +msgid "emerge" +msgstr "git-commit(1)" + +#. type: Plain text +#: en/mergetools-merge.txt:11 +#, fuzzy +#| msgid "diff" +msgid "examdiff" +msgstr "diff" + +#. type: Plain text +#: en/mergetools-merge.txt:12 +msgid "guiffy" msgstr "" -#. type: delimited block - -#: en/revisions.txt:120 -#, no-wrap -msgid "" -"$ git rev-parse --symbolic-full-name @{push}\n" -"refs/remotes/myfork/mybranch\n" -msgstr "" +#. type: Plain text +#: en/mergetools-merge.txt:13 +#, fuzzy +#| msgid "diff" +msgid "gvimdiff" +msgstr "diff" #. type: Plain text -#: en/revisions.txt:125 -msgid "" -"Note in the example that we set up a triangular workflow, where we pull from " -"one location and push to another. In a non-triangular workflow, '@\\{push}' " -"is the same as '@\\{upstream}', and there is no need for it." -msgstr "" +#: en/mergetools-merge.txt:14 +#, fuzzy +#| msgid "diff" +msgid "gvimdiff2" +msgstr "diff" -#. type: Labeled list -#: en/revisions.txt:126 -#, no-wrap -msgid "'<rev>{caret}', e.g. 'HEAD{caret}, v1.5.1{caret}0'" -msgstr "" +#. type: Plain text +#: en/mergetools-merge.txt:15 +#, fuzzy +#| msgid "diff" +msgid "gvimdiff3" +msgstr "diff" #. type: Plain text -#: en/revisions.txt:133 -msgid "" -"A suffix '{caret}' to a revision parameter means the first parent of that " -"commit object. '{caret}<n>' means the <n>th parent (i.e. '<rev>{caret}' is " -"equivalent to '<rev>{caret}1'). As a special rule, '<rev>{caret}0' means " -"the commit itself and is used when '<rev>' is the object name of a tag " -"object that refers to a commit object." -msgstr "" +#: en/mergetools-merge.txt:16 +#, fuzzy +#| msgid "diff" +msgid "kdiff3" +msgstr "diff" -#. type: Labeled list -#: en/revisions.txt:134 -#, no-wrap -msgid "'<rev>{tilde}<n>', e.g. 'master{tilde}3'" +#. type: Plain text +#: en/mergetools-merge.txt:17 +msgid "meld" msgstr "" #. type: Plain text -#: en/revisions.txt:141 -msgid "" -"A suffix '{tilde}<n>' to a revision parameter means the commit object that " -"is the <n>th generation ancestor of the named commit object, following only " -"the first parents. I.e. '<rev>{tilde}3' is equivalent to '<rev>{caret}" -"{caret}{caret}' which is equivalent to '<rev>{caret}1{caret}1{caret}1'. See " -"below for an illustration of the usage of this form." -msgstr "" +#: en/mergetools-merge.txt:18 +#, fuzzy +#| msgid "diff" +msgid "opendiff" +msgstr "diff" -#. type: Labeled list -#: en/revisions.txt:142 -#, no-wrap -msgid "'<rev>{caret}{<type>}', e.g. 'v0.99.8{caret}\\{commit\\}'" +#. type: Plain text +#: en/mergetools-merge.txt:19 +msgid "p4merge" msgstr "" #. type: Plain text -#: en/revisions.txt:153 -msgid "" -"A suffix '{caret}' followed by an object type name enclosed in brace pair " -"means dereference the object at '<rev>' recursively until an object of type " -"'<type>' is found or the object cannot be dereferenced anymore (in which " -"case, barf). For example, if '<rev>' is a commit-ish, '<rev>{caret}\\{commit" -"\\}' describes the corresponding commit object. Similarly, if '<rev>' is a " -"tree-ish, '<rev>{caret}\\{tree\\}' describes the corresponding tree object. " -"'<rev>{caret}0' is a short-hand for '<rev>{caret}\\{commit\\}'." -msgstr "" +#: en/mergetools-merge.txt:20 +#, fuzzy +#| msgid "diff" +msgid "tkdiff" +msgstr "diff" #. type: Plain text -#: en/revisions.txt:158 -msgid "" -"'rev{caret}\\{object\\}' can be used to make sure 'rev' names an object that " -"exists, without requiring 'rev' to be a tag, and without dereferencing " -"'rev'; because a tag is already an object, it does not have to be " -"dereferenced even once to get to an object." +#: en/mergetools-merge.txt:21 +msgid "tortoisemerge" msgstr "" #. type: Plain text -#: en/revisions.txt:161 -msgid "" -"'rev{caret}\\{tag\\}' can be used to ensure that 'rev' identifies an " -"existing tag object." -msgstr "" +#: en/mergetools-merge.txt:22 +#, fuzzy +#| msgid "diff" +msgid "vimdiff" +msgstr "diff" -#. type: Labeled list -#: en/revisions.txt:162 -#, no-wrap -msgid "'<rev>{caret}{}', e.g. 'v0.99.8{caret}{}'" -msgstr "" +#. type: Plain text +#: en/mergetools-merge.txt:23 +#, fuzzy +#| msgid "diff" +msgid "vimdiff2" +msgstr "diff" #. type: Plain text -#: en/revisions.txt:167 -msgid "" -"A suffix '{caret}' followed by an empty brace pair means the object could be " -"a tag, and dereference the tag recursively until a non-tag object is found." -msgstr "" +#: en/mergetools-merge.txt:24 +#, fuzzy +#| msgid "diff" +msgid "vimdiff3" +msgstr "diff" -#. type: Labeled list -#: en/revisions.txt:168 -#, no-wrap -msgid "'<rev>{caret}{/<text>}', e.g. 'HEAD^{/fix nasty bug}'" -msgstr "" +#. type: Plain text +#: en/mergetools-merge.txt:25 +#, fuzzy +#| msgid "git-commit(1)" +msgid "winmerge" +msgstr "git-commit(1)" #. type: Plain text -#: en/revisions.txt:174 -msgid "" -"A suffix '{caret}' to a revision parameter, followed by a brace pair that " -"contains a text led by a slash, is the same as the ':/fix nasty bug' syntax " -"below except that it returns the youngest matching commit which is reachable " -"from the '<rev>' before '{caret}'." -msgstr "" +#: en/mergetools-merge.txt:25 +#, fuzzy +#| msgid "diff" +msgid "xxdiff" +msgstr "diff" -#. type: Labeled list -#: en/revisions.txt:175 -#, no-wrap -msgid "':/<text>', e.g. ':/fix nasty bug'" -msgstr "" +#. type: Title - +#: en/pretty-formats.txt:2 +#, fuzzy, no-wrap +#| msgid "DATE FORMATS" +msgid "PRETTY FORMATS" +msgstr "FORMATS DE DATE" #. type: Plain text -#: en/revisions.txt:185 +#: en/pretty-formats.txt:13 msgid "" -"A colon, followed by a slash, followed by a text, names a commit whose " -"commit message matches the specified regular expression. This name returns " -"the youngest matching commit which is reachable from any ref. The regular " -"expression can match any part of the commit message. To match messages " -"starting with a string, one can use e.g. ':/^foo'. The special sequence " -"':/!' is reserved for modifiers to what is matched. ':/!-foo' performs a " -"negative match, while ':/!!foo' matches a literal '!' character, followed by " -"'foo'. Any other sequence beginning with ':/!' is reserved for now." +"If the commit is a merge, and if the pretty-format is not 'oneline', 'email' " +"or 'raw', an additional line is inserted before the 'Author:' line. This " +"line begins with \"Merge: \" and the sha1s of ancestral commits are printed, " +"separated by spaces. Note that the listed commits may not necessarily be " +"the list of the *direct* parent commits if you have limited your view of " +"history: for example, if you are only interested in changes related to a " +"certain directory or file." msgstr "" -#. type: Labeled list -#: en/revisions.txt:186 -#, no-wrap -msgid "'<rev>:<path>', e.g. 'HEAD:README', ':README', 'master:./README'" +#. type: Plain text +#: en/pretty-formats.txt:20 +msgid "" +"There are several built-in formats, and you can define additional formats by " +"setting a pretty.<name> config option to either another format name, or a " +"'format:' string, as described below (see linkgit:git-config[1]). Here are " +"the details of the built-in formats:" msgstr "" #. type: Plain text -#: en/revisions.txt:197 -msgid "" -"A suffix ':' followed by a path names the blob or tree at the given path in " -"the tree-ish object named by the part before the colon. ':path' (with an " -"empty part before the colon) is a special case of the syntax described " -"next: content recorded in the index at the given path. A path starting with " -"'./' or '../' is relative to the current working directory. The given path " -"will be converted to be relative to the working tree's root directory. This " -"is most useful to address a blob or tree from a commit or tree that has the " -"same tree structure as the working tree." +#: en/pretty-formats.txt:22 +msgid "'oneline'" msgstr "" -#. type: Labeled list -#: en/revisions.txt:198 +#. type: Plain text +#: en/pretty-formats.txt:24 #, no-wrap -msgid "':<n>:<path>', e.g. ':0:README', ':README'" +msgid "<sha1> <title line>\n" msgstr "" #. type: Plain text -#: en/revisions.txt:206 -msgid "" -"A colon, optionally followed by a stage number (0 to 3) and a colon, " -"followed by a path, names a blob object in the index at the given path. A " -"missing stage number (and the colon that follows it) names a stage 0 entry. " -"During a merge, stage 1 is the common ancestor, stage 2 is the target " -"branch's version (typically the current branch), and stage 3 is the version " -"from the branch which is being merged." +#: en/pretty-formats.txt:26 +msgid "This is designed to be as compact as possible." msgstr "" #. type: Plain text -#: en/revisions.txt:210 -msgid "" -"Here is an illustration, by Jon Loeliger. Both commit nodes B and C are " -"parents of commit node A. Parent commits are ordered left-to-right." +#: en/pretty-formats.txt:28 +msgid "'short'" msgstr "" -#. type: delimited block . -#: en/revisions.txt:222 +#. type: Plain text +#: en/pretty-formats.txt:31 #, no-wrap msgid "" -"G H I J\n" -" \\ / \\ /\n" -" D E F\n" -" \\ | / \\\n" -" \\ | / |\n" -" \\|/ |\n" -" B C\n" -" \\ /\n" -" \\ /\n" -" A\n" +"commit <sha1>\n" +"Author: <author>\n" msgstr "" #. type: Plain text -#: en/revisions.txt:234 +#: en/pretty-formats.txt:33 en/pretty-formats.txt:41 en/pretty-formats.txt:51 +#: en/pretty-formats.txt:63 #, no-wrap -msgid "" -" A = = A^0\n" -" B = A^ = A^1 = A~1\n" -" C = A^2 = A^2\n" -" D = A^^ = A^1^1 = A~2\n" -" E = B^2 = A^^2\n" -" F = B^3 = A^^3\n" -" G = A^^^ = A^1^1^1 = A~3\n" -" H = D^2 = B^^2 = A^^^2 = A~2^2\n" -" I = F^ = B^3^ = A^^3^\n" -" J = F^2 = B^3^2 = A^^3^2\n" +msgid "<title line>\n" msgstr "" #. type: Plain text -#: en/revisions.txt:241 -msgid "" -"History traversing commands such as `git log` operate on a set of commits, " -"not just a single commit." +#: en/pretty-formats.txt:35 +msgid "'medium'" msgstr "" #. type: Plain text -#: en/revisions.txt:246 +#: en/pretty-formats.txt:39 +#, no-wrap msgid "" -"For these commands, specifying a single revision, using the notation " -"described in the previous section, means the set of commits `reachable` from " -"the given commit." +"commit <sha1>\n" +"Author: <author>\n" +"Date: <author date>\n" msgstr "" #. type: Plain text -#: en/revisions.txt:249 -msgid "" -"A commit's reachable set is the commit itself and the commits in its " -"ancestry chain." -msgstr "" - -#. type: Title ~ -#: en/revisions.txt:252 -#, no-wrap -msgid "Commit Exclusions" +#: en/pretty-formats.txt:43 en/pretty-formats.txt:53 en/pretty-formats.txt:65 +#: en/pretty-formats.txt:74 +msgid "<full commit message>" msgstr "" -#. type: Labeled list -#: en/revisions.txt:254 -#, no-wrap -msgid "'{caret}<rev>' (caret) Notation" +#. type: Plain text +#: en/pretty-formats.txt:45 +msgid "'full'" msgstr "" #. type: Plain text -#: en/revisions.txt:259 +#: en/pretty-formats.txt:49 +#, no-wrap msgid "" -"To exclude commits reachable from a commit, a prefix '{caret}' notation is " -"used. E.g. '{caret}r1 r2' means commits reachable from 'r2' but exclude the " -"ones reachable from 'r1' (i.e. 'r1' and its ancestors)." +"commit <sha1>\n" +"Author: <author>\n" +"Commit: <committer>\n" msgstr "" -#. type: Title ~ -#: en/revisions.txt:261 -#, no-wrap -msgid "Dotted Range Notations" +#. type: Plain text +#: en/pretty-formats.txt:55 +msgid "'fuller'" msgstr "" -#. type: Labeled list -#: en/revisions.txt:263 +#. type: Plain text +#: en/pretty-formats.txt:61 #, no-wrap -msgid "The '..' (two-dot) Range Notation" +msgid "" +"commit <sha1>\n" +"Author: <author>\n" +"AuthorDate: <author date>\n" +"Commit: <committer>\n" +"CommitDate: <committer date>\n" msgstr "" #. type: Plain text -#: en/revisions.txt:269 -msgid "" -"The '{caret}r1 r2' set operation appears so often that there is a shorthand " -"for it. When you have two commits 'r1' and 'r2' (named according to the " -"syntax explained in SPECIFYING REVISIONS above), you can ask for commits " -"that are reachable from r2 excluding those that are reachable from r1 by " -"'{caret}r1 r2' and it can be written as 'r1..r2'." +#: en/pretty-formats.txt:67 +msgid "'email'" msgstr "" -#. type: Labeled list -#: en/revisions.txt:270 +#. type: Plain text +#: en/pretty-formats.txt:72 #, no-wrap -msgid "The '...' (three dot) Symmetric Difference Notation" +msgid "" +"From <sha1> <date>\n" +"From: <author>\n" +"Date: <author date>\n" +"Subject: [PATCH] <title line>\n" msgstr "" #. type: Plain text -#: en/revisions.txt:276 -msgid "" -"A similar notation 'r1\\...r2' is called symmetric difference of 'r1' and " -"'r2' and is defined as 'r1 r2 --not $(git merge-base --all r1 r2)'. It is " -"the set of commits that are reachable from either one of 'r1' (left side) or " -"'r2' (right side) but not from both." +#: en/pretty-formats.txt:76 +msgid "'raw'" msgstr "" #. type: Plain text -#: en/revisions.txt:283 +#: en/pretty-formats.txt:86 msgid "" -"In these two shorthand notations, you can omit one end and let it default to " -"HEAD. For example, 'origin..' is a shorthand for 'origin..HEAD' and asks " -"\"What did I do since I forked from the origin branch?\" Similarly, '.." -"origin' is a shorthand for 'HEAD..origin' and asks \"What did the origin do " -"since I forked from them?\" Note that '..' would mean 'HEAD..HEAD' which is " -"an empty range that is both reachable and unreachable from HEAD." +"The 'raw' format shows the entire commit exactly as stored in the commit " +"object. Notably, the SHA-1s are displayed in full, regardless of whether --" +"abbrev or --no-abbrev are used, and 'parents' information show the true " +"parent commits, without taking grafts or history simplification into " +"account. Note that this format affects the way commits are displayed, but " +"not the way the diff is shown e.g. with `git log --raw`. To get full object " +"names in a raw diff format, use `--no-abbrev`." msgstr "" -#. type: Title ~ -#: en/revisions.txt:285 -#, no-wrap -msgid "Other <rev>{caret} Parent Shorthand Notations" -msgstr "" +#. type: Plain text +#: en/pretty-formats.txt:88 +#, fuzzy +#| msgid "Configuration" +msgid "'format:<string>'" +msgstr "Configuration" #. type: Plain text -#: en/revisions.txt:288 +#: en/pretty-formats.txt:93 msgid "" -"Three other shorthands exist, particularly useful for merge commits, for " -"naming a set that is formed by a commit and its parent commits." +"The 'format:<string>' format allows you to specify which information you " +"want to show. It works a little bit like printf format, with the notable " +"exception that you get a newline with '%n' instead of '\\n'." msgstr "" #. type: Plain text -#: en/revisions.txt:290 -msgid "The 'r1{caret}@' notation means all parents of 'r1'." +#: en/pretty-formats.txt:96 +msgid "" +"E.g, 'format:\"The author of %h was %an, %ar%nThe title was >>%s<<%n\"' " +"would show something like this:" msgstr "" -#. type: Plain text -#: en/revisions.txt:293 +#. type: delimited block - +#: en/pretty-formats.txt:100 +#, no-wrap msgid "" -"The 'r1{caret}!' notation includes commit 'r1' but excludes all of its " -"parents. By itself, this notation denotes the single commit 'r1'." +"The author of fe6e0ee was Junio C Hamano, 23 hours ago\n" +"The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<\n" msgstr "" #. type: Plain text -#: en/revisions.txt:300 -msgid "" -"The '<rev>{caret}-{<n>}' notation includes '<rev>' but excludes the <n>th " -"parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if " -"not given. This is typically useful for merge commits where you can just " -"pass '<commit>{caret}-' to get all the commits in the branch that was merged " -"in merge commit '<commit>' (including '<commit>' itself)." -msgstr "" +#: en/pretty-formats.txt:104 +#, fuzzy +#| msgid "The possible options are:\n" +msgid "The placeholders are:" +msgstr "Les options possibles sont :\n" #. type: Plain text -#: en/revisions.txt:304 -msgid "" -"While '<rev>{caret}<n>' was about specifying a single commit parent, these " -"three notations also consider its parents. For example you can say " -"'HEAD{caret}2{caret}@', however you cannot say 'HEAD{caret}@{caret}2'." +#: en/pretty-formats.txt:106 +msgid "'%H': commit hash" msgstr "" -#. type: Title - -#: en/revisions.txt:306 -#, no-wrap -msgid "Revision Range Summary" +#. type: Plain text +#: en/pretty-formats.txt:107 +msgid "'%h': abbreviated commit hash" msgstr "" -#. type: Labeled list -#: en/revisions.txt:308 -#, no-wrap -msgid "'<rev>'" +#. type: Plain text +#: en/pretty-formats.txt:108 +msgid "'%T': tree hash" msgstr "" #. type: Plain text -#: en/revisions.txt:311 -msgid "" -"Include commits that are reachable from <rev> (i.e. <rev> and its ancestors)." +#: en/pretty-formats.txt:109 +msgid "'%t': abbreviated tree hash" msgstr "" -#. type: Labeled list -#: en/revisions.txt:312 -#, no-wrap -msgid "'{caret}<rev>'" +#. type: Plain text +#: en/pretty-formats.txt:110 +msgid "'%P': parent hashes" msgstr "" #. type: Plain text -#: en/revisions.txt:315 -msgid "" -"Exclude commits that are reachable from <rev> (i.e. <rev> and its ancestors)." +#: en/pretty-formats.txt:111 +msgid "'%p': abbreviated parent hashes" msgstr "" -#. type: Labeled list -#: en/revisions.txt:316 -#, no-wrap -msgid "'<rev1>..<rev2>'" +#. type: Plain text +#: en/pretty-formats.txt:112 +msgid "'%an': author name" msgstr "" #. type: Plain text -#: en/revisions.txt:320 +#: en/pretty-formats.txt:114 msgid "" -"Include commits that are reachable from <rev2> but exclude those that are " -"reachable from <rev1>. When either <rev1> or <rev2> is omitted, it defaults " -"to `HEAD`." +"'%aN': author name (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" -#. type: Labeled list -#: en/revisions.txt:321 -#, no-wrap -msgid "'<rev1>\\...<rev2>'" +#. type: Plain text +#: en/pretty-formats.txt:115 +msgid "'%ae': author email" msgstr "" #. type: Plain text -#: en/revisions.txt:325 +#: en/pretty-formats.txt:117 msgid "" -"Include commits that are reachable from either <rev1> or <rev2> but exclude " -"those that are reachable from both. When either <rev1> or <rev2> is " -"omitted, it defaults to `HEAD`." +"'%aE': author email (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" -#. type: Labeled list -#: en/revisions.txt:326 -#, no-wrap -msgid "'<rev>{caret}@', e.g. 'HEAD{caret}@'" +#. type: Plain text +#: en/pretty-formats.txt:118 +msgid "'%ad': author date (format respects --date= option)" msgstr "" #. type: Plain text -#: en/revisions.txt:330 -msgid "" -"A suffix '{caret}' followed by an at sign is the same as listing all parents " -"of '<rev>' (meaning, include anything reachable from its parents, but not " -"the commit itself)." +#: en/pretty-formats.txt:119 +msgid "'%aD': author date, RFC2822 style" msgstr "" -#. type: Labeled list -#: en/revisions.txt:331 -#, no-wrap -msgid "'<rev>{caret}!', e.g. 'HEAD{caret}!'" +#. type: Plain text +#: en/pretty-formats.txt:120 +msgid "'%ar': author date, relative" msgstr "" #. type: Plain text -#: en/revisions.txt:335 -msgid "" -"A suffix '{caret}' followed by an exclamation mark is the same as giving " -"commit '<rev>' and then all its parents prefixed with '{caret}' to exclude " -"them (and their ancestors)." +#: en/pretty-formats.txt:121 +msgid "'%at': author date, UNIX timestamp" msgstr "" -#. type: Labeled list -#: en/revisions.txt:336 -#, no-wrap -msgid "'<rev>{caret}-{<n>}', e.g. 'HEAD{caret}-, HEAD{caret}-2'" +#. type: Plain text +#: en/pretty-formats.txt:122 +msgid "'%ai': author date, ISO 8601-like format" msgstr "" #. type: Plain text -#: en/revisions.txt:339 -msgid "Equivalent to '<rev>{caret}<n>..<rev>', with '<n>' = 1 if not given." +#: en/pretty-formats.txt:123 +msgid "'%aI': author date, strict ISO 8601 format" msgstr "" #. type: Plain text -#: en/revisions.txt:343 -msgid "" -"Here are a handful of examples using the Loeliger illustration above, with " -"each step in the notation's expansion and selection carefully spelt out:" +#: en/pretty-formats.txt:124 +msgid "'%cn': committer name" msgstr "" #. type: Plain text -#: en/revisions.txt:365 -#, no-wrap +#: en/pretty-formats.txt:126 msgid "" -" Args Expanded arguments Selected commits\n" -" D G H D\n" -" D F G H I J D F\n" -" ^G D H D\n" -" ^D B E I J F B\n" -" ^D B C E I J F B C\n" -" C I J F C\n" -" B..C = ^B C C\n" -" B...C = B ^F C G H D E B C\n" -" B^- = B^..B\n" -"\t = ^B^1 B E I J F B\n" -" C^@ = C^1\n" -"\t = F I J F\n" -" B^@ = B^1 B^2 B^3\n" -"\t = D E F D G H E F I J\n" -" C^! = C ^C^@\n" -"\t = C ^C^1\n" -"\t = C ^F C\n" -" B^! = B ^B^@\n" -"\t = B ^B^1 ^B^2 ^B^3\n" -"\t = B ^D ^E ^F B\n" -" F^! D = F ^I ^J D G H D F\n" +"'%cN': committer name (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:2 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Commit Limiting" -msgstr "Configuration" - #. type: Plain text -#: en/rev-list-options.txt:7 -msgid "" -"Besides specifying a range of commits that should be listed using the " -"special notations explained in the description, additional commit limiting " -"may be applied." +#: en/pretty-formats.txt:127 +msgid "'%ce': committer email" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:12 +#: en/pretty-formats.txt:129 msgid "" -"Using more options generally further limits the output (e.g. `--" -"since=<date1>` limits to commits newer than `<date1>`, and using it with `--" -"grep=<pattern>` further limits to commits whose log message has a line that " -"matches `<pattern>`), unless otherwise noted." +"'%cE': committer email (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:15 -msgid "" -"Note that these are applied before commit ordering and formatting options, " -"such as `--reverse`." +#: en/pretty-formats.txt:130 +msgid "'%cd': committer date (format respects --date= option)" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:18 -#, no-wrap -msgid "-<number>" +#. type: Plain text +#: en/pretty-formats.txt:131 +msgid "'%cD': committer date, RFC2822 style" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:19 -#, no-wrap -msgid "-n <number>" +#. type: Plain text +#: en/pretty-formats.txt:132 +msgid "'%cr': committer date, relative" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:20 -#, no-wrap -msgid "--max-count=<number>" +#. type: Plain text +#: en/pretty-formats.txt:133 +msgid "'%ct': committer date, UNIX timestamp" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:22 -#, fuzzy -#| msgid "but can be used to amend a merge commit." -msgid "Limit the number of commits to output." -msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." - -#. type: Labeled list -#: en/rev-list-options.txt:23 -#, no-wrap -msgid "--skip=<number>" +#: en/pretty-formats.txt:134 +msgid "'%ci': committer date, ISO 8601-like format" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:25 -msgid "Skip 'number' commits before starting to show the commit output." +#: en/pretty-formats.txt:135 +msgid "'%cI': committer date, strict ISO 8601 format" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:26 -#, no-wrap -msgid "--since=<date>" +#. type: Plain text +#: en/pretty-formats.txt:136 +msgid "'%d': ref names, like the --decorate option of linkgit:git-log[1]" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:27 -#, no-wrap -msgid "--after=<date>" +#. type: Plain text +#: en/pretty-formats.txt:137 +msgid "'%D': ref names without the \" (\", \")\" wrapping." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:29 -msgid "Show commits more recent than a specific date." +#: en/pretty-formats.txt:138 +msgid "'%e': encoding" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:30 -#, no-wrap -msgid "--until=<date>" +#. type: Plain text +#: en/pretty-formats.txt:139 +msgid "'%s': subject" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:31 -#, no-wrap -msgid "--before=<date>" +#. type: Plain text +#: en/pretty-formats.txt:140 +msgid "'%f': sanitized subject line, suitable for a filename" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:33 -msgid "Show commits older than a specific date." +#: en/pretty-formats.txt:141 +msgid "'%b': body" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:35 -#, no-wrap -msgid "--max-age=<timestamp>" +#. type: Plain text +#: en/pretty-formats.txt:142 +msgid "'%B': raw body (unwrapped subject and body)" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:36 -#, no-wrap -msgid "--min-age=<timestamp>" +#. type: Plain text +#: en/pretty-formats.txt:144 +msgid "'%N': commit notes" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:38 -msgid "Limit the commits output to specified time range." +#: en/pretty-formats.txt:146 +msgid "'%GG': raw verification message from GPG for a signed commit" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:40 -#, no-wrap -msgid "--author=<pattern>" +#. type: Plain text +#: en/pretty-formats.txt:154 +msgid "" +"'%G?': show \"G\" for a good (valid) signature, \"B\" for a bad signature, " +"\"U\" for a good signature with unknown validity, \"X\" for a good signature " +"that has expired, \"Y\" for a good signature made by an expired key, \"R\" " +"for a good signature made by a revoked key, \"E\" if the signature cannot be " +"checked (e.g. missing key) and \"N\" for no signature" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:41 -#, fuzzy, no-wrap -#| msgid "status" -msgid "--committer=<pattern>" -msgstr "status" +#. type: Plain text +#: en/pretty-formats.txt:155 +msgid "'%GS': show the name of the signer for a signed commit" +msgstr "" #. type: Plain text -#: en/rev-list-options.txt:47 -msgid "" -"Limit the commits output to ones with author/committer header lines that " -"match the specified pattern (regular expression). With more than one `--" -"author=<pattern>`, commits whose author matches any of the given patterns " -"are chosen (similarly for multiple `--committer=<pattern>`)." +#: en/pretty-formats.txt:156 +msgid "'%GK': show the key used to sign a signed commit" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:48 -#, no-wrap -msgid "--grep-reflog=<pattern>" +#. type: Plain text +#: en/pretty-formats.txt:161 +msgid "" +"'%gD': reflog selector, e.g., `refs/stash@{1}` or `refs/stash@{2 minutes " +"ago`}; the format follows the rules described for the `-g` option. The " +"portion before the `@` is the refname as given on the command line (so `git " +"log -g refs/heads/master` would yield `refs/heads/master@{0}`)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:54 +#: en/pretty-formats.txt:164 msgid "" -"Limit the commits output to ones with reflog entries that match the " -"specified pattern (regular expression). With more than one `--grep-reflog`, " -"commits whose reflog message matches any of the given patterns are chosen. " -"It is an error to use this option unless `--walk-reflogs` is in use." +"'%gd': shortened reflog selector; same as `%gD`, but the refname portion is " +"shortened for human readability (so `refs/heads/master` becomes just " +"`master`)." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:55 -#, no-wrap -msgid "--grep=<pattern>" +#. type: Plain text +#: en/pretty-formats.txt:165 +msgid "'%gn': reflog identity name" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:61 +#: en/pretty-formats.txt:167 msgid "" -"Limit the commits output to ones with log message that matches the specified " -"pattern (regular expression). With more than one `--grep=<pattern>`, " -"commits whose message matches any of the given patterns are chosen (but see " -"`--all-match`)." +"'%gN': reflog identity name (respecting .mailmap, see linkgit:git-" +"shortlog[1] or linkgit:git-blame[1])" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:65 -msgid "" -"When `--show-notes` is in effect, the message from the notes is matched as " -"if it were part of the log message." +#: en/pretty-formats.txt:168 +msgid "'%ge': reflog identity email" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:70 +#: en/pretty-formats.txt:170 msgid "" -"Limit the commits output to ones that match all given `--grep`, instead of " -"ones that match at least one." +"'%gE': reflog identity email (respecting .mailmap, see linkgit:git-" +"shortlog[1] or linkgit:git-blame[1])" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:71 -#, no-wrap -msgid "--invert-grep" +#. type: Plain text +#: en/pretty-formats.txt:171 +msgid "'%gs': reflog subject" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:74 -msgid "" -"Limit the commits output to ones with log message that do not match the " -"pattern specified with `--grep=<pattern>`." +#: en/pretty-formats.txt:172 +msgid "'%Cred': switch color to red" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:76 -#, fuzzy, no-wrap -#| msgid "whitespace" -msgid "--regexp-ignore-case" -msgstr "whitespace" - #. type: Plain text -#: en/rev-list-options.txt:79 -msgid "" -"Match the regular expression limiting patterns without regard to letter case." +#: en/pretty-formats.txt:173 +msgid "'%Cgreen': switch color to green" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:83 -msgid "" -"Consider the limiting patterns to be basic regular expressions; this is the " -"default." +#: en/pretty-formats.txt:174 +msgid "'%Cblue': switch color to blue" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:88 -msgid "" -"Consider the limiting patterns to be extended regular expressions instead of " -"the default basic regular expressions." +#: en/pretty-formats.txt:175 +msgid "'%Creset': reset color" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:93 +#: en/pretty-formats.txt:182 msgid "" -"Consider the limiting patterns to be fixed strings (don't interpret pattern " -"as a regular expression)." +"'%C(...)': color specification, as described under Values in the " +"\"CONFIGURATION FILE\" section of linkgit:git-config[1]; adding `auto,` at " +"the beginning will emit color only when colors are enabled for log output " +"(by `color.diff`, `color.ui`, or `--color`, and respecting the `auto` " +"settings of the former if we are going to a terminal). `auto` alone (i.e. `" +"%C(auto)`) will turn on auto coloring on the next placeholders until the " +"color is switched again." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:97 -msgid "" -"Consider the limiting patterns to be Perl-compatible regular expressions. " -"Requires libpcre to be compiled in." +#: en/pretty-formats.txt:183 +msgid "'%m': left (`<`), right (`>`) or boundary (`-`) mark" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:98 -#, no-wrap -msgid "--remove-empty" +#. type: Plain text +#: en/pretty-formats.txt:184 +msgid "'%n': newline" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:100 -msgid "Stop when a given path disappears from the tree." +#: en/pretty-formats.txt:185 +msgid "'%%': a raw '%'" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:101 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--merges" -msgstr "git-commit(1)" +#. type: Plain text +#: en/pretty-formats.txt:186 +msgid "'%x00': print a byte from a hex code" +msgstr "" #. type: Plain text -#: en/rev-list-options.txt:103 +#: en/pretty-formats.txt:188 msgid "" -"Print only merge commits. This is exactly the same as `--min-parents=2`." +"'%w([<w>[,<i1>[,<i2>]]])': switch line wrapping, like the -w option of " +"linkgit:git-shortlog[1]." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:104 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--no-merges" -msgstr "git-commit(1)" - #. type: Plain text -#: en/rev-list-options.txt:107 +#: en/pretty-formats.txt:193 msgid "" -"Do not print commits with more than one parent. This is exactly the same as " -"`--max-parents=1`." +"'%<(<N>[,trunc|ltrunc|mtrunc])': make the next placeholder take at least N " +"columns, padding spaces on the right if necessary. Optionally truncate at " +"the beginning (ltrunc), the middle (mtrunc) or the end (trunc) if the " +"output is longer than N columns. Note that truncating only works correctly " +"with N >= 2." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:108 -#, no-wrap -msgid "--min-parents=<number>" +#. type: Plain text +#: en/pretty-formats.txt:195 +msgid "" +"'%<|(<N>)': make the next placeholder take at least until Nth columns, " +"padding spaces on the right if necessary" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:109 -#, no-wrap -msgid "--max-parents=<number>" +#. type: Plain text +#: en/pretty-formats.txt:197 +msgid "" +"'%>(<N>)', '%>|(<N>)': similar to '%<(<N>)', '%<|(<N>)' respectively, but " +"padding spaces on the left" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:110 -#, no-wrap -msgid "--no-min-parents" +#. type: Plain text +#: en/pretty-formats.txt:200 +msgid "" +"'%>>(<N>)', '%>>|(<N>)': similar to '%>(<N>)', '%>|(<N>)' respectively, " +"except that if the next placeholder takes more spaces than given and there " +"are spaces on its left, use those spaces" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:111 -#, no-wrap -msgid "--no-max-parents" +#. type: Plain text +#: en/pretty-formats.txt:204 +msgid "" +"'%><(<N>)', '%><|(<N>)': similar to '% <(<N>)', '%<|(<N>)' respectively, but " +"padding both sides (i.e. the text is centered) -%(trailers): display the " +"trailers of the body as interpreted by linkgit:git-interpret-trailers[1]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:116 +#: en/pretty-formats.txt:211 msgid "" -"Show only commits which have at least (or at most) that many parent commits. " -"In particular, `--max-parents=1` is the same as `--no-merges`, `--min-" -"parents=2` is the same as `--merges`. `--max-parents=0` gives all root " -"commits and `--min-parents=3` all octopus merges." +"Some placeholders may depend on other options given to the revision " +"traversal engine. For example, the `%g*` reflog options will insert an empty " +"string unless we are traversing reflog entries (e.g., by `git log -g`). The `" +"%d` and `%D` placeholders will use the \"short\" decoration format if `--" +"decorate` was not already provided on the command line." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:120 +#: en/pretty-formats.txt:215 msgid "" -"`--no-min-parents` and `--no-max-parents` reset these limits (to no limit) " -"again. Equivalent forms are `--min-parents=0` (any commit has 0 or more " -"parents) and `--max-parents=-1` (negative numbers denote no upper limit)." +"If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is " +"inserted immediately before the expansion if and only if the placeholder " +"expands to a non-empty string." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:130 +#: en/pretty-formats.txt:219 msgid "" -"Follow only the first parent commit upon seeing a merge commit. This option " -"can give a better overview when viewing the evolution of a particular topic " -"branch, because merges into a topic branch tend to be only about adjusting " -"to updated upstream from time to time, and this option allows you to ignore " -"the individual commits brought in to your history by such a merge. Cannot be " -"combined with --bisect." +"If you add a `-` (minus sign) after '%' of a placeholder, line-feeds that " +"immediately precede the expansion are deleted if and only if the placeholder " +"expands to an empty string." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:134 +#: en/pretty-formats.txt:223 msgid "" -"Reverses the meaning of the '{caret}' prefix (or lack thereof) for all " -"following revision specifiers, up to the next `--not`." +"If you add a ` ` (space) after '%' of a placeholder, a space is inserted " +"immediately before the expansion if and only if the placeholder expands to a " +"non-empty string." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:138 +#: en/pretty-formats.txt:225 +#, fuzzy +#| msgid "Configuration" +msgid "'tformat:'" +msgstr "Configuration" + +#. type: Plain text +#: en/pretty-formats.txt:233 msgid "" -"Pretend as if all the refs in `refs/`, along with `HEAD`, are listed on the " -"command line as '<commit>'." +"The 'tformat:' format works exactly like 'format:', except that it provides " +"\"terminator\" semantics instead of \"separator\" semantics. In other words, " +"each commit has the message terminator character (usually a newline) " +"appended, rather than a separator placed between entries. This means that " +"the final entry of a single-line format will be properly terminated with a " +"new line, just as the \"oneline\" format does. For example:" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:139 +#. type: delimited block - +#: en/pretty-formats.txt:239 #, no-wrap -msgid "--branches[=<pattern>]" -msgstr "" - -#. type: Plain text -#: en/rev-list-options.txt:144 msgid "" -"Pretend as if all the refs in `refs/heads` are listed on the command line as " -"'<commit>'. If '<pattern>' is given, limit branches to ones matching given " -"shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the " -"end is implied." +"$ git log -2 --pretty=format:%h 4da45bef \\\n" +" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" +"4da45be\n" +"7134973 -- NO NEWLINE\n" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:145 +#. type: delimited block - +#: en/pretty-formats.txt:244 #, no-wrap -msgid "--tags[=<pattern>]" +msgid "" +"$ git log -2 --pretty=tformat:%h 4da45bef \\\n" +" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" +"4da45be\n" +"7134973\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:150 +#: en/pretty-formats.txt:249 msgid "" -"Pretend as if all the refs in `refs/tags` are listed on the command line as " -"'<commit>'. If '<pattern>' is given, limit tags to ones matching given shell " -"glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end " -"is implied." +"In addition, any unrecognized string that has a `%` in it is interpreted as " +"if it has `tformat:` in front of it. For example, these two are equivalent:" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:151 +#. type: delimited block - +#: en/pretty-formats.txt:253 #, no-wrap -msgid "--remotes[=<pattern>]" -msgstr "" - -#. type: Plain text -#: en/rev-list-options.txt:156 msgid "" -"Pretend as if all the refs in `refs/remotes` are listed on the command line " -"as '<commit>'. If '<pattern>' is given, limit remote-tracking branches to " -"ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', " -"'/{asterisk}' at the end is implied." +"$ git log -2 --pretty=tformat:%h 4da45bef\n" +"$ git log -2 --pretty=%h 4da45bef\n" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:157 +#: en/pretty-options.txt:1 #, no-wrap -msgid "--glob=<glob-pattern>" +msgid "--pretty[=<format>]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:162 +#: en/pretty-options.txt:10 msgid "" -"Pretend as if all the refs matching shell glob '<glob-pattern>' are listed " -"on the command line as '<commit>'. Leading 'refs/', is automatically " -"prepended if missing. If pattern lacks '?', '{asterisk}', or '[', '/" -"{asterisk}' at the end is implied." +"Pretty-print the contents of the commit logs in a given format, where " +"'<format>' can be one of 'oneline', 'short', 'medium', 'full', 'fuller', " +"'email', 'raw', 'format:<string>' and 'tformat:<string>'. When '<format>' " +"is none of the above, and has '%placeholder' in it, it acts as if '--" +"pretty=tformat:<format>' were given." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:178 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--reflog" -msgstr "git-commit(1)" - #. type: Plain text -#: en/rev-list-options.txt:181 +#: en/pretty-options.txt:13 msgid "" -"Pretend as if all objects mentioned by reflogs are listed on the command " -"line as `<commit>`." +"See the \"PRETTY FORMATS\" section for some additional details for each " +"format. When '=<format>' part is omitted, it defaults to 'medium'." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:185 +#: en/pretty-options.txt:16 +#, fuzzy +#| msgid "" +#| "The default can be changed by the `commit.cleanup` configuration variable " +#| "(see linkgit:git-config[1])." msgid "" -"Upon seeing an invalid object name in the input, pretend as if the bad input " -"was not given." +"Note: you can specify the default pretty format in the repository " +"configuration (see linkgit:git-config[1])." msgstr "" +"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " +"`commit.cleanup` (voir linkgit:git-config[1])." #. type: Labeled list -#: en/rev-list-options.txt:187 en/rev-list-options.txt:569 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--bisect" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/rev-list-options.txt:192 -msgid "" -"Pretend as if the bad bisection ref `refs/bisect/bad` was listed and as if " -"it was followed by `--not` and the good bisection refs `refs/bisect/good-*` " -"on the command line. Cannot be combined with --first-parent." +#: en/pretty-options.txt:17 +#, no-wrap +msgid "--abbrev-commit" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:199 +#: en/pretty-options.txt:22 msgid "" -"In addition to the '<commit>' listed on the command line, read them from the " -"standard input. If a `--` separator is seen, stop reading commits and start " -"reading paths to limit the result." +"Instead of showing the full 40-byte hexadecimal commit object name, show " +"only a partial prefix. Non default number of digits can be specified with " +"\"--abbrev=<n>\" (which also modifies diff output, if it is displayed)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:207 +#: en/pretty-options.txt:25 msgid "" -"Don't print anything to standard output. This form is primarily meant to " -"allow the caller to test the exit status to see if a range of objects is " -"fully connected (or not). It is faster than redirecting stdout to `/dev/" -"null` as the output does not have to be formatted." +"This should make \"--pretty=oneline\" a whole lot more readable for people " +"using 80-column terminals." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:209 +#: en/pretty-options.txt:26 #, no-wrap -msgid "--cherry-mark" +msgid "--no-abbrev-commit" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:212 +#: en/pretty-options.txt:30 msgid "" -"Like `--cherry-pick` (see below) but mark equivalent commits with `=` rather " -"than omitting them, and inequivalent ones with `+`." +"Show the full 40-byte hexadecimal commit object name. This negates `--abbrev-" +"commit` and those options which imply it such as \"--oneline\". It also " +"overrides the `log.abbrevCommit` variable." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:213 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--cherry-pick" -msgstr "git-commit(1)" - #. type: Plain text -#: en/rev-list-options.txt:217 +#: en/pretty-options.txt:34 msgid "" -"Omit any commit that introduces the same change as another commit on the " -"``other side'' when the set of commits are limited with symmetric difference." +"This is a shorthand for \"--pretty=oneline --abbrev-commit\" used together." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:225 +#: en/pretty-options.txt:44 msgid "" -"For example, if you have two branches, `A` and `B`, a usual way to list all " -"commits on only one side of them is with `--left-right` (see the example " -"below in the description of the `--left-right` option). However, it shows " -"the commits that were cherry-picked from the other branch (for example, " -"``3rd on b'' may be cherry-picked from branch A). With this option, such " -"pairs of commits are excluded from the output." +"The commit objects record the encoding used for the log message in their " +"encoding header; this option can be used to tell the command to re-code the " +"commit log message in the encoding preferred by the user. For non plumbing " +"commands this defaults to UTF-8. Note that if an object claims to be encoded " +"in `X` and we are outputting in `X`, we will output the object verbatim; " +"this means that invalid sequences in the original commit may be copied to " +"the output." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:226 +#: en/pretty-options.txt:45 #, no-wrap -msgid "--left-only" +msgid "--expand-tabs=<n>" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:227 +#: en/pretty-options.txt:46 #, no-wrap -msgid "--right-only" +msgid "--expand-tabs" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:231 -msgid "" -"List only commits on the respective side of a symmetric difference, i.e. " -"only those which would be marked `<` resp. `>` by `--left-right`." +#. type: Labeled list +#: en/pretty-options.txt:47 +#, no-wrap +msgid "--no-expand-tabs" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:237 +#: en/pretty-options.txt:54 msgid "" -"For example, `--cherry-pick --right-only A...B` omits those commits from `B` " -"which are in `A` or are patch-equivalent to a commit in `A`. In other words, " -"this lists the `+` commits from `git cherry A B`. More precisely, `--cherry-" -"pick --right-only --no-merges` gives the exact list." +"Perform a tab expansion (replace each tab with enough spaces to fill to the " +"next display column that is multiple of '<n>') in the log message before " +"showing it in the output. `--expand-tabs` is a short-hand for `--expand-" +"tabs=8`, and `--no-expand-tabs` is a short-hand for `--expand-tabs=0`, which " +"disables tab expansion." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:238 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "--cherry" -msgstr "git-commit(1)" - #. type: Plain text -#: en/rev-list-options.txt:244 +#: en/pretty-options.txt:58 msgid "" -"A synonym for `--right-only --cherry-mark --no-merges`; useful to limit the " -"output to the commits on our side and mark those that have been applied to " -"the other side of a forked history with `git log --cherry upstream..." -"mybranch`, similar to `git cherry upstream mybranch`." +"By default, tabs are expanded in pretty formats that indent the log message " +"by 4 spaces (i.e. 'medium', which is the default, 'full', and 'fuller')." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:246 +#: en/pretty-options.txt:60 #, no-wrap -msgid "--walk-reflogs" +msgid "--notes[=<treeish>]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:252 +#: en/pretty-options.txt:66 msgid "" -"Instead of walking the commit ancestry chain, walk reflog entries from the " -"most recent one to older ones. When this option is used you cannot specify " -"commits to exclude (that is, '{caret}commit', 'commit1..commit2', and " -"'commit1\\...commit2' notations cannot be used)." +"Show the notes (see linkgit:git-notes[1]) that annotate the commit, when " +"showing the commit log message. This is the default for `git log`, `git " +"show` and `git whatchanged` commands when there is no `--pretty`, `--" +"format`, or `--oneline` option given on the command line." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:259 +#: en/pretty-options.txt:70 msgid "" -"With `--pretty` format other than `oneline` (for obvious reasons), this " -"causes the output to have two extra lines of information taken from the " -"reflog. The reflog designator in the output may be shown as `ref@{Nth}` " -"(where `Nth` is the reverse-chronological index in the reflog) or as " -"`ref@{timestamp}` (with the timestamp for that entry), depending on a few " -"rules:" +"By default, the notes shown are from the notes refs listed in the `core." +"notesRef` and `notes.displayRef` variables (or corresponding environment " +"overrides). See linkgit:git-config[1] for more details." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:263 +#: en/pretty-options.txt:75 msgid "" -"If the starting point is specified as `ref@{Nth}`, show the index format." +"With an optional '<treeish>' argument, use the treeish to find the notes to " +"display. The treeish can specify the full refname when it begins with `refs/" +"notes/`; when it begins with `notes/`, `refs/` and otherwise `refs/notes/` " +"is prefixed to form a full name of the ref." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:266 +#: en/pretty-options.txt:80 msgid "" -"If the starting point was specified as `ref@{now}`, show the timestamp " -"format." +"Multiple --notes options can be combined to control which notes are being " +"displayed. Examples: \"--notes=foo\" will show only notes from \"refs/notes/" +"foo\"; \"--notes=foo --notes\" will show both notes from \"refs/notes/foo\" " +"and from the default notes ref(s)." +msgstr "" + +#. type: Labeled list +#: en/pretty-options.txt:81 +#, no-wrap +msgid "--no-notes" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:269 +#: en/pretty-options.txt:87 msgid "" -"If neither was used, but `--date` was given on the command line, show the " -"timestamp in the format requested by `--date`." +"Do not show notes. This negates the above `--notes` option, by resetting the " +"list of notes refs from which notes are shown. Options are parsed in the " +"order given on the command line, so e.g. \"--notes --notes=foo --no-notes --" +"notes=bar\" will only show notes from \"refs/notes/bar\"." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:271 -msgid "Otherwise, show the index format." +#. type: Labeled list +#: en/pretty-options.txt:88 +#, no-wrap +msgid "--show-notes[=<treeish>]" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:277 -msgid "" -"Under `--pretty=oneline`, the commit message is prefixed with this " -"information on the same line. This option cannot be combined with `--" -"reverse`. See also linkgit:git-reflog[1]." +#. type: Labeled list +#: en/pretty-options.txt:89 +#, no-wrap +msgid "--[no-]standard-notes" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:281 +#: en/pretty-options.txt:92 msgid "" -"After a failed merge, show refs that touch files having a conflict and don't " -"exist on all heads to merge." +"These options are deprecated. Use the above --notes/--no-notes options " +"instead." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:282 -#, no-wrap -msgid "--boundary" +#: en/pretty-options.txt:94 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "--show-signature" +msgstr "Configuration" + +#. type: Plain text +#: en/pretty-options.txt:96 +msgid "" +"Check the validity of a signed commit object by passing the signature to " +"`gpg --verify` and show the output." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:285 +#: en/pull-fetch-param.txt:6 msgid "" -"Output excluded boundary commits. Boundary commits are prefixed with `-`." +"The \"remote\" repository that is the source of a fetch or pull operation. " +"This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) " +"or the name of a remote (see the section <<REMOTES,REMOTES>> below)." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:287 +#: en/pull-fetch-param.txt:8 #, no-wrap -msgid "--use-bitmap-index" +msgid "<group>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:292 +#: en/pull-fetch-param.txt:12 +#, fuzzy +#| msgid "" +#| "The default can be changed by the `commit.cleanup` configuration variable " +#| "(see linkgit:git-config[1])." msgid "" -"Try to speed up the traversal using the pack bitmap index (if one is " -"available). Note that when traversing with `--objects`, trees and blobs will " -"not have their associated path printed." +"A name referring to a list of repositories as the value of remotes.<group> " +"in the configuration file. (See linkgit:git-config[1])." msgstr "" +"La valeur par d챕faut peut 챗tre modifi챕e par la variable de configuration " +"`commit.cleanup` (voir linkgit:git-config[1])." #. type: Labeled list -#: en/rev-list-options.txt:293 +#: en/pull-fetch-param.txt:14 #, no-wrap -msgid "--progress=<header>" +msgid "<refspec>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:296 +#: en/pull-fetch-param.txt:18 msgid "" -"Show progress reports on stderr as objects are considered. The `<header>` " -"text will be printed with each progress update." +"Specifies which refs to fetch and which local refs to update. When no " +"<refspec>s appear on the command line, the refs to fetch are read from " +"`remote.<repository>.fetch` variables instead" msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:301 +#. type: Plain text +#: en/pull-fetch-param.txt:20 #, no-wrap -msgid "History Simplification" +msgid "\t(see <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> below).\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:307 -msgid "" -"Sometimes you are only interested in parts of the history, for example the " -"commits modifying a particular <path>. But there are two parts of 'History " -"Simplification', one part is selecting the commits and the other is how to " -"do it, as there are various strategies to simplify the history." +#: en/pull-fetch-param.txt:23 +#, no-wrap +msgid "\t(see linkgit:git-fetch[1]).\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:309 -msgid "The following options select the commits to be shown:" +#: en/pull-fetch-param.txt:29 +msgid "" +"The format of a <refspec> parameter is an optional plus `+`, followed by the " +"source ref <src>, followed by a colon `:`, followed by the destination ref " +"<dst>. The colon can be omitted when <dst> is empty." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:310 -#, no-wrap -msgid "<paths>" +#. type: Plain text +#: en/pull-fetch-param.txt:32 +msgid "" +"`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`; it requests " +"fetching everything up to the given tag." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:312 -msgid "Commits modifying the given <paths> are selected." +#: en/pull-fetch-param.txt:39 +msgid "" +"The remote ref that matches <src> is fetched, and if <dst> is not empty " +"string, the local ref that matches it is fast-forwarded using <src>. If the " +"optional plus `+` is used, the local ref is updated even if it does not " +"result in a fast-forward update." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:313 -#, no-wrap -msgid "--simplify-by-decoration" +#. type: Plain text +#: en/pull-fetch-param.txt:51 +msgid "" +"When the remote branch you want to fetch is known to be rewound and rebased " +"regularly, it is expected that its new tip will not be descendant of its " +"previous tip (as stored in your remote-tracking branch the last time you " +"fetched). You would want to use the `+` sign to indicate non-fast-forward " +"updates will be needed for such branches. There is no way to determine or " +"declare that a branch will be made available in a repository with this " +"behavior; the pulling user simply must know this is the expected usage " +"pattern for a branch." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:315 -msgid "Commits that are referred by some branch or tag are selected." +#: en/pull-fetch-param.txt:71 +msgid "" +"There is a difference between listing multiple <refspec> directly on 'git " +"pull' command line and having multiple `remote.<repository>.fetch` entries " +"in your configuration for a <repository> and running a 'git pull' command " +"without any explicit <refspec> parameters. <refspec>s listed explicitly on " +"the command line are always merged into the current branch after fetching. " +"In other words, if you list more than one remote ref, 'git pull' will create " +"an Octopus merge. On the other hand, if you do not list any explicit " +"<refspec> parameter on the command line, 'git pull' will fetch all the " +"<refspec>s it finds in the `remote.<repository>.fetch` configuration and " +"merge only the first <refspec> found into the current branch. This is " +"because making an Octopus from remote refs is rarely done, while keeping " +"track of multiple remote heads in one-go by fetching more than one is often " +"useful." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:317 -msgid "Note that extra commits can be shown to give a meaningful history." +#. type: Title - +#: en/revisions.txt:2 +#, no-wrap +msgid "SPECIFYING REVISIONS" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:319 -msgid "The following options affect the way the simplification is performed:" +#: en/revisions.txt:9 +msgid "" +"A revision parameter '<rev>' typically, but not necessarily, names a commit " +"object. It uses what is called an 'extended SHA-1' syntax. Here are " +"various ways to spell object names. The ones listed near the end of this " +"list name trees and blobs contained in a commit." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:320 en/rev-list-options.txt:394 -#, fuzzy, no-wrap -#| msgid "default" -msgid "Default mode" -msgstr "default" +#: en/revisions.txt:10 +#, no-wrap +msgid "'<sha1>', e.g. 'dae86e1950b1277e545cee180551750029cfe735', 'dae86e'" +msgstr "" #. type: Plain text -#: en/rev-list-options.txt:325 +#: en/revisions.txt:16 msgid "" -"Simplifies the history to the simplest history explaining the final state of " -"the tree. Simplest because it prunes some side branches if the end result is " -"the same (i.e. merging branches with the same content)" +"The full SHA-1 object name (40-byte hexadecimal string), or a leading " +"substring that is unique within the repository. E.g. " +"dae86e1950b1277e545cee180551750029cfe735 and dae86e both name the same " +"commit object if there is no other object in your repository whose object " +"name starts with dae86e." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:326 +#: en/revisions.txt:17 #, no-wrap -msgid "--full-history" +msgid "'<describeOutput>', e.g. 'v1.7.4.2-679-g3bee7fb'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:328 -msgid "Same as the default mode, but does not prune some history." +#: en/revisions.txt:21 +msgid "" +"Output from `git describe`; i.e. a closest tag, optionally followed by a " +"dash and a number of commits, followed by a dash, a 'g', and an abbreviated " +"object name." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:329 en/rev-list-options.txt:462 +#: en/revisions.txt:22 #, no-wrap -msgid "--dense" +msgid "'<refname>', e.g. 'master', 'heads/master', 'refs/heads/master'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:332 +#: en/revisions.txt:29 msgid "" -"Only the selected commits are shown, plus some to have a meaningful history." +"A symbolic ref name. E.g. 'master' typically means the commit object " +"referenced by 'refs/heads/master'. If you happen to have both 'heads/" +"master' and 'tags/master', you can explicitly say 'heads/master' to tell Git " +"which one you mean. When ambiguous, a '<refname>' is disambiguated by " +"taking the first match in the following rules:" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:335 -msgid "All commits in the simplified history are shown." +#: en/revisions.txt:33 +msgid "" +"If '$GIT_DIR/<refname>' exists, that is what you mean (this is usually " +"useful only for `HEAD`, `FETCH_HEAD`, `ORIG_HEAD`, `MERGE_HEAD` and " +"`CHERRY_PICK_HEAD`);" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:336 en/rev-list-options.txt:473 -#, no-wrap -msgid "--simplify-merges" +#. type: Plain text +#: en/revisions.txt:35 +msgid "otherwise, 'refs/<refname>' if it exists;" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:340 -msgid "" -"Additional option to `--full-history` to remove some needless merges from " -"the resulting history, as there are no selected commits contributing to this " -"merge." +#: en/revisions.txt:37 +msgid "otherwise, 'refs/tags/<refname>' if it exists;" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:341 en/rev-list-options.txt:520 -#, no-wrap -msgid "--ancestry-path" +#. type: Plain text +#: en/revisions.txt:39 +msgid "otherwise, 'refs/heads/<refname>' if it exists;" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:347 -msgid "" -"When given a range of commits to display (e.g. 'commit1..commit2' or " -"'commit2 {caret}commit1'), only display commits that exist directly on the " -"ancestry chain between the 'commit1' and 'commit2', i.e. commits that are " -"both descendants of 'commit1', and ancestors of 'commit2'." +#: en/revisions.txt:41 +msgid "otherwise, 'refs/remotes/<refname>' if it exists;" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:349 -msgid "A more detailed explanation follows." +#: en/revisions.txt:43 +msgid "otherwise, 'refs/remotes/<refname>/HEAD' if it exists." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:353 +#: en/revisions.txt:55 msgid "" -"Suppose you specified `foo` as the <paths>. We shall call commits that " -"modify `foo` !TREESAME, and the rest TREESAME. (In a diff filtered for " -"`foo`, they look different and equal, respectively.)" +"`HEAD` names the commit on which you based the changes in the working tree. " +"`FETCH_HEAD` records the branch which you fetched from a remote repository " +"with your last `git fetch` invocation. `ORIG_HEAD` is created by commands " +"that move your `HEAD` in a drastic way, to record the position of the `HEAD` " +"before their operation, so that you can easily change the tip of the branch " +"back to the state before you ran them. `MERGE_HEAD` records the commit(s) " +"which you are merging into your branch when you run `git merge`. " +"`CHERRY_PICK_HEAD` records the commit which you are cherry-picking when you " +"run `git cherry-pick`." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:357 +#: en/revisions.txt:60 msgid "" -"In the following, we will always refer to the same example history to " -"illustrate the differences between simplification settings. We assume that " -"you are filtering for a file `foo` in this commit graph:" +"Note that any of the 'refs/*' cases above may come either from the '$GIT_DIR/" +"refs' directory or from the '$GIT_DIR/packed-refs' file. While the ref name " +"encoding is unspecified, UTF-8 is preferred as some output processing may " +"assume ref names in UTF-8." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:363 +#. type: Labeled list +#: en/revisions.txt:61 #, no-wrap -msgid "" -"\t .-A---M---N---O---P---Q\n" -"\t / / / / / /\n" -"\tI B C D E Y\n" -"\t \\ / / / / /\n" -"\t `-------------' X\n" +msgid "'@'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:366 -msgid "" -"The horizontal line of history A---Q is taken to be the first parent of each " -"merge. The commits are:" +#: en/revisions.txt:63 +msgid "'@' alone is a shortcut for `HEAD`." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:64 +#, no-wrap +msgid "'<refname>@{<date>}', e.g. 'master@\\{yesterday\\}', 'HEAD@{5 minutes ago}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:370 +#: en/revisions.txt:75 msgid "" -"`I` is the initial commit, in which `foo` exists with contents ``asdf'', and " -"a file `quux` exists with contents ``quux''. Initial commits are compared to " -"an empty tree, so `I` is !TREESAME." +"A ref followed by the suffix '@' with a date specification enclosed in a " +"brace pair (e.g. '\\{yesterday\\}', '{1 month 2 weeks 3 days 1 hour 1 second " +"ago}' or '{1979-02-26 18:30:00}') specifies the value of the ref at a prior " +"point in time. This suffix may only be used immediately following a ref " +"name and the ref must have an existing log ('$GIT_DIR/logs/<ref>'). Note " +"that this looks up the state of your *local* ref at a given time; e.g., what " +"was in your local 'master' branch last week. If you want to look at commits " +"made during certain times, see `--since` and `--until`." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:372 -msgid "In `A`, `foo` contains just ``foo''." +#. type: Labeled list +#: en/revisions.txt:76 +#, no-wrap +msgid "'<refname>@{<n>}', e.g. 'master@\\{1\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:375 +#: en/revisions.txt:84 msgid "" -"`B` contains the same change as `A`. Its merge `M` is trivial and hence " -"TREESAME to all parents." +"A ref followed by the suffix '@' with an ordinal specification enclosed in a " +"brace pair (e.g. '\\{1\\}', '\\{15\\}') specifies the n-th prior value of " +"that ref. For example 'master@\\{1\\}' is the immediate prior value of " +"'master' while 'master@\\{5\\}' is the 5th prior value of 'master'. This " +"suffix may only be used immediately following a ref name and the ref must " +"have an existing log ('$GIT_DIR/logs/<refname>')." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:85 +#, no-wrap +msgid "'@{<n>}', e.g. '@\\{1\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:378 +#: en/revisions.txt:89 msgid "" -"`C` does not change `foo`, but its merge `N` changes it to ``foobar'', so it " -"is not TREESAME to any parent." +"You can use the '@' construct with an empty ref part to get at a reflog " +"entry of the current branch. For example, if you are on branch 'blabla' then " +"'@\\{1\\}' means the same as 'blabla@\\{1\\}'." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:90 +#, no-wrap +msgid "'@{-<n>}', e.g. '@{-1}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:381 +#: en/revisions.txt:93 msgid "" -"`D` sets `foo` to ``baz''. Its merge `O` combines the strings from `N` and " -"`D` to ``foobarbaz''; i.e., it is not TREESAME to any parent." +"The construct '@{-<n>}' means the <n>th branch/commit checked out before the " +"current one." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:94 +#, no-wrap +msgid "'<branchname>@\\{upstream\\}', e.g. 'master@\\{upstream\\}', '@\\{u\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:384 +#: en/revisions.txt:100 msgid "" -"`E` changes `quux` to ``xyzzy'', and its merge `P` combines the strings to " -"``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`." +"The suffix '@\\{upstream\\}' to a branchname (short form '<branchname>@\\{u" +"\\}') refers to the branch that the branch specified by branchname is set " +"to build on top of (configured with `branch.<name>.remote` and `branch." +"<name>.merge`). A missing branchname defaults to the current one." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:388 -msgid "" -"`X` is an independent root commit that added a new file `side`, and `Y` " -"modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and " -"`Q` is TREESAME to `P`, but not to `Y`." +#. type: Labeled list +#: en/revisions.txt:101 +#, no-wrap +msgid "'<branchname>@\\{push\\}', e.g. 'master@\\{push\\}', '@\\{push\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:393 +#: en/revisions.txt:107 msgid "" -"`rev-list` walks backwards through history, including or excluding commits " -"based on whether `--full-history` and/or parent rewriting (via `--parents` " -"or `--children`) are used. The following settings are available." +"The suffix '@\\{push}' reports the branch \"where we would push to\" if `git " +"push` were run while `branchname` was checked out (or the current `HEAD` if " +"no branchname is specified). Since our push destination is in a remote " +"repository, of course, we report the local tracking branch that corresponds " +"to that branch (i.e., something in 'refs/remotes/')." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:401 +#: en/revisions.txt:109 +msgid "Here's an example to make it more clear:" +msgstr "" + +#. type: delimited block - +#: en/revisions.txt:114 +#, no-wrap msgid "" -"Commits are included if they are not TREESAME to any parent (though this can " -"be changed, see `--sparse` below). If the commit was a merge, and it was " -"TREESAME to one parent, follow only that parent. (Even if there are several " -"TREESAME parents, follow only one of them.) Otherwise, follow all parents." +"$ git config push.default current\n" +"$ git config remote.pushdefault myfork\n" +"$ git checkout -b mybranch origin/master\n" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:403 -msgid "This results in:" +#. type: delimited block - +#: en/revisions.txt:117 +#, no-wrap +msgid "" +"$ git rev-parse --symbolic-full-name @{upstream}\n" +"refs/remotes/origin/master\n" msgstr "" #. type: delimited block - -#: en/rev-list-options.txt:408 +#: en/revisions.txt:120 #, no-wrap msgid "" -"\t .-A---N---O\n" -"\t / / /\n" -"\tI---------D\n" +"$ git rev-parse --symbolic-full-name @{push}\n" +"refs/remotes/myfork/mybranch\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:414 +#: en/revisions.txt:125 msgid "" -"Note how the rule to only follow the TREESAME parent, if one is available, " -"removed `B` from consideration entirely. `C` was considered via `N`, but is " -"TREESAME. Root commits are compared to an empty tree, so `I` is !TREESAME." +"Note in the example that we set up a triangular workflow, where we pull from " +"one location and push to another. In a non-triangular workflow, '@\\{push}' " +"is the same as '@\\{upstream}', and there is no need for it." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:126 +#, no-wrap +msgid "'<rev>{caret}', e.g. 'HEAD{caret}, v1.5.1{caret}0'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:418 +#: en/revisions.txt:133 msgid "" -"Parent/child relations are only visible with `--parents`, but that does not " -"affect the commits selected in default mode, so we have shown the parent " -"lines." +"A suffix '{caret}' to a revision parameter means the first parent of that " +"commit object. '{caret}<n>' means the <n>th parent (i.e. '<rev>{caret}' is " +"equivalent to '<rev>{caret}1'). As a special rule, '<rev>{caret}0' means " +"the commit itself and is used when '<rev>' is the object name of a tag " +"object that refers to a commit object." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:419 +#: en/revisions.txt:134 #, no-wrap -msgid "--full-history without parent rewriting" +msgid "'<rev>{tilde}<n>', e.g. 'master{tilde}3'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:425 +#: en/revisions.txt:141 msgid "" -"This mode differs from the default in one point: always follow all parents " -"of a merge, even if it is TREESAME to one of them. Even if more than one " -"side of the merge has commits that are included, this does not imply that " -"the merge itself is! In the example, we get" +"A suffix '{tilde}<n>' to a revision parameter means the commit object that " +"is the <n>th generation ancestor of the named commit object, following only " +"the first parents. I.e. '<rev>{tilde}3' is equivalent to '<rev>{caret}" +"{caret}{caret}' which is equivalent to '<rev>{caret}1{caret}1{caret}1'. See " +"below for an illustration of the usage of this form." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:428 +#. type: Labeled list +#: en/revisions.txt:142 #, no-wrap -msgid "\tI A B N D O P Q\n" +msgid "'<rev>{caret}{<type>}', e.g. 'v0.99.8{caret}\\{commit\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:433 +#: en/revisions.txt:153 msgid "" -"`M` was excluded because it is TREESAME to both parents. `E`, `C` and `B` " -"were all walked, but only `B` was !TREESAME, so the others do not appear." +"A suffix '{caret}' followed by an object type name enclosed in brace pair " +"means dereference the object at '<rev>' recursively until an object of type " +"'<type>' is found or the object cannot be dereferenced anymore (in which " +"case, barf). For example, if '<rev>' is a commit-ish, '<rev>{caret}\\{commit" +"\\}' describes the corresponding commit object. Similarly, if '<rev>' is a " +"tree-ish, '<rev>{caret}\\{tree\\}' describes the corresponding tree object. " +"'<rev>{caret}0' is a short-hand for '<rev>{caret}\\{commit\\}'." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:437 +#: en/revisions.txt:158 msgid "" -"Note that without parent rewriting, it is not really possible to talk about " -"the parent/child relationships between the commits, so we show them " -"disconnected." +"'rev{caret}\\{object\\}' can be used to make sure 'rev' names an object that " +"exists, without requiring 'rev' to be a tag, and without dereferencing " +"'rev'; because a tag is already an object, it does not have to be " +"dereferenced even once to get to an object." +msgstr "" + +#. type: Plain text +#: en/revisions.txt:161 +msgid "" +"'rev{caret}\\{tag\\}' can be used to ensure that 'rev' identifies an " +"existing tag object." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:438 +#: en/revisions.txt:162 #, no-wrap -msgid "--full-history with parent rewriting" +msgid "'<rev>{caret}{}', e.g. 'v0.99.8{caret}{}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:441 +#: en/revisions.txt:167 msgid "" -"Ordinary commits are only included if they are !TREESAME (though this can be " -"changed, see `--sparse` below)." +"A suffix '{caret}' followed by an empty brace pair means the object could be " +"a tag, and dereference the tag recursively until a non-tag object is found." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:168 +#, no-wrap +msgid "'<rev>{caret}{/<text>}', e.g. 'HEAD^{/fix nasty bug}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:445 +#: en/revisions.txt:174 msgid "" -"Merges are always included. However, their parent list is rewritten: Along " -"each parent, prune away commits that are not included themselves. This " -"results in" +"A suffix '{caret}' to a revision parameter, followed by a brace pair that " +"contains a text led by a slash, is the same as the ':/fix nasty bug' syntax " +"below except that it returns the youngest matching commit which is reachable " +"from the '<rev>' before '{caret}'." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:452 +#. type: Labeled list +#: en/revisions.txt:175 #, no-wrap -msgid "" -"\t .-A---M---N---O---P---Q\n" -"\t / / / / /\n" -"\tI B / D /\n" -"\t \\ / / / /\n" -"\t `-------------'\n" +msgid "':/<text>', e.g. ':/fix nasty bug'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:458 +#: en/revisions.txt:185 msgid "" -"Compare to `--full-history` without rewriting above. Note that `E` was " -"pruned away because it is TREESAME, but the parent list of P was rewritten " -"to contain `E`'s parent `I`. The same happened for `C` and `N`, and `X`, " -"`Y` and `Q`." +"A colon, followed by a slash, followed by a text, names a commit whose " +"commit message matches the specified regular expression. This name returns " +"the youngest matching commit which is reachable from any ref. The regular " +"expression can match any part of the commit message. To match messages " +"starting with a string, one can use e.g. ':/^foo'. The special sequence " +"':/!' is reserved for modifiers to what is matched. ':/!-foo' performs a " +"negative match, while ':/!!foo' matches a literal '!' character, followed by " +"'foo'. Any other sequence beginning with ':/!' is reserved for now." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:461 -msgid "" -"In addition to the above settings, you can change whether TREESAME affects " -"inclusion:" +#. type: Labeled list +#: en/revisions.txt:186 +#, no-wrap +msgid "'<rev>:<path>', e.g. 'HEAD:README', ':README', 'master:./README'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:465 +#: en/revisions.txt:197 msgid "" -"Commits that are walked are included if they are not TREESAME to any parent." +"A suffix ':' followed by a path names the blob or tree at the given path in " +"the tree-ish object named by the part before the colon. ':path' (with an " +"empty part before the colon) is a special case of the syntax described " +"next: content recorded in the index at the given path. A path starting with " +"'./' or '../' is relative to the current working directory. The given path " +"will be converted to be relative to the working tree's root directory. This " +"is most useful to address a blob or tree from a commit or tree that has the " +"same tree structure as the working tree." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:468 -msgid "All commits that are walked are included." +#. type: Labeled list +#: en/revisions.txt:198 +#, no-wrap +msgid "':<n>:<path>', e.g. ':0:README', ':README'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:472 +#: en/revisions.txt:206 msgid "" -"Note that without `--full-history`, this still simplifies merges: if one of " -"the parents is TREESAME, we follow only that one, so the other sides of the " -"merge are never walked." +"A colon, optionally followed by a stage number (0 to 3) and a colon, " +"followed by a path, names a blob object in the index at the given path. A " +"missing stage number (and the colon that follows it) names a stage 0 entry. " +"During a merge, stage 1 is the common ancestor, stage 2 is the target " +"branch's version (typically the current branch), and stage 3 is the version " +"from the branch which is being merged." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:476 +#: en/revisions.txt:210 msgid "" -"First, build a history graph in the same way that `--full-history` with " -"parent rewriting does (see above)." +"Here is an illustration, by Jon Loeliger. Both commit nodes B and C are " +"parents of commit node A. Parent commits are ordered left-to-right." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:479 +#. type: delimited block . +#: en/revisions.txt:222 +#, no-wrap msgid "" -"Then simplify each commit `C` to its replacement `C'` in the final history " -"according to the following rules:" +"G H I J\n" +" \\ / \\ /\n" +" D E F\n" +" \\ | / \\\n" +" \\ | / |\n" +" \\|/ |\n" +" B C\n" +" \\ /\n" +" \\ /\n" +" A\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:482 -msgid "Set `C'` to `C`." +#: en/revisions.txt:234 +#, no-wrap +msgid "" +" A = = A^0\n" +" B = A^ = A^1 = A~1\n" +" C = A^2 = A^2\n" +" D = A^^ = A^1^1 = A~2\n" +" E = B^2 = A^^2\n" +" F = B^3 = A^^3\n" +" G = A^^^ = A^1^1^1 = A~3\n" +" H = D^2 = B^^2 = A^^^2 = A~2^2\n" +" I = F^ = B^3^ = A^^3^\n" +" J = F^2 = B^3^2 = A^^3^2\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:487 +#: en/revisions.txt:241 msgid "" -"Replace each parent `P` of `C'` with its simplification `P'`. In the " -"process, drop parents that are ancestors of other parents or that are root " -"commits TREESAME to an empty tree, and remove duplicates, but take care to " -"never drop all parents that we are TREESAME to." +"History traversing commands such as `git log` operate on a set of commits, " +"not just a single commit." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:491 +#: en/revisions.txt:246 msgid "" -"If after this parent rewriting, `C'` is a root or merge commit (has zero or " -">1 parents), a boundary commit, or !TREESAME, it remains. Otherwise, it is " -"replaced with its only parent." +"For these commands, specifying a single revision, using the notation " +"described in the previous section, means the set of commits `reachable` from " +"the given commit." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:495 +#: en/revisions.txt:249 msgid "" -"The effect of this is best shown by way of comparing to `--full-history` " -"with parent rewriting. The example turns into:" +"A commit's reachable set is the commit itself and the commits in its " +"ancestry chain." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:502 +#. type: Title ~ +#: en/revisions.txt:252 #, no-wrap -msgid "" -"\t .-A---M---N---O\n" -"\t / / /\n" -"\tI B D\n" -"\t \\ / /\n" -"\t `---------'\n" +msgid "Commit Exclusions" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:505 -msgid "Note the major differences in `N`, `P`, and `Q` over `--full-history`:" +#. type: Labeled list +#: en/revisions.txt:254 +#, no-wrap +msgid "'{caret}<rev>' (caret) Notation" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:509 +#: en/revisions.txt:259 msgid "" -"`N`'s parent list had `I` removed, because it is an ancestor of the other " -"parent `M`. Still, `N` remained because it is !TREESAME." +"To exclude commits reachable from a commit, a prefix '{caret}' notation is " +"used. E.g. '{caret}r1 r2' means commits reachable from 'r2' but exclude the " +"ones reachable from 'r1' (i.e. 'r1' and its ancestors)." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:512 -msgid "" -"`P`'s parent list similarly had `I` removed. `P` was then removed " -"completely, because it had one parent and is TREESAME." +#. type: Title ~ +#: en/revisions.txt:261 +#, no-wrap +msgid "Dotted Range Notations" +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:263 +#, no-wrap +msgid "The '..' (two-dot) Range Notation" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:516 +#: en/revisions.txt:269 msgid "" -"`Q`'s parent list had `Y` simplified to `X`. `X` was then removed, because " -"it was a TREESAME root. `Q` was then removed completely, because it had one " -"parent and is TREESAME." +"The '{caret}r1 r2' set operation appears so often that there is a shorthand " +"for it. When you have two commits 'r1' and 'r2' (named according to the " +"syntax explained in SPECIFYING REVISIONS above), you can ask for commits " +"that are reachable from r2 excluding those that are reachable from r1 by " +"'{caret}r1 r2' and it can be written as 'r1..r2'." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:519 -msgid "Finally, there is a fifth simplification mode available:" +#. type: Labeled list +#: en/revisions.txt:270 +#, no-wrap +msgid "The '...' (three dot) Symmetric Difference Notation" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:525 +#: en/revisions.txt:276 msgid "" -"Limit the displayed commits to those directly on the ancestry chain between " -"the ``from'' and ``to'' commits in the given commit range. I.e. only display " -"commits that are ancestor of the ``to'' commit and descendants of the " -"``from'' commit." +"A similar notation 'r1\\...r2' is called symmetric difference of 'r1' and " +"'r2' and is defined as 'r1 r2 --not $(git merge-base --all r1 r2)'. It is " +"the set of commits that are reachable from either one of 'r1' (left side) or " +"'r2' (right side) but not from both." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:527 -msgid "As an example use case, consider the following commit history:" +#: en/revisions.txt:283 +msgid "" +"In these two shorthand notations, you can omit one end and let it default to " +"HEAD. For example, 'origin..' is a shorthand for 'origin..HEAD' and asks " +"\"What did I do since I forked from the origin branch?\" Similarly, '.." +"origin' is a shorthand for 'HEAD..origin' and asks \"What did the origin do " +"since I forked from them?\" Note that '..' would mean 'HEAD..HEAD' which is " +"an empty range that is both reachable and unreachable from HEAD." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:534 +#. type: Title ~ +#: en/revisions.txt:285 #, no-wrap -msgid "" -"\t D---E-------F\n" -"\t / \\ \\\n" -"\t B---C---G---H---I---J\n" -"\t / \\\n" -"\tA-------K---------------L--M\n" +msgid "Other <rev>{caret} Parent Shorthand Notations" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:542 +#: en/revisions.txt:288 msgid "" -"A regular 'D..M' computes the set of commits that are ancestors of `M`, but " -"excludes the ones that are ancestors of `D`. This is useful to see what " -"happened to the history leading to `M` since `D`, in the sense that ``what " -"does `M` have that did not exist in `D`''. The result in this example would " -"be all the commits, except `A` and `B` (and `D` itself, of course)." +"Three other shorthands exist, particularly useful for merge commits, for " +"naming a set that is formed by a commit and its parent commits." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:548 -msgid "" -"When we want to find out what commits in `M` are contaminated with the bug " -"introduced by `D` and need fixing, however, we might want to view only the " -"subset of 'D..M' that are actually descendants of `D`, i.e. excluding `C` " -"and `K`. This is exactly what the `--ancestry-path` option does. Applied to " -"the 'D..M' range, it results in:" +#: en/revisions.txt:290 +msgid "The 'r1{caret}@' notation means all parents of 'r1'." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:555 -#, no-wrap +#. type: Plain text +#: en/revisions.txt:293 msgid "" -"\t\tE-------F\n" -"\t\t \\ \\\n" -"\t\t G---H---I---J\n" -"\t\t\t \\\n" -"\t\t\t\tL--M\n" +"The 'r1{caret}!' notation includes commit 'r1' but excludes all of its " +"parents. By itself, this notation denotes the single commit 'r1'." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:564 +#: en/revisions.txt:300 msgid "" -"The `--simplify-by-decoration` option allows you to view only the big " -"picture of the topology of the history, by omitting commits that are not " -"referenced by tags. Commits are marked as !TREESAME (in other words, kept " -"after history simplification rules described above) if (1) they are " -"referenced by tags, or (2) they change the contents of the paths given on " -"the command line. All other commits are marked as TREESAME (subject to be " -"simplified away)." -msgstr "" - -#. type: Title ~ -#: en/rev-list-options.txt:567 -#, no-wrap -msgid "Bisection Helpers" +"The '<rev>{caret}-{<n>}' notation includes '<rev>' but excludes the <n>th " +"parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if " +"not given. This is typically useful for merge commits where you can just " +"pass '<commit>{caret}-' to get all the commits in the branch that was merged " +"in merge commit '<commit>' (including '<commit>' itself)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:576 +#: en/revisions.txt:304 msgid "" -"Limit output to the one commit object which is roughly halfway between " -"included and excluded commits. Note that the bad bisection ref `refs/bisect/" -"bad` is added to the included commits (if it exists) and the good bisection " -"refs `refs/bisect/good-*` are added to the excluded commits (if they exist). " -"Thus, supposing there are no refs in `refs/bisect/`, if" +"While '<rev>{caret}<n>' was about specifying a single commit parent, these " +"three notations also consider its parents. For example you can say " +"'HEAD{caret}2{caret}@', however you cannot say 'HEAD{caret}@{caret}2'." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:579 +#. type: Title - +#: en/revisions.txt:306 #, no-wrap -msgid "\t$ git rev-list --bisect foo ^bar ^baz\n" -msgstr "" - -#. type: Plain text -#: en/rev-list-options.txt:582 -msgid "outputs 'midpoint', the output of the two commands" +msgid "Revision Range Summary" msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:586 +#. type: Labeled list +#: en/revisions.txt:308 #, no-wrap -msgid "" -"\t$ git rev-list foo ^midpoint\n" -"\t$ git rev-list midpoint ^bar ^baz\n" +msgid "'<rev>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:592 +#: en/revisions.txt:311 msgid "" -"would be of roughly the same length. Finding the change which introduces a " -"regression is thus reduced to a binary search: repeatedly generate and test " -"new 'midpoint's until the commit chain is of length one. Cannot be combined " -"with --first-parent." +"Include commits that are reachable from <rev> (i.e. <rev> and its ancestors)." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:593 +#: en/revisions.txt:312 #, no-wrap -msgid "--bisect-vars" +msgid "'{caret}<rev>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:604 +#: en/revisions.txt:315 msgid "" -"This calculates the same as `--bisect`, except that refs in `refs/bisect/` " -"are not used, and except that this outputs text ready to be eval'ed by the " -"shell. These lines will assign the name of the midpoint revision to the " -"variable `bisect_rev`, and the expected number of commits to be tested after " -"`bisect_rev` is tested to `bisect_nr`, the expected number of commits to be " -"tested if `bisect_rev` turns out to be good to `bisect_good`, the expected " -"number of commits to be tested if `bisect_rev` turns out to be bad to " -"`bisect_bad`, and the number of commits we are bisecting right now to " -"`bisect_all`." +"Exclude commits that are reachable from <rev> (i.e. <rev> and its ancestors)." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:605 +#: en/revisions.txt:316 #, no-wrap -msgid "--bisect-all" +msgid "'<rev1>..<rev2>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:611 +#: en/revisions.txt:320 msgid "" -"This outputs all the commit objects between the included and excluded " -"commits, ordered by their distance to the included and excluded commits. " -"Refs in `refs/bisect/` are not used. The farthest from them is displayed " -"first. (This is the only one displayed by `--bisect`.)" +"Include commits that are reachable from <rev2> but exclude those that are " +"reachable from <rev1>. When either <rev1> or <rev2> is omitted, it defaults " +"to `HEAD`." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:615 -msgid "" -"This is useful because it makes it easy to choose a good commit to test when " -"you want to avoid to test some of them for some reason (they may not compile " -"for example)." +#. type: Labeled list +#: en/revisions.txt:321 +#, no-wrap +msgid "'<rev1>\\...<rev2>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:619 +#: en/revisions.txt:325 msgid "" -"This option can be used along with `--bisect-vars`, in this case, after all " -"the sorted commit objects, there will be the same text as if `--bisect-vars` " -"had been used alone." +"Include commits that are reachable from either <rev1> or <rev2> but exclude " +"those that are reachable from both. When either <rev1> or <rev2> is " +"omitted, it defaults to `HEAD`." msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:623 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Commit Ordering" -msgstr "Configuration" - -#. type: Plain text -#: en/rev-list-options.txt:626 -msgid "By default, the commits are shown in reverse chronological order." +#. type: Labeled list +#: en/revisions.txt:326 +#, no-wrap +msgid "'<rev>{caret}@', e.g. 'HEAD{caret}@'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:630 +#: en/revisions.txt:330 msgid "" -"Show no parents before all of its children are shown, but otherwise show " -"commits in the commit timestamp order." +"A suffix '{caret}' followed by an at sign is the same as listing all parents " +"of '<rev>' (meaning, include anything reachable from its parents, but not " +"the commit itself)." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:631 +#: en/revisions.txt:331 #, no-wrap -msgid "--author-date-order" +msgid "'<rev>{caret}!', e.g. 'HEAD{caret}!'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:634 +#: en/revisions.txt:335 msgid "" -"Show no parents before all of its children are shown, but otherwise show " -"commits in the author timestamp order." +"A suffix '{caret}' followed by an exclamation mark is the same as giving " +"commit '<rev>' and then all its parents prefixed with '{caret}' to exclude " +"them (and their ancestors)." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:336 +#, no-wrap +msgid "'<rev>{caret}-{<n>}', e.g. 'HEAD{caret}-, HEAD{caret}-2'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:639 -msgid "" -"Show no parents before all of its children are shown, and avoid showing " -"commits on multiple lines of history intermixed." +#: en/revisions.txt:339 +msgid "Equivalent to '<rev>{caret}<n>..<rev>', with '<n>' = 1 if not given." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:641 -msgid "For example, in a commit history like this:" +#: en/revisions.txt:343 +msgid "" +"Here are a handful of examples using the Loeliger illustration above, with " +"each step in the notation's expansion and selection carefully spelt out:" msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:647 +#. type: Plain text +#: en/revisions.txt:365 #, no-wrap msgid "" -" ---1----2----4----7\n" -"\t\\\t \\\n" -"\t 3----5----6----8---\n" +" Args Expanded arguments Selected commits\n" +" D G H D\n" +" D F G H I J D F\n" +" ^G D H D\n" +" ^D B E I J F B\n" +" ^D B C E I J F B C\n" +" C I J F C\n" +" B..C = ^B C C\n" +" B...C = B ^F C G H D E B C\n" +" B^- = B^..B\n" +"\t = ^B^1 B E I J F B\n" +" C^@ = C^1\n" +"\t = F I J F\n" +" B^@ = B^1 B^2 B^3\n" +"\t = D E F D G H E F I J\n" +" C^! = C ^C^@\n" +"\t = C ^C^1\n" +"\t = C ^F C\n" +" B^! = B ^B^@\n" +"\t = B ^B^1 ^B^2 ^B^3\n" +"\t = B ^D ^E ^F B\n" +" F^! D = F ^I ^J D G H D F\n" msgstr "" +#. type: Title ~ +#: en/rev-list-options.txt:2 +#, fuzzy, no-wrap +#| msgid "Configuration" +msgid "Commit Limiting" +msgstr "Configuration" + #. type: Plain text -#: en/rev-list-options.txt:653 +#: en/rev-list-options.txt:7 msgid "" -"where the numbers denote the order of commit timestamps, `git rev-list` and " -"friends with `--date-order` show the commits in the timestamp order: 8 7 6 5 " -"4 3 2 1." +"Besides specifying a range of commits that should be listed using the " +"special notations explained in the description, additional commit limiting " +"may be applied." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:658 +#: en/rev-list-options.txt:12 msgid "" -"With `--topo-order`, they would show 8 6 5 3 7 4 2 1 (or 8 7 4 2 6 5 3 1); " -"some older commits are shown before newer ones in order to avoid showing the " -"commits from two parallel development track mixed together." +"Using more options generally further limits the output (e.g. `--" +"since=<date1>` limits to commits newer than `<date1>`, and using it with `--" +"grep=<pattern>` further limits to commits whose log message has a line that " +"matches `<pattern>`), unless otherwise noted." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:663 +#: en/rev-list-options.txt:15 msgid "" -"Output the commits chosen to be shown (see Commit Limiting section above) in " -"reverse order. Cannot be combined with `--walk-reflogs`." +"Note that these are applied before commit ordering and formatting options, " +"such as `--reverse`." msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:665 +#. type: Labeled list +#: en/rev-list-options.txt:18 #, no-wrap -msgid "Object Traversal" +msgid "-<number>" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:668 -msgid "These options are mostly targeted for packing of Git repositories." +#. type: Labeled list +#: en/rev-list-options.txt:19 +#, no-wrap +msgid "-n <number>" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:670 -#, fuzzy, no-wrap -#| msgid "git-fsck-objects(1)" -msgid "--objects" -msgstr "git-fsck-objects(1)" +#: en/rev-list-options.txt:20 +#, no-wrap +msgid "--max-count=<number>" +msgstr "" #. type: Plain text -#: en/rev-list-options.txt:675 -msgid "" -"Print the object IDs of any object referenced by the listed commits. `--" -"objects foo ^bar` thus means ``send me all object IDs which I need to " -"download if I have the commit object _bar_ but not _foo_''." -msgstr "" +#: en/rev-list-options.txt:22 +#, fuzzy +#| msgid "but can be used to amend a merge commit." +msgid "Limit the number of commits to output." +msgstr "mais peut 챗tre utilis챕 pour corriger un commit de fusion." #. type: Labeled list -#: en/rev-list-options.txt:676 +#: en/rev-list-options.txt:23 #, no-wrap -msgid "--objects-edge" +msgid "--skip=<number>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:682 -msgid "" -"Similar to `--objects`, but also print the IDs of excluded commits prefixed " -"with a ``-'' character. This is used by linkgit:git-pack-objects[1] to " -"build a ``thin'' pack, which records objects in deltified form based on " -"objects contained in these excluded commits to reduce network traffic." +#: en/rev-list-options.txt:25 +msgid "Skip 'number' commits before starting to show the commit output." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:683 +#: en/rev-list-options.txt:26 #, no-wrap -msgid "--objects-edge-aggressive" -msgstr "" - -#. type: Plain text -#: en/rev-list-options.txt:687 -msgid "" -"Similar to `--objects-edge`, but it tries harder to find excluded commits at " -"the cost of increased time. This is used instead of `--objects-edge` to " -"build ``thin'' packs for shallow repositories." +msgid "--since=<date>" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:688 +#: en/rev-list-options.txt:27 #, no-wrap -msgid "--indexed-objects" +msgid "--after=<date>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:692 -msgid "" -"Pretend as if all trees and blobs used by the index are listed on the " -"command line. Note that you probably want to use `--objects`, too." +#: en/rev-list-options.txt:29 +msgid "Show commits more recent than a specific date." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:696 -msgid "" -"Only useful with `--objects`; print the object IDs that are not in packs." +#. type: Labeled list +#: en/rev-list-options.txt:30 +#, no-wrap +msgid "--until=<date>" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:698 +#: en/rev-list-options.txt:31 #, no-wrap -msgid "--no-walk[=(sorted|unsorted)]" +msgid "--before=<date>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:706 -msgid "" -"Only show the given commits, but do not traverse their ancestors. This has " -"no effect if a range is specified. If the argument `unsorted` is given, the " -"commits are shown in the order they were given on the command line. " -"Otherwise (if `sorted` or no argument was given), the commits are shown in " -"reverse chronological order by commit time. Cannot be combined with `--" -"graph`." +#: en/rev-list-options.txt:33 +msgid "Show commits older than a specific date." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:707 +#: en/rev-list-options.txt:35 #, no-wrap -msgid "--do-walk" +msgid "--max-age=<timestamp>" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:709 -msgid "Overrides a previous `--no-walk`." +#. type: Labeled list +#: en/rev-list-options.txt:36 +#, no-wrap +msgid "--min-age=<timestamp>" msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:711 -#, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Commit Formatting" -msgstr "Configuration" - #. type: Plain text -#: en/rev-list-options.txt:717 -msgid "" -"Using these options, linkgit:git-rev-list[1] will act similar to the more " -"specialized family of commit log tools: linkgit:git-log[1], linkgit:git-" -"show[1], and linkgit:git-whatchanged[1]" +#: en/rev-list-options.txt:38 +msgid "Limit the commits output to specified time range." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:721 +#: en/rev-list-options.txt:40 #, no-wrap -msgid "--relative-date" -msgstr "" - -#. type: Plain text -#: en/rev-list-options.txt:723 -msgid "Synonym for `--date=relative`." +msgid "--author=<pattern>" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:724 +#: en/rev-list-options.txt:41 #, fuzzy, no-wrap -#| msgid "Configuration" -msgid "--date=<format>" -msgstr "Configuration" +#| msgid "status" +msgid "--committer=<pattern>" +msgstr "status" #. type: Plain text -#: en/rev-list-options.txt:731 +#: en/rev-list-options.txt:47 msgid "" -"Only takes effect for dates shown in human-readable format, such as when " -"using `--pretty`. `log.date` config variable sets a default value for the " -"log command's `--date` option. By default, dates are shown in the original " -"time zone (either committer's or author's). If `-local` is appended to the " -"format (e.g., `iso-local`), the user's local time zone is used instead." +"Limit the commits output to ones with author/committer header lines that " +"match the specified pattern (regular expression). With more than one `--" +"author=<pattern>`, commits whose author matches any of the given patterns " +"are chosen (similarly for multiple `--committer=<pattern>`)." +msgstr "" + +#. type: Labeled list +#: en/rev-list-options.txt:48 +#, no-wrap +msgid "--grep-reflog=<pattern>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:735 +#: en/rev-list-options.txt:54 msgid "" -"`--date=relative` shows dates relative to the current time, e.g. ``2 hours " -"ago''. The `-local` option has no effect for `--date=relative`." +"Limit the commits output to ones with reflog entries that match the " +"specified pattern (regular expression). With more than one `--grep-reflog`, " +"commits whose reflog message matches any of the given patterns are chosen. " +"It is an error to use this option unless `--walk-reflogs` is in use." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:737 -msgid "`--date=local` is an alias for `--date=default-local`." +#. type: Labeled list +#: en/rev-list-options.txt:55 +#, no-wrap +msgid "--grep=<pattern>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:740 +#: en/rev-list-options.txt:61 msgid "" -"`--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like " -"format. The differences to the strict ISO 8601 format are:" +"Limit the commits output to ones with log message that matches the specified " +"pattern (regular expression). With more than one `--grep=<pattern>`, " +"commits whose message matches any of the given patterns are chosen (but see " +"`--all-match`)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:742 -msgid "a space instead of the `T` date/time delimiter" +#: en/rev-list-options.txt:65 +msgid "" +"When `--show-notes` is in effect, the message from the notes is matched as " +"if it were part of the log message." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:743 -msgid "a space between time and time zone" +#: en/rev-list-options.txt:70 +msgid "" +"Limit the commits output to ones that match all given `--grep`, instead of " +"ones that match at least one." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:744 -msgid "no colon between hours and minutes of the time zone" +#. type: Labeled list +#: en/rev-list-options.txt:71 +#, no-wrap +msgid "--invert-grep" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:748 +#: en/rev-list-options.txt:74 msgid "" -"`--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict " -"ISO 8601 format." +"Limit the commits output to ones with log message that do not match the " +"pattern specified with `--grep=<pattern>`." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:751 -msgid "" -"`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 format, " -"often found in email messages." -msgstr "" +#. type: Labeled list +#: en/rev-list-options.txt:76 +#, fuzzy, no-wrap +#| msgid "whitespace" +msgid "--regexp-ignore-case" +msgstr "whitespace" #. type: Plain text -#: en/rev-list-options.txt:753 +#: en/rev-list-options.txt:79 msgid "" -"`--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format." +"Match the regular expression limiting patterns without regard to letter case." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:762 +#: en/rev-list-options.txt:83 msgid "" -"`--date=raw` shows the date as seconds since the epoch (1970-01-01 00:00:00 " -"UTC), followed by a space, and then the timezone as an offset from UTC (a `" -"+` or `-` with four digits; the first two are hours, and the second two are " -"minutes). I.e., as if the timestamp were formatted with `strftime(\"%s %z" -"\")`). Note that the `-local` option does not affect the seconds-since-" -"epoch value (which is always measured in UTC), but does switch the " -"accompanying timezone value." +"Consider the limiting patterns to be basic regular expressions; this is the " +"default." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:766 +#: en/rev-list-options.txt:88 msgid "" -"`--date=unix` shows the date as a Unix epoch timestamp (seconds since " -"1970). As with `--raw`, this is always in UTC and therefore `-local` has no " -"effect." +"Consider the limiting patterns to be extended regular expressions instead of " +"the default basic regular expressions." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:772 +#: en/rev-list-options.txt:93 msgid "" -"`--date=format:...` feeds the format `...` to your system `strftime`. Use " -"`--date=format:%c` to show the date in your system locale's preferred " -"format. See the `strftime` manual for a complete list of format " -"placeholders. When using `-local`, the correct syntax is `--date=format-" -"local:...`." +"Consider the limiting patterns to be fixed strings (don't interpret pattern " +"as a regular expression)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:775 +#: en/rev-list-options.txt:97 msgid "" -"`--date=default` is the default format, and is similar to `--date=rfc2822`, " -"with a few exceptions:" +"Consider the limiting patterns to be Perl-compatible regular expressions. " +"Requires libpcre to be compiled in." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:777 -msgid "there is no comma after the day-of-week" +#. type: Labeled list +#: en/rev-list-options.txt:98 +#, no-wrap +msgid "--remove-empty" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:779 -msgid "the time zone is omitted when the local time zone is used" +#: en/rev-list-options.txt:100 +msgid "Stop when a given path disappears from the tree." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:781 -#, no-wrap -msgid "--header" -msgstr "" +#: en/rev-list-options.txt:101 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--merges" +msgstr "git-commit(1)" #. type: Plain text -#: en/rev-list-options.txt:784 +#: en/rev-list-options.txt:103 msgid "" -"Print the contents of the commit in raw-format; each record is separated " -"with a NUL character." +"Print only merge commits. This is exactly the same as `--min-parents=2`." msgstr "" +#. type: Labeled list +#: en/rev-list-options.txt:104 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--no-merges" +msgstr "git-commit(1)" + #. type: Plain text -#: en/rev-list-options.txt:789 +#: en/rev-list-options.txt:107 msgid "" -"Print also the parents of the commit (in the form \"commit parent...\"). " -"Also enables parent rewriting, see 'History Simplification' below." +"Do not print commits with more than one parent. This is exactly the same as " +"`--max-parents=1`." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:790 +#: en/rev-list-options.txt:108 #, no-wrap -msgid "--children" -msgstr "" - -#. type: Plain text -#: en/rev-list-options.txt:793 -msgid "" -"Print also the children of the commit (in the form \"commit child...\"). " -"Also enables parent rewriting, see 'History Simplification' below." +msgid "--min-parents=<number>" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:795 +#: en/rev-list-options.txt:109 #, no-wrap -msgid "--timestamp" +msgid "--max-parents=<number>" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:797 -msgid "Print the raw commit timestamp." +#. type: Labeled list +#: en/rev-list-options.txt:110 +#, no-wrap +msgid "--no-min-parents" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:799 +#: en/rev-list-options.txt:111 #, no-wrap -msgid "--left-right" +msgid "--no-max-parents" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:804 +#: en/rev-list-options.txt:116 msgid "" -"Mark which side of a symmetric difference a commit is reachable from. " -"Commits from the left side are prefixed with `<` and those from the right " -"with `>`. If combined with `--boundary`, those commits are prefixed with `-" -"`." +"Show only commits which have at least (or at most) that many parent commits. " +"In particular, `--max-parents=1` is the same as `--no-merges`, `--min-" +"parents=2` is the same as `--merges`. `--max-parents=0` gives all root " +"commits and `--min-parents=3` all octopus merges." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:806 -msgid "For example, if you have this topology:" +#: en/rev-list-options.txt:120 +msgid "" +"`--no-min-parents` and `--no-max-parents` reset these limits (to no limit) " +"again. Equivalent forms are `--min-parents=0` (any commit has 0 or more " +"parents) and `--max-parents=-1` (negative numbers denote no upper limit)." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:813 -#, no-wrap +#. type: Plain text +#: en/rev-list-options.txt:130 msgid "" -"\t y---b---b branch B\n" -"\t / \\ /\n" -"\t / .\n" -"\t / / \\\n" -"\t o---x---a---a branch A\n" +"Follow only the first parent commit upon seeing a merge commit. This option " +"can give a better overview when viewing the evolution of a particular topic " +"branch, because merges into a topic branch tend to be only about adjusting " +"to updated upstream from time to time, and this option allows you to ignore " +"the individual commits brought in to your history by such a merge. Cannot be " +"combined with --bisect." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:816 -msgid "you would get an output like this:" +#: en/rev-list-options.txt:134 +msgid "" +"Reverses the meaning of the '{caret}' prefix (or lack thereof) for all " +"following revision specifiers, up to the next `--not`." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:819 -#, no-wrap -msgid "\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n" +#. type: Plain text +#: en/rev-list-options.txt:138 +msgid "" +"Pretend as if all the refs in `refs/`, along with `HEAD`, are listed on the " +"command line as '<commit>'." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:826 +#. type: Labeled list +#: en/rev-list-options.txt:139 #, no-wrap +msgid "--branches[=<pattern>]" +msgstr "" + +#. type: Plain text +#: en/rev-list-options.txt:144 msgid "" -"\t>bbbbbbb... 3rd on b\n" -"\t>bbbbbbb... 2nd on b\n" -"\t<aaaaaaa... 3rd on a\n" -"\t<aaaaaaa... 2nd on a\n" -"\t-yyyyyyy... 1st on b\n" -"\t-xxxxxxx... 1st on a\n" +"Pretend as if all the refs in `refs/heads` are listed on the command line as " +"'<commit>'. If '<pattern>' is given, limit branches to ones matching given " +"shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the " +"end is implied." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:828 +#: en/rev-list-options.txt:145 #, no-wrap -msgid "--graph" +msgid "--tags[=<pattern>]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:834 +#: en/rev-list-options.txt:150 msgid "" -"Draw a text-based graphical representation of the commit history on the left " -"hand side of the output. This may cause extra lines to be printed in " -"between commits, in order for the graph history to be drawn properly. " -"Cannot be combined with `--no-walk`." +"Pretend as if all the refs in `refs/tags` are listed on the command line as " +"'<commit>'. If '<pattern>' is given, limit tags to ones matching given shell " +"glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end " +"is implied." +msgstr "" + +#. type: Labeled list +#: en/rev-list-options.txt:151 +#, no-wrap +msgid "--remotes[=<pattern>]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:836 -msgid "This enables parent rewriting, see 'History Simplification' below." +#: en/rev-list-options.txt:156 +msgid "" +"Pretend as if all the refs in `refs/remotes` are listed on the command line " +"as '<commit>'. If '<pattern>' is given, limit remote-tracking branches to " +"ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', " +"'/{asterisk}' at the end is implied." +msgstr "" + +#. type: Labeled list +#: en/rev-list-options.txt:157 +#, no-wrap +msgid "--glob=<glob-pattern>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:839 +#: en/rev-list-options.txt:162 msgid "" -"This implies the `--topo-order` option by default, but the `--date-order` " -"option may also be specified." +"Pretend as if all the refs matching shell glob '<glob-pattern>' are listed " +"on the command line as '<commit>'. Leading 'refs/', is automatically " +"prepended if missing. If pattern lacks '?', '{asterisk}', or '[', '/" +"{asterisk}' at the end is implied." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:840 -#, no-wrap -msgid "--show-linear-break[=<barrier>]" -msgstr "" +#: en/rev-list-options.txt:178 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--reflog" +msgstr "git-commit(1)" #. type: Plain text -#: en/rev-list-options.txt:846 +#: en/rev-list-options.txt:181 msgid "" -"When --graph is not used, all history branches are flattened which can make " -"it hard to see that the two consecutive commits do not belong to a linear " -"branch. This option puts a barrier in between them in that case. If " -"`<barrier>` is specified, it is the string that will be shown instead of the " -"default one." +"Pretend as if all objects mentioned by reflogs are listed on the command " +"line as `<commit>`." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:856 +#: en/rev-list-options.txt:185 msgid "" -"Print a number stating how many commits would have been listed, and suppress " -"all other output. When used together with `--left-right`, instead print the " -"counts for left and right commits, separated by a tab. When used together " -"with `--cherry-mark`, omit patch equivalent commits from these counts and " -"print the count for equivalent commits separated by a tab." +"Upon seeing an invalid object name in the input, pretend as if the bad input " +"was not given." msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:860 +#. type: Labeled list +#: en/rev-list-options.txt:187 en/rev-list-options.txt:569 #, fuzzy, no-wrap -#| msgid "Configuration" -msgid "Diff Formatting" -msgstr "Configuration" +#| msgid "git-commit(1)" +msgid "--bisect" +msgstr "git-commit(1)" #. type: Plain text -#: en/rev-list-options.txt:865 +#: en/rev-list-options.txt:192 msgid "" -"Listed below are options that control the formatting of diff output. Some " -"of them are specific to linkgit:git-rev-list[1], however other diff options " -"may be given. See linkgit:git-diff-files[1] for more options." +"Pretend as if the bad bisection ref `refs/bisect/bad` was listed and as if " +"it was followed by `--not` and the good bisection refs `refs/bisect/good-*` " +"on the command line. Cannot be combined with --first-parent." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:872 +#: en/rev-list-options.txt:199 msgid "" -"With this option, diff output for a merge commit shows the differences from " -"each of the parents to the merge result simultaneously instead of showing " -"pairwise diff between a parent and the result one at a time. Furthermore, it " -"lists only files which were modified from all parents." +"In addition to the '<commit>' listed on the command line, read them from the " +"standard input. If a `--` separator is seen, stop reading commits and start " +"reading paths to limit the result." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:878 +#: en/rev-list-options.txt:207 msgid "" -"This flag implies the `-c` option and further compresses the patch output by " -"omitting uninteresting hunks whose contents in the parents have only two " -"variants and the merge result picks one of them without modification." +"Don't print anything to standard output. This form is primarily meant to " +"allow the caller to test the exit status to see if a range of objects is " +"fully connected (or not). It is faster than redirecting stdout to `/dev/" +"null` as the output does not have to be formatted." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:886 -msgid "" -"This flag makes the merge commits show the full diff like regular commits; " -"for each merge parent, a separate log entry and diff is generated. An " -"exception is that only diff against the first parent is shown when `--first-" -"parent` option is given; in that case, the output represents the changes the " -"merge brought _into_ the then-current branch." +#. type: Labeled list +#: en/rev-list-options.txt:209 +#, no-wrap +msgid "--cherry-mark" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:889 -msgid "Show recursive diffs." +#: en/rev-list-options.txt:212 +msgid "" +"Like `--cherry-pick` (see below) but mark equivalent commits with `=` rather " +"than omitting them, and inequivalent ones with `+`." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:892 -msgid "Show the tree objects in the diff output. This implies `-r`." -msgstr "" +#. type: Labeled list +#: en/rev-list-options.txt:213 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--cherry-pick" +msgstr "git-commit(1)" #. type: Plain text -#: en/sequencer.txt:5 +#: en/rev-list-options.txt:217 msgid "" -"Continue the operation in progress using the information in '.git/" -"sequencer'. Can be used to continue after resolving conflicts in a failed " -"cherry-pick or revert." +"Omit any commit that introduces the same change as another commit on the " +"``other side'' when the set of commits are limited with symmetric difference." msgstr "" #. type: Plain text -#: en/sequencer.txt:10 +#: en/rev-list-options.txt:225 msgid "" -"Forget about the current operation in progress. Can be used to clear the " -"sequencer state after a failed cherry-pick or revert." +"For example, if you have two branches, `A` and `B`, a usual way to list all " +"commits on only one side of them is with `--left-right` (see the example " +"below in the description of the `--left-right` option). However, it shows " +"the commits that were cherry-picked from the other branch (for example, " +"``3rd on b'' may be cherry-picked from branch A). With this option, such " +"pairs of commits are excluded from the output." msgstr "" -#. type: Plain text -#: en/sequencer.txt:12 -msgid "Cancel the operation and return to the pre-sequence state." +#. type: Labeled list +#: en/rev-list-options.txt:226 +#, no-wrap +msgid "--left-only" msgstr "" -#. type: Plain text -#: en/transfer-data-leaks.txt:11 -msgid "" -"The fetch and push protocols are not designed to prevent one side from " -"stealing data from the other repository that was not intended to be shared. " -"If you have private data that you need to protect from a malicious peer, " -"your best option is to store it in another repository. This applies to both " -"clients and servers. In particular, namespaces on a server are not effective " -"for read access control; you should only grant read access to a namespace to " -"clients that you would trust with read access to the entire repository." +#. type: Labeled list +#: en/rev-list-options.txt:227 +#, no-wrap +msgid "--right-only" msgstr "" #. type: Plain text -#: en/transfer-data-leaks.txt:13 -msgid "The known attack vectors are as follows:" +#: en/rev-list-options.txt:231 +msgid "" +"List only commits on the respective side of a symmetric difference, i.e. " +"only those which would be marked `<` resp. `>` by `--left-right`." msgstr "" #. type: Plain text -#: en/transfer-data-leaks.txt:26 +#: en/rev-list-options.txt:237 msgid "" -"The victim sends \"have\" lines advertising the IDs of objects it has that " -"are not explicitly intended to be shared but can be used to optimize the " -"transfer if the peer also has them. The attacker chooses an object ID X to " -"steal and sends a ref to X, but isn't required to send the content of X " -"because the victim already has it. Now the victim believes that the attacker " -"has X, and it sends the content of X back to the attacker later. (This " -"attack is most straightforward for a client to perform on a server, by " -"creating a ref to X in the namespace the client has access to and then " -"fetching it. The most likely way for a server to perform it on a client is " -"to \"merge\" X into a public branch and hope that the user does additional " -"work on this branch and pushes it back to the server without noticing the " -"merge.)" +"For example, `--cherry-pick --right-only A...B` omits those commits from `B` " +"which are in `A` or are patch-equivalent to a commit in `A`. In other words, " +"this lists the `+` commits from `git cherry A B`. More precisely, `--cherry-" +"pick --right-only --no-merges` gives the exact list." msgstr "" +#. type: Labeled list +#: en/rev-list-options.txt:238 +#, fuzzy, no-wrap +#| msgid "git-commit(1)" +msgid "--cherry" +msgstr "git-commit(1)" + #. type: Plain text -#: en/transfer-data-leaks.txt:30 +#: en/rev-list-options.txt:244 msgid "" -"As in #1, the attacker chooses an object ID X to steal. The victim sends an " -"object Y that the attacker already has, and the attacker falsely claims to " -"have X and not Y, so the victim sends Y as a delta against X. The delta " -"reveals regions of X that are similar to Y to the attacker." +"A synonym for `--right-only --cherry-mark --no-merges`; useful to limit the " +"output to the commits on our side and mark those that have been applied to " +"the other side of a forked history with `git log --cherry upstream..." +"mybranch`, similar to `git cherry upstream mybranch`." msgstr "" -#. type: Title - -#: en/urls-remotes.txt:4 +#. type: Labeled list +#: en/rev-list-options.txt:246 #, no-wrap -msgid "REMOTES[[REMOTES]]" +msgid "--walk-reflogs" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:8 +#: en/rev-list-options.txt:252 msgid "" -"The name of one of the following can be used instead of a URL as " -"`<repository>` argument:" +"Instead of walking the commit ancestry chain, walk reflog entries from the " +"most recent one to older ones. When this option is used you cannot specify " +"commits to exclude (that is, '{caret}commit', 'commit1..commit2', and " +"'commit1\\...commit2' notations cannot be used)." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:10 -msgid "a remote in the Git configuration file: `$GIT_DIR/config`," +#: en/rev-list-options.txt:259 +msgid "" +"With `--pretty` format other than `oneline` (for obvious reasons), this " +"causes the output to have two extra lines of information taken from the " +"reflog. The reflog designator in the output may be shown as `ref@{Nth}` " +"(where `Nth` is the reverse-chronological index in the reflog) or as " +"`ref@{timestamp}` (with the timestamp for that entry), depending on a few " +"rules:" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:11 -msgid "a file in the `$GIT_DIR/remotes` directory, or" +#: en/rev-list-options.txt:263 +msgid "" +"If the starting point is specified as `ref@{Nth}`, show the index format." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:12 -msgid "a file in the `$GIT_DIR/branches` directory." +#: en/rev-list-options.txt:266 +msgid "" +"If the starting point was specified as `ref@{now}`, show the timestamp " +"format." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:15 +#: en/rev-list-options.txt:269 msgid "" -"All of these also allow you to omit the refspec from the command line " -"because they each contain a refspec which git will use by default." -msgstr "" - -#. type: Title ~ -#: en/urls-remotes.txt:17 -#, no-wrap -msgid "Named remote in configuration file" +"If neither was used, but `--date` was given on the command line, show the " +"timestamp in the format requested by `--date`." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:26 -msgid "" -"You can choose to provide the name of a remote which you had previously " -"configured using linkgit:git-remote[1], linkgit:git-config[1] or even by a " -"manual edit to the `$GIT_DIR/config` file. The URL of this remote will be " -"used to access the repository. The refspec of this remote will be used by " -"default when you do not provide a refspec on the command line. The entry in " -"the config file would appear like this:" +#: en/rev-list-options.txt:271 +msgid "Otherwise, show the index format." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:33 -#, no-wrap +#. type: Plain text +#: en/rev-list-options.txt:277 msgid "" -"\t[remote \"<name>\"]\n" -"\t\turl = <url>\n" -"\t\tpushurl = <pushurl>\n" -"\t\tpush = <refspec>\n" -"\t\tfetch = <refspec>\n" +"Under `--pretty=oneline`, the commit message is prefixed with this " +"information on the same line. This option cannot be combined with `--" +"reverse`. See also linkgit:git-reflog[1]." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:37 +#: en/rev-list-options.txt:281 msgid "" -"The `<pushurl>` is used for pushes only. It is optional and defaults to " -"`<url>`." +"After a failed merge, show refs that touch files having a conflict and don't " +"exist on all heads to merge." msgstr "" -#. type: Title ~ -#: en/urls-remotes.txt:39 +#. type: Labeled list +#: en/rev-list-options.txt:282 #, no-wrap -msgid "Named file in `$GIT_DIR/remotes`" +msgid "--boundary" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:47 +#: en/rev-list-options.txt:285 msgid "" -"You can choose to provide the name of a file in `$GIT_DIR/remotes`. The URL " -"in this file will be used to access the repository. The refspec in this " -"file will be used as default when you do not provide a refspec on the " -"command line. This file should have the following format:" +"Output excluded boundary commits. Boundary commits are prefixed with `-`." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:52 +#. type: Labeled list +#: en/rev-list-options.txt:287 #, no-wrap -msgid "" -"\tURL: one of the above URL format\n" -"\tPush: <refspec>\n" -"\tPull: <refspec>\n" +msgid "--use-bitmap-index" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:59 +#: en/rev-list-options.txt:292 msgid "" -"`Push:` lines are used by 'git push' and `Pull:` lines are used by 'git " -"pull' and 'git fetch'. Multiple `Push:` and `Pull:` lines may be specified " -"for additional branch mappings." +"Try to speed up the traversal using the pack bitmap index (if one is " +"available). Note that when traversing with `--objects`, trees and blobs will " +"not have their associated path printed." msgstr "" -#. type: Title ~ -#: en/urls-remotes.txt:61 +#. type: Labeled list +#: en/rev-list-options.txt:293 #, no-wrap -msgid "Named file in `$GIT_DIR/branches`" +msgid "--progress=<header>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:67 +#: en/rev-list-options.txt:296 msgid "" -"You can choose to provide the name of a file in `$GIT_DIR/branches`. The " -"URL in this file will be used to access the repository. This file should " -"have the following format:" +"Show progress reports on stderr as objects are considered. The `<header>` " +"text will be printed with each progress update." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:71 +#. type: Title ~ +#: en/rev-list-options.txt:301 #, no-wrap -msgid "\t<url>#<head>\n" -msgstr "" - -#. type: Plain text -#: en/urls-remotes.txt:74 -msgid "`<url>` is required; `#<head>` is optional." +msgid "History Simplification" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:79 +#: en/rev-list-options.txt:307 msgid "" -"Depending on the operation, git will use one of the following refspecs, if " -"you don't provide one on the command line. `<branch>` is the name of this " -"file in `$GIT_DIR/branches` and `<head>` defaults to `master`." +"Sometimes you are only interested in parts of the history, for example the " +"commits modifying a particular <path>. But there are two parts of 'History " +"Simplification', one part is selecting the commits and the other is how to " +"do it, as there are various strategies to simplify the history." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:81 -msgid "git fetch uses:" +#: en/rev-list-options.txt:309 +msgid "The following options select the commits to be shown:" msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:84 +#. type: Labeled list +#: en/rev-list-options.txt:310 #, no-wrap -msgid "\trefs/heads/<head>:refs/heads/<branch>\n" +msgid "<paths>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:87 -msgid "git push uses:" +#: en/rev-list-options.txt:312 +msgid "Commits modifying the given <paths> are selected." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:90 +#. type: Labeled list +#: en/rev-list-options.txt:313 #, no-wrap -msgid "\tHEAD:refs/heads/<head>\n" +msgid "--simplify-by-decoration" msgstr "" -#. type: Title - -#: en/urls.txt:2 -#, no-wrap -msgid "GIT URLS[[URLS]]" +#. type: Plain text +#: en/rev-list-options.txt:315 +msgid "Commits that are referred by some branch or tag are selected." msgstr "" #. type: Plain text -#: en/urls.txt:8 -msgid "" -"In general, URLs contain information about the transport protocol, the " -"address of the remote server, and the path to the repository. Depending on " -"the transport protocol, some of this information may be absent." +#: en/rev-list-options.txt:317 +msgid "Note that extra commits can be shown to give a meaningful history." msgstr "" #. type: Plain text -#: en/urls.txt:12 -msgid "" -"Git supports ssh, git, http, and https protocols (in addition, ftp, and ftps " -"can be used for fetching, but this is inefficient and deprecated; do not use " -"it)." +#: en/rev-list-options.txt:319 +msgid "The following options affect the way the simplification is performed:" msgstr "" +#. type: Labeled list +#: en/rev-list-options.txt:320 en/rev-list-options.txt:394 +#, fuzzy, no-wrap +#| msgid "default" +msgid "Default mode" +msgstr "default" + #. type: Plain text -#: en/urls.txt:15 +#: en/rev-list-options.txt:325 msgid "" -"The native transport (i.e. git:// URL) does no authentication and should be " -"used with caution on unsecured networks." +"Simplifies the history to the simplest history explaining the final state of " +"the tree. Simplest because it prunes some side branches if the end result is " +"the same (i.e. merging branches with the same content)" msgstr "" -#. type: Plain text -#: en/urls.txt:17 -msgid "The following syntaxes may be used with them:" +#. type: Labeled list +#: en/rev-list-options.txt:326 +#, no-wrap +msgid "--full-history" msgstr "" #. type: Plain text -#: en/urls.txt:19 -msgid "" -"ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/" +#: en/rev-list-options.txt:328 +msgid "Same as the default mode, but does not prune some history." msgstr "" -#. type: Plain text -#: en/urls.txt:20 -msgid "git://host.xz{startsb}:port{endsb}/path/to/repo.git/" +#. type: Labeled list +#: en/rev-list-options.txt:329 en/rev-list-options.txt:462 +#, no-wrap +msgid "--dense" msgstr "" #. type: Plain text -#: en/urls.txt:21 -msgid "http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" +#: en/rev-list-options.txt:332 +msgid "" +"Only the selected commits are shown, plus some to have a meaningful history." msgstr "" #. type: Plain text -#: en/urls.txt:22 -msgid "ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" +#: en/rev-list-options.txt:335 +msgid "All commits in the simplified history are shown." msgstr "" -#. type: Plain text -#: en/urls.txt:24 -msgid "An alternative scp-like syntax may also be used with the ssh protocol:" +#. type: Labeled list +#: en/rev-list-options.txt:336 en/rev-list-options.txt:473 +#, no-wrap +msgid "--simplify-merges" msgstr "" #. type: Plain text -#: en/urls.txt:26 -msgid "{startsb}user@{endsb}host.xz:path/to/repo.git/" +#: en/rev-list-options.txt:340 +msgid "" +"Additional option to `--full-history` to remove some needless merges from " +"the resulting history, as there are no selected commits contributing to this " +"merge." +msgstr "" + +#. type: Labeled list +#: en/rev-list-options.txt:341 en/rev-list-options.txt:520 +#, no-wrap +msgid "--ancestry-path" msgstr "" #. type: Plain text -#: en/urls.txt:32 +#: en/rev-list-options.txt:347 msgid "" -"This syntax is only recognized if there are no slashes before the first " -"colon. This helps differentiate a local path that contains a colon. For " -"example the local path `foo:bar` could be specified as an absolute path or " -"`./foo:bar` to avoid being misinterpreted as an ssh url." +"When given a range of commits to display (e.g. 'commit1..commit2' or " +"'commit2 {caret}commit1'), only display commits that exist directly on the " +"ancestry chain between the 'commit1' and 'commit2', i.e. commits that are " +"both descendants of 'commit1', and ancestors of 'commit2'." msgstr "" #. type: Plain text -#: en/urls.txt:34 -msgid "The ssh and git protocols additionally support ~username expansion:" +#: en/rev-list-options.txt:349 +msgid "A more detailed explanation follows." msgstr "" #. type: Plain text -#: en/urls.txt:36 +#: en/rev-list-options.txt:353 msgid "" -"ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}" -"user{endsb}/path/to/repo.git/" +"Suppose you specified `foo` as the <paths>. We shall call commits that " +"modify `foo` !TREESAME, and the rest TREESAME. (In a diff filtered for " +"`foo`, they look different and equal, respectively.)" msgstr "" #. type: Plain text -#: en/urls.txt:37 +#: en/rev-list-options.txt:357 msgid "" -"git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/" +"In the following, we will always refer to the same example history to " +"illustrate the differences between simplification settings. We assume that " +"you are filtering for a file `foo` in this commit graph:" msgstr "" -#. type: Plain text -#: en/urls.txt:38 -msgid "{startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/" +#. type: delimited block - +#: en/rev-list-options.txt:363 +#, no-wrap +msgid "" +"\t .-A---M---N---O---P---Q\n" +"\t / / / / / /\n" +"\tI B C D E Y\n" +"\t \\ / / / / /\n" +"\t `-------------' X\n" msgstr "" #. type: Plain text -#: en/urls.txt:41 +#: en/rev-list-options.txt:366 msgid "" -"For local repositories, also supported by Git natively, the following " -"syntaxes may be used:" +"The horizontal line of history A---Q is taken to be the first parent of each " +"merge. The commits are:" msgstr "" #. type: Plain text -#: en/urls.txt:43 -msgid "/path/to/repo.git/" +#: en/rev-list-options.txt:370 +msgid "" +"`I` is the initial commit, in which `foo` exists with contents ``asdf'', and " +"a file `quux` exists with contents ``quux''. Initial commits are compared to " +"an empty tree, so `I` is !TREESAME." msgstr "" #. type: Plain text -#: en/urls.txt:44 -msgid "\\file:///path/to/repo.git/" +#: en/rev-list-options.txt:372 +msgid "In `A`, `foo` contains just ``foo''." msgstr "" #. type: Plain text -#: en/urls.txt:49 +#: en/rev-list-options.txt:375 msgid "" -"These two syntaxes are mostly equivalent, except when cloning, when the " -"former implies --local option. See linkgit:git-clone[1] for details." +"`B` contains the same change as `A`. Its merge `M` is trivial and hence " +"TREESAME to all parents." msgstr "" #. type: Plain text -#: en/urls.txt:54 +#: en/rev-list-options.txt:378 msgid "" -"These two syntaxes are mostly equivalent, except the former implies --local " -"option." +"`C` does not change `foo`, but its merge `N` changes it to ``foobar'', so it " +"is not TREESAME to any parent." msgstr "" #. type: Plain text -#: en/urls.txt:60 +#: en/rev-list-options.txt:381 msgid "" -"When Git doesn't know how to handle a certain transport protocol, it " -"attempts to use the 'remote-<transport>' remote helper, if one exists. To " -"explicitly request a remote helper, the following syntax may be used:" +"`D` sets `foo` to ``baz''. Its merge `O` combines the strings from `N` and " +"`D` to ``foobarbaz''; i.e., it is not TREESAME to any parent." msgstr "" #. type: Plain text -#: en/urls.txt:62 -msgid "<transport>::<address>" +#: en/rev-list-options.txt:384 +msgid "" +"`E` changes `quux` to ``xyzzy'', and its merge `P` combines the strings to " +"``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`." msgstr "" #. type: Plain text -#: en/urls.txt:66 +#: en/rev-list-options.txt:388 msgid "" -"where <address> may be a path, a server and path, or an arbitrary URL-like " -"string recognized by the specific remote helper being invoked. See linkgit:" -"gitremote-helpers[1] for details." +"`X` is an independent root commit that added a new file `side`, and `Y` " +"modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and " +"`Q` is TREESAME to `P`, but not to `Y`." msgstr "" #. type: Plain text -#: en/urls.txt:71 +#: en/rev-list-options.txt:393 msgid "" -"If there are a large number of similarly-named remote repositories and you " -"want to use a different format for them (such that the URLs you use will be " -"rewritten into URLs that work), you can create a configuration section of " -"the form:" +"`rev-list` walks backwards through history, including or excluding commits " +"based on whether `--full-history` and/or parent rewriting (via `--parents` " +"or `--children`) are used. The following settings are available." msgstr "" -#. type: delimited block - -#: en/urls.txt:75 -#, no-wrap +#. type: Plain text +#: en/rev-list-options.txt:401 msgid "" -"\t[url \"<actual url base>\"]\n" -"\t\tinsteadOf = <other url base>\n" +"Commits are included if they are not TREESAME to any parent (though this can " +"be changed, see `--sparse` below). If the commit was a merge, and it was " +"TREESAME to one parent, follow only that parent. (Even if there are several " +"TREESAME parents, follow only one of them.) Otherwise, follow all parents." msgstr "" #. type: Plain text -#: en/urls.txt:78 en/urls.txt:97 -msgid "For example, with this:" +#: en/rev-list-options.txt:403 +msgid "This results in:" msgstr "" #. type: delimited block - -#: en/urls.txt:83 +#: en/rev-list-options.txt:408 #, no-wrap msgid "" -"\t[url \"git://git.host.xz/\"]\n" -"\t\tinsteadOf = host.xz:/path/to/\n" -"\t\tinsteadOf = work:\n" +"\t .-A---N---O\n" +"\t / / /\n" +"\tI---------D\n" msgstr "" #. type: Plain text -#: en/urls.txt:87 +#: en/rev-list-options.txt:414 msgid "" -"a URL like \"work:repo.git\" or like \"host.xz:/path/to/repo.git\" will be " -"rewritten in any context that takes a URL to be \"git://git.host.xz/repo.git" -"\"." +"Note how the rule to only follow the TREESAME parent, if one is available, " +"removed `B` from consideration entirely. `C` was considered via `N`, but is " +"TREESAME. Root commits are compared to an empty tree, so `I` is !TREESAME." msgstr "" #. type: Plain text -#: en/urls.txt:90 +#: en/rev-list-options.txt:418 msgid "" -"If you want to rewrite URLs for push only, you can create a configuration " -"section of the form:" +"Parent/child relations are only visible with `--parents`, but that does not " +"affect the commits selected in default mode, so we have shown the parent " +"lines." msgstr "" -#. type: delimited block - -#: en/urls.txt:94 +#. type: Labeled list +#: en/rev-list-options.txt:419 #, no-wrap +msgid "--full-history without parent rewriting" +msgstr "" + +#. type: Plain text +#: en/rev-list-options.txt:425 msgid "" -"\t[url \"<actual url base>\"]\n" -"\t\tpushInsteadOf = <other url base>\n" +"This mode differs from the default in one point: always follow all parents " +"of a merge, even if it is TREESAME to one of them. Even if more than one " +"side of the merge has commits that are included, this does not imply that " +"the merge itself is! In the example, we get" msgstr "" #. type: delimited block - -#: en/urls.txt:101 +#: en/rev-list-options.txt:428 #, no-wrap -msgid "" -"\t[url \"ssh://example.org/\"]\n" -"\t\tpushInsteadOf = git://example.org/\n" +msgid "\tI A B N D O P Q\n" msgstr "" #. type: Plain text -#: en/urls.txt:105 +#: en/rev-list-options.txt:433 msgid "" -"a URL like \"git://example.org/path/to/repo.git\" will be rewritten to " -"\"ssh://example.org/path/to/repo.git\" for pushes, but pulls will still use " -"the original URL." +"`M` was excluded because it is TREESAME to both parents. `E`, `C` and `B` " +"were all walked, but only `B` was !TREESAME, so the others do not appear." msgstr "" -# -#. type: Plain text -#: en/cmds-mainporcelain.txt:3 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Add file contents to the index." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:4 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-am[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:6 -msgid "Apply a series of patches from a mailbox." +#: en/rev-list-options.txt:437 +msgid "" +"Note that without parent rewriting, it is not really possible to talk about " +"the parent/child relationships between the commits, so we show them " +"disconnected." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:7 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-archive[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:9 -msgid "Create an archive of files from a named tree." +#: en/rev-list-options.txt:438 +#, no-wrap +msgid "--full-history with parent rewriting" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-bisect[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:12 -msgid "Use binary search to find the commit that introduced a bug." +#: en/rev-list-options.txt:441 +msgid "" +"Ordinary commits are only included if they are !TREESAME (though this can be " +"changed, see `--sparse` below)." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:13 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-branch[1]" -msgstr "git-add(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:15 -msgid "List, create, or delete branches." +#: en/rev-list-options.txt:445 +msgid "" +"Merges are always included. However, their parent list is rewritten: Along " +"each parent, prune away commits that are not included themselves. This " +"results in" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:16 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-bundle[1]" -msgstr "git-add(1)" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:18 -msgid "Move objects and refs by archive." +#. type: delimited block - +#: en/rev-list-options.txt:452 +#, no-wrap +msgid "" +"\t .-A---M---N---O---P---Q\n" +"\t / / / / /\n" +"\tI B / D /\n" +"\t \\ / / / /\n" +"\t `-------------'\n" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-checkout[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:21 -msgid "Switch branches or restore working tree files." +#: en/rev-list-options.txt:458 +msgid "" +"Compare to `--full-history` without rewriting above. Note that `E` was " +"pruned away because it is TREESAME, but the parent list of P was rewritten " +"to contain `E`'s parent `I`. The same happened for `C` and `N`, and `X`, " +"`Y` and `Q`." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:24 -msgid "Apply the changes introduced by some existing commits." +#: en/rev-list-options.txt:461 +msgid "" +"In addition to the above settings, you can change whether TREESAME affects " +"inclusion:" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:25 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-citool[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:27 -msgid "Graphical alternative to git-commit." +#: en/rev-list-options.txt:465 +msgid "" +"Commits that are walked are included if they are not TREESAME to any parent." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-clean[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:30 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Remove untracked files from the working tree." +#: en/rev-list-options.txt:468 +msgid "All commits that are walked are included." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:31 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-clone[1]" -msgstr "git-commit(1)" #. type: Plain text -#: en/cmds-mainporcelain.txt:33 -msgid "Clone a repository into a new directory." +#: en/rev-list-options.txt:472 +msgid "" +"Note that without `--full-history`, this still simplifies merges: if one of " +"the parents is TREESAME, we follow only that one, so the other sides of the " +"merge are never walked." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:34 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-commit[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:36 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Record changes to the repository." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:37 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-describe[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:39 -msgid "Give an object a human readable name based on an available ref." +#: en/rev-list-options.txt:476 +msgid "" +"First, build a history graph in the same way that `--full-history` with " +"parent rewriting does (see above)." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:42 -msgid "Show changes between commits, commit and working tree, etc." +#: en/rev-list-options.txt:479 +msgid "" +"Then simplify each commit `C` to its replacement `C'` in the final history " +"according to the following rules:" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:45 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Download objects and refs from another repository." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:46 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-format-patch[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:48 -msgid "Prepare patches for e-mail submission." +#: en/rev-list-options.txt:482 +msgid "Set `C'` to `C`." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:49 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-gc[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:51 -msgid "Cleanup unnecessary files and optimize the local repository." +#: en/rev-list-options.txt:487 +msgid "" +"Replace each parent `P` of `C'` with its simplification `P'`. In the " +"process, drop parents that are ancestors of other parents or that are root " +"commits TREESAME to an empty tree, and remove duplicates, but take care to " +"never drop all parents that we are TREESAME to." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:52 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-grep[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:54 -msgid "Print lines matching a pattern." +#: en/rev-list-options.txt:491 +msgid "" +"If after this parent rewriting, `C'` is a root or merge commit (has zero or " +">1 parents), a boundary commit, or !TREESAME, it remains. Otherwise, it is " +"replaced with its only parent." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:55 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-gui[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:57 -msgid "A portable graphical interface to Git." +#: en/rev-list-options.txt:495 +msgid "" +"The effect of this is best shown by way of comparing to `--full-history` " +"with parent rewriting. The example turns into:" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:58 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-init[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:60 -msgid "Create an empty Git repository or reinitialize an existing one." +#. type: delimited block - +#: en/rev-list-options.txt:502 +#, no-wrap +msgid "" +"\t .-A---M---N---O\n" +"\t / / /\n" +"\tI B D\n" +"\t \\ / /\n" +"\t `---------'\n" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:61 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-log[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:63 -msgid "Show commit logs." +#: en/rev-list-options.txt:505 +msgid "Note the major differences in `N`, `P`, and `Q` over `--full-history`:" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:66 -msgid "Join two or more development histories together." +#: en/rev-list-options.txt:509 +msgid "" +"`N`'s parent list had `I` removed, because it is an ancestor of the other " +"parent `M`. Still, `N` remained because it is !TREESAME." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:67 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-mv[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:69 -msgid "Move or rename a file, a directory, or a symlink." +#: en/rev-list-options.txt:512 +msgid "" +"`P`'s parent list similarly had `I` removed. `P` was then removed " +"completely, because it had one parent and is TREESAME." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:70 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-notes[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:72 -msgid "Add or inspect object notes." +#: en/rev-list-options.txt:516 +msgid "" +"`Q`'s parent list had `Y` simplified to `X`. `X` was then removed, because " +"it was a TREESAME root. `Q` was then removed completely, because it had one " +"parent and is TREESAME." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:75 -msgid "Fetch from and integrate with another repository or a local branch." +#: en/rev-list-options.txt:519 +msgid "Finally, there is a fifth simplification mode available:" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:76 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-push[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:78 -msgid "Update remote refs along with associated objects." +#: en/rev-list-options.txt:525 +msgid "" +"Limit the displayed commits to those directly on the ancestry chain between " +"the ``from'' and ``to'' commits in the given commit range. I.e. only display " +"commits that are ancestor of the ``to'' commit and descendants of the " +"``from'' commit." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:81 -msgid "Reapply commits on top of another base tip." +#: en/rev-list-options.txt:527 +msgid "As an example use case, consider the following commit history:" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:82 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-reset[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:84 -msgid "Reset current HEAD to the specified state." +#. type: delimited block - +#: en/rev-list-options.txt:534 +#, no-wrap +msgid "" +"\t D---E-------F\n" +"\t / \\ \\\n" +"\t B---C---G---H---I---J\n" +"\t / \\\n" +"\tA-------K---------------L--M\n" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:87 -msgid "Revert some existing commits." +#: en/rev-list-options.txt:542 +msgid "" +"A regular 'D..M' computes the set of commits that are ancestors of `M`, but " +"excludes the ones that are ancestors of `D`. This is useful to see what " +"happened to the history leading to `M` since `D`, in the sense that ``what " +"does `M` have that did not exist in `D`''. The result in this example would " +"be all the commits, except `A` and `B` (and `D` itself, of course)." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:88 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-rm[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:90 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Remove files from the working tree and from the index." +#: en/rev-list-options.txt:548 +msgid "" +"When we want to find out what commits in `M` are contaminated with the bug " +"introduced by `D` and need fixing, however, we might want to view only the " +"subset of 'D..M' that are actually descendants of `D`, i.e. excluding `C` " +"and `K`. This is exactly what the `--ancestry-path` option does. Applied to " +"the 'D..M' range, it results in:" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:91 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-shortlog[1]" -msgstr "git-commit(1)" -#. type: Plain text -#: en/cmds-mainporcelain.txt:93 -msgid "Summarize 'git log' output." +#. type: delimited block - +#: en/rev-list-options.txt:555 +#, no-wrap +msgid "" +"\t\tE-------F\n" +"\t\t \\ \\\n" +"\t\t G---H---I---J\n" +"\t\t\t \\\n" +"\t\t\t\tL--M\n" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:94 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-show[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:96 -msgid "Show various types of objects." +#: en/rev-list-options.txt:564 +msgid "" +"The `--simplify-by-decoration` option allows you to view only the big " +"picture of the topology of the history, by omitting commits that are not " +"referenced by tags. Commits are marked as !TREESAME (in other words, kept " +"after history simplification rules described above) if (1) they are " +"referenced by tags, or (2) they change the contents of the paths given on " +"the command line. All other commits are marked as TREESAME (subject to be " +"simplified away)." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:97 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-stash[1]" -msgstr "git-commit(1)" +#. type: Title ~ +#: en/rev-list-options.txt:567 +#, no-wrap +msgid "Bisection Helpers" +msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:99 -msgid "Stash the changes in a dirty working directory away." +#: en/rev-list-options.txt:576 +msgid "" +"Limit output to the one commit object which is roughly halfway between " +"included and excluded commits. Note that the bad bisection ref `refs/bisect/" +"bad` is added to the included commits (if it exists) and the good bisection " +"refs `refs/bisect/good-*` are added to the excluded commits (if they exist). " +"Thus, supposing there are no refs in `refs/bisect/`, if" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:100 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-status[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:102 -msgid "Show the working tree status." +#. type: delimited block - +#: en/rev-list-options.txt:579 +#, no-wrap +msgid "\t$ git rev-list --bisect foo ^bar ^baz\n" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:103 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-submodule[1]" -msgstr "git-add(1)" - #. type: Plain text -#: en/cmds-mainporcelain.txt:105 -msgid "Initialize, update or inspect submodules." +#: en/rev-list-options.txt:582 +msgid "outputs 'midpoint', the output of the two commands" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:106 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-tag[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/rev-list-options.txt:586 +#, no-wrap +msgid "" +"\t$ git rev-list foo ^midpoint\n" +"\t$ git rev-list midpoint ^bar ^baz\n" +msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:108 -msgid "Create, list, delete or verify a tag object signed with GPG." +#: en/rev-list-options.txt:592 +msgid "" +"would be of roughly the same length. Finding the change which introduces a " +"regression is thus reduced to a binary search: repeatedly generate and test " +"new 'midpoint's until the commit chain is of length one. Cannot be combined " +"with --first-parent." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:109 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-worktree[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:593 +#, no-wrap +msgid "--bisect-vars" +msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:111 -msgid "Manage multiple working trees." +#: en/rev-list-options.txt:604 +msgid "" +"This calculates the same as `--bisect`, except that refs in `refs/bisect/` " +"are not used, and except that this outputs text ready to be eval'ed by the " +"shell. These lines will assign the name of the midpoint revision to the " +"variable `bisect_rev`, and the expected number of commits to be tested after " +"`bisect_rev` is tested to `bisect_nr`, the expected number of commits to be " +"tested if `bisect_rev` turns out to be good to `bisect_good`, the expected " +"number of commits to be tested if `bisect_rev` turns out to be bad to " +"`bisect_bad`, and the number of commits we are bisecting right now to " +"`bisect_all`." msgstr "" -#. type: Plain text -#: en/cmds-mainporcelain.txt:114 -msgid "The Git repository browser." +#. type: Labeled list +#: en/rev-list-options.txt:605 +#, no-wrap +msgid "--bisect-all" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:3 -msgid "Get and set repository or global options." +#: en/rev-list-options.txt:611 +msgid "" +"This outputs all the commit objects between the included and excluded " +"commits, ordered by their distance to the included and excluded commits. " +"Refs in `refs/bisect/` are not used. The farthest from them is displayed " +"first. (This is the only one displayed by `--bisect`.)" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:6 -msgid "Git data exporter." +#: en/rev-list-options.txt:615 +msgid "" +"This is useful because it makes it easy to choose a good commit to test when " +"you want to avoid to test some of them for some reason (they may not compile " +"for example)." msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:9 -msgid "Backend for fast Git data importers." +#: en/rev-list-options.txt:619 +msgid "" +"This option can be used along with `--bisect-vars`, in this case, after all " +"the sorted commit objects, there will be the same text as if `--bisect-vars` " +"had been used alone." msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:10 +#. type: Title ~ +#: en/rev-list-options.txt:623 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-filter-branch[1]" -msgstr "git-commit(1)" +#| msgid "Configuration" +msgid "Commit Ordering" +msgstr "Configuration" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:12 -msgid "Rewrite branches." +#: en/rev-list-options.txt:626 +msgid "By default, the commits are shown in reverse chronological order." msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:15 -msgid "Run merge conflict resolution tools to resolve merge conflicts." +#: en/rev-list-options.txt:630 +msgid "" +"Show no parents before all of its children are shown, but otherwise show " +"commits in the commit timestamp order." msgstr "" #. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:16 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-pack-refs[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:631 +#, no-wrap +msgid "--author-date-order" +msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:18 -msgid "Pack heads and tags for efficient repository access." +#: en/rev-list-options.txt:634 +msgid "" +"Show no parents before all of its children are shown, but otherwise show " +"commits in the author timestamp order." msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-prune[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:21 -msgid "Prune all unreachable objects from the object database." +#: en/rev-list-options.txt:639 +msgid "" +"Show no parents before all of its children are shown, and avoid showing " +"commits on multiple lines of history intermixed." msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:22 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-reflog[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:24 -msgid "Manage reflog information." +#: en/rev-list-options.txt:641 +msgid "For example, in a commit history like this:" msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:25 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-remote[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/rev-list-options.txt:647 +#, no-wrap +msgid "" +" ---1----2----4----7\n" +"\t\\\t \\\n" +"\t 3----5----6----8---\n" +msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:27 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Manage set of tracked repositories." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-repack[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:653 +msgid "" +"where the numbers denote the order of commit timestamps, `git rev-list` and " +"friends with `--date-order` show the commits in the timestamp order: 8 7 6 5 " +"4 3 2 1." +msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:30 -msgid "Pack unpacked objects in a repository." +#: en/rev-list-options.txt:658 +msgid "" +"With `--topo-order`, they would show 8 6 5 3 7 4 2 1 (or 8 7 4 2 6 5 3 1); " +"some older commits are shown before newer ones in order to avoid showing the " +"commits from two parallel development track mixed together." msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:31 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-replace[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:33 -msgid "Create, list, delete refs to replace objects." +#: en/rev-list-options.txt:663 +msgid "" +"Output the commits chosen to be shown (see Commit Limiting section above) in " +"reverse order. Cannot be combined with `--walk-reflogs`." msgstr "" -#. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:3 -msgid "Annotate file lines with commit information." +#. type: Title ~ +#: en/rev-list-options.txt:665 +#, no-wrap +msgid "Object Traversal" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:6 -msgid "Show what revision and author last modified each line of a file." +#: en/rev-list-options.txt:668 +msgid "These options are mostly targeted for packing of Git repositories." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:7 +#: en/rev-list-options.txt:670 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-cherry[1]" -msgstr "git-commit(1)" +#| msgid "git-fsck-objects(1)" +msgid "--objects" +msgstr "git-fsck-objects(1)" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:9 -msgid "Find commits yet to be applied to upstream." +#: en/rev-list-options.txt:675 +msgid "" +"Print the object IDs of any object referenced by the listed commits. `--" +"objects foo ^bar` thus means ``send me all object IDs which I need to " +"download if I have the commit object _bar_ but not _foo_''." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-count-objects[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:676 +#, no-wrap +msgid "--objects-edge" +msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:12 -msgid "Count unpacked number of objects and their disk consumption." +#: en/rev-list-options.txt:682 +msgid "" +"Similar to `--objects`, but also print the IDs of excluded commits prefixed " +"with a ``-'' character. This is used by linkgit:git-pack-objects[1] to " +"build a ``thin'' pack, which records objects in deltified form based on " +"objects contained in these excluded commits to reduce network traffic." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:13 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-difftool[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:683 +#, no-wrap +msgid "--objects-edge-aggressive" +msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:15 -msgid "Show changes using common diff tools." +#: en/rev-list-options.txt:687 +msgid "" +"Similar to `--objects-edge`, but it tries harder to find excluded commits at " +"the cost of increased time. This is used instead of `--objects-edge` to " +"build ``thin'' packs for shallow repositories." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:16 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-fsck[1]" -msgstr "git-commit(1)" - -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-get-tar-commit-id[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:688 +#, no-wrap +msgid "--indexed-objects" +msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:21 -msgid "Extract commit ID from an archive created using git-archive." +#: en/rev-list-options.txt:692 +msgid "" +"Pretend as if all trees and blobs used by the index are listed on the " +"command line. Note that you probably want to use `--objects`, too." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:22 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-help[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:24 -msgid "Display help information about Git." +#: en/rev-list-options.txt:696 +msgid "" +"Only useful with `--objects`; print the object IDs that are not in packs." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:25 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-instaweb[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:698 +#, no-wrap +msgid "--no-walk[=(sorted|unsorted)]" +msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:27 -msgid "Instantly browse your working repository in gitweb." +#: en/rev-list-options.txt:706 +msgid "" +"Only show the given commits, but do not traverse their ancestors. This has " +"no effect if a range is specified. If the argument `unsorted` is given, the " +"commits are shown in the order they were given on the command line. " +"Otherwise (if `sorted` or no argument was given), the commits are shown in " +"reverse chronological order by commit time. Cannot be combined with `--" +"graph`." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-merge-tree[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:707 +#, no-wrap +msgid "--do-walk" +msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:30 -msgid "Show three-way merge without touching index." +#: en/rev-list-options.txt:709 +msgid "Overrides a previous `--no-walk`." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:31 +#. type: Title ~ +#: en/rev-list-options.txt:711 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-rerere[1]" -msgstr "git-commit(1)" +#| msgid "Configuration" +msgid "Commit Formatting" +msgstr "Configuration" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:33 -msgid "Reuse recorded resolution of conflicted merges." +#: en/rev-list-options.txt:717 +msgid "" +"Using these options, linkgit:git-rev-list[1] will act similar to the more " +"specialized family of commit log tools: linkgit:git-log[1], linkgit:git-" +"show[1], and linkgit:git-whatchanged[1]" msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:34 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-rev-parse[1]" -msgstr "git-add(1)" +#: en/rev-list-options.txt:721 +#, no-wrap +msgid "--relative-date" +msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:36 -msgid "Pick out and massage parameters." +#: en/rev-list-options.txt:723 +msgid "Synonym for `--date=relative`." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:37 +#: en/rev-list-options.txt:724 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-show-branch[1]" -msgstr "git-commit(1)" +#| msgid "Configuration" +msgid "--date=<format>" +msgstr "Configuration" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:39 -msgid "Show branches and their commits." +#: en/rev-list-options.txt:731 +msgid "" +"Only takes effect for dates shown in human-readable format, such as when " +"using `--pretty`. `log.date` config variable sets a default value for the " +"log command's `--date` option. By default, dates are shown in the original " +"time zone (either committer's or author's). If `-local` is appended to the " +"format (e.g., `iso-local`), the user's local time zone is used instead." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:40 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-verify-commit[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:42 -msgid "Check the GPG signature of commits." +#: en/rev-list-options.txt:735 +msgid "" +"`--date=relative` shows dates relative to the current time, e.g. ``2 hours " +"ago''. The `-local` option has no effect for `--date=relative`." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:43 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-verify-tag[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:45 -msgid "Check the GPG signature of tags." +#: en/rev-list-options.txt:737 +msgid "`--date=local` is an alias for `--date=default-local`." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:46 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-whatchanged[1]" -msgstr "git-add(1)" - #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:48 -msgid "Show logs with difference each commit introduces." +#: en/rev-list-options.txt:740 +msgid "" +"`--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like " +"format. The differences to the strict ISO 8601 format are:" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:51 -msgid "Git web interface (web frontend to Git repositories)." +#: en/rev-list-options.txt:742 +msgid "a space instead of the `T` date/time delimiter" msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:1 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-archimport[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-foreignscminterface.txt:3 -msgid "Import an Arch repository into Git." +#: en/rev-list-options.txt:743 +msgid "a space between time and time zone" msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:4 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-cvsexportcommit[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-foreignscminterface.txt:6 -msgid "Export a single commit to a CVS checkout." +#: en/rev-list-options.txt:744 +msgid "no colon between hours and minutes of the time zone" msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:7 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-cvsimport[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-foreignscminterface.txt:9 -msgid "Salvage your data out of another SCM people love to hate." +#: en/rev-list-options.txt:748 +msgid "" +"`--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict " +"ISO 8601 format." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-cvsserver[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-foreignscminterface.txt:12 -msgid "A CVS server emulator for Git." +#: en/rev-list-options.txt:751 +msgid "" +"`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 format, " +"often found in email messages." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:13 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-imap-send[1]" -msgstr "git-add(1)" +#. type: Plain text +#: en/rev-list-options.txt:753 +msgid "" +"`--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format." +msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:15 -msgid "Send a collection of patches from stdin to an IMAP folder." +#: en/rev-list-options.txt:762 +msgid "" +"`--date=raw` shows the date as seconds since the epoch (1970-01-01 00:00:00 " +"UTC), followed by a space, and then the timezone as an offset from UTC (a `" +"+` or `-` with four digits; the first two are hours, and the second two are " +"minutes). I.e., as if the timestamp were formatted with `strftime(\"%s %z" +"\")`). Note that the `-local` option does not affect the seconds-since-" +"epoch value (which is always measured in UTC), but does switch the " +"accompanying timezone value." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:16 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-p4[1]" -msgstr "git-commit(1)" +#. type: Plain text +#: en/rev-list-options.txt:766 +msgid "" +"`--date=unix` shows the date as a Unix epoch timestamp (seconds since " +"1970). As with `--raw`, this is always in UTC and therefore `-local` has no " +"effect." +msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:18 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Import from and submit to Perforce repositories." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" +#: en/rev-list-options.txt:772 +msgid "" +"`--date=format:...` feeds the format `...` to your system `strftime`. Use " +"`--date=format:%c` to show the date in your system locale's preferred " +"format. See the `strftime` manual for a complete list of format " +"placeholders. When using `-local`, the correct syntax is `--date=format-" +"local:...`." +msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-quiltimport[1]" -msgstr "git-commit(1)" +#. type: Plain text +#: en/rev-list-options.txt:775 +msgid "" +"`--date=default` is the default format, and is similar to `--date=rfc2822`, " +"with a few exceptions:" +msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:21 -msgid "Applies a quilt patchset onto the current branch." +#: en/rev-list-options.txt:777 +msgid "there is no comma after the day-of-week" msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:22 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-request-pull[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-foreignscminterface.txt:24 -msgid "Generates a summary of pending changes." +#: en/rev-list-options.txt:779 +msgid "the time zone is omitted when the local time zone is used" msgstr "" #. type: Labeled list -#: en/cmds-foreignscminterface.txt:25 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-send-email[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:781 +#, no-wrap +msgid "--header" +msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:27 -msgid "Send a collection of patches as emails." +#: en/rev-list-options.txt:784 +msgid "" +"Print the contents of the commit in raw-format; each record is separated " +"with a NUL character." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-svn[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-foreignscminterface.txt:30 -msgid "Bidirectional operation between a Subversion repository and Git." +#: en/rev-list-options.txt:789 +msgid "" +"Print also the parents of the commit (in the form \"commit parent...\"). " +"Also enables parent rewriting, see 'History Simplification' below." msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:1 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-apply[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:790 +#, no-wrap +msgid "--children" +msgstr "" -# #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:3 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Apply a patch to files and/or to the index." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" +#: en/rev-list-options.txt:793 +msgid "" +"Print also the children of the commit (in the form \"commit child...\"). " +"Also enables parent rewriting, see 'History Simplification' below." +msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:4 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-checkout-index[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:795 +#, no-wrap +msgid "--timestamp" +msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:6 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Copy files from the index to the working tree." +#: en/rev-list-options.txt:797 +msgid "Print the raw commit timestamp." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:7 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-commit-tree[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:799 +#, no-wrap +msgid "--left-right" +msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:9 -msgid "Create a new commit object." +#: en/rev-list-options.txt:804 +msgid "" +"Mark which side of a symmetric difference a commit is reachable from. " +"Commits from the left side are prefixed with `<` and those from the right " +"with `>`. If combined with `--boundary`, those commits are prefixed with `-" +"`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-hash-object[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:12 -msgid "Compute object ID and optionally creates a blob from a file." +#: en/rev-list-options.txt:806 +msgid "For example, if you have this topology:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:13 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-index-pack[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/rev-list-options.txt:813 +#, no-wrap +msgid "" +"\t y---b---b branch B\n" +"\t / \\ /\n" +"\t / .\n" +"\t / / \\\n" +"\t o---x---a---a branch A\n" +msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:15 -msgid "Build pack index file for an existing packed archive." +#: en/rev-list-options.txt:816 +msgid "you would get an output like this:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:16 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-merge-file[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/rev-list-options.txt:819 +#, no-wrap +msgid "\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n" +msgstr "" -#. type: Plain text -#: en/cmds-plumbingmanipulators.txt:18 -msgid "Run a three-way file merge." +#. type: delimited block - +#: en/rev-list-options.txt:826 +#, no-wrap +msgid "" +"\t>bbbbbbb... 3rd on b\n" +"\t>bbbbbbb... 2nd on b\n" +"\t<aaaaaaa... 3rd on a\n" +"\t<aaaaaaa... 2nd on a\n" +"\t-yyyyyyy... 1st on b\n" +"\t-xxxxxxx... 1st on a\n" msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-merge-index[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:828 +#, no-wrap +msgid "--graph" +msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:21 -msgid "Run a merge for files needing merging." +#: en/rev-list-options.txt:834 +msgid "" +"Draw a text-based graphical representation of the commit history on the left " +"hand side of the output. This may cause extra lines to be printed in " +"between commits, in order for the graph history to be drawn properly. " +"Cannot be combined with `--no-walk`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:22 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-mktag[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:24 -msgid "Creates a tag object." +#: en/rev-list-options.txt:836 +msgid "This enables parent rewriting, see 'History Simplification' below." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:25 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-mktree[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:27 -msgid "Build a tree-object from ls-tree formatted text." +#: en/rev-list-options.txt:839 +msgid "" +"This implies the `--topo-order` option by default, but the `--date-order` " +"option may also be specified." msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-pack-objects[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:840 +#, no-wrap +msgid "--show-linear-break[=<barrier>]" +msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:30 -msgid "Create a packed archive of objects." +#: en/rev-list-options.txt:846 +msgid "" +"When --graph is not used, all history branches are flattened which can make " +"it hard to see that the two consecutive commits do not belong to a linear " +"branch. This option puts a barrier in between them in that case. If " +"`<barrier>` is specified, it is the string that will be shown instead of the " +"default one." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:31 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-prune-packed[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:33 -msgid "Remove extra objects that are already in pack files." +#: en/rev-list-options.txt:856 +msgid "" +"Print a number stating how many commits would have been listed, and suppress " +"all other output. When used together with `--left-right`, instead print the " +"counts for left and right commits, separated by a tab. When used together " +"with `--cherry-mark`, omit patch equivalent commits from these counts and " +"print the count for equivalent commits separated by a tab." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:34 +#. type: Title ~ +#: en/rev-list-options.txt:860 #, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-read-tree[1]" -msgstr "git-commit(1)" +#| msgid "Configuration" +msgid "Diff Formatting" +msgstr "Configuration" -# #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:36 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Reads tree information into the index." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:37 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-symbolic-ref[1]" -msgstr "git-add(1)" +#: en/rev-list-options.txt:865 +msgid "" +"Listed below are options that control the formatting of diff output. Some " +"of them are specific to linkgit:git-rev-list[1], however other diff options " +"may be given. See linkgit:git-diff-files[1] for more options." +msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:39 -msgid "Read, modify and delete symbolic refs." +#: en/rev-list-options.txt:872 +msgid "" +"With this option, diff output for a merge commit shows the differences from " +"each of the parents to the merge result simultaneously instead of showing " +"pairwise diff between a parent and the result one at a time. Furthermore, it " +"lists only files which were modified from all parents." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:40 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-unpack-objects[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:42 -msgid "Unpack objects from a packed archive." +#: en/rev-list-options.txt:878 +msgid "" +"This flag implies the `-c` option and further compresses the patch output by " +"omitting uninteresting hunks whose contents in the parents have only two " +"variants and the merge result picks one of them without modification." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:43 -#, fuzzy, no-wrap -#| msgid "git-add(1)" -msgid "linkgit:git-update-index[1]" -msgstr "git-add(1)" - -# #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:45 -#, fuzzy -#| msgid "git-add - Add file contents to the index" -msgid "Register file contents in the working tree to the index." -msgstr "git-add - Ajoute le contenu de fichiers 횪 l'index" - -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:46 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-update-ref[1]" -msgstr "git-commit(1)" +#: en/rev-list-options.txt:886 +msgid "" +"This flag makes the merge commits show the full diff like regular commits; " +"for each merge parent, a separate log entry and diff is generated. An " +"exception is that only diff against the first parent is shown when `--first-" +"parent` option is given; in that case, the output represents the changes the " +"merge brought _into_ the then-current branch." +msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:48 -msgid "Update the object name stored in a ref safely." +#: en/rev-list-options.txt:889 +msgid "Show recursive diffs." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:51 -msgid "Create a tree object from the current index." +#: en/rev-list-options.txt:892 +msgid "Show the tree objects in the diff output. This implies `-r`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:1 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-cat-file[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:3 -msgid "Provide content or type and size information for repository objects." +#: en/sequencer.txt:5 +msgid "" +"Continue the operation in progress using the information in '.git/" +"sequencer'. Can be used to continue after resolving conflicts in a failed " +"cherry-pick or revert." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:4 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-diff-files[1]" -msgstr "git-commit(1)" +#. type: Plain text +#: en/sequencer.txt:10 +msgid "" +"Forget about the current operation in progress. Can be used to clear the " +"sequencer state after a failed cherry-pick or revert." +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:6 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Compares files in the working tree and the index." +#: en/sequencer.txt:12 +msgid "Cancel the operation and return to the pre-sequence state." msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:7 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-diff-index[1]" -msgstr "git-commit(1)" +#. type: Plain text +#: en/transfer-data-leaks.txt:11 +msgid "" +"The fetch and push protocols are not designed to prevent one side from " +"stealing data from the other repository that was not intended to be shared. " +"If you have private data that you need to protect from a malicious peer, " +"your best option is to store it in another repository. This applies to both " +"clients and servers. In particular, namespaces on a server are not effective " +"for read access control; you should only grant read access to a namespace to " +"clients that you would trust with read access to the entire repository." +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:9 -#, fuzzy -#| msgid "" -#| "by using 'git rm' to remove files from the working tree and the index, " -#| "again before using the 'commit' command;" -msgid "Compare a tree to the working tree or index." +#: en/transfer-data-leaks.txt:13 +msgid "The known attack vectors are as follows:" msgstr "" -"en utilisant 'git rm' pour supprimer des fichiers de l'arbre de travail et " -"de l'index, encore une fois, avant d'utiliser la commande 'commit'," -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-diff-tree[1]" -msgstr "git-commit(1)" +#. type: Plain text +#: en/transfer-data-leaks.txt:26 +msgid "" +"The victim sends \"have\" lines advertising the IDs of objects it has that " +"are not explicitly intended to be shared but can be used to optimize the " +"transfer if the peer also has them. The attacker chooses an object ID X to " +"steal and sends a ref to X, but isn't required to send the content of X " +"because the victim already has it. Now the victim believes that the attacker " +"has X, and it sends the content of X back to the attacker later. (This " +"attack is most straightforward for a client to perform on a server, by " +"creating a ref to X in the namespace the client has access to and then " +"fetching it. The most likely way for a server to perform it on a client is " +"to \"merge\" X into a public branch and hope that the user does additional " +"work on this branch and pushes it back to the server without noticing the " +"merge.)" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:12 -msgid "Compares the content and mode of blobs found via two tree objects." +#: en/transfer-data-leaks.txt:30 +msgid "" +"As in #1, the attacker chooses an object ID X to steal. The victim sends an " +"object Y that the attacker already has, and the attacker falsely claims to " +"have X and not Y, so the victim sends Y as a delta against X. The delta " +"reveals regions of X that are similar to Y to the attacker." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:13 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-for-each-ref[1]" -msgstr "git-commit(1)" +#. type: Title - +#: en/urls-remotes.txt:4 +#, no-wrap +msgid "REMOTES[[REMOTES]]" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:15 -msgid "Output information on each ref." +#: en/urls-remotes.txt:8 +msgid "" +"The name of one of the following can be used instead of a URL as " +"`<repository>` argument:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:16 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-ls-files[1]" -msgstr "git-commit(1)" +#. type: Plain text +#: en/urls-remotes.txt:10 +msgid "a remote in the Git configuration file: `$GIT_DIR/config`," +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:18 -msgid "Show information about files in the index and the working tree." +#: en/urls-remotes.txt:11 +msgid "a file in the `$GIT_DIR/remotes` directory, or" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-ls-remote[1]" -msgstr "git-commit(1)" +#. type: Plain text +#: en/urls-remotes.txt:12 +msgid "a file in the `$GIT_DIR/branches` directory." +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:21 -msgid "List references in a remote repository." +#: en/urls-remotes.txt:15 +msgid "" +"All of these also allow you to omit the refspec from the command line " +"because they each contain a refspec which git will use by default." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:22 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-ls-tree[1]" -msgstr "git-commit(1)" +#. type: Title ~ +#: en/urls-remotes.txt:17 +#, no-wrap +msgid "Named remote in configuration file" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:24 -msgid "List the contents of a tree object." +#: en/urls-remotes.txt:26 +msgid "" +"You can choose to provide the name of a remote which you had previously " +"configured using linkgit:git-remote[1], linkgit:git-config[1] or even by a " +"manual edit to the `$GIT_DIR/config` file. The URL of this remote will be " +"used to access the repository. The refspec of this remote will be used by " +"default when you do not provide a refspec on the command line. The entry in " +"the config file would appear like this:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:25 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-merge-base[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/urls-remotes.txt:33 +#, no-wrap +msgid "" +"\t[remote \"<name>\"]\n" +"\t\turl = <url>\n" +"\t\tpushurl = <pushurl>\n" +"\t\tpush = <refspec>\n" +"\t\tfetch = <refspec>\n" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:27 -msgid "Find as good common ancestors as possible for a merge." +#: en/urls-remotes.txt:37 +msgid "" +"The `<pushurl>` is used for pushes only. It is optional and defaults to " +"`<url>`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-name-rev[1]" -msgstr "git-commit(1)" +#. type: Title ~ +#: en/urls-remotes.txt:39 +#, no-wrap +msgid "Named file in `$GIT_DIR/remotes`" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:30 -msgid "Find symbolic names for given revs." +#: en/urls-remotes.txt:47 +msgid "" +"You can choose to provide the name of a file in `$GIT_DIR/remotes`. The URL " +"in this file will be used to access the repository. The refspec in this " +"file will be used as default when you do not provide a refspec on the " +"command line. This file should have the following format:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:31 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-pack-redundant[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/urls-remotes.txt:52 +#, no-wrap +msgid "" +"\tURL: one of the above URL format\n" +"\tPush: <refspec>\n" +"\tPull: <refspec>\n" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:33 -msgid "Find redundant pack files." +#: en/urls-remotes.txt:59 +msgid "" +"`Push:` lines are used by 'git push' and `Pull:` lines are used by 'git " +"pull' and 'git fetch'. Multiple `Push:` and `Pull:` lines may be specified " +"for additional branch mappings." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:34 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-rev-list[1]" -msgstr "git-commit(1)" +#. type: Title ~ +#: en/urls-remotes.txt:61 +#, no-wrap +msgid "Named file in `$GIT_DIR/branches`" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:36 -msgid "Lists commit objects in reverse chronological order." +#: en/urls-remotes.txt:67 +msgid "" +"You can choose to provide the name of a file in `$GIT_DIR/branches`. The " +"URL in this file will be used to access the repository. This file should " +"have the following format:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:37 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-show-index[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/urls-remotes.txt:71 +#, no-wrap +msgid "\t<url>#<head>\n" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:39 -msgid "Show packed archive index." +#: en/urls-remotes.txt:74 +msgid "`<url>` is required; `#<head>` is optional." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:42 -msgid "List references in a local repository." +#: en/urls-remotes.txt:79 +msgid "" +"Depending on the operation, git will use one of the following refspecs, if " +"you don't provide one on the command line. `<branch>` is the name of this " +"file in `$GIT_DIR/branches` and `<head>` defaults to `master`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:43 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-unpack-file[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:45 -msgid "Creates a temporary file with a blob's contents." +#: en/urls-remotes.txt:81 +msgid "git fetch uses:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:46 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-var[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/urls-remotes.txt:84 +#, no-wrap +msgid "\trefs/heads/<head>:refs/heads/<branch>\n" +msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:48 -msgid "Show a Git logical variable." +#: en/urls-remotes.txt:87 +msgid "git push uses:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:49 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-verify-pack[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-plumbinginterrogators.txt:51 -msgid "Validate packed Git archive files." +#. type: delimited block - +#: en/urls-remotes.txt:90 +#, no-wrap +msgid "\tHEAD:refs/heads/<head>\n" msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:1 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-daemon[1]" -msgstr "git-commit(1)" +#. type: Title - +#: en/urls.txt:2 +#, no-wrap +msgid "GIT URLS[[URLS]]" +msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:3 -msgid "A really simple server for Git repositories." +#: en/urls.txt:8 +msgid "" +"In general, URLs contain information about the transport protocol, the " +"address of the remote server, and the path to the repository. Depending on " +"the transport protocol, some of this information may be absent." msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:4 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-fetch-pack[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-synchingrepositories.txt:6 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Receive missing objects from another repository." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:7 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-http-backend[1]" -msgstr "git-commit(1)" +#: en/urls.txt:12 +msgid "" +"Git supports ssh, git, http, and https protocols (in addition, ftp, and ftps " +"can be used for fetching, but this is inefficient and deprecated; do not use " +"it)." +msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:9 -msgid "Server side implementation of Git over HTTP." +#: en/urls.txt:15 +msgid "" +"The native transport (i.e. git:// URL) does no authentication and should be " +"used with caution on unsecured networks." msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-send-pack[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-synchingrepositories.txt:12 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Push objects over Git protocol to another repository." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:13 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-update-server-info[1]" -msgstr "git-commit(1)" +#: en/urls.txt:17 +msgid "The following syntaxes may be used with them:" +msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:15 -msgid "Update auxiliary info file to help dumb servers." +#: en/urls.txt:19 +msgid "" +"ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:1 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-http-fetch[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-synchelpers.txt:3 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Download from a remote Git repository via HTTP." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-synchelpers.txt:4 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-http-push[1]" -msgstr "git-commit(1)" +#: en/urls.txt:20 +msgid "git://host.xz{startsb}:port{endsb}/path/to/repo.git/" +msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:6 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Push objects over HTTP/DAV to another repository." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-synchelpers.txt:7 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-parse-remote[1]" -msgstr "git-commit(1)" +#: en/urls.txt:21 +msgid "http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" +msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:9 -msgid "Routines to help parsing remote repository access parameters." +#: en/urls.txt:22 +msgid "ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-receive-pack[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-synchelpers.txt:12 -#, fuzzy -#| msgid "git-commit - Record changes to the repository" -msgid "Receive what is pushed into the repository." -msgstr "git-commit - Enregistrer les modifications dans le d챕p척t" - -#. type: Labeled list -#: en/cmds-synchelpers.txt:13 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-shell[1]" -msgstr "git-commit(1)" +#: en/urls.txt:24 +msgid "An alternative scp-like syntax may also be used with the ssh protocol:" +msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:15 -msgid "Restricted login shell for Git-only SSH access." +#: en/urls.txt:26 +msgid "{startsb}user@{endsb}host.xz:path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:16 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-upload-archive[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-synchelpers.txt:18 -msgid "Send archive back to git-archive." +#: en/urls.txt:32 +msgid "" +"This syntax is only recognized if there are no slashes before the first " +"colon. This helps differentiate a local path that contains a colon. For " +"example the local path `foo:bar` could be specified as an absolute path or " +"`./foo:bar` to avoid being misinterpreted as an ssh url." msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-upload-pack[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-synchelpers.txt:21 -msgid "Send objects packed back to git-fetch-pack." +#: en/urls.txt:34 +msgid "The ssh and git protocols additionally support ~username expansion:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:1 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-check-attr[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:3 -msgid "Display gitattributes information." +#: en/urls.txt:36 +msgid "" +"ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}" +"user{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:4 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-check-ignore[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:6 -msgid "Debug gitignore / exclude files." +#: en/urls.txt:37 +msgid "" +"git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:7 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-check-mailmap[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:9 -msgid "Show canonical names and email addresses of contacts." +#: en/urls.txt:38 +msgid "{startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:10 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-check-ref-format[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:12 -msgid "Ensures that a reference name is well formed." +#: en/urls.txt:41 +msgid "" +"For local repositories, also supported by Git natively, the following " +"syntaxes may be used:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:13 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-column[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:15 -msgid "Display data in columns." +#: en/urls.txt:43 +msgid "/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:16 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-credential[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:18 -msgid "Retrieve and store user credentials." +#: en/urls.txt:44 +msgid "\\file:///path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:19 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-credential-cache[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:21 -msgid "Helper to temporarily store passwords in memory." +#: en/urls.txt:49 +msgid "" +"These two syntaxes are mostly equivalent, except when cloning, when the " +"former implies --local option. See linkgit:git-clone[1] for details." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:22 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-credential-store[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:24 -msgid "Helper to store credentials on disk." +#: en/urls.txt:54 +msgid "" +"These two syntaxes are mostly equivalent, except the former implies --local " +"option." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:25 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-fmt-merge-msg[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:27 -msgid "Produce a merge commit message." +#: en/urls.txt:60 +msgid "" +"When Git doesn't know how to handle a certain transport protocol, it " +"attempts to use the 'remote-<transport>' remote helper, if one exists. To " +"explicitly request a remote helper, the following syntax may be used:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:28 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-interpret-trailers[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:30 -msgid "add or parse structured information in commit messages." +#: en/urls.txt:62 +msgid "<transport>::<address>" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:31 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-mailinfo[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:33 -msgid "Extracts patch and authorship from a single e-mail message." +#: en/urls.txt:66 +msgid "" +"where <address> may be a path, a server and path, or an arbitrary URL-like " +"string recognized by the specific remote helper being invoked. See linkgit:" +"gitremote-helpers[1] for details." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:34 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-mailsplit[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:36 -msgid "Simple UNIX mbox splitter program." +#: en/urls.txt:71 +msgid "" +"If there are a large number of similarly-named remote repositories and you " +"want to use a different format for them (such that the URLs you use will be " +"rewritten into URLs that work), you can create a configuration section of " +"the form:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:37 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-merge-one-file[1]" -msgstr "git-commit(1)" - -#. type: Plain text -#: en/cmds-purehelpers.txt:39 -msgid "The standard helper program to use with git-merge-index." +#. type: delimited block - +#: en/urls.txt:75 +#, no-wrap +msgid "" +"\t[url \"<actual url base>\"]\n" +"\t\tinsteadOf = <other url base>\n" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:42 -msgid "Compute unique ID for a patch." +#: en/urls.txt:78 en/urls.txt:97 +msgid "For example, with this:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:43 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-sh-i18n[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/urls.txt:83 +#, no-wrap +msgid "" +"\t[url \"git://git.host.xz/\"]\n" +"\t\tinsteadOf = host.xz:/path/to/\n" +"\t\tinsteadOf = work:\n" +msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:45 -msgid "Git's i18n setup code for shell scripts." +#: en/urls.txt:87 +msgid "" +"a URL like \"work:repo.git\" or like \"host.xz:/path/to/repo.git\" will be " +"rewritten in any context that takes a URL to be \"git://git.host.xz/repo.git" +"\"." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:46 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-sh-setup[1]" -msgstr "git-commit(1)" - #. type: Plain text -#: en/cmds-purehelpers.txt:48 -msgid "Common Git shell script setup code." +#: en/urls.txt:90 +msgid "" +"If you want to rewrite URLs for push only, you can create a configuration " +"section of the form:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:49 -#, fuzzy, no-wrap -#| msgid "git-commit(1)" -msgid "linkgit:git-stripspace[1]" -msgstr "git-commit(1)" +#. type: delimited block - +#: en/urls.txt:94 +#, no-wrap +msgid "" +"\t[url \"<actual url base>\"]\n" +"\t\tpushInsteadOf = <other url base>\n" +msgstr "" + +#. type: delimited block - +#: en/urls.txt:101 +#, no-wrap +msgid "" +"\t[url \"ssh://example.org/\"]\n" +"\t\tpushInsteadOf = git://example.org/\n" +msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:51 -msgid "Remove unnecessary whitespace." +#: en/urls.txt:105 +msgid "" +"a URL like \"git://example.org/path/to/repo.git\" will be rewritten to " +"\"ssh://example.org/path/to/repo.git\" for pushes, but pulls will still use " +"the original URL." msgstr "" #~ msgid "" diff --git a/po/documentation.pot b/po/documentation.pot index a6dce854394bf9bad927cdd33e735731779e8b61..6bbae8f74105259bbbe2603d19553c8fceac8033 100644 --- a/po/documentation.pot +++ b/po/documentation.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2018-12-22 17:08+0100\n" +"POT-Creation-Date: 2019-01-03 17:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,70388 +16,70393 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#. type: Title = -#: en/git.txt:2 +#. type: Labeled list +#: en/blame-options.txt:1 en/diff-options.txt:525 en/git-instaweb.txt:44 en/git-mailinfo.txt:47 en/git-mailsplit.txt:35 en/git-repack.txt:116 en/git-status.txt:31 en/git-submodule.txt:279 #, no-wrap -msgid "git(1)" +msgid "-b" msgstr "" -#. type: Title - -#: en/git.txt:5 en/git-add.txt:5 en/git-am.txt:5 en/git-annotate.txt:5 en/git-apply.txt:5 en/git-archimport.txt:5 en/git-archive.txt:5 en/git-bisect.txt:5 en/git-blame.txt:5 en/git-branch.txt:5 en/git-bundle.txt:5 en/git-cat-file.txt:5 en/git-check-attr.txt:5 en/git-check-ignore.txt:5 en/git-check-mailmap.txt:5 en/git-checkout-index.txt:5 en/git-checkout.txt:5 en/git-check-ref-format.txt:5 en/git-cherry-pick.txt:5 en/git-cherry.txt:5 en/git-citool.txt:5 en/git-clean.txt:5 en/git-clone.txt:5 en/git-column.txt:5 en/git-commit.txt:5 en/git-commit-tree.txt:5 en/git-config.txt:5 en/git-count-objects.txt:5 en/git-credential-cache--daemon.txt:5 en/git-credential-cache.txt:5 en/git-credential-store.txt:5 en/git-credential.txt:5 en/git-cvsexportcommit.txt:5 en/git-cvsimport.txt:5 en/git-cvsserver.txt:5 en/git-daemon.txt:5 en/git-describe.txt:5 en/git-diff-files.txt:5 en/git-diff-index.txt:5 en/git-difftool.txt:5 en/git-diff-tree.txt:5 en/git-diff.txt:5 en/git-fast-export.txt:5 en/git-fast-import.txt:5 en/git-fetch-pack.txt:5 en/git-fetch.txt:5 en/git-filter-branch.txt:5 en/git-fmt-merge-msg.txt:5 en/git-for-each-ref.txt:5 en/git-format-patch.txt:5 en/git-fsck-objects.txt:5 en/git-fsck.txt:5 en/git-gc.txt:5 en/git-get-tar-commit-id.txt:5 en/git-grep.txt:5 en/git-gui.txt:5 en/git-hash-object.txt:5 en/git-help.txt:5 en/git-http-backend.txt:5 en/git-http-fetch.txt:5 en/git-http-push.txt:5 en/git-imap-send.txt:5 en/git-index-pack.txt:5 en/git-init-db.txt:5 en/git-init.txt:5 en/git-instaweb.txt:5 en/git-interpret-trailers.txt:5 en/git-log.txt:5 en/git-ls-files.txt:5 en/git-ls-remote.txt:5 en/git-ls-tree.txt:5 en/git-mailinfo.txt:5 en/git-mailsplit.txt:5 en/git-merge-base.txt:5 en/git-merge-file.txt:5 en/git-merge-index.txt:5 en/git-merge-one-file.txt:5 en/git-mergetool--lib.txt:5 en/git-mergetool.txt:5 en/git-merge-tree.txt:5 en/git-merge.txt:5 en/git-mktag.txt:5 en/git-mktree.txt:5 en/git-mv.txt:5 en/git-name-rev.txt:5 en/git-notes.txt:5 en/git-p4.txt:5 en/git-pack-objects.txt:5 en/git-pack-redundant.txt:5 en/git-pack-refs.txt:5 en/git-parse-remote.txt:5 en/git-patch-id.txt:5 en/git-prune-packed.txt:5 en/git-prune.txt:5 en/git-pull.txt:5 en/git-push.txt:5 en/git-quiltimport.txt:5 en/git-read-tree.txt:5 en/git-rebase.txt:5 en/git-receive-pack.txt:5 en/git-reflog.txt:5 en/git-remote-ext.txt:5 en/git-remote-fd.txt:5 en/git-remote-testgit.txt:5 en/git-remote.txt:5 en/git-repack.txt:5 en/git-replace.txt:5 en/git-request-pull.txt:5 en/git-rerere.txt:5 en/git-reset.txt:5 en/git-revert.txt:5 en/git-rev-list.txt:5 en/git-rev-parse.txt:5 en/git-rm.txt:5 en/git-send-email.txt:5 en/git-send-pack.txt:5 en/git-shell.txt:5 en/git-sh-i18n--envsubst.txt:5 en/git-sh-i18n.txt:5 en/git-shortlog.txt:5 en/git-show-branch.txt:5 en/git-show-index.txt:5 en/git-show-ref.txt:5 en/git-show.txt:5 en/git-sh-setup.txt:5 en/git-stage.txt:5 en/git-stash.txt:5 en/git-status.txt:5 en/git-stripspace.txt:5 en/git-submodule.txt:5 en/git-svn.txt:5 en/git-symbolic-ref.txt:5 en/git-tag.txt:5 en/git-unpack-file.txt:5 en/git-unpack-objects.txt:5 en/git-update-index.txt:5 en/git-update-ref.txt:5 en/git-update-server-info.txt:5 en/git-upload-archive.txt:5 en/git-upload-pack.txt:5 en/git-var.txt:5 en/git-verify-commit.txt:5 en/git-verify-pack.txt:5 en/git-verify-tag.txt:5 en/git-web--browse.txt:5 en/git-whatchanged.txt:5 en/git-worktree.txt:5 en/git-write-tree.txt:5 +#. type: Plain text +#: en/blame-options.txt:4 +msgid "" +"Show blank SHA-1 for boundary commits. This can also be controlled via the " +"`blame.blankboundary` config option." +msgstr "" + +#. type: Labeled list +#: en/blame-options.txt:5 en/git-diff-tree.txt:45 en/git-format-patch.txt:279 en/git-fsck.txt:38 en/git-rebase.txt:415 #, no-wrap -msgid "NAME" +msgid "--root" msgstr "" #. type: Plain text -#: en/git.txt:7 -msgid "git - the stupid content tracker" +#: en/blame-options.txt:8 +msgid "" +"Do not treat root commits as boundaries. This can also be controlled via " +"the `blame.showRoot` config option." msgstr "" -#. type: Title - -#: en/git.txt:10 en/git-add.txt:9 en/git-am.txt:10 en/git-annotate.txt:9 en/git-apply.txt:10 en/git-archimport.txt:10 en/git-archive.txt:10 en/git-bisect.txt:10 en/git-blame.txt:9 en/git-branch.txt:9 en/git-bundle.txt:10 en/git-cat-file.txt:10 en/git-check-attr.txt:10 en/git-check-ignore.txt:10 en/git-check-mailmap.txt:10 en/git-checkout-index.txt:10 en/git-checkout.txt:9 en/git-check-ref-format.txt:9 en/git-cherry-pick.txt:9 en/git-cherry.txt:9 en/git-citool.txt:9 en/git-clean.txt:9 en/git-clone.txt:10 en/git-column.txt:9 en/git-commit.txt:9 en/git-commit-tree.txt:10 en/git-config.txt:10 en/git-count-objects.txt:9 en/git-credential-cache--daemon.txt:9 en/git-credential-cache.txt:9 en/git-credential-store.txt:9 en/git-credential.txt:9 en/git-cvsexportcommit.txt:10 en/git-cvsimport.txt:10 en/git-cvsserver.txt:9 en/git-daemon.txt:9 en/git-describe.txt:10 en/git-diff-files.txt:10 en/git-diff-index.txt:10 en/git-difftool.txt:9 en/git-diff-tree.txt:10 en/git-diff.txt:10 en/git-fast-export.txt:10 en/git-fast-import.txt:10 en/git-fetch-pack.txt:10 en/git-fetch.txt:10 en/git-filter-branch.txt:9 en/git-fmt-merge-msg.txt:10 en/git-for-each-ref.txt:9 en/git-format-patch.txt:10 en/git-fsck-objects.txt:10 en/git-fsck.txt:10 en/git-gc.txt:10 en/git-get-tar-commit-id.txt:10 en/git-grep.txt:10 en/git-gui.txt:9 en/git-hash-object.txt:10 en/git-help.txt:9 en/git-http-backend.txt:9 en/git-http-fetch.txt:10 en/git-http-push.txt:10 en/git-imap-send.txt:10 en/git-index-pack.txt:10 en/git-init-db.txt:10 en/git-init.txt:10 en/git-instaweb.txt:9 en/git-interpret-trailers.txt:9 en/git-log.txt:10 en/git-ls-files.txt:10 en/git-ls-remote.txt:10 en/git-ls-tree.txt:10 en/git-mailinfo.txt:10 en/git-mailsplit.txt:9 en/git-merge-base.txt:10 en/git-merge-file.txt:10 en/git-merge-index.txt:10 en/git-merge-one-file.txt:10 en/git-mergetool--lib.txt:9 en/git-mergetool.txt:9 en/git-merge-tree.txt:10 en/git-merge.txt:10 en/git-mktag.txt:10 en/git-mktree.txt:10 en/git-mv.txt:10 en/git-name-rev.txt:10 en/git-notes.txt:9 en/git-p4.txt:10 en/git-pack-objects.txt:10 en/git-pack-redundant.txt:10 en/git-pack-refs.txt:9 en/git-parse-remote.txt:10 en/git-patch-id.txt:9 en/git-prune-packed.txt:10 en/git-prune.txt:10 en/git-pull.txt:10 en/git-push.txt:10 en/git-quiltimport.txt:10 en/git-read-tree.txt:10 en/git-rebase.txt:9 en/git-receive-pack.txt:10 en/git-reflog.txt:10 en/git-remote-ext.txt:9 en/git-remote-fd.txt:9 en/git-remote-testgit.txt:10 en/git-remote.txt:10 en/git-repack.txt:10 en/git-replace.txt:9 en/git-request-pull.txt:9 en/git-rerere.txt:9 en/git-reset.txt:9 en/git-revert.txt:9 en/git-rev-list.txt:10 en/git-rev-parse.txt:10 en/git-rm.txt:9 en/git-send-email.txt:10 en/git-send-pack.txt:10 en/git-shell.txt:10 en/git-sh-i18n--envsubst.txt:9 en/git-sh-i18n.txt:9 en/git-shortlog.txt:9 en/git-show-branch.txt:9 en/git-show-index.txt:10 en/git-show-ref.txt:9 en/git-show.txt:10 en/git-sh-setup.txt:9 en/git-stage.txt:10 en/git-stash.txt:9 en/git-status.txt:10 en/git-stripspace.txt:10 en/git-submodule.txt:10 en/git-svn.txt:9 en/git-symbolic-ref.txt:9 en/git-tag.txt:10 en/git-unpack-file.txt:11 en/git-unpack-objects.txt:10 en/git-update-index.txt:10 en/git-update-ref.txt:9 en/git-update-server-info.txt:10 en/git-upload-archive.txt:10 en/git-upload-pack.txt:10 en/git-var.txt:10 en/git-verify-commit.txt:9 en/git-verify-pack.txt:10 en/git-verify-tag.txt:9 en/git-web--browse.txt:9 en/git-whatchanged.txt:10 en/git-worktree.txt:10 en/git-write-tree.txt:10 +#. type: Labeled list +#: en/blame-options.txt:9 #, no-wrap -msgid "SYNOPSIS" +msgid "--show-stats" msgstr "" #. type: Plain text -#: en/git.txt:18 +#: en/blame-options.txt:11 +msgid "Include additional statistics at the end of blame output." +msgstr "" + +#. type: Labeled list +#: en/blame-options.txt:12 #, no-wrap -msgid "" -"'git' [--version] [--help] [-C <path>] [-c <name>=<value>]\n" -" [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n" -" [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]\n" -" [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n" -" [--super-prefix=<path>]\n" -" <command> [<args>]\n" +msgid "-L <start>,<end>" msgstr "" -#. type: Title - -#: en/git.txt:20 en/git-add.txt:17 en/git-am.txt:22 en/git-annotate.txt:14 en/git-apply.txt:22 en/git-archimport.txt:16 en/git-archive.txt:18 en/git-bisect.txt:15 en/git-blame.txt:17 en/git-branch.txt:24 en/git-bundle.txt:18 en/git-cat-file.txt:16 en/git-check-attr.txt:16 en/git-check-ignore.txt:16 en/git-check-mailmap.txt:16 en/git-checkout-index.txt:19 en/git-checkout.txt:19 en/git-check-ref-format.txt:17 en/git-cherry-pick.txt:18 en/git-cherry.txt:14 en/git-citool.txt:14 en/git-clean.txt:14 en/git-clone.txt:21 en/git-column.txt:15 en/git-commit.txt:19 en/git-commit-tree.txt:18 en/git-config.txt:29 en/git-count-objects.txt:14 en/git-credential-cache--daemon.txt:14 en/git-credential-cache.txt:15 en/git-credential-store.txt:15 en/git-credential.txt:15 en/git-cvsexportcommit.txt:17 en/git-cvsimport.txt:20 en/git-cvsserver.txt:61 en/git-daemon.txt:26 en/git-describe.txt:16 en/git-diff-files.txt:15 en/git-diff-index.txt:15 en/git-difftool.txt:14 en/git-diff-tree.txt:17 en/git-diff.txt:19 en/git-fast-export.txt:15 en/git-fast-import.txt:15 en/git-fetch-pack.txt:18 en/git-fetch.txt:19 en/git-filter-branch.txt:20 en/git-fmt-merge-msg.txt:16 en/git-for-each-ref.txt:17 en/git-format-patch.txt:30 en/git-fsck-objects.txt:15 en/git-fsck.txt:18 en/git-gc.txt:15 en/git-get-tar-commit-id.txt:16 en/git-grep.txt:34 en/git-gui.txt:14 en/git-hash-object.txt:16 en/git-help.txt:15 en/git-http-backend.txt:14 en/git-http-fetch.txt:15 en/git-http-push.txt:15 en/git-imap-send.txt:16 en/git-index-pack.txt:18 en/git-init-db.txt:16 en/git-init.txt:18 en/git-instaweb.txt:16 en/git-interpret-trailers.txt:14 en/git-log.txt:15 en/git-ls-files.txt:25 en/git-ls-remote.txt:17 en/git-ls-tree.txt:17 en/git-mailinfo.txt:16 en/git-mailsplit.txt:15 en/git-merge-base.txt:19 en/git-merge-file.txt:18 en/git-merge-index.txt:15 en/git-merge-one-file.txt:15 en/git-mergetool--lib.txt:14 en/git-mergetool.txt:14 en/git-merge-tree.txt:15 en/git-merge.txt:21 en/git-mktag.txt:15 en/git-mktree.txt:15 en/git-mv.txt:15 en/git-name-rev.txt:16 en/git-notes.txt:26 en/git-p4.txt:19 en/git-pack-objects.txt:20 en/git-pack-redundant.txt:15 en/git-pack-refs.txt:14 en/git-parse-remote.txt:15 en/git-patch-id.txt:14 en/git-prune-packed.txt:16 en/git-prune.txt:15 en/git-pull.txt:16 en/git-push.txt:20 en/git-quiltimport.txt:17 en/git-read-tree.txt:19 en/git-rebase.txt:18 en/git-receive-pack.txt:15 en/git-reflog.txt:15 en/git-remote-ext.txt:14 en/git-remote-fd.txt:13 en/git-remote-testgit.txt:15 en/git-remote.txt:27 en/git-repack.txt:15 en/git-replace.txt:18 en/git-request-pull.txt:14 en/git-rerere.txt:14 en/git-reset.txt:16 en/git-revert.txt:17 en/git-rev-list.txt:64 en/git-rev-parse.txt:15 en/git-rm.txt:14 en/git-send-email.txt:17 en/git-send-pack.txt:18 en/git-shell.txt:17 en/git-sh-i18n--envsubst.txt:19 en/git-sh-i18n.txt:14 en/git-shortlog.txt:15 en/git-show-branch.txt:19 en/git-show-index.txt:16 en/git-show-ref.txt:17 en/git-show.txt:15 en/git-sh-setup.txt:14 en/git-stage.txt:16 en/git-stash.txt:26 en/git-status.txt:15 en/git-stripspace.txt:16 en/git-submodule.txt:24 en/git-svn.txt:14 en/git-symbolic-ref.txt:16 en/git-tag.txt:21 en/git-unpack-file.txt:16 en/git-unpack-objects.txt:16 en/git-update-index.txt:29 en/git-update-ref.txt:14 en/git-update-server-info.txt:15 en/git-upload-archive.txt:15 en/git-var.txt:15 en/git-verify-commit.txt:14 en/git-verify-pack.txt:16 en/git-verify-tag.txt:14 en/git-web--browse.txt:14 en/git-whatchanged.txt:15 en/git-worktree.txt:19 en/git-write-tree.txt:15 +#. type: Labeled list +#: en/blame-options.txt:13 #, no-wrap -msgid "DESCRIPTION" +msgid "-L :<funcname>" msgstr "" #. type: Plain text -#: en/git.txt:24 +#: en/blame-options.txt:16 msgid "" -"Git is a fast, scalable, distributed revision control system with an " -"unusually rich command set that provides both high-level operations and full " -"access to internals." +"Annotate only the given line range. May be specified multiple times. " +"Overlapping ranges are allowed." msgstr "" #. type: Plain text -#: en/git.txt:29 +#: en/blame-options.txt:19 msgid "" -"See linkgit:gittutorial[7] to get started, then see linkgit:giteveryday[7] " -"for a useful minimum set of commands. The link:user-manual.html[Git User's " -"Manual] has a more in-depth introduction." +"<start> and <end> are optional. ``-L <start>'' or ``-L <start>,'' spans from " +"<start> to end of file. ``-L ,<end>'' spans from start of file to <end>." msgstr "" -#. type: Plain text -#: en/git.txt:34 -msgid "" -"After you mastered the basic concepts, you can come back to this page to " -"learn what commands Git offers. You can learn more about individual Git " -"commands with \"git help command\". linkgit:gitcli[7] manual page gives you " -"an overview of the command-line command syntax." +#. type: Labeled list +#: en/blame-options.txt:22 en/git-archive.txt:43 en/git-branch.txt:87 en/git-checkout.txt:174 en/git-clone.txt:44 en/git-config.txt:159 en/git-grep.txt:176 en/git-instaweb.txt:23 en/git-ls-tree.txt:51 en/git-repack.txt:61 en/git-svn.txt:228 en/git-var.txt:20 +#, no-wrap +msgid "-l" msgstr "" #. type: Plain text -#: en/git.txt:37 -msgid "" -"A formatted and hyperlinked copy of the latest Git documentation can be " -"viewed at `https://git.github.io/htmldocs/git.html`." +#: en/blame-options.txt:24 +msgid "Show long rev (Default: off)." msgstr "" -#. type: delimited block = -#: en/git.txt:46 -msgid "" -"You are reading the documentation for the latest (possibly unreleased) " -"version of Git, that is available from the 'master' branch of the `git.git` " -"repository. Documentation for older releases are available here:" +#. type: Labeled list +#: en/blame-options.txt:25 en/fetch-options.txt:98 en/git-branch.txt:170 en/git-cat-file.txt:36 en/git-checkout.txt:155 en/git-diff-tree.txt:42 en/git-http-fetch.txt:29 en/git-ls-files.txt:112 en/git-ls-remote.txt:26 en/git-ls-tree.txt:47 en/git-svn.txt:296 en/rev-list-options.txt:890 +#, no-wrap +msgid "-t" msgstr "" -#. type: delimited block = -#: en/git.txt:48 -msgid "link:v2.12.1/git.html[documentation for release 2.12.1]" +#. type: Plain text +#: en/blame-options.txt:27 +msgid "Show raw timestamp (Default: off)." msgstr "" -#. type: delimited block = -#: en/git.txt:52 -msgid "" -"release notes for link:RelNotes/2.12.1.txt[2.12.1]. " -"link:RelNotes/2.12.0.txt[2.12]." +#. type: Labeled list +#: en/blame-options.txt:28 +#, no-wrap +msgid "-S <revs-file>" msgstr "" -#. type: delimited block = -#: en/git.txt:54 -msgid "link:v2.11.1/git.html[documentation for release 2.11.1]" +#. type: Plain text +#: en/blame-options.txt:30 +msgid "Use revisions from revs-file instead of calling linkgit:git-rev-list[1]." msgstr "" -#. type: delimited block = -#: en/git.txt:58 -msgid "" -"release notes for link:RelNotes/2.11.1.txt[2.11.1], " -"link:RelNotes/2.11.0.txt[2.11]." +#. type: Labeled list +#: en/blame-options.txt:31 +#, no-wrap +msgid "--reverse <rev>..<rev>" msgstr "" -#. type: delimited block = -#: en/git.txt:60 -msgid "link:v2.10.2/git.html[documentation for release 2.10.2]" +#. type: Plain text +#: en/blame-options.txt:38 +msgid "" +"Walk history forward instead of backward. Instead of showing the revision in " +"which a line appeared, this shows the last revision in which a line has " +"existed. This requires a range of revision like START..END where the path to " +"blame exists in START. `git blame --reverse START` is taken as `git blame " +"--reverse START..HEAD` for convenience." msgstr "" -#. type: delimited block = -#: en/git.txt:65 -msgid "" -"release notes for link:RelNotes/2.10.2.txt[2.10.2], " -"link:RelNotes/2.10.1.txt[2.10.1], link:RelNotes/2.10.0.txt[2.10]." +#. type: Labeled list +#: en/blame-options.txt:39 en/diff-options.txt:16 en/diff-options.txt:22 en/fetch-options.txt:67 en/git-add.txt:85 en/git-cat-file.txt:48 en/git-checkout.txt:242 en/git-commit.txt:66 en/git-cvsexportcommit.txt:41 en/git-grep.txt:222 en/git-instaweb.txt:40 en/git-merge-file.txt:63 en/git-rebase.txt:383 en/git-request-pull.txt:29 en/git-svn.txt:504 en/git-svn.txt:641 en/git.txt:591 +#, no-wrap +msgid "-p" msgstr "" -#. type: delimited block = -#: en/git.txt:67 -msgid "link:v2.9.3/git.html[documentation for release 2.9.3]" +#. type: Labeled list +#: en/blame-options.txt:40 en/git-commit.txt:109 en/git-push.txt:121 en/git-worktree.txt:115 +#, no-wrap +msgid "--porcelain" msgstr "" -#. type: delimited block = -#: en/git.txt:73 -msgid "" -"release notes for link:RelNotes/2.9.3.txt[2.9.3], " -"link:RelNotes/2.9.2.txt[2.9.2], link:RelNotes/2.9.1.txt[2.9.1], " -"link:RelNotes/2.9.0.txt[2.9]." +#. type: Plain text +#: en/blame-options.txt:42 +msgid "Show in a format designed for machine consumption." msgstr "" -#. type: delimited block = -#: en/git.txt:75 -msgid "link:v2.8.4/git.html[documentation for release 2.8.4]" +#. type: Labeled list +#: en/blame-options.txt:43 +#, no-wrap +msgid "--line-porcelain" msgstr "" -#. type: delimited block = -#: en/git.txt:82 +#. type: Plain text +#: en/blame-options.txt:47 msgid "" -"release notes for link:RelNotes/2.8.4.txt[2.8.4], " -"link:RelNotes/2.8.3.txt[2.8.3], link:RelNotes/2.8.2.txt[2.8.2], " -"link:RelNotes/2.8.1.txt[2.8.1], link:RelNotes/2.8.0.txt[2.8]." +"Show the porcelain format, but output commit information for each line, not " +"just the first time a commit is referenced. Implies --porcelain." msgstr "" -#. type: delimited block = -#: en/git.txt:84 -msgid "link:v2.7.3/git.html[documentation for release 2.7.3]" +#. type: Labeled list +#: en/blame-options.txt:48 en/git-pack-objects.txt:123 en/git-svn.txt:357 +#, no-wrap +msgid "--incremental" msgstr "" -#. type: delimited block = -#: en/git.txt:90 -msgid "" -"release notes for link:RelNotes/2.7.3.txt[2.7.3], " -"link:RelNotes/2.7.2.txt[2.7.2], link:RelNotes/2.7.1.txt[2.7.1], " -"link:RelNotes/2.7.0.txt[2.7]." +#. type: Plain text +#: en/blame-options.txt:51 +msgid "Show the result incrementally in a format designed for machine consumption." msgstr "" -#. type: delimited block = -#: en/git.txt:92 -msgid "link:v2.6.6/git.html[documentation for release 2.6.6]" +#. type: Labeled list +#: en/blame-options.txt:52 en/git-mailinfo.txt:62 en/pretty-options.txt:35 +#, no-wrap +msgid "--encoding=<encoding>" msgstr "" -#. type: delimited block = -#: en/git.txt:101 +#. type: Plain text +#: en/blame-options.txt:58 msgid "" -"release notes for link:RelNotes/2.6.6.txt[2.6.6], " -"link:RelNotes/2.6.5.txt[2.6.5], link:RelNotes/2.6.4.txt[2.6.4], " -"link:RelNotes/2.6.3.txt[2.6.3], link:RelNotes/2.6.2.txt[2.6.2], " -"link:RelNotes/2.6.1.txt[2.6.1], link:RelNotes/2.6.0.txt[2.6]." +"Specifies the encoding used to output author names and commit " +"summaries. Setting it to `none` makes blame output unconverted data. For " +"more information see the discussion about encoding in the linkgit:git-log[1] " +"manual page." msgstr "" -#. type: delimited block = -#: en/git.txt:103 -msgid "link:v2.5.5/git.html[documentation for release 2.5.5]" +#. type: Labeled list +#: en/blame-options.txt:59 +#, no-wrap +msgid "--contents <file>" msgstr "" -#. type: delimited block = -#: en/git.txt:111 +#. type: Plain text +#: en/blame-options.txt:65 msgid "" -"release notes for link:RelNotes/2.5.5.txt[2.5.5], " -"link:RelNotes/2.5.4.txt[2.5.4], link:RelNotes/2.5.3.txt[2.5.3], " -"link:RelNotes/2.5.2.txt[2.5.2], link:RelNotes/2.5.1.txt[2.5.1], " -"link:RelNotes/2.5.0.txt[2.5]." +"When <rev> is not specified, the command annotates the changes starting " +"backwards from the working tree copy. This flag makes the command pretend " +"as if the working tree copy has the contents of the named file (specify `-` " +"to make the command read from the standard input)." msgstr "" -#. type: delimited block = -#: en/git.txt:113 -msgid "link:v2.4.11/git.html[documentation for release 2.4.11]" +#. type: Labeled list +#: en/blame-options.txt:66 +#, no-wrap +msgid "--date <format>" msgstr "" -#. type: delimited block = -#: en/git.txt:127 +#. type: Plain text +#: en/blame-options.txt:72 msgid "" -"release notes for link:RelNotes/2.4.11.txt[2.4.11], " -"link:RelNotes/2.4.10.txt[2.4.10], link:RelNotes/2.4.9.txt[2.4.9], " -"link:RelNotes/2.4.8.txt[2.4.8], link:RelNotes/2.4.7.txt[2.4.7], " -"link:RelNotes/2.4.6.txt[2.4.6], link:RelNotes/2.4.5.txt[2.4.5], " -"link:RelNotes/2.4.4.txt[2.4.4], link:RelNotes/2.4.3.txt[2.4.3], " -"link:RelNotes/2.4.2.txt[2.4.2], link:RelNotes/2.4.1.txt[2.4.1], " -"link:RelNotes/2.4.0.txt[2.4]." +"Specifies the format used to output dates. If --date is not provided, the " +"value of the blame.date config variable is used. If the blame.date config " +"variable is also not set, the iso format is used. For supported values, see " +"the discussion of the --date option at linkgit:git-log[1]." msgstr "" -#. type: delimited block = -#: en/git.txt:129 -msgid "link:v2.3.10/git.html[documentation for release 2.3.10]" +#. type: Labeled list +#: en/blame-options.txt:73 en/git-checkout.txt:110 en/git-fsck.txt:92 +#, no-wrap +msgid "--[no-]progress" msgstr "" -#. type: delimited block = -#: en/git.txt:142 +#. type: Plain text +#: en/blame-options.txt:79 msgid "" -"release notes for link:RelNotes/2.3.10.txt[2.3.10], " -"link:RelNotes/2.3.9.txt[2.3.9], link:RelNotes/2.3.8.txt[2.3.8], " -"link:RelNotes/2.3.7.txt[2.3.7], link:RelNotes/2.3.6.txt[2.3.6], " -"link:RelNotes/2.3.5.txt[2.3.5], link:RelNotes/2.3.4.txt[2.3.4], " -"link:RelNotes/2.3.3.txt[2.3.3], link:RelNotes/2.3.2.txt[2.3.2], " -"link:RelNotes/2.3.1.txt[2.3.1], link:RelNotes/2.3.0.txt[2.3]." +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal. This flag enables progress reporting even if not " +"attached to a terminal. Can't use `--progress` together with `--porcelain` " +"or `--incremental`." msgstr "" -#. type: delimited block = -#: en/git.txt:144 -msgid "link:v2.2.3/git.html[documentation for release 2.2.3]" +#. type: Labeled list +#: en/blame-options.txt:80 +#, no-wrap +msgid "-M[<num>]" msgstr "" -#. type: delimited block = -#: en/git.txt:150 +#. type: Plain text +#: en/blame-options.txt:90 msgid "" -"release notes for link:RelNotes/2.2.3.txt[2.2.3], " -"link:RelNotes/2.2.2.txt[2.2.2], link:RelNotes/2.2.1.txt[2.2.1], " -"link:RelNotes/2.2.0.txt[2.2]." -msgstr "" - -#. type: delimited block = -#: en/git.txt:152 -msgid "link:v2.1.4/git.html[documentation for release 2.1.4]" +"Detect moved or copied lines within a file. When a commit moves or copies a " +"block of lines (e.g. the original file has A and then B, and the commit " +"changes it to B and then A), the traditional 'blame' algorithm notices only " +"half of the movement and typically blames the lines that were moved up " +"(i.e. B) to the parent and assigns blame to the lines that were moved down " +"(i.e. A) to the child commit. With this option, both groups of lines are " +"blamed on the parent by running extra passes of inspection." msgstr "" -#. type: delimited block = -#: en/git.txt:159 +#. type: Plain text +#: en/blame-options.txt:95 msgid "" -"release notes for link:RelNotes/2.1.4.txt[2.1.4], " -"link:RelNotes/2.1.3.txt[2.1.3], link:RelNotes/2.1.2.txt[2.1.2], " -"link:RelNotes/2.1.1.txt[2.1.1], link:RelNotes/2.1.0.txt[2.1]." +"<num> is optional but it is the lower bound on the number of alphanumeric " +"characters that Git must detect as moving/copying within a file for it to " +"associate those lines with the parent commit. The default value is 20." msgstr "" -#. type: delimited block = -#: en/git.txt:161 -msgid "link:v2.0.5/git.html[documentation for release 2.0.5]" +#. type: Labeled list +#: en/blame-options.txt:96 +#, no-wrap +msgid "-C[<num>]" msgstr "" -#. type: delimited block = -#: en/git.txt:169 +#. type: Plain text +#: en/blame-options.txt:105 msgid "" -"release notes for link:RelNotes/2.0.5.txt[2.0.5], " -"link:RelNotes/2.0.4.txt[2.0.4], link:RelNotes/2.0.3.txt[2.0.3], " -"link:RelNotes/2.0.2.txt[2.0.2], link:RelNotes/2.0.1.txt[2.0.1], " -"link:RelNotes/2.0.0.txt[2.0.0]." +"In addition to `-M`, detect lines moved or copied from other files that were " +"modified in the same commit. This is useful when you reorganize your " +"program and move code around across files. When this option is given twice, " +"the command additionally looks for copies from other files in the commit " +"that creates the file. When this option is given three times, the command " +"additionally looks for copies from other files in any commit." msgstr "" -#. type: delimited block = -#: en/git.txt:171 -msgid "link:v1.9.5/git.html[documentation for release 1.9.5]" +#. type: Plain text +#: en/blame-options.txt:112 +msgid "" +"<num> is optional but it is the lower bound on the number of alphanumeric " +"characters that Git must detect as moving/copying between files for it to " +"associate those lines with the parent commit. And the default value is " +"40. If there are more than one `-C` options given, the <num> argument of the " +"last `-C` will take effect." msgstr "" -#. type: delimited block = -#: en/git.txt:179 -msgid "" -"release notes for link:RelNotes/1.9.5.txt[1.9.5], " -"link:RelNotes/1.9.4.txt[1.9.4], link:RelNotes/1.9.3.txt[1.9.3], " -"link:RelNotes/1.9.2.txt[1.9.2], link:RelNotes/1.9.1.txt[1.9.1], " -"link:RelNotes/1.9.0.txt[1.9.0]." +#. type: Labeled list +#: en/blame-options.txt:113 en/git-archimport.txt:70 en/git-cvsimport.txt:184 en/git-cvsserver.txt:48 en/git-grep.txt:141 en/git-ls-remote.txt:24 +#, no-wrap +msgid "-h" msgstr "" -#. type: delimited block = -#: en/git.txt:181 -msgid "link:v1.8.5.6/git.html[documentation for release 1.8.5.6]" +#. type: Plain text +#: en/blame-options.txt:114 +msgid "Show help message." msgstr "" -#. type: delimited block = -#: en/git.txt:190 -msgid "" -"release notes for link:RelNotes/1.8.5.6.txt[1.8.5.6], " -"link:RelNotes/1.8.5.5.txt[1.8.5.5], link:RelNotes/1.8.5.4.txt[1.8.5.4], " -"link:RelNotes/1.8.5.3.txt[1.8.5.3], link:RelNotes/1.8.5.2.txt[1.8.5.2], " -"link:RelNotes/1.8.5.1.txt[1.8.5.1], link:RelNotes/1.8.5.txt[1.8.5]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:1 en/git-blame.txt:234 +#, no-wrap +msgid "linkgit:git-annotate[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:192 -msgid "link:v1.8.4.5/git.html[documentation for release 1.8.4.5]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:3 +msgid "Annotate file lines with commit information." msgstr "" -#. type: delimited block = -#: en/git.txt:200 -msgid "" -"release notes for link:RelNotes/1.8.4.5.txt[1.8.4.5], " -"link:RelNotes/1.8.4.4.txt[1.8.4.4], link:RelNotes/1.8.4.3.txt[1.8.4.3], " -"link:RelNotes/1.8.4.2.txt[1.8.4.2], link:RelNotes/1.8.4.1.txt[1.8.4.1], " -"link:RelNotes/1.8.4.txt[1.8.4]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:4 en/git-annotate.txt:31 +#, no-wrap +msgid "linkgit:git-blame[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:202 -msgid "link:v1.8.3.4/git.html[documentation for release 1.8.3.4]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:6 +msgid "Show what revision and author last modified each line of a file." msgstr "" -#. type: delimited block = -#: en/git.txt:209 -msgid "" -"release notes for link:RelNotes/1.8.3.4.txt[1.8.3.4], " -"link:RelNotes/1.8.3.3.txt[1.8.3.3], link:RelNotes/1.8.3.2.txt[1.8.3.2], " -"link:RelNotes/1.8.3.1.txt[1.8.3.1], link:RelNotes/1.8.3.txt[1.8.3]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:7 +#, no-wrap +msgid "linkgit:git-cherry[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:211 -msgid "link:v1.8.2.3/git.html[documentation for release 1.8.2.3]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:9 +msgid "Find commits yet to be applied to upstream." msgstr "" -#. type: delimited block = -#: en/git.txt:217 -msgid "" -"release notes for link:RelNotes/1.8.2.3.txt[1.8.2.3], " -"link:RelNotes/1.8.2.2.txt[1.8.2.2], link:RelNotes/1.8.2.1.txt[1.8.2.1], " -"link:RelNotes/1.8.2.txt[1.8.2]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:10 +#, no-wrap +msgid "linkgit:git-count-objects[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:219 -msgid "link:v1.8.1.6/git.html[documentation for release 1.8.1.6]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:12 +msgid "Count unpacked number of objects and their disk consumption." msgstr "" -#. type: delimited block = -#: en/git.txt:228 -msgid "" -"release notes for link:RelNotes/1.8.1.6.txt[1.8.1.6], " -"link:RelNotes/1.8.1.5.txt[1.8.1.5], link:RelNotes/1.8.1.4.txt[1.8.1.4], " -"link:RelNotes/1.8.1.3.txt[1.8.1.3], link:RelNotes/1.8.1.2.txt[1.8.1.2], " -"link:RelNotes/1.8.1.1.txt[1.8.1.1], link:RelNotes/1.8.1.txt[1.8.1]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:13 +#, no-wrap +msgid "linkgit:git-difftool[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:230 -msgid "link:v1.8.0.3/git.html[documentation for release 1.8.0.3]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:15 +msgid "Show changes using common diff tools." msgstr "" -#. type: delimited block = -#: en/git.txt:236 -msgid "" -"release notes for link:RelNotes/1.8.0.3.txt[1.8.0.3], " -"link:RelNotes/1.8.0.2.txt[1.8.0.2], link:RelNotes/1.8.0.1.txt[1.8.0.1], " -"link:RelNotes/1.8.0.txt[1.8.0]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:16 +#, no-wrap +msgid "linkgit:git-fsck[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:238 -msgid "link:v1.7.12.4/git.html[documentation for release 1.7.12.4]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:18 en/git-fsck.txt:20 +msgid "Verifies the connectivity and validity of the objects in the database." msgstr "" -#. type: delimited block = -#: en/git.txt:245 -msgid "" -"release notes for link:RelNotes/1.7.12.4.txt[1.7.12.4], " -"link:RelNotes/1.7.12.3.txt[1.7.12.3], link:RelNotes/1.7.12.2.txt[1.7.12.2], " -"link:RelNotes/1.7.12.1.txt[1.7.12.1], link:RelNotes/1.7.12.txt[1.7.12]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:19 +#, no-wrap +msgid "linkgit:git-get-tar-commit-id[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:247 -msgid "link:v1.7.11.7/git.html[documentation for release 1.7.11.7]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:21 +msgid "Extract commit ID from an archive created using git-archive." msgstr "" -#. type: delimited block = -#: en/git.txt:257 -msgid "" -"release notes for link:RelNotes/1.7.11.7.txt[1.7.11.7], " -"link:RelNotes/1.7.11.6.txt[1.7.11.6], link:RelNotes/1.7.11.5.txt[1.7.11.5], " -"link:RelNotes/1.7.11.4.txt[1.7.11.4], link:RelNotes/1.7.11.3.txt[1.7.11.3], " -"link:RelNotes/1.7.11.2.txt[1.7.11.2], link:RelNotes/1.7.11.1.txt[1.7.11.1], " -"link:RelNotes/1.7.11.txt[1.7.11]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:22 +#, no-wrap +msgid "linkgit:git-help[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:259 -msgid "link:v1.7.10.5/git.html[documentation for release 1.7.10.5]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:24 +msgid "Display help information about Git." msgstr "" -#. type: delimited block = -#: en/git.txt:267 -msgid "" -"release notes for link:RelNotes/1.7.10.5.txt[1.7.10.5], " -"link:RelNotes/1.7.10.4.txt[1.7.10.4], link:RelNotes/1.7.10.3.txt[1.7.10.3], " -"link:RelNotes/1.7.10.2.txt[1.7.10.2], link:RelNotes/1.7.10.1.txt[1.7.10.1], " -"link:RelNotes/1.7.10.txt[1.7.10]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:25 +#, no-wrap +msgid "linkgit:git-instaweb[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:269 -msgid "link:v1.7.9.7/git.html[documentation for release 1.7.9.7]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:27 +msgid "Instantly browse your working repository in gitweb." msgstr "" -#. type: delimited block = -#: en/git.txt:279 -msgid "" -"release notes for link:RelNotes/1.7.9.7.txt[1.7.9.7], " -"link:RelNotes/1.7.9.6.txt[1.7.9.6], link:RelNotes/1.7.9.5.txt[1.7.9.5], " -"link:RelNotes/1.7.9.4.txt[1.7.9.4], link:RelNotes/1.7.9.3.txt[1.7.9.3], " -"link:RelNotes/1.7.9.2.txt[1.7.9.2], link:RelNotes/1.7.9.1.txt[1.7.9.1], " -"link:RelNotes/1.7.9.txt[1.7.9]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:28 +#, no-wrap +msgid "linkgit:git-merge-tree[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:281 -msgid "link:v1.7.8.6/git.html[documentation for release 1.7.8.6]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:30 +msgid "Show three-way merge without touching index." msgstr "" -#. type: delimited block = -#: en/git.txt:290 -msgid "" -"release notes for link:RelNotes/1.7.8.6.txt[1.7.8.6], " -"link:RelNotes/1.7.8.5.txt[1.7.8.5], link:RelNotes/1.7.8.4.txt[1.7.8.4], " -"link:RelNotes/1.7.8.3.txt[1.7.8.3], link:RelNotes/1.7.8.2.txt[1.7.8.2], " -"link:RelNotes/1.7.8.1.txt[1.7.8.1], link:RelNotes/1.7.8.txt[1.7.8]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:31 +#, no-wrap +msgid "linkgit:git-rerere[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:292 -msgid "link:v1.7.7.7/git.html[documentation for release 1.7.7.7]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:33 +msgid "Reuse recorded resolution of conflicted merges." msgstr "" -#. type: delimited block = -#: en/git.txt:302 -msgid "" -"release notes for link:RelNotes/1.7.7.7.txt[1.7.7.7], " -"link:RelNotes/1.7.7.6.txt[1.7.7.6], link:RelNotes/1.7.7.5.txt[1.7.7.5], " -"link:RelNotes/1.7.7.4.txt[1.7.7.4], link:RelNotes/1.7.7.3.txt[1.7.7.3], " -"link:RelNotes/1.7.7.2.txt[1.7.7.2], link:RelNotes/1.7.7.1.txt[1.7.7.1], " -"link:RelNotes/1.7.7.txt[1.7.7]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:34 +#, no-wrap +msgid "linkgit:git-rev-parse[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:304 -msgid "link:v1.7.6.6/git.html[documentation for release 1.7.6.6]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:36 +msgid "Pick out and massage parameters." msgstr "" -#. type: delimited block = -#: en/git.txt:313 -msgid "" -"release notes for link:RelNotes/1.7.6.6.txt[1.7.6.6], " -"link:RelNotes/1.7.6.5.txt[1.7.6.5], link:RelNotes/1.7.6.4.txt[1.7.6.4], " -"link:RelNotes/1.7.6.3.txt[1.7.6.3], link:RelNotes/1.7.6.2.txt[1.7.6.2], " -"link:RelNotes/1.7.6.1.txt[1.7.6.1], link:RelNotes/1.7.6.txt[1.7.6]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:37 +#, no-wrap +msgid "linkgit:git-show-branch[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:315 -msgid "link:v1.7.5.4/git.html[documentation for release 1.7.5.4]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:39 +msgid "Show branches and their commits." msgstr "" -#. type: delimited block = -#: en/git.txt:322 -msgid "" -"release notes for link:RelNotes/1.7.5.4.txt[1.7.5.4], " -"link:RelNotes/1.7.5.3.txt[1.7.5.3], link:RelNotes/1.7.5.2.txt[1.7.5.2], " -"link:RelNotes/1.7.5.1.txt[1.7.5.1], link:RelNotes/1.7.5.txt[1.7.5]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:40 +#, no-wrap +msgid "linkgit:git-verify-commit[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:324 -msgid "link:v1.7.4.5/git.html[documentation for release 1.7.4.5]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:42 +msgid "Check the GPG signature of commits." msgstr "" -#. type: delimited block = -#: en/git.txt:332 -msgid "" -"release notes for link:RelNotes/1.7.4.5.txt[1.7.4.5], " -"link:RelNotes/1.7.4.4.txt[1.7.4.4], link:RelNotes/1.7.4.3.txt[1.7.4.3], " -"link:RelNotes/1.7.4.2.txt[1.7.4.2], link:RelNotes/1.7.4.1.txt[1.7.4.1], " -"link:RelNotes/1.7.4.txt[1.7.4]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:43 +#, no-wrap +msgid "linkgit:git-verify-tag[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:334 -msgid "link:v1.7.3.5/git.html[documentation for release 1.7.3.5]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:45 +msgid "Check the GPG signature of tags." msgstr "" -#. type: delimited block = -#: en/git.txt:342 -msgid "" -"release notes for link:RelNotes/1.7.3.5.txt[1.7.3.5], " -"link:RelNotes/1.7.3.4.txt[1.7.3.4], link:RelNotes/1.7.3.3.txt[1.7.3.3], " -"link:RelNotes/1.7.3.2.txt[1.7.3.2], link:RelNotes/1.7.3.1.txt[1.7.3.1], " -"link:RelNotes/1.7.3.txt[1.7.3]." +#. type: Labeled list +#: en/cmds-ancillaryinterrogators.txt:46 +#, no-wrap +msgid "linkgit:git-whatchanged[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:344 -msgid "link:v1.7.2.5/git.html[documentation for release 1.7.2.5]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:48 +msgid "Show logs with difference each commit introduces." msgstr "" -#. type: delimited block = -#: en/git.txt:352 -msgid "" -"release notes for link:RelNotes/1.7.2.5.txt[1.7.2.5], " -"link:RelNotes/1.7.2.4.txt[1.7.2.4], link:RelNotes/1.7.2.3.txt[1.7.2.3], " -"link:RelNotes/1.7.2.2.txt[1.7.2.2], link:RelNotes/1.7.2.1.txt[1.7.2.1], " -"link:RelNotes/1.7.2.txt[1.7.2]." +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:49 en/git-instaweb.txt:90 +#, no-wrap +msgid "linkgit:gitweb[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:354 -msgid "link:v1.7.1.4/git.html[documentation for release 1.7.1.4]" +#. type: Plain text +#: en/cmds-ancillaryinterrogators.txt:51 +msgid "Git web interface (web frontend to Git repositories)." msgstr "" -#. type: delimited block = -#: en/git.txt:361 -msgid "" -"release notes for link:RelNotes/1.7.1.4.txt[1.7.1.4], " -"link:RelNotes/1.7.1.3.txt[1.7.1.3], link:RelNotes/1.7.1.2.txt[1.7.1.2], " -"link:RelNotes/1.7.1.1.txt[1.7.1.1], link:RelNotes/1.7.1.txt[1.7.1]." +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:1 en/git-difftool.txt:142 +#, no-wrap +msgid "linkgit:git-config[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:363 -msgid "link:v1.7.0.9/git.html[documentation for release 1.7.0.9]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:3 +msgid "Get and set repository or global options." msgstr "" -#. type: delimited block = -#: en/git.txt:375 -msgid "" -"release notes for link:RelNotes/1.7.0.9.txt[1.7.0.9], " -"link:RelNotes/1.7.0.8.txt[1.7.0.8], link:RelNotes/1.7.0.7.txt[1.7.0.7], " -"link:RelNotes/1.7.0.6.txt[1.7.0.6], link:RelNotes/1.7.0.5.txt[1.7.0.5], " -"link:RelNotes/1.7.0.4.txt[1.7.0.4], link:RelNotes/1.7.0.3.txt[1.7.0.3], " -"link:RelNotes/1.7.0.2.txt[1.7.0.2], link:RelNotes/1.7.0.1.txt[1.7.0.1], " -"link:RelNotes/1.7.0.txt[1.7.0]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:4 en/git-fast-import.txt:1472 +#, no-wrap +msgid "linkgit:git-fast-export[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:377 -msgid "link:v1.6.6.3/git.html[documentation for release 1.6.6.3]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:6 +msgid "Git data exporter." msgstr "" -#. type: delimited block = -#: en/git.txt:383 -msgid "" -"release notes for link:RelNotes/1.6.6.3.txt[1.6.6.3], " -"link:RelNotes/1.6.6.2.txt[1.6.6.2], link:RelNotes/1.6.6.1.txt[1.6.6.1], " -"link:RelNotes/1.6.6.txt[1.6.6]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:7 en/git-fast-export.txt:215 +#, no-wrap +msgid "linkgit:git-fast-import[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:385 -msgid "link:v1.6.5.9/git.html[documentation for release 1.6.5.9]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:9 +msgid "Backend for fast Git data importers." msgstr "" -#. type: delimited block = -#: en/git.txt:397 -msgid "" -"release notes for link:RelNotes/1.6.5.9.txt[1.6.5.9], " -"link:RelNotes/1.6.5.8.txt[1.6.5.8], link:RelNotes/1.6.5.7.txt[1.6.5.7], " -"link:RelNotes/1.6.5.6.txt[1.6.5.6], link:RelNotes/1.6.5.5.txt[1.6.5.5], " -"link:RelNotes/1.6.5.4.txt[1.6.5.4], link:RelNotes/1.6.5.3.txt[1.6.5.3], " -"link:RelNotes/1.6.5.2.txt[1.6.5.2], link:RelNotes/1.6.5.1.txt[1.6.5.1], " -"link:RelNotes/1.6.5.txt[1.6.5]." +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:10 +#, no-wrap +msgid "linkgit:git-filter-branch[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:399 -msgid "link:v1.6.4.5/git.html[documentation for release 1.6.4.5]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:12 +msgid "Rewrite branches." msgstr "" -#. type: delimited block = -#: en/git.txt:407 -msgid "" -"release notes for link:RelNotes/1.6.4.5.txt[1.6.4.5], " -"link:RelNotes/1.6.4.4.txt[1.6.4.4], link:RelNotes/1.6.4.3.txt[1.6.4.3], " -"link:RelNotes/1.6.4.2.txt[1.6.4.2], link:RelNotes/1.6.4.1.txt[1.6.4.1], " -"link:RelNotes/1.6.4.txt[1.6.4]." +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:13 en/git-difftool.txt:139 +#, no-wrap +msgid "linkgit:git-mergetool[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:409 -msgid "link:v1.6.3.4/git.html[documentation for release 1.6.3.4]" +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:15 +msgid "Run merge conflict resolution tools to resolve merge conflicts." msgstr "" -#. type: delimited block = -#: en/git.txt:416 -msgid "" -"release notes for link:RelNotes/1.6.3.4.txt[1.6.3.4], " -"link:RelNotes/1.6.3.3.txt[1.6.3.3], link:RelNotes/1.6.3.2.txt[1.6.3.2], " -"link:RelNotes/1.6.3.1.txt[1.6.3.1], link:RelNotes/1.6.3.txt[1.6.3]." +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:16 +#, no-wrap +msgid "linkgit:git-pack-refs[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:424 -msgid "" -"release notes for link:RelNotes/1.6.2.5.txt[1.6.2.5], " -"link:RelNotes/1.6.2.4.txt[1.6.2.4], link:RelNotes/1.6.2.3.txt[1.6.2.3], " -"link:RelNotes/1.6.2.2.txt[1.6.2.2], link:RelNotes/1.6.2.1.txt[1.6.2.1], " -"link:RelNotes/1.6.2.txt[1.6.2]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:18 +msgid "Pack heads and tags for efficient repository access." msgstr "" -#. type: delimited block = -#: en/git.txt:426 -msgid "link:v1.6.1.3/git.html[documentation for release 1.6.1.3]" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:19 +#, no-wrap +msgid "linkgit:git-prune[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:432 -msgid "" -"release notes for link:RelNotes/1.6.1.3.txt[1.6.1.3], " -"link:RelNotes/1.6.1.2.txt[1.6.1.2], link:RelNotes/1.6.1.1.txt[1.6.1.1], " -"link:RelNotes/1.6.1.txt[1.6.1]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:21 +msgid "Prune all unreachable objects from the object database." msgstr "" -#. type: delimited block = -#: en/git.txt:434 -msgid "link:v1.6.0.6/git.html[documentation for release 1.6.0.6]" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:22 +#, no-wrap +msgid "linkgit:git-reflog[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:443 -msgid "" -"release notes for link:RelNotes/1.6.0.6.txt[1.6.0.6], " -"link:RelNotes/1.6.0.5.txt[1.6.0.5], link:RelNotes/1.6.0.4.txt[1.6.0.4], " -"link:RelNotes/1.6.0.3.txt[1.6.0.3], link:RelNotes/1.6.0.2.txt[1.6.0.2], " -"link:RelNotes/1.6.0.1.txt[1.6.0.1], link:RelNotes/1.6.0.txt[1.6.0]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:24 +msgid "Manage reflog information." msgstr "" -#. type: delimited block = -#: en/git.txt:445 -msgid "link:v1.5.6.6/git.html[documentation for release 1.5.6.6]" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:25 +#, no-wrap +msgid "linkgit:git-remote[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:454 -msgid "" -"release notes for link:RelNotes/1.5.6.6.txt[1.5.6.6], " -"link:RelNotes/1.5.6.5.txt[1.5.6.5], link:RelNotes/1.5.6.4.txt[1.5.6.4], " -"link:RelNotes/1.5.6.3.txt[1.5.6.3], link:RelNotes/1.5.6.2.txt[1.5.6.2], " -"link:RelNotes/1.5.6.1.txt[1.5.6.1], link:RelNotes/1.5.6.txt[1.5.6]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:27 +msgid "Manage set of tracked repositories." msgstr "" -#. type: delimited block = -#: en/git.txt:456 -msgid "link:v1.5.5.6/git.html[documentation for release 1.5.5.6]" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:28 +#, no-wrap +msgid "linkgit:git-repack[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:465 -msgid "" -"release notes for link:RelNotes/1.5.5.6.txt[1.5.5.6], " -"link:RelNotes/1.5.5.5.txt[1.5.5.5], link:RelNotes/1.5.5.4.txt[1.5.5.4], " -"link:RelNotes/1.5.5.3.txt[1.5.5.3], link:RelNotes/1.5.5.2.txt[1.5.5.2], " -"link:RelNotes/1.5.5.1.txt[1.5.5.1], link:RelNotes/1.5.5.txt[1.5.5]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:30 +msgid "Pack unpacked objects in a repository." msgstr "" -#. type: delimited block = -#: en/git.txt:467 -msgid "link:v1.5.4.7/git.html[documentation for release 1.5.4.7]" +#. type: Labeled list +#: en/cmds-ancillarymanipulators.txt:31 +#, no-wrap +msgid "linkgit:git-replace[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:477 -msgid "" -"release notes for link:RelNotes/1.5.4.7.txt[1.5.4.7], " -"link:RelNotes/1.5.4.6.txt[1.5.4.6], link:RelNotes/1.5.4.5.txt[1.5.4.5], " -"link:RelNotes/1.5.4.4.txt[1.5.4.4], link:RelNotes/1.5.4.3.txt[1.5.4.3], " -"link:RelNotes/1.5.4.2.txt[1.5.4.2], link:RelNotes/1.5.4.1.txt[1.5.4.1], " -"link:RelNotes/1.5.4.txt[1.5.4]." +#. type: Plain text +#: en/cmds-ancillarymanipulators.txt:33 +msgid "Create, list, delete refs to replace objects." msgstr "" -#. type: delimited block = -#: en/git.txt:479 -msgid "link:v1.5.3.8/git.html[documentation for release 1.5.3.8]" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:1 +#, no-wrap +msgid "linkgit:git-archimport[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:490 -msgid "" -"release notes for link:RelNotes/1.5.3.8.txt[1.5.3.8], " -"link:RelNotes/1.5.3.7.txt[1.5.3.7], link:RelNotes/1.5.3.6.txt[1.5.3.6], " -"link:RelNotes/1.5.3.5.txt[1.5.3.5], link:RelNotes/1.5.3.4.txt[1.5.3.4], " -"link:RelNotes/1.5.3.3.txt[1.5.3.3], link:RelNotes/1.5.3.2.txt[1.5.3.2], " -"link:RelNotes/1.5.3.1.txt[1.5.3.1], link:RelNotes/1.5.3.txt[1.5.3]." +#. type: Plain text +#: en/cmds-foreignscminterface.txt:3 +msgid "Import an Arch repository into Git." msgstr "" -#. type: delimited block = -#: en/git.txt:492 -msgid "link:v1.5.2.5/git.html[documentation for release 1.5.2.5]" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:4 +#, no-wrap +msgid "linkgit:git-cvsexportcommit[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:500 -msgid "" -"release notes for link:RelNotes/1.5.2.5.txt[1.5.2.5], " -"link:RelNotes/1.5.2.4.txt[1.5.2.4], link:RelNotes/1.5.2.3.txt[1.5.2.3], " -"link:RelNotes/1.5.2.2.txt[1.5.2.2], link:RelNotes/1.5.2.1.txt[1.5.2.1], " -"link:RelNotes/1.5.2.txt[1.5.2]." +#. type: Plain text +#: en/cmds-foreignscminterface.txt:6 +msgid "Export a single commit to a CVS checkout." msgstr "" -#. type: delimited block = -#: en/git.txt:502 -msgid "link:v1.5.1.6/git.html[documentation for release 1.5.1.6]" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:7 +#, no-wrap +msgid "linkgit:git-cvsimport[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:511 -msgid "" -"release notes for link:RelNotes/1.5.1.6.txt[1.5.1.6], " -"link:RelNotes/1.5.1.5.txt[1.5.1.5], link:RelNotes/1.5.1.4.txt[1.5.1.4], " -"link:RelNotes/1.5.1.3.txt[1.5.1.3], link:RelNotes/1.5.1.2.txt[1.5.1.2], " -"link:RelNotes/1.5.1.1.txt[1.5.1.1], link:RelNotes/1.5.1.txt[1.5.1]." +#. type: Plain text +#: en/cmds-foreignscminterface.txt:9 +msgid "Salvage your data out of another SCM people love to hate." msgstr "" -#. type: delimited block = -#: en/git.txt:513 -msgid "link:v1.5.0.7/git.html[documentation for release 1.5.0.7]" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:10 +#, no-wrap +msgid "linkgit:git-cvsserver[1]" msgstr "" -#. type: delimited block = -#: en/git.txt:522 -msgid "" -"release notes for link:RelNotes/1.5.0.7.txt[1.5.0.7], " -"link:RelNotes/1.5.0.6.txt[1.5.0.6], link:RelNotes/1.5.0.5.txt[1.5.0.5], " -"link:RelNotes/1.5.0.3.txt[1.5.0.3], link:RelNotes/1.5.0.2.txt[1.5.0.2], " -"link:RelNotes/1.5.0.1.txt[1.5.0.1], link:RelNotes/1.5.0.txt[1.5.0]." +#. type: Plain text +#: en/cmds-foreignscminterface.txt:12 +msgid "A CVS server emulator for Git." msgstr "" -#. type: delimited block = -#: en/git.txt:527 -msgid "" -"documentation for release link:v1.4.4.4/git.html[1.4.4.4], " -"link:v1.3.3/git.html[1.3.3], link:v1.2.6/git.html[1.2.6], " -"link:v1.0.13/git.html[1.0.13]." +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:13 +#, no-wrap +msgid "linkgit:git-imap-send[1]" msgstr "" -#. type: Title - -#: en/git.txt:533 en/git-add.txt:51 en/git-am.txt:28 en/git-annotate.txt:24 en/git-apply.txt:36 en/git-archimport.txt:68 en/git-archive.txt:34 en/git-bisect.txt:357 en/git-blame.txt:49 en/git-branch.txt:77 en/git-bundle.txt:34 en/git-cat-file.txt:30 en/git-check-attr.txt:21 en/git-check-ignore.txt:27 en/git-check-mailmap.txt:25 en/git-checkout-index.txt:24 en/git-checkout.txt:105 en/git-check-ref-format.txt:87 en/git-cherry-pick.txt:44 en/git-cherry.txt:28 en/git-clean.txt:27 en/git-clone.txt:42 en/git-column.txt:19 en/git-commit.txt:59 en/git-commit-tree.txt:42 en/git-config.txt:72 en/git-count-objects.txt:20 en/git-credential-cache.txt:27 en/git-credential-store.txt:30 en/git-cvsexportcommit.txt:35 en/git-cvsimport.txt:51 en/git-cvsserver.txt:28 en/git-daemon.txt:47 en/git-describe.txt:28 en/git-diff-files.txt:22 en/git-diff-index.txt:23 en/git-difftool.txt:21 en/git-diff-tree.txt:26 en/git-diff.txt:96 en/git-fast-export.txt:25 en/git-fast-import.txt:35 en/git-fetch-pack.txt:34 en/git-fetch.txt:46 en/git-filter-branch.txt:83 en/git-fmt-merge-msg.txt:25 en/git-for-each-ref.txt:27 en/git-format-patch.txt:81 en/git-fsck.txt:22 en/git-gc.txt:34 en/git-grep.txt:71 en/git-hash-object.txt:26 en/git-help.txt:40 en/git-http-fetch.txt:22 en/git-http-push.txt:24 en/git-imap-send.txt:30 en/git-index-pack.txt:26 en/git-init.txt:39 en/git-instaweb.txt:21 en/git-interpret-trailers.txt:69 en/git-log.txt:25 en/git-ls-files.txt:34 en/git-ls-remote.txt:23 en/git-ls-tree.txt:37 en/git-mailinfo.txt:26 en/git-mailsplit.txt:23 en/git-merge-base.txt:70 en/git-merge-file.txt:53 en/git-merge-index.txt:22 en/git-mergetool.txt:26 en/git-merge.txt:69 en/git-mktree.txt:22 en/git-mv.txt:30 en/git-name-rev.txt:22 en/git-notes.txt:126 en/git-p4.txt:162 en/git-pack-objects.txt:48 en/git-pack-redundant.txt:29 en/git-pack-refs.txt:46 en/git-patch-id.txt:31 en/git-prune-packed.txt:30 en/git-prune.txt:34 en/git-pull.txt:75 en/git-quiltimport.txt:32 en/git-read-tree.txt:33 en/git-rebase.txt:226 en/git-receive-pack.txt:40 en/git-reflog.txt:61 en/git-remote.txt:33 en/git-repack.txt:29 en/git-replace.txt:58 en/git-request-pull.txt:28 en/git-reset.txt:94 en/git-revert.txt:34 en/git-rev-list.txt:112 en/git-rev-parse.txt:26 en/git-rm.txt:28 en/git-send-email.txt:43 en/git-send-pack.txt:27 en/git-shortlog.txt:27 en/git-show-branch.txt:32 en/git-show-ref.txt:34 en/git-show.txt:36 en/git-stash.txt:49 en/git-status.txt:25 en/git-stripspace.txt:37 en/git-submodule.txt:270 en/git-svn.txt:544 en/git-symbolic-ref.txt:33 en/git-tag.txt:58 en/git-unpack-file.txt:22 en/git-unpack-objects.txt:29 en/git-update-index.txt:41 en/git-update-server-info.txt:24 en/git-upload-archive.txt:56 en/git-var.txt:19 en/git-verify-commit.txt:18 en/git-verify-pack.txt:22 en/git-verify-tag.txt:18 en/git-web--browse.txt:43 en/git-worktree.txt:83 en/git-write-tree.txt:29 -#, no-wrap -msgid "OPTIONS" +#. type: Plain text +#: en/cmds-foreignscminterface.txt:15 +msgid "Send a collection of patches from stdin to an IMAP folder." msgstr "" #. type: Labeled list -#: en/git.txt:534 en/git-cvsserver.txt:45 +#: en/cmds-foreignscminterface.txt:16 #, no-wrap -msgid "--version" +msgid "linkgit:git-p4[1]" msgstr "" #. type: Plain text -#: en/git.txt:536 -msgid "Prints the Git suite version that the 'git' program came from." +#: en/cmds-foreignscminterface.txt:18 +msgid "Import from and submit to Perforce repositories." msgstr "" #. type: Labeled list -#: en/git.txt:537 en/git-cvsserver.txt:50 +#: en/cmds-foreignscminterface.txt:19 #, no-wrap -msgid "--help" -msgstr "" - -#. type: Plain text -#: en/git.txt:542 -msgid "" -"Prints the synopsis and a list of the most commonly used commands. If the " -"option `--all` or `-a` is given then all available commands are printed. If " -"a Git command is named this option will bring up the manual page for that " -"command." +msgid "linkgit:git-quiltimport[1]" msgstr "" #. type: Plain text -#: en/git.txt:547 -msgid "" -"Other options are available to control how the manual page is displayed. See " -"linkgit:git-help[1] for more information, because `git --help ...` is " -"converted internally into `git help ...`." +#: en/cmds-foreignscminterface.txt:21 +msgid "Applies a quilt patchset onto the current branch." msgstr "" #. type: Labeled list -#: en/git.txt:548 +#: en/cmds-foreignscminterface.txt:22 #, no-wrap -msgid "-C <path>" +msgid "linkgit:git-request-pull[1]" msgstr "" #. type: Plain text -#: en/git.txt:553 -msgid "" -"Run as if git was started in '<path>' instead of the current working " -"directory. When multiple `-C` options are given, each subsequent " -"non-absolute `-C <path>` is interpreted relative to the preceding `-C " -"<path>`." +#: en/cmds-foreignscminterface.txt:24 +msgid "Generates a summary of pending changes." msgstr "" -#. type: Plain text -#: en/git.txt:558 -msgid "" -"This option affects options that expect path name like `--git-dir` and " -"`--work-tree` in that their interpretations of the path names would be made " -"relative to the working directory caused by the `-C` option. For example the " -"following invocations are equivalent:" +#. type: Labeled list +#: en/cmds-foreignscminterface.txt:25 +#, no-wrap +msgid "linkgit:git-send-email[1]" msgstr "" #. type: Plain text -#: en/git.txt:561 -#, no-wrap -msgid "" -" git --git-dir=a.git --work-tree=b -C c status\n" -" git --git-dir=c/a.git --work-tree=c/b status\n" +#: en/cmds-foreignscminterface.txt:27 +msgid "Send a collection of patches as emails." msgstr "" #. type: Labeled list -#: en/git.txt:562 +#: en/cmds-foreignscminterface.txt:28 #, no-wrap -msgid "-c <name>=<value>" +msgid "linkgit:git-svn[1]" msgstr "" #. type: Plain text -#: en/git.txt:567 -msgid "" -"Pass a configuration parameter to the command. The value given will override " -"values from configuration files. The <name> is expected in the same format " -"as listed by 'git config' (subkeys separated by dots)." +#: en/cmds-foreignscminterface.txt:30 +msgid "Bidirectional operation between a Subversion repository and Git." msgstr "" #. type: Plain text -#: en/git.txt:572 -msgid "" -"Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets " -"`foo.bar` to the boolean true value (just like `[foo]bar` would in a config " -"file). Including the equals but with an empty value (like `git -c foo.bar= " -"...`) sets `foo.bar` to the empty string." +#: en/cmds-mainporcelain.txt:1 en/git-rm.txt:185 +#, no-wrap +msgid "linkgit:git-add[1]" +msgstr "" + +#. type: Plain text +#: en/cmds-mainporcelain.txt:3 +msgid "Add file contents to the index." msgstr "" #. type: Labeled list -#: en/git.txt:573 +#: en/cmds-mainporcelain.txt:4 #, no-wrap -msgid "--exec-path[=<path>]" +msgid "linkgit:git-am[1]" msgstr "" #. type: Plain text -#: en/git.txt:578 -msgid "" -"Path to wherever your core Git programs are installed. This can also be " -"controlled by setting the GIT_EXEC_PATH environment variable. If no path is " -"given, 'git' will print the current setting and then exit." +#: en/cmds-mainporcelain.txt:6 +msgid "Apply a series of patches from a mailbox." msgstr "" #. type: Labeled list -#: en/git.txt:579 +#: en/cmds-mainporcelain.txt:7 #, no-wrap -msgid "--html-path" +msgid "linkgit:git-archive[1]" msgstr "" #. type: Plain text -#: en/git.txt:582 -msgid "" -"Print the path, without trailing slash, where Git's HTML documentation is " -"installed and exit." +#: en/cmds-mainporcelain.txt:9 +msgid "Create an archive of files from a named tree." msgstr "" #. type: Labeled list -#: en/git.txt:583 +#: en/cmds-mainporcelain.txt:10 #, no-wrap -msgid "--man-path" +msgid "linkgit:git-bisect[1]" msgstr "" #. type: Plain text -#: en/git.txt:586 -msgid "" -"Print the manpath (see `man(1)`) for the man pages for this version of Git " -"and exit." +#: en/cmds-mainporcelain.txt:12 +msgid "Use binary search to find the commit that introduced a bug." msgstr "" #. type: Labeled list -#: en/git.txt:587 +#: en/cmds-mainporcelain.txt:13 #, no-wrap -msgid "--info-path" +msgid "linkgit:git-branch[1]" msgstr "" #. type: Plain text -#: en/git.txt:590 -msgid "" -"Print the path where the Info files documenting this version of Git are " -"installed and exit." +#: en/cmds-mainporcelain.txt:15 +msgid "List, create, or delete branches." msgstr "" #. type: Labeled list -#: en/git.txt:591 en/git-add.txt:85 en/git-cat-file.txt:48 en/git-checkout.txt:242 en/git-commit.txt:66 en/git-cvsexportcommit.txt:41 en/git-grep.txt:222 en/git-instaweb.txt:40 en/git-merge-file.txt:63 en/git-rebase.txt:383 en/git-request-pull.txt:29 en/git-svn.txt:504 en/git-svn.txt:641 en/blame-options.txt:39 en/diff-options.txt:16 en/diff-options.txt:22 en/fetch-options.txt:67 +#: en/cmds-mainporcelain.txt:16 #, no-wrap -msgid "-p" +msgid "linkgit:git-bundle[1]" +msgstr "" + +#. type: Plain text +#: en/cmds-mainporcelain.txt:18 +msgid "Move objects and refs by archive." msgstr "" #. type: Labeled list -#: en/git.txt:592 +#: en/cmds-mainporcelain.txt:19 #, no-wrap -msgid "--paginate" +msgid "linkgit:git-checkout[1]" msgstr "" #. type: Plain text -#: en/git.txt:597 -msgid "" -"Pipe all output into 'less' (or if set, $PAGER) if standard output is a " -"terminal. This overrides the `pager.<cmd>` configuration options (see the " -"\"Configuration Mechanism\" section below)." +#: en/cmds-mainporcelain.txt:21 +msgid "Switch branches or restore working tree files." msgstr "" -#. type: Labeled list -#: en/git.txt:598 +#. type: Plain text +#: en/cmds-mainporcelain.txt:22 en/git-revert.txt:126 #, no-wrap -msgid "--no-pager" +msgid "linkgit:git-cherry-pick[1]" msgstr "" #. type: Plain text -#: en/git.txt:600 -msgid "Do not pipe Git output into a pager." +#: en/cmds-mainporcelain.txt:24 +msgid "Apply the changes introduced by some existing commits." msgstr "" #. type: Labeled list -#: en/git.txt:601 +#: en/cmds-mainporcelain.txt:25 #, no-wrap -msgid "--git-dir=<path>" +msgid "linkgit:git-citool[1]" msgstr "" #. type: Plain text -#: en/git.txt:605 -msgid "" -"Set the path to the repository. This can also be controlled by setting the " -"`GIT_DIR` environment variable. It can be an absolute path or relative path " -"to current working directory." +#: en/cmds-mainporcelain.txt:27 +msgid "Graphical alternative to git-commit." msgstr "" #. type: Labeled list -#: en/git.txt:606 +#: en/cmds-mainporcelain.txt:28 #, no-wrap -msgid "--work-tree=<path>" +msgid "linkgit:git-clean[1]" msgstr "" #. type: Plain text -#: en/git.txt:613 -msgid "" -"Set the path to the working tree. It can be an absolute path or a path " -"relative to the current working directory. This can also be controlled by " -"setting the GIT_WORK_TREE environment variable and the core.worktree " -"configuration variable (see core.worktree in linkgit:git-config[1] for a " -"more detailed discussion)." +#: en/cmds-mainporcelain.txt:30 +msgid "Remove untracked files from the working tree." msgstr "" #. type: Labeled list -#: en/git.txt:614 +#: en/cmds-mainporcelain.txt:31 #, no-wrap -msgid "--namespace=<path>" +msgid "linkgit:git-clone[1]" msgstr "" #. type: Plain text -#: en/git.txt:618 -msgid "" -"Set the Git namespace. See linkgit:gitnamespaces[7] for more details. " -"Equivalent to setting the `GIT_NAMESPACE` environment variable." +#: en/cmds-mainporcelain.txt:33 +msgid "Clone a repository into a new directory." msgstr "" #. type: Labeled list -#: en/git.txt:619 +#: en/cmds-mainporcelain.txt:34 #, no-wrap -msgid "--super-prefix=<path>" +msgid "linkgit:git-commit[1]" msgstr "" #. type: Plain text -#: en/git.txt:623 -msgid "" -"Currently for internal use only. Set a prefix which gives a path from above " -"a repository down to its root. One use is to give submodules context about " -"the superproject that invoked it." +#: en/cmds-mainporcelain.txt:36 +msgid "Record changes to the repository." msgstr "" #. type: Labeled list -#: en/git.txt:624 en/git-clone.txt:138 en/git-init.txt:48 en/git-p4.txt:268 +#: en/cmds-mainporcelain.txt:37 #, no-wrap -msgid "--bare" +msgid "linkgit:git-describe[1]" msgstr "" #. type: Plain text -#: en/git.txt:628 -msgid "" -"Treat the repository as a bare repository. If GIT_DIR environment is not " -"set, it is set to the current working directory." +#: en/cmds-mainporcelain.txt:39 +msgid "Give an object a human readable name based on an available ref." msgstr "" #. type: Labeled list -#: en/git.txt:629 +#: en/cmds-mainporcelain.txt:40 en/git-difftool.txt:136 #, no-wrap -msgid "--no-replace-objects" +msgid "linkgit:git-diff[1]" msgstr "" #. type: Plain text -#: en/git.txt:632 -msgid "" -"Do not use replacement refs to replace Git objects. See " -"linkgit:git-replace[1] for more information." +#: en/cmds-mainporcelain.txt:42 +msgid "Show changes between commits, commit and working tree, etc." msgstr "" -#. type: Labeled list -#: en/git.txt:633 +#. type: Plain text +#: en/cmds-mainporcelain.txt:43 en/git-fetch-pack.txt:129 #, no-wrap -msgid "--literal-pathspecs" +msgid "linkgit:git-fetch[1]" msgstr "" #. type: Plain text -#: en/git.txt:637 -msgid "" -"Treat pathspecs literally (i.e. no globbing, no pathspec magic). This is " -"equivalent to setting the `GIT_LITERAL_PATHSPECS` environment variable to " -"`1`." +#: en/cmds-mainporcelain.txt:45 +msgid "Download objects and refs from another repository." msgstr "" #. type: Labeled list -#: en/git.txt:638 +#: en/cmds-mainporcelain.txt:46 #, no-wrap -msgid "--glob-pathspecs" +msgid "linkgit:git-format-patch[1]" msgstr "" #. type: Plain text -#: en/git.txt:643 -msgid "" -"Add \"glob\" magic to all pathspec. This is equivalent to setting the " -"`GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling globbing on " -"individual pathspecs can be done using pathspec magic \":(literal)\"" +#: en/cmds-mainporcelain.txt:48 +msgid "Prepare patches for e-mail submission." msgstr "" #. type: Labeled list -#: en/git.txt:644 +#: en/cmds-mainporcelain.txt:49 #, no-wrap -msgid "--noglob-pathspecs" +msgid "linkgit:git-gc[1]" msgstr "" #. type: Plain text -#: en/git.txt:649 -msgid "" -"Add \"literal\" magic to all pathspec. This is equivalent to setting the " -"`GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling globbing on " -"individual pathspecs can be done using pathspec magic \":(glob)\"" +#: en/cmds-mainporcelain.txt:51 +msgid "Cleanup unnecessary files and optimize the local repository." msgstr "" #. type: Labeled list -#: en/git.txt:650 +#: en/cmds-mainporcelain.txt:52 #, no-wrap -msgid "--icase-pathspecs" +msgid "linkgit:git-grep[1]" msgstr "" #. type: Plain text -#: en/git.txt:653 -msgid "" -"Add \"icase\" magic to all pathspec. This is equivalent to setting the " -"`GIT_ICASE_PATHSPECS` environment variable to `1`." +#: en/cmds-mainporcelain.txt:54 +msgid "Print lines matching a pattern." msgstr "" -#. type: Title - -#: en/git.txt:655 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:55 #, no-wrap -msgid "GIT COMMANDS" +msgid "linkgit:git-gui[1]" msgstr "" #. type: Plain text -#: en/git.txt:659 -msgid "" -"We divide Git into high level (\"porcelain\") commands and low level " -"(\"plumbing\") commands." +#: en/cmds-mainporcelain.txt:57 +msgid "A portable graphical interface to Git." msgstr "" -#. type: Title - -#: en/git.txt:661 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:58 #, no-wrap -msgid "High-level commands (porcelain)" +msgid "linkgit:git-init[1]" msgstr "" #. type: Plain text -#: en/git.txt:665 -msgid "" -"We separate the porcelain commands into the main commands and some ancillary " -"user utilities." +#: en/cmds-mainporcelain.txt:60 +msgid "Create an empty Git repository or reinitialize an existing one." msgstr "" -#. type: Title ~ -#: en/git.txt:667 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:61 #, no-wrap -msgid "Main porcelain commands" +msgid "linkgit:git-log[1]" msgstr "" -#. type: Title ~ -#: en/git.txt:672 -#, no-wrap -msgid "Ancillary Commands" +#. type: Plain text +#: en/cmds-mainporcelain.txt:63 +msgid "Show commit logs." msgstr "" #. type: Plain text -#: en/git.txt:674 -msgid "Manipulators:" +#: en/cmds-mainporcelain.txt:64 en/git-fmt-merge-msg.txt:75 +#, no-wrap +msgid "linkgit:git-merge[1]" msgstr "" #. type: Plain text -#: en/git.txt:678 -msgid "Interrogators:" +#: en/cmds-mainporcelain.txt:66 +msgid "Join two or more development histories together." msgstr "" -#. type: Title ~ -#: en/git.txt:683 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:67 #, no-wrap -msgid "Interacting with Others" +msgid "linkgit:git-mv[1]" msgstr "" #. type: Plain text -#: en/git.txt:687 -msgid "" -"These commands are to interact with foreign SCM and with other people via " -"patch over e-mail." +#: en/cmds-mainporcelain.txt:69 +msgid "Move or rename a file, a directory, or a symlink." msgstr "" -#. type: Title - -#: en/git.txt:692 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:70 #, no-wrap -msgid "Low-level commands (plumbing)" +msgid "linkgit:git-notes[1]" msgstr "" #. type: Plain text -#: en/git.txt:699 -msgid "" -"Although Git includes its own porcelain layer, its low-level commands are " -"sufficient to support development of alternative porcelains. Developers of " -"such porcelains might start by reading about linkgit:git-update-index[1] and " -"linkgit:git-read-tree[1]." +#: en/cmds-mainporcelain.txt:72 +msgid "Add or inspect object notes." msgstr "" #. type: Plain text -#: en/git.txt:706 -msgid "" -"The interface (input, output, set of options and the semantics) to these " -"low-level commands are meant to be a lot more stable than Porcelain level " -"commands, because these commands are primarily for scripted use. The " -"interface to Porcelain commands on the other hand are subject to change in " -"order to improve the end user experience." +#: en/cmds-mainporcelain.txt:73 en/git-fetch.txt:209 +#, no-wrap +msgid "linkgit:git-pull[1]" msgstr "" #. type: Plain text -#: en/git.txt:712 -msgid "" -"The following description divides the low-level commands into commands that " -"manipulate objects (in the repository, index, and working tree), commands " -"that interrogate and compare objects, and commands that move objects and " -"references between repositories." -msgstr "" - -#. type: Title ~ -#: en/git.txt:715 -#, no-wrap -msgid "Manipulation commands" +#: en/cmds-mainporcelain.txt:75 +msgid "Fetch from and integrate with another repository or a local branch." msgstr "" -#. type: Title ~ -#: en/git.txt:721 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:76 #, no-wrap -msgid "Interrogation commands" +msgid "linkgit:git-push[1]" msgstr "" #. type: Plain text -#: en/git.txt:727 -msgid "" -"In general, the interrogate commands do not touch the files in the working " -"tree." +#: en/cmds-mainporcelain.txt:78 +msgid "Update remote refs along with associated objects." msgstr "" -#. type: Title ~ -#: en/git.txt:730 +#. type: Plain text +#: en/cmds-mainporcelain.txt:79 en/git-svn.txt:1133 #, no-wrap -msgid "Synching repositories" +msgid "linkgit:git-rebase[1]" msgstr "" #. type: Plain text -#: en/git.txt:736 -msgid "" -"The following are helper commands used by the above; end users typically do " -"not use them directly." +#: en/cmds-mainporcelain.txt:81 +msgid "Reapply commits on top of another base tip." msgstr "" -#. type: Title ~ -#: en/git.txt:741 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:82 #, no-wrap -msgid "Internal helper commands" +msgid "linkgit:git-reset[1]" msgstr "" #. type: Plain text -#: en/git.txt:745 -msgid "" -"These are internal helper commands used by other commands; end users " -"typically do not use them directly." +#: en/cmds-mainporcelain.txt:84 +msgid "Reset current HEAD to the specified state." msgstr "" -#. type: Title - -#: en/git.txt:750 +#. type: Plain text +#: en/cmds-mainporcelain.txt:85 en/git-cherry-pick.txt:230 #, no-wrap -msgid "Configuration Mechanism" +msgid "linkgit:git-revert[1]" msgstr "" #. type: Plain text -#: en/git.txt:755 -msgid "" -"Git uses a simple text format to store customizations that are per " -"repository and are per user. Such a configuration file may look like this:" +#: en/cmds-mainporcelain.txt:87 +msgid "Revert some existing commits." msgstr "" -#. type: delimited block - -#: en/git.txt:760 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:88 #, no-wrap -msgid "" -"#\n" -"# A '#' or ';' character indicates a comment.\n" -"#\n" +msgid "linkgit:git-rm[1]" msgstr "" -#. type: delimited block - -#: en/git.txt:765 -#, no-wrap -msgid "" -"; core variables\n" -"[core]\n" -"\t; Don't trust file modes\n" -"\tfilemode = false\n" +#. type: Plain text +#: en/cmds-mainporcelain.txt:90 +msgid "Remove files from the working tree and from the index." msgstr "" -#. type: delimited block - -#: en/git.txt:770 +#. type: Labeled list +#: en/cmds-mainporcelain.txt:91 #, no-wrap -msgid "" -"; user identity\n" -"[user]\n" -"\tname = \"Junio C Hamano\"\n" -"\temail = \"gitster@pobox.com\"\n" +msgid "linkgit:git-shortlog[1]" msgstr "" #. type: Plain text -#: en/git.txt:776 -msgid "" -"Various commands read from the configuration file and adjust their operation " -"accordingly. See linkgit:git-config[1] for a list and more details about " -"the configuration mechanism." -msgstr "" - -#. type: Title - -#: en/git.txt:779 -#, no-wrap -msgid "Identifier Terminology" +#: en/cmds-mainporcelain.txt:93 +msgid "Summarize 'git log' output." msgstr "" #. type: Labeled list -#: en/git.txt:780 en/git-cat-file.txt:31 en/git-fsck.txt:23 en/git-tag.txt:166 +#: en/cmds-mainporcelain.txt:94 #, no-wrap -msgid "<object>" +msgid "linkgit:git-show[1]" msgstr "" #. type: Plain text -#: en/git.txt:782 -msgid "Indicates the object name for any type of object." +#: en/cmds-mainporcelain.txt:96 +msgid "Show various types of objects." msgstr "" #. type: Labeled list -#: en/git.txt:783 en/git-unpack-file.txt:23 +#: en/cmds-mainporcelain.txt:97 #, no-wrap -msgid "<blob>" +msgid "linkgit:git-stash[1]" msgstr "" #. type: Plain text -#: en/git.txt:785 -msgid "Indicates a blob object name." +#: en/cmds-mainporcelain.txt:99 +msgid "Stash the changes in a dirty working directory away." msgstr "" #. type: Labeled list -#: en/git.txt:786 en/git-commit-tree.txt:43 +#: en/cmds-mainporcelain.txt:100 #, no-wrap -msgid "<tree>" +msgid "linkgit:git-status[1]" msgstr "" #. type: Plain text -#: en/git.txt:788 -msgid "Indicates a tree object name." +#: en/cmds-mainporcelain.txt:102 +msgid "Show the working tree status." msgstr "" #. type: Labeled list -#: en/git.txt:789 en/git-tag.txt:165 +#: en/cmds-mainporcelain.txt:103 #, no-wrap -msgid "<commit>" +msgid "linkgit:git-submodule[1]" msgstr "" #. type: Plain text -#: en/git.txt:791 -msgid "Indicates a commit object name." +#: en/cmds-mainporcelain.txt:105 +msgid "Initialize, update or inspect submodules." msgstr "" #. type: Labeled list -#: en/git.txt:792 en/git-archive.txt:77 en/git-checkout.txt:281 en/git-diff-index.txt:26 en/git-diff-tree.txt:29 en/git-ls-tree.txt:38 +#: en/cmds-mainporcelain.txt:106 #, no-wrap -msgid "<tree-ish>" +msgid "linkgit:git-tag[1]" msgstr "" #. type: Plain text -#: en/git.txt:797 -msgid "" -"Indicates a tree, commit or tag object name. A command that takes a " -"<tree-ish> argument ultimately wants to operate on a <tree> object but " -"automatically dereferences <commit> and <tag> objects that point at a " -"<tree>." +#: en/cmds-mainporcelain.txt:108 +msgid "Create, list, delete or verify a tag object signed with GPG." msgstr "" #. type: Labeled list -#: en/git.txt:798 +#: en/cmds-mainporcelain.txt:109 #, no-wrap -msgid "<commit-ish>" +msgid "linkgit:git-worktree[1]" msgstr "" #. type: Plain text -#: en/git.txt:803 -msgid "" -"Indicates a commit or tag object name. A command that takes a <commit-ish> " -"argument ultimately wants to operate on a <commit> object but automatically " -"dereferences <tag> objects that point at a <commit>." +#: en/cmds-mainporcelain.txt:111 +msgid "Manage multiple working trees." msgstr "" #. type: Labeled list -#: en/git.txt:804 en/git-cat-file.txt:51 +#: en/cmds-mainporcelain.txt:112 en/git-gui.txt:104 #, no-wrap -msgid "<type>" +msgid "linkgit:gitk[1]" msgstr "" #. type: Plain text -#: en/git.txt:807 -msgid "" -"Indicates that an object type is required. Currently one of: `blob`, " -"`tree`, `commit`, or `tag`." +#: en/cmds-mainporcelain.txt:114 +msgid "The Git repository browser." msgstr "" #. type: Labeled list -#: en/git.txt:808 en/git-ls-files.txt:177 en/git-update-index.txt:207 +#: en/cmds-plumbinginterrogators.txt:1 #, no-wrap -msgid "<file>" +msgid "linkgit:git-cat-file[1]" msgstr "" #. type: Plain text -#: en/git.txt:811 -msgid "" -"Indicates a filename - almost always relative to the root of the tree " -"structure `GIT_INDEX_FILE` describes." +#: en/cmds-plumbinginterrogators.txt:3 +msgid "Provide content or type and size information for repository objects." msgstr "" -#. type: Title - -#: en/git.txt:813 +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:4 #, no-wrap -msgid "Symbolic Identifiers" +msgid "linkgit:git-diff-files[1]" msgstr "" #. type: Plain text -#: en/git.txt:816 -msgid "" -"Any Git command accepting any <object> can also use the following symbolic " -"notation:" +#: en/cmds-plumbinginterrogators.txt:6 +msgid "Compares files in the working tree and the index." msgstr "" #. type: Labeled list -#: en/git.txt:817 en/git-for-each-ref.txt:148 +#: en/cmds-plumbinginterrogators.txt:7 #, no-wrap -msgid "HEAD" +msgid "linkgit:git-diff-index[1]" msgstr "" #. type: Plain text -#: en/git.txt:819 -msgid "indicates the head of the current branch." +#: en/cmds-plumbinginterrogators.txt:9 +msgid "Compare a tree to the working tree or index." msgstr "" #. type: Labeled list -#: en/git.txt:820 +#: en/cmds-plumbinginterrogators.txt:10 #, no-wrap -msgid "<tag>" +msgid "linkgit:git-diff-tree[1]" msgstr "" #. type: Plain text -#: en/git.txt:823 -msgid "a valid tag 'name' (i.e. a `refs/tags/<tag>` reference)." +#: en/cmds-plumbinginterrogators.txt:12 +msgid "Compares the content and mode of blobs found via two tree objects." msgstr "" #. type: Labeled list -#: en/git.txt:824 en/git-cherry.txt:36 +#: en/cmds-plumbinginterrogators.txt:13 #, no-wrap -msgid "<head>" -msgstr "" - -#. type: Plain text -#: en/git.txt:827 -msgid "a valid head 'name' (i.e. a `refs/heads/<head>` reference)." +msgid "linkgit:git-for-each-ref[1]" msgstr "" #. type: Plain text -#: en/git.txt:830 -msgid "" -"For a more complete list of ways to spell object names, see \"SPECIFYING " -"REVISIONS\" section in linkgit:gitrevisions[7]." +#: en/cmds-plumbinginterrogators.txt:15 +msgid "Output information on each ref." msgstr "" -#. type: Title - -#: en/git.txt:833 +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:16 #, no-wrap -msgid "File/Directory Structure" +msgid "linkgit:git-ls-files[1]" msgstr "" #. type: Plain text -#: en/git.txt:836 -msgid "Please see the linkgit:gitrepository-layout[5] document." +#: en/cmds-plumbinginterrogators.txt:18 +msgid "Show information about files in the index and the working tree." msgstr "" -#. type: Plain text -#: en/git.txt:838 -msgid "Read linkgit:githooks[5] for more details about each hook." +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:19 +#, no-wrap +msgid "linkgit:git-ls-remote[1]" msgstr "" #. type: Plain text -#: en/git.txt:841 -msgid "" -"Higher level SCMs may provide and manage additional information in the " -"`$GIT_DIR`." +#: en/cmds-plumbinginterrogators.txt:21 +msgid "List references in a remote repository." msgstr "" -#. type: Title - -#: en/git.txt:844 +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:22 #, no-wrap -msgid "Terminology" +msgid "linkgit:git-ls-tree[1]" msgstr "" #. type: Plain text -#: en/git.txt:846 -msgid "Please see linkgit:gitglossary[7]." +#: en/cmds-plumbinginterrogators.txt:24 +msgid "List the contents of a tree object." msgstr "" -#. type: Title - -#: en/git.txt:849 en/git-fsck.txt:146 +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:25 #, no-wrap -msgid "Environment Variables" +msgid "linkgit:git-merge-base[1]" msgstr "" #. type: Plain text -#: en/git.txt:851 -msgid "Various Git commands use the following environment variables:" +#: en/cmds-plumbinginterrogators.txt:27 +msgid "Find as good common ancestors as possible for a merge." msgstr "" -#. type: Title ~ -#: en/git.txt:853 +#. type: Labeled list +#: en/cmds-plumbinginterrogators.txt:28 #, no-wrap -msgid "The Git Repository" +msgid "linkgit:git-name-rev[1]" msgstr "" #. type: Plain text -#: en/git.txt:857 -msgid "" -"These environment variables apply to 'all' core Git commands. Nb: it is " -"worth noting that they may be used/overridden by SCMS sitting above Git so " -"take care if using a foreign front-end." +#: en/cmds-plumbinginterrogators.txt:30 +msgid "Find symbolic names for given revs." msgstr "" #. type: Labeled list -#: en/git.txt:858 +#: en/cmds-plumbinginterrogators.txt:31 #, no-wrap -msgid "`GIT_INDEX_FILE`" +msgid "linkgit:git-pack-redundant[1]" msgstr "" #. type: Plain text -#: en/git.txt:862 -msgid "" -"This environment allows the specification of an alternate index file. If not " -"specified, the default of `$GIT_DIR/index` is used." +#: en/cmds-plumbinginterrogators.txt:33 +msgid "Find redundant pack files." msgstr "" #. type: Labeled list -#: en/git.txt:863 +#: en/cmds-plumbinginterrogators.txt:34 #, no-wrap -msgid "`GIT_INDEX_VERSION`" +msgid "linkgit:git-rev-list[1]" msgstr "" #. type: Plain text -#: en/git.txt:868 -msgid "" -"This environment variable allows the specification of an index version for " -"new repositories. It won't affect existing index files. By default index " -"file version 2 or 3 is used. See linkgit:git-update-index[1] for more " -"information." +#: en/cmds-plumbinginterrogators.txt:36 +msgid "Lists commit objects in reverse chronological order." msgstr "" #. type: Labeled list -#: en/git.txt:869 +#: en/cmds-plumbinginterrogators.txt:37 #, no-wrap -msgid "`GIT_OBJECT_DIRECTORY`" +msgid "linkgit:git-show-index[1]" msgstr "" #. type: Plain text -#: en/git.txt:874 -msgid "" -"If the object storage directory is specified via this environment variable " -"then the sha1 directories are created underneath - otherwise the default " -"`$GIT_DIR/objects` directory is used." -msgstr "" - -#. type: Labeled list -#: en/git.txt:875 -#, no-wrap -msgid "`GIT_ALTERNATE_OBJECT_DIRECTORIES`" +#: en/cmds-plumbinginterrogators.txt:39 +msgid "Show packed archive index." msgstr "" #. type: Plain text -#: en/git.txt:881 -msgid "" -"Due to the immutable nature of Git objects, old objects can be archived into " -"shared, read-only directories. This variable specifies a \":\" separated (on " -"Windows \";\" separated) list of Git object directories which can be used to " -"search for Git objects. New objects will not be written to these " -"directories." +#: en/cmds-plumbinginterrogators.txt:40 en/git-for-each-ref.txt:341 +#, no-wrap +msgid "linkgit:git-show-ref[1]" msgstr "" #. type: Plain text -#: en/git.txt:887 -msgid "" -"Entries that begin with `\"` (double-quote) will be interpreted as C-style " -"quoted paths, removing leading and trailing double-quotes and respecting " -"backslash escapes. E.g., the value " -"`\"path-with-\\\"-and-:-in-it\":vanilla-path` has two paths: " -"`path-with-\"-and-:-in-it` and `vanilla-path`." +#: en/cmds-plumbinginterrogators.txt:42 +msgid "List references in a local repository." msgstr "" #. type: Labeled list -#: en/git.txt:888 +#: en/cmds-plumbinginterrogators.txt:43 #, no-wrap -msgid "`GIT_DIR`" +msgid "linkgit:git-unpack-file[1]" msgstr "" #. type: Plain text -#: en/git.txt:893 -msgid "" -"If the `GIT_DIR` environment variable is set then it specifies a path to use " -"instead of the default `.git` for the base of the repository. The " -"`--git-dir` command-line option also sets this value." +#: en/cmds-plumbinginterrogators.txt:45 +msgid "Creates a temporary file with a blob's contents." msgstr "" #. type: Labeled list -#: en/git.txt:894 +#: en/cmds-plumbinginterrogators.txt:46 #, no-wrap -msgid "`GIT_WORK_TREE`" +msgid "linkgit:git-var[1]" msgstr "" #. type: Plain text -#: en/git.txt:898 -msgid "" -"Set the path to the root of the working tree. This can also be controlled " -"by the `--work-tree` command-line option and the core.worktree configuration " -"variable." +#: en/cmds-plumbinginterrogators.txt:48 +msgid "Show a Git logical variable." msgstr "" #. type: Labeled list -#: en/git.txt:899 +#: en/cmds-plumbinginterrogators.txt:49 #, no-wrap -msgid "`GIT_NAMESPACE`" +msgid "linkgit:git-verify-pack[1]" msgstr "" #. type: Plain text -#: en/git.txt:902 -msgid "" -"Set the Git namespace; see linkgit:gitnamespaces[7] for details. The " -"`--namespace` command-line option also sets this value." +#: en/cmds-plumbinginterrogators.txt:51 +msgid "Validate packed Git archive files." msgstr "" #. type: Labeled list -#: en/git.txt:903 +#: en/cmds-plumbingmanipulators.txt:1 #, no-wrap -msgid "`GIT_CEILING_DIRECTORIES`" +msgid "linkgit:git-apply[1]" msgstr "" #. type: Plain text -#: en/git.txt:917 -msgid "" -"This should be a colon-separated list of absolute paths. If set, it is a " -"list of directories that Git should not chdir up into while looking for a " -"repository directory (useful for excluding slow-loading network " -"directories). It will not exclude the current working directory or a " -"GIT_DIR set on the command line or in the environment. Normally, Git has to " -"read the entries in this list and resolve any symlink that might be present " -"in order to compare them with the current directory. However, if even this " -"access is slow, you can add an empty entry to the list to tell Git that the " -"subsequent entries are not symlinks and needn't be resolved; e.g., " -"`GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink`." +#: en/cmds-plumbingmanipulators.txt:3 +msgid "Apply a patch to files and/or to the index." msgstr "" #. type: Labeled list -#: en/git.txt:918 +#: en/cmds-plumbingmanipulators.txt:4 #, no-wrap -msgid "`GIT_DISCOVERY_ACROSS_FILESYSTEM`" +msgid "linkgit:git-checkout-index[1]" msgstr "" #. type: Plain text -#: en/git.txt:927 -msgid "" -"When run in a directory that does not have \".git\" repository directory, " -"Git tries to find such a directory in the parent directories to find the top " -"of the working tree, but by default it does not cross filesystem " -"boundaries. This environment variable can be set to true to tell Git not to " -"stop at filesystem boundaries. Like `GIT_CEILING_DIRECTORIES`, this will " -"not affect an explicit repository directory set via `GIT_DIR` or on the " -"command line." +#: en/cmds-plumbingmanipulators.txt:6 +msgid "Copy files from the index to the working tree." msgstr "" #. type: Labeled list -#: en/git.txt:928 +#: en/cmds-plumbingmanipulators.txt:7 #, no-wrap -msgid "`GIT_COMMON_DIR`" +msgid "linkgit:git-commit-tree[1]" msgstr "" #. type: Plain text -#: en/git.txt:936 -msgid "" -"If this variable is set to a path, non-worktree files that are normally in " -"$GIT_DIR will be taken from this path instead. Worktree-specific files such " -"as HEAD or index are taken from $GIT_DIR. See " -"linkgit:gitrepository-layout[5] and linkgit:git-worktree[1] for " -"details. This variable has lower precedence than other path variables such " -"as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY..." -msgstr "" - -#. type: Title ~ -#: en/git.txt:938 -#, no-wrap -msgid "Git Commits" +#: en/cmds-plumbingmanipulators.txt:9 +msgid "Create a new commit object." msgstr "" #. type: Labeled list -#: en/git.txt:939 +#: en/cmds-plumbingmanipulators.txt:10 #, no-wrap -msgid "`GIT_AUTHOR_NAME`" +msgid "linkgit:git-hash-object[1]" msgstr "" -#. type: Labeled list -#: en/git.txt:940 -#, no-wrap -msgid "`GIT_AUTHOR_EMAIL`" +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:12 +msgid "Compute object ID and optionally creates a blob from a file." msgstr "" #. type: Labeled list -#: en/git.txt:941 +#: en/cmds-plumbingmanipulators.txt:13 #, no-wrap -msgid "`GIT_AUTHOR_DATE`" +msgid "linkgit:git-index-pack[1]" msgstr "" -#. type: Labeled list -#: en/git.txt:942 -#, no-wrap -msgid "`GIT_COMMITTER_NAME`" +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:15 +msgid "Build pack index file for an existing packed archive." msgstr "" #. type: Labeled list -#: en/git.txt:943 +#: en/cmds-plumbingmanipulators.txt:16 #, no-wrap -msgid "`GIT_COMMITTER_EMAIL`" +msgid "linkgit:git-merge-file[1]" msgstr "" -#. type: Labeled list -#: en/git.txt:944 -#, no-wrap -msgid "`GIT_COMMITTER_DATE`" +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:18 +msgid "Run a three-way file merge." msgstr "" #. type: Labeled list -#: en/git.txt:945 +#: en/cmds-plumbingmanipulators.txt:19 #, no-wrap -msgid "'EMAIL'" +msgid "linkgit:git-merge-index[1]" msgstr "" #. type: Plain text -#: en/git.txt:947 -msgid "see linkgit:git-commit-tree[1]" -msgstr "" - -#. type: Title ~ -#: en/git.txt:949 -#, no-wrap -msgid "Git Diffs" +#: en/cmds-plumbingmanipulators.txt:21 +msgid "Run a merge for files needing merging." msgstr "" #. type: Labeled list -#: en/git.txt:950 +#: en/cmds-plumbingmanipulators.txt:22 #, no-wrap -msgid "`GIT_DIFF_OPTS`" +msgid "linkgit:git-mktag[1]" msgstr "" #. type: Plain text -#: en/git.txt:955 -msgid "" -"Only valid setting is \"--unified=??\" or \"-u??\" to set the number of " -"context lines shown when a unified diff is created. This takes precedence " -"over any \"-U\" or \"--unified\" option value passed on the Git diff command " -"line." +#: en/cmds-plumbingmanipulators.txt:24 +msgid "Creates a tag object." msgstr "" #. type: Labeled list -#: en/git.txt:956 +#: en/cmds-plumbingmanipulators.txt:25 #, no-wrap -msgid "`GIT_EXTERNAL_DIFF`" +msgid "linkgit:git-mktree[1]" msgstr "" #. type: Plain text -#: en/git.txt:961 -msgid "" -"When the environment variable `GIT_EXTERNAL_DIFF` is set, the program named " -"by it is called, instead of the diff invocation described above. For a path " -"that is added, removed, or modified, `GIT_EXTERNAL_DIFF` is called with 7 " -"parameters:" +#: en/cmds-plumbingmanipulators.txt:27 +msgid "Build a tree-object from ls-tree formatted text." msgstr "" -#. type: Plain text -#: en/git.txt:963 -msgid "path old-file old-hex old-mode new-file new-hex new-mode" +#. type: Labeled list +#: en/cmds-plumbingmanipulators.txt:28 +#, no-wrap +msgid "linkgit:git-pack-objects[1]" msgstr "" #. type: Plain text -#: en/git.txt:965 -msgid "where:" +#: en/cmds-plumbingmanipulators.txt:30 +msgid "Create a packed archive of objects." msgstr "" #. type: Labeled list -#: en/git.txt:966 +#: en/cmds-plumbingmanipulators.txt:31 #, no-wrap -msgid "<old|new>-file" -msgstr "" - -#. type: Plain text -#: en/git.txt:967 -msgid "are files GIT_EXTERNAL_DIFF can use to read the" +msgid "linkgit:git-prune-packed[1]" msgstr "" #. type: Plain text -#: en/git.txt:968 -#, no-wrap -msgid "contents of <old|new>,\n" +#: en/cmds-plumbingmanipulators.txt:33 +msgid "Remove extra objects that are already in pack files." msgstr "" #. type: Labeled list -#: en/git.txt:968 +#: en/cmds-plumbingmanipulators.txt:34 #, no-wrap -msgid "<old|new>-hex" +msgid "linkgit:git-read-tree[1]" msgstr "" #. type: Plain text -#: en/git.txt:969 -msgid "are the 40-hexdigit SHA-1 hashes," +#: en/cmds-plumbingmanipulators.txt:36 +msgid "Reads tree information into the index." msgstr "" #. type: Labeled list -#: en/git.txt:969 +#: en/cmds-plumbingmanipulators.txt:37 #, no-wrap -msgid "<old|new>-mode" -msgstr "" - -#. type: Plain text -#: en/git.txt:970 -msgid "are the octal representation of the file modes." +msgid "linkgit:git-symbolic-ref[1]" msgstr "" #. type: Plain text -#: en/git.txt:976 -msgid "" -"The file parameters can point at the user's working file (e.g. `new-file` in " -"\"git-diff-files\"), `/dev/null` (e.g. `old-file` when a new file is added), " -"or a temporary file (e.g. `old-file` in the index). `GIT_EXTERNAL_DIFF` " -"should not worry about unlinking the temporary file --- it is removed when " -"`GIT_EXTERNAL_DIFF` exits." +#: en/cmds-plumbingmanipulators.txt:39 +msgid "Read, modify and delete symbolic refs." msgstr "" -#. type: Plain text -#: en/git.txt:979 -msgid "" -"For a path that is unmerged, `GIT_EXTERNAL_DIFF` is called with 1 parameter, " -"<path>." +#. type: Labeled list +#: en/cmds-plumbingmanipulators.txt:40 +#, no-wrap +msgid "linkgit:git-unpack-objects[1]" msgstr "" #. type: Plain text -#: en/git.txt:982 -msgid "" -"For each path `GIT_EXTERNAL_DIFF` is called, two environment variables, " -"`GIT_DIFF_PATH_COUNTER` and `GIT_DIFF_PATH_TOTAL` are set." +#: en/cmds-plumbingmanipulators.txt:42 +msgid "Unpack objects from a packed archive." msgstr "" #. type: Labeled list -#: en/git.txt:983 +#: en/cmds-plumbingmanipulators.txt:43 #, no-wrap -msgid "`GIT_DIFF_PATH_COUNTER`" +msgid "linkgit:git-update-index[1]" msgstr "" #. type: Plain text -#: en/git.txt:985 -msgid "A 1-based counter incremented by one for every path." +#: en/cmds-plumbingmanipulators.txt:45 +msgid "Register file contents in the working tree to the index." msgstr "" #. type: Labeled list -#: en/git.txt:986 +#: en/cmds-plumbingmanipulators.txt:46 #, no-wrap -msgid "`GIT_DIFF_PATH_TOTAL`" +msgid "linkgit:git-update-ref[1]" msgstr "" #. type: Plain text -#: en/git.txt:988 -msgid "The total number of paths." +#: en/cmds-plumbingmanipulators.txt:48 +msgid "Update the object name stored in a ref safely." msgstr "" #. type: Plain text -#: en/git.txt:990 en/git-ls-files.txt:130 +#: en/cmds-plumbingmanipulators.txt:49 en/git-commit-tree.txt:115 #, no-wrap -msgid "other" +msgid "linkgit:git-write-tree[1]" +msgstr "" + +#. type: Plain text +#: en/cmds-plumbingmanipulators.txt:51 +msgid "Create a tree object from the current index." msgstr "" #. type: Labeled list -#: en/git.txt:991 +#: en/cmds-purehelpers.txt:1 #, no-wrap -msgid "`GIT_MERGE_VERBOSITY`" +msgid "linkgit:git-check-attr[1]" msgstr "" #. type: Plain text -#: en/git.txt:995 -msgid "" -"A number controlling the amount of output shown by the recursive merge " -"strategy. Overrides merge.verbosity. See linkgit:git-merge[1]" +#: en/cmds-purehelpers.txt:3 +msgid "Display gitattributes information." msgstr "" #. type: Labeled list -#: en/git.txt:996 +#: en/cmds-purehelpers.txt:4 #, no-wrap -msgid "`GIT_PAGER`" +msgid "linkgit:git-check-ignore[1]" msgstr "" #. type: Plain text -#: en/git.txt:1001 -msgid "" -"This environment variable overrides `$PAGER`. If it is set to an empty " -"string or to the value \"cat\", Git will not launch a pager. See also the " -"`core.pager` option in linkgit:git-config[1]." +#: en/cmds-purehelpers.txt:6 +msgid "Debug gitignore / exclude files." msgstr "" #. type: Labeled list -#: en/git.txt:1002 +#: en/cmds-purehelpers.txt:7 #, no-wrap -msgid "`GIT_EDITOR`" +msgid "linkgit:git-check-mailmap[1]" msgstr "" #. type: Plain text -#: en/git.txt:1007 -msgid "" -"This environment variable overrides `$EDITOR` and `$VISUAL`. It is used by " -"several Git commands when, on interactive mode, an editor is to be " -"launched. See also linkgit:git-var[1] and the `core.editor` option in " -"linkgit:git-config[1]." +#: en/cmds-purehelpers.txt:9 +msgid "Show canonical names and email addresses of contacts." msgstr "" #. type: Labeled list -#: en/git.txt:1008 +#: en/cmds-purehelpers.txt:10 #, no-wrap -msgid "`GIT_SSH`" +msgid "linkgit:git-check-ref-format[1]" +msgstr "" + +#. type: Plain text +#: en/cmds-purehelpers.txt:12 +msgid "Ensures that a reference name is well formed." msgstr "" #. type: Labeled list -#: en/git.txt:1009 +#: en/cmds-purehelpers.txt:13 #, no-wrap -msgid "`GIT_SSH_COMMAND`" +msgid "linkgit:git-column[1]" msgstr "" #. type: Plain text -#: en/git.txt:1018 -msgid "" -"If either of these environment variables is set then 'git fetch' and 'git " -"push' will use the specified command instead of 'ssh' when they need to " -"connect to a remote system. The command will be given exactly two or four " -"arguments: the 'username@host' (or just 'host') from the URL and the shell " -"command to execute on that remote system, optionally preceded by `-p` " -"(literally) and the 'port' from the URL when it specifies something other " -"than the default SSH port." +#: en/cmds-purehelpers.txt:15 +msgid "Display data in columns." msgstr "" -#. type: Plain text -#: en/git.txt:1024 -msgid "" -"`$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted by " -"the shell, which allows additional arguments to be included. `$GIT_SSH` on " -"the other hand must be just the path to a program (which can be a wrapper " -"shell script, if additional arguments are needed)." +#. type: Labeled list +#: en/cmds-purehelpers.txt:16 +#, no-wrap +msgid "linkgit:git-credential[1]" msgstr "" #. type: Plain text -#: en/git.txt:1028 -msgid "" -"Usually it is easier to configure any desired options through your personal " -"`.ssh/config` file. Please consult your ssh documentation for further " -"details." +#: en/cmds-purehelpers.txt:18 +msgid "Retrieve and store user credentials." msgstr "" #. type: Labeled list -#: en/git.txt:1029 +#: en/cmds-purehelpers.txt:19 #, no-wrap -msgid "`GIT_SSH_VARIANT`" +msgid "linkgit:git-credential-cache[1]" msgstr "" #. type: Plain text -#: en/git.txt:1034 -msgid "" -"If this environment variable is set, it overrides Git's autodetection " -"whether `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` refer to OpenSSH, " -"plink or tortoiseplink. This variable overrides the config setting " -"`ssh.variant` that serves the same purpose." +#: en/cmds-purehelpers.txt:21 +msgid "Helper to temporarily store passwords in memory." msgstr "" #. type: Labeled list -#: en/git.txt:1035 +#: en/cmds-purehelpers.txt:22 #, no-wrap -msgid "`GIT_ASKPASS`" +msgid "linkgit:git-credential-store[1]" msgstr "" #. type: Plain text -#: en/git.txt:1041 -msgid "" -"If this environment variable is set, then Git commands which need to acquire " -"passwords or passphrases (e.g. for HTTP or IMAP authentication) will call " -"this program with a suitable prompt as command-line argument and read the " -"password from its STDOUT. See also the `core.askPass` option in " -"linkgit:git-config[1]." +#: en/cmds-purehelpers.txt:24 +msgid "Helper to store credentials on disk." msgstr "" #. type: Labeled list -#: en/git.txt:1042 +#: en/cmds-purehelpers.txt:25 #, no-wrap -msgid "`GIT_TERMINAL_PROMPT`" +msgid "linkgit:git-fmt-merge-msg[1]" msgstr "" #. type: Plain text -#: en/git.txt:1045 -msgid "" -"If this environment variable is set to `0`, git will not prompt on the " -"terminal (e.g., when asking for HTTP authentication)." +#: en/cmds-purehelpers.txt:27 +msgid "Produce a merge commit message." msgstr "" #. type: Labeled list -#: en/git.txt:1046 +#: en/cmds-purehelpers.txt:28 #, no-wrap -msgid "`GIT_CONFIG_NOSYSTEM`" +msgid "linkgit:git-interpret-trailers[1]" msgstr "" #. type: Plain text -#: en/git.txt:1053 -msgid "" -"Whether to skip reading settings from the system-wide " -"`$(prefix)/etc/gitconfig` file. This environment variable can be used along " -"with `$HOME` and `$XDG_CONFIG_HOME` to create a predictable environment for " -"a picky script, or you can set it temporarily to avoid using a buggy " -"`/etc/gitconfig` file while waiting for someone with sufficient permissions " -"to fix it." +#: en/cmds-purehelpers.txt:30 +msgid "add or parse structured information in commit messages." msgstr "" #. type: Labeled list -#: en/git.txt:1054 +#: en/cmds-purehelpers.txt:31 #, no-wrap -msgid "`GIT_FLUSH`" +msgid "linkgit:git-mailinfo[1]" msgstr "" #. type: Plain text -#: en/git.txt:1064 -#, no-wrap -msgid "" -"If this environment variable is set to \"1\", then commands such\n" -"as 'git blame' (in incremental mode), 'git rev-list', 'git log',\n" -"'git check-attr' and 'git check-ignore' will\n" -"force a flush of the output stream after each record have been\n" -"flushed. If this\n" -"variable is set to \"0\", the output of these commands will be done\n" -"using completely buffered I/O. If this environment variable is\n" -"not set, Git will choose buffered or record-oriented flushing\n" -"based on whether stdout appears to be redirected to a file or not.\n" +#: en/cmds-purehelpers.txt:33 +msgid "Extracts patch and authorship from a single e-mail message." msgstr "" #. type: Labeled list -#: en/git.txt:1065 +#: en/cmds-purehelpers.txt:34 #, no-wrap -msgid "`GIT_TRACE`" +msgid "linkgit:git-mailsplit[1]" msgstr "" #. type: Plain text -#: en/git.txt:1068 -msgid "" -"Enables general trace messages, e.g. alias expansion, built-in command " -"execution and external command execution." +#: en/cmds-purehelpers.txt:36 +msgid "Simple UNIX mbox splitter program." msgstr "" -#. type: Plain text -#: en/git.txt:1072 -msgid "" -"If this variable is set to \"1\", \"2\" or \"true\" (comparison is case " -"insensitive), trace messages will be printed to stderr." +#. type: Labeled list +#: en/cmds-purehelpers.txt:37 +#, no-wrap +msgid "linkgit:git-merge-one-file[1]" msgstr "" #. type: Plain text -#: en/git.txt:1077 -msgid "" -"If the variable is set to an integer value greater than 2 and lower than 10 " -"(strictly) then Git will interpret this value as an open file descriptor and " -"will try to write the trace messages into this file descriptor." +#: en/cmds-purehelpers.txt:39 +msgid "The standard helper program to use with git-merge-index." msgstr "" #. type: Plain text -#: en/git.txt:1082 -msgid "" -"Alternatively, if the variable is set to an absolute path (starting with a " -"'/' character), Git will interpret this as a file path and will try to write " -"the trace messages into it." +#: en/cmds-purehelpers.txt:40 en/git-cherry.txt:142 +#, no-wrap +msgid "linkgit:git-patch-id[1]" msgstr "" #. type: Plain text -#: en/git.txt:1085 -msgid "" -"Unsetting the variable, or setting it to empty, \"0\" or \"false\" (case " -"insensitive) disables trace messages." +#: en/cmds-purehelpers.txt:42 +msgid "Compute unique ID for a patch." msgstr "" #. type: Labeled list -#: en/git.txt:1086 +#: en/cmds-purehelpers.txt:43 #, no-wrap -msgid "`GIT_TRACE_PACK_ACCESS`" +msgid "linkgit:git-sh-i18n[1]" msgstr "" #. type: Plain text -#: en/git.txt:1092 -msgid "" -"Enables trace messages for all accesses to any packs. For each access, the " -"pack file name and an offset in the pack is recorded. This may be helpful " -"for troubleshooting some pack-related performance problems. See `GIT_TRACE` " -"for available trace output options." +#: en/cmds-purehelpers.txt:45 +msgid "Git's i18n setup code for shell scripts." msgstr "" #. type: Labeled list -#: en/git.txt:1093 +#: en/cmds-purehelpers.txt:46 #, no-wrap -msgid "`GIT_TRACE_PACKET`" +msgid "linkgit:git-sh-setup[1]" msgstr "" #. type: Plain text -#: en/git.txt:1099 -msgid "" -"Enables trace messages for all packets coming in or out of a given " -"program. This can help with debugging object negotiation or other protocol " -"issues. Tracing is turned off at a packet starting with \"PACK\" (but see " -"`GIT_TRACE_PACKFILE` below). See `GIT_TRACE` for available trace output " -"options." +#: en/cmds-purehelpers.txt:48 +msgid "Common Git shell script setup code." msgstr "" #. type: Labeled list -#: en/git.txt:1100 +#: en/cmds-purehelpers.txt:49 #, no-wrap -msgid "`GIT_TRACE_PACKFILE`" -msgstr "" - -#. type: Plain text -#: en/git.txt:1107 -msgid "" -"Enables tracing of packfiles sent or received by a given program. Unlike " -"other trace output, this trace is verbatim: no headers, and no quoting of " -"binary data. You almost certainly want to direct into a file (e.g., " -"`GIT_TRACE_PACKFILE=/tmp/my.pack`) rather than displaying it on the terminal " -"or mixing it with other trace output." +msgid "linkgit:git-stripspace[1]" msgstr "" #. type: Plain text -#: en/git.txt:1110 -msgid "" -"Note that this is currently only implemented for the client side of clones " -"and fetches." +#: en/cmds-purehelpers.txt:51 +msgid "Remove unnecessary whitespace." msgstr "" #. type: Labeled list -#: en/git.txt:1111 +#: en/cmds-synchelpers.txt:1 #, no-wrap -msgid "`GIT_TRACE_PERFORMANCE`" +msgid "linkgit:git-http-fetch[1]" msgstr "" #. type: Plain text -#: en/git.txt:1115 -msgid "" -"Enables performance related trace messages, e.g. total execution time of " -"each Git command. See `GIT_TRACE` for available trace output options." +#: en/cmds-synchelpers.txt:3 +msgid "Download from a remote Git repository via HTTP." msgstr "" #. type: Labeled list -#: en/git.txt:1116 +#: en/cmds-synchelpers.txt:4 #, no-wrap -msgid "`GIT_TRACE_SETUP`" +msgid "linkgit:git-http-push[1]" msgstr "" #. type: Plain text -#: en/git.txt:1120 -msgid "" -"Enables trace messages printing the .git, working tree and current working " -"directory after Git has completed its setup phase. See `GIT_TRACE` for " -"available trace output options." +#: en/cmds-synchelpers.txt:6 +msgid "Push objects over HTTP/DAV to another repository." msgstr "" #. type: Labeled list -#: en/git.txt:1121 +#: en/cmds-synchelpers.txt:7 #, no-wrap -msgid "`GIT_TRACE_SHALLOW`" +msgid "linkgit:git-parse-remote[1]" msgstr "" #. type: Plain text -#: en/git.txt:1125 -msgid "" -"Enables trace messages that can help debugging fetching / cloning of shallow " -"repositories. See `GIT_TRACE` for available trace output options." +#: en/cmds-synchelpers.txt:9 +msgid "Routines to help parsing remote repository access parameters." msgstr "" #. type: Labeled list -#: en/git.txt:1126 +#: en/cmds-synchelpers.txt:10 #, no-wrap -msgid "`GIT_TRACE_CURL`" +msgid "linkgit:git-receive-pack[1]" msgstr "" #. type: Plain text -#: en/git.txt:1133 -msgid "" -"Enables a curl full trace dump of all incoming and outgoing data, including " -"descriptive information, of the git transport protocol. This is similar to " -"doing curl `--trace-ascii` on the command line. This option overrides " -"setting the `GIT_CURL_VERBOSE` environment variable. See `GIT_TRACE` for " -"available trace output options." +#: en/cmds-synchelpers.txt:12 +msgid "Receive what is pushed into the repository." msgstr "" #. type: Labeled list -#: en/git.txt:1134 +#: en/cmds-synchelpers.txt:13 #, no-wrap -msgid "`GIT_LITERAL_PATHSPECS`" +msgid "linkgit:git-shell[1]" msgstr "" #. type: Plain text -#: en/git.txt:1142 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs " -"literally, rather than as glob patterns. For example, running " -"`GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search for commits that " -"touch the path `*.c`, not any paths that the glob `*.c` matches. You might " -"want this if you are feeding literal paths to Git (e.g., paths previously " -"given to you by `git ls-tree`, `--raw` diff output, etc)." +#: en/cmds-synchelpers.txt:15 +msgid "Restricted login shell for Git-only SSH access." msgstr "" #. type: Labeled list -#: en/git.txt:1143 +#: en/cmds-synchelpers.txt:16 #, no-wrap -msgid "`GIT_GLOB_PATHSPECS`" +msgid "linkgit:git-upload-archive[1]" msgstr "" #. type: Plain text -#: en/git.txt:1146 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs as glob " -"patterns (aka \"glob\" magic)." +#: en/cmds-synchelpers.txt:18 +msgid "Send archive back to git-archive." msgstr "" #. type: Labeled list -#: en/git.txt:1147 +#: en/cmds-synchelpers.txt:19 #, no-wrap -msgid "`GIT_NOGLOB_PATHSPECS`" +msgid "linkgit:git-upload-pack[1]" msgstr "" #. type: Plain text -#: en/git.txt:1150 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs as " -"literal (aka \"literal\" magic)." +#: en/cmds-synchelpers.txt:21 +msgid "Send objects packed back to git-fetch-pack." msgstr "" #. type: Labeled list -#: en/git.txt:1151 +#: en/cmds-synchingrepositories.txt:1 #, no-wrap -msgid "`GIT_ICASE_PATHSPECS`" +msgid "linkgit:git-daemon[1]" msgstr "" #. type: Plain text -#: en/git.txt:1154 -msgid "" -"Setting this variable to `1` will cause Git to treat all pathspecs as " -"case-insensitive." +#: en/cmds-synchingrepositories.txt:3 +msgid "A really simple server for Git repositories." msgstr "" #. type: Labeled list -#: en/git.txt:1155 +#: en/cmds-synchingrepositories.txt:4 #, no-wrap -msgid "`GIT_REFLOG_ACTION`" +msgid "linkgit:git-fetch-pack[1]" msgstr "" #. type: Plain text -#: en/git.txt:1164 -msgid "" -"When a ref is updated, reflog entries are created to keep track of the " -"reason why the ref was updated (which is typically the name of the " -"high-level command that updated the ref), in addition to the old and new " -"values of the ref. A scripted Porcelain command can use set_reflog_action " -"helper function in `git-sh-setup` to set its name to this variable when it " -"is invoked as the top level command by the end user, to be recorded in the " -"body of the reflog." +#: en/cmds-synchingrepositories.txt:6 +msgid "Receive missing objects from another repository." msgstr "" #. type: Labeled list -#: en/git.txt:1165 +#: en/cmds-synchingrepositories.txt:7 #, no-wrap -msgid "`GIT_REF_PARANOIA`" +msgid "linkgit:git-http-backend[1]" msgstr "" #. type: Plain text -#: en/git.txt:1175 -msgid "" -"If set to `1`, include broken or badly named refs when iterating over lists " -"of refs. In a normal, non-corrupted repository, this does nothing. However, " -"enabling it may help git to detect and abort some operations in the presence " -"of broken refs. Git sets this variable automatically when performing " -"destructive operations like linkgit:git-prune[1]. You should not need to set " -"it yourself unless you want to be paranoid about making sure an operation " -"has touched every ref (e.g., because you are cloning a repository to make a " -"backup)." +#: en/cmds-synchingrepositories.txt:9 +msgid "Server side implementation of Git over HTTP." msgstr "" #. type: Labeled list -#: en/git.txt:1176 +#: en/cmds-synchingrepositories.txt:10 #, no-wrap -msgid "`GIT_ALLOW_PROTOCOL`" +msgid "linkgit:git-send-pack[1]" msgstr "" #. type: Plain text -#: en/git.txt:1184 -msgid "" -"If set to a colon-separated list of protocols, behave as if `protocol.allow` " -"is set to `never`, and each of the listed protocols has " -"`protocol.<name>.allow` set to `always` (overriding any existing " -"configuration). In other words, any protocol not mentioned will be " -"disallowed (i.e., this is a whitelist, not a blacklist). See the description " -"of `protocol.allow` in linkgit:git-config[1] for more details." +#: en/cmds-synchingrepositories.txt:12 +msgid "Push objects over Git protocol to another repository." msgstr "" #. type: Labeled list -#: en/git.txt:1185 +#: en/cmds-synchingrepositories.txt:13 #, no-wrap -msgid "`GIT_PROTOCOL_FROM_USER`" +msgid "linkgit:git-update-server-info[1]" msgstr "" #. type: Plain text -#: en/git.txt:1191 -msgid "" -"Set to 0 to prevent protocols used by fetch/push/clone which are configured " -"to the `user` state. This is useful to restrict recursive submodule " -"initialization from an untrusted repository or for programs which feed " -"potentially-untrusted URLS to git commands. See linkgit:git-config[1] for " -"more details." +#: en/cmds-synchingrepositories.txt:15 +msgid "Update auxiliary info file to help dumb servers." msgstr "" #. type: Title - -#: en/git.txt:1193 +#: en/config.txt:2 #, no-wrap -msgid "Discussion[[Discussion]]" +msgid "CONFIGURATION FILE" msgstr "" #. type: Plain text -#: en/git.txt:1198 +#: en/config.txt:10 msgid "" -"More detail on the following is available from the " -"link:user-manual.html#git-concepts[Git concepts chapter of the user-manual] " -"and linkgit:gitcore-tutorial[7]." +"The Git configuration file contains a number of variables that affect the " +"Git commands' behavior. The `.git/config` file in each repository is used to " +"store the configuration for that repository, and `$HOME/.gitconfig` is used " +"to store a per-user configuration as fallback values for the `.git/config` " +"file. The file `/etc/gitconfig` can be used to store a system-wide default " +"configuration." msgstr "" #. type: Plain text -#: en/git.txt:1205 +#: en/config.txt:19 msgid "" -"A Git project normally consists of a working directory with a \".git\" " -"subdirectory at the top level. The .git directory contains, among other " -"things, a compressed object database representing the complete history of " -"the project, an \"index\" file which links that history to the current " -"contents of the working tree, and named pointers into that history such as " -"tags and branch heads." +"The configuration variables are used by both the Git plumbing and the " +"porcelains. The variables are divided into sections, wherein the fully " +"qualified variable name of the variable itself is the last dot-separated " +"segment and the section name is everything before the last dot. The variable " +"names are case-insensitive, allow only alphanumeric characters and `-`, and " +"must start with an alphabetic character. Some variables may appear multiple " +"times; we say then that the variable is multivalued." msgstr "" -#. type: Plain text -#: en/git.txt:1210 -msgid "" -"The object database contains objects of three main types: blobs, which hold " -"file data; trees, which point to blobs and other trees to build up directory " -"hierarchies; and commits, which each reference a single tree and some number " -"of parent commits." +#. type: Title ~ +#: en/config.txt:21 +#, no-wrap +msgid "Syntax" msgstr "" #. type: Plain text -#: en/git.txt:1215 +#: en/config.txt:26 msgid "" -"The commit, equivalent to what other systems call a \"changeset\" or " -"\"version\", represents a step in the project's history, and each parent " -"represents an immediately preceding step. Commits with more than one parent " -"represent merges of independent lines of development." +"The syntax is fairly flexible and permissive; whitespaces are mostly " +"ignored. The '#' and ';' characters begin comments to the end of line, " +"blank lines are ignored." msgstr "" #. type: Plain text -#: en/git.txt:1221 +#: en/config.txt:33 msgid "" -"All objects are named by the SHA-1 hash of their contents, normally written " -"as a string of 40 hex digits. Such names are globally unique. The entire " -"history leading up to a commit can be vouched for by signing just that " -"commit. A fourth object type, the tag, is provided for this purpose." +"The file consists of sections and variables. A section begins with the name " +"of the section in square brackets and continues until the next section " +"begins. Section names are case-insensitive. Only alphanumeric characters, " +"`-` and `.` are allowed in section names. Each variable must belong to some " +"section, which means that there must be a section header before the first " +"setting of a variable." msgstr "" #. type: Plain text -#: en/git.txt:1224 +#: en/config.txt:37 msgid "" -"When first created, objects are stored in individual files, but for " -"efficiency may later be compressed together into \"pack files\"." +"Sections can be further divided into subsections. To begin a subsection put " +"its name in double quotes, separated by space from the section name, in the " +"section header, like in the example below:" msgstr "" -#. type: Plain text -#: en/git.txt:1231 -msgid "" -"Named pointers called refs mark interesting points in history. A ref may " -"contain the SHA-1 name of an object or the name of another ref. Refs with " -"names beginning `ref/head/` contain the SHA-1 name of the most recent commit " -"(or \"head\") of a branch under development. SHA-1 names of tags of " -"interest are stored under `ref/tags/`. A special ref named `HEAD` contains " -"the name of the currently checked-out branch." +#. type: delimited block - +#: en/config.txt:40 +#, no-wrap +msgid "\t[section \"subsection\"]\n" msgstr "" #. type: Plain text -#: en/git.txt:1240 +#: en/config.txt:49 msgid "" -"The index file is initialized with a list of all paths and, for each path, a " -"blob object and a set of attributes. The blob object represents the " -"contents of the file as of the head of the current branch. The attributes " -"(last modified time, size, etc.) are taken from the corresponding file in " -"the working tree. Subsequent changes to the working tree can be found by " -"comparing these attributes. The index may be updated with new content, and " -"new commits may be created from the content stored in the index." +"Subsection names are case sensitive and can contain any characters except " +"newline (doublequote `\"` and backslash can be included by escaping them as " +"`\\\"` and `\\\\`, respectively). Section headers cannot span multiple " +"lines. Variables may belong directly to a section or to a given " +"subsection. You can have `[section]` if you have `[section " +"\"subsection\"]`, but you don't need to." msgstr "" #. type: Plain text -#: en/git.txt:1244 +#: en/config.txt:54 msgid "" -"The index is also capable of storing multiple entries (called \"stages\") " -"for a given pathname. These stages are used to hold the various unmerged " -"version of a file when a merge is in progress." -msgstr "" - -#. type: Title - -#: en/git.txt:1246 -#, no-wrap -msgid "FURTHER DOCUMENTATION" +"There is also a deprecated `[section.subsection]` syntax. With this syntax, " +"the subsection name is converted to lower-case and is also compared case " +"sensitively. These subsection names follow the same restrictions as section " +"names." msgstr "" #. type: Plain text -#: en/git.txt:1251 +#: en/config.txt:61 msgid "" -"See the references in the \"description\" section to get started using Git. " -"The following is probably more detail than necessary for a first-time user." +"All the other lines (and the remainder of the line after the section header) " +"are recognized as setting variables, in the form 'name = value' (or just " +"'name', which is a short-hand to say that the variable is the boolean " +"\"true\"). The variable names are case-insensitive, allow only alphanumeric " +"characters and `-`, and must start with an alphabetic character." msgstr "" #. type: Plain text -#: en/git.txt:1255 +#: en/config.txt:69 msgid "" -"The link:user-manual.html#git-concepts[Git concepts chapter of the " -"user-manual] and linkgit:gitcore-tutorial[7] both provide introductions to " -"the underlying Git architecture." +"A line that defines a value can be continued to the next line by ending it " +"with a `\\`; the backquote and the end-of-line are stripped. Leading " +"whitespaces after 'name =', the remainder of the line after the first " +"comment character '#' or ';', and trailing whitespaces of the line are " +"discarded unless they are enclosed in double quotes. Internal whitespaces " +"within the value are retained verbatim." msgstr "" #. type: Plain text -#: en/git.txt:1257 -msgid "See linkgit:gitworkflows[7] for an overview of recommended workflows." +#: en/config.txt:72 +msgid "" +"Inside double quotes, double quote `\"` and backslash `\\` characters must " +"be escaped: use `\\\"` for `\"` and `\\\\` for `\\`." msgstr "" #. type: Plain text -#: en/git.txt:1260 +#: en/config.txt:77 msgid "" -"See also the link:howto-index.html[howto] documents for some useful " -"examples." +"The following escape sequences (beside `\\\"` and `\\\\`) are recognized: " +"`\\n` for newline character (NL), `\\t` for horizontal tabulation (HT, TAB) " +"and `\\b` for backspace (BS). Other char escape sequences (including octal " +"escape sequences) are invalid." +msgstr "" + +#. type: Title ~ +#: en/config.txt:80 +#, no-wrap +msgid "Includes" msgstr "" #. type: Plain text -#: en/git.txt:1263 +#: en/config.txt:86 msgid "" -"The internals are documented in the link:technical/api-index.html[Git API " -"documentation]." +"You can include a config file from another by setting the special " +"`include.path` variable to the name of the file to be included. The variable " +"takes a pathname as its value, and is subject to tilde " +"expansion. `include.path` can be given multiple times." msgstr "" #. type: Plain text -#: en/git.txt:1266 -msgid "Users migrating from CVS may also want to read linkgit:gitcvs-migration[7]." +#: en/config.txt:92 +msgid "" +"The included file is expanded immediately, as if its contents had been found " +"at the location of the include directive. If the value of the `include.path` " +"variable is a relative path, the path is considered to be relative to the " +"configuration file in which the include directive was found. See below for " +"examples." msgstr "" -#. type: Title - -#: en/git.txt:1269 +#. type: Title ~ +#: en/config.txt:94 #, no-wrap -msgid "Authors" +msgid "Conditional includes" msgstr "" #. type: Plain text -#: en/git.txt:1274 +#: en/config.txt:100 msgid "" -"Git was started by Linus Torvalds, and is currently maintained by Junio C " -"Hamano. Numerous contributions have come from the Git mailing list " -"<git@vger.kernel.org>. http://www.openhub.net/p/git/contributors/summary " -"gives you a more complete list of contributors." +"You can include a config file from another conditionally by setting a " +"`includeIf.<condition>.path` variable to the name of the file to be " +"included. The variable's value is treated the same way as " +"`include.path`. `includeIf.<condition>.path` can be given multiple times." msgstr "" #. type: Plain text -#: en/git.txt:1278 +#: en/config.txt:104 msgid "" -"If you have a clone of git.git itself, the output of linkgit:git-shortlog[1] " -"and linkgit:git-blame[1] can show you the authors for specific parts of the " -"project." +"The condition starts with a keyword followed by a colon and some data whose " +"format and meaning depends on the keyword. Supported keywords are:" msgstr "" -#. type: Title - -#: en/git.txt:1280 +#. type: Labeled list +#: en/config.txt:105 #, no-wrap -msgid "Reporting Bugs" +msgid "`gitdir`" msgstr "" #. type: Plain text -#: en/git.txt:1285 +#: en/config.txt:110 msgid "" -"Report bugs to the Git mailing list <git@vger.kernel.org> where the " -"development and maintenance is primarily done. You do not have to be " -"subscribed to the list to send a message there." -msgstr "" - -#. type: Title - -#: en/git.txt:1287 en/git-add.txt:406 en/git-am.txt:228 en/git-annotate.txt:29 en/git-apply.txt:270 en/git-archive.txt:192 en/git-bisect.txt:494 en/git-blame.txt:232 en/git-branch.txt:313 en/git-check-attr.txt:115 en/git-check-ignore.txt:113 en/git-cherry-pick.txt:228 en/git-cherry.txt:140 en/git-clean.txt:136 en/git-commit.txt:480 en/git-commit-tree.txt:113 en/git-difftool.txt:135 en/git-diff.txt:179 en/git-fast-export.txt:213 en/git-fast-import.txt:1470 en/git-fetch-pack.txt:127 en/git-fetch.txt:207 en/git-fmt-merge-msg.txt:73 en/git-for-each-ref.txt:339 en/git-format-patch.txt:636 en/git-gc.txt:178 en/git-gui.txt:103 en/git-imap-send.txt:178 en/git-instaweb.txt:88 en/git-interpret-trailers.txt:334 en/git-ls-files.txt:237 en/git-merge.txt:353 en/git-pack-objects.txt:235 en/git-pack-redundant.txt:43 en/git-prune-packed.txt:41 en/git-prune.txt:78 en/git-pull.txt:252 en/git-read-tree.txt:425 en/git-receive-pack.txt:218 en/git-remote-ext.txt:120 en/git-remote-fd.txt:54 en/git-remote-testgit.txt:25 en/git-remote.txt:245 en/git-repack.txt:160 en/git-replace.txt:144 en/git-revert.txt:124 en/git-rm.txt:183 en/git-send-email.txt:477 en/git-shell.txt:83 en/git-show-ref.txt:178 en/git-stash.txt:287 en/git-status.txt:354 en/git-svn.txt:1131 en/git-tag.txt:345 en/git-update-index.txt:479 en/git-upload-pack.txt:48 en/git-var.txt:63 -#, no-wrap -msgid "SEE ALSO" +"The data that follows the keyword `gitdir:` is used as a glob pattern. If " +"the location of the .git directory matches the pattern, the include " +"condition is met." msgstr "" #. type: Plain text -#: en/git.txt:1293 +#: en/config.txt:115 msgid "" -"linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:giteveryday[7], " -"linkgit:gitcvs-migration[7], linkgit:gitglossary[7], " -"linkgit:gitcore-tutorial[7], linkgit:gitcli[7], link:user-manual.html[The " -"Git User's Manual], linkgit:gitworkflows[7]" +"The .git location may be auto-discovered, or come from `$GIT_DIR` " +"environment variable. If the repository is auto discovered via a .git file " +"(e.g. from submodules, or a linked worktree), the .git location would be the " +"final location where the .git directory is, not where the" msgstr "" -#. type: Title - -#: en/git.txt:1295 en/git-add.txt:415 en/git-am.txt:232 en/git-annotate.txt:33 en/git-apply.txt:274 en/git-archimport.txt:111 en/git-archive.txt:196 en/git-bisect.txt:499 en/git-blame.txt:236 en/git-branch.txt:321 en/git-bundle.txt:204 en/git-cat-file.txt:301 en/git-check-attr.txt:119 en/git-check-ignore.txt:119 en/git-check-mailmap.txt:46 en/git-checkout-index.txt:176 en/git-checkout.txt:521 en/git-check-ref-format.txt:126 en/git-cherry-pick.txt:232 en/git-cherry.txt:144 en/git-citool.txt:24 en/git-clean.txt:140 en/git-clone.txt:296 en/git-column.txt:47 en/git-commit.txt:488 en/git-commit-tree.txt:117 en/git-config.txt:429 en/git-count-objects.txt:53 en/git-credential-cache--daemon.txt:29 en/git-credential-cache.txt:76 en/git-credential-store.txt:105 en/git-cvsexportcommit.txt:117 en/git-cvsimport.txt:227 en/git-cvsserver.txt:432 en/git-daemon.txt:317 en/git-describe.txt:181 en/git-diff-files.txt:51 en/git-diff-index.txt:121 en/git-difftool.txt:146 en/git-diff-tree.txt:166 en/git-diff.txt:188 en/git-fast-export.txt:217 en/git-fast-import.txt:1474 en/git-fetch-pack.txt:131 en/git-fetch.txt:211 en/git-filter-branch.txt:462 en/git-fmt-merge-msg.txt:77 en/git-for-each-ref.txt:343 en/git-format-patch.txt:640 en/git-fsck-objects.txt:21 en/git-fsck.txt:158 en/git-gc.txt:185 en/git-get-tar-commit-id.txt:29 en/git-grep.txt:313 en/git-gui.txt:126 en/git-hash-object.txt:64 en/git-help.txt:190 en/git-http-backend.txt:276 en/git-http-fetch.txt:51 en/git-http-push.txt:96 en/git-imap-send.txt:182 en/git-index-pack.txt:104 en/git-init-db.txt:22 en/git-init.txt:157 en/git-instaweb.txt:92 en/git-interpret-trailers.txt:338 en/git-log.txt:223 en/git-ls-files.txt:241 en/git-ls-remote.txt:94 en/git-ls-tree.txt:103 en/git-mailinfo.txt:101 en/git-mailsplit.txt:56 en/git-merge-base.txt:182 en/git-merge-file.txt:94 en/git-merge-index.txt:78 en/git-merge-one-file.txt:20 en/git-mergetool--lib.txt:46 en/git-mergetool.txt:100 en/git-merge-tree.txt:28 en/git-merge.txt:362 en/git-mktag.txt:38 en/git-mktree.txt:39 en/git-mv.txt:68 en/git-name-rev.txt:88 en/git-notes.txt:404 en/git-pack-objects.txt:241 en/git-pack-redundant.txt:49 en/git-pack-refs.txt:72 en/git-parse-remote.txt:22 en/git-patch-id.txt:63 en/git-prune-packed.txt:46 en/git-prune.txt:85 en/git-pull.txt:256 en/git-push.txt:566 en/git-quiltimport.txt:60 en/git-read-tree.txt:430 en/git-rebase.txt:801 en/git-receive-pack.txt:222 en/git-reflog.txt:132 en/git-remote-ext.txt:124 en/git-remote-fd.txt:58 en/git-remote-testgit.txt:29 en/git-remote.txt:251 en/git-repack.txt:165 en/git-replace.txt:155 en/git-request-pull.txt:78 en/git-rerere.txt:215 en/git-reset.txt:453 en/git-revert.txt:128 en/git-rev-list.txt:120 en/git-rev-parse.txt:452 en/git-rm.txt:187 en/git-send-email.txt:481 en/git-send-pack.txt:149 en/git-shell.txt:89 en/git-sh-i18n--envsubst.txt:35 en/git-sh-i18n.txt:42 en/git-shortlog.txt:89 en/git-show-branch.txt:203 en/git-show-index.txt:26 en/git-show-ref.txt:185 en/git-show.txt:86 en/git-sh-setup.txt:94 en/git-stage.txt:22 en/git-stash.txt:294 en/git-status.txt:358 en/git-stripspace.txt:93 en/git-submodule.txt:437 en/git-svn.txt:1135 en/git-symbolic-ref.txt:68 en/git-tag.txt:350 en/git-unpack-file.txt:27 en/git-unpack-objects.txt:51 en/git-update-index.txt:485 en/git-update-ref.txt:151 en/git-update-server-info.txt:43 en/git-upload-archive.txt:61 en/git-upload-pack.txt:52 en/git-var.txt:69 en/git-verify-commit.txt:31 en/git-verify-pack.txt:52 en/git-verify-tag.txt:31 en/git-web--browse.txt:123 en/git-whatchanged.txt:42 en/git-worktree.txt:258 en/git-write-tree.txt:41 +#. type: Block title +#: en/config.txt:115 #, no-wrap -msgid "GIT" +msgid "git file is." msgstr "" #. type: Plain text -#: en/git.txt:1296 en/git-add.txt:416 en/git-am.txt:233 en/git-annotate.txt:34 en/git-apply.txt:275 en/git-archimport.txt:112 en/git-archive.txt:197 en/git-bisect.txt:500 en/git-blame.txt:237 en/git-branch.txt:322 en/git-bundle.txt:205 en/git-cat-file.txt:302 en/git-check-attr.txt:120 en/git-check-ignore.txt:120 en/git-check-mailmap.txt:47 en/git-checkout-index.txt:177 en/git-checkout.txt:522 en/git-check-ref-format.txt:127 en/git-cherry-pick.txt:233 en/git-cherry.txt:145 en/git-citool.txt:25 en/git-clean.txt:141 en/git-clone.txt:297 en/git-column.txt:48 en/git-commit.txt:489 en/git-commit-tree.txt:118 en/git-config.txt:430 en/git-count-objects.txt:54 en/git-credential-cache--daemon.txt:30 en/git-credential-cache.txt:77 en/git-credential-store.txt:106 en/git-cvsexportcommit.txt:118 en/git-cvsimport.txt:228 en/git-cvsserver.txt:433 en/git-daemon.txt:318 en/git-describe.txt:182 en/git-diff-files.txt:52 en/git-diff-index.txt:122 en/git-difftool.txt:147 en/git-diff-tree.txt:167 en/git-diff.txt:189 en/git-fast-export.txt:218 en/git-fast-import.txt:1475 en/git-fetch-pack.txt:132 en/git-fetch.txt:212 en/git-filter-branch.txt:463 en/git-fmt-merge-msg.txt:78 en/git-for-each-ref.txt:344 en/git-format-patch.txt:641 en/git-fsck-objects.txt:22 en/git-fsck.txt:159 en/git-gc.txt:186 en/git-get-tar-commit-id.txt:30 en/git-grep.txt:314 en/git-gui.txt:127 en/git-hash-object.txt:65 en/git-help.txt:191 en/git-http-backend.txt:277 en/git-http-fetch.txt:52 en/git-http-push.txt:97 en/git-imap-send.txt:183 en/git-index-pack.txt:105 en/git-init-db.txt:23 en/git-init.txt:158 en/git-instaweb.txt:93 en/git-interpret-trailers.txt:339 en/git-log.txt:224 en/git-ls-files.txt:242 en/git-ls-remote.txt:95 en/git-ls-tree.txt:104 en/git-mailinfo.txt:102 en/git-mailsplit.txt:57 en/git-merge-base.txt:183 en/git-merge-file.txt:95 en/git-merge-index.txt:79 en/git-merge-one-file.txt:21 en/git-mergetool--lib.txt:47 en/git-mergetool.txt:101 en/git-merge-tree.txt:29 en/git-merge.txt:363 en/git-mktag.txt:39 en/git-mktree.txt:40 en/git-mv.txt:69 en/git-name-rev.txt:89 en/git-notes.txt:405 en/git-pack-objects.txt:242 en/git-pack-redundant.txt:50 en/git-pack-refs.txt:73 en/git-parse-remote.txt:23 en/git-patch-id.txt:64 en/git-prune-packed.txt:47 en/git-prune.txt:86 en/git-pull.txt:257 en/git-push.txt:567 en/git-quiltimport.txt:61 en/git-read-tree.txt:431 en/git-rebase.txt:802 en/git-receive-pack.txt:223 en/git-reflog.txt:133 en/git-remote-ext.txt:125 en/git-remote-fd.txt:59 en/git-remote-testgit.txt:30 en/git-remote.txt:252 en/git-repack.txt:166 en/git-replace.txt:156 en/git-request-pull.txt:79 en/git-rerere.txt:216 en/git-reset.txt:454 en/git-revert.txt:129 en/git-rev-list.txt:121 en/git-rev-parse.txt:453 en/git-rm.txt:188 en/git-send-email.txt:482 en/git-send-pack.txt:150 en/git-shell.txt:90 en/git-sh-i18n--envsubst.txt:36 en/git-sh-i18n.txt:43 en/git-shortlog.txt:90 en/git-show-branch.txt:204 en/git-show-index.txt:27 en/git-show-ref.txt:186 en/git-show.txt:87 en/git-sh-setup.txt:95 en/git-stage.txt:23 en/git-stash.txt:295 en/git-status.txt:359 en/git-stripspace.txt:94 en/git-submodule.txt:438 en/git-svn.txt:1136 en/git-symbolic-ref.txt:69 en/git-tag.txt:351 en/git-unpack-file.txt:28 en/git-unpack-objects.txt:52 en/git-update-index.txt:486 en/git-update-ref.txt:152 en/git-update-server-info.txt:44 en/git-upload-archive.txt:62 en/git-upload-pack.txt:53 en/git-var.txt:70 en/git-verify-commit.txt:32 en/git-verify-pack.txt:53 en/git-verify-tag.txt:32 en/git-web--browse.txt:124 en/git-whatchanged.txt:43 en/git-worktree.txt:259 en/git-write-tree.txt:42 -msgid "Part of the linkgit:git[1] suite" -msgstr "" - -#. type: Title = -#: en/git-add.txt:2 -#, no-wrap -msgid "git-add(1)" +#: en/config.txt:120 +msgid "" +"The pattern can contain standard globbing wildcards and two additional ones, " +"`**/` and `/**`, that can match multiple path components. Please refer to " +"linkgit:gitignore[5] for details. For convenience:" msgstr "" #. type: Plain text -#: en/git-add.txt:7 -msgid "git-add - Add file contents to the index" +#: en/config.txt:123 +msgid "" +"If the pattern starts with `~/`, `~` will be substituted with the content of " +"the environment variable `HOME`." msgstr "" #. type: Plain text -#: en/git-add.txt:15 -#, no-wrap +#: en/config.txt:126 msgid "" -"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | " -"-i] [--patch | -p]\n" -"\t [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\n" -"\t [--intent-to-add | -N] [--refresh] [--ignore-errors] " -"[--ignore-missing]\n" -"\t [--chmod=(+|-)x] [--] [<pathspec>...]\n" +"If the pattern starts with `./`, it is replaced with the directory " +"containing the current config file." msgstr "" #. type: Plain text -#: en/git-add.txt:24 +#: en/config.txt:130 msgid "" -"This command updates the index using the current content found in the " -"working tree, to prepare the content staged for the next commit. It " -"typically adds the current content of existing paths as a whole, but with " -"some options it can also be used to add content with only part of the " -"changes made to the working tree files applied, or remove paths that do not " -"exist in the working tree anymore." +"If the pattern does not start with either `~/`, `./` or `/`, `**/` will be " +"automatically prepended. For example, the pattern `foo/bar` becomes " +"`**/foo/bar` and would match `/any/path/to/foo/bar`." msgstr "" #. type: Plain text -#: en/git-add.txt:30 +#: en/config.txt:134 msgid "" -"The \"index\" holds a snapshot of the content of the working tree, and it is " -"this snapshot that is taken as the contents of the next commit. Thus after " -"making any changes to the working tree, and before running the commit " -"command, you must use the `add` command to add any new or modified files to " -"the index." +"If the pattern ends with `/`, `**` will be automatically added. For example, " +"the pattern `foo/` becomes `foo/**`. In other words, it matches \"foo\" and " +"everything inside, recursively." +msgstr "" + +#. type: Labeled list +#: en/config.txt:135 +#, no-wrap +msgid "`gitdir/i`" msgstr "" #. type: Plain text -#: en/git-add.txt:35 +#: en/config.txt:138 msgid "" -"This command can be performed multiple times before a commit. It only adds " -"the content of the specified file(s) at the time the add command is run; if " -"you want subsequent changes included in the next commit, then you must run " -"`git add` again to add the new content to the index." +"This is the same as `gitdir` except that matching is done case-insensitively " +"(e.g. on case-insensitive file sytems)" msgstr "" #. type: Plain text -#: en/git-add.txt:38 -msgid "" -"The `git status` command can be used to obtain a summary of which files have " -"changes that are staged for the next commit." +#: en/config.txt:140 +msgid "A few more notes on matching via `gitdir` and `gitdir/i`:" msgstr "" #. type: Plain text -#: en/git-add.txt:45 -msgid "" -"The `git add` command will not add ignored files by default. If any ignored " -"files were explicitly specified on the command line, `git add` will fail " -"with a list of ignored files. Ignored files reached by directory recursion " -"or filename globbing performed by Git (quote your globs before the shell) " -"will be silently ignored. The 'git add' command can be used to add ignored " -"files with the `-f` (force) option." +#: en/config.txt:142 +msgid "Symlinks in `$GIT_DIR` are not resolved before matching." msgstr "" #. type: Plain text -#: en/git-add.txt:48 +#: en/config.txt:145 msgid "" -"Please see linkgit:git-commit[1] for alternative ways to add content to a " -"commit." +"Note that \"../\" is not special and will match literally, which is unlikely " +"what you want." msgstr "" -#. type: Labeled list -#: en/git-add.txt:52 en/git-grep.txt:293 +#. type: Title ~ +#: en/config.txt:147 en/git-rev-parse.txt:356 en/git-rev-parse.txt:412 #, no-wrap -msgid "<pathspec>..." +msgid "Example" msgstr "" #. type: Plain text -#: en/git-add.txt:64 +#: en/config.txt:153 +#, no-wrap msgid "" -"Files to add content from. Fileglobs (e.g. `*.c`) can be given to add all " -"matching files. Also a leading directory name (e.g. `dir` to add " -"`dir/file1` and `dir/file2`) can be given to update the index to match the " -"current state of the directory as a whole (e.g. specifying `dir` will " -"record not just a file `dir/file1` modified in the working tree, a file " -"`dir/file2` added to the working tree, but also a file `dir/file3` removed " -"from the working tree). Note that older versions of Git used to ignore " -"removed files; use `--no-all` option if you want to add modified or new " -"files but ignore removed ones." +"\t# Core variables\n" +"\t[core]\n" +"\t\t; Don't trust file modes\n" +"\t\tfilemode = false\n" msgstr "" -#. type: Labeled list -#: en/git-add.txt:65 en/git-blame.txt:70 en/git-checkout-index.txt:43 en/git-cherry-pick.txt:87 en/git-clean.txt:47 en/git-clone.txt:135 en/git-commit.txt:168 en/git-format-patch.txt:93 en/git-grep.txt:172 en/git-mailinfo.txt:66 en/git-mv.txt:39 en/git-notes.txt:178 en/git-p4.txt:294 en/git-prune-packed.txt:31 en/git-prune.txt:36 en/git-push.txt:117 en/git-quiltimport.txt:34 en/git-read-tree.txt:57 en/git-rebase.txt:318 en/git-reflog.txt:114 en/git-repack.txt:77 en/git-revert.txt:69 en/git-rm.txt:43 en/git-shortlog.txt:29 en/git-submodule.txt:310 en/git-svn.txt:648 en/git-unpack-objects.txt:30 en/git-worktree.txt:110 en/fetch-options.txt:80 en/merge-options.txt:56 +#. type: Plain text +#: en/config.txt:158 #, no-wrap -msgid "-n" +msgid "" +"\t# Our diff algorithm\n" +"\t[diff]\n" +"\t\texternal = /usr/local/bin/diff-wrapper\n" +"\t\trenames = true\n" msgstr "" -#. type: Labeled list -#: en/git-add.txt:66 en/git-clean.txt:48 en/git-commit.txt:310 en/git-http-push.txt:37 en/git-mv.txt:40 en/git-notes.txt:179 en/git-p4.txt:295 en/git-prune-packed.txt:32 en/git-prune.txt:37 en/git-push.txt:118 en/git-quiltimport.txt:35 en/git-read-tree.txt:58 en/git-reflog.txt:115 en/git-rm.txt:44 en/git-send-email.txt:362 en/git-send-pack.txt:51 en/git-svn.txt:649 en/git-worktree.txt:111 en/fetch-options.txt:46 +#. type: Plain text +#: en/config.txt:162 #, no-wrap -msgid "--dry-run" +msgid "" +"\t[branch \"devel\"]\n" +"\t\tremote = origin\n" +"\t\tmerge = refs/heads/devel\n" msgstr "" #. type: Plain text -#: en/git-add.txt:69 +#: en/config.txt:167 +#, no-wrap msgid "" -"Don't actually add the file(s), just show if they exist and/or will be " -"ignored." +"\t# Proxy settings\n" +"\t[core]\n" +"\t\tgitProxy=\"ssh\" for \"kernel.org\"\n" +"\t\tgitProxy=default-proxy ; for the rest\n" msgstr "" -#. type: Labeled list -#: en/git-add.txt:70 en/git-apply.txt:214 en/git-archimport.txt:73 en/git-archive.txt:47 en/git-branch.txt:148 en/git-cherry.txt:29 en/git-clone.txt:124 en/git-commit.txt:291 en/git-count-objects.txt:21 en/git-cvsexportcommit.txt:82 en/git-cvsimport.txt:52 en/git-diff-tree.txt:81 en/git-fetch-pack.txt:111 en/git-grep.txt:137 en/git-http-fetch.txt:33 en/git-imap-send.txt:32 en/git-index-pack.txt:27 en/git-ls-files.txt:131 en/git-mv.txt:43 en/git-notes.txt:210 en/git-p4.txt:171 en/git-prune.txt:41 en/git-pull.txt:83 en/git-push.txt:264 en/git-read-tree.txt:62 en/git-rebase.txt:310 en/git-remote.txt:35 en/git-status.txt:47 en/git-svn.txt:350 en/git-tag.txt:79 en/git-verify-commit.txt:23 en/git-verify-pack.txt:26 en/git-verify-tag.txt:23 en/git-worktree.txt:120 en/fetch-options.txt:165 en/merge-options.txt:108 +#. type: Plain text +#: en/config.txt:172 #, no-wrap -msgid "-v" +msgid "" +"\t[include]\n" +"\t\tpath = /path/to/foo.inc ; include by absolute path\n" +"\t\tpath = foo ; expand \"foo\" relative to the current file\n" +"\t\tpath = ~/foo ; expand \"foo\" in your `$HOME` directory\n" msgstr "" -#. type: Labeled list -#: en/git-add.txt:71 en/git-apply.txt:215 en/git-archive.txt:48 en/git-branch.txt:150 en/git-clone.txt:123 en/git-commit.txt:292 en/git-count-objects.txt:22 en/git-daemon.txt:126 en/git-fsck.txt:77 en/git-http-push.txt:40 en/git-imap-send.txt:33 en/git-mv.txt:44 en/git-notes.txt:211 en/git-p4.txt:172 en/git-pack-redundant.txt:39 en/git-prune.txt:42 en/git-pull.txt:84 en/git-push.txt:265 en/git-rebase.txt:311 en/git-reflog.txt:119 en/git-remote.txt:36 en/git-send-pack.txt:61 en/git-status.txt:48 en/git-svn.txt:351 en/git-update-index.txt:145 en/git-verify-commit.txt:24 en/git-verify-pack.txt:27 en/git-verify-tag.txt:24 en/git-worktree.txt:121 en/fetch-options.txt:166 en/merge-options.txt:109 +#. type: Plain text +#: en/config.txt:176 #, no-wrap -msgid "--verbose" +msgid "" +"\t; include if $GIT_DIR is /path/to/foo/.git\n" +"\t[includeIf \"gitdir:/path/to/foo/.git\"]\n" +"\t\tpath = /path/to/foo.inc\n" msgstr "" #. type: Plain text -#: en/git-add.txt:73 en/git-imap-send.txt:35 en/fetch-options.txt:168 en/merge-options.txt:111 -msgid "Be verbose." +#: en/config.txt:180 +#, no-wrap +msgid "" +"\t; include for all repositories inside /path/to/group\n" +"\t[includeIf \"gitdir:/path/to/group/\"]\n" +"\t\tpath = /path/to/foo.inc\n" msgstr "" -#. type: Labeled list -#: en/git-add.txt:74 en/git-archimport.txt:80 en/git-blame.txt:64 en/git-branch.txt:98 en/git-checkout-index.txt:34 en/git-checkout.txt:116 en/git-clean.txt:34 en/git-cvsexportcommit.txt:54 en/git-filter-branch.txt:189 en/git-mv.txt:31 en/git-notes.txt:127 en/git-push.txt:221 en/git-rebase.txt:335 en/git-repack.txt:65 en/git-replace.txt:59 en/git-rm.txt:39 en/git-submodule.txt:287 en/git-tag.txt:71 en/git-update-server-info.txt:26 en/git-worktree.txt:85 en/fetch-options.txt:50 +#. type: Plain text +#: en/config.txt:184 #, no-wrap -msgid "-f" +msgid "" +"\t; include for all repositories inside $HOME/to/group\n" +"\t[includeIf \"gitdir:~/to/group/\"]\n" +"\t\tpath = /path/to/foo.inc\n" msgstr "" -#. type: Labeled list -#: en/git-add.txt:75 en/git-branch.txt:99 en/git-checkout-index.txt:35 en/git-checkout.txt:117 en/git-clean.txt:35 en/git-fast-import.txt:37 en/git-filter-branch.txt:190 en/git-gc.txt:77 en/git-http-push.txt:30 en/git-mv.txt:32 en/git-notes.txt:128 en/git-push.txt:222 en/git-replace.txt:60 en/git-rm.txt:40 en/git-send-email.txt:387 en/git-send-pack.txt:54 en/git-submodule.txt:288 en/git-tag.txt:72 en/git-update-server-info.txt:27 en/git-worktree.txt:86 en/fetch-options.txt:51 +#. type: Title ~ +#: en/config.txt:186 #, no-wrap -msgid "--force" +msgid "Values" msgstr "" #. type: Plain text -#: en/git-add.txt:77 -msgid "Allow adding otherwise ignored files." -msgstr "" - -#. type: Labeled list -#: en/git-add.txt:78 en/git-am.txt:123 en/git-branch.txt:124 en/git-clean.txt:42 en/git-commit.txt:253 en/git-cvsimport.txt:88 en/git-grep.txt:116 en/git-help.txt:51 en/git-ls-files.txt:51 en/git-read-tree.txt:48 en/git-rebase.txt:373 en/git-tag.txt:111 en/rev-list-options.txt:75 -#, no-wrap -msgid "-i" +#: en/config.txt:191 +msgid "" +"Values of many variables are treated as a simple string, but there are " +"variables that take values of specific types and there are rules as to how " +"to spell them." msgstr "" #. type: Labeled list -#: en/git-add.txt:79 en/git-am.txt:124 en/git-clean.txt:43 en/git-rebase.txt:374 en/git-svn.txt:281 +#: en/config.txt:192 #, no-wrap -msgid "--interactive" +msgid "boolean" msgstr "" #. type: Plain text -#: en/git-add.txt:84 +#: en/config.txt:197 msgid "" -"Add modified contents in the working tree interactively to the " -"index. Optional path arguments may be supplied to limit operation to a " -"subset of the working tree. See ``Interactive mode'' for details." +"When a variable is said to take a boolean value, many synonyms are accepted " +"for 'true' and 'false'; these are all case-insensitive." msgstr "" #. type: Labeled list -#: en/git-add.txt:86 en/git-checkout.txt:243 en/git-commit.txt:67 en/diff-options.txt:24 +#: en/config.txt:198 #, no-wrap -msgid "--patch" +msgid "true" msgstr "" #. type: Plain text -#: en/git-add.txt:91 -msgid "" -"Interactively choose hunks of patch between the index and the work tree and " -"add them to the index. This gives the user a chance to review the difference " -"before adding modified contents to the index." +#: en/config.txt:199 +msgid "Boolean true can be spelled as `yes`, `on`, `true`," msgstr "" #. type: Plain text -#: en/git-add.txt:95 -msgid "" -"This effectively runs `add --interactive`, but bypasses the initial command " -"menu and directly jumps to the `patch` subcommand. See ``Interactive mode'' " -"for details." +#: en/config.txt:201 +msgid "or `1`. Also, a variable defined without `= <value>` is taken as true." msgstr "" #. type: Labeled list -#: en/git-add.txt:96 en/git-blame.txt:77 en/git-cat-file.txt:44 en/git-cherry-pick.txt:55 en/git-commit.txt:212 en/git-config.txt:220 en/git-grep.txt:260 en/git-revert.txt:43 en/git-shortlog.txt:38 en/git-svn.txt:583 en/merge-options.txt:11 +#: en/config.txt:202 #, no-wrap -msgid "-e" +msgid "false" msgstr "" -#. type: Labeled list -#: en/git-add.txt:97 en/git-cherry-pick.txt:56 en/git-commit.txt:213 en/git-config.txt:221 en/git-revert.txt:44 en/git-svn.txt:584 en/merge-options.txt:10 -#, no-wrap -msgid "--edit" +#. type: Plain text +#: en/config.txt:203 +msgid "Boolean false can be spelled as `no`, `off`," msgstr "" #. type: Plain text -#: en/git-add.txt:101 -msgid "" -"Open the diff vs. the index in an editor and let the user edit it. After " -"the editor was closed, adjust the hunk headers and apply the patch to the " -"index." +#: en/config.txt:204 +msgid "`false`, or `0`." msgstr "" #. type: Plain text -#: en/git-add.txt:107 +#: en/config.txt:208 msgid "" -"The intent of this option is to pick and choose lines of the patch to apply, " -"or even to modify the contents of lines to be staged. This can be quicker " -"and more flexible than using the interactive hunk selector. However, it is " -"easy to confuse oneself and create a patch that does not apply to the " -"index. See EDITING PATCHES below." +"When converting value to the canonical form using `--bool` type specifier; " +"'git config' will ensure that the output is \"true\" or \"false\" (spelled " +"in lowercase)." msgstr "" #. type: Labeled list -#: en/git-add.txt:108 en/git-am.txt:78 en/git-checkout-index.txt:25 en/git-cvsexportcommit.txt:64 en/git-cvsimport.txt:98 en/git-ls-files.txt:69 en/git-mailinfo.txt:52 en/git-push.txt:245 en/git-read-tree.txt:44 en/diff-options.txt:23 en/fetch-options.txt:143 +#: en/config.txt:209 #, no-wrap -msgid "-u" +msgid "integer" +msgstr "" + +#. type: Plain text +#: en/config.txt:213 +msgid "" +"The value for many variables that specify various sizes can be suffixed with " +"`k`, `M`,... to mean \"scale the number by 1024\", \"by 1024x1024\", etc." msgstr "" #. type: Labeled list -#: en/git-add.txt:109 +#: en/config.txt:214 en/diff-options.txt:241 en/git-for-each-ref.txt:152 #, no-wrap -msgid "--update" +msgid "color" msgstr "" #. type: Plain text -#: en/git-add.txt:113 +#: en/config.txt:218 msgid "" -"Update the index just where it already has an entry matching <pathspec>. " -"This removes as well as modifies index entries to match the working tree, " -"but adds no new files." +"The value for a variable that takes a color is a list of colors (at most " +"two, one for foreground and one for background) and attributes (as many as " +"you want), separated by spaces." msgstr "" #. type: Plain text -#: en/git-add.txt:118 +#: en/config.txt:222 msgid "" -"If no <pathspec> is given when `-u` option is used, all tracked files in the " -"entire working tree are updated (old versions of Git used to limit the " -"update to the current directory and its subdirectories)." -msgstr "" - -#. type: Labeled list -#: en/git-add.txt:119 en/git-repack.txt:44 en/git-svn.txt:402 -#, no-wrap -msgid "-A" +"The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`, " +"`blue`, `magenta`, `cyan` and `white`. The first color given is the " +"foreground; the second is the background." msgstr "" -#. type: Labeled list -#: en/git-add.txt:120 en/git-branch.txt:141 en/git-checkout-index.txt:39 en/git-commit.txt:61 en/git-describe.txt:37 en/git-fetch-pack.txt:35 en/git-help.txt:42 en/git-http-push.txt:25 en/git-merge-base.txt:72 en/git-name-rev.txt:42 en/git-pack-objects.txt:75 en/git-pack-redundant.txt:32 en/git-pack-refs.txt:48 en/git-push.txt:94 en/git-reflog.txt:72 en/git-rev-parse.txt:161 en/git-send-pack.txt:37 en/git-show-branch.txt:48 en/git-submodule.txt:275 en/fetch-options.txt:1 en/rev-list-options.txt:135 -#, no-wrap -msgid "--all" +#. type: Plain text +#: en/config.txt:227 +msgid "" +"Colors may also be given as numbers between 0 and 255; these use ANSI " +"256-color mode (but note that not all terminals may support this). If your " +"terminal supports it, you may also specify 24-bit RGB values as hex, like " +"`#ff0ab3`." msgstr "" -#. type: Labeled list -#: en/git-add.txt:121 -#, no-wrap -msgid "--no-ignore-removal" +#. type: Plain text +#: en/config.txt:234 +msgid "" +"The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, " +"`italic`, and `strike` (for crossed-out or \"strikethrough\" letters). The " +"position of any attributes with respect to the colors (before, after, or in " +"between), doesn't matter. Specific attributes may be turned off by prefixing " +"them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc)." msgstr "" #. type: Plain text -#: en/git-add.txt:126 +#: en/config.txt:237 msgid "" -"Update the index not only where the working tree has a file matching " -"<pathspec> but also where the index already has an entry. This adds, " -"modifies, and removes index entries to match the working tree." +"An empty color string produces no color effect at all. This can be used to " +"avoid coloring specific elements without disabling color entirely." msgstr "" #. type: Plain text -#: en/git-add.txt:131 +#: en/config.txt:246 msgid "" -"If no <pathspec> is given when `-A` option is used, all files in the entire " -"working tree are updated (old versions of Git used to limit the update to " -"the current directory and its subdirectories)." +"For git's pre-defined color slots, the attributes are meant to be reset at " +"the beginning of each item in the colored output. So setting " +"`color.decorate.branch` to `black` will paint that branch name in a plain " +"`black`, even if the previous thing on the same output line (e.g. opening " +"parenthesis before the list of branch names in `log --decorate` output) is " +"set to be painted with `bold` or some other attribute. However, custom log " +"formats may do more complicated and layered coloring, and the negated forms " +"may be useful there." msgstr "" #. type: Labeled list -#: en/git-add.txt:132 +#: en/config.txt:247 #, no-wrap -msgid "--no-all" +msgid "pathname" msgstr "" -#. type: Labeled list -#: en/git-add.txt:133 +#. type: Plain text +#: en/config.txt:253 +msgid "" +"A variable that takes a pathname value can be given a string that begins " +"with \"`~/`\" or \"`~user/`\", and the usual tilde expansion happens to such " +"a string: `~/` is expanded to the value of `$HOME`, and `~user/` to the " +"specified user's home directory." +msgstr "" + +#. type: Title ~ +#: en/config.txt:256 en/git-imap-send.txt:58 #, no-wrap -msgid "--ignore-removal" +msgid "Variables" msgstr "" #. type: Plain text -#: en/git-add.txt:138 +#: en/config.txt:261 msgid "" -"Update the index by adding new files that are unknown to the index and files " -"modified in the working tree, but ignore files that have been removed from " -"the working tree. This option is a no-op when no <pathspec> is used." +"Note that this list is non-comprehensive and not necessarily complete. For " +"command-specific variables, you will find a more detailed description in the " +"appropriate manual page." msgstr "" #. type: Plain text -#: en/git-add.txt:142 +#: en/config.txt:266 msgid "" -"This option is primarily to help users who are used to older versions of " -"Git, whose \"git add <pathspec>...\" was a synonym for \"git add --no-all " -"<pathspec>...\", i.e. ignored removed files." -msgstr "" - -#. type: Labeled list -#: en/git-add.txt:143 en/git-format-patch.txt:97 en/git-submodule.txt:349 -#, no-wrap -msgid "-N" +"Other git-related tools may and do use their own variables. When inventing " +"new variables for use in your own tool, make sure their names do not " +"conflict with those that are used by Git itself and other popular tools, and " +"describe them in your documentation." msgstr "" #. type: Labeled list -#: en/git-add.txt:144 +#: en/config.txt:268 #, no-wrap -msgid "--intent-to-add" +msgid "advice.*" msgstr "" #. type: Plain text -#: en/git-add.txt:150 +#: en/config.txt:272 msgid "" -"Record only the fact that the path will be added later. An entry for the " -"path is placed in the index with no content. This is useful for, among other " -"things, showing the unstaged content of such files with `git diff` and " -"committing them with `git commit -a`." +"These variables control various optional help messages designed to aid new " +"users. All 'advice.*' variables default to 'true', and you can tell Git that " +"you do not need help by setting these to 'false':" msgstr "" #. type: Labeled list -#: en/git-add.txt:151 en/git-update-index.txt:52 +#: en/config.txt:274 #, no-wrap -msgid "--refresh" +msgid "pushUpdateRejected" msgstr "" #. type: Plain text -#: en/git-add.txt:154 +#: en/config.txt:280 +#, no-wrap msgid "" -"Don't add the file(s), but only refresh their stat() information in the " -"index." +"Set this variable to 'false' if you want to disable\n" +"'pushNonFFCurrent',\n" +"'pushNonFFMatching', 'pushAlreadyExists',\n" +"'pushFetchFirst', and 'pushNeedsForce'\n" +"simultaneously.\n" msgstr "" #. type: Labeled list -#: en/git-add.txt:155 +#: en/config.txt:280 #, no-wrap -msgid "--ignore-errors" +msgid "pushNonFFCurrent" msgstr "" #. type: Plain text -#: en/git-add.txt:161 +#: en/config.txt:283 +#, no-wrap msgid "" -"If some files could not be added because of errors indexing them, do not " -"abort the operation, but continue adding the others. The command shall still " -"exit with non-zero status. The configuration variable `add.ignoreErrors` " -"can be set to true to make this the default behaviour." +"Advice shown when linkgit:git-push[1] fails due to a\n" +"non-fast-forward update to the current branch.\n" msgstr "" #. type: Labeled list -#: en/git-add.txt:162 en/git-notes.txt:169 en/git-update-index.txt:70 en/rev-list-options.txt:182 +#: en/config.txt:283 #, no-wrap -msgid "--ignore-missing" +msgid "pushNonFFMatching" msgstr "" #. type: Plain text -#: en/git-add.txt:167 +#: en/config.txt:288 +#, no-wrap msgid "" -"This option can only be used together with --dry-run. By using this option " -"the user can check if any of the given files would be ignored, no matter if " -"they are already present in the work tree or not." +"Advice shown when you ran linkgit:git-push[1] and pushed\n" +"'matching refs' explicitly (i.e. you used ':', or\n" +"specified a refspec that isn't your current branch) and\n" +"it resulted in a non-fast-forward error.\n" msgstr "" #. type: Labeled list -#: en/git-add.txt:168 en/git-update-index.txt:83 +#: en/config.txt:288 #, no-wrap -msgid "--chmod=(+|-)x" +msgid "pushAlreadyExists" msgstr "" #. type: Plain text -#: en/git-add.txt:172 +#: en/config.txt:291 +#, no-wrap msgid "" -"Override the executable bit of the added files. The executable bit is only " -"changed in the index, the files on disk are left unchanged." +"Shown when linkgit:git-push[1] rejects an update that\n" +"does not qualify for fast-forwarding (e.g., a tag.)\n" msgstr "" #. type: Labeled list -#: en/git-add.txt:173 en/git-check-attr.txt:39 en/git-checkout-index.txt:71 en/git-commit.txt:336 en/git-grep.txt:289 en/git-ls-files.txt:174 en/git-merge-index.txt:23 en/git-prune.txt:45 en/git-rm.txt:53 en/git-update-index.txt:204 en/git-verify-pack.txt:36 +#: en/config.txt:291 #, no-wrap -msgid "\\--" +msgid "pushFetchFirst" msgstr "" #. type: Plain text -#: en/git-add.txt:177 en/git-rm.txt:57 +#: en/config.txt:295 +#, no-wrap msgid "" -"This option can be used to separate command-line options from the list of " -"files, (useful when filenames might be mistaken for command-line options)." +"Shown when linkgit:git-push[1] rejects an update that\n" +"tries to overwrite a remote ref that points at an\n" +"object we do not have.\n" msgstr "" -#. type: Title - -#: en/git-add.txt:180 en/git-apply.txt:244 en/git-gc.txt:82 en/git-repack.txt:147 en/git-update-index.txt:451 +#. type: Labeled list +#: en/config.txt:295 #, no-wrap -msgid "Configuration" +msgid "pushNeedsForce" msgstr "" #. type: Plain text -#: en/git-add.txt:186 +#: en/config.txt:300 +#, no-wrap msgid "" -"The optional configuration variable `core.excludesFile` indicates a path to " -"a file containing patterns of file names to exclude from git-add, similar to " -"$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to " -"those in info/exclude. See linkgit:gitignore[5]." +"Shown when linkgit:git-push[1] rejects an update that\n" +"tries to overwrite a remote ref that points at an\n" +"object that is not a commit-ish, or make the remote\n" +"ref point at an object that is not a commit-ish.\n" msgstr "" -#. type: Title - -#: en/git-add.txt:189 en/git-archive.txt:149 en/git-bisect.txt:370 en/git-check-attr.txt:71 en/git-checkout-index.txt:143 en/git-checkout.txt:435 en/git-check-ref-format.txt:110 en/git-cherry-pick.txt:156 en/git-cherry.txt:43 en/git-commit.txt:350 en/git-config.txt:296 en/git-credential-cache.txt:52 en/git-credential-store.txt:71 en/git-cvsexportcommit.txt:91 en/git-daemon.txt:235 en/git-describe.txt:110 en/git-diff.txt:109 en/git-fast-export.txt:125 en/git-fetch.txt:155 en/git-for-each-ref.txt:237 en/git-format-patch.txt:591 en/git-http-backend.txt:67 en/git-init.txt:141 en/git-interpret-trailers.txt:205 en/git-log.txt:108 en/git-ls-remote.txt:75 en/git-merge-file.txt:81 en/git-merge.txt:310 en/git-notes.txt:278 en/git-pull.txt:206 en/git-remote-fd.txt:37 en/git-reset.txt:102 en/git-revert.txt:109 en/git-rev-parse.txt:427 en/git-rm.txt:159 en/git-show.txt:58 en/git-stash.txt:201 en/git-stripspace.txt:49 en/git-worktree.txt:224 +#. type: Labeled list +#: en/config.txt:300 #, no-wrap -msgid "EXAMPLES" +msgid "statusHints" msgstr "" #. type: Plain text -#: en/git-add.txt:193 +#: en/config.txt:306 +#, no-wrap msgid "" -"Adds content from all `*.txt` files under `Documentation` directory and its " -"subdirectories:" +"Show directions on how to proceed from the current\n" +"state in the output of linkgit:git-status[1], in\n" +"the template shown when writing commit messages in\n" +"linkgit:git-commit[1], and in the help message shown\n" +"by linkgit:git-checkout[1] when switching branch.\n" msgstr "" -#. type: delimited block - -#: en/git-add.txt:196 +#. type: Labeled list +#: en/config.txt:306 #, no-wrap -msgid "$ git add Documentation/\\*.txt\n" +msgid "statusUoption" msgstr "" #. type: Plain text -#: en/git-add.txt:201 +#: en/config.txt:310 +#, no-wrap msgid "" -"Note that the asterisk `*` is quoted from the shell in this example; this " -"lets the command include the files from subdirectories of `Documentation/` " -"directory." -msgstr "" - -#. type: Plain text -#: en/git-add.txt:203 -msgid "Considers adding content from all git-*.sh scripts:" +"Advise to consider using the `-u` option to linkgit:git-status[1]\n" +"when the command takes more than 2 seconds to enumerate untracked\n" +"files.\n" msgstr "" -#. type: delimited block - -#: en/git-add.txt:206 +#. type: Labeled list +#: en/config.txt:310 #, no-wrap -msgid "$ git add git-*.sh\n" +msgid "commitBeforeMerge" msgstr "" #. type: Plain text -#: en/git-add.txt:211 +#: en/config.txt:313 +#, no-wrap msgid "" -"Because this example lets the shell expand the asterisk (i.e. you are " -"listing the files explicitly), it does not consider `subdir/git-foo.sh`." +"Advice shown when linkgit:git-merge[1] refuses to\n" +"merge to avoid overwriting local changes.\n" msgstr "" -#. type: Title - -#: en/git-add.txt:213 en/git-clean.txt:75 +#. type: Labeled list +#: en/config.txt:313 #, no-wrap -msgid "Interactive mode" +msgid "resolveConflict" msgstr "" #. type: Plain text -#: en/git-add.txt:217 +#: en/config.txt:316 +#, no-wrap msgid "" -"When the command enters the interactive mode, it shows the output of the " -"'status' subcommand, and then goes into its interactive command loop." +"Advice shown by various commands when conflicts\n" +"prevent the operation from being performed.\n" msgstr "" -#. type: Plain text -#: en/git-add.txt:222 en/git-clean.txt:84 -msgid "" -"The command loop shows the list of subcommands available, and gives a prompt " -"\"What now> \". In general, when the prompt ends with a single '>', you can " -"pick only one of the choices given and type return, like this:" +#. type: Labeled list +#: en/config.txt:316 +#, no-wrap +msgid "implicitIdentity" msgstr "" -#. type: delimited block - -#: en/git-add.txt:228 +#. type: Plain text +#: en/config.txt:320 #, no-wrap msgid "" -" *** Commands ***\n" -" 1: status 2: update 3: revert 4: add untracked\n" -" 5: patch 6: diff 7: quit 8: help\n" -" What now> 1\n" +"Advice on how to set your identity configuration when\n" +"your information is guessed from the system username and\n" +"domain name.\n" msgstr "" -#. type: Plain text -#: en/git-add.txt:232 -msgid "" -"You also could say `s` or `sta` or `status` above as long as the choice is " -"unique." +#. type: Labeled list +#: en/config.txt:320 +#, no-wrap +msgid "detachedHead" msgstr "" #. type: Plain text -#: en/git-add.txt:234 -msgid "The main command loop has 6 subcommands (plus help and quit)." +#: en/config.txt:324 +#, no-wrap +msgid "" +"Advice shown when you used linkgit:git-checkout[1] to\n" +"move to the detach HEAD state, to instruct how to create\n" +"a local branch after the fact.\n" msgstr "" #. type: Labeled list -#: en/git-add.txt:235 +#: en/config.txt:324 #, no-wrap -msgid "status" +msgid "amWorkDir" msgstr "" #. type: Plain text -#: en/git-add.txt:242 +#: en/config.txt:327 +#, no-wrap msgid "" -"This shows the change between HEAD and index (i.e. what will be committed if " -"you say `git commit`), and between index and working tree files (i.e. what " -"you could stage further before `git commit` using `git add`) for each path. " -"A sample output looks like this:" +"Advice that shows the location of the patch file when\n" +"linkgit:git-am[1] fails to apply it.\n" msgstr "" -#. type: delimited block - -#: en/git-add.txt:247 +#. type: Labeled list +#: en/config.txt:327 #, no-wrap -msgid "" -" staged unstaged path\n" -" 1: binary nothing foo.png\n" -" 2: +403/-35 +1/-1 git-add--interactive.perl\n" +msgid "rmHints" msgstr "" #. type: Plain text -#: en/git-add.txt:258 +#: en/config.txt:330 +#, no-wrap msgid "" -"It shows that foo.png has differences from HEAD (but that is binary so line " -"count cannot be shown) and there is no difference between indexed copy and " -"the working tree version (if the working tree version were also different, " -"'binary' would have been shown in place of 'nothing'). The other file, " -"git-add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if " -"you commit what is in the index, but working tree file has further " -"modifications (one addition and one deletion)." +"In case of failure in the output of linkgit:git-rm[1],\n" +"show directions on how to proceed from the current state.\n" msgstr "" #. type: Labeled list -#: en/git-add.txt:259 en/git-update-ref.txt:94 +#: en/config.txt:332 #, no-wrap -msgid "update" +msgid "core.fileMode" msgstr "" #. type: Plain text -#: en/git-add.txt:268 +#: en/config.txt:335 msgid "" -"This shows the status information and issues an \"Update>>\" prompt. When " -"the prompt ends with double '>>', you can make more than one selection, " -"concatenated with whitespace or comma. Also you can say ranges. E.g. \"2-5 " -"7,9\" to choose 2,3,4,5,7,9 from the list. If the second number in a range " -"is omitted, all remaining patches are taken. E.g. \"7-\" to choose 7,8,9 " -"from the list. You can say '*' to choose everything." +"Tells Git if the executable bit of files in the working tree is to be " +"honored." msgstr "" #. type: Plain text -#: en/git-add.txt:271 -msgid "What you chose are then highlighted with '*', like this:" +#: en/config.txt:342 +msgid "" +"Some filesystems lose the executable bit when a file that is marked as " +"executable is checked out, or checks out an non-executable file with " +"executable bit on. linkgit:git-clone[1] or linkgit:git-init[1] probe the " +"filesystem to see if it handles the executable bit correctly and this " +"variable is automatically set as necessary." msgstr "" -#. type: delimited block - -#: en/git-add.txt:276 -#, no-wrap +#. type: Plain text +#: en/config.txt:351 msgid "" -" staged unstaged path\n" -" 1: binary nothing foo.png\n" -"* 2: +403/-35 +1/-1 git-add--interactive.perl\n" +"A repository, however, may be on a filesystem that handles the filemode " +"correctly, and this variable is set to 'true' when created, but later may be " +"made accessible from another environment that loses the filemode " +"(e.g. exporting ext4 via CIFS mount, visiting a Cygwin created repository " +"with Git for Windows or Eclipse). In such a case it may be necessary to set " +"this variable to 'false'. See linkgit:git-update-index[1]." msgstr "" #. type: Plain text -#: en/git-add.txt:280 -msgid "To remove selection, prefix the input with `-` like this:" +#: en/config.txt:353 +msgid "" +"The default is true (when core.filemode is not specified in the config " +"file)." msgstr "" -#. type: delimited block - -#: en/git-add.txt:283 +#. type: Labeled list +#: en/config.txt:354 #, no-wrap -msgid "Update>> -2\n" +msgid "core.hideDotFiles" msgstr "" #. type: Plain text -#: en/git-add.txt:287 +#: en/config.txt:359 msgid "" -"After making the selection, answer with an empty line to stage the contents " -"of working tree files for selected paths in the index." +"(Windows-only) If true, mark newly-created directories and files whose name " +"starts with a dot as hidden. If 'dotGitOnly', only the `.git/` directory is " +"hidden, but no other files starting with a dot. The default mode is " +"'dotGitOnly'." msgstr "" #. type: Labeled list -#: en/git-add.txt:288 +#: en/config.txt:360 #, no-wrap -msgid "revert" +msgid "core.ignoreCase" msgstr "" #. type: Plain text -#: en/git-add.txt:293 +#: en/config.txt:367 msgid "" -"This has a very similar UI to 'update', and the staged information for " -"selected paths are reverted to that of the HEAD version. Reverting new " -"paths makes them untracked." -msgstr "" - -#. type: Labeled list -#: en/git-add.txt:294 -#, no-wrap -msgid "add untracked" +"If true, this option enables various workarounds to enable Git to work " +"better on filesystems that are not case sensitive, like FAT. For example, if " +"a directory listing finds \"makefile\" when Git expects \"Makefile\", Git " +"will assume it is really the same file, and continue to remember it as " +"\"Makefile\"." msgstr "" #. type: Plain text -#: en/git-add.txt:298 +#: en/config.txt:371 msgid "" -"This has a very similar UI to 'update' and 'revert', and lets you add " -"untracked paths to the index." +"The default is false, except linkgit:git-clone[1] or linkgit:git-init[1] " +"will probe and set core.ignoreCase true if appropriate when the repository " +"is created." msgstr "" #. type: Labeled list -#: en/git-add.txt:299 +#: en/config.txt:372 #, no-wrap -msgid "patch" +msgid "core.precomposeUnicode" msgstr "" #. type: Plain text -#: en/git-add.txt:306 +#: en/config.txt:380 msgid "" -"This lets you choose one path out of a 'status' like selection. After " -"choosing the path, it presents the diff between the index and the working " -"tree file and asks you if you want to stage the change of each hunk. You " -"can select one of the following options and type return:" +"This option is only used by Mac OS implementation of Git. When " +"core.precomposeUnicode=true, Git reverts the unicode decomposition of " +"filenames done by Mac OS. This is useful when sharing a repository between " +"Mac OS and Linux or Windows. (Git for Windows 1.7.10 or higher is needed, " +"or Git under cygwin 1.7). When false, file names are handled fully " +"transparent by Git, which is backward compatible with older versions of Git." msgstr "" -#. type: Plain text -#: en/git-add.txt:321 +#. type: Labeled list +#: en/config.txt:381 #, no-wrap -msgid "" -"y - stage this hunk\n" -"n - do not stage this hunk\n" -"q - quit; do not stage this hunk or any of the remaining ones\n" -"a - stage this hunk and all later hunks in the file\n" -"d - do not stage this hunk or any of the later hunks in the file\n" -"g - select a hunk to go to\n" -"/ - search for a hunk matching the given regex\n" -"j - leave this hunk undecided, see next undecided hunk\n" -"J - leave this hunk undecided, see next hunk\n" -"k - leave this hunk undecided, see previous undecided hunk\n" -"K - leave this hunk undecided, see previous hunk\n" -"s - split the current hunk into smaller hunks\n" -"e - manually edit the current hunk\n" -"? - print help\n" -msgstr "" - -#. type: Plain text -#: en/git-add.txt:324 -msgid "" -"After deciding the fate for all hunks, if there is any hunk that was chosen, " -"the index is updated with the selected hunks." +msgid "core.protectHFS" msgstr "" #. type: Plain text -#: en/git-add.txt:327 +#: en/config.txt:385 msgid "" -"You can omit having to type return here, by setting the configuration " -"variable `interactive.singleKey` to `true`." +"If set to true, do not allow checkout of paths that would be considered " +"equivalent to `.git` on an HFS+ filesystem. Defaults to `true` on Mac OS, " +"and `false` elsewhere." msgstr "" #. type: Labeled list -#: en/git-add.txt:328 +#: en/config.txt:386 #, no-wrap -msgid "diff" +msgid "core.protectNTFS" msgstr "" #. type: Plain text -#: en/git-add.txt:332 -msgid "This lets you review what will be committed (i.e. between HEAD and index)." +#: en/config.txt:391 +msgid "" +"If set to true, do not allow checkout of paths that would cause problems " +"with the NTFS filesystem, e.g. conflict with 8.3 \"short\" names. Defaults " +"to `true` on Windows, and `false` elsewhere." msgstr "" -#. type: Title - -#: en/git-add.txt:335 +#. type: Labeled list +#: en/config.txt:392 #, no-wrap -msgid "EDITING PATCHES" +msgid "core.trustctime" msgstr "" #. type: Plain text -#: en/git-add.txt:345 +#: en/config.txt:398 msgid "" -"Invoking `git add -e` or selecting `e` from the interactive hunk selector " -"will open a patch in your editor; after the editor exits, the result is " -"applied to the index. You are free to make arbitrary changes to the patch, " -"but note that some changes may have confusing results, or even result in a " -"patch that cannot be applied. If you want to abort the operation entirely " -"(i.e., stage nothing new in the index), simply delete all lines of the " -"patch. The list below describes some common things you may see in a patch, " -"and which editing operations make sense on them." +"If false, the ctime differences between the index and the working tree are " +"ignored; useful when the inode change time is regularly modified by " +"something outside Git (file system crawlers and some backup systems). See " +"linkgit:git-update-index[1]. True by default." msgstr "" #. type: Labeled list -#: en/git-add.txt:347 +#: en/config.txt:399 #, no-wrap -msgid "added content" +msgid "core.splitIndex" msgstr "" #. type: Plain text -#: en/git-add.txt:351 +#: en/config.txt:402 msgid "" -"Added content is represented by lines beginning with \"{plus}\". You can " -"prevent staging any addition lines by deleting them." +"If true, the split-index feature of the index will be used. See " +"linkgit:git-update-index[1]. False by default." msgstr "" #. type: Labeled list -#: en/git-add.txt:352 +#: en/config.txt:403 #, no-wrap -msgid "removed content" +msgid "core.untrackedCache" msgstr "" #. type: Plain text -#: en/git-add.txt:356 +#: en/config.txt:411 msgid "" -"Removed content is represented by lines beginning with \"-\". You can " -"prevent staging their removal by converting the \"-\" to a \" \" (space)." +"Determines what to do about the untracked cache feature of the index. It " +"will be kept, if this variable is unset or set to `keep`. It will " +"automatically be added if set to `true`. And it will automatically be " +"removed, if set to `false`. Before setting it to `true`, you should check " +"that mtime is working properly on your system. See " +"linkgit:git-update-index[1]. `keep` by default." msgstr "" #. type: Labeled list -#: en/git-add.txt:357 +#: en/config.txt:412 #, no-wrap -msgid "modified content" -msgstr "" - -#. type: Plain text -#: en/git-add.txt:364 -msgid "" -"Modified content is represented by \"-\" lines (removing the old content) " -"followed by \"{plus}\" lines (adding the replacement content). You can " -"prevent staging the modification by converting \"-\" lines to \" \", and " -"removing \"{plus}\" lines. Beware that modifying only half of the pair is " -"likely to introduce confusing changes to the index." +msgid "core.checkStat" msgstr "" #. type: Plain text -#: en/git-add.txt:372 +#: en/config.txt:417 msgid "" -"There are also more complex operations that can be performed. But beware " -"that because the patch is applied only to the index and not the working " -"tree, the working tree will appear to \"undo\" the change in the index. For " -"example, introducing a new line into the index that is in neither the HEAD " -"nor the working tree will stage the new line for commit, but the line will " -"appear to be reverted in the working tree." -msgstr "" - -#. type: Plain text -#: en/git-add.txt:374 -msgid "Avoid using these constructs, or do so with extreme caution." +"Determines which stat fields to match between the index and work tree. The " +"user can set this to 'default' or 'minimal'. Default (or explicitly " +"'default'), is to check all fields, including the sub-second part of mtime " +"and ctime." msgstr "" #. type: Labeled list -#: en/git-add.txt:376 +#: en/config.txt:418 #, no-wrap -msgid "removing untouched content" +msgid "core.quotePath" msgstr "" #. type: Plain text -#: en/git-add.txt:382 +#: en/config.txt:432 msgid "" -"Content which does not differ between the index and working tree may be " -"shown on context lines, beginning with a \" \" (space). You can stage " -"context lines for removal by converting the space to a \"-\". The resulting " -"working tree file will appear to re-add the content." +"Commands that output paths (e.g. 'ls-files', 'diff'), will quote \"unusual\" " +"characters in the pathname by enclosing the pathname in double-quotes and " +"escaping those characters with backslashes in the same way C escapes control " +"characters (e.g. `\\t` for TAB, `\\n` for LF, `\\\\` for backslash) or " +"bytes with values larger than 0x80 (e.g. octal `\\302\\265` for \"micro\" in " +"UTF-8). If this variable is set to false, bytes higher than 0x80 are not " +"considered \"unusual\" any more. Double-quotes, backslash and control " +"characters are always escaped regardless of the setting of this variable. A " +"simple space character is not considered \"unusual\". Many commands can " +"output pathnames completely verbatim using the `-z` option. The default " +"value is true." msgstr "" #. type: Labeled list -#: en/git-add.txt:383 +#: en/config.txt:433 #, no-wrap -msgid "modifying existing content" +msgid "core.eol" msgstr "" #. type: Plain text -#: en/git-add.txt:390 +#: en/config.txt:440 msgid "" -"One can also modify context lines by staging them for removal (by converting " -"\" \" to \"-\") and adding a \"{plus}\" line with the new content. " -"Similarly, one can modify \"{plus}\" lines for existing additions or " -"modifications. In all cases, the new modification will appear reverted in " -"the working tree." +"Sets the line ending type to use in the working directory for files that " +"have the `text` property set when core.autocrlf is false. Alternatives are " +"'lf', 'crlf' and 'native', which uses the platform's native line ending. " +"The default value is `native`. See linkgit:gitattributes[5] for more " +"information on end-of-line conversion." msgstr "" #. type: Labeled list -#: en/git-add.txt:391 +#: en/config.txt:441 #, no-wrap -msgid "new content" +msgid "core.safecrlf" msgstr "" #. type: Plain text -#: en/git-add.txt:396 +#: en/config.txt:451 msgid "" -"You may also add new content that does not exist in the patch; simply add " -"new lines, each starting with \"{plus}\". The addition will appear reverted " -"in the working tree." +"If true, makes Git check if converting `CRLF` is reversible when end-of-line " +"conversion is active. Git will verify if a command modifies a file in the " +"work tree either directly or indirectly. For example, committing a file " +"followed by checking out the same file should yield the original file in the " +"work tree. If this is not the case for the current setting of " +"`core.autocrlf`, Git will reject the file. The variable can be set to " +"\"warn\", in which case Git will only warn about an irreversible conversion " +"but continue the operation." msgstr "" #. type: Plain text -#: en/git-add.txt:400 +#: en/config.txt:460 msgid "" -"There are also several operations which should be avoided entirely, as they " -"will make the patch impossible to apply:" -msgstr "" - -#. type: Plain text -#: en/git-add.txt:402 -msgid "adding context (\" \") or removal (\"-\") lines" +"CRLF conversion bears a slight chance of corrupting data. When it is " +"enabled, Git will convert CRLF to LF during commit and LF to CRLF during " +"checkout. A file that contains a mixture of LF and CRLF before the commit " +"cannot be recreated by Git. For text files this is the right thing to do: " +"it corrects line endings such that we have only LF line endings in the " +"repository. But for binary files that are accidentally classified as text " +"the conversion can corrupt data." msgstr "" #. type: Plain text -#: en/git-add.txt:403 -msgid "deleting context or removal lines" +#: en/config.txt:467 +msgid "" +"If you recognize such corruption early you can easily fix it by setting the " +"conversion type explicitly in .gitattributes. Right after committing you " +"still have the original file in your work tree and this file is not yet " +"corrupted. You can explicitly tell Git that this file is binary and Git " +"will handle the file appropriately." msgstr "" #. type: Plain text -#: en/git-add.txt:404 -msgid "modifying the contents of context or removal lines" +#: en/config.txt:474 +msgid "" +"Unfortunately, the desired effect of cleaning up text files with mixed line " +"endings and the undesired effect of corrupting binary files cannot be " +"distinguished. In both cases CRLFs are removed in an irreversible way. For " +"text files this is the right thing to do because CRLFs are line endings, " +"while for binary files converting CRLFs corrupts data." msgstr "" #. type: Plain text -#: en/git-add.txt:413 +#: en/config.txt:485 msgid "" -"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] " -"linkgit:git-mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" +"Note, this safety check does not mean that a checkout will generate a file " +"identical to the original file for a different setting of `core.eol` and " +"`core.autocrlf`, but only for the current one. For example, a text file " +"with `LF` would be accepted with `core.eol=lf` and could later be checked " +"out with `core.eol=crlf`, in which case the resulting file would contain " +"`CRLF`, although the original file contained `LF`. However, in both work " +"trees the line endings would be consistent, that is either all `LF` or all " +"`CRLF`, but never mixed. A file with mixed line endings would be reported " +"by the `core.safecrlf` mechanism." msgstr "" -#. type: Title = -#: en/git-am.txt:2 +#. type: Labeled list +#: en/config.txt:486 #, no-wrap -msgid "git-am(1)" +msgid "core.autocrlf" msgstr "" #. type: Plain text -#: en/git-am.txt:7 -msgid "git-am - Apply a series of patches from a mailbox" +#: en/config.txt:493 +msgid "" +"Setting this variable to \"true\" is the same as setting the `text` " +"attribute to \"auto\" on all files and core.eol to \"crlf\". Set to true if " +"you want to have `CRLF` line endings in your working directory and the " +"repository has LF line endings. This variable can be set to 'input', in " +"which case no output conversion is performed." msgstr "" -#. type: Plain text -#: en/git-am.txt:20 +#. type: Labeled list +#: en/config.txt:494 #, no-wrap -msgid "" -"'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]\n" -"\t [--[no-]3way] [--interactive] [--committer-date-is-author-date]\n" -"\t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n" -"\t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]\n" -"\t [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]\n" -"\t [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]\n" -"\t [(<mbox> | <Maildir>)...]\n" -"'git am' (--continue | --skip | --abort)\n" +msgid "core.symlinks" msgstr "" #. type: Plain text -#: en/git-am.txt:26 +#: en/config.txt:500 msgid "" -"Splits mail messages in a mailbox into commit log message, authorship " -"information and patches, and applies them to the current branch." -msgstr "" - -#. type: Labeled list -#: en/git-am.txt:30 -#, no-wrap -msgid "(<mbox>|<Maildir>)..." +"If false, symbolic links are checked out as small plain files that contain " +"the link text. linkgit:git-update-index[1] and linkgit:git-add[1] will not " +"change the recorded type to regular file. Useful on filesystems like FAT " +"that do not support symbolic links." msgstr "" #. type: Plain text -#: en/git-am.txt:34 +#: en/config.txt:504 msgid "" -"The list of mailbox files to read patches from. If you do not supply this " -"argument, the command reads from the standard input. If you supply " -"directories, they will be treated as Maildirs." +"The default is true, except linkgit:git-clone[1] or linkgit:git-init[1] will " +"probe and set core.symlinks false if appropriate when the repository is " +"created." msgstr "" #. type: Labeled list -#: en/git-am.txt:35 en/git-blame.txt:74 en/git-cat-file.txt:40 en/git-cherry-pick.txt:100 en/git-clone.txt:66 en/git-commit.txt:159 en/git-diff-tree.txt:75 en/git-format-patch.txt:113 en/git-ls-files.txt:58 en/git-revert.txt:89 en/git-shortlog.txt:34 en/git-show-ref.txt:53 en/git-status.txt:27 en/git-stripspace.txt:38 en/git-svn.txt:46 en/git-tag.txt:63 en/git-verify-pack.txt:31 en/diff-options.txt:30 +#: en/config.txt:505 #, no-wrap -msgid "-s" +msgid "core.gitProxy" msgstr "" -#. type: Labeled list -#: en/git-am.txt:36 en/git-cherry-pick.txt:101 en/git-commit.txt:160 en/git-format-patch.txt:114 en/git-revert.txt:90 -#, no-wrap -msgid "--signoff" +#. type: Plain text +#: en/config.txt:513 +msgid "" +"A \"proxy command\" to execute (as 'command host port') instead of " +"establishing direct connection to the remote server when using the Git " +"protocol for fetching. If the variable value is in the \"COMMAND for " +"DOMAIN\" format, the command is applied only on hostnames ending with the " +"specified domain string. This variable may be set multiple times and is " +"matched in the given order; the first match wins." msgstr "" #. type: Plain text -#: en/git-am.txt:40 +#: en/config.txt:517 msgid "" -"Add a `Signed-off-by:` line to the commit message, using the committer " -"identity of yourself. See the signoff option in linkgit:git-commit[1] for " -"more information." +"Can be overridden by the `GIT_PROXY_COMMAND` environment variable (which " +"always applies universally, without the special \"for\" handling)." msgstr "" -#. type: Labeled list -#: en/git-am.txt:41 en/git-cvsexportcommit.txt:67 en/git-cvsimport.txt:93 en/git-fetch-pack.txt:53 en/git-format-patch.txt:108 en/git-ls-files.txt:73 en/git-mailinfo.txt:27 en/git-mv.txt:34 en/git-repack.txt:139 en/fetch-options.txt:58 -#, no-wrap -msgid "-k" +#. type: Plain text +#: en/config.txt:522 +msgid "" +"The special string `none` can be used as the proxy command to specify that " +"no proxy be used for a given domain pattern. This is useful for excluding " +"servers inside a firewall from proxy use, while defaulting to a common proxy " +"for external domains." msgstr "" #. type: Labeled list -#: en/git-am.txt:42 en/git-fetch-pack.txt:54 en/git-index-pack.txt:54 en/git-reset.txt:82 en/fetch-options.txt:59 +#: en/config.txt:523 #, no-wrap -msgid "--keep" +msgid "core.sshCommand" msgstr "" #. type: Plain text -#: en/git-am.txt:44 -msgid "Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +#: en/config.txt:529 +msgid "" +"If this variable is set, `git fetch` and `git push` will use the specified " +"command instead of `ssh` when they need to connect to a remote system. The " +"command is in the same form as the `GIT_SSH_COMMAND` environment variable " +"and is overridden when the environment variable is set." msgstr "" #. type: Labeled list -#: en/git-am.txt:45 +#: en/config.txt:530 #, no-wrap -msgid "--keep-non-patch" +msgid "core.ignoreStat" msgstr "" #. type: Plain text -#: en/git-am.txt:47 -msgid "Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +#: en/config.txt:534 +msgid "" +"If true, Git will avoid using lstat() calls to detect if files have changed " +"by setting the \"assume-unchanged\" bit for those tracked files which it has " +"updated identically in both the index and working tree." msgstr "" -#. type: Labeled list -#: en/git-am.txt:48 -#, no-wrap -msgid "--[no-]keep-cr" +#. type: Plain text +#: en/config.txt:539 +msgid "" +"When files are modified outside of Git, the user will need to stage the " +"modified files explicitly (e.g. see 'Examples' section in " +"linkgit:git-update-index[1]). Git will not normally detect changes to those " +"files." msgstr "" #. type: Plain text -#: en/git-am.txt:53 +#: en/config.txt:542 msgid "" -"With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1]) with " -"the same option, to prevent it from stripping CR at the end of " -"lines. `am.keepcr` configuration variable can be used to specify the default " -"behaviour. `--no-keep-cr` is useful to override `am.keepcr`." +"This is useful on systems where lstat() calls are very slow, such as " +"CIFS/Microsoft Windows." msgstr "" -#. type: Labeled list -#: en/git-am.txt:54 en/git-blame.txt:52 en/git-cvsexportcommit.txt:37 en/git-diff-files.txt:37 en/git-diff-tree.txt:91 en/git-grep.txt:201 en/git-http-fetch.txt:27 en/git-ls-files.txt:35 en/git-shortlog.txt:50 en/git-stripspace.txt:42 en/rev-list-options.txt:866 -#, no-wrap -msgid "-c" +#. type: Plain text +#: en/config.txt:544 +msgid "False by default." msgstr "" #. type: Labeled list -#: en/git-am.txt:55 en/git-mailinfo.txt:74 +#: en/config.txt:545 #, no-wrap -msgid "--scissors" +msgid "core.preferSymlinkRefs" msgstr "" #. type: Plain text -#: en/git-am.txt:59 +#: en/config.txt:550 msgid "" -"Remove everything in body before a scissors line (see " -"linkgit:git-mailinfo[1]). Can be activated by default using the " -"`mailinfo.scissors` configuration variable." +"Instead of the default \"symref\" format for HEAD and other symbolic " +"reference files, use symbolic links. This is sometimes needed to work with " +"old scripts that expect HEAD to be a symbolic link." msgstr "" #. type: Labeled list -#: en/git-am.txt:60 en/git-mailinfo.txt:90 +#: en/config.txt:551 #, no-wrap -msgid "--no-scissors" +msgid "core.bare" msgstr "" #. type: Plain text -#: en/git-am.txt:62 -msgid "Ignore scissors lines (see linkgit:git-mailinfo[1])." +#: en/config.txt:556 +msgid "" +"If true this repository is assumed to be 'bare' and has no working directory " +"associated with it. If this is the case a number of commands that require a " +"working directory will be disabled, such as linkgit:git-add[1] or " +"linkgit:git-merge[1]." msgstr "" -#. type: Labeled list -#: en/git-am.txt:63 en/git-branch.txt:107 en/git-checkout.txt:216 en/git-cvsexportcommit.txt:60 en/git-cvsimport.txt:118 en/git-diff-index.txt:32 en/git-diff-tree.txt:69 en/git-help.txt:56 en/git-instaweb.txt:35 en/git-ls-files.txt:43 en/git-mailinfo.txt:69 en/git-read-tree.txt:34 en/git-rebase.txt:270 en/git-svn.txt:292 en/git-svn.txt:637 en/git-symbolic-ref.txt:49 en/rev-list-options.txt:879 -#, no-wrap -msgid "-m" +#. type: Plain text +#: en/config.txt:561 +msgid "" +"This setting is automatically guessed by linkgit:git-clone[1] or " +"linkgit:git-init[1] when the repository was created. By default a " +"repository that ends in \"/.git\" is assumed to be not bare (bare = false), " +"while all other repositories are assumed to be bare (bare" msgstr "" -#. type: Labeled list -#: en/git-am.txt:64 en/git-mailinfo.txt:70 +#. type: Title = +#: en/config.txt:561 #, no-wrap -msgid "--message-id" -msgstr "" - -#. type: Plain text -#: en/git-am.txt:69 -msgid "" -"Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]), so that " -"the Message-ID header is added to the commit message. The `am.messageid` " -"configuration variable can be used to specify the default behaviour." +msgid "true)." msgstr "" #. type: Labeled list -#: en/git-am.txt:70 +#: en/config.txt:563 #, no-wrap -msgid "--no-message-id" +msgid "core.worktree" msgstr "" #. type: Plain text -#: en/git-am.txt:73 +#: en/config.txt:576 msgid "" -"Do not add the Message-ID header to the commit message. `no-message-id` is " -"useful to override `am.messageid`." +"Set the path to the root of the working tree. If `GIT_COMMON_DIR` " +"environment variable is set, core.worktree is ignored and not used for " +"determining the root of working tree. This can be overridden by the " +"`GIT_WORK_TREE` environment variable and the `--work-tree` command-line " +"option. The value can be an absolute path or relative to the path to the " +".git directory, which is either specified by --git-dir or GIT_DIR, or " +"automatically discovered. If --git-dir or GIT_DIR is specified but none of " +"--work-tree, GIT_WORK_TREE and core.worktree is specified, the current " +"working directory is regarded as the top level of your working tree." msgstr "" -#. type: Labeled list -#: en/git-am.txt:74 en/git-branch.txt:157 en/git-checkout-index.txt:30 en/git-checkout.txt:106 en/git-clean.txt:51 en/git-clone.txt:119 en/git-commit.txt:306 en/git-diff-files.txt:44 en/git-fetch-pack.txt:48 en/git-format-patch.txt:260 en/git-grep.txt:280 en/git-imap-send.txt:36 en/git-init.txt:43 en/git-ls-remote.txt:36 en/git-merge-file.txt:67 en/git-merge-index.txt:35 en/git-notes.txt:206 en/git-pack-objects.txt:158 en/git-prune-packed.txt:36 en/git-pull.txt:77 en/git-push.txt:258 en/git-rebase.txt:306 en/git-repack.txt:73 en/git-reset.txt:96 en/git-rev-parse.txt:113 en/git-rm.txt:66 en/git-show-ref.txt:70 en/git-submodule.txt:271 en/git-svn.txt:632 en/git-symbolic-ref.txt:39 en/git-unpack-objects.txt:34 en/git-update-index.txt:56 en/fetch-options.txt:159 en/merge-options.txt:104 -#, no-wrap -msgid "-q" +#. type: Plain text +#: en/config.txt:586 +msgid "" +"Note that this variable is honored even when set in a configuration file in " +"a \".git\" subdirectory of a directory and its value differs from the latter " +"directory (e.g. \"/path/to/.git/config\" has core.worktree set to " +"\"/different/path\"), which is most likely a misconfiguration. Running Git " +"commands in the \"/path/to\" directory will still use \"/different/path\" as " +"the root of the work tree and can cause confusion unless you know what you " +"are doing (e.g. you are creating a read-only snapshot of the same index to a " +"location different from the repository's usual working tree)." msgstr "" #. type: Labeled list -#: en/git-am.txt:75 en/git-branch.txt:158 en/git-checkout-index.txt:31 en/git-checkout.txt:107 en/git-clean.txt:52 en/git-clone.txt:118 en/git-commit.txt:307 en/git-fast-import.txt:42 en/git-fetch-pack.txt:49 en/git-format-patch.txt:261 en/git-gc.txt:74 en/git-grep.txt:281 en/git-imap-send.txt:37 en/git-init.txt:44 en/git-ls-remote.txt:37 en/git-notes.txt:207 en/git-prune-packed.txt:37 en/git-pull.txt:78 en/git-push.txt:259 en/git-rebase.txt:307 en/git-reset.txt:97 en/git-rev-parse.txt:114 en/git-rm.txt:67 en/git-send-email.txt:371 en/git-show-ref.txt:71 en/git-submodule.txt:272 en/git-svn.txt:633 en/git-symbolic-ref.txt:40 en/diff-options.txt:557 en/fetch-options.txt:160 en/merge-options.txt:105 en/rev-list-options.txt:201 +#: en/config.txt:587 #, no-wrap -msgid "--quiet" +msgid "core.logAllRefUpdates" msgstr "" #. type: Plain text -#: en/git-am.txt:77 -msgid "Be quiet. Only print error messages." -msgstr "" - -#. type: Labeled list -#: en/git-am.txt:79 -#, no-wrap -msgid "--utf8" +#: en/config.txt:598 +msgid "" +"Enable the reflog. Updates to a ref <ref> is logged to the file " +"\"`$GIT_DIR/logs/<ref>`\", by appending the new and old SHA-1, the date/time " +"and the reason of the update, but only when the file exists. If this " +"configuration variable is set to `true`, missing \"`$GIT_DIR/logs/<ref>`\" " +"file is automatically created for branch heads (i.e. under `refs/heads/`), " +"remote refs (i.e. under `refs/remotes/`), note refs (i.e. under " +"`refs/notes/`), and the symbolic ref `HEAD`. If it is set to `always`, then " +"a missing reflog is automatically created for any ref under `refs/`." msgstr "" #. type: Plain text -#: en/git-am.txt:85 +#: en/config.txt:601 msgid "" -"Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]). The " -"proposed commit log message taken from the e-mail is re-coded into UTF-8 " -"encoding (configuration variable `i18n.commitencoding` can be used to " -"specify project's preferred encoding if it is not UTF-8)." +"This information can be used to determine what commit was the tip of a " +"branch \"2 days ago\"." msgstr "" #. type: Plain text -#: en/git-am.txt:88 -#, no-wrap +#: en/config.txt:605 msgid "" -"This was optional in prior versions of git, but now it is the\n" -"default. You can use `--no-utf8` to override this.\n" +"This value is true by default in a repository that has a working directory " +"associated with it, and false by default in a bare repository." msgstr "" #. type: Labeled list -#: en/git-am.txt:89 +#: en/config.txt:606 #, no-wrap -msgid "--no-utf8" +msgid "core.repositoryFormatVersion" msgstr "" #. type: Plain text -#: en/git-am.txt:92 -msgid "Pass `-n` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." +#: en/config.txt:609 +msgid "Internal variable identifying the repository format and layout version." msgstr "" #. type: Labeled list -#: en/git-am.txt:93 en/git-apply.txt:77 +#: en/config.txt:610 #, no-wrap -msgid "-3" +msgid "core.sharedRepository" msgstr "" -#. type: Labeled list -#: en/git-am.txt:94 en/git-apply.txt:78 -#, no-wrap -msgid "--3way" +#. type: Plain text +#: en/config.txt:624 +msgid "" +"When 'group' (or 'true'), the repository is made shareable between several " +"users in a group (making sure all the files and objects are " +"group-writable). When 'all' (or 'world' or 'everybody'), the repository will " +"be readable by all users, additionally to being group-shareable. When " +"'umask' (or 'false'), Git will use permissions reported by umask(2). When " +"'0xxx', where '0xxx' is an octal number, files in the repository will have " +"this mode value. '0xxx' will override user's umask value (whereas the other " +"options will only override requested parts of the user's umask " +"value). Examples: '0660' will make the repo read/write-able for the owner " +"and group, but inaccessible to others (equivalent to 'group' unless umask is " +"e.g. '0022'). '0640' is a repository that is group-readable but not " +"group-writable. See linkgit:git-init[1]. False by default." msgstr "" #. type: Labeled list -#: en/git-am.txt:95 +#: en/config.txt:625 #, no-wrap -msgid "--no-3way" +msgid "core.warnAmbiguousRefs" msgstr "" #. type: Plain text -#: en/git-am.txt:102 +#: en/config.txt:628 msgid "" -"When the patch does not apply cleanly, fall back on 3-way merge if the patch " -"records the identity of blobs it is supposed to apply to and we have those " -"blobs available locally. `--no-3way` can be used to override am.threeWay " -"configuration variable. For more information, see am.threeWay in " -"linkgit:git-config[1]." -msgstr "" - -#. type: Labeled list -#: en/git-am.txt:103 en/git-apply.txt:172 en/diff-options.txt:526 -#, no-wrap -msgid "--ignore-space-change" +"If true, Git will warn you if the ref name you passed it is ambiguous and " +"might match multiple refs in the repository. True by default." msgstr "" #. type: Labeled list -#: en/git-am.txt:104 en/git-apply.txt:173 en/git-rebase.txt:361 +#: en/config.txt:629 #, no-wrap -msgid "--ignore-whitespace" +msgid "core.compression" msgstr "" -#. type: Labeled list -#: en/git-am.txt:105 en/git-rebase.txt:362 -#, no-wrap -msgid "--whitespace=<option>" +#. type: Plain text +#: en/config.txt:635 +msgid "" +"An integer -1..9, indicating a default compression level. -1 is the zlib " +"default. 0 means no compression, and 1..9 are various speed/size tradeoffs, " +"9 being slowest. If set, this provides a default to other compression " +"variables, such as `core.looseCompression` and `pack.compression`." msgstr "" #. type: Labeled list -#: en/git-am.txt:106 en/git-apply.txt:119 en/git-rebase.txt:329 +#: en/config.txt:636 #, no-wrap -msgid "-C<n>" +msgid "core.looseCompression" msgstr "" -#. type: Labeled list -#: en/git-am.txt:107 en/git-apply.txt:115 -#, no-wrap -msgid "-p<n>" +#. type: Plain text +#: en/config.txt:642 +msgid "" +"An integer -1..9, indicating the compression level for objects that are not " +"in a pack file. -1 is the zlib default. 0 means no compression, and 1..9 are " +"various speed/size tradeoffs, 9 being slowest. If not set, defaults to " +"core.compression. If that is not set, defaults to 1 (best speed)." msgstr "" #. type: Labeled list -#: en/git-am.txt:108 +#: en/config.txt:643 #, no-wrap -msgid "--directory=<dir>" +msgid "core.packedGitWindowSize" msgstr "" -#. type: Labeled list -#: en/git-am.txt:109 -#, no-wrap -msgid "--exclude=<path>" +#. type: Plain text +#: en/config.txt:651 +msgid "" +"Number of bytes of a pack file to map into memory in a single mapping " +"operation. Larger window sizes may allow your system to process a smaller " +"number of large pack files more quickly. Smaller window sizes will " +"negatively affect performance due to increased calls to the operating " +"system's memory manager, but may improve performance when accessing a large " +"number of large pack files." msgstr "" -#. type: Labeled list -#: en/git-am.txt:110 -#, no-wrap -msgid "--include=<path>" +#. type: Plain text +#: en/config.txt:656 +msgid "" +"Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 MiB on 32 " +"bit platforms and 1 GiB on 64 bit platforms. This should be reasonable for " +"all users/operating systems. You probably do not need to adjust this value." +msgstr "" + +#. type: Plain text +#: en/config.txt:658 en/config.txt:670 en/config.txt:683 en/config.txt:696 +msgid "Common unit suffixes of 'k', 'm', or 'g' are supported." msgstr "" #. type: Labeled list -#: en/git-am.txt:111 en/git-apply.txt:100 +#: en/config.txt:659 #, no-wrap -msgid "--reject" +msgid "core.packedGitLimit" msgstr "" #. type: Plain text -#: en/git-am.txt:115 +#: en/config.txt:664 msgid "" -"These flags are passed to the 'git apply' (see linkgit:git-apply[1]) " -"program that applies the patch." +"Maximum number of bytes to map simultaneously into memory from pack files. " +"If Git needs to access more than this many bytes at once to complete an " +"operation it will unmap existing regions to reclaim virtual address space " +"within the process." +msgstr "" + +#. type: Plain text +#: en/config.txt:668 +msgid "" +"Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms. This " +"should be reasonable for all users/operating systems, except on the largest " +"projects. You probably do not need to adjust this value." msgstr "" #. type: Labeled list -#: en/git-am.txt:116 +#: en/config.txt:671 #, no-wrap -msgid "--patch-format" +msgid "core.deltaBaseCacheLimit" msgstr "" #. type: Plain text -#: en/git-am.txt:122 +#: en/config.txt:677 msgid "" -"By default the command will try to detect the patch format " -"automatically. This option allows the user to bypass the automatic detection " -"and specify the patch format that the patch(es) should be interpreted " -"as. Valid formats are mbox, mboxrd, stgit, stgit-series and hg." +"Maximum number of bytes to reserve for caching base objects that may be " +"referenced by multiple deltified objects. By storing the entire " +"decompressed base objects in a cache Git is able to avoid unpacking and " +"decompressing frequently used base objects multiple times." msgstr "" #. type: Plain text -#: en/git-am.txt:126 -msgid "Run interactively." +#: en/config.txt:681 +msgid "" +"Default is 96 MiB on all platforms. This should be reasonable for all " +"users/operating systems, except on the largest projects. You probably do " +"not need to adjust this value." msgstr "" #. type: Labeled list -#: en/git-am.txt:127 en/git-rebase.txt:367 +#: en/config.txt:684 #, no-wrap -msgid "--committer-date-is-author-date" +msgid "core.bigFileThreshold" msgstr "" #. type: Plain text -#: en/git-am.txt:133 +#: en/config.txt:690 msgid "" -"By default the command records the date from the e-mail message as the " -"commit author date, and uses the time of commit creation as the committer " -"date. This allows the user to lie about the committer date by using the same " -"value as the author date." +"Files larger than this size are stored deflated, without attempting delta " +"compression. Storing large files without delta compression avoids excessive " +"memory usage, at the slight expense of increased disk usage. Additionally " +"files larger than this size are always treated as binary." +msgstr "" + +#. type: Plain text +#: en/config.txt:694 +msgid "" +"Default is 512 MiB on all platforms. This should be reasonable for most " +"projects as source code and other text files can still be delta compressed, " +"but larger binary media files won't be." msgstr "" #. type: Labeled list -#: en/git-am.txt:134 en/git-rebase.txt:368 +#: en/config.txt:697 #, no-wrap -msgid "--ignore-date" +msgid "core.excludesFile" msgstr "" #. type: Plain text -#: en/git-am.txt:140 +#: en/config.txt:704 msgid "" -"By default the command records the date from the e-mail message as the " -"commit author date, and uses the time of commit creation as the committer " -"date. This allows the user to lie about the author date by using the same " -"value as the committer date." +"Specifies the pathname to the file that contains patterns to describe paths " +"that are not meant to be tracked, in addition to '.gitignore' " +"(per-directory) and '.git/info/exclude'. Defaults to " +"`$XDG_CONFIG_HOME/git/ignore`. If `$XDG_CONFIG_HOME` is either not set or " +"empty, `$HOME/.config/git/ignore` is used instead. See linkgit:gitignore[5]." msgstr "" #. type: Labeled list -#: en/git-am.txt:141 en/git-rebase.txt:264 +#: en/config.txt:705 #, no-wrap -msgid "--skip" +msgid "core.askPass" msgstr "" #. type: Plain text -#: en/git-am.txt:144 +#: en/config.txt:713 msgid "" -"Skip the current patch. This is only meaningful when restarting an aborted " -"patch." +"Some commands (e.g. svn and http interfaces) that interactively ask for a " +"password can be told to use an external program given via the value of this " +"variable. Can be overridden by the `GIT_ASKPASS` environment variable. If " +"not set, fall back to the value of the `SSH_ASKPASS` environment variable " +"or, failing that, a simple password prompt. The external program shall be " +"given a suitable prompt as command-line argument and write the password on " +"its STDOUT." msgstr "" #. type: Labeled list -#: en/git-am.txt:145 en/git-cherry-pick.txt:105 en/git-commit.txt:326 en/git-commit-tree.txt:57 en/git-merge.txt:72 en/git-rebase.txt:300 en/git-revert.txt:83 +#: en/config.txt:714 #, no-wrap -msgid "-S[<keyid>]" +msgid "core.attributesFile" +msgstr "" + +#. type: Plain text +#: en/config.txt:721 +msgid "" +"In addition to '.gitattributes' (per-directory) and '.git/info/attributes', " +"Git looks into this file for attributes (see linkgit:gitattributes[5]). Path " +"expansions are made the same way as for `core.excludesFile`. Its default " +"value is `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either " +"not set or empty, `$HOME/.config/git/attributes` is used instead." msgstr "" #. type: Labeled list -#: en/git-am.txt:146 en/git-cherry-pick.txt:106 en/git-commit.txt:327 en/git-commit-tree.txt:58 en/git-merge.txt:73 en/git-rebase.txt:301 en/git-revert.txt:84 +#: en/config.txt:722 #, no-wrap -msgid "--gpg-sign[=<keyid>]" +msgid "core.hooksPath" msgstr "" #. type: Plain text -#: en/git-am.txt:150 en/git-cherry-pick.txt:110 en/git-commit.txt:331 en/git-commit-tree.txt:62 en/git-rebase.txt:305 en/git-revert.txt:88 +#: en/config.txt:728 msgid "" -"GPG-sign commits. The `keyid` argument is optional and defaults to the " -"committer identity; if specified, it must be stuck to the option without a " -"space." +"By default Git will look for your hooks in the '$GIT_DIR/hooks' " +"directory. Set this to different path, e.g. '/etc/git/hooks', and Git will " +"try to find your hooks in that directory, e.g. '/etc/git/hooks/pre-receive' " +"instead of in '$GIT_DIR/hooks/pre-receive'." msgstr "" -#. type: Labeled list -#: en/git-am.txt:151 en/git-merge.txt:105 en/git-rebase.txt:245 en/sequencer.txt:1 -#, no-wrap -msgid "--continue" +#. type: Plain text +#: en/config.txt:732 +msgid "" +"The path can be either absolute or relative. A relative path is taken as " +"relative to the directory where the hooks are run (see the \"DESCRIPTION\" " +"section of linkgit:githooks[5])." msgstr "" -#. type: Labeled list -#: en/git-am.txt:152 en/git-branch.txt:136 en/git-cherry-pick.txt:74 en/git-diff-tree.txt:39 en/git-ls-tree.txt:44 en/git-pull.txt:103 en/git-rm.txt:49 en/git-show-branch.txt:43 en/git-unpack-objects.txt:38 en/rev-list-options.txt:887 -#, no-wrap -msgid "-r" +#. type: Plain text +#: en/config.txt:738 +msgid "" +"This configuration variable is useful in cases where you'd like to centrally " +"configure your Git hooks instead of configuring them on a per-repository " +"basis, or as a more flexible and centralized alternative to having an " +"`init.templateDir` where you've changed default hooks." msgstr "" #. type: Labeled list -#: en/git-am.txt:153 +#: en/config.txt:739 #, no-wrap -msgid "--resolved" +msgid "core.editor" msgstr "" #. type: Plain text -#: en/git-am.txt:160 +#: en/config.txt:744 msgid "" -"After a patch failure (e.g. attempting to apply conflicting patch), the user " -"has applied it by hand and the index file stores the result of the " -"application. Make a commit using the authorship and commit log extracted " -"from the e-mail message and the current index file, and continue." +"Commands such as `commit` and `tag` that lets you edit messages by launching " +"an editor uses the value of this variable when it is set, and the " +"environment variable `GIT_EDITOR` is not set. See linkgit:git-var[1]." msgstr "" #. type: Labeled list -#: en/git-am.txt:161 +#: en/config.txt:745 #, no-wrap -msgid "--resolvemsg=<msg>" +msgid "core.commentChar" msgstr "" #. type: Plain text -#: en/git-am.txt:167 +#: en/config.txt:750 msgid "" -"When a patch failure occurs, <msg> will be printed to the screen before " -"exiting. This overrides the standard message informing you to use " -"`--continue` or `--skip` to handle the failure. This is solely for internal " -"use between 'git rebase' and 'git am'." +"Commands such as `commit` and `tag` that lets you edit messages consider a " +"line that begins with this character commented, and removes them after the " +"editor returns (default '#')." +msgstr "" + +#. type: Plain text +#: en/config.txt:753 +msgid "" +"If set to \"auto\", `git-commit` would select a character that is not the " +"beginning character of any line in existing commit messages." msgstr "" #. type: Labeled list -#: en/git-am.txt:168 en/git-merge.txt:93 en/git-notes.txt:201 en/git-rebase.txt:248 en/sequencer.txt:11 +#: en/config.txt:754 #, no-wrap -msgid "--abort" +msgid "core.packedRefsTimeout" msgstr "" #. type: Plain text -#: en/git-am.txt:170 -msgid "Restore the original branch and abort the patching operation." +#: en/config.txt:759 +msgid "" +"The length of time, in milliseconds, to retry when trying to lock the " +"`packed-refs` file. Value 0 means not to retry at all; -1 means to try " +"indefinitely. Default is 1000 (i.e., retry for 1 second)." msgstr "" -#. type: Title - -#: en/git-am.txt:172 en/git-commit.txt:444 en/git-format-patch.txt:308 en/git-fsck.txt:100 en/git-log.txt:165 en/git-merge-base.txt:76 en/git-notes.txt:218 en/git-remote.txt:196 en/git-rerere.txt:77 en/git-reset.txt:345 en/git-rm.txt:73 en/git-stash.txt:183 en/git-tag.txt:195 +#. type: Labeled list +#: en/config.txt:760 #, no-wrap -msgid "DISCUSSION" +msgid "sequence.editor" msgstr "" #. type: Plain text -#: en/git-am.txt:180 +#: en/config.txt:765 msgid "" -"The commit author name is taken from the \"From: \" line of the message, and " -"commit author date is taken from the \"Date: \" line of the message. The " -"\"Subject: \" line is used as the title of the commit, after stripping " -"common prefix \"[PATCH <anything>]\". The \"Subject: \" line is supposed to " -"concisely describe what the commit is about in one line of text." +"Text editor used by `git rebase -i` for editing the rebase instruction " +"file. The value is meant to be interpreted by the shell when it is used. " +"It can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable. " +"When not configured the default commit message editor is used instead." msgstr "" -#. type: Plain text -#: en/git-am.txt:183 -msgid "" -"\"From: \" and \"Subject: \" lines starting the body override the respective " -"commit author name and title values taken from the headers." +#. type: Labeled list +#: en/config.txt:766 +#, no-wrap +msgid "core.pager" msgstr "" #. type: Plain text -#: en/git-am.txt:188 +#: en/config.txt:772 en/git-var.txt:58 msgid "" -"The commit message is formed by the title taken from the \"Subject: \", a " -"blank line and the body of the message up to where the patch begins. Excess " -"whitespace at the end of each line is automatically stripped." +"Text viewer for use by Git commands (e.g., 'less'). The value is meant to " +"be interpreted by the shell. The order of preference is the `$GIT_PAGER` " +"environment variable, then `core.pager` configuration, then `$PAGER`, and " +"then the default chosen at compile time (usually 'less')." msgstr "" #. type: Plain text -#: en/git-am.txt:191 +#: en/config.txt:786 msgid "" -"The patch is expected to be inline, directly following the message. Any " -"line that is of the form:" +"When the `LESS` environment variable is unset, Git sets it to `FRX` (if " +"`LESS` environment variable is set, Git does not change it at all). If you " +"want to selectively override Git's default setting for `LESS`, you can set " +"`core.pager` to e.g. `less -S`. This will be passed to the shell by Git, " +"which will translate the final command to `LESS=FRX less -S`. The " +"environment does not set the `S` option but the command line does, " +"instructing less to truncate long lines. Similarly, setting `core.pager` to " +"`less -+F` will deactivate the `F` option specified by the environment from " +"the command-line, deactivating the \"quit if one screen\" behavior of " +"`less`. One can specifically activate some flags for particular commands: " +"for example, setting `pager.blame` to `less -S` enables line truncation only " +"for `git blame`." msgstr "" #. type: Plain text -#: en/git-am.txt:193 -msgid "three-dashes and end-of-line, or" +#: en/config.txt:790 +msgid "" +"Likewise, when the `LV` environment variable is unset, Git sets it to `-c`. " +"You can override this setting by exporting `LV` with another value or " +"setting `core.pager` to `lv +c`." msgstr "" -#. type: Plain text -#: en/git-am.txt:194 -msgid "a line that begins with \"diff -\", or" +#. type: Labeled list +#: en/config.txt:791 +#, no-wrap +msgid "core.whitespace" msgstr "" #. type: Plain text -#: en/git-am.txt:195 -msgid "a line that begins with \"Index: \"" +#: en/config.txt:797 +msgid "" +"A comma separated list of common whitespace problems to notice. 'git diff' " +"will use `color.diff.whitespace` to highlight them, and 'git apply " +"--whitespace=error' will consider them as errors. You can prefix `-` to " +"disable any of them (e.g. `-trailing-space`):" msgstr "" #. type: Plain text -#: en/git-am.txt:198 +#: en/config.txt:800 msgid "" -"is taken as the beginning of a patch, and the commit log message is " -"terminated before the first occurrence of such a line." +"`blank-at-eol` treats trailing whitespaces at the end of the line as an " +"error (enabled by default)." msgstr "" #. type: Plain text -#: en/git-am.txt:202 +#: en/config.txt:803 msgid "" -"When initially invoking `git am`, you give it the names of the mailboxes to " -"process. Upon seeing the first patch that does not apply, it aborts in the " -"middle. You can recover from this in one of two ways:" +"`space-before-tab` treats a space character that appears immediately before " +"a tab character in the initial indent part of the line as an error (enabled " +"by default)." msgstr "" #. type: Plain text -#: en/git-am.txt:205 -msgid "skip the current patch by re-running the command with the `--skip` option." +#: en/config.txt:806 +msgid "" +"`indent-with-non-tab` treats a line that is indented with space characters " +"instead of the equivalent tabs as an error (not enabled by default)." msgstr "" #. type: Plain text -#: en/git-am.txt:209 +#: en/config.txt:808 msgid "" -"hand resolve the conflict in the working directory, and update the index " -"file to bring it into a state that the patch should have produced. Then run " -"the command with the `--continue` option." +"`tab-in-indent` treats a tab character in the initial indent part of the " +"line as an error (not enabled by default)." msgstr "" #. type: Plain text -#: en/git-am.txt:214 +#: en/config.txt:810 msgid "" -"The command refuses to process new mailboxes until the current operation is " -"finished, so if you decide to start over from scratch, run `git am --abort` " -"before running the command with mailbox names." +"`blank-at-eof` treats blank lines added at the end of file as an error " +"(enabled by default)." msgstr "" #. type: Plain text -#: en/git-am.txt:220 +#: en/config.txt:812 msgid "" -"Before any patches are applied, ORIG_HEAD is set to the tip of the current " -"branch. This is useful if you have problems with multiple commits, like " -"running 'git am' on the wrong branch or an error in the commits that is more " -"easily fixed by changing the mailbox (e.g. errors in the \"From:\" lines)." -msgstr "" - -#. type: Title - -#: en/git-am.txt:222 en/git-commit.txt:464 en/git-gc.txt:171 -#, no-wrap -msgid "HOOKS" +"`trailing-space` is a short-hand to cover both `blank-at-eol` and " +"`blank-at-eof`." msgstr "" #. type: Plain text -#: en/git-am.txt:226 +#: en/config.txt:816 msgid "" -"This command can run `applypatch-msg`, `pre-applypatch`, and " -"`post-applypatch` hooks. See linkgit:githooks[5] for more information." +"`cr-at-eol` treats a carriage-return at the end of line as part of the line " +"terminator, i.e. with it, `trailing-space` does not trigger if the character " +"before such a carriage-return is not a whitespace (not enabled by default)." msgstr "" #. type: Plain text -#: en/git-am.txt:230 -msgid "linkgit:git-apply[1]." +#: en/config.txt:819 +msgid "" +"`tabwidth=<n>` tells how many character positions a tab occupies; this is " +"relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent` " +"errors. The default tab width is 8. Allowed values are 1 to 63." msgstr "" -#. type: Title = -#: en/git-annotate.txt:2 +#. type: Labeled list +#: en/config.txt:820 #, no-wrap -msgid "git-annotate(1)" +msgid "core.fsyncObjectFiles" msgstr "" #. type: Plain text -#: en/git-annotate.txt:7 -msgid "git-annotate - Annotate file lines with commit information" +#: en/config.txt:822 +msgid "This boolean will enable 'fsync()' when writing object files." msgstr "" #. type: Plain text -#: en/git-annotate.txt:12 +#: en/config.txt:827 +msgid "" +"This is a total waste of time and effort on a filesystem that orders data " +"writes properly, but can be useful for filesystems that do not use " +"journalling (traditional UNIX filesystems) or that only journal metadata and " +"not file contents (OS X's HFS+, or Linux ext3 with \"data=writeback\")." +msgstr "" + +#. type: Labeled list +#: en/config.txt:828 #, no-wrap -msgid "'git annotate' [options] file [revision]\n" +msgid "core.preloadIndex" msgstr "" #. type: Plain text -#: en/git-annotate.txt:17 -msgid "" -"Annotates each line in the given file with information from the commit which " -"introduced the line. Optionally annotates from a given revision." +#: en/config.txt:830 +msgid "Enable parallel index preload for operations like 'git diff'" msgstr "" #. type: Plain text -#: en/git-annotate.txt:22 +#: en/config.txt:836 msgid "" -"The only difference between this command and linkgit:git-blame[1] is that " -"they use slightly different output formats, and this command exists only for " -"backward compatibility to support existing scripts, and provide a more " -"familiar command name for people coming from other SCM systems." +"This can speed up operations like 'git diff' and 'git status' especially on " +"filesystems like NFS that have weak caching semantics and thus relatively " +"high IO latencies. When enabled, Git will do the index comparison to the " +"filesystem data in parallel, allowing overlapping IO's. Defaults to true." msgstr "" #. type: Labeled list -#: en/git-annotate.txt:31 en/cmds-ancillaryinterrogators.txt:4 +#: en/config.txt:837 #, no-wrap -msgid "linkgit:git-blame[1]" +msgid "core.createObject" msgstr "" -#. type: Title = -#: en/git-apply.txt:2 -#, no-wrap -msgid "git-apply(1)" +#. type: Plain text +#: en/config.txt:841 +msgid "" +"You can set this to 'link', in which case a hardlink followed by a delete of " +"the source are used to make sure that object creation will not overwrite " +"existing objects." msgstr "" #. type: Plain text -#: en/git-apply.txt:7 -msgid "git-apply - Apply a patch to files and/or to the index" +#: en/config.txt:845 +msgid "" +"On some file system/operating system combinations, this is unreliable. Set " +"this config setting to 'rename' there; However, This will remove the check " +"that makes sure that existing object files will not get overwritten." msgstr "" -#. type: Plain text -#: en/git-apply.txt:20 +#. type: Labeled list +#: en/config.txt:846 en/git-notes.txt:313 #, no-wrap -msgid "" -"'git apply' [--stat] [--numstat] [--summary] [--check] [--index] [--3way]\n" -"\t [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]\n" -"\t [--allow-binary-replacement | --binary] [--reject] [-z]\n" -"\t [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]\n" -"\t [--ignore-space-change | --ignore-whitespace]\n" -"\t [--whitespace=(nowarn|warn|fix|error|error-all)]\n" -"\t [--exclude=<path>] [--include=<path>] [--directory=<root>]\n" -"\t [--verbose] [--unsafe-paths] [<patch>...]\n" +msgid "core.notesRef" msgstr "" #. type: Plain text -#: en/git-apply.txt:30 +#: en/config.txt:851 msgid "" -"Reads the supplied diff output (i.e. \"a patch\") and applies it to files. " -"When running from a subdirectory in a repository, patched paths outside the " -"directory are ignored. With the `--index` option the patch is also applied " -"to the index, and with the `--cached` option the patch is only applied to " -"the index. Without these options, the command applies the patch only to " -"files, and does not require them to be in a Git repository." +"When showing commit messages, also show notes which are stored in the given " +"ref. The ref must be fully qualified. If the given ref does not exist, it " +"is not an error but means that no notes should be printed." msgstr "" #. type: Plain text -#: en/git-apply.txt:34 +#: en/config.txt:854 msgid "" -"This command applies the patch but does not create a commit. Use " -"linkgit:git-am[1] to create commits from patches generated by " -"linkgit:git-format-patch[1] and/or received by email." +"This setting defaults to \"refs/notes/commits\", and it can be overridden by " +"the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1]." msgstr "" #. type: Labeled list -#: en/git-apply.txt:37 +#: en/config.txt:855 #, no-wrap -msgid "<patch>..." +msgid "core.sparseCheckout" msgstr "" #. type: Plain text -#: en/git-apply.txt:40 +#: en/config.txt:858 msgid "" -"The files to read the patch from. '-' can be used to read from the standard " -"input." +"Enable \"sparse checkout\" feature. See section \"Sparse checkout\" in " +"linkgit:git-read-tree[1] for more information." msgstr "" #. type: Labeled list -#: en/git-apply.txt:41 en/git-rebase.txt:314 en/merge-options.txt:55 +#: en/config.txt:859 #, no-wrap -msgid "--stat" +msgid "core.abbrev" msgstr "" #. type: Plain text -#: en/git-apply.txt:44 +#: en/config.txt:865 msgid "" -"Instead of applying the patch, output diffstat for the input. Turns off " -"\"apply\"." +"Set the length object names are abbreviated to. If unspecified or set to " +"\"auto\", an appropriate value is computed based on the approximate number " +"of packed objects in your repository, which hopefully is enough for " +"abbreviated object names to stay unique for some time." msgstr "" #. type: Labeled list -#: en/git-apply.txt:45 en/diff-options.txt:116 +#: en/config.txt:866 #, no-wrap -msgid "--numstat" -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:51 -msgid "" -"Similar to `--stat`, but shows the number of added and deleted lines in " -"decimal notation and the pathname without abbreviation, to make it more " -"machine friendly. For binary files, outputs two `-` instead of saying `0 " -"0`. Turns off \"apply\"." +msgid "add.ignoreErrors" msgstr "" #. type: Labeled list -#: en/git-apply.txt:52 en/git-shortlog.txt:35 en/diff-options.txt:172 en/merge-options.txt:98 +#: en/config.txt:867 #, no-wrap -msgid "--summary" +msgid "add.ignore-errors (deprecated)" msgstr "" #. type: Plain text -#: en/git-apply.txt:57 +#: en/config.txt:873 msgid "" -"Instead of applying the patch, output a condensed summary of information " -"obtained from git diff extended headers, such as creations, renames and mode " -"changes. Turns off \"apply\"." +"Tells 'git add' to continue adding files when some files cannot be added due " +"to indexing errors. Equivalent to the `--ignore-errors` option of " +"linkgit:git-add[1]. `add.ignore-errors` is deprecated, as it does not " +"follow the usual naming convention for configuration variables." msgstr "" #. type: Labeled list -#: en/git-apply.txt:58 en/diff-options.txt:292 +#: en/config.txt:874 #, no-wrap -msgid "--check" +msgid "alias.*" msgstr "" #. type: Plain text -#: en/git-apply.txt:62 +#: en/config.txt:882 msgid "" -"Instead of applying the patch, see if the patch is applicable to the current " -"working tree and/or the index file and detects errors. Turns off \"apply\"." -msgstr "" - -#. type: Labeled list -#: en/git-apply.txt:63 en/git-checkout-index.txt:26 -#, no-wrap -msgid "--index" +"Command aliases for the linkgit:git[1] command wrapper - e.g. after " +"defining \"alias.last = cat-file commit HEAD\", the invocation \"git last\" " +"is equivalent to \"git cat-file commit HEAD\". To avoid confusion and " +"troubles with script usage, aliases that hide existing Git commands are " +"ignored. Arguments are split by spaces, the usual shell quoting and escaping " +"is supported. A quote pair or a backslash can be used to quote them." msgstr "" #. type: Plain text -#: en/git-apply.txt:71 +#: en/config.txt:892 msgid "" -"When `--check` is in effect, or when applying the patch (which is the " -"default when none of the options that disables it is in effect), make sure " -"the patch is applicable to what the current index file records. If the file " -"to be patched in the working tree is not up-to-date, it is flagged as an " -"error. This flag also causes the index file to be updated." +"If the alias expansion is prefixed with an exclamation point, it will be " +"treated as a shell command. For example, defining \"alias.new = !gitk --all " +"--not ORIG_HEAD\", the invocation \"git new\" is equivalent to running the " +"shell command \"gitk --all --not ORIG_HEAD\". Note that shell commands will " +"be executed from the top-level directory of a repository, which may not " +"necessarily be the current directory. `GIT_PREFIX` is set as returned by " +"running 'git rev-parse --show-prefix' from the original current " +"directory. See linkgit:git-rev-parse[1]." msgstr "" #. type: Labeled list -#: en/git-apply.txt:72 en/git-check-attr.txt:27 en/git-diff-index.txt:29 en/git-grep.txt:72 en/git-ls-files.txt:36 en/git-rm.txt:58 en/git-submodule.txt:300 +#: en/config.txt:893 #, no-wrap -msgid "--cached" +msgid "am.keepcr" msgstr "" #. type: Plain text -#: en/git-apply.txt:76 +#: en/config.txt:899 msgid "" -"Apply a patch without touching the working tree. Instead take the cached " -"data, apply the patch, and store the result in the index without using the " -"working tree. This implies `--index`." +"If true, git-am will call git-mailsplit for patches in mbox format with " +"parameter `--keep-cr`. In this case git-mailsplit will not remove `\\r` from " +"lines ending with `\\r\\n`. Can be overridden by giving `--no-keep-cr` from " +"the command line. See linkgit:git-am[1], linkgit:git-mailsplit[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:900 +#, no-wrap +msgid "am.threeWay" msgstr "" #. type: Plain text -#: en/git-apply.txt:85 +#: en/config.txt:907 msgid "" -"When the patch does not apply cleanly, fall back on 3-way merge if the patch " -"records the identity of blobs it is supposed to apply to, and we have those " -"blobs available locally, possibly leaving the conflict markers in the files " -"in the working tree for the user to resolve. This option implies the " -"`--index` option, and is incompatible with the `--reject` and the `--cached` " -"options." +"By default, `git am` will fail if the patch does not apply cleanly. When set " +"to true, this setting tells `git am` to fall back on 3-way merge if the " +"patch records the identity of blobs it is supposed to apply to and we have " +"those blobs available locally (equivalent to giving the `--3way` option from " +"the command line). Defaults to `false`. See linkgit:git-am[1]." msgstr "" #. type: Labeled list -#: en/git-apply.txt:86 +#: en/config.txt:908 en/git-apply.txt:246 #, no-wrap -msgid "--build-fake-ancestor=<file>" +msgid "apply.ignoreWhitespace" msgstr "" #. type: Plain text -#: en/git-apply.txt:92 +#: en/config.txt:915 msgid "" -"Newer 'git diff' output has embedded 'index information' for each blob to " -"help identify the original version that the patch applies to. When this " -"flag is given, and if the original versions of the blobs are available " -"locally, builds a temporary index containing those blobs." +"When set to 'change', tells 'git apply' to ignore changes in whitespace, in " +"the same way as the `--ignore-space-change` option. When set to one of: no, " +"none, never, false tells 'git apply' to respect all whitespace differences. " +"See linkgit:git-apply[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:916 en/git-apply.txt:250 +#, no-wrap +msgid "apply.whitespace" msgstr "" #. type: Plain text -#: en/git-apply.txt:95 +#: en/config.txt:919 msgid "" -"When a pure mode change is encountered (which has no index information), the " -"information is read from the current index instead." +"Tells 'git apply' how to handle whitespaces, in the same way as the " +"`--whitespace` option. See linkgit:git-apply[1]." msgstr "" #. type: Labeled list -#: en/git-apply.txt:96 en/git-cvsimport.txt:168 en/diff-options.txt:505 +#: en/config.txt:920 #, no-wrap -msgid "-R" +msgid "branch.autoSetupMerge" +msgstr "" + +#. type: Plain text +#: en/config.txt:931 +msgid "" +"Tells 'git branch' and 'git checkout' to set up new branches so that " +"linkgit:git-pull[1] will appropriately merge from the starting point " +"branch. Note that even if this option is not set, this behavior can be " +"chosen per-branch using the `--track` and `--no-track` options. The valid " +"settings are: `false` -- no automatic setup is done; `true` -- automatic " +"setup is done when the starting point is a remote-tracking branch; `always` " +"-- automatic setup is done when the starting point is either a local branch " +"or remote-tracking branch. This option defaults to true." msgstr "" #. type: Labeled list -#: en/git-apply.txt:97 en/rev-list-options.txt:659 +#: en/config.txt:932 #, no-wrap -msgid "--reverse" +msgid "branch.autoSetupRebase" msgstr "" #. type: Plain text -#: en/git-apply.txt:99 -msgid "Apply the patch in reverse." +#: en/config.txt:946 +msgid "" +"When a new branch is created with 'git branch' or 'git checkout' that tracks " +"another branch, this variable tells Git to set up pull to rebase instead of " +"merge (see \"branch.<name>.rebase\"). When `never`, rebase is never " +"automatically set to true. When `local`, rebase is set to true for tracked " +"branches of other local branches. When `remote`, rebase is set to true for " +"tracked branches of remote-tracking branches. When `always`, rebase will be " +"set to true for all tracking branches. See \"branch.autoSetupMerge\" for " +"details on how to set up a branch to track another branch. This option " +"defaults to never." +msgstr "" + +#. type: Labeled list +#: en/config.txt:947 +#, no-wrap +msgid "branch.<name>.remote" msgstr "" #. type: Plain text -#: en/git-apply.txt:106 +#: en/config.txt:957 msgid "" -"For atomicity, 'git apply' by default fails the whole patch and does not " -"touch the working tree when some of the hunks do not apply. This option " -"makes it apply the parts of the patch that are applicable, and leave the " -"rejected hunks in corresponding *.rej files." +"When on branch <name>, it tells 'git fetch' and 'git push' which remote to " +"fetch from/push to. The remote to push to may be overridden with " +"`remote.pushDefault` (for all branches). The remote to push to, for the " +"current branch, may be further overridden by `branch.<name>.pushRemote`. If " +"no remote is configured, or if you are not on any branch, it defaults to " +"`origin` for fetching and `remote.pushDefault` for pushing. Additionally, " +"`.` (a period) is the current local repository (a dot-repository), see " +"`branch.<name>.merge`'s final note below." msgstr "" #. type: Labeled list -#: en/git-apply.txt:107 en/git-check-attr.txt:34 en/git-check-ignore.txt:41 en/git-checkout-index.txt:67 en/git-commit.txt:118 en/git-config.txt:183 en/git-grep.txt:196 en/git-ls-files.txt:79 en/git-ls-tree.txt:55 en/git-mktree.txt:23 en/git-status.txt:100 en/git-update-index.txt:160 en/diff-options.txt:183 +#: en/config.txt:958 #, no-wrap -msgid "-z" +msgid "branch.<name>.pushRemote" msgstr "" #. type: Plain text -#: en/git-apply.txt:110 +#: en/config.txt:966 msgid "" -"When `--numstat` has been given, do not munge pathnames, but use a " -"NUL-terminated machine-readable format." +"When on branch <name>, it overrides `branch.<name>.remote` for pushing. It " +"also overrides `remote.pushDefault` for pushing from branch <name>. When " +"you pull from one place (e.g. your upstream) and push to another place " +"(e.g. your own publishing repository), you would want to set " +"`remote.pushDefault` to specify the remote to push to for all branches, and " +"use this option to override it for a specific branch." +msgstr "" + +#. type: Labeled list +#: en/config.txt:967 +#, no-wrap +msgid "branch.<name>.merge" msgstr "" #. type: Plain text -#: en/git-apply.txt:114 en/diff-options.txt:198 +#: en/config.txt:984 msgid "" -"Without this option, pathnames with \"unusual\" characters are quoted as " -"explained for the configuration variable `core.quotePath` (see " -"linkgit:git-config[1])." +"Defines, together with branch.<name>.remote, the upstream branch for the " +"given branch. It tells 'git fetch'/'git pull'/'git rebase' which branch to " +"merge and can also affect 'git push' (see push.default). When in branch " +"<name>, it tells 'git fetch' the default refspec to be marked for merging in " +"FETCH_HEAD. The value is handled like the remote part of a refspec, and must " +"match a ref which is fetched from the remote given by " +"\"branch.<name>.remote\". The merge information is used by 'git pull' " +"(which at first calls 'git fetch') to lookup the default branch for " +"merging. Without this option, 'git pull' defaults to merge the first refspec " +"fetched. Specify multiple values to get an octopus merge. If you wish to " +"setup 'git pull' so that it merges into <name> from another branch in the " +"local repository, you can point branch.<name>.merge to the desired branch, " +"and use the relative path setting `.` (a period) for branch.<name>.remote." msgstr "" -#. type: Plain text -#: en/git-apply.txt:118 -msgid "Remove <n> leading slashes from traditional diff paths. The default is 1." +#. type: Labeled list +#: en/config.txt:985 en/git-merge.txt:347 +#, no-wrap +msgid "branch.<name>.mergeOptions" msgstr "" #. type: Plain text -#: en/git-apply.txt:124 en/git-rebase.txt:334 +#: en/config.txt:990 msgid "" -"Ensure at least <n> lines of surrounding context match before and after each " -"change. When fewer lines of surrounding context exist they all must match. " -"By default no context is ever ignored." +"Sets default options for merging into branch <name>. The syntax and " +"supported options are the same as those of linkgit:git-merge[1], but option " +"values containing whitespace characters are currently not supported." msgstr "" #. type: Labeled list -#: en/git-apply.txt:125 +#: en/config.txt:991 #, no-wrap -msgid "--unidiff-zero" +msgid "branch.<name>.rebase" msgstr "" #. type: Plain text -#: en/git-apply.txt:131 +#: en/config.txt:996 msgid "" -"By default, 'git apply' expects that the patch being applied is a unified " -"diff with at least one line of context. This provides good safety measures, " -"but breaks down when applying a diff generated with `--unified=0`. To bypass " -"these checks use `--unidiff-zero`." +"When true, rebase the branch <name> on top of the fetched branch, instead of " +"merging the default branch from the default remote when \"git pull\" is " +"run. See \"pull.rebase\" for doing this in a non branch-specific manner." msgstr "" #. type: Plain text -#: en/git-apply.txt:134 +#: en/config.txt:1000 en/config.txt:2487 msgid "" -"Note, for the reasons stated above usage of context-free patches is " -"discouraged." +"When preserve, also pass `--preserve-merges` along to 'git rebase' so that " +"locally committed merge commits will not be flattened by running 'git pull'." msgstr "" -#. type: Labeled list -#: en/git-apply.txt:135 -#, no-wrap -msgid "--apply" +#. type: Plain text +#: en/config.txt:1002 en/config.txt:2489 +msgid "When the value is `interactive`, the rebase is run in interactive mode." msgstr "" #. type: Plain text -#: en/git-apply.txt:141 +#: en/config.txt:1006 en/config.txt:2493 +#, no-wrap msgid "" -"If you use any of the options marked \"Turns off 'apply'\" above, 'git " -"apply' reads and outputs the requested information without actually applying " -"the patch. Give this flag after those flags to also apply the patch." +"*NOTE*: this is a possibly dangerous operation; do *not* use\n" +"it unless you understand the implications (see linkgit:git-rebase[1]\n" +"for details).\n" msgstr "" #. type: Labeled list -#: en/git-apply.txt:142 +#: en/config.txt:1007 #, no-wrap -msgid "--no-add" +msgid "branch.<name>.description" msgstr "" #. type: Plain text -#: en/git-apply.txt:148 +#: en/config.txt:1012 msgid "" -"When applying a patch, ignore additions made by the patch. This can be used " -"to extract the common part between two files by first running 'diff' on them " -"and applying the result with this option, which would apply the deletion " -"part but not the addition part." +"Branch description, can be edited with `git branch " +"--edit-description`. Branch description is automatically added in the " +"format-patch cover letter or request-pull summary." msgstr "" -#. type: Labeled list -#: en/git-apply.txt:149 +#. type: Title ~ +#: en/config.txt:1013 en/git-web--browse.txt:78 #, no-wrap -msgid "--allow-binary-replacement" +msgid "browser.<tool>.cmd" msgstr "" -#. type: Labeled list -#: en/git-apply.txt:150 en/diff-options.txt:320 +#. type: Plain text +#: en/config.txt:1017 +msgid "" +"Specify the command to invoke the specified browser. The specified command " +"is evaluated in shell with the URLs passed as arguments. (See " +"linkgit:git-web{litdd}browse[1].)" +msgstr "" + +#. type: Title ~ +#: en/config.txt:1018 en/git-web--browse.txt:69 #, no-wrap -msgid "--binary" +msgid "browser.<tool>.path" msgstr "" #. type: Plain text -#: en/git-apply.txt:155 +#: en/config.txt:1022 msgid "" -"Historically we did not allow binary patch applied without an explicit " -"permission from the user, and this flag was the way to do so. Currently we " -"always allow binary patch application, so this is a no-op." +"Override the path for the given tool that may be used to browse HTML help " +"(see `-w` option in linkgit:git-help[1]) or a working repository in gitweb " +"(see linkgit:git-instaweb[1])." msgstr "" #. type: Labeled list -#: en/git-apply.txt:156 +#: en/config.txt:1023 #, no-wrap -msgid "--exclude=<path-pattern>" +msgid "clean.requireForce" msgstr "" #. type: Plain text -#: en/git-apply.txt:160 +#: en/config.txt:1026 +#, no-wrap msgid "" -"Don't apply changes to files matching the given path pattern. This can be " -"useful when importing patchsets, where you want to exclude certain files or " -"directories." +"A boolean to make git-clean do nothing unless given -f,\n" +"-i or -n. Defaults to true.\n" msgstr "" #. type: Labeled list -#: en/git-apply.txt:161 +#: en/config.txt:1027 #, no-wrap -msgid "--include=<path-pattern>" +msgid "color.branch" msgstr "" #. type: Plain text -#: en/git-apply.txt:165 +#: en/config.txt:1033 msgid "" -"Apply changes to files matching the given path pattern. This can be useful " -"when importing patchsets, where you want to include certain files or " -"directories." +"A boolean to enable/disable color in the output of " +"linkgit:git-branch[1]. May be set to `always`, `false` (or `never`) or " +"`auto` (or `true`), in which case colors are used only when the output is to " +"a terminal. If unset, then the value of `color.ui` is used (`auto` by " +"default)." msgstr "" -#. type: Plain text -#: en/git-apply.txt:171 -msgid "" -"When `--exclude` and `--include` patterns are used, they are examined in the " -"order they appear on the command line, and the first match determines if a " -"patch to each path is used. A patch to a path that does not match any " -"include/exclude pattern is used by default if there is no include pattern on " -"the command line, and ignored if there is any include pattern." +#. type: Labeled list +#: en/config.txt:1034 +#, no-wrap +msgid "color.branch.<slot>" msgstr "" #. type: Plain text -#: en/git-apply.txt:179 +#: en/config.txt:1040 msgid "" -"When applying a patch, ignore changes in whitespace in context lines if " -"necessary. Context lines will preserve their whitespace, and they will not " -"undergo whitespace fixing regardless of the value of the `--whitespace` " -"option. New lines will still be fixed, though." +"Use customized color for branch coloration. `<slot>` is one of `current` " +"(the current branch), `local` (a local branch), `remote` (a remote-tracking " +"branch in refs/remotes/), `upstream` (upstream tracking branch), `plain` " +"(other refs)." msgstr "" #. type: Labeled list -#: en/git-apply.txt:180 +#: en/config.txt:1041 #, no-wrap -msgid "--whitespace=<action>" +msgid "color.diff" msgstr "" #. type: Plain text -#: en/git-apply.txt:188 +#: en/config.txt:1049 msgid "" -"When applying a patch, detect a new or modified line that has whitespace " -"errors. What are considered whitespace errors is controlled by " -"`core.whitespace` configuration. By default, trailing whitespaces " -"(including lines that solely consist of whitespaces) and a space character " -"that is immediately followed by a tab character inside the initial indent of " -"the line are considered whitespace errors." +"Whether to use ANSI escape sequences to add color to patches. If this is " +"set to `always`, linkgit:git-diff[1], linkgit:git-log[1], and " +"linkgit:git-show[1] will use color for all patches. If it is set to `true` " +"or `auto`, those commands will only use color when output is to the " +"terminal. If unset, then the value of `color.ui` is used (`auto` by " +"default)." msgstr "" #. type: Plain text -#: en/git-apply.txt:192 +#: en/config.txt:1053 msgid "" -"By default, the command outputs warning messages but applies the patch. " -"When `git-apply` is used for statistics and not applying a patch, it " -"defaults to `nowarn`." -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:195 -msgid "You can use different `<action>` values to control this behavior:" +"This does not affect linkgit:git-format-patch[1] or the " +"'git-diff-{asterisk}' plumbing commands. Can be overridden on the command " +"line with the `--color[=<when>]` option." msgstr "" -#. type: Plain text -#: en/git-apply.txt:197 -msgid "`nowarn` turns off the trailing whitespace warning." +#. type: Labeled list +#: en/config.txt:1054 +#, no-wrap +msgid "color.diff.<slot>" msgstr "" #. type: Plain text -#: en/git-apply.txt:199 +#: en/config.txt:1062 msgid "" -"`warn` outputs warnings for a few such errors, but applies the patch as-is " -"(default)." +"Use customized color for diff colorization. `<slot>` specifies which part " +"of the patch to use the specified color, and is one of `context` (context " +"text - `plain` is a historical synonym), `meta` (metainformation), `frag` " +"(hunk header), 'func' (function in hunk header), `old` (removed lines), " +"`new` (added lines), `commit` (commit headers), or `whitespace` " +"(highlighting whitespace errors)." msgstr "" -#. type: Plain text -#: en/git-apply.txt:203 -msgid "" -"`fix` outputs warnings for a few such errors, and applies the patch after " -"fixing them (`strip` is a synonym --- the tool used to consider only " -"trailing whitespace characters as errors, and the fix involved 'stripping' " -"them, but modern Gits do more)." +#. type: Labeled list +#: en/config.txt:1063 +#, no-wrap +msgid "color.decorate.<slot>" msgstr "" #. type: Plain text -#: en/git-apply.txt:205 +#: en/config.txt:1067 msgid "" -"`error` outputs warnings for a few such errors, and refuses to apply the " -"patch." -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:206 -msgid "`error-all` is similar to `error` but shows all errors." +"Use customized color for 'git log --decorate' output. `<slot>` is one of " +"`branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local branches, " +"remote-tracking branches, tags, stash and HEAD, respectively." msgstr "" #. type: Labeled list -#: en/git-apply.txt:207 +#: en/config.txt:1068 #, no-wrap -msgid "--inaccurate-eof" +msgid "color.grep" msgstr "" #. type: Plain text -#: en/git-apply.txt:213 +#: en/config.txt:1073 msgid "" -"Under certain circumstances, some versions of 'diff' do not correctly detect " -"a missing new-line at the end of the file. As a result, patches created by " -"such 'diff' programs do not record incomplete lines correctly. This option " -"adds support for applying such patches by working around this bug." +"When set to `always`, always highlight matches. When `false` (or `never`), " +"never. When set to `true` or `auto`, use color only when the output is " +"written to the terminal. If unset, then the value of `color.ui` is used " +"(`auto` by default)." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1074 +#, no-wrap +msgid "color.grep.<slot>" msgstr "" #. type: Plain text -#: en/git-apply.txt:219 +#: en/config.txt:1077 msgid "" -"Report progress to stderr. By default, only a message about the current " -"patch being applied will be printed. This option will cause additional " -"information to be reported." +"Use customized color for grep colorization. `<slot>` specifies which part " +"of the line to use the specified color, and is one of" msgstr "" #. type: Labeled list -#: en/git-apply.txt:220 +#: en/config.txt:1079 #, no-wrap -msgid "--recount" +msgid "`context`" msgstr "" #. type: Plain text -#: en/git-apply.txt:224 -msgid "" -"Do not trust the line counts in the hunk headers, but infer them by " -"inspecting the patch (e.g. after editing the patch without adjusting the " -"hunk headers appropriately)." +#: en/config.txt:1081 +msgid "non-matching text in context lines (when using `-A`, `-B`, or `-C`)" msgstr "" #. type: Labeled list -#: en/git-apply.txt:225 +#: en/config.txt:1081 #, no-wrap -msgid "--directory=<root>" +msgid "`filename`" msgstr "" #. type: Plain text -#: en/git-apply.txt:228 -msgid "" -"Prepend <root> to all filenames. If a \"-p\" argument was also passed, it " -"is applied before prepending the new root." +#: en/config.txt:1083 +msgid "filename prefix (when not using `-h`)" +msgstr "" + +#. type: Labeled list +#: en/config.txt:1083 +#, no-wrap +msgid "`function`" msgstr "" #. type: Plain text -#: en/git-apply.txt:232 -msgid "" -"For example, a patch that talks about updating `a/git-gui.sh` to " -"`b/git-gui.sh` can be applied to the file in the working tree " -"`modules/git-gui/git-gui.sh` by running `git apply " -"--directory=modules/git-gui`." +#: en/config.txt:1085 +msgid "function name lines (when using `-p`)" msgstr "" #. type: Labeled list -#: en/git-apply.txt:233 +#: en/config.txt:1085 #, no-wrap -msgid "--unsafe-paths" +msgid "`linenumber`" msgstr "" #. type: Plain text -#: en/git-apply.txt:238 -msgid "" -"By default, a patch that affects outside the working area (either a Git " -"controlled working tree, or the current working directory when \"git apply\" " -"is used as a replacement of GNU patch) is rejected as a mistake (or a " -"mischief)." +#: en/config.txt:1087 +msgid "line number prefix (when using `-n`)" +msgstr "" + +#. type: Labeled list +#: en/config.txt:1087 +#, no-wrap +msgid "`match`" msgstr "" #. type: Plain text -#: en/git-apply.txt:242 -msgid "" -"When `git apply` is used as a \"better GNU patch\", the user can pass the " -"`--unsafe-paths` option to override this safety check. This option has no " -"effect when `--index` or `--cached` is in use." +#: en/config.txt:1089 +msgid "matching text (same as setting `matchContext` and `matchSelected`)" msgstr "" #. type: Labeled list -#: en/git-apply.txt:246 en/config.txt:908 +#: en/config.txt:1089 #, no-wrap -msgid "apply.ignoreWhitespace" +msgid "`matchContext`" msgstr "" #. type: Plain text -#: en/git-apply.txt:250 -msgid "" -"Set to 'change' if you want changes in whitespace to be ignored by default. " -"Set to one of: no, none, never, false if you want changes in whitespace to " -"be significant." +#: en/config.txt:1091 +msgid "matching text in context lines" msgstr "" #. type: Labeled list -#: en/git-apply.txt:250 en/config.txt:916 +#: en/config.txt:1091 #, no-wrap -msgid "apply.whitespace" +msgid "`matchSelected`" msgstr "" #. type: Plain text -#: en/git-apply.txt:253 -msgid "" -"When no `--whitespace` flag is given from the command line, this " -"configuration item is used as the default." +#: en/config.txt:1093 +msgid "matching text in selected lines" msgstr "" -#. type: Title - -#: en/git-apply.txt:255 +#. type: Labeled list +#: en/config.txt:1093 #, no-wrap -msgid "Submodules" +msgid "`selected`" msgstr "" #. type: Plain text -#: en/git-apply.txt:258 -msgid "" -"If the patch contains any changes to submodules then 'git apply' treats " -"these changes as follows." +#: en/config.txt:1095 +msgid "non-matching text in selected lines" msgstr "" -#. type: Plain text -#: en/git-apply.txt:264 -msgid "" -"If `--index` is specified (explicitly or implicitly), then the submodule " -"commits must match the index exactly for the patch to apply. If any of the " -"submodules are checked-out, then these check-outs are completely ignored, " -"i.e., they are not required to be up-to-date or clean and they are not " -"updated." +#. type: Labeled list +#: en/config.txt:1095 +#, no-wrap +msgid "`separator`" msgstr "" #. type: Plain text -#: en/git-apply.txt:268 +#: en/config.txt:1098 msgid "" -"If `--index` is not specified, then the submodule commits in the patch are " -"ignored and only the absence or presence of the corresponding subdirectory " -"is checked and (if possible) updated." -msgstr "" - -#. type: Plain text -#: en/git-apply.txt:272 -msgid "linkgit:git-am[1]." +"separators between fields on a line (`:`, `-`, and `=`) and between hunks " +"(`--`)" msgstr "" -#. type: Title = -#: en/git-archimport.txt:2 +#. type: Labeled list +#: en/config.txt:1100 #, no-wrap -msgid "git-archimport(1)" +msgid "color.interactive" msgstr "" #. type: Plain text -#: en/git-archimport.txt:7 -msgid "git-archimport - Import an Arch repository into Git" +#: en/config.txt:1107 +msgid "" +"When set to `always`, always use colors for interactive prompts and displays " +"(such as those used by \"git-add --interactive\" and \"git-clean " +"--interactive\"). When false (or `never`), never. When set to `true` or " +"`auto`, use colors only when the output is to the terminal. If unset, then " +"the value of `color.ui` is used (`auto` by default)." msgstr "" -#. type: Plain text -#: en/git-archimport.txt:14 +#. type: Labeled list +#: en/config.txt:1108 #, no-wrap -msgid "" -"'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]\n" -" <archive/branch>[:<git-branch>] ...\n" +msgid "color.interactive.<slot>" msgstr "" #. type: Plain text -#: en/git-archimport.txt:22 +#: en/config.txt:1113 msgid "" -"Imports a project from one or more Arch repositories. It will follow " -"branches and repositories within the namespaces defined by the " -"<archive/branch> parameters supplied. If it cannot find the remote branch a " -"merge comes from it will just import it as a regular commit. If it can find " -"it, it will mark it as a merge whenever possible (see discussion below)." +"Use customized color for 'git add --interactive' and 'git clean " +"--interactive' output. `<slot>` may be `prompt`, `header`, `help` or " +"`error`, for four distinct types of normal output from interactive commands." msgstr "" -#. type: Plain text -#: en/git-archimport.txt:26 -msgid "" -"The script expects you to provide the key roots where it can start the " -"import from an 'initial import' or 'tag' type of Arch commit. It will follow " -"and import new branches within the provided roots." +#. type: Labeled list +#: en/config.txt:1114 +#, no-wrap +msgid "color.pager" msgstr "" #. type: Plain text -#: en/git-archimport.txt:31 +#: en/config.txt:1117 msgid "" -"It expects to be dealing with one project only. If it sees branches that " -"have different roots, it will refuse to run. In that case, edit your " -"<archive/branch> parameters to define clearly the scope of the import." +"A boolean to enable/disable colored output when the pager is in use (default " +"is true)." msgstr "" -#. type: Plain text -#: en/git-archimport.txt:36 -msgid "" -"'git archimport' uses `tla` extensively in the background to access the Arch " -"repository. Make sure you have a recent version of `tla` available in the " -"path. `tla` must know about the repositories you pass to 'git archimport'." +#. type: Labeled list +#: en/config.txt:1118 +#, no-wrap +msgid "color.showBranch" msgstr "" #. type: Plain text -#: en/git-archimport.txt:41 +#: en/config.txt:1124 msgid "" -"For the initial import, 'git archimport' expects to find itself in an empty " -"directory. To follow the development of a project that uses Arch, rerun 'git " -"archimport' with the same parameters as the initial import to perform " -"incremental imports." +"A boolean to enable/disable color in the output of " +"linkgit:git-show-branch[1]. May be set to `always`, `false` (or `never`) or " +"`auto` (or `true`), in which case colors are used only when the output is to " +"a terminal. If unset, then the value of `color.ui` is used (`auto` by " +"default)." msgstr "" -#. type: Plain text -#: en/git-archimport.txt:48 -msgid "" -"While 'git archimport' will try to create sensible branch names for the " -"archives that it imports, it is also possible to specify Git branch names " -"manually. To do so, write a Git branch name after each <archive/branch> " -"parameter, separated by a colon. This way, you can shorten the Arch branch " -"names and convert Arch jargon to Git jargon, for example mapping a " -"\"PROJECT{litdd}devo{litdd}VERSION\" branch to \"master\"." +#. type: Labeled list +#: en/config.txt:1125 +#, no-wrap +msgid "color.status" msgstr "" #. type: Plain text -#: en/git-archimport.txt:53 +#: en/config.txt:1131 msgid "" -"Associating multiple Arch branches to one Git branch is possible; the result " -"will make the most sense only if no commits are made to the first branch, " -"after the second branch is created. Still, this is useful to convert Arch " -"repositories that had been rotated periodically." +"A boolean to enable/disable color in the output of " +"linkgit:git-status[1]. May be set to `always`, `false` (or `never`) or " +"`auto` (or `true`), in which case colors are used only when the output is to " +"a terminal. If unset, then the value of `color.ui` is used (`auto` by " +"default)." msgstr "" -#. type: Title - -#: en/git-archimport.txt:56 +#. type: Labeled list +#: en/config.txt:1132 #, no-wrap -msgid "MERGES" -msgstr "" - -#. type: Plain text -#: en/git-archimport.txt:62 -msgid "" -"Patch merge data from Arch is used to mark merges in Git as well. Git does " -"not care much about tracking patches, and only considers a merge when a " -"branch incorporates all the commits since the point they forked. The end " -"result is that Git will have a good idea of how far branches have " -"diverged. So the import process does lose some patch-trading metadata." +msgid "color.status.<slot>" msgstr "" #. type: Plain text -#: en/git-archimport.txt:66 +#: en/config.txt:1142 msgid "" -"Fortunately, when you try and merge branches imported from Arch, Git will " -"find a good merge base, and it has a good chance of identifying patches that " -"have been traded out-of-sequence between the branches." +"Use customized color for status colorization. `<slot>` is one of `header` " +"(the header text of the status message), `added` or `updated` (files which " +"are added but not committed), `changed` (files which are changed but not " +"added in the index), `untracked` (files which are not tracked by Git), " +"`branch` (the current branch), `nobranch` (the color the 'no branch' warning " +"is shown in, defaulting to red), or `unmerged` (files which have unmerged " +"changes)." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:70 en/git-cvsimport.txt:184 en/git-cvsserver.txt:48 en/git-grep.txt:141 en/git-ls-remote.txt:24 en/blame-options.txt:113 +#: en/config.txt:1143 #, no-wrap -msgid "-h" -msgstr "" - -#. type: Plain text -#: en/git-archimport.txt:72 -msgid "Display usage." +msgid "color.ui" msgstr "" #. type: Plain text -#: en/git-archimport.txt:75 -msgid "Verbose output." +#: en/config.txt:1154 +msgid "" +"This variable determines the default value for variables such as " +"`color.diff` and `color.grep` that control the use of color per command " +"family. Its scope will expand as more commands learn configuration to set a " +"default for the `--color` option. Set it to `false` or `never` if you " +"prefer Git commands not to use color unless enabled explicitly with some " +"other configuration or the `--color` option. Set it to `always` if you want " +"all output not intended for machine consumption to use color, to `true` or " +"`auto` (this is the default since Git 1.8.4) if you want such output to use " +"color when written to the terminal." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:76 +#: en/config.txt:1155 #, no-wrap -msgid "-T" +msgid "column.ui" msgstr "" #. type: Plain text -#: en/git-archimport.txt:79 +#: en/config.txt:1159 msgid "" -"Many tags. Will create a tag for every commit, reflecting the commit name in " -"the Arch repository." +"Specify whether supported commands should output in columns. This variable " +"consists of a list of tokens separated by spaces or commas:" msgstr "" #. type: Plain text -#: en/git-archimport.txt:84 +#: en/config.txt:1162 msgid "" -"Use the fast patchset import strategy. This can be significantly faster for " -"large trees, but cannot handle directory renames or permissions changes. " -"The default strategy is slow and safe." +"These options control when the feature should be enabled (defaults to " +"'never'):" msgstr "" #. type: Labeled list -#: en/git-archimport.txt:85 en/git-commit.txt:260 en/git-ls-files.txt:47 en/git-merge-index.txt:29 en/git-push.txt:159 +#: en/config.txt:1164 #, no-wrap -msgid "-o" +msgid "`always`" msgstr "" #. type: Plain text -#: en/git-archimport.txt:92 -msgid "" -"Use this for compatibility with old-style branch names used by earlier " -"versions of 'git archimport'. Old-style branch names were " -"category{litdd}branch, whereas new-style branch names are " -"archive,category{litdd}branch{litdd}version. In both cases, names given on " -"the command-line will override the automatically-generated ones." +#: en/config.txt:1166 +msgid "always show in columns" msgstr "" #. type: Labeled list -#: en/git-archimport.txt:93 +#: en/config.txt:1166 #, no-wrap -msgid "-D <depth>" +msgid "`never`" msgstr "" #. type: Plain text -#: en/git-archimport.txt:97 -msgid "" -"Follow merge ancestry and attempt to import trees that have been merged " -"from. Specify a depth greater than 1 if patch logs have been pruned." +#: en/config.txt:1168 +msgid "never show in columns" msgstr "" #. type: Labeled list -#: en/git-archimport.txt:98 en/git-branch.txt:140 en/git-checkout-index.txt:38 en/git-commit.txt:60 en/git-cvsexportcommit.txt:45 en/git-cvsimport.txt:135 en/git-grep.txt:105 en/git-help.txt:41 en/git-http-fetch.txt:31 en/git-merge-base.txt:71 en/git-merge-index.txt:26 en/git-repack.txt:31 en/git-show-branch.txt:47 en/git-tag.txt:59 en/diff-options.txt:518 en/fetch-options.txt:4 +#: en/config.txt:1168 #, no-wrap -msgid "-a" +msgid "`auto`" msgstr "" #. type: Plain text -#: en/git-archimport.txt:101 -msgid "" -"Attempt to auto-register archives at http://mirrors.sourcecontrol.net This " -"is particularly useful with the -D option." -msgstr "" - -#. type: Labeled list -#: en/git-archimport.txt:102 -#, no-wrap -msgid "-t <tmpdir>" +#: en/config.txt:1170 +msgid "show in columns if the output is to the terminal" msgstr "" #. type: Plain text -#: en/git-archimport.txt:104 -msgid "Override the default tempdir." +#: en/config.txt:1175 +msgid "" +"These options control layout (defaults to 'column'). Setting any of these " +"implies 'always' if none of 'always', 'never', or 'auto' are specified." msgstr "" #. type: Labeled list -#: en/git-archimport.txt:106 +#: en/config.txt:1177 #, no-wrap -msgid "<archive/branch>" +msgid "`column`" msgstr "" #. type: Plain text -#: en/git-archimport.txt:108 -msgid "Archive/branch identifier in a format that `tla log` understands." +#: en/config.txt:1179 +msgid "fill columns before rows" msgstr "" -#. type: Title = -#: en/git-archive.txt:2 +#. type: Labeled list +#: en/config.txt:1179 #, no-wrap -msgid "git-archive(1)" +msgid "`row`" msgstr "" #. type: Plain text -#: en/git-archive.txt:7 -msgid "git-archive - Create an archive of files from a named tree" +#: en/config.txt:1181 +msgid "fill rows before columns" msgstr "" -#. type: Plain text -#: en/git-archive.txt:16 +#. type: Labeled list +#: en/config.txt:1181 #, no-wrap -msgid "" -"'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]\n" -"\t [-o <file> | --output=<file>] [--worktree-attributes]\n" -"\t [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>\n" -"\t [<path>...]\n" +msgid "`plain`" msgstr "" #. type: Plain text -#: en/git-archive.txt:23 -msgid "" -"Creates an archive of the specified format containing the tree structure for " -"the named tree, and writes it out to the standard output. If <prefix> is " -"specified it is prepended to the filenames in the archive." +#: en/config.txt:1183 +msgid "show in one column" msgstr "" #. type: Plain text -#: en/git-archive.txt:32 +#: en/config.txt:1187 msgid "" -"'git archive' behaves differently when given a tree ID versus when given a " -"commit ID or tag ID. In the first case the current time is used as the " -"modification time of each file in the archive. In the latter case the " -"commit time as recorded in the referenced commit object is used instead. " -"Additionally the commit ID is stored in a global extended pax header if the " -"tar format is used; it can be extracted using 'git get-tar-commit-id'. In " -"ZIP files it is stored as a file comment." +"Finally, these options can be combined with a layout option (defaults to " +"'nodense'):" msgstr "" #. type: Labeled list -#: en/git-archive.txt:36 +#: en/config.txt:1189 #, no-wrap -msgid "--format=<fmt>" +msgid "`dense`" msgstr "" #. type: Plain text -#: en/git-archive.txt:42 -msgid "" -"Format of the resulting archive: 'tar' or 'zip'. If this option is not " -"given, and the output file is specified, the format is inferred from the " -"filename if possible (e.g. writing to \"foo.zip\" makes the output to be in " -"the zip format). Otherwise the output format is `tar`." -msgstr "" - -#. type: Labeled list -#: en/git-archive.txt:43 en/git-branch.txt:87 en/git-checkout.txt:174 en/git-clone.txt:44 en/git-config.txt:159 en/git-grep.txt:176 en/git-instaweb.txt:23 en/git-ls-tree.txt:51 en/git-repack.txt:61 en/git-svn.txt:228 en/git-var.txt:20 en/blame-options.txt:22 -#, no-wrap -msgid "-l" +#: en/config.txt:1191 +msgid "make unequal size columns to utilize more space" msgstr "" #. type: Labeled list -#: en/git-archive.txt:44 en/git-branch.txt:144 en/git-config.txt:160 en/git-show-branch.txt:80 +#: en/config.txt:1191 #, no-wrap -msgid "--list" -msgstr "" - -#. type: Plain text -#: en/git-archive.txt:46 -msgid "Show all available formats." +msgid "`nodense`" msgstr "" #. type: Plain text -#: en/git-archive.txt:50 -msgid "Report progress to stderr." +#: en/config.txt:1193 +msgid "make equal size columns" msgstr "" #. type: Labeled list -#: en/git-archive.txt:51 en/git-read-tree.txt:84 en/git-write-tree.txt:35 +#: en/config.txt:1195 #, no-wrap -msgid "--prefix=<prefix>/" +msgid "column.branch" msgstr "" #. type: Plain text -#: en/git-archive.txt:53 -msgid "Prepend <prefix>/ to each filename in the archive." -msgstr "" - -#. type: Labeled list -#: en/git-archive.txt:54 -#, no-wrap -msgid "-o <file>" +#: en/config.txt:1198 +msgid "" +"Specify whether to output branch listing in `git branch` in columns. See " +"`column.ui` for details." msgstr "" #. type: Labeled list -#: en/git-archive.txt:55 +#: en/config.txt:1199 #, no-wrap -msgid "--output=<file>" +msgid "column.clean" msgstr "" #. type: Plain text -#: en/git-archive.txt:57 -msgid "Write the archive to <file> instead of stdout." +#: en/config.txt:1202 +msgid "" +"Specify the layout when list items in `git clean -i`, which always shows " +"files and directories in columns. See `column.ui` for details." msgstr "" #. type: Labeled list -#: en/git-archive.txt:58 +#: en/config.txt:1203 #, no-wrap -msgid "--worktree-attributes" +msgid "column.status" msgstr "" #. type: Plain text -#: en/git-archive.txt:61 +#: en/config.txt:1206 msgid "" -"Look for attributes in .gitattributes files in the working tree as well (see " -"<<ATTRIBUTES>>)." +"Specify whether to output untracked files in `git status` in columns. See " +"`column.ui` for details." msgstr "" #. type: Labeled list -#: en/git-archive.txt:62 +#: en/config.txt:1207 #, no-wrap -msgid "<extra>" +msgid "column.tag" msgstr "" #. type: Plain text -#: en/git-archive.txt:65 +#: en/config.txt:1210 msgid "" -"This can be any options that the archiver backend understands. See next " -"section." +"Specify whether to output tag listing in `git tag` in columns. See " +"`column.ui` for details." msgstr "" #. type: Labeled list -#: en/git-archive.txt:66 +#: en/config.txt:1211 #, no-wrap -msgid "--remote=<repo>" +msgid "commit.cleanup" msgstr "" #. type: Plain text -#: en/git-archive.txt:72 +#: en/config.txt:1219 msgid "" -"Instead of making a tar archive from the local repository, retrieve a tar " -"archive from a remote repository. Note that the remote repository may place " -"restrictions on which sha1 expressions may be allowed in `<tree-ish>`. See " -"linkgit:git-upload-archive[1] for details." +"This setting overrides the default of the `--cleanup` option in `git " +"commit`. See linkgit:git-commit[1] for details. Changing the default can be " +"useful when you always want to keep lines that begin with comment character " +"`#` in your log message, in which case you would do `git config " +"commit.cleanup whitespace` (note that you will have to remove the help lines " +"that begin with `#` in the commit log template yourself, if you do this)." msgstr "" #. type: Labeled list -#: en/git-archive.txt:73 +#: en/config.txt:1220 #, no-wrap -msgid "--exec=<git-upload-archive>" +msgid "commit.gpgSign" msgstr "" #. type: Plain text -#: en/git-archive.txt:76 +#: en/config.txt:1227 msgid "" -"Used with --remote to specify the path to the 'git-upload-archive' on the " -"remote side." -msgstr "" - -#. type: Plain text -#: en/git-archive.txt:79 -msgid "The tree or commit to produce an archive for." +"A boolean to specify whether all commits should be GPG signed. Use of this " +"option when doing operations such as rebase can result in a large number of " +"commits being signed. It may be convenient to use an agent to avoid typing " +"your GPG passphrase several times." msgstr "" #. type: Labeled list -#: en/git-archive.txt:80 +#: en/config.txt:1228 #, no-wrap -msgid "<path>" +msgid "commit.status" msgstr "" #. type: Plain text -#: en/git-archive.txt:84 +#: en/config.txt:1232 msgid "" -"Without an optional path parameter, all files and subdirectories of the " -"current working directory are included in the archive. If one or more paths " -"are specified, only these are included." +"A boolean to enable/disable inclusion of status information in the commit " +"message template when using an editor to prepare the commit message. " +"Defaults to true." msgstr "" -#. type: Title - -#: en/git-archive.txt:86 +#. type: Labeled list +#: en/config.txt:1233 #, no-wrap -msgid "BACKEND EXTRA OPTIONS" +msgid "commit.template" msgstr "" -#. type: Title ~ -#: en/git-archive.txt:89 -#, no-wrap -msgid "zip" +#. type: Plain text +#: en/config.txt:1236 +msgid "" +"Specify the pathname of a file to use as the template for new commit " +"messages." msgstr "" #. type: Labeled list -#: en/git-archive.txt:90 en/git-diff-files.txt:28 +#: en/config.txt:1237 #, no-wrap -msgid "-0" +msgid "commit.verbose" msgstr "" #. type: Plain text -#: en/git-archive.txt:92 -msgid "Store the files instead of deflating them." +#: en/config.txt:1240 +msgid "" +"A boolean or int to specify the level of verbose with `git commit`. See " +"linkgit:git-commit[1]." msgstr "" #. type: Labeled list -#: en/git-archive.txt:92 +#: en/config.txt:1241 #, no-wrap -msgid "-9" +msgid "credential.helper" msgstr "" #. type: Plain text -#: en/git-archive.txt:95 +#: en/config.txt:1247 msgid "" -"Highest and slowest compression level. You can specify any number from 1 to " -"9 to adjust compression speed and ratio." -msgstr "" - -#. type: Title - -#: en/git-archive.txt:98 en/git-cvsexportcommit.txt:86 en/git-fmt-merge-msg.txt:53 en/git-format-patch.txt:287 en/git-grep.txt:42 en/git-imap-send.txt:52 en/git-instaweb.txt:69 en/git-log.txt:170 en/git-merge.txt:344 en/git-notes.txt:311 en/git-rebase.txt:204 en/git-send-email.txt:402 en/git-status.txt:331 en/git-svn.txt:1045 en/git-tag.txt:182 -#, no-wrap -msgid "CONFIGURATION" +"Specify an external helper to be called when a username or password " +"credential is needed; the helper may consult external storage to avoid " +"prompting the user for the credentials. Note that multiple helpers may be " +"defined. See linkgit:gitcredentials[7] for details." msgstr "" #. type: Labeled list -#: en/git-archive.txt:100 en/config.txt:3083 +#: en/config.txt:1248 #, no-wrap -msgid "tar.umask" +msgid "credential.useHttpPath" msgstr "" #. type: Plain text -#: en/git-archive.txt:107 +#: en/config.txt:1252 msgid "" -"This variable can be used to restrict the permission bits of tar archive " -"entries. The default is 0002, which turns off the world write bit. The " -"special value \"user\" indicates that the archiving user's umask will be " -"used instead. See umask(2) for details. If `--remote` is used then only " -"the configuration of the remote repository takes effect." +"When acquiring credentials, consider the \"path\" component of an http or " +"https URL to be important. Defaults to false. See linkgit:gitcredentials[7] " +"for more information." msgstr "" #. type: Labeled list -#: en/git-archive.txt:108 +#: en/config.txt:1253 #, no-wrap -msgid "tar.<format>.command" -msgstr "" - -#. type: Plain text -#: en/git-archive.txt:117 -msgid "" -"This variable specifies a shell command through which the tar output " -"generated by `git archive` should be piped. The command is executed using " -"the shell with the generated tar file on its standard input, and should " -"produce the final output on its standard output. Any compression-level " -"options will be passed to the command (e.g., \"-9\"). An output file with " -"the same extension as `<format>` will be use this format if no other format " -"is given." +msgid "credential.username" msgstr "" #. type: Plain text -#: en/git-archive.txt:120 +#: en/config.txt:1257 msgid "" -"The \"tar.gz\" and \"tgz\" formats are defined automatically and default to " -"`gzip -cn`. You may override them with custom commands." +"If no username is set for a network authentication, use this username by " +"default. See credential.<context>.* below, and linkgit:gitcredentials[7]." msgstr "" #. type: Labeled list -#: en/git-archive.txt:121 +#: en/config.txt:1258 #, no-wrap -msgid "tar.<format>.remote" +msgid "credential.<url>.*" msgstr "" #. type: Plain text -#: en/git-archive.txt:126 +#: en/config.txt:1264 msgid "" -"If true, enable `<format>` for use by remote clients via " -"linkgit:git-upload-archive[1]. Defaults to false for user-defined formats, " -"but true for the \"tar.gz\" and \"tgz\" formats." -msgstr "" - -#. type: Title - -#: en/git-archive.txt:129 -#, no-wrap -msgid "ATTRIBUTES" +"Any of the credential.* options above can be applied selectively to some " +"credentials. For example \"credential.https://example.com.username\" would " +"set the default username only for https connections to example.com. See " +"linkgit:gitcredentials[7] for details on how URLs are matched." msgstr "" #. type: Labeled list -#: en/git-archive.txt:131 +#: en/config.txt:1265 #, no-wrap -msgid "export-ignore" +msgid "credentialCache.ignoreSIGHUP" msgstr "" #. type: Plain text -#: en/git-archive.txt:134 -msgid "" -"Files and directories with the attribute export-ignore won't be added to " -"archive files. See linkgit:gitattributes[5] for details." +#: en/config.txt:1267 +msgid "Tell git-credential-cache--daemon to ignore SIGHUP, instead of quitting." msgstr "" #. type: Labeled list -#: en/git-archive.txt:135 +#: en/config.txt:1270 en/git-difftool.txt:117 #, no-wrap -msgid "export-subst" -msgstr "" - -#. type: Plain text -#: en/git-archive.txt:139 -msgid "" -"If the attribute export-subst is set for a file then Git will expand several " -"placeholders when adding this file to an archive. See " -"linkgit:gitattributes[5] for details." +msgid "difftool.<tool>.path" msgstr "" #. type: Plain text -#: en/git-archive.txt:147 +#: en/config.txt:1273 en/config.txt:2188 en/git-difftool.txt:120 msgid "" -"Note that attributes are by default taken from the `.gitattributes` files in " -"the tree that is being archived. If you want to tweak the way the output is " -"generated after the fact (e.g. you committed without adding an appropriate " -"export-ignore in its `.gitattributes`), adjust the checked out " -"`.gitattributes` file as necessary and use `--worktree-attributes` option. " -"Alternatively you can keep necessary attributes that should apply while " -"archiving any tree in your `$GIT_DIR/info/attributes` file." +"Override the path for the given tool. This is useful in case your tool is " +"not in the PATH." msgstr "" #. type: Labeled list -#: en/git-archive.txt:150 +#: en/config.txt:1274 en/git-difftool.txt:121 #, no-wrap -msgid "`git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)`" +msgid "difftool.<tool>.cmd" msgstr "" #. type: Plain text -#: en/git-archive.txt:155 +#: en/config.txt:1281 msgid "" -"Create a tar archive that contains the contents of the latest commit on the " -"current branch, and extract it in the `/var/tmp/junk` directory." +"Specify the command to invoke the specified diff tool. The specified " +"command is evaluated in shell with the following variables available: " +"'LOCAL' is set to the name of the temporary file containing the contents of " +"the diff pre-image and 'REMOTE' is set to the name of the temporary file " +"containing the contents of the diff post-image." msgstr "" #. type: Labeled list -#: en/git-archive.txt:156 +#: en/config.txt:1282 en/git-difftool.txt:126 #, no-wrap -msgid "" -"`git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip " -">git-1.4.0.tar.gz`" +msgid "difftool.prompt" msgstr "" #. type: Plain text -#: en/git-archive.txt:159 -msgid "Create a compressed tarball for v1.4.0 release." +#: en/config.txt:1284 en/git-difftool.txt:128 +msgid "Prompt before each invocation of the diff tool." msgstr "" #. type: Labeled list -#: en/git-archive.txt:160 +#: en/config.txt:1285 en/git-fast-import.txt:139 #, no-wrap -msgid "`git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz`" +msgid "fastimport.unpackLimit" msgstr "" #. type: Plain text -#: en/git-archive.txt:163 -msgid "Same as above, but using the builtin tar.gz handling." +#: en/config.txt:1293 +msgid "" +"If the number of objects imported by linkgit:git-fast-import[1] is below " +"this limit, then the objects will be unpacked into loose object files. " +"However if the number of imported objects equals or exceeds this limit then " +"the pack will be stored as a pack. Storing the pack from a fast-import can " +"make the import operation complete faster, especially on slow filesystems. " +"If not set, the value of `transfer.unpackLimit` is used instead." msgstr "" #. type: Labeled list -#: en/git-archive.txt:164 +#: en/config.txt:1294 #, no-wrap -msgid "`git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0`" +msgid "fetch.recurseSubmodules" msgstr "" #. type: Plain text -#: en/git-archive.txt:167 -msgid "Same as above, but the format is inferred from the output file." +#: en/config.txt:1302 +msgid "" +"This option can be either set to a boolean value or to 'on-demand'. Setting " +"it to a boolean changes the behavior of fetch and pull to unconditionally " +"recurse into submodules when set to true or to not recurse at all when set " +"to false. When set to 'on-demand' (the default value), fetch and pull will " +"only recurse into a populated submodule when its superproject retrieves a " +"commit that updates the submodule's reference." msgstr "" #. type: Labeled list -#: en/git-archive.txt:168 +#: en/config.txt:1303 #, no-wrap -msgid "" -"`git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip " -">git-1.4.0.tar.gz`" +msgid "fetch.fsckObjects" msgstr "" #. type: Plain text -#: en/git-archive.txt:172 +#: en/config.txt:1309 msgid "" -"Create a compressed tarball for v1.4.0 release, but without a global " -"extended pax header." +"If it is set to true, git-fetch-pack will check all fetched objects. It will " +"abort in the case of a malformed object or a broken link. The result of an " +"abort are only dangling objects. Defaults to false. If not set, the value " +"of `transfer.fsckObjects` is used instead." msgstr "" #. type: Labeled list -#: en/git-archive.txt:173 +#: en/config.txt:1310 #, no-wrap -msgid "" -"`git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > " -"git-1.4.0-docs.zip`" +msgid "fetch.unpackLimit" msgstr "" #. type: Plain text -#: en/git-archive.txt:177 +#: en/config.txt:1320 msgid "" -"Put everything in the current head's Documentation/ directory into " -"'git-1.4.0-docs.zip', with the prefix 'git-docs/'." +"If the number of objects fetched over the Git native transfer is below this " +"limit, then the objects will be unpacked into loose object files. However if " +"the number of received objects equals or exceeds this limit then the " +"received pack will be stored as a pack, after adding any missing delta " +"bases. Storing the pack from a push can make the push operation complete " +"faster, especially on slow filesystems. If not set, the value of " +"`transfer.unpackLimit` is used instead." msgstr "" #. type: Labeled list -#: en/git-archive.txt:178 +#: en/config.txt:1321 #, no-wrap -msgid "`git archive -o latest.zip HEAD`" +msgid "fetch.prune" msgstr "" #. type: Plain text -#: en/git-archive.txt:183 +#: en/config.txt:1324 msgid "" -"Create a Zip archive that contains the contents of the latest commit on the " -"current branch. Note that the output format is inferred by the extension of " -"the output file." +"If true, fetch will automatically behave as if the `--prune` option was " +"given on the command line. See also `remote.<name>.prune`." msgstr "" #. type: Labeled list -#: en/git-archive.txt:184 +#: en/config.txt:1325 #, no-wrap -msgid "`git config tar.tar.xz.command \"xz -c\"`" +msgid "fetch.output" msgstr "" #. type: Plain text -#: en/git-archive.txt:189 +#: en/config.txt:1329 msgid "" -"Configure a \"tar.xz\" format for making LZMA-compressed tarfiles. You can " -"use it specifying `--format=tar.xz`, or by creating an output file like `-o " -"foo.tar.xz`." +"Control how ref update status is printed. Valid values are `full` and " +"`compact`. Default value is `full`. See section OUTPUT in " +"linkgit:git-fetch[1] for detail." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1330 +#, no-wrap +msgid "format.attach" msgstr "" #. type: Plain text -#: en/git-archive.txt:194 -msgid "linkgit:gitattributes[5]" +#: en/config.txt:1336 +msgid "" +"Enable multipart/mixed attachments as the default for 'format-patch'. The " +"value can also be a double quoted string which will enable attachments as " +"the default and set the value as the boundary. See the --attach option in " +"linkgit:git-format-patch[1]." msgstr "" -#. type: Title = -#: en/git-bisect.txt:2 +#. type: Labeled list +#: en/config.txt:1337 #, no-wrap -msgid "git-bisect(1)" +msgid "format.from" msgstr "" #. type: Plain text -#: en/git-bisect.txt:7 -msgid "git-bisect - Use binary search to find the commit that introduced a bug" +#: en/config.txt:1346 +msgid "" +"Provides the default value for the `--from` option to format-patch. Accepts " +"a boolean value, or a name and email address. If false, format-patch " +"defaults to `--no-from`, using commit authors directly in the \"From:\" " +"field of patch mails. If true, format-patch defaults to `--from`, using " +"your committer identity in the \"From:\" field of patch mails and including " +"a \"From:\" field in the body of the patch mail if different. If set to a " +"non-boolean value, format-patch uses that value instead of your committer " +"identity. Defaults to false." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:13 +#. type: Labeled list +#: en/config.txt:1347 #, no-wrap -msgid "'git bisect' <subcommand> <options>\n" +msgid "format.numbered" msgstr "" #. type: Plain text -#: en/git-bisect.txt:18 en/git-reflog.txt:18 +#: en/config.txt:1353 msgid "" -"The command takes various subcommands, and different options depending on " -"the subcommand:" +"A boolean which can enable or disable sequence numbers in patch subjects. " +"It defaults to \"auto\" which enables it only if there is more than one " +"patch. It can be enabled or disabled for all messages by setting it to " +"\"true\" or \"false\". See --numbered option in " +"linkgit:git-format-patch[1]." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:31 +#. type: Labeled list +#: en/config.txt:1354 #, no-wrap -msgid "" -" git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>]\n" -"\t\t [--no-checkout] [<bad> [<good>...]] [--] [<paths>...]\n" -" git bisect (bad|new|<term-new>) [<rev>]\n" -" git bisect (good|old|<term-old>) [<rev>...]\n" -" git bisect terms [--term-good | --term-bad]\n" -" git bisect skip [(<rev>|<range>)...]\n" -" git bisect reset [<commit>]\n" -" git bisect visualize\n" -" git bisect replay <logfile>\n" -" git bisect log\n" -" git bisect run <cmd>...\n" -" git bisect help\n" +msgid "format.headers" msgstr "" #. type: Plain text -#: en/git-bisect.txt:40 +#: en/config.txt:1357 msgid "" -"This command uses a binary search algorithm to find which commit in your " -"project's history introduced a bug. You use it by first telling it a \"bad\" " -"commit that is known to contain the bug, and a \"good\" commit that is known " -"to be before the bug was introduced. Then `git bisect` picks a commit " -"between those two endpoints and asks you whether the selected commit is " -"\"good\" or \"bad\". It continues narrowing down the range until it finds " -"the exact commit that introduced the change." +"Additional email headers to include in a patch to be submitted by mail. See " +"linkgit:git-format-patch[1]." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:47 -msgid "" -"In fact, `git bisect` can be used to find the commit that changed *any* " -"property of your project; e.g., the commit that fixed a bug, or the commit " -"that caused a benchmark's performance to improve. To support this more " -"general usage, the terms \"old\" and \"new\" can be used in place of " -"\"good\" and \"bad\", or you can choose your own terms. See section " -"\"Alternate terms\" below for more information." +#. type: Labeled list +#: en/config.txt:1358 +#, no-wrap +msgid "format.to" msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:49 +#. type: Labeled list +#: en/config.txt:1359 #, no-wrap -msgid "Basic bisect commands: start, bad, good" +msgid "format.cc" msgstr "" #. type: Plain text -#: en/git-bisect.txt:54 +#: en/config.txt:1363 msgid "" -"As an example, suppose you are trying to find the commit that broke a " -"feature that was known to work in version `v2.6.13-rc2` of your project. You " -"start a bisect session as follows:" +"Additional recipients to include in a patch to be submitted by mail. See " +"the --to and --cc options in linkgit:git-format-patch[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:59 +#. type: Labeled list +#: en/config.txt:1364 #, no-wrap -msgid "" -"$ git bisect start\n" -"$ git bisect bad # Current version is bad\n" -"$ git bisect good v2.6.13-rc2 # v2.6.13-rc2 is known to be good\n" +msgid "format.subjectPrefix" msgstr "" #. type: Plain text -#: en/git-bisect.txt:64 +#: en/config.txt:1367 msgid "" -"Once you have specified at least one bad and one good commit, `git bisect` " -"selects a commit in the middle of that range of history, checks it out, and " -"outputs something similar to the following:" +"The default for format-patch is to output files with the '[PATCH]' subject " +"prefix. Use this variable to change that prefix." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:67 +#. type: Labeled list +#: en/config.txt:1368 #, no-wrap -msgid "Bisecting: 675 revisions left to test after this (roughly 10 steps)\n" +msgid "format.signature" msgstr "" #. type: Plain text -#: en/git-bisect.txt:71 +#: en/config.txt:1373 msgid "" -"You should now compile the checked-out version and test it. If that version " -"works correctly, type" +"The default for format-patch is to output a signature containing the Git " +"version number. Use this variable to change that default. Set this variable " +"to the empty string (\"\") to suppress signature generation." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:74 +#. type: Labeled list +#: en/config.txt:1374 #, no-wrap -msgid "$ git bisect good\n" +msgid "format.signatureFile" msgstr "" #. type: Plain text -#: en/git-bisect.txt:77 -msgid "If that version is broken, type" +#: en/config.txt:1377 +msgid "" +"Works just like format.signature except the contents of the file specified " +"by this variable will be used as the signature." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:80 +#. type: Labeled list +#: en/config.txt:1378 #, no-wrap -msgid "$ git bisect bad\n" +msgid "format.suffix" msgstr "" #. type: Plain text -#: en/git-bisect.txt:83 -msgid "Then `git bisect` will respond with something like" +#: en/config.txt:1382 +msgid "" +"The default for format-patch is to output files with the suffix " +"`.patch`. Use this variable to change that suffix (make sure to include the " +"dot if you want it)." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:86 +#. type: Labeled list +#: en/config.txt:1383 en/git-log.txt:175 #, no-wrap -msgid "Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:91 -msgid "" -"Keep repeating the process: compile the tree, test it, and depending on " -"whether it is good or bad run `git bisect good` or `git bisect bad` to ask " -"for the next commit that needs testing." +msgid "format.pretty" msgstr "" #. type: Plain text -#: en/git-bisect.txt:95 +#: en/config.txt:1387 msgid "" -"Eventually there will be no more revisions left to inspect, and the command " -"will print out a description of the first bad commit. The reference " -"`refs/bisect/bad` will be left pointing at that commit." +"The default pretty format for log/show/whatchanged command, See " +"linkgit:git-log[1], linkgit:git-show[1], linkgit:git-whatchanged[1]." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:98 +#. type: Labeled list +#: en/config.txt:1388 #, no-wrap -msgid "Bisect reset" +msgid "format.thread" msgstr "" #. type: Plain text -#: en/git-bisect.txt:102 +#: en/config.txt:1397 msgid "" -"After a bisect session, to clean up the bisection state and return to the " -"original HEAD, issue the following command:" +"The default threading style for 'git format-patch'. Can be a boolean value, " +"or `shallow` or `deep`. `shallow` threading makes every mail a reply to the " +"head of the series, where the head is chosen from the cover letter, the " +"`--in-reply-to`, and the first patch mail, in this order. `deep` threading " +"makes every mail a reply to the previous one. A true boolean value is the " +"same as `shallow`, and a false value disables threading." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:105 +#. type: Labeled list +#: en/config.txt:1398 #, no-wrap -msgid "$ git bisect reset\n" +msgid "format.signOff" msgstr "" #. type: Plain text -#: en/git-bisect.txt:110 +#: en/config.txt:1404 msgid "" -"By default, this will return your tree to the commit that was checked out " -"before `git bisect start`. (A new `git bisect start` will also do that, as " -"it cleans up the old bisection state.)" -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:113 -msgid "With an optional argument, you can return to a different commit instead:" +"A boolean value which lets you enable the `-s/--signoff` option of " +"format-patch by default. *Note:* Adding the Signed-off-by: line to a patch " +"should be a conscious act and means that you certify you have the rights to " +"submit this work under the same open source license. Please see the " +"'SubmittingPatches' document for further discussion." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:116 +#. type: Labeled list +#: en/config.txt:1405 #, no-wrap -msgid "$ git bisect reset <commit>\n" +msgid "format.coverLetter" msgstr "" #. type: Plain text -#: en/git-bisect.txt:121 +#: en/config.txt:1409 msgid "" -"For example, `git bisect reset bisect/bad` will check out the first bad " -"revision, while `git bisect reset HEAD` will leave you on the current " -"bisection commit and avoid switching commits at all." +"A boolean that controls whether to generate a cover-letter when format-patch " +"is invoked, but in addition can be set to \"auto\", to generate a " +"cover-letter only when there's more than one patch." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:124 +#. type: Labeled list +#: en/config.txt:1410 #, no-wrap -msgid "Alternate terms" -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:132 -msgid "" -"Sometimes you are not looking for the commit that introduced a breakage, but " -"rather for a commit that caused a change between some other \"old\" state " -"and \"new\" state. For example, you might be looking for the commit that " -"introduced a particular fix. Or you might be looking for the first commit in " -"which the source-code filenames were finally all converted to your company's " -"naming standard. Or whatever." +msgid "format.outputDirectory" msgstr "" #. type: Plain text -#: en/git-bisect.txt:138 +#: en/config.txt:1413 msgid "" -"In such cases it can be very confusing to use the terms \"good\" and \"bad\" " -"to refer to \"the state before the change\" and \"the state after the " -"change\". So instead, you can use the terms \"old\" and \"new\", " -"respectively, in place of \"good\" and \"bad\". (But note that you cannot " -"mix \"good\" and \"bad\" with \"old\" and \"new\" in a single session.)" +"Set a custom directory to store the resulting files instead of the current " +"working directory." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:145 -msgid "" -"In this more general usage, you provide `git bisect` with a \"new\" commit " -"has some property and an \"old\" commit that doesn't have that " -"property. Each time `git bisect` checks out a commit, you test if that " -"commit has the property. If it does, mark the commit as \"new\"; otherwise, " -"mark it as \"old\". When the bisection is done, `git bisect` will report " -"which commit introduced the property." +#. type: Labeled list +#: en/config.txt:1414 +#, no-wrap +msgid "format.useAutoBase" msgstr "" #. type: Plain text -#: en/git-bisect.txt:149 +#: en/config.txt:1417 msgid "" -"To use \"old\" and \"new\" instead of \"good\" and bad, you must run `git " -"bisect start` without commits as argument and then run the following " -"commands to add the commits:" +"A boolean value which lets you enable the `--base=auto` option of " +"format-patch by default." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:152 +#. type: Labeled list +#: en/config.txt:1418 #, no-wrap -msgid "git bisect old [<rev>]\n" +msgid "filter.<driver>.clean" msgstr "" #. type: Plain text -#: en/git-bisect.txt:155 -msgid "to indicate that a commit was before the sought change, or" +#: en/config.txt:1422 +msgid "" +"The command which is used to convert the content of a worktree file to a " +"blob upon checkin. See linkgit:gitattributes[5] for details." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:158 +#. type: Labeled list +#: en/config.txt:1423 #, no-wrap -msgid "git bisect new [<rev>...]\n" +msgid "filter.<driver>.smudge" msgstr "" #. type: Plain text -#: en/git-bisect.txt:161 -msgid "to indicate that it was after." +#: en/config.txt:1427 +msgid "" +"The command which is used to convert the content of a blob object to a " +"worktree file upon checkout. See linkgit:gitattributes[5] for details." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:163 -msgid "To get a reminder of the currently used terms, use" +#. type: Labeled list +#: en/config.txt:1428 +#, no-wrap +msgid "fsck.<msg-id>" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:166 -#, no-wrap -msgid "git bisect terms\n" +#. type: Plain text +#: en/config.txt:1431 +msgid "" +"Allows overriding the message type (error, warn or ignore) of a specific " +"message ID such as `missingEmail`." msgstr "" #. type: Plain text -#: en/git-bisect.txt:170 +#: en/config.txt:1435 msgid "" -"You can get just the old (respectively new) term with `git bisect term " -"--term-old` or `git bisect term --term-good`." +"For convenience, fsck prefixes the error/warning with the message ID, e.g. " +"\"missingEmail: invalid author/committer line - missing email\" means that " +"setting `fsck.missingEmail = ignore` will hide that issue." msgstr "" #. type: Plain text -#: en/git-bisect.txt:175 +#: en/config.txt:1438 msgid "" -"If you would like to use your own terms instead of \"bad\"/\"good\" or " -"\"new\"/\"old\", you can choose any names you like (except existing bisect " -"subcommands like `reset`, `start`, ...) by starting the bisection using" +"This feature is intended to support working with legacy repositories which " +"cannot be repaired without disruptive changes." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:178 +#. type: Labeled list +#: en/config.txt:1439 #, no-wrap -msgid "git bisect start --term-old <term-old> --term-new <term-new>\n" +msgid "fsck.skipList" msgstr "" #. type: Plain text -#: en/git-bisect.txt:182 +#: en/config.txt:1446 en/config.txt:2679 msgid "" -"For example, if you are looking for a commit that introduced a performance " -"regression, you might use" +"The path to a sorted list of object names (i.e. one SHA-1 per line) that are " +"known to be broken in a non-fatal way and should be ignored. This feature is " +"useful when an established project should be accepted despite early commits " +"containing errors that can be safely ignored such as invalid committer email " +"addresses. Note: corrupt objects cannot be skipped with this setting." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:185 +#. type: Labeled list +#: en/config.txt:1447 #, no-wrap -msgid "git bisect start --term-old fast --term-new slow\n" +msgid "gc.aggressiveDepth" msgstr "" #. type: Plain text -#: en/git-bisect.txt:188 -msgid "Or if you are looking for the commit that fixed a bug, you might use" +#: en/config.txt:1451 +msgid "" +"The depth parameter used in the delta compression algorithm used by 'git gc " +"--aggressive'. This defaults to 50." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:191 +#. type: Labeled list +#: en/config.txt:1452 #, no-wrap -msgid "git bisect start --term-new fixed --term-old broken\n" +msgid "gc.aggressiveWindow" msgstr "" #. type: Plain text -#: en/git-bisect.txt:195 +#: en/config.txt:1456 msgid "" -"Then, use `git bisect <term-old>` and `git bisect <term-new>` instead of " -"`git bisect good` and `git bisect bad` to mark commits." +"The window size parameter used in the delta compression algorithm used by " +"'git gc --aggressive'. This defaults to 250." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:197 +#. type: Labeled list +#: en/config.txt:1457 #, no-wrap -msgid "Bisect visualize" +msgid "gc.auto" msgstr "" #. type: Plain text -#: en/git-bisect.txt:201 +#: en/config.txt:1463 msgid "" -"To see the currently remaining suspects in 'gitk', issue the following " -"command during the bisection process:" +"When there are approximately more than this many loose objects in the " +"repository, `git gc --auto` will pack them. Some Porcelain commands use " +"this command to perform a light-weight garbage collection from time to " +"time. The default value is 6700. Setting this to 0 disables it." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:204 +#. type: Labeled list +#: en/config.txt:1464 #, no-wrap -msgid "$ git bisect visualize\n" -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:207 -msgid "`view` may also be used as a synonym for `visualize`." +msgid "gc.autoPackLimit" msgstr "" #. type: Plain text -#: en/git-bisect.txt:211 +#: en/config.txt:1469 msgid "" -"If the `DISPLAY` environment variable is not set, 'git log' is used " -"instead. You can also give command-line options such as `-p` and `--stat`." +"When there are more than this many packs that are not marked with `*.keep` " +"file in the repository, `git gc --auto` consolidates them into one larger " +"pack. The default\tvalue is 50. Setting this to 0 disables it." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:214 +#. type: Labeled list +#: en/config.txt:1470 #, no-wrap -msgid "$ git bisect view --stat\n" +msgid "gc.autoDetach" msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:217 +#. type: Plain text +#: en/config.txt:1473 +msgid "" +"Make `git gc --auto` return immediately and run in background if the system " +"supports it. Default is true." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1474 #, no-wrap -msgid "Bisect log and bisect replay" +msgid "gc.logExpiry" msgstr "" #. type: Plain text -#: en/git-bisect.txt:221 +#: en/config.txt:1479 msgid "" -"After having marked revisions as good or bad, issue the following command to " -"show what has been done so far:" +"If the file gc.log exists, then `git gc --auto` won't run unless that file " +"is more than 'gc.logExpiry' old. Default is \"1.day\". See " +"`gc.pruneExpire` for more ways to specify its value." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:224 +#. type: Labeled list +#: en/config.txt:1480 #, no-wrap -msgid "$ git bisect log\n" +msgid "gc.packRefs" msgstr "" #. type: Plain text -#: en/git-bisect.txt:230 +#: en/config.txt:1487 msgid "" -"If you discover that you made a mistake in specifying the status of a " -"revision, you can save the output of this command to a file, edit it to " -"remove the incorrect entries, and then issue the following commands to " -"return to a corrected state:" +"Running `git pack-refs` in a repository renders it unclonable by Git " +"versions prior to 1.5.1.2 over dumb transports such as HTTP. This variable " +"determines whether 'git gc' runs `git pack-refs`. This can be set to " +"`notbare` to enable it within all non-bare repos or it can be set to a " +"boolean value. The default is `true`." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:234 +#. type: Labeled list +#: en/config.txt:1488 #, no-wrap -msgid "" -"$ git bisect reset\n" -"$ git bisect replay that-file\n" -msgstr "" - -#. type: Title ~ -#: en/git-bisect.txt:237 -#, no-wrap -msgid "Avoiding testing a commit" +msgid "gc.pruneExpire" msgstr "" #. type: Plain text -#: en/git-bisect.txt:244 +#: en/config.txt:1496 msgid "" -"If, in the middle of a bisect session, you know that the suggested revision " -"is not a good one to test (e.g. it fails to build and you know that the " -"failure does not have anything to do with the bug you are chasing), you can " -"manually select a nearby commit and test that one instead." -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:246 en/git-tag.txt:337 -msgid "For example:" +"When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'. Override " +"the grace period with this config variable. The value \"now\" may be used " +"to disable this grace period and always prune unreachable objects " +"immediately, or \"never\" may be used to suppress pruning. This feature " +"helps prevent corruption when 'git gc' runs concurrently with another " +"process writing to the repository; see the \"NOTES\" section of " +"linkgit:git-gc[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:253 +#. type: Labeled list +#: en/config.txt:1497 #, no-wrap -msgid "" -"$ git bisect good/bad\t\t\t# previous round was good or bad.\n" -"Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" -"$ git bisect visualize\t\t\t# oops, that is uninteresting.\n" -"$ git reset --hard HEAD~3\t\t# try 3 revisions before what\n" -"\t\t\t\t\t# was suggested\n" +msgid "gc.worktreePruneExpire" msgstr "" #. type: Plain text -#: en/git-bisect.txt:257 +#: en/config.txt:1504 msgid "" -"Then compile and test the chosen revision, and afterwards mark the revision " -"as good or bad in the usual manner." +"When 'git gc' is run, it calls 'git worktree prune --expire 3.months.ago'. " +"This config variable can be used to set a different grace period. The value " +"\"now\" may be used to disable the grace period and prune " +"`$GIT_DIR/worktrees` immediately, or \"never\" may be used to suppress " +"pruning." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:259 +#. type: Labeled list +#: en/config.txt:1505 #, no-wrap -msgid "Bisect skip" +msgid "gc.reflogExpire" +msgstr "" + +#. type: Labeled list +#: en/config.txt:1506 +#, no-wrap +msgid "gc.<pattern>.reflogExpire" msgstr "" #. type: Plain text -#: en/git-bisect.txt:263 +#: en/config.txt:1513 msgid "" -"Instead of choosing a nearby commit by yourself, you can ask Git to do it " -"for you by issuing the command:" +"'git reflog expire' removes reflog entries older than this time; defaults to " +"90 days. The value \"now\" expires all entries immediately, and \"never\" " +"suppresses expiration altogether. With \"<pattern>\" (e.g. \"refs/stash\") " +"in the middle the setting applies only to the refs that match the <pattern>." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:266 +#. type: Labeled list +#: en/config.txt:1514 #, no-wrap -msgid "$ git bisect skip # Current version cannot be tested\n" +msgid "gc.reflogExpireUnreachable" msgstr "" -#. type: Plain text -#: en/git-bisect.txt:271 -msgid "" -"However, if you skip a commit adjacent to the one you are looking for, Git " -"will be unable to tell exactly which of those commits was the first bad one." +#. type: Labeled list +#: en/config.txt:1515 +#, no-wrap +msgid "gc.<pattern>.reflogExpireUnreachable" msgstr "" #. type: Plain text -#: en/git-bisect.txt:274 +#: en/config.txt:1523 msgid "" -"You can also skip a range of commits, instead of just one commit, using " -"range notation. For example:" +"'git reflog expire' removes reflog entries older than this time and are not " +"reachable from the current tip; defaults to 30 days. The value \"now\" " +"expires all entries immediately, and \"never\" suppresses expiration " +"altogether. With \"<pattern>\" (e.g. \"refs/stash\") in the middle, the " +"setting applies only to the refs that match the <pattern>." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:277 +#. type: Labeled list +#: en/config.txt:1524 #, no-wrap -msgid "$ git bisect skip v2.5..v2.6\n" +msgid "gc.rerereResolved" msgstr "" #. type: Plain text -#: en/git-bisect.txt:281 +#: en/config.txt:1528 msgid "" -"This tells the bisect process that no commit after `v2.5`, up to and " -"including `v2.6`, should be tested." +"Records of conflicted merge you resolved earlier are kept for this many days " +"when 'git rerere gc' is run. The default is 60 days. See " +"linkgit:git-rerere[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1529 +#, no-wrap +msgid "gc.rerereUnresolved" msgstr "" #. type: Plain text -#: en/git-bisect.txt:284 +#: en/config.txt:1533 msgid "" -"Note that if you also want to skip the first commit of the range you would " -"issue the command:" +"Records of conflicted merge you have not resolved are kept for this many " +"days when 'git rerere gc' is run. The default is 15 days. See " +"linkgit:git-rerere[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:287 +#. type: Labeled list +#: en/config.txt:1534 #, no-wrap -msgid "$ git bisect skip v2.5 v2.5..v2.6\n" +msgid "gitcvs.commitMsgAnnotation" msgstr "" #. type: Plain text -#: en/git-bisect.txt:291 +#: en/config.txt:1537 msgid "" -"This tells the bisect process that the commits between `v2.5` and `v2.6` " -"(inclusive) should be skipped." +"Append this string to each commit message. Set to empty string to disable " +"this feature. Defaults to \"via git-CVS emulator\"." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:294 +#. type: Labeled list +#: en/config.txt:1538 #, no-wrap -msgid "Cutting down bisection by giving more parameters to bisect start" +msgid "gitcvs.enabled" msgstr "" #. type: Plain text -#: en/git-bisect.txt:299 +#: en/config.txt:1541 msgid "" -"You can further cut down the number of trials, if you know what part of the " -"tree is involved in the problem you are tracking down, by specifying path " -"parameters when issuing the `bisect start` command:" +"Whether the CVS server interface is enabled for this repository. See " +"linkgit:git-cvsserver[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:302 +#. type: Labeled list +#: en/config.txt:1542 #, no-wrap -msgid "$ git bisect start -- arch/i386 include/asm-i386\n" +msgid "gitcvs.logFile" msgstr "" #. type: Plain text -#: en/git-bisect.txt:307 +#: en/config.txt:1545 msgid "" -"If you know beforehand more than one good commit, you can narrow the bisect " -"space down by specifying all of the good commits immediately after the bad " -"commit when issuing the `bisect start` command:" +"Path to a log file where the CVS server interface well... logs various " +"stuff. See linkgit:git-cvsserver[1]." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:312 +#. type: Labeled list +#: en/config.txt:1546 #, no-wrap +msgid "gitcvs.usecrlfattr" +msgstr "" + +#. type: Plain text +#: en/config.txt:1556 msgid "" -"$ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --\n" -" # v2.6.20-rc6 is bad\n" -" # v2.6.20-rc4 and v2.6.20-rc1 are good\n" +"If true, the server will look up the end-of-line conversion attributes for " +"files to determine the `-k` modes to use. If the attributes force Git to " +"treat a file as text, the `-k` mode will be left blank so CVS clients will " +"treat it as text. If they suppress text conversion, the file will be set " +"with '-kb' mode, which suppresses any newline munging the client might " +"otherwise do. If the attributes do not allow the file type to be determined, " +"then `gitcvs.allBinary` is used. See linkgit:gitattributes[5]." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:315 +#. type: Labeled list +#: en/config.txt:1557 #, no-wrap -msgid "Bisect run" +msgid "gitcvs.allBinary" msgstr "" #. type: Plain text -#: en/git-bisect.txt:319 +#: en/config.txt:1566 msgid "" -"If you have a script that can tell if the current source code is good or " -"bad, you can bisect by issuing the command:" +"This is used if `gitcvs.usecrlfattr` does not resolve the correct '-kb' mode " +"to use. If true, all unresolved files are sent to the client in mode " +"'-kb'. This causes the client to treat them as binary files, which " +"suppresses any newline munging it otherwise might do. Alternatively, if it " +"is set to \"guess\", then the contents of the file are examined to decide if " +"it is binary, similar to `core.autocrlf`." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:322 +#. type: Labeled list +#: en/config.txt:1567 en/git-cvsserver.txt:257 #, no-wrap -msgid "$ git bisect run my_script arguments\n" +msgid "gitcvs.dbName" msgstr "" #. type: Plain text -#: en/git-bisect.txt:328 +#: en/config.txt:1574 msgid "" -"Note that the script (`my_script` in the above example) should exit with " -"code 0 if the current source code is good/old, and exit with a code between " -"1 and 127 (inclusive), except 125, if the current source code is bad/new." +"Database used by git-cvsserver to cache revision information derived from " +"the Git repository. The exact meaning depends on the used database driver, " +"for SQLite (which is the default driver) this is a filename. Supports " +"variable substitution (see linkgit:git-cvsserver[1] for details). May not " +"contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" msgstr "" -#. type: Plain text -#: en/git-bisect.txt:332 -msgid "" -"Any other exit code will abort the bisect process. It should be noted that a " -"program that terminates via `exit(-1)` leaves $? = 255, (see the exit(3) " -"manual page), as the value is chopped with `& 0377`." +#. type: Labeled list +#: en/config.txt:1575 en/git-cvsserver.txt:264 +#, no-wrap +msgid "gitcvs.dbDriver" msgstr "" #. type: Plain text -#: en/git-bisect.txt:341 +#: en/config.txt:1582 msgid "" -"The special exit code 125 should be used when the current source code cannot " -"be tested. If the script exits with this code, the current revision will be " -"skipped (see `git bisect skip` above). 125 was chosen as the highest " -"sensible value to use for this purpose, because 126 and 127 are used by " -"POSIX shells to signal specific error status (127 is for command not found, " -"126 is for command found but not executable--these details do not matter, as " -"they are normal errors in the script, as far as `bisect run` is concerned)." +"Used Perl DBI driver. You can specify any available driver for this here, " +"but it might not work. git-cvsserver is tested with 'DBD::SQLite', reported " +"to work with 'DBD::Pg', and reported *not* to work with " +"'DBD::mysql'. Experimental feature. May not contain double colons " +"(`:`). Default: 'SQLite'. See linkgit:git-cvsserver[1]." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:347 -msgid "" -"You may often find that during a bisect session you want to have temporary " -"modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a header file, or " -"\"revision that does not have this commit needs this patch applied to work " -"around another problem this bisection is not interested in\") applied to the " -"revision being tested." +#. type: Labeled list +#: en/config.txt:1583 +#, no-wrap +msgid "gitcvs.dbUser, gitcvs.dbPass" msgstr "" #. type: Plain text -#: en/git-bisect.txt:355 +#: en/config.txt:1588 msgid "" -"To cope with such a situation, after the inner 'git bisect' finds the next " -"revision to test, the script can apply the patch before compiling, run the " -"real test, and afterwards decide if the revision (possibly with the needed " -"patch) passed the test and then rewind the tree to the pristine state. " -"Finally the script should exit with the status of the real test to let the " -"`git bisect run` command loop determine the eventual outcome of the bisect " -"session." +"Database user and password. Only useful if setting `gitcvs.dbDriver`, since " +"SQLite has no concept of database users and/or passwords. 'gitcvs.dbUser' " +"supports variable substitution (see linkgit:git-cvsserver[1] for details)." msgstr "" #. type: Labeled list -#: en/git-bisect.txt:358 en/git-clone.txt:134 +#: en/config.txt:1589 en/git-cvsserver.txt:282 #, no-wrap -msgid "--no-checkout" +msgid "gitcvs.dbTableNamePrefix" msgstr "" #. type: Plain text -#: en/git-bisect.txt:363 +#: en/config.txt:1595 msgid "" -"Do not checkout the new working tree at each iteration of the bisection " -"process. Instead just update a special reference named `BISECT_HEAD` to make " -"it point to the commit that should be tested." +"Database table name prefix. Prepended to the names of any database tables " +"used, allowing a single database to be used for several repositories. " +"Supports variable substitution (see linkgit:git-cvsserver[1] for details). " +"Any non-alphabetic characters will be replaced with underscores." msgstr "" #. type: Plain text -#: en/git-bisect.txt:366 +#: en/config.txt:1601 msgid "" -"This option may be useful when the test you would perform in each step does " -"not require a checked out tree." -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:368 -msgid "If the repository is bare, `--no-checkout` is assumed." +"All gitcvs variables except for `gitcvs.usecrlfattr` and `gitcvs.allBinary` " +"can also be specified as 'gitcvs.<access_method>.<varname>' (where " +"'access_method' is one of \"ext\" and \"pserver\") to make them apply only " +"for the given access method." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:373 -msgid "Automatically bisect a broken build between v1.2 and HEAD:" +#. type: Labeled list +#: en/config.txt:1602 +#, no-wrap +msgid "gitweb.category" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:378 +#. type: Labeled list +#: en/config.txt:1603 #, no-wrap -msgid "" -"$ git bisect start HEAD v1.2 -- # HEAD is bad, v1.2 is good\n" -"$ git bisect run make # \"make\" builds the app\n" -"$ git bisect reset # quit the bisect session\n" +msgid "gitweb.description" msgstr "" -#. type: Plain text -#: en/git-bisect.txt:381 -msgid "Automatically bisect a test failure between origin and HEAD:" +#. type: Labeled list +#: en/config.txt:1604 +#, no-wrap +msgid "gitweb.owner" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:386 +#. type: Labeled list +#: en/config.txt:1605 #, no-wrap -msgid "" -"$ git bisect start HEAD origin -- # HEAD is bad, origin is good\n" -"$ git bisect run make test # \"make test\" builds and tests\n" -"$ git bisect reset # quit the bisect session\n" +msgid "gitweb.url" msgstr "" #. type: Plain text -#: en/git-bisect.txt:389 en/git-bisect.txt:443 -msgid "Automatically bisect a broken test case:" +#: en/config.txt:1607 +msgid "See linkgit:gitweb[1] for description." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:398 +#. type: Labeled list +#: en/config.txt:1608 #, no-wrap -msgid "" -"$ cat ~/test.sh\n" -"#!/bin/sh\n" -"make || exit 125 # this skips broken builds\n" -"~/check_test_case.sh # does the test case pass?\n" -"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" -"$ git bisect run ~/test.sh\n" -"$ git bisect reset # quit the bisect session\n" -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:404 -msgid "" -"Here we use a `test.sh` custom script. In this script, if `make` fails, we " -"skip the current commit. `check_test_case.sh` should `exit 0` if the test " -"case passes, and `exit 1` otherwise." +msgid "gitweb.avatar" msgstr "" -#. type: Plain text -#: en/git-bisect.txt:408 -msgid "" -"It is safer if both `test.sh` and `check_test_case.sh` are outside the " -"repository to prevent interactions between the bisect, make and test " -"processes and the scripts." +#. type: Labeled list +#: en/config.txt:1609 +#, no-wrap +msgid "gitweb.blame" msgstr "" -#. type: Plain text -#: en/git-bisect.txt:410 -msgid "Automatically bisect with temporary modifications (hot-fix):" +#. type: Labeled list +#: en/config.txt:1610 +#, no-wrap +msgid "gitweb.grep" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:414 +#. type: Labeled list +#: en/config.txt:1611 #, no-wrap -msgid "" -"$ cat ~/test.sh\n" -"#!/bin/sh\n" +msgid "gitweb.highlight" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:427 +#. type: Labeled list +#: en/config.txt:1612 #, no-wrap -msgid "" -"# tweak the working tree by merging the hot-fix branch\n" -"# and then attempt a build\n" -"if\tgit merge --no-commit hot-fix &&\n" -"\tmake\n" -"then\n" -"\t# run project specific test and report its status\n" -"\t~/check_test_case.sh\n" -"\tstatus=$?\n" -"else\n" -"\t# tell the caller this is untestable\n" -"\tstatus=125\n" -"fi\n" +msgid "gitweb.patches" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:430 +#. type: Labeled list +#: en/config.txt:1613 #, no-wrap -msgid "" -"# undo the tweak to allow clean flipping to the next commit\n" -"git reset --hard\n" +msgid "gitweb.pickaxe" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:433 +#. type: Labeled list +#: en/config.txt:1614 #, no-wrap -msgid "" -"# return control\n" -"exit $status\n" +msgid "gitweb.remote_heads" msgstr "" -#. type: Plain text -#: en/git-bisect.txt:441 -msgid "" -"This applies modifications from a hot-fix branch before each test run, " -"e.g. in case your build or test environment changed so that older revisions " -"may need a fix which newer ones have already. (Make sure the hot-fix branch " -"is based off a commit which is contained in all revisions which you are " -"bisecting, so that the merge does not pull in too much, or use `git " -"cherry-pick` instead of `git merge`.)" +#. type: Labeled list +#: en/config.txt:1615 +#, no-wrap +msgid "gitweb.showSizes" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:448 +#. type: Labeled list +#: en/config.txt:1616 #, no-wrap -msgid "" -"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" -"$ git bisect run sh -c \"make || exit 125; ~/check_test_case.sh\"\n" -"$ git bisect reset # quit the bisect session\n" +msgid "gitweb.snapshot" msgstr "" #. type: Plain text -#: en/git-bisect.txt:452 -msgid "" -"This shows that you can do without a run script if you write the test on a " -"single line." +#: en/config.txt:1618 +msgid "See linkgit:gitweb.conf[5] for description." msgstr "" -#. type: Plain text -#: en/git-bisect.txt:454 -msgid "Locate a good region of the object graph in a damaged repository" +#. type: Labeled list +#: en/config.txt:1619 en/git-grep.txt:44 +#, no-wrap +msgid "grep.lineNumber" msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:464 -#, no-wrap -msgid "" -"$ git bisect start HEAD <known-good-commit> [ <boundary-commit> ... ] " -"--no-checkout\n" -"$ git bisect run sh -c '\n" -"\tGOOD=$(git for-each-ref \"--format=%(objectname)\" refs/bisect/good-*) " -"&&\n" -"\tgit rev-list --objects BISECT_HEAD --not $GOOD >tmp.$$ &&\n" -"\tgit pack-objects --stdout >/dev/null <tmp.$$\n" -"\trc=$?\n" -"\trm -f tmp.$$\n" -"\ttest $rc = 0'\n" +#. type: Plain text +#: en/config.txt:1621 en/git-grep.txt:46 +msgid "If set to true, enable `-n` option by default." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:466 +#. type: Labeled list +#: en/config.txt:1622 en/git-grep.txt:47 #, no-wrap -msgid "$ git bisect reset # quit the bisect session\n" +msgid "grep.patternType" msgstr "" #. type: Plain text -#: en/git-bisect.txt:471 +#: en/config.txt:1627 en/git-grep.txt:52 msgid "" -"In this case, when 'git bisect run' finishes, bisect/bad will refer to a " -"commit that has at least one parent whose reachable graph is fully " -"traversable in the sense required by 'git pack objects'." -msgstr "" - -#. type: Plain text -#: en/git-bisect.txt:473 -msgid "Look for a fix instead of a regression in the code" +"Set the default matching behavior. Using a value of 'basic', 'extended', " +"'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`, " +"`--fixed-strings`, or `--perl-regexp` option accordingly, while the value " +"'default' will return to the default matching behavior." msgstr "" -#. type: delimited block - -#: en/git-bisect.txt:478 +#. type: Labeled list +#: en/config.txt:1628 en/git-grep.txt:53 #, no-wrap -msgid "" -"$ git bisect start\n" -"$ git bisect new HEAD # current commit is marked as new\n" -"$ git bisect old HEAD~10 # the tenth commit from now is marked as old\n" +msgid "grep.extendedRegexp" msgstr "" #. type: Plain text -#: en/git-bisect.txt:481 -msgid "or:" -msgstr "" - -#. type: delimited block - -#: en/git-bisect.txt:485 -#, no-wrap +#: en/config.txt:1632 en/git-grep.txt:57 msgid "" -"$ git bisect start --term-old broken --term-new fixed\n" -"$ git bisect fixed\n" -"$ git bisect broken HEAD~10\n" +"If set to true, enable `--extended-regexp` option by default. This option is " +"ignored when the `grep.patternType` option is set to a value other than " +"'default'." msgstr "" -#. type: Title ~ -#: en/git-bisect.txt:488 +#. type: Labeled list +#: en/config.txt:1633 en/git-grep.txt:58 #, no-wrap -msgid "Getting help" +msgid "grep.threads" msgstr "" #. type: Plain text -#: en/git-bisect.txt:492 +#: en/config.txt:1636 msgid "" -"Use `git bisect` to get a short usage description, and `git bisect help` or " -"`git bisect -h` to get a long usage description." +"Number of grep worker threads to use. See `grep.threads` in " +"linkgit:git-grep[1] for more information." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1637 en/git-grep.txt:65 +#, no-wrap +msgid "grep.fallbackToNoIndex" msgstr "" #. type: Plain text -#: en/git-bisect.txt:497 +#: en/config.txt:1640 en/git-grep.txt:68 msgid "" -"link:git-bisect-lk2009.html[Fighting regressions with git bisect], " -"linkgit:git-blame[1]." +"If set to true, fall back to git grep --no-index if git grep is executed " +"outside of a git repository. Defaults to false." msgstr "" -#. type: Title = -#: en/git-blame.txt:2 +#. type: Labeled list +#: en/config.txt:1641 #, no-wrap -msgid "git-blame(1)" -msgstr "" - -#. type: Plain text -#: en/git-blame.txt:7 -msgid "git-blame - Show what revision and author last modified each line of a file" +msgid "gpg.program" msgstr "" #. type: Plain text -#: en/git-blame.txt:15 -#, no-wrap +#: en/config.txt:1651 msgid "" -"'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] " -"[--incremental]\n" -"\t [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]\n" -"\t [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse " -"<rev>..<rev>]\n" -"\t [--] <file>\n" +"Use this custom program instead of \"`gpg`\" found on `$PATH` when making or " +"verifying a PGP signature. The program must support the same command-line " +"interface as GPG, namely, to verify a detached signature, \"`gpg --verify " +"$file - <$signature`\" is run, and the program is expected to signal a good " +"signature by exiting with code 0, and to generate an ASCII-armored detached " +"signature, the standard input of \"`gpg -bsau $key`\" is fed with the " +"contents to be signed, and the program is expected to send the result to its " +"standard output." msgstr "" -#. type: Plain text -#: en/git-blame.txt:21 -msgid "" -"Annotates each line in the given file with information from the revision " -"which last modified the line. Optionally, start annotating from the given " -"revision." +#. type: Labeled list +#: en/config.txt:1652 +#, no-wrap +msgid "gui.commitMsgWidth" msgstr "" #. type: Plain text -#: en/git-blame.txt:24 +#: en/config.txt:1655 msgid "" -"When specified one or more times, `-L` restricts annotation to the requested " -"lines." +"Defines how wide the commit message window is in the " +"linkgit:git-gui[1]. \"75\" is the default." msgstr "" -#. type: Plain text -#: en/git-blame.txt:30 -msgid "" -"The origin of lines is automatically followed across whole-file renames " -"(currently there is no option to turn the rename-following off). To follow " -"lines moved from one file to another, or to follow lines that were copied " -"and pasted from another file, etc., see the `-C` and `-M` options." +#. type: Labeled list +#: en/config.txt:1656 +#, no-wrap +msgid "gui.diffContext" msgstr "" #. type: Plain text -#: en/git-blame.txt:34 +#: en/config.txt:1659 msgid "" -"The report does not tell you anything about lines which have been deleted or " -"replaced; you need to use a tool such as 'git diff' or the \"pickaxe\" " -"interface briefly mentioned in the following paragraph." +"Specifies how many context lines should be used in calls to diff made by the " +"linkgit:git-gui[1]. The default is \"5\"." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1660 +#, no-wrap +msgid "gui.displayUntracked" msgstr "" #. type: Plain text -#: en/git-blame.txt:41 +#: en/config.txt:1663 msgid "" -"Apart from supporting file annotation, Git also supports searching the " -"development history for when a code snippet occurred in a change. This makes " -"it possible to track when a code snippet was added to a file, moved or " -"copied between files, and eventually deleted or replaced. It works by " -"searching for a text string in the diff. A small example of the pickaxe " -"interface that searches for `blame_usage`:" +"Determines if linkgit:git-gui[1] shows untracked files in the file list. The " +"default is \"true\"." msgstr "" -#. type: delimited block - -#: en/git-blame.txt:46 +#. type: Labeled list +#: en/config.txt:1664 #, no-wrap -msgid "" -"$ git log --pretty=oneline -S'blame_usage'\n" -"5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>\n" -"ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output\n" +msgid "gui.encoding" msgstr "" #. type: Plain text -#: en/git-blame.txt:54 -msgid "Use the same output mode as linkgit:git-annotate[1] (Default: off)." +#: en/config.txt:1671 +msgid "" +"Specifies the default encoding to use for displaying of file contents in " +"linkgit:git-gui[1] and linkgit:gitk[1]. It can be overridden by setting the " +"'encoding' attribute for relevant files (see linkgit:gitattributes[5]). If " +"this option is not set, the tools default to the locale encoding." msgstr "" #. type: Labeled list -#: en/git-blame.txt:55 +#: en/config.txt:1672 #, no-wrap -msgid "--score-debug" +msgid "gui.matchTrackingBranch" msgstr "" #. type: Plain text -#: en/git-blame.txt:63 +#: en/config.txt:1676 msgid "" -"Include debugging information related to the movement of lines between files " -"(see `-C`) and lines moved within a file (see `-M`). The first number " -"listed is the score. This is the number of alphanumeric characters detected " -"as having been moved between or within files. This must be above a certain " -"threshold for 'git blame' to consider those lines of code to have been " -"moved." +"Determines if new branches created with linkgit:git-gui[1] should default to " +"tracking remote branches with matching names or not. Default: \"false\"." msgstr "" #. type: Labeled list -#: en/git-blame.txt:65 +#: en/config.txt:1677 #, no-wrap -msgid "--show-name" +msgid "gui.newBranchTemplate" msgstr "" #. type: Plain text -#: en/git-blame.txt:69 +#: en/config.txt:1680 msgid "" -"Show the filename in the original commit. By default the filename is shown " -"if there is any line that came from a file with a different name, due to " -"rename detection." +"Is used as suggested name when creating new branches using the " +"linkgit:git-gui[1]." msgstr "" #. type: Labeled list -#: en/git-blame.txt:71 +#: en/config.txt:1681 #, no-wrap -msgid "--show-number" -msgstr "" - -#. type: Plain text -#: en/git-blame.txt:73 -msgid "Show the line number in the original commit (Default: off)." +msgid "gui.pruneDuringFetch" msgstr "" #. type: Plain text -#: en/git-blame.txt:76 -msgid "Suppress the author name and timestamp from the output." +#: en/config.txt:1684 +msgid "" +"\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when " +"performing a fetch. The default value is \"false\"." msgstr "" #. type: Labeled list -#: en/git-blame.txt:78 +#: en/config.txt:1685 #, no-wrap -msgid "--show-email" +msgid "gui.trustmtime" msgstr "" #. type: Plain text -#: en/git-blame.txt:82 +#: en/config.txt:1688 msgid "" -"Show the author email instead of author name (Default: off). This can also " -"be controlled via the `blame.showEmail` config option." +"Determines if linkgit:git-gui[1] should trust the file modification " +"timestamp or not. By default the timestamps are not trusted." msgstr "" #. type: Labeled list -#: en/git-blame.txt:83 en/git-cvsexportcommit.txt:71 en/git-grep.txt:131 en/git-hash-object.txt:31 en/git-help.txt:66 en/diff-options.txt:531 +#: en/config.txt:1689 #, no-wrap -msgid "-w" +msgid "gui.spellingDictionary" msgstr "" #. type: Plain text -#: en/git-blame.txt:86 +#: en/config.txt:1693 msgid "" -"Ignore whitespace when comparing the parent's version and the child's to " -"find where the lines came from." +"Specifies the dictionary used for spell checking commit messages in the " +"linkgit:git-gui[1]. When set to \"none\" spell checking is turned off." msgstr "" #. type: Labeled list -#: en/git-blame.txt:87 en/git-describe.txt:52 +#: en/config.txt:1694 #, no-wrap -msgid "--abbrev=<n>" +msgid "gui.fastCopyBlame" msgstr "" #. type: Plain text -#: en/git-blame.txt:91 +#: en/config.txt:1698 msgid "" -"Instead of using the default 7+1 hexadecimal digits as the abbreviated " -"object name, use <n>+1 digits. Note that 1 column is used for a caret to " -"mark the boundary commit." +"If true, 'git gui blame' uses `-C` instead of `-C -C` for original location " +"detection. It makes blame significantly faster on huge repositories at the " +"expense of less thorough copy detection." msgstr "" -#. type: Title - -#: en/git-blame.txt:96 +#. type: Labeled list +#: en/config.txt:1699 #, no-wrap -msgid "THE PORCELAIN FORMAT" +msgid "gui.copyBlameThreshold" msgstr "" #. type: Plain text -#: en/git-blame.txt:100 +#: en/config.txt:1703 msgid "" -"In this format, each line is output after a header; the header at the " -"minimum has the first line which has:" +"Specifies the threshold to use in 'git gui blame' original location " +"detection, measured in alphanumeric characters. See the linkgit:git-blame[1] " +"manual for more information on copy detection." msgstr "" -#. type: Plain text -#: en/git-blame.txt:102 -msgid "40-byte SHA-1 of the commit the line is attributed to;" +#. type: Labeled list +#: en/config.txt:1704 +#, no-wrap +msgid "gui.blamehistoryctx" msgstr "" #. type: Plain text -#: en/git-blame.txt:103 -msgid "the line number of the line in the original file;" +#: en/config.txt:1709 +msgid "" +"Specifies the radius of history context in days to show in linkgit:gitk[1] " +"for the selected commit, when the `Show History Context` menu item is " +"invoked from 'git gui blame'. If this variable is set to zero, the whole " +"history is shown." msgstr "" -#. type: Plain text -#: en/git-blame.txt:104 -msgid "the line number of the line in the final file;" +#. type: Labeled list +#: en/config.txt:1710 +#, no-wrap +msgid "guitool.<name>.cmd" msgstr "" #. type: Plain text -#: en/git-blame.txt:107 +#: en/config.txt:1718 msgid "" -"on a line that starts a group of lines from a different commit than the " -"previous one, the number of lines in this group. On subsequent lines this " -"field is absent." +"Specifies the shell command line to execute when the corresponding item of " +"the linkgit:git-gui[1] `Tools` menu is invoked. This option is mandatory for " +"every tool. The command is executed from the root of the working directory, " +"and in the environment it receives the name of the tool as `GIT_GUITOOL`, " +"the name of the currently selected file as 'FILENAME', and the name of the " +"current branch as 'CUR_BRANCH' (if the head is detached, 'CUR_BRANCH' is " +"empty)." msgstr "" -#. type: Plain text -#: en/git-blame.txt:110 -msgid "" -"This header line is followed by the following information at least once for " -"each commit:" +#. type: Labeled list +#: en/config.txt:1719 +#, no-wrap +msgid "guitool.<name>.needsFile" msgstr "" #. type: Plain text -#: en/git-blame.txt:114 +#: en/config.txt:1722 msgid "" -"the author name (\"author\"), email (\"author-mail\"), time " -"(\"author-time\"), and time zone (\"author-tz\"); similarly for committer." +"Run the tool only if a diff is selected in the GUI. It guarantees that " +"'FILENAME' is not empty." msgstr "" -#. type: Plain text -#: en/git-blame.txt:115 -msgid "the filename in the commit that the line is attributed to." +#. type: Labeled list +#: en/config.txt:1723 +#, no-wrap +msgid "guitool.<name>.noConsole" msgstr "" #. type: Plain text -#: en/git-blame.txt:116 -msgid "the first line of the commit log message (\"summary\")." +#: en/config.txt:1726 +msgid "Run the command silently, without creating a window to display its output." msgstr "" -#. type: Plain text -#: en/git-blame.txt:120 -msgid "" -"The contents of the actual line is output after the above header, prefixed " -"by a TAB. This is to allow adding more header elements later." +#. type: Labeled list +#: en/config.txt:1727 +#, no-wrap +msgid "guitool.<name>.noRescan" msgstr "" #. type: Plain text -#: en/git-blame.txt:128 +#: en/config.txt:1730 msgid "" -"The porcelain format generally suppresses commit information that has " -"already been seen. For example, two lines that are blamed to the same commit " -"will both be shown, but the details for that commit will be shown only " -"once. This is more efficient, but may require more state be kept by the " -"reader. The `--line-porcelain` option can be used to output full commit " -"information for each line, allowing simpler (but less efficient) usage " -"like:" +"Don't rescan the working directory for changes after the tool finishes " +"execution." msgstr "" -#. type: Plain text -#: en/git-blame.txt:133 +#. type: Labeled list +#: en/config.txt:1731 #, no-wrap -msgid "" -"\t# count the number of lines attributed to each author\n" -"\tgit blame --line-porcelain file |\n" -"\tsed -n 's/^author //p' |\n" -"\tsort | uniq -c | sort -rn\n" +msgid "guitool.<name>.confirm" msgstr "" -#. type: Title - -#: en/git-blame.txt:136 en/revisions.txt:237 -#, no-wrap -msgid "SPECIFYING RANGES" +#. type: Plain text +#: en/config.txt:1733 +msgid "Show a confirmation dialog before actually running the tool." msgstr "" -#. type: Plain text -#: en/git-blame.txt:142 -msgid "" -"Unlike 'git blame' and 'git annotate' in older versions of git, the extent " -"of the annotation can be limited to both line ranges and revision " -"ranges. The `-L` option, which limits annotation to a range of lines, may be " -"specified multiple times." +#. type: Labeled list +#: en/config.txt:1734 +#, no-wrap +msgid "guitool.<name>.argPrompt" msgstr "" #. type: Plain text -#: en/git-blame.txt:147 +#: en/config.txt:1741 msgid "" -"When you are interested in finding the origin for lines 40-60 for file " -"`foo`, you can use the `-L` option like so (they mean the same thing -- both " -"ask for 21 lines starting at line 40):" +"Request a string argument from the user, and pass it to the tool through the " +"`ARGS` environment variable. Since requesting an argument implies " +"confirmation, the 'confirm' option has no effect if this is enabled. If the " +"option is set to 'true', 'yes', or '1', the dialog uses a built-in generic " +"prompt; otherwise the exact value of the variable is used." msgstr "" -#. type: Plain text -#: en/git-blame.txt:150 +#. type: Labeled list +#: en/config.txt:1742 #, no-wrap -msgid "" -"\tgit blame -L 40,60 foo\n" -"\tgit blame -L 40,+21 foo\n" +msgid "guitool.<name>.revPrompt" msgstr "" #. type: Plain text -#: en/git-blame.txt:152 -msgid "Also you can use a regular expression to specify the line range:" +#: en/config.txt:1746 +msgid "" +"Request a single valid revision from the user, and set the `REVISION` " +"environment variable. In other aspects this option is similar to " +"'argPrompt', and can be used together with it." msgstr "" -#. type: Plain text -#: en/git-blame.txt:154 +#. type: Labeled list +#: en/config.txt:1747 #, no-wrap -msgid "\tgit blame -L '/^sub hello {/,/^}$/' foo\n" +msgid "guitool.<name>.revUnmerged" msgstr "" #. type: Plain text -#: en/git-blame.txt:156 -msgid "which limits the annotation to the body of the `hello` subroutine." +#: en/config.txt:1751 +msgid "" +"Show only unmerged branches in the 'revPrompt' subdialog. This is useful " +"for tools similar to merge or rebase, but not for things like checkout or " +"reset." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1752 +#, no-wrap +msgid "guitool.<name>.title" msgstr "" #. type: Plain text -#: en/git-blame.txt:160 +#: en/config.txt:1755 msgid "" -"When you are not interested in changes older than version v2.6.18, or " -"changes older than 3 weeks, you can use revision range specifiers similar to " -"'git rev-list':" +"Specifies the title to use for the prompt dialog. The default is the tool " +"name." msgstr "" -#. type: Plain text -#: en/git-blame.txt:163 +#. type: Labeled list +#: en/config.txt:1756 #, no-wrap -msgid "" -"\tgit blame v2.6.18.. -- foo\n" -"\tgit blame --since=3.weeks -- foo\n" +msgid "guitool.<name>.prompt" msgstr "" #. type: Plain text -#: en/git-blame.txt:169 +#: en/config.txt:1760 msgid "" -"When revision range specifiers are used to limit the annotation, lines that " -"have not changed since the range boundary (either the commit v2.6.18 or the " -"most recent commit that is more than 3 weeks old in the above example) are " -"blamed for that range boundary commit." +"Specifies the general prompt string to display at the top of the dialog, " +"before subsections for 'argPrompt' and 'revPrompt'. The default value " +"includes the actual command." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1761 +#, no-wrap +msgid "help.browser" msgstr "" #. type: Plain text -#: en/git-blame.txt:175 +#: en/config.txt:1764 msgid "" -"A particularly useful way is to see if an added file has lines created by " -"copy-and-paste from existing files. Sometimes this indicates that the " -"developer was being sloppy and did not refactor the code properly. You can " -"first find the commit that introduced the file with:" +"Specify the browser that will be used to display help in the 'web' " +"format. See linkgit:git-help[1]." msgstr "" -#. type: Plain text -#: en/git-blame.txt:177 +#. type: Title ~ +#: en/config.txt:1765 en/git-help.txt:81 #, no-wrap -msgid "\tgit log --diff-filter=A --pretty=short -- foo\n" +msgid "help.format" msgstr "" #. type: Plain text -#: en/git-blame.txt:180 +#: en/config.txt:1769 msgid "" -"and then annotate the change between the commit and its parents, using " -"`commit^!` notation:" +"Override the default help format used by linkgit:git-help[1]. Values 'man', " +"'info', 'web' and 'html' are supported. 'man' is the default. 'web' and " +"'html' are the same." msgstr "" -#. type: Plain text -#: en/git-blame.txt:182 +#. type: Labeled list +#: en/config.txt:1770 #, no-wrap -msgid "\tgit blame -C -C -f $commit^! -- foo\n" +msgid "help.autoCorrect" msgstr "" -#. type: Title - -#: en/git-blame.txt:185 +#. type: Plain text +#: en/config.txt:1778 +msgid "" +"Automatically correct and execute mistyped commands after waiting for the " +"given number of deciseconds (0.1 sec). If more than one command can be " +"deduced from the entered text, nothing will be executed. If the value of " +"this option is negative, the corrected command will be executed " +"immediately. If the value is 0 - the command will be just shown but not " +"executed. This is the default." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1779 #, no-wrap -msgid "INCREMENTAL OUTPUT" +msgid "help.htmlPath" msgstr "" #. type: Plain text -#: en/git-blame.txt:192 +#: en/config.txt:1784 msgid "" -"When called with `--incremental` option, the command outputs the result as " -"it is built. The output generally will talk about lines touched by more " -"recent commits first (i.e. the lines will be annotated out of order) and is " -"meant to be used by interactive viewers." +"Specify the path where the HTML documentation resides. File system paths and " +"URLs are supported. HTML pages will be prefixed with this path when help is " +"displayed in the 'web' format. This defaults to the documentation path of " +"your Git installation." msgstr "" -#. type: Plain text -#: en/git-blame.txt:196 -msgid "" -"The output format is similar to the Porcelain format, but it does not " -"contain the actual lines from the file that is being annotated." +#. type: Labeled list +#: en/config.txt:1785 +#, no-wrap +msgid "http.proxy" msgstr "" #. type: Plain text -#: en/git-blame.txt:198 -msgid "Each blame entry always starts with a line of:" +#: en/config.txt:1794 +msgid "" +"Override the HTTP proxy, normally configured using the 'http_proxy', " +"'https_proxy', and 'all_proxy' environment variables (see `curl(1)`). In " +"addition to the syntax understood by curl, it is possible to specify a proxy " +"string with a user name but no password, in which case git will attempt to " +"acquire one in the same way it does for other credentials. See " +"linkgit:gitcredentials[7] for more information. The syntax thus is " +"'[protocol://][user[:password]@]proxyhost[:port]'. This can be overridden on " +"a per-remote basis; see remote.<name>.proxy" msgstr "" -#. type: Plain text -#: en/git-blame.txt:200 +#. type: Labeled list +#: en/config.txt:1795 #, no-wrap -msgid "<40-byte hex sha1> <sourceline> <resultline> <num_lines>\n" +msgid "http.proxyAuthMethod" msgstr "" #. type: Plain text -#: en/git-blame.txt:202 -msgid "Line numbers count from 1." +#: en/config.txt:1802 +msgid "" +"Set the method with which to authenticate against the HTTP proxy. This only " +"takes effect if the configured proxy string contains a user name part " +"(i.e. is of the form 'user@host' or 'user@host:port'). This can be " +"overridden on a per-remote basis; see `remote.<name>.proxyAuthMethod`. Both " +"can be overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment variable. " +"Possible values are:" msgstr "" #. type: Plain text -#: en/git-blame.txt:207 +#: en/config.txt:1808 msgid "" -"The first time that a commit shows up in the stream, it has various other " -"information about it printed out with a one-word tag at the beginning of " -"each line describing the extra commit information (author, email, committer, " -"dates, summary, etc.)." +"`anyauth` - Automatically pick a suitable authentication method. It is " +"assumed that the proxy answers an unauthenticated request with a 407 status " +"code and one or more Proxy-authenticate headers with supported " +"authentication methods. This is the default." msgstr "" #. type: Plain text -#: en/git-blame.txt:210 -msgid "" -"Unlike the Porcelain format, the filename information is always given and " -"terminates the entry:" +#: en/config.txt:1809 +msgid "`basic` - HTTP Basic authentication" msgstr "" #. type: Plain text -#: en/git-blame.txt:212 -#, no-wrap -msgid "\"filename\" <whitespace-quoted-filename-goes-here>\n" +#: en/config.txt:1811 +msgid "" +"`digest` - HTTP Digest authentication; this prevents the password from being " +"transmitted to the proxy in clear text" msgstr "" #. type: Plain text -#: en/git-blame.txt:215 +#: en/config.txt:1813 msgid "" -"and thus it is really quite easy to parse for some line- and word-oriented " -"parser (which should be quite natural for most scripting languages)." +"`negotiate` - GSS-Negotiate authentication (compare the --negotiate option " +"of `curl(1)`)" msgstr "" #. type: Plain text -#: en/git-blame.txt:223 -msgid "" -"For people who do parsing: to make it more robust, just ignore any lines " -"between the first and last one (\"<sha1>\" and \"filename\" lines) where " -"you do not recognize the tag words (or care about that particular one) at " -"the beginning of the \"extended information\" lines. That way, if there is " -"ever added information (like the commit encoding or extended commit " -"commentary), a blame viewer will not care." +#: en/config.txt:1814 +msgid "`ntlm` - NTLM authentication (compare the --ntlm option of `curl(1)`)" msgstr "" -#. type: Title - -#: en/git-blame.txt:226 en/git-check-mailmap.txt:40 en/git-shortlog.txt:80 +#. type: Labeled list +#: en/config.txt:1816 #, no-wrap -msgid "MAPPING AUTHORS" +msgid "http.emptyAuth" +msgstr "" + +#. type: Plain text +#: en/config.txt:1821 +msgid "" +"Attempt authentication without seeking a username or password. This can be " +"used to attempt GSS-Negotiate authentication without specifying a username " +"in the URL, as libcurl normally requires a username for authentication." msgstr "" #. type: Labeled list -#: en/git-blame.txt:234 en/cmds-ancillaryinterrogators.txt:1 +#: en/config.txt:1822 #, no-wrap -msgid "linkgit:git-annotate[1]" +msgid "http.delegation" msgstr "" -#. type: Title = -#: en/git-branch.txt:2 -#, no-wrap -msgid "git-branch(1)" +#. type: Plain text +#: en/config.txt:1827 +msgid "" +"Control GSSAPI credential delegation. The delegation is disabled by default " +"in libcurl since version 7.21.7. Set parameter to tell the server what it is " +"allowed to delegate when it comes to user credentials. Used with " +"GSS/kerberos. Possible values are:" msgstr "" #. type: Plain text -#: en/git-branch.txt:7 -msgid "git-branch - List, create, or delete branches" +#: en/config.txt:1830 +msgid "`none` - Don't allow any delegation." msgstr "" #. type: Plain text -#: en/git-branch.txt:22 -#, no-wrap +#: en/config.txt:1832 msgid "" -"'git branch' [--color[=<when>] | --no-color] [-r | -a]\n" -"\t[--list] [-v [--abbrev=<length> | --no-abbrev]]\n" -"\t[--column[=<options>] | --no-column]\n" -"\t[(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]\n" -"\t[--points-at <object>] [--format=<format>] [<pattern>...]\n" -"'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> " -"[<start-point>]\n" -"'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]\n" -"'git branch' --unset-upstream [<branchname>]\n" -"'git branch' (-m | -M) [<oldbranch>] <newbranch>\n" -"'git branch' (-d | -D) [-r] <branchname>...\n" -"'git branch' --edit-description [<branchname>]\n" +"`policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the " +"Kerberos service ticket, which is a matter of realm policy." msgstr "" #. type: Plain text -#: en/git-branch.txt:35 -msgid "" -"If `--list` is given, or if there are no non-option arguments, existing " -"branches are listed; the current branch will be highlighted with an " -"asterisk. Option `-r` causes the remote-tracking branches to be listed, and " -"option `-a` shows both local and remote branches. If a `<pattern>` is given, " -"it is used as a shell wildcard to restrict the output to matching " -"branches. If multiple patterns are given, a branch is shown if it matches " -"any of the patterns. Note that when providing a `<pattern>`, you must use " -"`--list`; otherwise the command is interpreted as branch creation." +#: en/config.txt:1833 +msgid "`always` - Unconditionally allow the server to delegate." msgstr "" -#. type: Plain text -#: en/git-branch.txt:43 -msgid "" -"With `--contains`, shows only the branches that contain the named commit (in " -"other words, the branches whose tip commits are descendants of the named " -"commit). With `--merged`, only branches merged into the named commit " -"(i.e. the branches whose tip commits are reachable from the named commit) " -"will be listed. With `--no-merged` only branches not merged into the named " -"commit will be listed. If the <commit> argument is missing it defaults to " -"`HEAD` (i.e. the tip of the current branch)." +#. type: Labeled list +#: en/config.txt:1836 +#, no-wrap +msgid "http.extraHeader" msgstr "" #. type: Plain text -#: en/git-branch.txt:46 +#: en/config.txt:1841 msgid "" -"The command's second form creates a new branch head named <branchname> which " -"points to the current `HEAD`, or <start-point> if given." +"Pass an additional HTTP header when communicating with a server. If more " +"than one such entry exists, all of them are added as extra headers. To " +"allow overriding the settings inherited from the system config, an empty " +"value will reset the extra headers to the empty list." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1842 +#, no-wrap +msgid "http.cookieFile" msgstr "" #. type: Plain text -#: en/git-branch.txt:50 +#: en/config.txt:1850 msgid "" -"Note that this will create the new branch, but it will not switch the " -"working tree to it; use \"git checkout <newbranch>\" to switch to the new " -"branch." +"The pathname of a file containing previously stored cookie lines, which " +"should be used in the Git http session, if they match the server. The file " +"format of the file to read cookies from should be plain HTTP headers or the " +"Netscape/Mozilla cookie file format (see `curl(1)`). NOTE that the file " +"specified with http.cookieFile is used only as input unless http.saveCookies " +"is set." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1851 +#, no-wrap +msgid "http.saveCookies" msgstr "" #. type: Plain text -#: en/git-branch.txt:58 +#: en/config.txt:1854 msgid "" -"When a local branch is started off a remote-tracking branch, Git sets up the " -"branch (specifically the `branch.<name>.remote` and `branch.<name>.merge` " -"configuration entries) so that 'git pull' will appropriately merge from the " -"remote-tracking branch. This behavior may be changed via the global " -"`branch.autoSetupMerge` configuration flag. That setting can be overridden " -"by using the `--track` and `--no-track` options, and changed later using " -"`git branch --set-upstream-to`." +"If set, store cookies received during requests to the file specified by " +"http.cookieFile. Has no effect if http.cookieFile is unset." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1855 +#, no-wrap +msgid "http.sslVersion" msgstr "" #. type: Plain text -#: en/git-branch.txt:64 +#: en/config.txt:1864 msgid "" -"With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>. If " -"<oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, " -"and a reflog entry is created to remember the branch renaming. If " -"<newbranch> exists, -M must be used to force the rename to happen." +"The SSL version to use when negotiating an SSL connection, if you want to " +"force the default. The available and default version depend on whether " +"libcurl was built against NSS or OpenSSL and the particular configuration of " +"the crypto library in use. Internally this sets the 'CURLOPT_SSL_VERSION' " +"option; see the libcurl documentation for more details on the format of this " +"option and for the ssl version supported. Actually the possible values of " +"this option are:" msgstr "" #. type: Plain text -#: en/git-branch.txt:68 -msgid "" -"With a `-d` or `-D` option, `<branchname>` will be deleted. You may specify " -"more than one branch for deletion. If the branch currently has a reflog " -"then the reflog will also be deleted." +#: en/config.txt:1866 +msgid "sslv2" msgstr "" #. type: Plain text -#: en/git-branch.txt:74 -msgid "" -"Use `-r` together with `-d` to delete remote-tracking branches. Note, that " -"it only makes sense to delete remote-tracking branches if they no longer " -"exist in the remote repository or if 'git fetch' was configured not to fetch " -"them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a " -"way to clean up all obsolete remote-tracking branches." +#: en/config.txt:1867 +msgid "sslv3" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:78 en/git-clean.txt:28 en/git-cvsexportcommit.txt:49 en/git-difftool.txt:22 en/git-http-push.txt:44 en/git-instaweb.txt:27 en/git-ls-files.txt:39 en/git-ls-tree.txt:41 en/git-repack.txt:55 en/git-replace.txt:64 en/git-show-ref.txt:47 en/git-symbolic-ref.txt:35 en/git-tag.txt:75 -#, no-wrap -msgid "-d" +#. type: Plain text +#: en/config.txt:1868 +msgid "tlsv1" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:79 en/git-push.txt:126 en/git-replace.txt:65 en/git-symbolic-ref.txt:36 en/git-tag.txt:76 -#, no-wrap -msgid "--delete" +#. type: Plain text +#: en/config.txt:1869 +msgid "tlsv1.0" msgstr "" #. type: Plain text -#: en/git-branch.txt:83 -msgid "" -"Delete a branch. The branch must be fully merged in its upstream branch, or " -"in `HEAD` if no upstream was set with `--track` or `--set-upstream`." +#: en/config.txt:1870 +msgid "tlsv1.1" msgstr "" -#. type: Labeled list -#: en/git-branch.txt:84 en/git-http-push.txt:45 en/diff-options.txt:389 -#, no-wrap -msgid "-D" +#. type: Plain text +#: en/config.txt:1871 +msgid "tlsv1.2" msgstr "" #. type: Plain text -#: en/git-branch.txt:86 -msgid "Shortcut for `--delete --force`." +#: en/config.txt:1877 +msgid "" +"Can be overridden by the `GIT_SSL_VERSION` environment variable. To force " +"git to use libcurl's default ssl version and ignore any explicit " +"http.sslversion option, set `GIT_SSL_VERSION` to the empty string." msgstr "" #. type: Labeled list -#: en/git-branch.txt:88 en/git-tag.txt:152 +#: en/config.txt:1878 #, no-wrap -msgid "--create-reflog" +msgid "http.sslCipherList" msgstr "" #. type: Plain text -#: en/git-branch.txt:97 +#: en/config.txt:1885 msgid "" -"Create the branch's reflog. This activates recording of all changes made to " -"the branch ref, enabling use of date based sha1 expressions such as " -"\"<branchname>@\\{yesterday}\". Note that in non-bare repositories, reflogs " -"are usually enabled by default by the `core.logallrefupdates` config " -"option. The negated form `--no-create-reflog` only overrides an earlier " -"`--create-reflog`, but currently does not negate the setting of " -"`core.logallrefupdates`." +"A list of SSL ciphers to use when negotiating an SSL connection. The " +"available ciphers depend on whether libcurl was built against NSS or OpenSSL " +"and the particular configuration of the crypto library in use. Internally " +"this sets the 'CURLOPT_SSL_CIPHER_LIST' option; see the libcurl " +"documentation for more details on the format of this list." msgstr "" #. type: Plain text -#: en/git-branch.txt:106 +#: en/config.txt:1890 msgid "" -"Reset <branchname> to <startpoint> if <branchname> exists already. Without " -"`-f` 'git branch' refuses to change an existing branch. In combination with " -"`-d` (or `--delete`), allow deleting the branch irrespective of its merged " -"status. In combination with `-m` (or `--move`), allow renaming the branch " -"even if the new branch name already exists." +"Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable. To " +"force git to use libcurl's default cipher list and ignore any explicit " +"http.sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the empty string." msgstr "" #. type: Labeled list -#: en/git-branch.txt:108 +#: en/config.txt:1891 #, no-wrap -msgid "--move" +msgid "http.sslVerify" msgstr "" #. type: Plain text -#: en/git-branch.txt:110 -msgid "Move/rename a branch and the corresponding reflog." +#: en/config.txt:1895 +msgid "" +"Whether to verify the SSL certificate when fetching or pushing over " +"HTTPS. Can be overridden by the `GIT_SSL_NO_VERIFY` environment variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:111 en/git-fast-export.txt:53 en/git-p4.txt:280 +#: en/config.txt:1896 #, no-wrap -msgid "-M" +msgid "http.sslCert" msgstr "" #. type: Plain text -#: en/git-branch.txt:113 -msgid "Shortcut for `--move --force`." +#: en/config.txt:1900 +msgid "" +"File containing the SSL certificate when fetching or pushing over HTTPS. Can " +"be overridden by the `GIT_SSL_CERT` environment variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:114 en/git-grep.txt:206 en/git-show-branch.txt:119 en/diff-options.txt:218 +#: en/config.txt:1901 #, no-wrap -msgid "--color[=<when>]" +msgid "http.sslKey" msgstr "" #. type: Plain text -#: en/git-branch.txt:118 +#: en/config.txt:1905 msgid "" -"Color branches to highlight current, local, and remote-tracking branches. " -"The value must be always (the default), never, or auto." +"File containing the SSL private key when fetching or pushing over HTTPS. Can " +"be overridden by the `GIT_SSL_KEY` environment variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:119 en/git-grep.txt:210 en/git-show-branch.txt:124 en/diff-options.txt:227 +#: en/config.txt:1906 #, no-wrap -msgid "--no-color" +msgid "http.sslCertPasswordProtected" msgstr "" #. type: Plain text -#: en/git-branch.txt:123 +#: en/config.txt:1911 msgid "" -"Turn off branch colors, even when the configuration file gives the default " -"to color output. Same as `--color=never`." +"Enable Git's password prompt for the SSL certificate. Otherwise OpenSSL " +"will prompt the user, possibly many times, if the certificate or private key " +"is encrypted. Can be overridden by the `GIT_SSL_CERT_PASSWORD_PROTECTED` " +"environment variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:125 en/git-for-each-ref.txt:82 en/git-grep.txt:117 en/git-tag.txt:112 +#: en/config.txt:1912 #, no-wrap -msgid "--ignore-case" +msgid "http.sslCAInfo" msgstr "" #. type: Plain text -#: en/git-branch.txt:127 -msgid "Sorting and filtering branches are case insensitive." +#: en/config.txt:1916 +msgid "" +"File containing the certificates to verify the peer with when fetching or " +"pushing over HTTPS. Can be overridden by the `GIT_SSL_CAINFO` environment " +"variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:128 en/git-status.txt:104 en/git-tag.txt:115 +#: en/config.txt:1917 #, no-wrap -msgid "--column[=<options>]" +msgid "http.sslCAPath" +msgstr "" + +#. type: Plain text +#: en/config.txt:1921 +msgid "" +"Path containing files with the CA certificates to verify the peer with when " +"fetching or pushing over HTTPS. Can be overridden by the `GIT_SSL_CAPATH` " +"environment variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:129 en/git-status.txt:105 en/git-tag.txt:116 +#: en/config.txt:1922 #, no-wrap -msgid "--no-column" +msgid "http.pinnedpubkey" msgstr "" #. type: Plain text -#: en/git-branch.txt:133 +#: en/config.txt:1929 msgid "" -"Display branch listing in columns. See configuration variable column.branch " -"for option syntax.`--column` and `--no-column` without options are " -"equivalent to 'always' and 'never' respectively." +"Public key of the https service. It may either be the filename of a PEM or " +"DER encoded public key file or a string starting with 'sha256//' followed by " +"the base64 encoded sha256 hash of the public key. See also libcurl " +"'CURLOPT_PINNEDPUBLICKEY'. git will exit with an error if this option is set " +"but not supported by cURL." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1930 +#, no-wrap +msgid "http.sslTry" msgstr "" #. type: Plain text -#: en/git-branch.txt:135 -msgid "This option is only applicable in non-verbose mode." +#: en/config.txt:1937 +msgid "" +"Attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via " +"regular FTP protocol. This might be needed if the FTP server requires it for " +"security reasons or you wish to connect securely whenever remote FTP server " +"supports it. Default is false since it might trigger certificate " +"verification errors on misconfigured servers." msgstr "" #. type: Labeled list -#: en/git-branch.txt:137 en/git-show-branch.txt:44 +#: en/config.txt:1938 #, no-wrap -msgid "--remotes" +msgid "http.maxRequests" msgstr "" #. type: Plain text -#: en/git-branch.txt:139 -msgid "List or delete (if used with -d) the remote-tracking branches." +#: en/config.txt:1941 +msgid "" +"How many HTTP requests to launch in parallel. Can be overridden by the " +"`GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5." msgstr "" -#. type: Plain text -#: en/git-branch.txt:143 -msgid "List both remote-tracking branches and local branches." +#. type: Labeled list +#: en/config.txt:1942 +#, no-wrap +msgid "http.minSessions" msgstr "" #. type: Plain text -#: en/git-branch.txt:147 +#: en/config.txt:1947 msgid "" -"Activate the list mode. `git branch <pattern>` would try to create a branch, " -"use `git branch --list <pattern>` to list matching branches." +"The number of curl sessions (counted across slots) to be kept across " +"requests. They will not be ended with curl_easy_cleanup() until " +"http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this value will " +"be capped at 1. Defaults to 1." msgstr "" #. type: Labeled list -#: en/git-branch.txt:149 +#: en/config.txt:1948 #, no-wrap -msgid "-vv" +msgid "http.postBuffer" msgstr "" #. type: Plain text -#: en/git-branch.txt:156 +#: en/config.txt:1955 msgid "" -"When in list mode, show sha1 and commit subject line for each head, along " -"with relationship to upstream branch (if any). If given twice, print the " -"name of the upstream branch, as well (see also `git remote show <remote>`)." +"Maximum size in bytes of the buffer used by smart HTTP transports when " +"POSTing data to the remote system. For requests larger than this buffer " +"size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a " +"massive pack file locally. Default is 1 MiB, which is sufficient for most " +"requests." +msgstr "" + +#. type: Labeled list +#: en/config.txt:1956 +#, no-wrap +msgid "http.lowSpeedLimit, http.lowSpeedTime" msgstr "" #. type: Plain text -#: en/git-branch.txt:161 +#: en/config.txt:1961 msgid "" -"Be more quiet when creating or deleting a branch, suppressing non-error " -"messages." +"If the HTTP transfer speed is less than 'http.lowSpeedLimit' for longer than " +"'http.lowSpeedTime' seconds, the transfer is aborted. Can be overridden by " +"the `GIT_HTTP_LOW_SPEED_LIMIT` and `GIT_HTTP_LOW_SPEED_TIME` environment " +"variables." msgstr "" #. type: Labeled list -#: en/git-branch.txt:162 +#: en/config.txt:1962 #, no-wrap -msgid "--abbrev=<length>" +msgid "http.noEPSV" msgstr "" #. type: Plain text -#: en/git-branch.txt:166 +#: en/config.txt:1967 msgid "" -"Alter the sha1's minimum display length in the output listing. The default " -"value is 7 and can be overridden by the `core.abbrev` config option." +"A boolean which disables using of EPSV ftp command by curl. This can " +"helpful with some \"poor\" ftp servers which don't support EPSV mode. Can be " +"overridden by the `GIT_CURL_FTP_NO_EPSV` environment variable. Default is " +"false (curl will use EPSV)." msgstr "" #. type: Labeled list -#: en/git-branch.txt:167 +#: en/config.txt:1968 #, no-wrap -msgid "--no-abbrev" +msgid "http.userAgent" msgstr "" #. type: Plain text -#: en/git-branch.txt:169 -msgid "Display the full sha1s in the output listing rather than abbreviating them." +#: en/config.txt:1976 +msgid "" +"The HTTP USER_AGENT string presented to an HTTP server. The default value " +"represents the version of the client Git such as git/1.7.1. This option " +"allows you to override this value to a more common value such as " +"Mozilla/4.0. This may be necessary, for instance, if connecting through a " +"firewall that restricts HTTP connections to a set of common USER_AGENT " +"strings (but not including those like git/1.7.1). Can be overridden by the " +"`GIT_HTTP_USER_AGENT` environment variable." msgstr "" #. type: Labeled list -#: en/git-branch.txt:170 en/git-cat-file.txt:36 en/git-checkout.txt:155 en/git-diff-tree.txt:42 en/git-http-fetch.txt:29 en/git-ls-files.txt:112 en/git-ls-remote.txt:26 en/git-ls-tree.txt:47 en/git-svn.txt:296 en/blame-options.txt:25 en/fetch-options.txt:98 en/rev-list-options.txt:890 +#: en/config.txt:1977 #, no-wrap -msgid "-t" +msgid "http.followRedirects" +msgstr "" + +#. type: Plain text +#: en/config.txt:1986 +msgid "" +"Whether git should follow HTTP redirects. If set to `true`, git will " +"transparently follow any redirect issued by a server it encounters. If set " +"to `false`, git will treat all redirects as errors. If set to `initial`, git " +"will follow redirects only for the initial request to a remote, but not for " +"subsequent follow-up HTTP requests. Since git uses the redirected URL as the " +"base for the follow-up requests, this is generally sufficient. The default " +"is `initial`." msgstr "" #. type: Labeled list -#: en/git-branch.txt:171 en/git-checkout.txt:156 +#: en/config.txt:1987 #, no-wrap -msgid "--track" +msgid "http.<url>.*" msgstr "" #. type: Plain text -#: en/git-branch.txt:179 +#: en/config.txt:1991 msgid "" -"When creating a new branch, set up `branch.<name>.remote` and " -"`branch.<name>.merge` configuration entries to mark the start-point branch " -"as \"upstream\" from the new branch. This configuration will tell git to " -"show the relationship between the two branches in `git status` and `git " -"branch -v`. Furthermore, it directs `git pull` without arguments to pull " -"from the upstream when the new branch is checked out." +"Any of the http.* options above can be applied selectively to some URLs. " +"For a config key to match a URL, each element of the config key is compared " +"to that of the URL, in the following order:" msgstr "" #. type: Plain text -#: en/git-branch.txt:185 +#: en/config.txt:1995 msgid "" -"This behavior is the default when the start point is a remote-tracking " -"branch. Set the branch.autoSetupMerge configuration variable to `false` if " -"you want `git checkout` and `git branch` to always behave as if `--no-track` " -"were given. Set it to `always` if you want this behavior when the " -"start-point is either a local or remote-tracking branch." -msgstr "" - -#. type: Labeled list -#: en/git-branch.txt:186 en/git-checkout.txt:170 -#, no-wrap -msgid "--no-track" +"Scheme (e.g., `https` in `https://example.com/`). This field must match " +"exactly between the config key and the URL." msgstr "" #. type: Plain text -#: en/git-branch.txt:189 en/git-checkout.txt:173 +#: en/config.txt:2001 msgid "" -"Do not set up \"upstream\" configuration, even if the branch.autoSetupMerge " -"configuration variable is true." +"Host/domain name (e.g., `example.com` in `https://example.com/`). This " +"field must match between the config key and the URL. It is possible to " +"specify a `*` as part of the host name to match all subdomains at this " +"level. `https://*.example.com/` for example would match " +"`https://foo.example.com/`, but not `https://foo.bar.example.com/`." msgstr "" -#. type: Labeled list -#: en/git-branch.txt:190 en/git-push.txt:246 -#, no-wrap -msgid "--set-upstream" +#. type: Plain text +#: en/config.txt:2006 +msgid "" +"Port number (e.g., `8080` in `http://example.com:8080/`). This field must " +"match exactly between the config key and the URL. Omitted port numbers are " +"automatically converted to the correct default for the scheme before " +"matching." msgstr "" #. type: Plain text -#: en/git-branch.txt:195 +#: en/config.txt:2014 msgid "" -"If specified branch does not exist yet or if `--force` has been given, acts " -"exactly like `--track`. Otherwise sets up configuration like `--track` would " -"when creating the branch, except that where branch points to is not changed." +"Path (e.g., `repo.git` in `https://example.com/repo.git`). The path field of " +"the config key must match the path field of the URL either exactly or as a " +"prefix of slash-delimited path elements. This means a config key with path " +"`foo/` matches URL path `foo/bar`. A prefix can only match on a slash (`/`) " +"boundary. Longer matches take precedence (so a config key with path " +"`foo/bar` is a better match to URL path `foo/bar` than a config key with " +"just path `foo/`)." msgstr "" -#. type: Labeled list -#: en/git-branch.txt:196 -#, no-wrap -msgid "-u <upstream>" +#. type: Plain text +#: en/config.txt:2020 +msgid "" +"User name (e.g., `user` in `https://user@example.com/repo.git`). If the " +"config key has a user name it must match the user name in the URL " +"exactly. If the config key does not have a user name, that config key will " +"match a URL with any user name (including none), but at a lower precedence " +"than a config key with a user name." msgstr "" -#. type: Labeled list -#: en/git-branch.txt:197 -#, no-wrap -msgid "--set-upstream-to=<upstream>" +#. type: Plain text +#: en/config.txt:2027 +msgid "" +"The list above is ordered by decreasing precedence; a URL that matches a " +"config key's path is preferred to one that matches its user name. For " +"example, if the URL is `https://user@example.com/foo/bar` a config key match " +"of `https://example.com/foo` will be preferred over a config key match of " +"`https://user@example.com`." msgstr "" #. type: Plain text -#: en/git-branch.txt:201 +#: en/config.txt:2034 msgid "" -"Set up <branchname>'s tracking information so <upstream> is considered " -"<branchname>'s upstream branch. If no <branchname> is specified, then it " -"defaults to the current branch." +"All URLs are normalized before attempting any matching (the password part, " +"if embedded in the URL, is always ignored for matching purposes) so that " +"equivalent URLs that are simply spelled differently will match properly. " +"Environment variable settings always override any matches. The URLs that " +"are matched against are those given directly to Git commands. This means " +"any URLs visited as a result of a redirection do not participate in " +"matching." msgstr "" #. type: Labeled list -#: en/git-branch.txt:202 +#: en/config.txt:2035 #, no-wrap -msgid "--unset-upstream" +msgid "ssh.variant" msgstr "" #. type: Plain text -#: en/git-branch.txt:205 +#: en/config.txt:2040 msgid "" -"Remove the upstream information for <branchname>. If no branch is specified " -"it defaults to the current branch." +"Depending on the value of the environment variables `GIT_SSH` or " +"`GIT_SSH_COMMAND`, or the config setting `core.sshCommand`, Git auto-detects " +"whether to adjust its command-line parameters for use with plink or " +"tortoiseplink, as opposed to the default (OpenSSH)." +msgstr "" + +#. type: Plain text +#: en/config.txt:2045 +msgid "" +"The config variable `ssh.variant` can be set to override this " +"auto-detection; valid values are `ssh`, `plink`, `putty` or " +"`tortoiseplink`. Any other value will be treated as normal ssh. This setting " +"can be overridden via the environment variable `GIT_SSH_VARIANT`." msgstr "" #. type: Labeled list -#: en/git-branch.txt:206 +#: en/config.txt:2046 #, no-wrap -msgid "--edit-description" +msgid "i18n.commitEncoding" msgstr "" #. type: Plain text -#: en/git-branch.txt:211 +#: en/config.txt:2052 msgid "" -"Open an editor and edit the text to explain what the branch is for, to be " -"used by various other commands (e.g. `format-patch`, `request-pull`, and " -"`merge` (if enabled)). Multi-line explanations may be used." +"Character encoding the commit messages are stored in; Git itself does not " +"care per se, but this information is necessary e.g. when importing commits " +"from emails or in the gitk graphical history browser (and possibly at other " +"places in the future or in other porcelains). See " +"e.g. linkgit:git-mailinfo[1]. Defaults to 'utf-8'." msgstr "" #. type: Labeled list -#: en/git-branch.txt:212 en/git-tag.txt:123 +#: en/config.txt:2053 en/git-log.txt:179 #, no-wrap -msgid "--contains [<commit>]" +msgid "i18n.logOutputEncoding" msgstr "" #. type: Plain text -#: en/git-branch.txt:215 +#: en/config.txt:2056 msgid "" -"Only list branches which contain the specified commit (HEAD if not " -"specified). Implies `--list`." +"Character encoding the commit messages are converted to when running 'git " +"log' and friends." msgstr "" #. type: Labeled list -#: en/git-branch.txt:216 +#: en/config.txt:2057 #, no-wrap -msgid "--merged [<commit>]" +msgid "imap" msgstr "" #. type: Plain text -#: en/git-branch.txt:219 +#: en/config.txt:2060 msgid "" -"Only list branches whose tips are reachable from the specified commit (HEAD " -"if not specified). Implies `--list`." +"The configuration variables in the 'imap' section are described in " +"linkgit:git-imap-send[1]." msgstr "" #. type: Labeled list -#: en/git-branch.txt:220 +#: en/config.txt:2061 #, no-wrap -msgid "--no-merged [<commit>]" +msgid "index.version" msgstr "" #. type: Plain text -#: en/git-branch.txt:223 +#: en/config.txt:2064 msgid "" -"Only list branches whose tips are not reachable from the specified commit " -"(HEAD if not specified). Implies `--list`." +"Specify the version with which new index files should be initialized. This " +"does not affect existing repositories." msgstr "" #. type: Labeled list -#: en/git-branch.txt:224 +#: en/config.txt:2065 #, no-wrap -msgid "<branchname>" +msgid "init.templateDir" msgstr "" #. type: Plain text -#: en/git-branch.txt:229 +#: en/config.txt:2068 msgid "" -"The name of the branch to create or delete. The new branch name must pass " -"all checks defined by linkgit:git-check-ref-format[1]. Some of these checks " -"may restrict the characters allowed in a branch name." +"Specify the directory from which templates will be copied. (See the " +"\"TEMPLATE DIRECTORY\" section of linkgit:git-init[1].)" msgstr "" #. type: Labeled list -#: en/git-branch.txt:230 +#: en/config.txt:2069 #, no-wrap -msgid "<start-point>" +msgid "instaweb.browser" msgstr "" #. type: Plain text -#: en/git-branch.txt:234 +#: en/config.txt:2072 msgid "" -"The new branch head will point to this commit. It may be given as a branch " -"name, a commit-id, or a tag. If this option is omitted, the current HEAD " -"will be used instead." +"Specify the program that will be used to browse your working repository in " +"gitweb. See linkgit:git-instaweb[1]." msgstr "" #. type: Labeled list -#: en/git-branch.txt:235 +#: en/config.txt:2073 #, no-wrap -msgid "<oldbranch>" +msgid "instaweb.httpd" msgstr "" #. type: Plain text -#: en/git-branch.txt:237 -msgid "The name of an existing branch to rename." +#: en/config.txt:2076 +msgid "" +"The HTTP daemon command-line to start gitweb on your working repository. See " +"linkgit:git-instaweb[1]." msgstr "" #. type: Labeled list -#: en/git-branch.txt:238 +#: en/config.txt:2077 #, no-wrap -msgid "<newbranch>" +msgid "instaweb.local" msgstr "" #. type: Plain text -#: en/git-branch.txt:241 +#: en/config.txt:2080 msgid "" -"The new name for an existing branch. The same restrictions as for " -"<branchname> apply." +"If true the web server started by linkgit:git-instaweb[1] will be bound to " +"the local IP (127.0.0.1)." msgstr "" #. type: Labeled list -#: en/git-branch.txt:242 en/git-tag.txt:98 +#: en/config.txt:2081 #, no-wrap -msgid "--sort=<key>" +msgid "instaweb.modulePath" msgstr "" #. type: Plain text -#: en/git-branch.txt:251 +#: en/config.txt:2085 msgid "" -"Sort based on the key given. Prefix `-` to sort in descending order of the " -"value. You may use the --sort=<key> option multiple times, in which case the " -"last key becomes the primary key. The keys supported are the same as those " -"in `git for-each-ref`. Sort order defaults to sorting based on the full " -"refname (including `refs/...` prefix). This lists detached HEAD (if present) " -"first, then local branches and finally remote-tracking branches." +"The default module path for linkgit:git-instaweb[1] to use instead of " +"/usr/lib/apache2/modules. Only used if httpd is Apache." msgstr "" #. type: Labeled list -#: en/git-branch.txt:253 en/git-for-each-ref.txt:67 en/git-tag.txt:127 +#: en/config.txt:2086 #, no-wrap -msgid "--points-at <object>" +msgid "instaweb.port" msgstr "" #. type: Plain text -#: en/git-branch.txt:255 -msgid "Only list branches of the given object." +#: en/config.txt:2089 +msgid "The port number to bind the gitweb httpd to. See linkgit:git-instaweb[1]." msgstr "" #. type: Labeled list -#: en/git-branch.txt:256 +#: en/config.txt:2090 #, no-wrap -msgid "--format <format>" +msgid "interactive.singleKey" msgstr "" #. type: Plain text -#: en/git-branch.txt:260 +#: en/config.txt:2098 msgid "" -"A string that interpolates `%(fieldname)` from the object pointed at by a " -"ref being shown. The format is the same as that of " -"linkgit:git-for-each-ref[1]." -msgstr "" - -#. type: Title - -#: en/git-branch.txt:262 en/git-clone.txt:258 en/git-filter-branch.txt:214 en/git-grep.txt:298 en/git-gui.txt:52 en/git-imap-send.txt:106 en/git-push.txt:467 en/git-remote.txt:203 en/git-update-index.txt:337 en/git-whatchanged.txt:29 -#, no-wrap -msgid "Examples" +"In interactive commands, allow the user to provide one-letter input with a " +"single key (i.e., without hitting enter). Currently this is used by the " +"`--patch` mode of linkgit:git-add[1], linkgit:git-checkout[1], " +"linkgit:git-commit[1], linkgit:git-reset[1], and linkgit:git-stash[1]. Note " +"that this setting is silently ignored if portable keystroke input is not " +"available; requires the Perl module Term::ReadKey." msgstr "" #. type: Labeled list -#: en/git-branch.txt:264 -#, no-wrap -msgid "Start development from a known tag" -msgstr "" - -#. type: delimited block - -#: en/git-branch.txt:271 +#: en/config.txt:2099 #, no-wrap -msgid "" -"$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6\n" -"$ cd my2.6\n" -"$ git branch my2.6.14 v2.6.14 <1>\n" -"$ git checkout my2.6.14\n" +msgid "interactive.diffFilter" msgstr "" #. type: Plain text -#: en/git-branch.txt:275 +#: en/config.txt:2106 msgid "" -"This step and the next one could be combined into a single step with " -"\"checkout -b my2.6.14 v2.6.14\"." +"When an interactive command (such as `git add --patch`) shows a colorized " +"diff, git will pipe the diff through the shell command defined by this " +"configuration variable. The command may mark up the diff further for human " +"consumption, provided that it retains a one-to-one correspondence with the " +"lines in the original diff. Defaults to disabled (no filtering)." msgstr "" #. type: Labeled list -#: en/git-branch.txt:276 +#: en/config.txt:2107 #, no-wrap -msgid "Delete an unneeded branch" +msgid "log.abbrevCommit" msgstr "" -#. type: delimited block - -#: en/git-branch.txt:283 -#, no-wrap +#. type: Plain text +#: en/config.txt:2111 msgid "" -"$ git clone git://git.kernel.org/.../git.git my.git\n" -"$ cd my.git\n" -"$ git branch -d -r origin/todo origin/html origin/man <1>\n" -"$ git branch -D test <2>\n" +"If true, makes linkgit:git-log[1], linkgit:git-show[1], and " +"linkgit:git-whatchanged[1] assume `--abbrev-commit`. You may override this " +"option with `--no-abbrev-commit`." msgstr "" -#. type: Plain text -#: en/git-branch.txt:288 -msgid "" -"Delete the remote-tracking branches \"todo\", \"html\" and \"man\". The next " -"'fetch' or 'pull' will create them again unless you configure them not to. " -"See linkgit:git-fetch[1]." +#. type: Labeled list +#: en/config.txt:2112 en/git-log.txt:184 +#, no-wrap +msgid "log.date" msgstr "" #. type: Plain text -#: en/git-branch.txt:290 +#: en/config.txt:2116 msgid "" -"Delete the \"test\" branch even if the \"master\" branch (or whichever " -"branch is currently checked out) does not have all commits from the test " -"branch." +"Set the default date-time mode for the 'log' command. Setting a value for " +"log.date is similar to using 'git log''s `--date` option. See " +"linkgit:git-log[1] for details." msgstr "" -#. type: Title - -#: en/git-branch.txt:293 en/git-filter-branch.txt:431 en/git-gc.txt:138 en/git-prune.txt:68 +#. type: Labeled list +#: en/config.txt:2117 #, no-wrap -msgid "Notes" +msgid "log.decorate" msgstr "" #. type: Plain text -#: en/git-branch.txt:298 +#: en/config.txt:2126 msgid "" -"If you are creating a branch that you want to checkout immediately, it is " -"easier to use the git checkout command with its `-b` option to create a " -"branch and check it out with a single command." +"Print out the ref names of any commits that are shown by the log command. If " +"'short' is specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and " +"'refs/remotes/' will not be printed. If 'full' is specified, the full ref " +"name (including prefix) will be printed. If 'auto' is specified, then if " +"the output is going to a terminal, the ref names are shown as if 'short' " +"were given, otherwise no ref names are shown. This is the same as the " +"`--decorate` option of the `git log`." msgstr "" -#. type: Plain text -#: en/git-branch.txt:301 -msgid "" -"The options `--contains`, `--merged` and `--no-merged` serve three related " -"but different purposes:" +#. type: Labeled list +#: en/config.txt:2127 en/git-log.txt:189 +#, no-wrap +msgid "log.follow" msgstr "" #. type: Plain text -#: en/git-branch.txt:305 +#: en/config.txt:2132 en/git-log.txt:194 msgid "" -"`--contains <commit>` is used to find all branches which will need special " -"attention if <commit> were to be rebased or amended, since those branches " -"contain the specified <commit>." +"If `true`, `git log` will act as if the `--follow` option was used when a " +"single <path> is given. This has the same limitations as `--follow`, " +"i.e. it cannot be used to follow multiple files and does not work well on " +"non-linear history." msgstr "" -#. type: Plain text -#: en/git-branch.txt:308 -msgid "" -"`--merged` is used to find all branches which can be safely deleted, since " -"those branches are fully contained by HEAD." +#. type: Labeled list +#: en/config.txt:2133 +#, no-wrap +msgid "log.graphColors" msgstr "" #. type: Plain text -#: en/git-branch.txt:311 +#: en/config.txt:2136 msgid "" -"`--no-merged` is used to find branches which are candidates for merging into " -"HEAD, since those branches are not fully contained by HEAD." +"A list of colors, separated by commas, that can be used to draw history " +"lines in `git log --graph`." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2137 en/git-log.txt:195 +#, no-wrap +msgid "log.showRoot" msgstr "" #. type: Plain text -#: en/git-branch.txt:319 +#: en/config.txt:2142 msgid "" -"linkgit:git-check-ref-format[1], linkgit:git-fetch[1], " -"linkgit:git-remote[1], " -"link:user-manual.html#what-is-a-branch[``Understanding history: What is a " -"branch?''] in the Git User's Manual." +"If true, the initial commit will be shown as a big creation event. This is " +"equivalent to a diff against an empty tree. Tools like linkgit:git-log[1] " +"or linkgit:git-whatchanged[1], which normally hide the root commit will now " +"show it. True by default." msgstr "" -#. type: Title = -#: en/git-bundle.txt:2 +#. type: Labeled list +#: en/config.txt:2143 #, no-wrap -msgid "git-bundle(1)" +msgid "log.mailmap" msgstr "" #. type: Plain text -#: en/git-bundle.txt:7 -msgid "git-bundle - Move objects and refs by archive" +#: en/config.txt:2146 +msgid "" +"If true, makes linkgit:git-log[1], linkgit:git-show[1], and " +"linkgit:git-whatchanged[1] assume `--use-mailmap`." msgstr "" -#. type: Plain text -#: en/git-bundle.txt:16 +#. type: Labeled list +#: en/config.txt:2147 #, no-wrap -msgid "" -"'git bundle' create <file> <git-rev-list-args>\n" -"'git bundle' verify <file>\n" -"'git bundle' list-heads <file> [<refname>...]\n" -"'git bundle' unbundle <file> [<refname>...]\n" +msgid "mailinfo.scissors" msgstr "" #. type: Plain text -#: en/git-bundle.txt:32 +#: en/config.txt:2153 msgid "" -"Some workflows require that one or more branches of development on one " -"machine be replicated on another machine, but the two machines cannot be " -"directly connected, and therefore the interactive Git protocols (git, ssh, " -"http) cannot be used. This command provides support for 'git fetch' and " -"'git pull' to operate by packaging objects and references in an archive at " -"the originating machine, then importing those into another repository using " -"'git fetch' and 'git pull' after moving the archive by some means (e.g., by " -"sneakernet). As no direct connection between the repositories exists, the " -"user must specify a basis for the bundle that is held by the destination " -"repository: the bundle assumes that all objects in the basis are already in " -"the destination repository." +"If true, makes linkgit:git-mailinfo[1] (and therefore linkgit:git-am[1]) act " +"by default as if the --scissors option was provided on the " +"command-line. When active, this features removes everything from the message " +"body before a scissors line (i.e. consisting mainly of \">8\", \"8<\" and " +"\"-\")." msgstr "" #. type: Labeled list -#: en/git-bundle.txt:36 +#: en/config.txt:2154 #, no-wrap -msgid "create <file>" +msgid "mailmap.file" msgstr "" #. type: Plain text -#: en/git-bundle.txt:39 +#: en/config.txt:2161 msgid "" -"Used to create a bundle named 'file'. This requires the 'git-rev-list-args' " -"arguments to define the bundle contents." +"The location of an augmenting mailmap file. The default mailmap, located in " +"the root of the repository, is loaded first, then the mailmap file pointed " +"to by this variable. The location of the mailmap file may be in a " +"repository subdirectory, or somewhere outside of the repository itself. See " +"linkgit:git-shortlog[1] and linkgit:git-blame[1]." msgstr "" #. type: Labeled list -#: en/git-bundle.txt:40 +#: en/config.txt:2162 #, no-wrap -msgid "verify <file>" +msgid "mailmap.blob" msgstr "" #. type: Plain text -#: en/git-bundle.txt:47 +#: en/config.txt:2169 msgid "" -"Used to check that a bundle file is valid and will apply cleanly to the " -"current repository. This includes checks on the bundle format itself as " -"well as checking that the prerequisite commits exist and are fully linked in " -"the current repository. 'git bundle' prints a list of missing commits, if " -"any, and exits with a non-zero status." +"Like `mailmap.file`, but consider the value as a reference to a blob in the " +"repository. If both `mailmap.file` and `mailmap.blob` are given, both are " +"parsed, with entries from `mailmap.file` taking precedence. In a bare " +"repository, this defaults to `HEAD:.mailmap`. In a non-bare repository, it " +"defaults to empty." msgstr "" -#. type: Labeled list -#: en/git-bundle.txt:48 +#. type: Title ~ +#: en/config.txt:2170 en/git-help.txt:101 #, no-wrap -msgid "list-heads <file>" +msgid "man.viewer" msgstr "" #. type: Plain text -#: en/git-bundle.txt:52 +#: en/config.txt:2173 msgid "" -"Lists the references defined in the bundle. If followed by a list of " -"references, only references matching those given are printed out." +"Specify the programs that may be used to display help in the 'man' " +"format. See linkgit:git-help[1]." msgstr "" -#. type: Labeled list -#: en/git-bundle.txt:53 +#. type: Title ~ +#: en/config.txt:2174 en/git-help.txt:144 #, no-wrap -msgid "unbundle <file>" +msgid "man.<tool>.cmd" msgstr "" #. type: Plain text -#: en/git-bundle.txt:59 +#: en/config.txt:2178 msgid "" -"Passes the objects in the bundle to 'git index-pack' for storage in the " -"repository, then prints the names of all defined references. If a list of " -"references is given, only references matching those in the list are " -"printed. This command is really plumbing, intended to be called only by 'git " -"fetch'." +"Specify the command to invoke the specified man viewer. The specified " +"command is evaluated in shell with the man page passed as argument. (See " +"linkgit:git-help[1].)" msgstr "" -#. type: Labeled list -#: en/git-bundle.txt:60 +#. type: Title ~ +#: en/config.txt:2179 en/git-help.txt:135 #, no-wrap -msgid "<git-rev-list-args>" +msgid "man.<tool>.path" msgstr "" #. type: Plain text -#: en/git-bundle.txt:69 +#: en/config.txt:2182 msgid "" -"A list of arguments, acceptable to 'git rev-parse' and 'git rev-list' (and " -"containing a named ref, see SPECIFYING REFERENCES below), that specifies the " -"specific objects and references to transport. For example, " -"`master~10..master` causes the current master reference to be packaged along " -"with all objects added since its 10th ancestor commit. There is no explicit " -"limit to the number of references and objects that may be packaged." +"Override the path for the given tool that may be used to display help in the " +"'man' format. See linkgit:git-help[1]." msgstr "" -#. type: Plain text -#: en/git-bundle.txt:77 +#. type: Labeled list +#: en/config.txt:2185 #, no-wrap -msgid "" -"[<refname>...]::\n" -"\tA list of references used to limit the references reported as\n" -"\tavailable. This is principally of use to 'git fetch', which\n" -"\texpects to receive only those references asked for and not\n" -"\tnecessarily everything in the pack (in this case, 'git bundle' acts\n" -"\tlike 'git fetch-pack').\n" +msgid "mergetool.<tool>.path" msgstr "" -#. type: Title - -#: en/git-bundle.txt:79 +#. type: Labeled list +#: en/config.txt:2189 #, no-wrap -msgid "SPECIFYING REFERENCES" +msgid "mergetool.<tool>.cmd" msgstr "" #. type: Plain text -#: en/git-bundle.txt:89 +#: en/config.txt:2199 msgid "" -"'git bundle' will only package references that are shown by 'git show-ref': " -"this includes heads, tags, and remote heads. References such as `master~1` " -"cannot be packaged, but are perfectly suitable for defining the basis. More " -"than one reference may be packaged, and more than one basis can be " -"specified. The objects packaged are those not contained in the union of the " -"given bases. Each basis can be specified explicitly (e.g. `^master~10`), or " -"implicitly (e.g. `master~10..master`, `--since=10.days.ago master`)." +"Specify the command to invoke the specified merge tool. The specified " +"command is evaluated in shell with the following variables available: 'BASE' " +"is the name of a temporary file containing the common base of the files to " +"be merged, if available; 'LOCAL' is the name of a temporary file containing " +"the contents of the file on the current branch; 'REMOTE' is the name of a " +"temporary file containing the contents of the file from the branch being " +"merged; 'MERGED' contains the name of the file to which the merge tool " +"should write the results of a successful merge." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2200 +#, no-wrap +msgid "mergetool.<tool>.trustExitCode" msgstr "" #. type: Plain text -#: en/git-bundle.txt:94 +#: en/config.txt:2207 msgid "" -"It is very important that the basis used be held by the destination. It is " -"okay to err on the side of caution, causing the bundle file to contain " -"objects already in the destination, as these are ignored when unpacking at " -"the destination." +"For a custom merge command, specify whether the exit code of the merge " +"command can be used to determine whether the merge was successful. If this " +"is not set to true then the merge target file timestamp is checked and the " +"merge assumed to have been successful if the file has been updated, " +"otherwise the user is prompted to indicate the success of the merge." msgstr "" -#. type: Plain text -#: en/git-bundle.txt:96 en/git-fmt-merge-msg.txt:61 en/git-imap-send.txt:140 en/git-name-rev.txt:65 en/git-p4.txt:33 en/git-prune.txt:57 en/git-request-pull.txt:50 en/git-send-email.txt:441 en/git-shell.txt:66 en/git-show-branch.txt:177 en/git-show-ref.txt:124 en/git-var.txt:27 +#. type: Labeled list +#: en/config.txt:2208 #, no-wrap -msgid "EXAMPLE" +msgid "mergetool.meld.hasOutput" msgstr "" #. type: Plain text -#: en/git-bundle.txt:103 +#: en/config.txt:2216 msgid "" -"Assume you want to transfer the history from a repository R1 on machine A to " -"another repository R2 on machine B. For whatever reason, direct connection " -"between A and B is not allowed, but we can move data from A to B via some " -"mechanism (CD, email, etc.). We want to update R2 with development made on " -"the branch master in R1." +"Older versions of `meld` do not support the `--output` option. Git will " +"attempt to detect whether `meld` supports `--output` by inspecting the " +"output of `meld --help`. Configuring `mergetool.meld.hasOutput` will make " +"Git skip these checks and use the configured value instead. Setting " +"`mergetool.meld.hasOutput` to `true` tells Git to unconditionally use the " +"`--output` option, and `false` avoids using `--output`." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2217 +#, no-wrap +msgid "mergetool.keepBackup" msgstr "" #. type: Plain text -#: en/git-bundle.txt:108 +#: en/config.txt:2222 msgid "" -"To bootstrap the process, you can first create a bundle that does not have " -"any basis. You can use a tag to remember up to what commit you last " -"processed, in order to make it easy to later update the other repository " -"with an incremental bundle:" +"After performing a merge, the original file with conflict markers can be " +"saved as a file with a `.orig` extension. If this variable is set to " +"`false` then this file is not preserved. Defaults to `true` (i.e. keep the " +"backup files)." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:113 +#. type: Labeled list +#: en/config.txt:2223 #, no-wrap -msgid "" -"machineA$ cd R1\n" -"machineA$ git bundle create file.bundle master\n" -"machineA$ git tag -f lastR2bundle master\n" +msgid "mergetool.keepTemporaries" msgstr "" #. type: Plain text -#: en/git-bundle.txt:118 +#: en/config.txt:2229 msgid "" -"Then you transfer file.bundle to the target machine B. Because this bundle " -"does not require any existing object to be extracted, you can create a new " -"repository on machine B by cloning from it:" +"When invoking a custom merge tool, Git uses a set of temporary files to pass " +"to the tool. If the tool returns an error and this variable is set to " +"`true`, then these temporary files will be preserved, otherwise they will be " +"removed after the tool has exited. Defaults to `false`." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:121 +#. type: Labeled list +#: en/config.txt:2230 #, no-wrap -msgid "machineB$ git clone -b master /home/me/tmp/file.bundle R2\n" +msgid "mergetool.writeToTemp" msgstr "" #. type: Plain text -#: en/git-bundle.txt:126 +#: en/config.txt:2235 msgid "" -"This will define a remote called \"origin\" in the resulting repository that " -"lets you fetch and pull from the bundle. The $GIT_DIR/config file in R2 will " -"have an entry like this:" +"Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of conflicting " +"files in the worktree by default. Git will attempt to use a temporary " +"directory for these files when set `true`. Defaults to `false`." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:131 +#. type: Labeled list +#: en/config.txt:2236 #, no-wrap -msgid "" -"[remote \"origin\"]\n" -" url = /home/me/tmp/file.bundle\n" -" fetch = refs/heads/*:refs/remotes/origin/*\n" +msgid "mergetool.prompt" msgstr "" #. type: Plain text -#: en/git-bundle.txt:136 -msgid "" -"To update the resulting mine.git repository, you can fetch or pull after " -"replacing the bundle stored at /home/me/tmp/file.bundle with incremental " -"updates." +#: en/config.txt:2238 +msgid "Prompt before each invocation of the merge resolution program." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2239 en/git-notes.txt:319 +#, no-wrap +msgid "notes.mergeStrategy" msgstr "" #. type: Plain text -#: en/git-bundle.txt:139 +#: en/config.txt:2244 msgid "" -"After working some more in the original repository, you can create an " -"incremental bundle to update the other repository:" +"Which merge strategy to choose by default when resolving notes conflicts. " +"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " +"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section of " +"linkgit:git-notes[1] for more information on each strategy." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:144 +#. type: Labeled list +#: en/config.txt:2245 en/git-notes.txt:327 #, no-wrap -msgid "" -"machineA$ cd R1\n" -"machineA$ git bundle create file.bundle lastR2bundle..master\n" -"machineA$ git tag -f lastR2bundle master\n" +msgid "notes.<name>.mergeStrategy" msgstr "" #. type: Plain text -#: en/git-bundle.txt:148 +#: en/config.txt:2250 msgid "" -"You then transfer the bundle to the other machine to replace " -"/home/me/tmp/file.bundle, and pull from it." +"Which merge strategy to choose when doing a notes merge into " +"refs/notes/<name>. This overrides the more general " +"\"notes.mergeStrategy\". See the \"NOTES MERGE STRATEGIES\" section in " +"linkgit:git-notes[1] for more information on the available strategies." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:152 +#. type: Labeled list +#: en/config.txt:2251 en/git-log.txt:208 en/git-notes.txt:333 #, no-wrap -msgid "" -"machineB$ cd R2\n" -"machineB$ git pull\n" +msgid "notes.displayRef" msgstr "" #. type: Plain text -#: en/git-bundle.txt:160 +#: en/config.txt:2259 msgid "" -"If you know up to what commit the intended recipient repository should have " -"the necessary objects, you can use that knowledge to specify the basis, " -"giving a cut-off point to limit the revisions and objects that go in the " -"resulting bundle. The previous example used the lastR2bundle tag for this " -"purpose, but you can use any other options that you would give to the " -"linkgit:git-log[1] command. Here are more examples:" -msgstr "" - -#. type: Plain text -#: en/git-bundle.txt:162 -msgid "You can use a tag that is present in both:" -msgstr "" - -#. type: delimited block - -#: en/git-bundle.txt:165 -#, no-wrap -msgid "$ git bundle create mybundle v1.0.0..master\n" +"The (fully qualified) refname from which to show notes when showing commit " +"messages. The value of this variable can be set to a glob, in which case " +"notes from all matching refs will be shown. You may also specify this " +"configuration variable several times. A warning will be issued for refs " +"that do not exist, but a glob that does not match any refs is silently " +"ignored." msgstr "" #. type: Plain text -#: en/git-bundle.txt:168 -msgid "You can use a basis based on time:" -msgstr "" - -#. type: delimited block - -#: en/git-bundle.txt:171 -#, no-wrap -msgid "$ git bundle create mybundle --since=10.days master\n" +#: en/config.txt:2263 +msgid "" +"This setting can be overridden with the `GIT_NOTES_DISPLAY_REF` environment " +"variable, which must be a colon separated list of refs or globs." msgstr "" #. type: Plain text -#: en/git-bundle.txt:174 -msgid "You can use the number of commits:" +#: en/config.txt:2267 +msgid "" +"The effective value of \"core.notesRef\" (possibly overridden by " +"GIT_NOTES_REF) is also implicitly added to the list of refs to be displayed." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:177 +#. type: Labeled list +#: en/config.txt:2268 en/git-notes.txt:342 #, no-wrap -msgid "$ git bundle create mybundle -10 master\n" +msgid "notes.rewrite.<command>" msgstr "" #. type: Plain text -#: en/git-bundle.txt:181 +#: en/config.txt:2274 msgid "" -"You can run `git-bundle verify` to see if you can extract from a bundle that " -"was created with a basis:" +"When rewriting commits with <command> (currently `amend` or `rebase`) and " +"this variable is set to `true`, Git automatically copies your notes from the " +"original to the rewritten commit. Defaults to `true`, but see " +"\"notes.rewriteRef\" below." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:184 +#. type: Labeled list +#: en/config.txt:2275 en/git-notes.txt:351 #, no-wrap -msgid "$ git bundle verify mybundle\n" +msgid "notes.rewriteMode" msgstr "" #. type: Plain text -#: en/git-bundle.txt:188 +#: en/config.txt:2281 msgid "" -"This will list what commits you must have in order to extract from the " -"bundle and will error out if you do not have them." +"When copying notes during a rewrite (see the \"notes.rewrite.<command>\" " +"option), determines what to do if the target commit already has a note. " +"Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`. " +"Defaults to `concatenate`." msgstr "" #. type: Plain text -#: en/git-bundle.txt:192 +#: en/config.txt:2284 en/git-notes.txt:359 msgid "" -"A bundle from a recipient repository's point of view is just like a regular " -"repository which it fetches or pulls from. You can, for example, map " -"references when fetching:" +"This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` environment " +"variable." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:195 +#. type: Labeled list +#: en/config.txt:2285 en/git-notes.txt:360 #, no-wrap -msgid "$ git fetch mybundle master:localRef\n" +msgid "notes.rewriteRef" msgstr "" #. type: Plain text -#: en/git-bundle.txt:198 -msgid "You can also see what references it offers:" +#: en/config.txt:2290 +msgid "" +"When copying notes during a rewrite, specifies the (fully qualified) ref " +"whose notes should be copied. The ref may be a glob, in which case notes in " +"all matching refs will be copied. You may also specify this configuration " +"several times." msgstr "" -#. type: delimited block - -#: en/git-bundle.txt:201 -#, no-wrap -msgid "$ git ls-remote mybundle\n" +#. type: Plain text +#: en/config.txt:2294 +msgid "" +"Does not have a default value; you must configure this variable to enable " +"note rewriting. Set it to `refs/notes/commits` to enable rewriting for the " +"default commit notes." msgstr "" -#. type: Title = -#: en/git-cat-file.txt:2 +#. type: Plain text +#: en/config.txt:2298 +msgid "" +"This setting can be overridden with the `GIT_NOTES_REWRITE_REF` environment " +"variable, which must be a colon separated list of refs or globs." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2299 #, no-wrap -msgid "git-cat-file(1)" +msgid "pack.window" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:7 +#: en/config.txt:2302 msgid "" -"git-cat-file - Provide content or type and size information for repository " -"objects" +"The size of the window used by linkgit:git-pack-objects[1] when no window " +"size is given on the command line. Defaults to 10." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:14 +#. type: Labeled list +#: en/config.txt:2303 #, no-wrap -msgid "" -"'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | " -"-p | <type> | --textconv | --filters ) [--path=<path>] <object>\n" -"'git cat-file' (--batch | --batch-check) [ --textconv | --filters ] " -"[--follow-symlinks]\n" +msgid "pack.depth" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:21 +#: en/config.txt:2306 msgid "" -"In its first form, the command provides the content or the type of an object " -"in the repository. The type is required unless `-t` or `-p` is used to find " -"the object type, or `-s` is used to find the object size, or `--textconv` or " -"`--filters` is used (which imply type \"blob\")." +"The maximum delta depth used by linkgit:git-pack-objects[1] when no maximum " +"depth is given on the command line. Defaults to 50." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:28 -msgid "" -"In the second form, a list of objects (separated by linefeeds) is provided " -"on stdin, and the SHA-1, type, and size of each object is printed on " -"stdout. The output format can be overridden using the optional `<format>` " -"argument. If either `--textconv` or `--filters` was specified, the input is " -"expected to list the object names followed by the path name, separated by a " -"single white space, so that the appropriate drivers can be determined." +#. type: Labeled list +#: en/config.txt:2307 +#, no-wrap +msgid "pack.windowMemory" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:35 +#: en/config.txt:2313 msgid "" -"The name of the object to show. For a more complete list of ways to spell " -"object names, see the \"SPECIFYING REVISIONS\" section in " -"linkgit:gitrevisions[7]." +"The maximum size of memory that is consumed by each thread in " +"linkgit:git-pack-objects[1] for pack window memory when no limit is given on " +"the command line. The value can be suffixed with \"k\", \"m\", or \"g\". " +"When left unconfigured (or set explicitly to 0), there will be no limit." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:39 -msgid "Instead of the content, show the object type identified by <object>." +#. type: Labeled list +#: en/config.txt:2314 +#, no-wrap +msgid "pack.compression" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:43 -msgid "Instead of the content, show the object size identified by <object>." +#: en/config.txt:2322 +msgid "" +"An integer -1..9, indicating the compression level for objects in a pack " +"file. -1 is the zlib default. 0 means no compression, and 1..9 are various " +"speed/size tradeoffs, 9 being slowest. If not set, defaults to " +"core.compression. If that is not set, defaults to -1, the zlib default, " +"which is \"a default compromise between speed and compression (currently " +"equivalent to level 6).\"" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:47 +#: en/config.txt:2326 msgid "" -"Suppress all output; instead exit with zero status if <object> exists and is " -"a valid object." +"Note that changing the compression level will not automatically recompress " +"all existing objects. You can force recompression by passing the -F option " +"to linkgit:git-repack[1]." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:50 -msgid "Pretty-print the contents of <object> based on its type." +#. type: Labeled list +#: en/config.txt:2327 +#, no-wrap +msgid "pack.deltaCacheSize" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:58 +#: en/config.txt:2337 msgid "" -"Typically this matches the real type of <object> but asking for a type that " -"can trivially be dereferenced from the given <object> is also permitted. An " -"example is to ask for a \"tree\" with <object> being a commit object that " -"contains it, or to ask for a \"blob\" with <object> being a tag object that " -"points at it." +"The maximum memory in bytes used for caching deltas in " +"linkgit:git-pack-objects[1] before writing them out to a pack. This cache " +"is used to speed up the writing object phase by not having to recompute the " +"final delta result once the best match for all objects is found. Repacking " +"large repositories on machines which are tight with memory might be badly " +"impacted by this though, especially if this cache pushes the system into " +"swapping. A value of 0 means no limit. The smallest size of 1 byte may be " +"used to virtually disable this cache. Defaults to 256 MiB." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:59 en/git-grep.txt:109 en/diff-options.txt:570 +#: en/config.txt:2338 #, no-wrap -msgid "--textconv" +msgid "pack.deltaCacheLimit" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:64 +#: en/config.txt:2343 msgid "" -"Show the content as transformed by a textconv filter. In this case, <object> " -"has to be of the form <tree-ish>:<path>, or :<path> in order to apply the " -"filter to the content recorded in the index at <path>." +"The maximum size of a delta, that is cached in " +"linkgit:git-pack-objects[1]. This cache is used to speed up the writing " +"object phase by not having to recompute the final delta result once the best " +"match for all objects is found. Defaults to 1000." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:65 +#: en/config.txt:2344 #, no-wrap -msgid "--filters" +msgid "pack.threads" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:70 +#: en/config.txt:2353 msgid "" -"Show the content as converted by the filters configured in the current " -"working tree for the given <path> (i.e. smudge filters, end-of-line " -"conversion, etc). In this case, <object> has to be of the form " -"<tree-ish>:<path>, or :<path>." +"Specifies the number of threads to spawn when searching for best delta " +"matches. This requires that linkgit:git-pack-objects[1] be compiled with " +"pthreads otherwise this option is ignored with a warning. This is meant to " +"reduce packing time on multiprocessor machines. The required amount of " +"memory for the delta search window is however multiplied by the number of " +"threads. Specifying 0 will cause Git to auto-detect the number of CPU's and " +"set the number of threads accordingly." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:71 +#: en/config.txt:2354 #, no-wrap -msgid "--path=<path>" +msgid "pack.indexVersion" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:75 +#: en/config.txt:2362 msgid "" -"For use with --textconv or --filters, to allow specifying an object name and " -"a path separately, e.g. when it is difficult to figure out the revision from " -"which the blob came." +"Specify the default pack index version. Valid values are 1 for legacy pack " +"index used by Git versions prior to 1.5.2, and 2 for the new pack index with " +"capabilities for packs larger than 4 GB as well as proper protection against " +"the repacking of corrupted packs. Version 2 is the default. Note that " +"version 2 is enforced and this config option ignored whenever the " +"corresponding pack is larger than 2 GB." msgstr "" -#. type: Labeled list -#: en/git-cat-file.txt:76 en/git-mktree.txt:32 -#, no-wrap -msgid "--batch" +#. type: Plain text +#: en/config.txt:2370 +msgid "" +"If you have an old Git that does not understand the version 2 `*.idx` file, " +"cloning or fetching over a non native protocol (e.g. \"http\") that will " +"copy both `*.pack` file and corresponding `*.idx` file from the other side " +"may give you a repository that cannot be accessed with your older version of " +"Git. If the `*.pack` file is smaller than 2 GB, however, you can use " +"linkgit:git-index-pack[1] on the *.pack file to regenerate the `*.idx` file." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:77 +#: en/config.txt:2371 #, no-wrap -msgid "--batch=<format>" +msgid "pack.packSizeLimit" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:83 +#: en/config.txt:2382 msgid "" -"Print object information and contents for each object provided on stdin. " -"May not be combined with any other options or arguments except `--textconv` " -"or `--filters`, in which case the input lines also need to specify the path, " -"separated by white space. See the section `BATCH OUTPUT` below for details." +"The maximum size of a pack. This setting only affects packing to a file " +"when repacking, i.e. the git:// protocol is unaffected. It can be " +"overridden by the `--max-pack-size` option of linkgit:git-repack[1]. " +"Reaching this limit results in the creation of multiple packfiles; which in " +"turn prevents bitmaps from being created. The minimum size allowed is " +"limited to 1 MiB. The default is unlimited. Common unit suffixes of 'k', " +"'m', or 'g' are supported." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:84 +#: en/config.txt:2383 #, no-wrap -msgid "--batch-check" +msgid "pack.useBitmaps" +msgstr "" + +#. type: Plain text +#: en/config.txt:2388 +msgid "" +"When true, git will use pack bitmaps (if available) when packing to stdout " +"(e.g., during the server side of a fetch). Defaults to true. You should not " +"generally need to turn this off unless you are debugging pack bitmaps." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:85 +#: en/config.txt:2389 #, no-wrap -msgid "--batch-check=<format>" +msgid "pack.writeBitmaps (deprecated)" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:91 -msgid "" -"Print object information for each object provided on stdin. May not be " -"combined with any other options or arguments except `--textconv` or " -"`--filters`, in which case the input lines also need to specify the path, " -"separated by white space. See the section `BATCH OUTPUT` below for details." +#: en/config.txt:2391 +msgid "This is a deprecated synonym for `repack.writeBitmaps`." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:92 +#: en/config.txt:2392 #, no-wrap -msgid "--batch-all-objects" +msgid "pack.writeBitmapHashCache" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:98 +#: en/config.txt:2402 msgid "" -"Instead of reading a list of objects on stdin, perform the requested batch " -"operation on all objects in the repository and any alternate object stores " -"(not just reachable objects). Requires `--batch` or `--batch-check` be " -"specified. Note that the objects are visited in order sorted by their " -"hashes." +"When true, git will include a \"hash cache\" section in the bitmap index (if " +"one is written). This cache can be used to feed git's delta heuristics, " +"potentially leading to better deltas between bitmapped and non-bitmapped " +"objects (e.g., when serving a fetch between an older, bitmapped pack and " +"objects that have been pushed since the last gc). The downside is that it " +"consumes 4 bytes per object of disk space, and that JGit's bitmap " +"implementation does not understand it, causing it to complain if Git and " +"JGit are used on the same repository. Defaults to false." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:99 +#: en/config.txt:2403 #, no-wrap -msgid "--buffer" +msgid "pager.<cmd>" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:105 +#: en/config.txt:2411 msgid "" -"Normally batch output is flushed after each object is output, so that a " -"process can interactively read and write from `cat-file`. With this option, " -"the output uses normal stdio buffering; this is much more efficient when " -"invoking `--batch-check` on a large number of objects." +"If the value is boolean, turns on or off pagination of the output of a " +"particular Git subcommand when writing to a tty. Otherwise, turns on " +"pagination for the subcommand using the pager specified by the value of " +"`pager.<cmd>`. If `--paginate` or `--no-pager` is specified on the command " +"line, it takes precedence over this option. To disable pagination for all " +"commands, set `core.pager` or `GIT_PAGER` to `cat`." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:106 +#: en/config.txt:2412 #, no-wrap -msgid "--allow-unknown-type" +msgid "pretty.<name>" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:108 -msgid "Allow -s or -t to query broken/corrupt objects of unknown type." +#: en/config.txt:2421 +msgid "" +"Alias for a --pretty= format string, as specified in linkgit:git-log[1]. Any " +"aliases defined here can be used just as the built-in pretty formats " +"could. For example, running `git config pretty.changelog \"format:* %H %s\"` " +"would cause the invocation `git log --pretty=changelog` to be equivalent to " +"running `git log \"--pretty=format:* %H %s\"`. Note that an alias with the " +"same name as a built-in format will be silently ignored." msgstr "" #. type: Labeled list -#: en/git-cat-file.txt:109 +#: en/config.txt:2422 #, no-wrap -msgid "--follow-symlinks" +msgid "protocol.allow" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:118 +#: en/config.txt:2429 msgid "" -"With --batch or --batch-check, follow symlinks inside the repository when " -"requesting objects with extended SHA-1 expressions of the form " -"tree-ish:path-in-tree. Instead of providing output about the link itself, " -"provide output about the linked-to object. If a symlink points outside the " -"tree-ish (e.g. a link to /foo or a root-level link to ../foo), the portion " -"of the link which is outside the tree will be printed." +"If set, provide a user defined default policy for all protocols which don't " +"explicitly have a policy (`protocol.<name>.allow`). By default, if unset, " +"known-safe protocols (http, https, git, ssh, file) have a default policy of " +"`always`, known-dangerous protocols (ext) have a default policy of `never`, " +"and all other protocols have a default policy of `user`. Supported " +"policies:" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:122 -msgid "" -"This option does not (currently) work correctly when an object in the index " -"is specified (e.g. `:link` instead of `HEAD:link`) rather than one in the " -"tree." +#: en/config.txt:2433 +msgid "`always` - protocol is always able to be used." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:125 -msgid "" -"This option cannot (currently) be used unless `--batch` or `--batch-check` " -"is used." +#: en/config.txt:2435 +msgid "`never` - protocol is never able to be used." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:127 -msgid "For example, consider a git repository containing:" +#: en/config.txt:2441 +msgid "" +"`user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is " +"either unset or has a value of 1. This policy should be used when you want " +"a protocol to be directly usable by the user but don't want it used by " +"commands which execute clone/fetch/push commands without user input, " +"e.g. recursive submodule initialization." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:134 +#. type: Labeled list +#: en/config.txt:2444 #, no-wrap -msgid "" -"\tf: a file containing \"hello\\n\"\n" -"\tlink: a symlink to f\n" -"\tdir/link: a symlink to ../f\n" -"\tplink: a symlink to ../f\n" -"\talink: a symlink to /etc/passwd\n" +msgid "protocol.<name>.allow" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:137 -msgid "For a regular file `f`, `echo HEAD:f | git cat-file --batch` would print" +#: en/config.txt:2447 +msgid "" +"Set a policy to be used by protocol `<name>` with clone/fetch/push " +"commands. See `protocol.allow` above for the available policies." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:140 -#, no-wrap -msgid "\tce013625030ba8dba906f756967f9e9ca394464a blob 6\n" +#: en/config.txt:2449 +msgid "The protocol names currently used by git are:" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:145 -msgid "" -"And `echo HEAD:link | git cat-file --batch --follow-symlinks` would print " -"the same thing, as would `HEAD:dir/link`, as they both point at `HEAD:f`." +#: en/config.txt:2453 +msgid "`file`: any local file-based path (including `file://` URLs, or local paths)" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:148 +#: en/config.txt:2456 msgid "" -"Without `--follow-symlinks`, these would print data about the symlink " -"itself. In the case of `HEAD:link`, you would see" +"`git`: the anonymous git protocol over a direct TCP connection (or proxy, if " +"configured)" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:151 -#, no-wrap -msgid "\t4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1\n" +#: en/config.txt:2459 +msgid "`ssh`: git over ssh (including `host:path` syntax, `ssh://`, etc)." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:155 +#: en/config.txt:2463 msgid "" -"Both `plink` and `alink` point outside the tree, so they would respectively " -"print:" +"`http`: git over http, both \"smart http\" and \"dumb http\". Note that " +"this does _not_ include `https`; if you want to configure both, you must do " +"so individually." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:159 -#, no-wrap +#: en/config.txt:2466 msgid "" -"\tsymlink 4\n" -"\t../f\n" +"any external helpers are named by their protocol (e.g., use `hg` to allow " +"the `git-remote-hg` helper)" msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:162 +#. type: Labeled list +#: en/config.txt:2468 #, no-wrap +msgid "pull.ff" +msgstr "" + +#. type: Plain text +#: en/config.txt:2477 msgid "" -"\tsymlink 11\n" -"\t/etc/passwd\n" +"By default, Git does not create an extra merge commit when merging a commit " +"that is a descendant of the current commit. Instead, the tip of the current " +"branch is fast-forwarded. When set to `false`, this variable tells Git to " +"create an extra merge commit in such a case (equivalent to giving the " +"`--no-ff` option from the command line). When set to `only`, only such " +"fast-forward merges are allowed (equivalent to giving the `--ff-only` option " +"from the command line). This setting overrides `merge.ff` when pulling." msgstr "" -#. type: Title - -#: en/git-cat-file.txt:166 en/git-check-attr.txt:48 en/git-check-ignore.txt:60 en/git-check-mailmap.txt:32 en/git-cvsimport.txt:188 en/git-fetch.txt:103 en/git-push.txt:306 en/git-show-branch.txt:134 en/git-show-ref.txt:97 en/git-status.txt:113 en/git-update-server-info.txt:32 +#. type: Labeled list +#: en/config.txt:2478 #, no-wrap -msgid "OUTPUT" +msgid "pull.rebase" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:168 -msgid "If `-t` is specified, one of the <type>." +#: en/config.txt:2483 +msgid "" +"When true, rebase branches on top of the fetched branch, instead of merging " +"the default branch from the default remote when \"git pull\" is run. See " +"\"branch.<name>.rebase\" for setting this on a per-branch basis." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:170 -msgid "If `-s` is specified, the size of the <object> in bytes." +#. type: Labeled list +#: en/config.txt:2494 +#, no-wrap +msgid "pull.octopus" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:172 -msgid "If `-e` is specified, no output." +#: en/config.txt:2497 +msgid "The default merge strategy to use when pulling multiple branches at once." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:174 -msgid "If `-p` is specified, the contents of <object> are pretty-printed." +#. type: Labeled list +#: en/config.txt:2498 +#, no-wrap +msgid "pull.twohead" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:177 -msgid "" -"If <type> is specified, the raw (though uncompressed) contents of the " -"<object> will be returned." +#: en/config.txt:2500 +msgid "The default merge strategy to use when pulling a single branch." msgstr "" -#. type: Title - -#: en/git-cat-file.txt:179 +#. type: Labeled list +#: en/config.txt:2501 #, no-wrap -msgid "BATCH OUTPUT" +msgid "push.default" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:185 +#: en/config.txt:2507 msgid "" -"If `--batch` or `--batch-check` is given, `cat-file` will read objects from " -"stdin, one per line, and print information about them. By default, the whole " -"line is considered as an object, as if it were fed to " -"linkgit:git-rev-parse[1]." +"Defines the action `git push` should take if no refspec is explicitly " +"given. Different values are well-suited for specific workflows; for " +"instance, in a purely central workflow (i.e. the fetch source is equal to " +"the push destination), `upstream` is probably what you want. Possible " +"values are:" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:190 +#: en/config.txt:2513 msgid "" -"You can specify the information shown for each object by using a custom " -"`<format>`. The `<format>` is copied literally to stdout for each object, " -"with placeholders of the form `%(atom)` expanded, followed by a newline. The " -"available atoms are:" -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:191 -#, no-wrap -msgid "`objectname`" +"`nothing` - do not push anything (error out) unless a refspec is explicitly " +"given. This is primarily meant for people who want to avoid mistakes by " +"always being explicit." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:193 -msgid "The 40-hex object name of the object." -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:194 -#, no-wrap -msgid "`objecttype`" +#: en/config.txt:2517 +msgid "" +"`current` - push the current branch to update a branch with the same name on " +"the receiving end. Works in both central and non-central workflows." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:196 -msgid "The type of of the object (the same as `cat-file -t` reports)." -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:197 -#, no-wrap -msgid "`objectsize`" +#: en/config.txt:2523 +msgid "" +"`upstream` - push the current branch back to the branch whose changes are " +"usually integrated into the current branch (which is called `@{upstream}`). " +"This mode only makes sense if you are pushing to the same repository you " +"would normally pull from (i.e. central workflow)." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:200 -msgid "The size, in bytes, of the object (the same as `cat-file -s` reports)." -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:201 -#, no-wrap -msgid "`objectsize:disk`" +#: en/config.txt:2525 +msgid "`tracking` - This is a deprecated synonym for `upstream`." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:204 +#: en/config.txt:2529 msgid "" -"The size, in bytes, that the object takes up on disk. See the note about " -"on-disk sizes in the `CAVEATS` section below." -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:205 -#, no-wrap -msgid "`deltabase`" +"`simple` - in centralized workflow, work like `upstream` with an added " +"safety to refuse to push if the upstream branch's name is different from the " +"local one." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:209 +#: en/config.txt:2533 msgid "" -"If the object is stored as a delta on-disk, this expands to the 40-hex sha1 " -"of the delta base object. Otherwise, expands to the null sha1 (40 " -"zeroes). See `CAVEATS` below." -msgstr "" - -#. type: Labeled list -#: en/git-cat-file.txt:210 -#, no-wrap -msgid "`rest`" +"When pushing to a remote that is different from the remote you normally pull " +"from, work as `current`. This is the safest option and is suited for " +"beginners." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:216 -msgid "" -"If this atom is used in the output string, input lines are split at the " -"first whitespace boundary. All characters before that whitespace are " -"considered to be the object name; characters after that first run of " -"whitespace (i.e., the \"rest\" of the line) are output in place of the " -"`%(rest)` atom." +#: en/config.txt:2535 +msgid "This mode has become the default in Git 2.0." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:219 +#: en/config.txt:2542 msgid "" -"If no format is specified, the default format is `%(objectname) " -"%(objecttype) %(objectsize)`." +"`matching` - push all branches having the same name on both ends. This " +"makes the repository you are pushing to remember the set of branches that " +"will be pushed out (e.g. if you always push 'maint' and 'master' there and " +"no other branches, the repository you push to will have these two branches, " +"and your local 'maint' and 'master' will be pushed there)." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:223 +#: en/config.txt:2552 msgid "" -"If `--batch` is specified, the object information is followed by the object " -"contents (consisting of `%(objectsize)` bytes), followed by a newline." +"To use this mode effectively, you have to make sure _all_ the branches you " +"would push out are ready to be pushed out before running 'git push', as the " +"whole point of this mode is to allow you to push all of the branches in one " +"go. If you usually finish work on only one branch and push out the result, " +"while other branches are unfinished, this mode is not for you. Also this " +"mode is not suitable for pushing into a shared central repository, as other " +"people may add new branches there, or update the tip of existing branches " +"outside your control." msgstr "" #. type: Plain text -#: en/git-cat-file.txt:225 -msgid "For example, `--batch` without a custom format would produce:" +#: en/config.txt:2555 +msgid "" +"This used to be the default, but not since Git 2.0 (`simple` is the new " +"default)." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:229 +#. type: Labeled list +#: en/config.txt:2558 #, no-wrap -msgid "" -"<sha1> SP <type> SP <size> LF\n" -"<contents> LF\n" +msgid "push.followTags" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:232 -msgid "Whereas `--batch-check='%(objectname) %(objecttype)'` would produce:" +#: en/config.txt:2562 +msgid "" +"If set to true enable `--follow-tags` option by default. You may override " +"this configuration at time of push by specifying `--no-follow-tags`." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:235 +#. type: Labeled list +#: en/config.txt:2563 #, no-wrap -msgid "<sha1> SP <type> LF\n" +msgid "push.gpgSign" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:239 +#: en/config.txt:2571 msgid "" -"If a name is specified on stdin that cannot be resolved to an object in the " -"repository, then `cat-file` will ignore any custom format and print:" +"May be set to a boolean value, or the string 'if-asked'. A true value causes " +"all pushes to be GPG signed, as if `--signed` is passed to " +"linkgit:git-push[1]. The string 'if-asked' causes pushes to be signed if the " +"server supports it, as if `--signed=if-asked` is passed to 'git push'. A " +"false value may override a value from a lower-priority config file. An " +"explicit command-line flag always overrides this config option." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:242 en/git-cat-file.txt:262 +#. type: Labeled list +#: en/config.txt:2572 #, no-wrap -msgid "<object> SP missing LF\n" +msgid "push.recurseSubmodules" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:247 +#: en/config.txt:2585 msgid "" -"If --follow-symlinks is used, and a symlink in the repository points outside " -"the repository, then `cat-file` will ignore any custom format and print:" +"Make sure all submodule commits used by the revisions to be pushed are " +"available on a remote-tracking branch. If the value is 'check' then Git will " +"verify that all submodule commits that changed in the revisions to be pushed " +"are available on at least one remote of the submodule. If any commits are " +"missing, the push will be aborted and exit with non-zero status. If the " +"value is 'on-demand' then all submodules that changed in the revisions to be " +"pushed will be pushed. If on-demand was not able to push all necessary " +"revisions it will also be aborted and exit with non-zero status. If the " +"value is 'no' then default behavior of ignoring submodules when pushing is " +"retained. You may override this configuration at time of push by specifying " +"'--recurse-submodules=check|on-demand|no'." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:251 +#. type: Labeled list +#: en/config.txt:2586 en/git-rebase.txt:206 #, no-wrap -msgid "" -"symlink SP <size> LF\n" -"<symlink> LF\n" +msgid "rebase.stat" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:256 +#: en/config.txt:2589 en/git-rebase.txt:209 msgid "" -"The symlink will either be absolute (beginning with a /), or relative to the " -"tree root. For instance, if dir/link points to ../../foo, then <symlink> " -"will be ../foo. <size> is the size of the symlink in bytes." +"Whether to show a diffstat of what changed upstream since the last " +"rebase. False by default." msgstr "" -#. type: Plain text -#: en/git-cat-file.txt:259 -msgid "" -"If --follow-symlinks is used, the following error messages will be " -"displayed:" +#. type: Labeled list +#: en/config.txt:2590 en/git-rebase.txt:210 +#, no-wrap +msgid "rebase.autoSquash" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:264 -msgid "is printed when the initial symlink requested does not exist." +#: en/config.txt:2592 en/git-rebase.txt:212 +msgid "If set to true enable `--autosquash` option by default." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:268 +#. type: Labeled list +#: en/config.txt:2593 en/git-rebase.txt:213 #, no-wrap -msgid "" -"dangling SP <size> LF\n" -"<object> LF\n" +msgid "rebase.autoStash" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:271 +#: en/config.txt:2600 msgid "" -"is printed when the initial symlink exists, but something that it " -"(transitive-of) points to does not." +"When set to true, automatically create a temporary stash before the " +"operation begins, and apply it after the operation ends. This means that " +"you can run rebase on a dirty worktree. However, use with care: the final " +"stash application after a successful rebase might result in non-trivial " +"conflicts. Defaults to false." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:275 +#. type: Labeled list +#: en/config.txt:2601 en/git-rebase.txt:216 #, no-wrap -msgid "" -"loop SP <size> LF\n" -"<object> LF\n" +msgid "rebase.missingCommitsCheck" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:278 +#: en/config.txt:2611 msgid "" -"is printed for symlink loops (or any symlinks that require more than 40 link " -"resolutions to resolve)." +"If set to \"warn\", git rebase -i will print a warning if some commits are " +"removed (e.g. a line was deleted), however the rebase will still proceed. If " +"set to \"error\", it will print the previous warning and stop the rebase, " +"'git rebase --edit-todo' can then be used to correct the error. If set to " +"\"ignore\", no checking is done. To drop a commit without warning or error, " +"use the `drop` command in the todo-list. Defaults to \"ignore\"." msgstr "" -#. type: delimited block - -#: en/git-cat-file.txt:282 +#. type: Labeled list +#: en/config.txt:2612 en/git-rebase.txt:222 #, no-wrap -msgid "" -"notdir SP <size> LF\n" -"<object> LF\n" +msgid "rebase.instructionFormat" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:285 +#: en/config.txt:2616 msgid "" -"is printed when, during symlink resolution, a file is used as a directory " -"name." +"A format string, as specified in linkgit:git-log[1], to be used for the " +"instruction list during an interactive rebase. The format will " +"automatically have the long commit hash prepended to the format." msgstr "" -#. type: Title - -#: en/git-cat-file.txt:287 en/git-svn.txt:960 +#. type: Labeled list +#: en/config.txt:2617 #, no-wrap -msgid "CAVEATS" +msgid "receive.advertiseAtomic" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:295 +#: en/config.txt:2621 msgid "" -"Note that the sizes of objects on disk are reported accurately, but care " -"should be taken in drawing conclusions about which refs or objects are " -"responsible for disk usage. The size of a packed non-delta object may be " -"much larger than the size of objects which delta against it, but the choice " -"of which object is the base and which is the delta is arbitrary and is " -"subject to change during a repack." +"By default, git-receive-pack will advertise the atomic push capability to " +"its clients. If you don't want to advertise this capability, set this " +"variable to false." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2622 +#, no-wrap +msgid "receive.advertisePushOptions" msgstr "" #. type: Plain text -#: en/git-cat-file.txt:299 +#: en/config.txt:2626 msgid "" -"Note also that multiple copies of an object may be present in the object " -"database; in this case, it is undefined which copy's size or delta base will " -"be reported." +"By default, git-receive-pack will advertise the push options capability to " +"its clients. If you don't want to advertise this capability, set this " +"variable to false." msgstr "" -#. type: Title = -#: en/git-check-attr.txt:2 +#. type: Labeled list +#: en/config.txt:2627 #, no-wrap -msgid "git-check-attr(1)" +msgid "receive.autogc" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:7 -msgid "git-check-attr - Display gitattributes information" +#: en/config.txt:2631 +msgid "" +"By default, git-receive-pack will run \"git-gc --auto\" after receiving data " +"from git-push and updating refs. You can stop it by setting this variable " +"to false." msgstr "" -#. type: Plain text -#: en/git-check-attr.txt:14 +#. type: Labeled list +#: en/config.txt:2632 #, no-wrap -msgid "" -"'git check-attr' [-a | --all | attr...] [--] pathname...\n" -"'git check-attr' --stdin [-z] [-a | --all | attr...]\n" +msgid "receive.certNonceSeed" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:19 +#: en/config.txt:2637 msgid "" -"For every pathname, this command will list if each attribute is " -"'unspecified', 'set', or 'unset' as a gitattribute on that pathname." +"By setting this variable to a string, `git receive-pack` will accept a `git " +"push --signed` and verifies it by using a \"nonce\" protected by HMAC using " +"this string as a secret key." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:22 +#: en/config.txt:2638 #, no-wrap -msgid "-a, --all" +msgid "receive.certNonceSlop" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:26 +#: en/config.txt:2650 msgid "" -"List all attributes that are associated with the specified paths. If this " -"option is used, then 'unspecified' attributes will not be included in the " -"output." -msgstr "" - -#. type: Plain text -#: en/git-check-attr.txt:29 -msgid "Consider `.gitattributes` in the index only, ignoring the working tree." +"When a `git push --signed` sent a push certificate with a \"nonce\" that was " +"issued by a receive-pack serving the same repository within this many " +"seconds, export the \"nonce\" found in the certificate to " +"`GIT_PUSH_CERT_NONCE` to the hooks (instead of what the receive-pack asked " +"the sending side to include). This may allow writing checks in " +"`pre-receive` and `post-receive` a bit easier. Instead of checking " +"`GIT_PUSH_CERT_NONCE_SLOP` environment variable that records by how many " +"seconds the nonce is stale to decide if they want to accept the certificate, " +"they only can check `GIT_PUSH_CERT_NONCE_STATUS` is `OK`." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:30 en/git-check-ignore.txt:37 en/git-check-mailmap.txt:26 en/git-checkout-index.txt:62 en/git-diff-tree.txt:49 en/git-fetch-pack.txt:38 en/git-hash-object.txt:34 en/git-http-fetch.txt:40 en/git-index-pack.txt:38 en/git-name-rev.txt:45 en/git-notes.txt:173 en/git-send-pack.txt:41 en/git-svn.txt:564 en/git-update-index.txt:140 en/rev-list-options.txt:194 +#: en/config.txt:2651 #, no-wrap -msgid "--stdin" +msgid "receive.fsckObjects" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:33 en/git-check-ignore.txt:40 +#: en/config.txt:2657 msgid "" -"Read pathnames from the standard input, one per line, instead of from the " -"command-line." +"If it is set to true, git-receive-pack will check all received objects. It " +"will abort in the case of a malformed object or a broken link. The result of " +"an abort are only dangling objects. Defaults to false. If not set, the " +"value of `transfer.fsckObjects` is used instead." msgstr "" -#. type: Plain text -#: en/git-check-attr.txt:38 -msgid "" -"The output format is modified to be machine-parseable. If `--stdin` is also " -"given, input paths are separated with a NUL character instead of a linefeed " -"character." +#. type: Labeled list +#: en/config.txt:2658 +#, no-wrap +msgid "receive.fsck.<msg-id>" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:42 +#: en/config.txt:2666 msgid "" -"Interpret all preceding arguments as attributes and all following arguments " -"as path names." +"When `receive.fsckObjects` is set to true, errors can be switched to " +"warnings and vice versa by configuring the `receive.fsck.<msg-id>` setting " +"where the `<msg-id>` is the fsck message ID and the value is one of `error`, " +"`warn` or `ignore`. For convenience, fsck prefixes the error/warning with " +"the message ID, e.g. \"missingEmail: invalid author/committer line - missing " +"email\" means that setting `receive.fsck.missingEmail = ignore` will hide " +"that issue." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:46 +#: en/config.txt:2671 msgid "" -"If none of `--stdin`, `--all`, or `--` is used, the first argument will be " -"treated as an attribute and the rest of the arguments as pathnames." +"This feature is intended to support working with legacy repositories which " +"would not pass pushing when `receive.fsckObjects = true`, allowing the host " +"to accept repositories with certain known issues but still catch other " +"issues." msgstr "" -#. type: Plain text -#: en/git-check-attr.txt:52 -msgid "The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF" +#. type: Labeled list +#: en/config.txt:2672 +#, no-wrap +msgid "receive.fsck.skipList" +msgstr "" + +#. type: Labeled list +#: en/config.txt:2680 +#, no-wrap +msgid "receive.keepAlive" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:55 +#: en/config.txt:2688 msgid "" -"unless `-z` is in effect, in which case NUL is used as delimiter: <path> NUL " -"<attribute> NUL <info> NUL" +"After receiving the pack from the client, `receive-pack` may produce no " +"output (if `--quiet` was specified) while processing the pack, causing some " +"networks to drop the TCP connection. With this option set, if " +"`receive-pack` does not transmit any data in this phase for " +"`receive.keepAlive` seconds, it will send a short keepalive packet. The " +"default is 5 seconds; set to 0 to disable keepalives entirely." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2689 +#, no-wrap +msgid "receive.unpackLimit" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:59 +#: en/config.txt:2698 msgid "" -"<path> is the path of a file being queried, <attribute> is an attribute " -"being queried and <info> can be either:" +"If the number of objects received in a push is below this limit then the " +"objects will be unpacked into loose object files. However if the number of " +"received objects equals or exceeds this limit then the received pack will be " +"stored as a pack, after adding any missing delta bases. Storing the pack " +"from a push can make the push operation complete faster, especially on slow " +"filesystems. If not set, the value of `transfer.unpackLimit` is used " +"instead." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:60 +#: en/config.txt:2699 #, no-wrap -msgid "'unspecified'" +msgid "receive.maxInputSize" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:61 -msgid "when the attribute is not defined for the path." +#: en/config.txt:2704 +msgid "" +"If the size of the incoming pack stream is larger than this limit, then " +"git-receive-pack will error out, instead of accepting the pack file. If not " +"set or set to 0, then the size is unlimited." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:61 +#: en/config.txt:2705 #, no-wrap -msgid "'unset'" +msgid "receive.denyDeletes" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:62 -msgid "when the attribute is defined as false." +#: en/config.txt:2708 +msgid "" +"If set to true, git-receive-pack will deny a ref update that deletes the " +"ref. Use this to prevent such a ref deletion via a push." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:62 +#: en/config.txt:2709 #, no-wrap -msgid "'set'" +msgid "receive.denyDeleteCurrent" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:63 -msgid "when the attribute is defined as true." +#: en/config.txt:2712 +msgid "" +"If set to true, git-receive-pack will deny a ref update that deletes the " +"currently checked out branch of a non-bare repository." msgstr "" #. type: Labeled list -#: en/git-check-attr.txt:63 +#: en/config.txt:2713 #, no-wrap -msgid "<value>" +msgid "receive.denyCurrentBranch" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:64 -msgid "when a value has been assigned to the attribute." +#: en/config.txt:2721 +msgid "" +"If set to true or \"refuse\", git-receive-pack will deny a ref update to the " +"currently checked out branch of a non-bare repository. Such a push is " +"potentially dangerous because it brings the HEAD out of sync with the index " +"and working tree. If set to \"warn\", print a warning of such a push to " +"stderr, but allow the push to proceed. If set to false or \"ignore\", allow " +"such pushes with no message. Defaults to \"refuse\"." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:69 en/git-check-ignore.txt:99 +#: en/config.txt:2728 msgid "" -"Buffering happens as documented under the `GIT_FLUSH` option in " -"linkgit:git[1]. The caller is responsible for avoiding deadlocks caused by " -"overfilling an input buffer or reading from an empty output buffer." +"Another option is \"updateInstead\" which will update the working tree if " +"pushing into the current branch. This option is intended for synchronizing " +"working directories when one side is not easily accessible via interactive " +"ssh (e.g. a live web site, hence the requirement that the working directory " +"be clean). This mode also comes in handy when developing inside a VM to test " +"and fix code on different Operating Systems." msgstr "" #. type: Plain text -#: en/git-check-attr.txt:74 -msgid "In the examples, the following '.gitattributes' file is used:" +#: en/config.txt:2732 +msgid "" +"By default, \"updateInstead\" will refuse the push if the working tree or " +"the index have any difference from the HEAD, but the `push-to-checkout` hook " +"can be used to customize this. See linkgit:githooks[5]." msgstr "" -#. type: delimited block - -#: en/git-check-attr.txt:78 +#. type: Labeled list +#: en/config.txt:2733 #, no-wrap -msgid "" -"*.java diff=java -crlf myAttr\n" -"NoMyAttr.java !myAttr\n" -"README caveat=unspecified\n" +msgid "receive.denyNonFastForwards" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:81 -msgid "Listing a single attribute:" +#: en/config.txt:2738 +msgid "" +"If set to true, git-receive-pack will deny a ref update which is not a " +"fast-forward. Use this to prevent such an update via a push, even if that " +"push is forced. This configuration variable is set when initializing a " +"shared repository." msgstr "" -#. type: delimited block - -#: en/git-check-attr.txt:84 +#. type: Labeled list +#: en/config.txt:2739 #, no-wrap -msgid "" -"$ git check-attr diff org/example/MyClass.java\n" -"org/example/MyClass.java: diff: java\n" +msgid "receive.hideRefs" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:87 -msgid "Listing multiple attributes for a file:" +#: en/config.txt:2744 +msgid "" +"This variable is the same as `transfer.hideRefs`, but applies only to " +"`receive-pack` (and so affects pushes, but not fetches). An attempt to " +"update or delete a hidden ref by `git push` is rejected." msgstr "" -#. type: delimited block - -#: en/git-check-attr.txt:92 +#. type: Labeled list +#: en/config.txt:2745 #, no-wrap -msgid "" -"$ git check-attr crlf diff myAttr -- org/example/MyClass.java\n" -"org/example/MyClass.java: crlf: unset\n" -"org/example/MyClass.java: diff: java\n" -"org/example/MyClass.java: myAttr: set\n" +msgid "receive.updateServerInfo" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:95 -msgid "Listing all attributes for a file:" +#: en/config.txt:2748 +msgid "" +"If set to true, git-receive-pack will run git-update-server-info after " +"receiving data from git-push and updating refs." msgstr "" -#. type: delimited block - -#: en/git-check-attr.txt:99 +#. type: Labeled list +#: en/config.txt:2749 #, no-wrap -msgid "" -"$ git check-attr --all -- org/example/MyClass.java\n" -"org/example/MyClass.java: diff: java\n" -"org/example/MyClass.java: myAttr: set\n" +msgid "receive.shallowUpdate" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:102 -msgid "Listing an attribute for multiple files:" +#: en/config.txt:2752 +msgid "" +"If set to true, .git/shallow can be updated when new refs require new " +"shallow roots. Otherwise those refs are rejected." msgstr "" -#. type: delimited block - -#: en/git-check-attr.txt:106 +#. type: Labeled list +#: en/config.txt:2753 #, no-wrap -msgid "" -"$ git check-attr myAttr -- org/example/MyClass.java " -"org/example/NoMyAttr.java\n" -"org/example/MyClass.java: myAttr: set\n" -"org/example/NoMyAttr.java: myAttr: unspecified\n" +msgid "remote.pushDefault" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:109 -msgid "Not all values are equally unambiguous:" +#: en/config.txt:2757 +msgid "" +"The remote to push to by default. Overrides `branch.<name>.remote` for all " +"branches, and is overridden by `branch.<name>.pushRemote` for specific " +"branches." msgstr "" -#. type: delimited block - -#: en/git-check-attr.txt:112 +#. type: Labeled list +#: en/config.txt:2758 #, no-wrap -msgid "" -"$ git check-attr caveat README\n" -"README: caveat: unspecified\n" +msgid "remote.<name>.url" msgstr "" #. type: Plain text -#: en/git-check-attr.txt:117 -msgid "linkgit:gitattributes[5]." +#: en/config.txt:2761 +msgid "" +"The URL of a remote repository. See linkgit:git-fetch[1] or " +"linkgit:git-push[1]." msgstr "" -#. type: Title = -#: en/git-check-ignore.txt:2 +#. type: Labeled list +#: en/config.txt:2762 #, no-wrap -msgid "git-check-ignore(1)" +msgid "remote.<name>.pushurl" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:7 -msgid "git-check-ignore - Debug gitignore / exclude files" +#: en/config.txt:2764 +msgid "The push URL of a remote repository. See linkgit:git-push[1]." msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:14 +#. type: Labeled list +#: en/config.txt:2765 #, no-wrap -msgid "" -"'git check-ignore' [options] pathname...\n" -"'git check-ignore' [options] --stdin\n" -msgstr "" - -#. type: Plain text -#: en/git-check-ignore.txt:22 -msgid "" -"For each pathname given via the command-line or from a file via `--stdin`, " -"check whether the file is excluded by .gitignore (or other input files to " -"the exclude mechanism) and output the path if it is excluded." +msgid "remote.<name>.proxy" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:25 +#: en/config.txt:2769 msgid "" -"By default, tracked files are not shown at all since they are not subject to " -"exclude rules; but see `--no-index'." +"For remotes that require curl (http, https and ftp), the URL to the proxy to " +"use for that remote. Set to the empty string to disable proxying for that " +"remote." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:28 +#: en/config.txt:2770 #, no-wrap -msgid "-q, --quiet" +msgid "remote.<name>.proxyAuthMethod" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:31 +#: en/config.txt:2774 msgid "" -"Don't output anything, just set exit status. This is only valid with a " -"single pathname." +"For remotes that require curl (http, https and ftp), the method to use for " +"authenticating against the proxy in use (probably set in " +"`remote.<name>.proxy`). See `http.proxyAuthMethod`." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:32 +#: en/config.txt:2775 #, no-wrap -msgid "-v, --verbose" +msgid "remote.<name>.fetch" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:36 +#: en/config.txt:2778 msgid "" -"Also output details about the matching pattern (if any) for each given " -"pathname. For precedence rules within and between exclude sources, see " -"linkgit:gitignore[5]." +"The default set of \"refspec\" for linkgit:git-fetch[1]. See " +"linkgit:git-fetch[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2779 +#, no-wrap +msgid "remote.<name>.push" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:45 +#: en/config.txt:2782 msgid "" -"The output format is modified to be machine-parseable (see below). If " -"`--stdin` is also given, input paths are separated with a NUL character " -"instead of a linefeed character." +"The default set of \"refspec\" for linkgit:git-push[1]. See " +"linkgit:git-push[1]." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:46 +#: en/config.txt:2783 #, no-wrap -msgid "-n, --non-matching" +msgid "remote.<name>.mirror" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:51 +#: en/config.txt:2786 msgid "" -"Show given paths which don't match any pattern.\t This only makes sense when " -"`--verbose` is enabled, otherwise it would not be possible to distinguish " -"between paths which match a pattern and those which don't." +"If true, pushing to this remote will automatically behave as if the " +"`--mirror` option was given on the command line." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:52 en/git-grep.txt:76 +#: en/config.txt:2787 #, no-wrap -msgid "--no-index" +msgid "remote.<name>.skipDefaultUpdate" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:58 +#: en/config.txt:2791 en/config.txt:2796 msgid "" -"Don't look in the index when undertaking the checks. This can be used to " -"debug why a path became tracked by e.g. `git add .` and was not ignored by " -"the rules as expected by the user or when developing patterns including " -"negation to match a path previously added with `git add -f`." +"If true, this remote will be skipped by default when updating using " +"linkgit:git-fetch[1] or the `update` subcommand of linkgit:git-remote[1]." msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:66 -msgid "" -"By default, any of the given pathnames which match an ignore pattern will be " -"output, one per line. If no pattern matches a given path, nothing will be " -"output for that path; this means that path will not be ignored." +#. type: Labeled list +#: en/config.txt:2792 +#, no-wrap +msgid "remote.<name>.skipFetchAll" msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:68 -msgid "If `--verbose` is specified, the output is a series of lines of the form:" +#. type: Labeled list +#: en/config.txt:2797 +#, no-wrap +msgid "remote.<name>.receivepack" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:70 -msgid "<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>" +#: en/config.txt:2800 +msgid "" +"The default program to execute on the remote side when pushing. See option " +"--receive-pack of linkgit:git-push[1]." msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:78 -msgid "" -"<pathname> is the path of a file being queried, <pattern> is the matching " -"pattern, <source> is the pattern's source file, and <linenum> is the line " -"number of the pattern within that source. If the pattern contained a `!` " -"prefix or `/` suffix, it will be preserved in the output. <source> will be " -"an absolute path when referring to the file configured by " -"`core.excludesFile`, or relative to the repository root when referring to " -"`.git/info/exclude` or a per-directory exclude file." +#. type: Labeled list +#: en/config.txt:2801 +#, no-wrap +msgid "remote.<name>.uploadpack" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:82 +#: en/config.txt:2804 msgid "" -"If `-z` is specified, the pathnames in the output are delimited by the null " -"character; if `--verbose` is also specified then null characters are also " -"used instead of colons and hard tabs:" +"The default program to execute on the remote side when fetching. See option " +"--upload-pack of linkgit:git-fetch-pack[1]." msgstr "" -#. type: Plain text -#: en/git-check-ignore.txt:84 -msgid "<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>" +#. type: Labeled list +#: en/config.txt:2805 +#, no-wrap +msgid "remote.<name>.tagOpt" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:94 +#: en/config.txt:2812 msgid "" -"If `-n` or `--non-matching` are specified, non-matching pathnames will also " -"be output, in which case all fields in each output record except for " -"<pathname> will be empty. This can be useful when running " -"non-interactively, so that files can be incrementally streamed to STDIN of a " -"long-running check-ignore process, and for each of these files, STDOUT will " -"indicate whether that file matched a pattern or not. (Without this option, " -"it would be impossible to tell whether the absence of output for a given " -"file meant that it didn't match any pattern, or that the output hadn't been " -"generated yet.)" -msgstr "" - -#. type: Title - -#: en/git-check-ignore.txt:101 -#, no-wrap -msgid "EXIT STATUS" +"Setting this value to --no-tags disables automatic tag following when " +"fetching from remote <name>. Setting it to --tags will fetch every tag from " +"remote <name>, even if they are not reachable from remote branch " +"heads. Passing these flags directly to linkgit:git-fetch[1] can override " +"this setting. See options --tags and --no-tags of linkgit:git-fetch[1]." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:103 +#: en/config.txt:2813 #, no-wrap -msgid "0" +msgid "remote.<name>.vcs" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:105 -msgid "One or more of the provided paths is ignored." +#: en/config.txt:2816 +msgid "" +"Setting this to a value <vcs> will cause Git to interact with the remote " +"with the git-remote-<vcs> helper." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:106 +#: en/config.txt:2817 #, no-wrap -msgid "1" +msgid "remote.<name>.prune" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:108 -msgid "None of the provided paths are ignored." +#: en/config.txt:2822 +msgid "" +"When set to true, fetching from this remote by default will also remove any " +"remote-tracking references that no longer exist on the remote (as if the " +"`--prune` option was given on the command line). Overrides `fetch.prune` " +"settings, if any." msgstr "" #. type: Labeled list -#: en/git-check-ignore.txt:109 +#: en/config.txt:2823 #, no-wrap -msgid "128" -msgstr "" - -#. type: Plain text -#: en/git-check-ignore.txt:111 -msgid "A fatal error was encountered." +msgid "remotes.<group>" msgstr "" #. type: Plain text -#: en/git-check-ignore.txt:117 -msgid "linkgit:gitignore[5] linkgit:git-config[1] linkgit:git-ls-files[1]" +#: en/config.txt:2826 +msgid "" +"The list of remotes which are fetched by \"git remote update <group>\". See " +"linkgit:git-remote[1]." msgstr "" -#. type: Title = -#: en/git-check-mailmap.txt:2 +#. type: Labeled list +#: en/config.txt:2827 #, no-wrap -msgid "git-check-mailmap(1)" +msgid "repack.useDeltaBaseOffset" msgstr "" #. type: Plain text -#: en/git-check-mailmap.txt:7 -msgid "git-check-mailmap - Show canonical names and email addresses of contacts" +#: en/config.txt:2834 +msgid "" +"By default, linkgit:git-repack[1] creates packs that use delta-base " +"offset. If you need to share your repository with Git older than version " +"1.4.4, either directly or via a dumb protocol such as http, then you need to " +"set this option to \"false\" and repack. Access from old Git versions over " +"the native protocol are unaffected by this option." msgstr "" -#. type: Plain text -#: en/git-check-mailmap.txt:13 +#. type: Labeled list +#: en/config.txt:2835 #, no-wrap -msgid "'git check-mailmap' [options] <contact>...\n" +msgid "repack.packKeptObjects" msgstr "" #. type: Plain text -#: en/git-check-mailmap.txt:22 +#: en/config.txt:2841 msgid "" -"For each ``Name $$<user@host>$$'' or ``$$<user@host>$$'' from the " -"command-line or standard input (when using `--stdin`), look up the person's " -"canonical name and email address (see \"Mapping Authors\" below). If found, " -"print them; otherwise print the input as-is." +"If set to true, makes `git repack` act as if `--pack-kept-objects` was " +"passed. See linkgit:git-repack[1] for details. Defaults to `false` normally, " +"but `true` if a bitmap index is being written (either via " +"`--write-bitmap-index` or `repack.writeBitmaps`)." msgstr "" -#. type: Plain text -#: en/git-check-mailmap.txt:29 -msgid "" -"Read contacts, one per line, from the standard input after exhausting " -"contacts provided on the command-line." +#. type: Labeled list +#: en/config.txt:2842 +#, no-wrap +msgid "repack.writeBitmaps" msgstr "" #. type: Plain text -#: en/git-check-mailmap.txt:37 +#: en/config.txt:2850 msgid "" -"For each contact, a single line is output, terminated by a newline. If the " -"name is provided or known to the 'mailmap', ``Name $$<user@host>$$'' is " -"printed; otherwise only ``$$<user@host>$$'' is printed." +"When true, git will write a bitmap index when packing all objects to disk " +"(e.g., when `git repack -a` is run). This index can speed up the \"counting " +"objects\" phase of subsequent packs created for clones and fetches, at the " +"cost of some disk space and extra time spent on the initial repack. This " +"has no effect if multiple packfiles are created. Defaults to false." msgstr "" -#. type: Title = -#: en/git-checkout-index.txt:2 +#. type: Labeled list +#: en/config.txt:2851 #, no-wrap -msgid "git-checkout-index(1)" +msgid "rerere.autoUpdate" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:7 -msgid "git-checkout-index - Copy files from the index to the working tree" +#: en/config.txt:2855 +msgid "" +"When set to true, `git-rerere` updates the index with the resulting contents " +"after it cleanly resolves conflicts using previously recorded resolution. " +"Defaults to false." msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:17 +#. type: Labeled list +#: en/config.txt:2856 #, no-wrap -msgid "" -"'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]\n" -"\t\t [--stage=<number>|all]\n" -"\t\t [--temp]\n" -"\t\t [-z] [--stdin]\n" -"\t\t [--] [<file>...]\n" +msgid "rerere.enabled" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:22 +#: en/config.txt:2863 msgid "" -"Will copy all files listed from the index to the working directory (not " -"overwriting existing files)." +"Activate recording of resolved conflicts, so that identical conflict hunks " +"can be resolved automatically, should they be encountered again. By " +"default, linkgit:git-rerere[1] is enabled if there is an `rr-cache` " +"directory under the `$GIT_DIR`, e.g. if \"rerere\" was previously used in " +"the repository." msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:29 -msgid "update stat information for the checked out entries in the index file." +#. type: Labeled list +#: en/config.txt:2864 +#, no-wrap +msgid "sendemail.identity" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:33 -msgid "be quiet if files exist or are not in the index" +#: en/config.txt:2869 en/git-send-email.txt:279 +msgid "" +"A configuration identity. When given, causes values in the " +"'sendemail.<identity>' subsection to take precedence over values in the " +"'sendemail' section. The default identity is the value of " +"`sendemail.identity`." msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:37 -msgid "forces overwrite of existing files" +#. type: Labeled list +#: en/config.txt:2870 +#, no-wrap +msgid "sendemail.smtpEncryption" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:42 +#: en/config.txt:2873 msgid "" -"checks out all files in the index. Cannot be used together with explicit " -"filenames." +"See linkgit:git-send-email[1] for description. Note that this setting is " +"not subject to the 'identity' mechanism." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:44 +#: en/config.txt:2874 #, no-wrap -msgid "--no-create" +msgid "sendemail.smtpssl (deprecated)" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:47 -msgid "Don't checkout new files, only refresh files already checked out." +#: en/config.txt:2876 +msgid "Deprecated alias for 'sendemail.smtpEncryption = ssl'." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:48 +#: en/config.txt:2877 #, no-wrap -msgid "--prefix=<string>" +msgid "sendemail.smtpsslcertpath" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:51 +#: en/config.txt:2880 msgid "" -"When creating files, prepend <string> (usually a directory including a " -"trailing /)" +"Path to ca-certificates (either a directory or a single file). Set it to an " +"empty string to disable certificate verification." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:52 +#: en/config.txt:2881 #, no-wrap -msgid "--stage=<number>|all" +msgid "sendemail.<identity>.*" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:56 +#: en/config.txt:2886 msgid "" -"Instead of checking out unmerged entries, copy out the files from named " -"stage. <number> must be between 1 and 3. Note: --stage=all automatically " -"implies --temp." +"Identity-specific versions of the 'sendemail.*' parameters found below, " +"taking precedence over those when the this identity is selected, through " +"command-line or `sendemail.identity`." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:57 +#: en/config.txt:2887 en/git-send-email.txt:404 #, no-wrap -msgid "--temp" +msgid "sendemail.aliasesFile" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:61 -msgid "" -"Instead of copying the files to the working directory write the content to " -"temporary files. The temporary name associations will be written to stdout." +#. type: Labeled list +#: en/config.txt:2888 en/git-send-email.txt:408 +#, no-wrap +msgid "sendemail.aliasFileType" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:66 en/git-update-index.txt:144 -msgid "" -"Instead of taking list of paths from the command line, read list of paths " -"from the standard input. Paths are separated by LF (i.e. one path per line) " -"by default." +#. type: Labeled list +#: en/config.txt:2889 +#, no-wrap +msgid "sendemail.annotate" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:70 -msgid "" -"Only meaningful with `--stdin`; paths are separated with NUL character " -"instead of LF." +#. type: Labeled list +#: en/config.txt:2890 +#, no-wrap +msgid "sendemail.bcc" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:73 en/git-commit.txt:338 en/git-ls-files.txt:176 en/git-merge-index.txt:25 en/git-prune.txt:47 en/git-update-index.txt:206 en/git-verify-pack.txt:38 -msgid "Do not interpret any more arguments as options." +#. type: Labeled list +#: en/config.txt:2891 +#, no-wrap +msgid "sendemail.cc" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:75 -msgid "The order of the flags used to matter, but not anymore." +#. type: Labeled list +#: en/config.txt:2892 +#, no-wrap +msgid "sendemail.ccCmd" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:79 -msgid "" -"Just doing `git checkout-index` does nothing. You probably meant `git " -"checkout-index -a`. And if you want to force it, you want `git " -"checkout-index -f -a`." +#. type: Labeled list +#: en/config.txt:2893 +#, no-wrap +msgid "sendemail.chainReplyTo" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:83 -msgid "" -"Intuitiveness is not the goal here. Repeatability is. The reason for the " -"\"no arguments means no work\" behavior is that from scripts you are " -"supposed to be able to do:" +#. type: Labeled list +#: en/config.txt:2894 en/git-send-email.txt:435 +#, no-wrap +msgid "sendemail.confirm" msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:86 +#. type: Labeled list +#: en/config.txt:2895 #, no-wrap -msgid "$ find . -name '*.h' -print0 | xargs -0 git checkout-index -f --\n" +msgid "sendemail.envelopeSender" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:92 -msgid "" -"which will force all existing `*.h` files to be replaced with their cached " -"copies. If an empty command line implied \"all\", then this would " -"force-refresh everything in the index, which was not the point. But since " -"'git checkout-index' accepts --stdin it would be faster to use:" +#. type: Labeled list +#: en/config.txt:2896 +#, no-wrap +msgid "sendemail.from" msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:95 +#. type: Labeled list +#: en/config.txt:2897 en/git-send-email.txt:429 #, no-wrap -msgid "$ find . -name '*.h' -print0 | git checkout-index -f -z --stdin\n" +msgid "sendemail.multiEdit" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:100 -msgid "" -"The `--` is just a good idea when you know the rest will be filenames; it " -"will prevent problems with a filename of, for example, `-a`. Using `--` is " -"probably a good policy in scripts." +#. type: Labeled list +#: en/config.txt:2898 +#, no-wrap +msgid "sendemail.signedoffbycc" msgstr "" -#. type: Title - -#: en/git-checkout-index.txt:103 +#. type: Labeled list +#: en/config.txt:2899 #, no-wrap -msgid "Using --temp or --stage=all" +msgid "sendemail.smtpPass" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:110 -msgid "" -"When `--temp` is used (or implied by `--stage=all`) 'git checkout-index' " -"will create a temporary file for each index entry being checked out. The " -"index will not be updated with stat information. These options can be " -"useful if the caller needs all stages of all unmerged entries so that the " -"unmerged files can be processed by an external merge tool." +#. type: Labeled list +#: en/config.txt:2900 +#, no-wrap +msgid "sendemail.suppresscc" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:114 -msgid "" -"A listing will be written to stdout providing the association of temporary " -"file names to tracked path names. The listing format has two variations:" +#. type: Labeled list +#: en/config.txt:2901 +#, no-wrap +msgid "sendemail.suppressFrom" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:116 -msgid "tempname TAB path RS" +#. type: Labeled list +#: en/config.txt:2902 +#, no-wrap +msgid "sendemail.to" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:121 -msgid "" -"The first format is what gets used when `--stage` is omitted or is not " -"`--stage=all`. The field tempname is the temporary file name holding the " -"file content and path is the tracked path name in the index. Only the " -"requested entries are output." +#. type: Labeled list +#: en/config.txt:2903 +#, no-wrap +msgid "sendemail.smtpDomain" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:123 -msgid "stage1temp SP stage2temp SP stage3tmp TAB path RS" +#. type: Labeled list +#: en/config.txt:2904 +#, no-wrap +msgid "sendemail.smtpServer" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:129 -msgid "" -"The second format is what gets used when `--stage=all`. The three stage " -"temporary fields (stage1temp, stage2temp, stage3temp) list the name of the " -"temporary file if there is a stage entry in the index or `.` if there is no " -"stage entry. Paths which only have a stage 0 entry will always be omitted " -"from the output." +#. type: Labeled list +#: en/config.txt:2905 +#, no-wrap +msgid "sendemail.smtpServerPort" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:136 -msgid "" -"In both formats RS (the record separator) is newline by default but will be " -"the null byte if -z was passed on the command line. The temporary file " -"names are always safe strings; they will never contain directory separators " -"or whitespace characters. The path field is always relative to the current " -"directory and the temporary file names are always relative to the top level " -"directory." +#. type: Labeled list +#: en/config.txt:2906 +#, no-wrap +msgid "sendemail.smtpServerOption" msgstr "" -#. type: Plain text -#: en/git-checkout-index.txt:140 -msgid "" -"If the object being copied out to a temporary file is a symbolic link the " -"content of the link will be written to a normal file. It is up to the " -"end-user or the Porcelain to make use of this information." +#. type: Labeled list +#: en/config.txt:2907 +#, no-wrap +msgid "sendemail.smtpUser" msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:144 +#: en/config.txt:2908 #, no-wrap -msgid "To update and refresh only the files already checked out" +msgid "sendemail.thread" msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:148 en/git-update-index.txt:342 +#. type: Labeled list +#: en/config.txt:2909 #, no-wrap -msgid "" -"$ git checkout-index -n -f -a && git update-index --ignore-missing " -"--refresh\n" +msgid "sendemail.transferEncoding" msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:150 +#: en/config.txt:2910 #, no-wrap -msgid "Using 'git checkout-index' to \"export an entire tree\"" +msgid "sendemail.validate" +msgstr "" + +#. type: Labeled list +#: en/config.txt:2911 +#, no-wrap +msgid "sendemail.xmailer" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:154 -msgid "" -"The prefix ability basically makes it trivial to use 'git checkout-index' as " -"an \"export as tree\" function. Just read the desired tree into the index, " -"and do:" +#: en/config.txt:2913 +msgid "See linkgit:git-send-email[1] for description." msgstr "" -#. type: delimited block - -#: en/git-checkout-index.txt:157 +#. type: Labeled list +#: en/config.txt:2914 #, no-wrap -msgid "$ git checkout-index --prefix=git-export-dir/ -a\n" +msgid "sendemail.signedoffcc (deprecated)" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:161 -msgid "`git checkout-index` will \"export\" the index into the specified directory." +#: en/config.txt:2916 +msgid "Deprecated alias for `sendemail.signedoffbycc`." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2917 +#, no-wrap +msgid "showbranch.default" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:165 +#: en/config.txt:2920 msgid "" -"The final \"/\" is important. The exported name is literally just prefixed " -"with the specified string. Contrast this with the following example." +"The default set of branches for linkgit:git-show-branch[1]. See " +"linkgit:git-show-branch[1]." msgstr "" #. type: Labeled list -#: en/git-checkout-index.txt:166 -#, no-wrap -msgid "Export files with a prefix" -msgstr "" - -#. type: delimited block - -#: en/git-checkout-index.txt:170 +#: en/config.txt:2921 #, no-wrap -msgid "$ git checkout-index --prefix=.merged- Makefile\n" +msgid "splitIndex.maxPercentChange" msgstr "" #. type: Plain text -#: en/git-checkout-index.txt:174 +#: en/config.txt:2933 msgid "" -"This will check out the currently cached copy of `Makefile` into the file " -"`.merged-Makefile`." +"When the split index feature is used, this specifies the percent of entries " +"the split index can contain compared to the total number of entries in both " +"the split index and the shared index before a new shared index is written. " +"The value should be between 0 and 100. If the value is 0 then a new shared " +"index is always written, if it is 100 a new shared index is never written. " +"By default the value is 20, so a new shared index is written if the number " +"of entries in the split index would be greater than 20 percent of the total " +"number of entries. See linkgit:git-update-index[1]." msgstr "" -#. type: Title = -#: en/git-checkout.txt:2 +#. type: Labeled list +#: en/config.txt:2934 #, no-wrap -msgid "git-checkout(1)" +msgid "splitIndex.sharedIndexExpire" msgstr "" #. type: Plain text -#: en/git-checkout.txt:7 -msgid "git-checkout - Switch branches or restore working tree files" +#: en/config.txt:2945 +msgid "" +"When the split index feature is used, shared index files that were not " +"modified since the time this variable specifies will be removed when a new " +"shared index file is created. The value \"now\" expires all entries " +"immediately, and \"never\" suppresses expiration altogether. The default " +"value is \"2.weeks.ago\". Note that a shared index file is considered " +"modified (for the purpose of expiration) each time a new split-index file is " +"either created based on it or read from it. See " +"linkgit:git-update-index[1]." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:17 +#. type: Labeled list +#: en/config.txt:2946 #, no-wrap -msgid "" -"'git checkout' [-q] [-f] [-m] [<branch>]\n" -"'git checkout' [-q] [-f] [-m] --detach [<branch>]\n" -"'git checkout' [-q] [-f] [-m] [--detach] <commit>\n" -"'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] " -"[<start_point>]\n" -"'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] " -"<paths>...\n" -"'git checkout' [-p|--patch] [<tree-ish>] [--] [<paths>...]\n" +msgid "status.relativePaths" msgstr "" #. type: Plain text -#: en/git-checkout.txt:24 +#: en/config.txt:2951 msgid "" -"Updates files in the working tree to match the version in the index or the " -"specified tree. If no paths are given, 'git checkout' will also update " -"`HEAD` to set the specified branch as the current branch." +"By default, linkgit:git-status[1] shows paths relative to the current " +"directory. Setting this variable to `false` shows paths relative to the " +"repository root (this was the default for Git prior to v1.5.4)." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:25 +#: en/config.txt:2952 #, no-wrap -msgid "'git checkout' <branch>" +msgid "status.short" msgstr "" #. type: Plain text -#: en/git-checkout.txt:31 +#: en/config.txt:2955 msgid "" -"To prepare for working on <branch>, switch to it by updating the index and " -"the files in the working tree, and by pointing HEAD at the branch. Local " -"modifications to the files in the working tree are kept, so that they can be " -"committed to the <branch>." +"Set to true to enable --short by default in linkgit:git-status[1]. The " +"option --no-short takes precedence over this variable." +msgstr "" + +#. type: Labeled list +#: en/config.txt:2956 +#, no-wrap +msgid "status.branch" msgstr "" #. type: Plain text -#: en/git-checkout.txt:35 +#: en/config.txt:2959 msgid "" -"If <branch> is not found but there does exist a tracking branch in exactly " -"one remote (call it <remote>) with a matching name, treat as equivalent to" +"Set to true to enable --branch by default in linkgit:git-status[1]. The " +"option --no-branch takes precedence over this variable." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:38 +#. type: Labeled list +#: en/config.txt:2960 #, no-wrap -msgid "$ git checkout -b <branch> --track <remote>/<branch>\n" +msgid "status.displayCommentPrefix" msgstr "" #. type: Plain text -#: en/git-checkout.txt:44 +#: en/config.txt:2966 msgid "" -"You could omit <branch>, in which case the command degenerates to \"check " -"out the current branch\", which is a glorified no-op with a rather expensive " -"side-effects to show only the tracking information, if exists, for the " -"current branch." +"If set to true, linkgit:git-status[1] will insert a comment prefix before " +"each output line (starting with `core.commentChar`, i.e. `#` by " +"default). This was the behavior of linkgit:git-status[1] in Git 1.8.4 and " +"previous. Defaults to false." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:45 +#: en/config.txt:2967 #, no-wrap -msgid "'git checkout' -b|-B <new_branch> [<start point>]" +msgid "status.showUntrackedFiles" msgstr "" #. type: Plain text -#: en/git-checkout.txt:53 +#: en/config.txt:2975 msgid "" -"Specifying `-b` causes a new branch to be created as if " -"linkgit:git-branch[1] were called and then checked out. In this case you " -"can use the `--track` or `--no-track` options, which will be passed to 'git " -"branch'. As a convenience, `--track` without `-b` implies branch creation; " -"see the description of `--track` below." +"By default, linkgit:git-status[1] and linkgit:git-commit[1] show files which " +"are not currently tracked by Git. Directories which contain only untracked " +"files, are shown with the directory name only. Showing untracked files means " +"that Git needs to lstat() all the files in the whole repository, which might " +"be slow on some systems. So, this variable controls how the commands " +"displays the untracked files. Possible values are:" msgstr "" #. type: Plain text -#: en/git-checkout.txt:56 -msgid "" -"If `-B` is given, <new_branch> is created if it doesn't exist; otherwise, it " -"is reset. This is the transactional equivalent of" +#: en/config.txt:2978 +msgid "`no` - Show no untracked files." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:60 -#, no-wrap -msgid "" -"$ git branch -f <branch> [<start point>]\n" -"$ git checkout <branch>\n" +#. type: Plain text +#: en/config.txt:2979 +msgid "`normal` - Show untracked files and directories." msgstr "" #. type: Plain text -#: en/git-checkout.txt:64 -msgid "" -"that is to say, the branch is not reset/created unless \"git checkout\" is " -"successful." +#: en/config.txt:2980 +msgid "`all` - Show also individual files in untracked directories." msgstr "" -#. type: Labeled list -#: en/git-checkout.txt:65 -#, no-wrap -msgid "'git checkout' --detach [<branch>]" +#. type: Plain text +#: en/config.txt:2985 +msgid "" +"If this variable is not specified, it defaults to 'normal'. This variable " +"can be overridden with the -u|--untracked-files option of " +"linkgit:git-status[1] and linkgit:git-commit[1]." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:66 +#: en/config.txt:2986 #, no-wrap -msgid "'git checkout' [--detach] <commit>" +msgid "status.submoduleSummary" msgstr "" #. type: Plain text -#: en/git-checkout.txt:74 +#: en/config.txt:3001 msgid "" -"Prepare to work on top of <commit>, by detaching HEAD at it (see \"DETACHED " -"HEAD\" section), and updating the index and the files in the working tree. " -"Local modifications to the files in the working tree are kept, so that the " -"resulting working tree will be the state recorded in the commit plus the " -"local modifications." +"Defaults to false. If this is set to a non zero number or true (identical " +"to -1 or an unlimited number), the submodule summary will be enabled and a " +"summary of commits for modified submodules will be shown (see " +"--summary-limit option of linkgit:git-submodule[1]). Please note that the " +"summary output command will be suppressed for all submodules when " +"`diff.ignoreSubmodules` is set to 'all' or only for those submodules where " +"`submodule.<name>.ignore=all`. The only exception to that rule is that " +"status and commit will show staged submodule changes. To also view the " +"summary for ignored submodules you can either use the " +"--ignore-submodules=dirty command-line option or the 'git submodule summary' " +"command, which shows a similar output but does not honor these settings." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:78 -msgid "" -"When the <commit> argument is a branch name, the `--detach` option can be " -"used to detach HEAD at the tip of the branch (`git checkout <branch>` would " -"check out that branch without detaching HEAD)." +#. type: Labeled list +#: en/config.txt:3002 +#, no-wrap +msgid "stash.showPatch" msgstr "" #. type: Plain text -#: en/git-checkout.txt:80 -msgid "Omitting <branch> detaches HEAD at the tip of the current branch." +#: en/config.txt:3006 +msgid "" +"If this is set to true, the `git stash show` command without an option will " +"show the stash in patch form. Defaults to false. See description of 'show' " +"command in linkgit:git-stash[1]." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:81 +#: en/config.txt:3007 #, no-wrap -msgid "'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>..." +msgid "stash.showStat" msgstr "" #. type: Plain text -#: en/git-checkout.txt:91 +#: en/config.txt:3011 msgid "" -"When <paths> or `--patch` are given, 'git checkout' does *not* switch " -"branches. It updates the named paths in the working tree from the index " -"file or from a named <tree-ish> (most often a commit). In this case, the " -"`-b` and `--track` options are meaningless and giving either of them results " -"in an error. The <tree-ish> argument can be used to specify a specific " -"tree-ish (i.e. commit, tag or tree) to update the index for the given paths " -"before updating the working tree." +"If this is set to true, the `git stash show` command without an option will " +"show diffstat of the stash. Defaults to true. See description of 'show' " +"command in linkgit:git-stash[1]." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:95 -msgid "" -"'git checkout' with <paths> or `--patch` is used to restore modified or " -"deleted paths to their original contents from the index or replace paths " -"with the contents from a named <tree-ish> (most often a commit-ish)." +#. type: Labeled list +#: en/config.txt:3012 +#, no-wrap +msgid "submodule.<name>.url" msgstr "" #. type: Plain text -#: en/git-checkout.txt:103 +#: en/config.txt:3019 msgid "" -"The index may contain unmerged entries because of a previous failed merge. " -"By default, if you try to check out such an entry from the index, the " -"checkout operation will fail and nothing will be checked out. Using `-f` " -"will ignore these unmerged entries. The contents from a specific side of " -"the merge can be checked out of the index by using `--ours` or `--theirs`. " -"With `-m`, changes made to the working tree file can be discarded to " -"re-create the original conflicted merge result." -msgstr "" - -#. type: Plain text -#: en/git-checkout.txt:109 -msgid "Quiet, suppress feedback messages." +"The URL for a submodule. This variable is copied from the .gitmodules file " +"to the git config via 'git submodule init'. The user can change the " +"configured URL before obtaining the submodule via 'git submodule " +"update'. After obtaining the submodule, the presence of this variable is " +"used as a sign whether the submodule is of interest to git commands. See " +"linkgit:git-submodule[1] and linkgit:gitmodules[5] for details." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:110 en/git-fsck.txt:92 en/blame-options.txt:73 +#: en/config.txt:3020 #, no-wrap -msgid "--[no-]progress" +msgid "submodule.<name>.update" msgstr "" #. type: Plain text -#: en/git-checkout.txt:115 +#: en/config.txt:3025 msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal, unless `--quiet` is specified. This flag enables " -"progress reporting even if not attached to a terminal, regardless of " -"`--quiet`." +"The default update procedure for a submodule. This variable is populated by " +"`git submodule init` from the linkgit:gitmodules[5] file. See description of " +"'update' command in linkgit:git-submodule[1]." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:121 -msgid "" -"When switching branches, proceed even if the index or the working tree " -"differs from HEAD. This is used to throw away local changes." +#. type: Labeled list +#: en/config.txt:3026 +#, no-wrap +msgid "submodule.<name>.branch" msgstr "" #. type: Plain text -#: en/git-checkout.txt:124 +#: en/config.txt:3031 msgid "" -"When checking out paths from the index, do not fail upon unmerged entries; " -"instead, unmerged entries are ignored." +"The remote branch name for a submodule, used by `git submodule update " +"--remote`. Set this option to override the value found in the `.gitmodules` " +"file. See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:125 en/git-merge-file.txt:73 +#: en/config.txt:3032 #, no-wrap -msgid "--ours" +msgid "submodule.<name>.fetchRecurseSubmodules" +msgstr "" + +#. type: Plain text +#: en/config.txt:3038 +msgid "" +"This option can be used to control recursive fetching of this submodule. It " +"can be overridden by using the --[no-]recurse-submodules command-line option " +"to \"git fetch\" and \"git pull\". This setting will override that from in " +"the linkgit:gitmodules[5] file." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:126 en/git-merge-file.txt:74 +#: en/config.txt:3039 #, no-wrap -msgid "--theirs" +msgid "submodule.<name>.ignore" msgstr "" #. type: Plain text -#: en/git-checkout.txt:129 +#: en/config.txt:3054 msgid "" -"When checking out paths from the index, check out stage #2 ('ours') or #3 " -"('theirs') for unmerged paths." +"Defines under what circumstances \"git status\" and the diff family show a " +"submodule as modified. When set to \"all\", it will never be considered " +"modified (but it will nonetheless show up in the output of status and commit " +"when it has been staged), \"dirty\" will ignore all changes to the " +"submodules work tree and takes only differences between the HEAD of the " +"submodule and the commit recorded in the superproject into " +"account. \"untracked\" will additionally let submodules with modified " +"tracked files in their work tree show up. Using \"none\" (the default when " +"this option is not set) also shows submodules that have untracked files in " +"their work tree as changed. This setting overrides any setting made in " +".gitmodules for this submodule, both settings can be overridden on the " +"command line by using the \"--ignore-submodules\" option. The 'git " +"submodule' commands are not affected by this setting." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:134 -msgid "" -"Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' " -"may appear swapped; `--ours` gives the version from the branch the changes " -"are rebased onto, while `--theirs` gives the version from the branch that " -"holds your work that is being rebased." +#. type: Labeled list +#: en/config.txt:3055 +#, no-wrap +msgid "submodule.fetchJobs" msgstr "" #. type: Plain text -#: en/git-checkout.txt:144 +#: en/config.txt:3060 msgid "" -"This is because `rebase` is used in a workflow that treats the history at " -"the remote as the shared canonical one, and treats the work done on the " -"branch you are rebasing as the third-party work to be integrated, and you " -"are temporarily assuming the role of the keeper of the canonical history " -"during the rebase. As the keeper of the canonical history, you need to view " -"the history from the remote as `ours` (i.e. \"our shared canonical " -"history\"), while what you did on your side branch as `theirs` (i.e. \"one " -"contributor's work on top of it\")." +"Specifies how many submodules are fetched/cloned at the same time. A " +"positive integer allows up to that number of submodules fetched in " +"parallel. A value of 0 will give some reasonable default. If unset, it " +"defaults to 1." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:145 +#: en/config.txt:3061 #, no-wrap -msgid "-b <new_branch>" +msgid "submodule.alternateLocation" msgstr "" #. type: Plain text -#: en/git-checkout.txt:148 +#: en/config.txt:3067 msgid "" -"Create a new branch named <new_branch> and start it at <start_point>; see " -"linkgit:git-branch[1] for details." +"Specifies how the submodules obtain alternates when submodules are " +"cloned. Possible values are `no`, `superproject`. By default `no` is " +"assumed, which doesn't add references. When the value is set to " +"`superproject` the submodule to be cloned computes its alternates location " +"relative to the superprojects alternate." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:149 +#: en/config.txt:3068 #, no-wrap -msgid "-B <new_branch>" +msgid "submodule.alternateErrorStrategy" msgstr "" #. type: Plain text -#: en/git-checkout.txt:154 +#: en/config.txt:3072 msgid "" -"Creates the branch <new_branch> and start it at <start_point>; if it already " -"exists, then reset it to <start_point>. This is equivalent to running \"git " -"branch\" with \"-f\"; see linkgit:git-branch[1] for details." +"Specifies how to treat errors with the alternates for a submodule as " +"computed via `submodule.alternateLocation`. Possible values are `ignore`, " +"`info`, `die`. Default is `die`." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:159 -msgid "" -"When creating a new branch, set up \"upstream\" configuration. See " -"\"--track\" in linkgit:git-branch[1] for details." +#. type: Labeled list +#: en/config.txt:3073 +#, no-wrap +msgid "tag.forceSignAnnotated" msgstr "" #. type: Plain text -#: en/git-checkout.txt:169 +#: en/config.txt:3077 msgid "" -"If no `-b` option is given, the name of the new branch will be derived from " -"the remote-tracking branch, by looking at the local part of the refspec " -"configured for the corresponding remote, and then stripping the initial part " -"up to the \"*\". This would tell us to use \"hack\" as the local branch " -"when branching off of \"origin/hack\" (or \"remotes/origin/hack\", or even " -"\"refs/remotes/origin/hack\"). If the given name has no slash, or the above " -"guessing results in an empty name, the guessing is aborted. You can " -"explicitly give a name with `-b` in such a case." -msgstr "" - -#. type: Plain text -#: en/git-checkout.txt:177 -msgid "Create the new branch's reflog; see linkgit:git-branch[1] for details." +"A boolean to specify whether annotated tags created should be GPG signed. " +"If `--annotate` is specified on the command line, it takes precedence over " +"this option." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:178 en/git-daemon.txt:134 en/git-worktree.txt:100 +#: en/config.txt:3078 #, no-wrap -msgid "--detach" +msgid "tag.sort" msgstr "" #. type: Plain text -#: en/git-checkout.txt:184 +#: en/config.txt:3082 msgid "" -"Rather than checking out a branch to work on it, check out a commit for " -"inspection and discardable experiments. This is the default behavior of " -"\"git checkout <commit>\" when <commit> is not a branch name. See the " -"\"DETACHED HEAD\" section below for details." +"This variable controls the sort ordering of tags when displayed by " +"linkgit:git-tag[1]. Without the \"--sort=<value>\" option provided, the " +"value of this variable will be used as the default." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:185 +#: en/config.txt:3083 en/git-archive.txt:100 #, no-wrap -msgid "--orphan <new_branch>" +msgid "tar.umask" msgstr "" #. type: Plain text -#: en/git-checkout.txt:191 +#: en/config.txt:3089 msgid "" -"Create a new 'orphan' branch, named <new_branch>, started from <start_point> " -"and switch to it. The first commit made on this new branch will have no " -"parents and it will be the root of a new history totally disconnected from " -"all the other branches and commits." +"This variable can be used to restrict the permission bits of tar archive " +"entries. The default is 0002, which turns off the world write bit. The " +"special value \"user\" indicates that the archiving user's umask will be " +"used instead. See umask(2) and linkgit:git-archive[1]." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:196 -msgid "" -"The index and the working tree are adjusted as if you had previously run " -"\"git checkout <start_point>\". This allows you to start a new history that " -"records a set of paths similar to <start_point> by easily running \"git " -"commit -a\" to make the root commit." +#. type: Labeled list +#: en/config.txt:3090 +#, no-wrap +msgid "transfer.fsckObjects" msgstr "" #. type: Plain text -#: en/git-checkout.txt:202 +#: en/config.txt:3094 msgid "" -"This can be useful when you want to publish the tree from a commit without " -"exposing its full history. You might want to do this to publish an open " -"source branch of a project whose current tree is \"clean\", but whose full " -"history contains proprietary or otherwise encumbered bits of code." -msgstr "" - -#. type: Plain text -#: en/git-checkout.txt:209 -msgid "" -"If you want to start a disconnected history that records a set of paths that " -"is totally different from the one of <start_point>, then you should clear " -"the index and the working tree right after creating the orphan branch by " -"running \"git rm -rf .\" from the top level of the working tree. Afterwards " -"you will be ready to prepare your new files, repopulating the working tree, " -"by copying them from elsewhere, extracting a tarball, etc." +"When `fetch.fsckObjects` or `receive.fsckObjects` are not set, the value of " +"this variable is used instead. Defaults to false." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:210 +#: en/config.txt:3095 #, no-wrap -msgid "--ignore-skip-worktree-bits" +msgid "transfer.hideRefs" msgstr "" #. type: Plain text -#: en/git-checkout.txt:215 +#: en/config.txt:3103 msgid "" -"In sparse checkout mode, `git checkout -- <paths>` would update only entries " -"matched by <paths> and sparse patterns in " -"$GIT_DIR/info/sparse-checkout. This option ignores the sparse patterns and " -"adds back any files in <paths>." -msgstr "" - -#. type: Labeled list -#: en/git-checkout.txt:217 en/git-rebase.txt:271 en/git-reset.txt:71 en/git-submodule.txt:363 en/git-svn.txt:638 en/rev-list-options.txt:278 -#, no-wrap -msgid "--merge" +"String(s) `receive-pack` and `upload-pack` use to decide which refs to omit " +"from their initial advertisements. Use more than one definition to specify " +"multiple prefix strings. A ref that is under the hierarchies listed in the " +"value of this variable is excluded, and is hidden when responding to `git " +"push` or `git fetch`. See `receive.hideRefs` and `uploadpack.hideRefs` for " +"program-specific versions of this config." msgstr "" #. type: Plain text -#: en/git-checkout.txt:226 +#: en/config.txt:3108 msgid "" -"When switching branches, if you have local modifications to one or more " -"files that are different between the current branch and the branch to which " -"you are switching, the command refuses to switch branches in order to " -"preserve your modifications in context. However, with this option, a " -"three-way merge between the current branch, your working tree contents, and " -"the new branch is done, and you will be on the new branch." +"You may also include a `!` in front of the ref name to negate the entry, " +"explicitly exposing it, even if an earlier entry marked it as hidden. If " +"you have multiple hideRefs values, later entries override earlier ones (and " +"entries in more-specific config files override less-specific ones)." msgstr "" #. type: Plain text -#: en/git-checkout.txt:231 +#: en/config.txt:3117 msgid "" -"When a merge conflict happens, the index entries for conflicting paths are " -"left unmerged, and you need to resolve the conflicts and mark the resolved " -"paths with `git add` (or `git rm` if the merge should result in deletion of " -"the path)." +"If a namespace is in use, the namespace prefix is stripped from each " +"reference before it is matched against `transfer.hiderefs` patterns. For " +"example, if `refs/heads/master` is specified in `transfer.hideRefs` and the " +"current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master` is " +"omitted from the advertisements but `refs/heads/master` and " +"`refs/namespaces/bar/refs/heads/master` are still advertised as so-called " +"\"have\" lines. In order to match refs before stripping, add a `^` in front " +"of the ref name. If you combine `!` and `^`, `!` must be specified first." msgstr "" #. type: Plain text -#: en/git-checkout.txt:234 +#: en/config.txt:3122 msgid "" -"When checking out paths from the index, this option lets you recreate the " -"conflicted merge in the specified paths." +"Even if you hide refs, a client may still be able to steal the target " +"objects via the techniques described in the \"SECURITY\" section of the " +"linkgit:gitnamespaces[7] man page; it's best to keep private data in a " +"separate repository." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:235 +#: en/config.txt:3123 #, no-wrap -msgid "--conflict=<style>" +msgid "transfer.unpackLimit" msgstr "" #. type: Plain text -#: en/git-checkout.txt:241 +#: en/config.txt:3127 msgid "" -"The same as --merge option above, but changes the way the conflicting hunks " -"are presented, overriding the merge.conflictStyle configuration variable. " -"Possible values are \"merge\" (default) and \"diff3\" (in addition to what " -"is shown by \"merge\" style, shows the original contents)." +"When `fetch.unpackLimit` or `receive.unpackLimit` are not set, the value of " +"this variable is used instead. The default value is 100." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:248 -msgid "" -"Interactively select hunks in the difference between the <tree-ish> (or the " -"index, if unspecified) and the working tree. The chosen hunks are then " -"applied in reverse to the working tree (and if a <tree-ish> was specified, " -"the index)." +#. type: Labeled list +#: en/config.txt:3128 +#, no-wrap +msgid "uploadarchive.allowUnreachable" msgstr "" #. type: Plain text -#: en/git-checkout.txt:252 +#: en/config.txt:3134 msgid "" -"This means that you can use `git checkout -p` to selectively discard edits " -"from your current working tree. See the ``Interactive Mode'' section of " -"linkgit:git-add[1] to learn how to operate the `--patch` mode." +"If true, allow clients to use `git archive --remote` to request any tree, " +"whether reachable from the ref tips or not. See the discussion in the " +"\"SECURITY\" section of linkgit:git-upload-archive[1] for more " +"details. Defaults to `false`." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:253 +#: en/config.txt:3135 #, no-wrap -msgid "--ignore-other-worktrees" +msgid "uploadpack.hideRefs" msgstr "" #. type: Plain text -#: en/git-checkout.txt:258 +#: en/config.txt:3140 msgid "" -"`git checkout` refuses when the wanted ref is already checked out by another " -"worktree. This option makes it check the ref out anyway. In other words, the " -"ref can be held by more than one worktree." +"This variable is the same as `transfer.hideRefs`, but applies only to " +"`upload-pack` (and so affects only fetches, not pushes). An attempt to " +"fetch a hidden ref by `git fetch` will fail. See also " +"`uploadpack.allowTipSHA1InWant`." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:259 en/git-rebase.txt:242 +#: en/config.txt:3141 #, no-wrap -msgid "<branch>" +msgid "uploadpack.allowTipSHA1InWant" msgstr "" #. type: Plain text -#: en/git-checkout.txt:265 +#: en/config.txt:3149 msgid "" -"Branch to checkout; if it refers to a branch (i.e., a name that, when " -"prepended with \"refs/heads/\", is a valid ref), then that branch is checked " -"out. Otherwise, if it refers to a valid commit, your HEAD becomes " -"\"detached\" and you are no longer on any branch (see below for details)." +"When `uploadpack.hideRefs` is in effect, allow `upload-pack` to accept a " +"fetch request that asks for an object at the tip of a hidden ref (by " +"default, such a request is rejected). See also `uploadpack.hideRefs`. Even " +"if this is false, a client may be able to steal objects via the techniques " +"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " +"page; it's best to keep private data in a separate repository." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3150 +#, no-wrap +msgid "uploadpack.allowReachableSHA1InWant" msgstr "" #. type: Plain text -#: en/git-checkout.txt:269 +#: en/config.txt:3158 msgid "" -"As a special case, the `\"@{-N}\"` syntax for the N-th last branch/commit " -"checks out branches (instead of detaching). You may also specify `-` which " -"is synonymous with `\"@{-1}\"`." +"Allow `upload-pack` to accept a fetch request that asks for an object that " +"is reachable from any ref tip. However, note that calculating object " +"reachability is computationally expensive. Defaults to `false`. Even if " +"this is false, a client may be able to steal objects via the techniques " +"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " +"page; it's best to keep private data in a separate repository." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3159 +#, no-wrap +msgid "uploadpack.allowAnySHA1InWant" msgstr "" #. type: Plain text -#: en/git-checkout.txt:273 +#: en/config.txt:3163 msgid "" -"As a further special case, you may use `\"A...B\"` as a shortcut for the " -"merge base of `A` and `B` if there is exactly one merge base. You can leave " -"out at most one of `A` and `B`, in which case it defaults to `HEAD`." +"Allow `upload-pack` to accept a fetch request that asks for any object at " +"all. Defaults to `false`." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:274 +#: en/config.txt:3164 #, no-wrap -msgid "<new_branch>" +msgid "uploadpack.keepAlive" msgstr "" #. type: Plain text -#: en/git-checkout.txt:276 -msgid "Name for the new branch." +#: en/config.txt:3174 +msgid "" +"When `upload-pack` has started `pack-objects`, there may be a quiet period " +"while `pack-objects` prepares the pack. Normally it would output progress " +"information, but if `--quiet` was used for the fetch, `pack-objects` will " +"output nothing at all until the pack data begins. Some clients and networks " +"may consider the server to be hung and give up. Setting this option " +"instructs `upload-pack` to send an empty keepalive packet every " +"`uploadpack.keepAlive` seconds. Setting this option to 0 disables keepalive " +"packets entirely. The default is 5 seconds." msgstr "" #. type: Labeled list -#: en/git-checkout.txt:277 +#: en/config.txt:3175 #, no-wrap -msgid "<start_point>" +msgid "uploadpack.packObjectsHook" msgstr "" #. type: Plain text -#: en/git-checkout.txt:280 +#: en/config.txt:3185 msgid "" -"The name of a commit at which to start the new branch; see " -"linkgit:git-branch[1] for details. Defaults to HEAD." +"If this option is set, when `upload-pack` would run `git pack-objects` to " +"create a packfile for a client, it will run this shell command instead. The " +"`pack-objects` command and arguments it _would_ have run (including the `git " +"pack-objects` at the beginning) are appended to the shell command. The stdin " +"and stdout of the hook are treated as if `pack-objects` itself was " +"run. I.e., `upload-pack` will feed input intended for `pack-objects` to the " +"hook, and expects a completed packfile on stdout." msgstr "" #. type: Plain text -#: en/git-checkout.txt:284 +#: en/config.txt:3189 msgid "" -"Tree to checkout from (when paths are given). If not specified, the index " -"will be used." +"Note that this configuration variable is ignored if it is seen in the " +"repository-level config (this is a safety measure against fetching from " +"untrusted repositories)." msgstr "" -#. type: Title - -#: en/git-checkout.txt:288 +#. type: Labeled list +#: en/config.txt:3190 #, no-wrap -msgid "DETACHED HEAD" +msgid "url.<base>.insteadOf" msgstr "" #. type: Plain text -#: en/git-checkout.txt:292 +#: en/config.txt:3200 msgid "" -"HEAD normally refers to a named branch (e.g. 'master'). Meanwhile, each " -"branch refers to a specific commit. Let's look at a repo with three commits, " -"one of them tagged, and with branch 'master' checked out:" +"Any URL that starts with this value will be rewritten to start, instead, " +"with <base>. In cases where some site serves a large number of repositories, " +"and serves them with multiple access methods, and some users need to use " +"different access methods, this feature allows people to specify any of the " +"equivalent URLs and have Git automatically rewrite the URL to the best " +"alternative for the particular user, even for a never-before-seen repository " +"on the site. When more than one insteadOf strings match a given URL, the " +"longest match is used." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:301 +#. type: Labeled list +#: en/config.txt:3201 #, no-wrap -msgid "" -"\t HEAD (refers to branch 'master')\n" -"\t |\n" -"\t v\n" -"a---b---c branch 'master' (refers to commit 'c')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "url.<base>.pushInsteadOf" msgstr "" #. type: Plain text -#: en/git-checkout.txt:308 +#: en/config.txt:3213 msgid "" -"When a commit is created in this state, the branch is updated to refer to " -"the new commit. Specifically, 'git commit' creates a new commit 'd', whose " -"parent is commit 'c', and then updates branch 'master' to refer to new " -"commit 'd'. HEAD still refers to branch 'master' and so indirectly now " -"refers to commit 'd':" +"Any URL that starts with this value will not be pushed to; instead, it will " +"be rewritten to start with <base>, and the resulting URL will be pushed " +"to. In cases where some site serves a large number of repositories, and " +"serves them with multiple access methods, some of which do not allow push, " +"this feature allows people to specify a pull-only URL and have Git " +"automatically use an appropriate URL to push, even for a never-before-seen " +"repository on the site. When more than one pushInsteadOf strings match a " +"given URL, the longest match is used. If a remote has an explicit pushurl, " +"Git will ignore this setting for that remote." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:311 en/git-checkout.txt:346 en/git-checkout.txt:363 +#. type: Labeled list +#: en/config.txt:3214 #, no-wrap -msgid "$ edit; git add; git commit\n" +msgid "user.email" msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:319 -#, no-wrap +#. type: Plain text +#: en/config.txt:3218 msgid "" -"\t HEAD (refers to branch 'master')\n" -"\t\t|\n" -"\t\tv\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +"Your email address to be recorded in any newly created commits. Can be " +"overridden by the `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_EMAIL`, and `EMAIL` " +"environment variables. See linkgit:git-commit-tree[1]." +msgstr "" + +#. type: Labeled list +#: en/config.txt:3219 +#, no-wrap +msgid "user.name" msgstr "" #. type: Plain text -#: en/git-checkout.txt:325 +#: en/config.txt:3223 msgid "" -"It is sometimes useful to be able to checkout a commit that is not at the " -"tip of any named branch, or even to create a new commit that is not " -"referenced by a named branch. Let's look at what happens when we checkout " -"commit 'b' (here we show two ways this may be done):" +"Your full name to be recorded in any newly created commits. Can be " +"overridden by the `GIT_AUTHOR_NAME` and `GIT_COMMITTER_NAME` environment " +"variables. See linkgit:git-commit-tree[1]." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:329 +#. type: Labeled list +#: en/config.txt:3224 #, no-wrap +msgid "user.useConfigOnly" +msgstr "" + +#. type: Plain text +#: en/config.txt:3233 msgid "" -"$ git checkout v2.0 # or\n" -"$ git checkout master^^\n" +"Instruct Git to avoid trying to guess defaults for `user.email` and " +"`user.name`, and instead retrieve the values only from the " +"configuration. For example, if you have multiple email addresses and would " +"like to use a different one for each repository, then with this " +"configuration option set to `true` in the global config along with a name, " +"Git will prompt you to set up an email before making new commits in a newly " +"cloned repository. Defaults to `false`." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:337 +#. type: Labeled list +#: en/config.txt:3234 #, no-wrap -msgid "" -" HEAD (refers to commit 'b')\n" -" |\n" -" v\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "user.signingKey" msgstr "" #. type: Plain text -#: en/git-checkout.txt:343 +#: en/config.txt:3240 msgid "" -"Notice that regardless of which checkout command we use, HEAD now refers " -"directly to commit 'b'. This is known as being in detached HEAD state. It " -"means simply that HEAD refers to a specific commit, as opposed to referring " -"to a named branch. Let's see what happens when we create a commit:" +"If linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the key you " +"want it to automatically when creating a signed tag or commit, you can " +"override the default selection with this variable. This option is passed " +"unchanged to gpg's --local-user parameter, so you may specify a key using " +"any method that gpg supports." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:356 +#. type: Labeled list +#: en/config.txt:3241 #, no-wrap -msgid "" -" HEAD (refers to commit 'e')\n" -" |\n" -" v\n" -" e\n" -" /\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "versionsort.prereleaseSuffix (deprecated)" msgstr "" #. type: Plain text -#: en/git-checkout.txt:360 +#: en/config.txt:3244 msgid "" -"There is now a new commit 'e', but it is referenced only by HEAD. We can of " -"course add yet another commit in this state:" +"Deprecated alias for `versionsort.suffix`. Ignored if `versionsort.suffix` " +"is set." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:373 +#. type: Labeled list +#: en/config.txt:3245 #, no-wrap +msgid "versionsort.suffix" +msgstr "" + +#. type: Plain text +#: en/config.txt:3252 msgid "" -"\t HEAD (refers to commit 'f')\n" -"\t |\n" -"\t v\n" -" e---f\n" -" /\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +"Even when version sort is used in linkgit:git-tag[1], tagnames with the same " +"base version but different suffixes are still sorted lexicographically, " +"resulting e.g. in prerelease tags appearing after the main release " +"(e.g. \"1.0-rc1\" after \"1.0\"). This variable can be specified to " +"determine the sorting order of tags with different suffixes." msgstr "" #. type: Plain text -#: en/git-checkout.txt:377 +#: en/config.txt:3266 msgid "" -"In fact, we can perform all the normal Git operations. But, let's look at " -"what happens when we then checkout master:" +"By specifying a single suffix in this variable, any tagname containing that " +"suffix will appear before the corresponding main release. E.g. if the " +"variable is set to \"-rc\", then all \"1.0-rcX\" tags will appear before " +"\"1.0\". If specified multiple times, once per suffix, then the order of " +"suffixes in the configuration will determine the sorting order of tagnames " +"with those suffixes. E.g. if \"-pre\" appears before \"-rc\" in the " +"configuration, then all \"1.0-preX\" tags will be listed before any " +"\"1.0-rcX\" tags. The placement of the main release tag relative to tags " +"with various suffixes can be determined by specifying the empty suffix among " +"those other suffixes. E.g. if the suffixes \"-rc\", \"\", \"-ck\" and " +"\"-bfs\" appear in the configuration in this order, then all \"v4.8-rcX\" " +"tags are listed first, followed by \"v4.8\", then \"v4.8-ckX\" and finally " +"\"v4.8-bfsX\"." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:380 -#, no-wrap -msgid "$ git checkout master\n" +#. type: Plain text +#: en/config.txt:3274 +msgid "" +"If more than one suffixes match the same tagname, then that tagname will be " +"sorted according to the suffix which starts at the earliest position in the " +"tagname. If more than one different matching suffixes start at that " +"earliest position, then that tagname will be sorted according to the longest " +"of those suffixes. The sorting order between different suffixes is " +"undefined if they are in multiple config files." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:388 +#. type: Labeled list +#: en/config.txt:3275 #, no-wrap -msgid "" -"\t HEAD (refers to branch 'master')\n" -" e---f |\n" -" / v\n" -"a---b---c---d branch 'master' (refers to commit 'd')\n" -" ^\n" -" |\n" -" tag 'v2.0' (refers to commit 'b')\n" +msgid "web.browser" msgstr "" #. type: Plain text -#: en/git-checkout.txt:395 +#: en/config.txt:3278 msgid "" -"It is important to realize that at this point nothing refers to commit " -"'f'. Eventually commit 'f' (and by extension commit 'e') will be deleted by " -"the routine Git garbage collection process, unless we create a reference " -"before that happens. If we have not yet moved away from commit 'f', any of " -"these will create a reference to it:" +"Specify a web browser that may be used by some commands. Currently only " +"linkgit:git-instaweb[1] and linkgit:git-help[1] may use it." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:400 +#. type: Title - +#: en/date-formats.txt:2 #, no-wrap -msgid "" -"$ git checkout -b foo <1>\n" -"$ git branch foo <2>\n" -"$ git tag foo <3>\n" +msgid "DATE FORMATS" msgstr "" #. type: Plain text -#: en/git-checkout.txt:405 -msgid "" -"creates a new branch 'foo', which refers to commit 'f', and then updates " -"HEAD to refer to branch 'foo'. In other words, we'll no longer be in " -"detached HEAD state after this command." +#: en/date-formats.txt:5 +msgid "The `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE` environment variables" msgstr "" #. type: Plain text -#: en/git-checkout.txt:408 -msgid "" -"similarly creates a new branch 'foo', which refers to commit 'f', but leaves " -"HEAD detached." +#: en/date-formats.txt:7 +msgid "and the `--date` option" msgstr "" #. type: Plain text -#: en/git-checkout.txt:411 -msgid "creates a new tag 'foo', which refers to commit 'f', leaving HEAD detached." +#: en/date-formats.txt:9 +msgid "support the following date formats:" +msgstr "" + +#. type: Labeled list +#: en/date-formats.txt:10 +#, no-wrap +msgid "Git internal format" msgstr "" #. type: Plain text -#: en/git-checkout.txt:416 +#: en/date-formats.txt:15 msgid "" -"If we have moved away from commit 'f', then we must first recover its object " -"name (typically by using git reflog), and then we can create a reference to " -"it. For example, to see the last two commits to which HEAD referred, we can " -"use either of these commands:" +"It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is the " +"number of seconds since the UNIX epoch. `<time zone offset>` is a positive " +"or negative offset from UTC. For example CET (which is 1 hour ahead of UTC) " +"is `+0100`." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:420 +#. type: Labeled list +#: en/date-formats.txt:16 #, no-wrap +msgid "RFC 2822" +msgstr "" + +#. type: Plain text +#: en/date-formats.txt:19 msgid "" -"$ git reflog -2 HEAD # or\n" -"$ git log -g -2 HEAD\n" +"The standard email format as described by RFC 2822, for example `Thu, 07 Apr " +"2005 22:13:13 +0200`." msgstr "" -#. type: Title - -#: en/git-checkout.txt:423 +#. type: Labeled list +#: en/date-formats.txt:20 #, no-wrap -msgid "ARGUMENT DISAMBIGUATION" +msgid "ISO 8601" msgstr "" #. type: Plain text -#: en/git-checkout.txt:433 +#: en/date-formats.txt:24 msgid "" -"When there is only one argument given and it is not `--` (e.g. \"git " -"checkout abc\"), and when the argument is both a valid `<tree-ish>` (e.g. a " -"branch \"abc\" exists) and a valid `<pathspec>` (e.g. a file or a directory " -"whose name is \"abc\" exists), Git would usually ask you to disambiguate. " -"Because checking out a branch is so common an operation, however, \"git " -"checkout abc\" takes \"abc\" as a `<tree-ish>` in such a situation. Use " -"`git checkout -- <pathspec>` if you want to checkout these paths out of the " -"index." +"Time and date specified by the ISO 8601 standard, for example " +"`2005-04-07T22:13:13`. The parser accepts a space instead of the `T` " +"character as well." msgstr "" #. type: Plain text -#: en/git-checkout.txt:440 +#: en/date-formats.txt:26 msgid "" -"The following sequence checks out the `master` branch, reverts the " -"`Makefile` to two revisions back, deletes hello.c by mistake, and gets it " -"back from the index." +"In addition, the date part is accepted in the following formats: " +"`YYYY.MM.DD`, `MM/DD/YYYY` and `DD.MM.YYYY`." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:446 +#. type: Labeled list +#: en/diff-config.txt:1 #, no-wrap -msgid "" -"$ git checkout master <1>\n" -"$ git checkout master~2 Makefile <2>\n" -"$ rm -f hello.c\n" -"$ git checkout hello.c <3>\n" -msgstr "" - -#. type: Plain text -#: en/git-checkout.txt:449 -msgid "switch branch" +msgid "diff.autoRefreshIndex" msgstr "" #. type: Plain text -#: en/git-checkout.txt:450 -msgid "take a file out of another commit" +#: en/diff-config.txt:10 +msgid "" +"When using 'git diff' to compare with work tree files, do not consider " +"stat-only change as changed. Instead, silently run `git update-index " +"--refresh` to update the cached stat information for paths whose contents in " +"the work tree match the contents in the index. This option defaults to " +"true. Note that this affects only 'git diff' Porcelain, and not lower level " +"'diff' commands such as 'git diff-files'." msgstr "" -#. type: Plain text -#: en/git-checkout.txt:451 -msgid "restore hello.c from the index" +#. type: Labeled list +#: en/diff-config.txt:11 +#, no-wrap +msgid "diff.dirstat" msgstr "" #. type: Plain text -#: en/git-checkout.txt:454 -msgid "If you want to check out _all_ C source files out of the index, you can say" +#: en/diff-config.txt:18 +msgid "" +"A comma separated list of `--dirstat` parameters specifying the default " +"behavior of the `--dirstat` option to linkgit:git-diff[1]` and friends. The " +"defaults can be overridden on the command line (using " +"`--dirstat=<param1,param2,...>`). The fallback defaults (when not changed by " +"`diff.dirstat`) are `changes,noncumulative,3`. The following parameters are " +"available:" msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:457 +#. type: Labeled list +#: en/diff-config.txt:20 en/diff-options.txt:137 #, no-wrap -msgid "$ git checkout -- '*.c'\n" -msgstr "" - -#. type: Plain text -#: en/git-checkout.txt:463 -msgid "" -"Note the quotes around `*.c`. The file `hello.c` will also be checked out, " -"even though it is no longer in the working tree, because the file globbing " -"is used to match entries in the index (not in the working tree by the " -"shell)." +msgid "`changes`" msgstr "" #. type: Plain text -#: en/git-checkout.txt:467 +#: en/diff-config.txt:26 en/diff-options.txt:143 msgid "" -"If you have an unfortunate branch that is named `hello.c`, this step would " -"be confused as an instruction to switch to that branch. You should instead " -"write:" +"Compute the dirstat numbers by counting the lines that have been removed " +"from the source, or added to the destination. This ignores the amount of " +"pure code movements within a file. In other words, rearranging lines in a " +"file is not counted as much as other changes. This is the default behavior " +"when no parameter is given." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:470 +#. type: Labeled list +#: en/diff-config.txt:26 en/diff-options.txt:143 #, no-wrap -msgid "$ git checkout -- hello.c\n" +msgid "`lines`" msgstr "" #. type: Plain text -#: en/git-checkout.txt:474 +#: en/diff-config.txt:34 en/diff-options.txt:151 msgid "" -"After working in the wrong branch, switching to the correct branch would be " -"done using:" +"Compute the dirstat numbers by doing the regular line-based diff analysis, " +"and summing the removed/added line counts. (For binary files, count 64-byte " +"chunks instead, since binary files have no natural concept of lines). This " +"is a more expensive `--dirstat` behavior than the `changes` behavior, but it " +"does count rearranged lines within a file as much as other changes. The " +"resulting output is consistent with what you get from the other `--*stat` " +"options." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:477 +#. type: Labeled list +#: en/diff-config.txt:34 en/diff-options.txt:151 #, no-wrap -msgid "$ git checkout mytopic\n" +msgid "`files`" msgstr "" #. type: Plain text -#: en/git-checkout.txt:482 +#: en/diff-config.txt:39 en/diff-options.txt:156 msgid "" -"However, your \"wrong\" branch and correct \"mytopic\" branch may differ in " -"files that you have modified locally, in which case the above checkout would " -"fail like this:" +"Compute the dirstat numbers by counting the number of files changed. Each " +"changed file counts equally in the dirstat analysis. This is the " +"computationally cheapest `--dirstat` behavior, since it does not have to " +"look at the file contents at all." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:486 +#. type: Labeled list +#: en/diff-config.txt:39 en/diff-options.txt:156 #, no-wrap -msgid "" -"$ git checkout mytopic\n" -"error: You have local changes to 'frotz'; not switching branches.\n" +msgid "`cumulative`" msgstr "" #. type: Plain text -#: en/git-checkout.txt:490 +#: en/diff-config.txt:44 en/diff-options.txt:161 msgid "" -"You can give the `-m` flag to the command, which would try a three-way " -"merge:" +"Count changes in a child directory for the parent directory as well. Note " +"that when using `cumulative`, the sum of the percentages reported may exceed " +"100%. The default (non-cumulative) behavior can be specified with the " +"`noncumulative` parameter." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:494 +#. type: Labeled list +#: en/diff-config.txt:44 en/diff-options.txt:161 en/git-cherry.txt:39 #, no-wrap -msgid "" -"$ git checkout -m mytopic\n" -"Auto-merging frotz\n" +msgid "<limit>" msgstr "" #. type: Plain text -#: en/git-checkout.txt:499 +#: en/diff-config.txt:48 en/diff-options.txt:165 msgid "" -"After this three-way merge, the local modifications are _not_ registered in " -"your index file, so `git diff` would show you what changes you made since " -"the tip of the new branch." +"An integer parameter specifies a cut-off percent (3% by default). " +"Directories contributing less than this percentage of the changes are not " +"shown in the output." msgstr "" #. type: Plain text -#: en/git-checkout.txt:502 +#: en/diff-config.txt:54 msgid "" -"When a merge conflict happens during switching branches with the `-m` " -"option, you would see something like this:" +"Example: The following will count changed files, while ignoring directories " +"with less than 10% of the total amount of changed files, and accumulating " +"child directory counts in the parent directories: `files,10,cumulative`." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:508 +#. type: Labeled list +#: en/diff-config.txt:55 #, no-wrap -msgid "" -"$ git checkout -m mytopic\n" -"Auto-merging frotz\n" -"ERROR: Merge conflict in frotz\n" -"fatal: merge program failed\n" +msgid "diff.statGraphWidth" msgstr "" #. type: Plain text -#: en/git-checkout.txt:514 +#: en/diff-config.txt:58 msgid "" -"At this point, `git diff` shows the changes cleanly merged as in the " -"previous example, as well as the changes in the conflicted files. Edit and " -"resolve the conflict and mark it resolved with `git add` as usual:" +"Limit the width of the graph part in --stat output. If set, applies to all " +"commands generating --stat output except format-patch." msgstr "" -#. type: delimited block - -#: en/git-checkout.txt:518 +#. type: Labeled list +#: en/diff-config.txt:59 #, no-wrap +msgid "diff.context" +msgstr "" + +#. type: Plain text +#: en/diff-config.txt:62 msgid "" -"$ edit frotz\n" -"$ git add frotz\n" +"Generate diffs with <n> lines of context instead of the default of 3. This " +"value is overridden by the -U option." msgstr "" -#. type: Title = -#: en/git-check-ref-format.txt:2 +#. type: Labeled list +#: en/diff-config.txt:63 #, no-wrap -msgid "git-check-ref-format(1)" +msgid "diff.interHunkContext" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:7 -msgid "git-check-ref-format - Ensures that a reference name is well formed" +#: en/diff-config.txt:68 +msgid "" +"Show the context between diff hunks, up to the specified number of lines, " +"thereby fusing the hunks that are close to each other. This value serves as " +"the default for the `--inter-hunk-context` command line option." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:15 +#. type: Labeled list +#: en/diff-config.txt:69 #, no-wrap -msgid "" -"'git check-ref-format' [--normalize]\n" -" [--[no-]allow-onelevel] [--refspec-pattern]\n" -" <refname>\n" -"'git check-ref-format' --branch <branchname-shorthand>\n" +msgid "diff.external" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:20 +#: en/diff-config.txt:77 msgid "" -"Checks if a given 'refname' is acceptable, and exits with a non-zero status " -"if it is not." +"If this config variable is set, diff generation is not performed using the " +"internal diff machinery, but using the given command. Can be overridden " +"with the `GIT_EXTERNAL_DIFF' environment variable. The command is called " +"with parameters as described under \"git Diffs\" in linkgit:git[1]. Note: " +"if you want to use an external diff program only on a subset of your files, " +"you\tmight want to use linkgit:gitattributes[5] instead." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:27 -msgid "" -"A reference is used in Git to specify branches and tags. A branch head is " -"stored in the `refs/heads` hierarchy, while a tag is stored in the " -"`refs/tags` hierarchy of the ref namespace (typically in " -"`$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags` directories or, as entries in " -"file `$GIT_DIR/packed-refs` if refs are packed by `git gc`)." +#. type: Labeled list +#: en/diff-config.txt:78 +#, no-wrap +msgid "diff.ignoreSubmodules" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:29 -msgid "Git imposes the following rules on how references are named:" +#: en/diff-config.txt:87 +msgid "" +"Sets the default value of --ignore-submodules. Note that this affects only " +"'git diff' Porcelain, and not lower level 'diff' commands such as 'git " +"diff-files'. 'git checkout' also honors this setting when reporting " +"uncommitted changes. Setting it to 'all' disables the submodule summary " +"normally shown by 'git commit' and 'git status' when " +"`status.submoduleSummary` is set unless it is overridden by using the " +"--ignore-submodules command-line option. The 'git submodule' commands are " +"not affected by this setting." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:33 -msgid "" -"They can include slash `/` for hierarchical (directory) grouping, but no " -"slash-separated component can begin with a dot `.` or end with the sequence " -"`.lock`." +#. type: Labeled list +#: en/diff-config.txt:88 +#, no-wrap +msgid "diff.mnemonicPrefix" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:38 +#: en/diff-config.txt:93 msgid "" -"They must contain at least one `/`. This enforces the presence of a category " -"like `heads/`, `tags/` etc. but the actual names are not restricted. If the " -"`--allow-onelevel` option is used, this rule is waived." +"If set, 'git diff' uses a prefix pair that is different from the standard " +"\"a/\" and \"b/\" depending on what is being compared. When this " +"configuration is in effect, reverse diff output also swaps the order of the " +"prefixes:" msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:40 -msgid "They cannot have two consecutive dots `..` anywhere." +#. type: Labeled list +#: en/diff-config.txt:93 +#, no-wrap +msgid "`git diff`" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:44 -msgid "" -"They cannot have ASCII control characters (i.e. bytes whose values are lower " -"than \\040, or \\177 `DEL`), space, tilde `~`, caret `^`, or colon `:` " -"anywhere." +#: en/diff-config.txt:95 +msgid "compares the (i)ndex and the (w)ork tree;" msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:48 -msgid "" -"They cannot have question-mark `?`, asterisk `*`, or open bracket `[` " -"anywhere. See the `--refspec-pattern` option below for an exception to this " -"rule." +#. type: Labeled list +#: en/diff-config.txt:95 +#, no-wrap +msgid "`git diff HEAD`" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:52 -msgid "" -"They cannot begin or end with a slash `/` or contain multiple consecutive " -"slashes (see the `--normalize` option below for an exception to this rule)" +#: en/diff-config.txt:97 +msgid "compares a (c)ommit and the (w)ork tree;" msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:54 -msgid "They cannot end with a dot `.`." +#. type: Labeled list +#: en/diff-config.txt:97 +#, no-wrap +msgid "`git diff --cached`" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:56 -msgid "They cannot contain a sequence `@{`." +#: en/diff-config.txt:99 +msgid "compares a (c)ommit and the (i)ndex;" msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:58 -msgid "They cannot be the single character `@`." +#. type: Labeled list +#: en/diff-config.txt:99 +#, no-wrap +msgid "`git diff HEAD:file1 file2`" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:60 -msgid "They cannot contain a `\\`." +#: en/diff-config.txt:101 +msgid "compares an (o)bject and a (w)ork tree entity;" msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:65 -msgid "" -"These rules make it easy for shell script based tools to parse reference " -"names, pathname expansion by the shell when a reference name is used " -"unquoted (by mistake), and also avoid ambiguities in certain reference name " -"expressions (see linkgit:gitrevisions[7]):" +#. type: Labeled list +#: en/diff-config.txt:101 +#, no-wrap +msgid "`git diff --no-index a b`" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:69 -msgid "" -"A double-dot `..` is often used as in `ref1..ref2`, and in some contexts " -"this notation means `^ref1 ref2` (i.e. not in `ref1` and in `ref2`)." +#: en/diff-config.txt:103 +msgid "compares two non-git things (1) and (2)." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:72 -msgid "" -"A tilde `~` and caret `^` are used to introduce the postfix 'nth parent' and " -"'peel onion' operation." +#. type: Labeled list +#: en/diff-config.txt:104 +#, no-wrap +msgid "diff.noprefix" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:77 -msgid "" -"A colon `:` is used as in `srcref:dstref` to mean \"use srcref\\'s value and " -"store it in dstref\" in fetch and push operations. It may also be used to " -"select a specific object such as with 'git cat-file': \"git cat-file blob " -"v1.3.3:refs.c\"." +#: en/diff-config.txt:106 +msgid "If set, 'git diff' does not show any source or destination prefix." msgstr "" -#. type: Plain text -#: en/git-check-ref-format.txt:79 -msgid "at-open-brace `@{` is used as a notation to access a reflog entry." +#. type: Labeled list +#: en/diff-config.txt:107 +#, no-wrap +msgid "diff.orderFile" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:85 +#: en/diff-config.txt:112 msgid "" -"With the `--branch` option, it expands the ``previous branch syntax'' " -"`@{-n}`. For example, `@{-1}` is a way to refer the last branch you were " -"on. This option should be used by porcelains to accept this syntax anywhere " -"a branch name is expected, so they can act as if you typed the branch name." +"File indicating how to order files within a diff. See the '-O' option to " +"linkgit:git-diff[1] for details. If `diff.orderFile` is a relative " +"pathname, it is treated as relative to the top of the working tree." msgstr "" #. type: Labeled list -#: en/git-check-ref-format.txt:88 +#: en/diff-config.txt:113 #, no-wrap -msgid "--[no-]allow-onelevel" +msgid "diff.renameLimit" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:92 +#: en/diff-config.txt:116 msgid "" -"Controls whether one-level refnames are accepted (i.e., refnames that do not " -"contain multiple `/`-separated components). The default is " -"`--no-allow-onelevel`." +"The number of files to consider when performing the copy/rename detection; " +"equivalent to the 'git diff' option `-l`." msgstr "" #. type: Labeled list -#: en/git-check-ref-format.txt:93 +#: en/diff-config.txt:117 #, no-wrap -msgid "--refspec-pattern" +msgid "diff.renames" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:99 +#: en/diff-config.txt:125 msgid "" -"Interpret <refname> as a reference name pattern for a refspec (as used with " -"remote repositories). If this option is enabled, <refname> is allowed to " -"contain a single `*` in the refspec (e.g., `foo/bar*/baz` or `foo/bar*baz/` " -"but not `foo/bar*/baz*`)." +"Whether and how Git detects renames. If set to \"false\", rename detection " +"is disabled. If set to \"true\", basic rename detection is enabled. If set " +"to \"copies\" or \"copy\", Git will detect copies, as well. Defaults to " +"true. Note that this affects only 'git diff' Porcelain like " +"linkgit:git-diff[1] and linkgit:git-log[1], and not lower level commands " +"such as linkgit:git-diff-files[1]." msgstr "" #. type: Labeled list -#: en/git-check-ref-format.txt:100 +#: en/diff-config.txt:126 #, no-wrap -msgid "--normalize" +msgid "diff.suppressBlankEmpty" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:107 +#: en/diff-config.txt:129 msgid "" -"Normalize 'refname' by removing any leading slash (`/`) characters and " -"collapsing runs of adjacent slashes between name components into a single " -"slash. If the normalized refname is valid then print it to standard output " -"and exit with a status of 0, otherwise exit with a non-zero status. " -"(`--print` is a deprecated way to spell `--normalize`.)" -msgstr "" - -#. type: Plain text -#: en/git-check-ref-format.txt:113 -msgid "Print the name of the previous branch:" +"A boolean to inhibit the standard behavior of printing a space before each " +"empty output line. Defaults to false." msgstr "" -#. type: delimited block - -#: en/git-check-ref-format.txt:116 +#. type: Labeled list +#: en/diff-config.txt:130 #, no-wrap -msgid "$ git check-ref-format --branch @{-1}\n" +msgid "diff.submodule" msgstr "" #. type: Plain text -#: en/git-check-ref-format.txt:119 -msgid "Determine the reference name to use for a new branch:" +#: en/diff-config.txt:137 +msgid "" +"Specify the format in which differences in submodules are shown. The " +"\"short\" format just shows the names of the commits at the beginning and " +"end of the range. The \"log\" format lists the commits in the range like " +"linkgit:git-submodule[1] `summary` does. The \"diff\" format shows an inline " +"diff of the changed contents of the submodule. Defaults to \"short\"." msgstr "" -#. type: delimited block - -#: en/git-check-ref-format.txt:123 +#. type: Labeled list +#: en/diff-config.txt:138 #, no-wrap +msgid "diff.wordRegex" +msgstr "" + +#. type: Plain text +#: en/diff-config.txt:143 msgid "" -"$ ref=$(git check-ref-format --normalize \"refs/heads/$newbranch\")||\n" -"{ echo \"we do not like '$newbranch' as a branch name.\" >&2 ; exit 1 ; }\n" +"A POSIX Extended Regular Expression used to determine what is a \"word\" " +"when performing word-by-word difference calculations. Character sequences " +"that match the regular expression are \"words\", all other characters are " +"*ignorable* whitespace." msgstr "" -#. type: Title = -#: en/git-cherry-pick.txt:2 +#. type: Labeled list +#: en/diff-config.txt:144 #, no-wrap -msgid "git-cherry-pick(1)" +msgid "diff.<driver>.command" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:7 -msgid "git-cherry-pick - Apply the changes introduced by some existing commits" +#: en/diff-config.txt:147 +msgid "The custom diff driver command. See linkgit:gitattributes[5] for details." msgstr "" -#. type: Plain text -#: en/git-cherry-pick.txt:16 +#. type: Labeled list +#: en/diff-config.txt:148 #, no-wrap -msgid "" -"'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]\n" -"\t\t [-S[<keyid>]] <commit>...\n" -"'git cherry-pick' --continue\n" -"'git cherry-pick' --quit\n" -"'git cherry-pick' --abort\n" +msgid "diff.<driver>.xfuncname" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:23 +#: en/diff-config.txt:152 msgid "" -"Given one or more existing commits, apply the change each one introduces, " -"recording a new commit for each. This requires your working tree to be " -"clean (no modifications from the HEAD commit)." +"The regular expression that the diff driver should use to recognize the hunk " +"header. A built-in pattern may also be used. See linkgit:gitattributes[5] " +"for details." msgstr "" -#. type: Plain text -#: en/git-cherry-pick.txt:26 -msgid "When it is not obvious how to apply a change, the following happens:" +#. type: Labeled list +#: en/diff-config.txt:153 +#, no-wrap +msgid "diff.<driver>.binary" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:29 +#: en/diff-config.txt:156 msgid "" -"The current branch and `HEAD` pointer stay at the last commit successfully " -"made." +"Set this option to true to make the diff driver treat files as binary. See " +"linkgit:gitattributes[5] for details." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:157 +#, no-wrap +msgid "diff.<driver>.textconv" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:31 +#: en/diff-config.txt:162 msgid "" -"The `CHERRY_PICK_HEAD` ref is set to point at the commit that introduced the " -"change that is difficult to apply." +"The command that the diff driver should call to generate the text-converted " +"version of a file. The result of the conversion is used to generate a " +"human-readable diff. See linkgit:gitattributes[5] for details." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:163 +#, no-wrap +msgid "diff.<driver>.wordRegex" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:33 +#: en/diff-config.txt:167 msgid "" -"Paths in which the change applied cleanly are updated both in the index file " -"and in your working tree." +"The regular expression that the diff driver should use to split words in a " +"line. See linkgit:gitattributes[5] for details." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:168 +#, no-wrap +msgid "diff.<driver>.cachetextconv" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:38 +#: en/diff-config.txt:171 msgid "" -"For conflicting paths, the index file records up to three versions, as " -"described in the \"TRUE MERGE\" section of linkgit:git-merge[1]. The " -"working tree files will include a description of the conflict bracketed by " -"the usual conflict markers `<<<<<<<` and `>>>>>>>`." +"Set this option to true to make the diff driver cache the text conversion " +"outputs. See linkgit:gitattributes[5] for details." msgstr "" -#. type: Plain text -#: en/git-cherry-pick.txt:39 -msgid "No other modifications are made." +#. type: Labeled list +#: en/diff-config.txt:172 en/git-difftool.txt:111 +#, no-wrap +msgid "diff.tool" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:42 -msgid "See linkgit:git-merge[1] for some hints on resolving such conflicts." +#: en/diff-config.txt:178 +msgid "" +"Controls which diff tool is used by linkgit:git-difftool[1]. This variable " +"overrides the value configured in `merge.tool`. The list below shows the " +"valid built-in values. Any other value is treated as a custom diff tool and " +"requires that a corresponding difftool.<tool>.cmd variable is defined." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:45 en/git-merge.txt:110 en/git-revert.txt:35 en/git-verify-commit.txt:27 +#: en/diff-config.txt:181 #, no-wrap -msgid "<commit>..." +msgid "diff.indentHeuristic" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:54 +#: en/diff-config.txt:184 msgid "" -"Commits to cherry-pick. For a more complete list of ways to spell commits, " -"see linkgit:gitrevisions[7]. Sets of commits can be passed but no traversal " -"is done by default, as if the `--no-walk` option was specified, see " -"linkgit:git-rev-list[1]. Note that specifying a range will feed all " -"<commit>... arguments to a single revision walk (see a later example that " -"uses 'maint master..next')." +"Set this option to `true` to enable experimental heuristics that shift diff " +"hunk boundaries to make patches easier to read." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:185 +#, no-wrap +msgid "diff.algorithm" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:59 -msgid "" -"With this option, 'git cherry-pick' will let you edit the commit message " -"prior to committing." +#: en/diff-config.txt:187 +msgid "Choose a diff algorithm. The variants are as follows:" msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:60 en/git-clean.txt:62 +#: en/diff-config.txt:189 en/diff-options.txt:82 #, no-wrap -msgid "-x" +msgid "`default`, `myers`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:73 -msgid "" -"When recording the commit, append a line that says \"(cherry picked from " -"commit ...)\" to the original commit message in order to indicate which " -"commit this change was cherry-picked from. This is done only for cherry " -"picks without conflicts. Do not use this option if you are cherry-picking " -"from your private branch because the information is useless to the " -"recipient. If on the other hand you are cherry-picking between two publicly " -"visible branches (e.g. backporting a fix to a maintenance branch for an " -"older release from a development branch), adding this information can be " -"useful." +#: en/diff-config.txt:191 en/diff-options.txt:84 +msgid "The basic greedy diff algorithm. Currently, this is the default." +msgstr "" + +#. type: Labeled list +#: en/diff-config.txt:191 en/diff-options.txt:84 +#, no-wrap +msgid "`minimal`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:78 -msgid "" -"It used to be that the command defaulted to do `-x` described above, and " -"`-r` was to disable it. Now the default is not to do `-x` so this option is " -"a no-op." +#: en/diff-config.txt:194 en/diff-options.txt:71 en/diff-options.txt:87 +msgid "Spend extra time to make sure the smallest possible diff is produced." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:79 en/git-revert.txt:49 +#: en/diff-config.txt:194 en/diff-options.txt:87 #, no-wrap -msgid "-m parent-number" +msgid "`patience`" +msgstr "" + +#. type: Plain text +#: en/diff-config.txt:196 en/diff-options.txt:89 +msgid "Use \"patience diff\" algorithm when generating patches." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:80 en/git-revert.txt:50 +#: en/diff-config.txt:196 en/diff-options.txt:89 #, no-wrap -msgid "--mainline parent-number" +msgid "`histogram`" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:86 +#: en/diff-config.txt:199 en/diff-options.txt:92 msgid "" -"Usually you cannot cherry-pick a merge because you do not know which side of " -"the merge should be considered the mainline. This option specifies the " -"parent number (starting from 1) of the mainline and allows cherry-pick to " -"replay the change relative to the specified parent." +"This algorithm extends the patience algorithm to \"support low-occurrence " +"common elements\"." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:88 en/git-revert.txt:70 en/merge-options.txt:2 +#: en/diff-config.txt:202 #, no-wrap -msgid "--no-commit" +msgid "diff.wsErrorHighlight" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:96 +#: en/diff-config.txt:206 msgid "" -"Usually the command automatically creates a sequence of commits. This flag " -"applies the changes necessary to cherry-pick each named commit to your " -"working tree and the index, without making any commit. In addition, when " -"this option is used, your index does not have to match the HEAD commit. The " -"cherry-pick is done against the beginning state of your index." +"A comma separated list of `old`, `new`, `context`, that specifies how " +"whitespace errors on lines are highlighted with `color.diff.whitespace`. " +"Can be overridden by the command line option `--ws-error-highlight=<kind>`" +msgstr "" + +#. type: Title - +#: en/diff-format.txt:2 +#, no-wrap +msgid "Raw output format" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:99 +#: en/diff-format.txt:6 msgid "" -"This is useful when cherry-picking more than one commits' effect to your " -"index in a row." +"The raw output format from \"git-diff-index\", \"git-diff-tree\", " +"\"git-diff-files\" and \"git diff --raw\" are very similar." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:104 en/git-revert.txt:93 -msgid "" -"Add Signed-off-by line at the end of the commit message. See the signoff " -"option in linkgit:git-commit[1] for more information." +#: en/diff-format.txt:9 +msgid "These commands all compare two sets of things; what is compared differs:" msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:111 en/merge-options.txt:30 +#: en/diff-format.txt:10 #, no-wrap -msgid "--ff" +msgid "git-diff-index <tree-ish>" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:115 -msgid "" -"If the current HEAD is the same as the parent of the cherry-pick'ed commit, " -"then a fast forward to this commit will be performed." +#: en/diff-format.txt:12 +msgid "compares the <tree-ish> and the files on the filesystem." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:116 en/git-commit.txt:173 en/git-notes.txt:158 +#: en/diff-format.txt:13 #, no-wrap -msgid "--allow-empty" +msgid "git-diff-index --cached <tree-ish>" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:128 -msgid "" -"By default, cherry-picking an empty commit will fail, indicating that an " -"explicit invocation of `git commit --allow-empty` is required. This option " -"overrides that behavior, allowing empty commits to be preserved " -"automatically in a cherry-pick. Note that when \"--ff\" is in effect, empty " -"commits that meet the \"fast-forward\" requirement will be kept even without " -"this option. Note also, that use of this option only keeps commits that " -"were initially empty (i.e. the commit recorded the same tree as its " -"parent). Commits which are made empty due to a previous commit are " -"dropped. To force the inclusion of those commits use " -"`--keep-redundant-commits`." +#: en/diff-format.txt:15 +msgid "compares the <tree-ish> and the index." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:129 en/git-commit.txt:179 +#: en/diff-format.txt:16 #, no-wrap -msgid "--allow-empty-message" +msgid "git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:133 -msgid "" -"By default, cherry-picking a commit with an empty message will fail. This " -"option overrides that behavior, allowing commits with empty messages to be " -"cherry picked." +#: en/diff-format.txt:18 +msgid "compares the trees named by the two arguments." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:134 +#: en/diff-format.txt:19 #, no-wrap -msgid "--keep-redundant-commits" +msgid "git-diff-files [<pattern>...]" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:140 -msgid "" -"If a commit being cherry picked duplicates a commit already in the current " -"history, it will become empty. By default these redundant commits cause " -"`cherry-pick` to stop so the user can examine the commit. This option " -"overrides that behavior and creates an empty commit object. Implies " -"`--allow-empty`." -msgstr "" - -#. type: Labeled list -#: en/git-cherry-pick.txt:141 en/git-notes.txt:184 en/git-rebase.txt:283 en/git-revert.txt:94 en/git-svn.txt:640 en/merge-options.txt:78 -#, no-wrap -msgid "--strategy=<strategy>" +#: en/diff-format.txt:21 +msgid "compares the index and the files on the filesystem." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:145 en/git-revert.txt:98 +#: en/diff-format.txt:25 msgid "" -"Use the given merge strategy. Should only be used once. See the MERGE " -"STRATEGIES section in linkgit:git-merge[1] for details." +"The \"git-diff-tree\" command begins its output by printing the hash of what " +"is being compared. After that, all the commands print one output line per " +"changed file." msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:146 en/git-revert.txt:99 -#, no-wrap -msgid "-X<option>" +#. type: Plain text +#: en/diff-format.txt:27 +msgid "An output line is formatted this way:" msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:147 en/git-revert.txt:100 en/merge-options.txt:86 +#. type: delimited block - +#: en/diff-format.txt:35 #, no-wrap -msgid "--strategy-option=<option>" +msgid "" +"in-place edit :100644 100644 bcd1234... 0123456... M file0\n" +"copy-edit :100644 100644 abcd123... 1234567... C68 file1 file2\n" +"rename-edit :100644 100644 abcd123... 1234567... R86 file1 file3\n" +"create :000000 100644 0000000... 1234567... A file4\n" +"delete :100644 000000 1234567... 0000000... D file5\n" +"unmerged :000000 000000 0000000... 0000000... U file6\n" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:150 en/git-revert.txt:103 -msgid "" -"Pass the merge strategy-specific option through to the merge strategy. See " -"linkgit:git-merge[1] for details." +#: en/diff-format.txt:38 +msgid "That is, from the left to the right:" msgstr "" -#. type: Title - -#: en/git-cherry-pick.txt:152 en/git-revert.txt:105 -#, no-wrap -msgid "SEQUENCER SUBCOMMANDS" +#. type: Plain text +#: en/diff-format.txt:40 +msgid "a colon." msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:157 -#, no-wrap -msgid "`git cherry-pick master`" +#. type: Plain text +#: en/diff-format.txt:41 +msgid "mode for \"src\"; 000000 if creation or unmerged." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:161 -msgid "" -"Apply the change introduced by the commit at the tip of the master branch " -"and create a new commit with this change." +#: en/diff-format.txt:42 en/diff-format.txt:44 en/diff-format.txt:46 en/diff-format.txt:48 +msgid "a space." msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:162 -#, no-wrap -msgid "`git cherry-pick ..master`" +#. type: Plain text +#: en/diff-format.txt:43 +msgid "mode for \"dst\"; 000000 if deletion or unmerged." msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:163 -#, no-wrap -msgid "`git cherry-pick ^HEAD master`" +#. type: Plain text +#: en/diff-format.txt:45 +msgid "sha1 for \"src\"; 0\\{40\\} if creation or unmerged." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:167 -msgid "" -"Apply the changes introduced by all commits that are ancestors of master but " -"not of HEAD to produce new commits." +#: en/diff-format.txt:47 +msgid "sha1 for \"dst\"; 0\\{40\\} if creation, unmerged or \"look at work tree\"." msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:168 -#, no-wrap -msgid "`git cherry-pick maint next ^master`" +#. type: Plain text +#: en/diff-format.txt:49 +msgid "status, followed by optional \"score\" number." msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:169 -#, no-wrap -msgid "`git cherry-pick maint master..next`" +#. type: Plain text +#: en/diff-format.txt:50 +msgid "a tab or a NUL when `-z` option is used." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:176 -msgid "" -"Apply the changes introduced by all commits that are ancestors of maint or " -"next, but not master or any of its ancestors. Note that the latter does not " -"mean `maint` and everything between `master` and `next`; specifically, " -"`maint` will not be used if it is included in `master`." +#: en/diff-format.txt:51 +msgid "path for \"src\"" msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:177 -#, no-wrap -msgid "`git cherry-pick master~4 master~2`" +#. type: Plain text +#: en/diff-format.txt:52 +msgid "a tab or a NUL when `-z` option is used; only exists for C or R." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:182 -msgid "" -"Apply the changes introduced by the fifth and third last commits pointed to " -"by master and create 2 new commits with these changes." +#: en/diff-format.txt:53 +msgid "path for \"dst\"; only exists for C or R." msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:183 -#, no-wrap -msgid "`git cherry-pick -n master~1 next`" +#. type: Plain text +#: en/diff-format.txt:54 +msgid "an LF or a NUL when `-z` option is used, to terminate the record." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:189 -msgid "" -"Apply to the working tree and the index the changes introduced by the second " -"last commit pointed to by master and by the last commit pointed to by next, " -"but do not create any commit with these changes." +#: en/diff-format.txt:56 +msgid "Possible status letters are:" msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:190 -#, no-wrap -msgid "`git cherry-pick --ff ..next`" +#. type: Plain text +#: en/diff-format.txt:58 +msgid "A: addition of a file" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:197 -msgid "" -"If history is linear and HEAD is an ancestor of next, update the working " -"tree and advance the HEAD pointer to match next. Otherwise, apply the " -"changes introduced by those commits that are in next but not HEAD to the " -"current branch, creating a new commit for each new change." +#: en/diff-format.txt:59 +msgid "C: copy of a file into a new one" msgstr "" -#. type: Labeled list -#: en/git-cherry-pick.txt:198 -#, no-wrap -msgid "`git rev-list --reverse master -- README | git cherry-pick -n --stdin`" +#. type: Plain text +#: en/diff-format.txt:60 +msgid "D: deletion of a file" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:204 -msgid "" -"Apply the changes introduced by all commits on the master branch that " -"touched README to the working tree and index, so the result can be inspected " -"and made into a single new commit if suitable." +#: en/diff-format.txt:61 +msgid "M: modification of the contents or mode of a file" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:208 -msgid "" -"The following sequence attempts to backport a patch, bails out because the " -"code the patch applies to has changed too much, and then tries again, this " -"time exercising more care about matching up context lines." +#: en/diff-format.txt:62 +msgid "R: renaming of a file" msgstr "" -#. type: delimited block - -#: en/git-cherry-pick.txt:214 -#, no-wrap -msgid "" -"$ git cherry-pick topic^ <1>\n" -"$ git diff <2>\n" -"$ git reset --merge ORIG_HEAD <3>\n" -"$ git cherry-pick -Xpatience topic^ <4>\n" +#. type: Plain text +#: en/diff-format.txt:63 +msgid "T: change in the type of the file" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:219 -msgid "" -"apply the change that would be shown by `git show topic^`. In this example, " -"the patch does not apply cleanly, so information about the conflict is " -"written to the index and working tree and no new commit results." +#: en/diff-format.txt:65 +msgid "U: file is unmerged (you must complete the merge before it can be committed)" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:220 -msgid "summarize changes to be reconciled" +#: en/diff-format.txt:66 +msgid "X: \"unknown\" change type (most probably a bug, please report it)" msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:223 +#: en/diff-format.txt:71 msgid "" -"cancel the cherry-pick. In other words, return to the pre-cherry-pick " -"state, preserving any local modifications you had in the working tree." +"Status letters C and R are always followed by a score (denoting the " +"percentage of similarity between the source and target of the move or " +"copy). Status letter M may be followed by a score (denoting the percentage " +"of dissimilarity) for file rewrites." msgstr "" #. type: Plain text -#: en/git-cherry-pick.txt:226 +#: en/diff-format.txt:74 msgid "" -"try to apply the change introduced by `topic^` again, spending extra time to " -"avoid mistakes based on incorrectly matching context lines." +"<sha1> is shown as all 0's if a file is new on the filesystem and it is out " +"of sync with the index." msgstr "" #. type: Labeled list -#: en/git-cherry-pick.txt:230 en/cmds-mainporcelain.txt:85 +#: en/diff-format.txt:76 en/diff-format.txt:101 en/git-svn.txt:468 en/git-svn.txt:508 #, no-wrap -msgid "linkgit:git-revert[1]" +msgid "Example:" msgstr "" -#. type: Title = -#: en/git-cherry.txt:2 +#. type: delimited block - +#: en/diff-format.txt:79 #, no-wrap -msgid "git-cherry(1)" +msgid ":100644 100644 5be4a4...... 000000...... M file.c\n" msgstr "" #. type: Plain text -#: en/git-cherry.txt:7 -msgid "git-cherry - Find commits yet to be applied to upstream" +#: en/diff-format.txt:85 en/git-ls-files.txt:204 en/git-ls-tree.txt:101 +msgid "" +"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " +"explained for the configuration variable `core.quotePath` (see " +"linkgit:git-config[1]). Using `-z` the filename is output verbatim and the " +"line is terminated by a NUL byte." msgstr "" -#. type: Plain text -#: en/git-cherry.txt:12 +#. type: Title - +#: en/diff-format.txt:87 #, no-wrap -msgid "'git cherry' [-v] [<upstream> [<head> [<limit>]]]\n" +msgid "diff format for merges" msgstr "" #. type: Plain text -#: en/git-cherry.txt:17 +#: en/diff-format.txt:93 msgid "" -"Determine whether there are commits in `<head>..<upstream>` that are " -"equivalent to those in the range `<limit>..<head>`." +"\"git-diff-tree\", \"git-diff-files\" and \"git-diff --raw\" can take `-c` " +"or `--cc` option to generate diff output also for merge commits. The output " +"differs from the format described above in the following way:" msgstr "" #. type: Plain text -#: en/git-cherry.txt:22 -msgid "" -"The equivalence test is based on the diff, after removing whitespace and " -"line numbers. git-cherry therefore detects when commits have been " -"\"copied\" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or " -"linkgit:git-rebase[1]." +#: en/diff-format.txt:95 +msgid "there is a colon for each parent" msgstr "" #. type: Plain text -#: en/git-cherry.txt:26 -msgid "" -"Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with `-` for " -"commits that have an equivalent in <upstream>, and `+` for commits that do " -"not." +#: en/diff-format.txt:96 +msgid "there are more \"src\" modes and \"src\" sha1" msgstr "" #. type: Plain text -#: en/git-cherry.txt:31 -msgid "Show the commit subjects next to the SHA1s." -msgstr "" - -#. type: Labeled list -#: en/git-cherry.txt:32 en/git-rebase.txt:237 -#, no-wrap -msgid "<upstream>" +#: en/diff-format.txt:97 +msgid "status is concatenated status characters for each parent" msgstr "" #. type: Plain text -#: en/git-cherry.txt:35 -msgid "" -"Upstream branch to search for equivalent commits. Defaults to the upstream " -"branch of HEAD." +#: en/diff-format.txt:98 +msgid "no optional \"score\" number" msgstr "" #. type: Plain text -#: en/git-cherry.txt:38 en/git-rebase.txt:244 -msgid "Working branch; defaults to HEAD." +#: en/diff-format.txt:99 +msgid "single path, only for \"dst\"" msgstr "" -#. type: Labeled list -#: en/git-cherry.txt:39 en/diff-config.txt:44 en/diff-options.txt:161 +#. type: delimited block - +#: en/diff-format.txt:104 #, no-wrap -msgid "<limit>" +msgid "::100644 100644 100644 fabadb8... cc95eb0... 4866510... MM\tdescribe.c\n" msgstr "" #. type: Plain text -#: en/git-cherry.txt:41 -msgid "Do not report commits up to (and including) limit." +#: en/diff-format.txt:108 +msgid "" +"Note that 'combined diff' lists only files which were modified from all " +"parents." msgstr "" -#. type: Title ~ -#: en/git-cherry.txt:46 +#. type: Title - +#: en/diff-format.txt:114 #, no-wrap -msgid "Patch workflows" +msgid "other diff formats" msgstr "" #. type: Plain text -#: en/git-cherry.txt:52 +#: en/diff-format.txt:120 msgid "" -"git-cherry is frequently used in patch-based workflows (see " -"linkgit:gitworkflows[7]) to determine if a series of patches has been " -"applied by the upstream maintainer. In such a workflow you might create and " -"send a topic branch like this:" +"The `--summary` option describes newly added, deleted, renamed and copied " +"files. The `--stat` option adds diffstat(1) graph to the output. These " +"options can be combined with other options, such as `-p`, and are meant for " +"human consumption." +msgstr "" + +#. type: Plain text +#: en/diff-format.txt:125 +msgid "" +"When showing a change that involves a rename or a copy, `--stat` output " +"formats the pathnames compactly by combining common prefix and suffix of the " +"pathnames. For example, a change that moves `arch/i386/Makefile` to " +"`arch/x86/Makefile` while modifying 4 lines will be shown like this:" msgstr "" #. type: delimited block - -#: en/git-cherry.txt:58 +#: en/diff-format.txt:128 #, no-wrap -msgid "" -"$ git checkout -b topic origin/master\n" -"# work and create some commits\n" -"$ git format-patch origin/master\n" -"$ git send-email ... 00*\n" +msgid "arch/{i386 => x86}/Makefile | 4 +--\n" msgstr "" #. type: Plain text -#: en/git-cherry.txt:62 +#: en/diff-format.txt:133 msgid "" -"Later, you can see whether your changes have been applied by saying (still " -"on `topic`):" +"The `--numstat` option gives the diffstat(1) information but is designed for " +"easier machine consumption. An entry in `--numstat` output looks like this:" msgstr "" #. type: delimited block - -#: en/git-cherry.txt:66 +#: en/diff-format.txt:137 #, no-wrap msgid "" -"$ git fetch # update your notion of origin/master\n" -"$ git cherry -v\n" +"1\t2\tREADME\n" +"3\t1\tarch/{i386 => x86}/Makefile\n" msgstr "" -#. type: Title ~ -#: en/git-cherry.txt:69 -#, no-wrap -msgid "Concrete example" +#. type: Plain text +#: en/diff-format.txt:140 +msgid "That is, from left to right:" msgstr "" #. type: Plain text -#: en/git-cherry.txt:73 -msgid "" -"In a situation where topic consisted of three commits, and the maintainer " -"applied two of them, the situation might look like:" +#: en/diff-format.txt:142 en/diff-format.txt:158 +msgid "the number of added lines;" msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:86 -#, no-wrap -msgid "" -"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" -"* 7654321 (origin/master) upstream tip commit\n" -"[... snip some other commits ...]\n" -"* cccc111 cherry-pick of C\n" -"* aaaa111 cherry-pick of A\n" -"[... snip a lot more that has happened ...]\n" -"| * cccc000 (topic) commit C\n" -"| * bbbb000 commit B\n" -"| * aaaa000 commit A\n" -"|/\n" -"o 1234567 branch point\n" +#. type: Plain text +#: en/diff-format.txt:143 en/diff-format.txt:145 en/diff-format.txt:159 en/diff-format.txt:161 +msgid "a tab;" msgstr "" #. type: Plain text -#: en/git-cherry.txt:90 -msgid "" -"In such cases, git-cherry shows a concise summary of what has yet to be " -"applied:" -msgstr "" - -#. type: delimited block - -#: en/git-cherry.txt:96 -#, no-wrap -msgid "" -"$ git cherry origin/master topic\n" -"- cccc000... commit C\n" -"+ bbbb000... commit B\n" -"- aaaa000... commit A\n" +#: en/diff-format.txt:144 en/diff-format.txt:160 +msgid "the number of deleted lines;" msgstr "" #. type: Plain text -#: en/git-cherry.txt:102 -msgid "" -"Here, we see that the commits A and C (marked with `-`) can be dropped from " -"your `topic` branch when you rebase it on top of `origin/master`, while the " -"commit B (marked with `+`) still needs to be kept so that it will be sent to " -"be applied to `origin/master`." +#: en/diff-format.txt:146 +msgid "pathname (possibly with rename/copy information);" msgstr "" -#. type: Title ~ -#: en/git-cherry.txt:105 -#, no-wrap -msgid "Using a limit" +#. type: Plain text +#: en/diff-format.txt:147 +msgid "a newline." msgstr "" #. type: Plain text -#: en/git-cherry.txt:110 -msgid "" -"The optional <limit> is useful in cases where your topic is based on other " -"work that is not in upstream. Expanding on the previous example, this might " -"look like:" +#: en/diff-format.txt:149 +msgid "When `-z` output option is in effect, the output is formatted this way:" msgstr "" #. type: delimited block - -#: en/git-cherry.txt:126 +#: en/diff-format.txt:153 #, no-wrap msgid "" -"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" -"* 7654321 (origin/master) upstream tip commit\n" -"[... snip some other commits ...]\n" -"* cccc111 cherry-pick of C\n" -"* aaaa111 cherry-pick of A\n" -"[... snip a lot more that has happened ...]\n" -"| * cccc000 (topic) commit C\n" -"| * bbbb000 commit B\n" -"| * aaaa000 commit A\n" -"| * 0000fff (base) unpublished stuff F\n" -"[... snip ...]\n" -"| * 0000aaa unpublished stuff A\n" -"|/\n" -"o 1234567 merge-base between upstream and topic\n" +"1\t2\tREADME NUL\n" +"3\t1\tNUL arch/i386/Makefile NUL arch/x86/Makefile NUL\n" msgstr "" #. type: Plain text -#: en/git-cherry.txt:130 -msgid "" -"By specifying `base` as the limit, you can avoid listing commits between " -"`base` and `topic`:" +#: en/diff-format.txt:156 +msgid "That is:" msgstr "" -#. type: delimited block - -#: en/git-cherry.txt:136 -#, no-wrap -msgid "" -"$ git cherry origin/master topic base\n" -"- cccc000... commit C\n" -"+ bbbb000... commit B\n" -"- aaaa000... commit A\n" +#. type: Plain text +#: en/diff-format.txt:162 en/diff-format.txt:164 +msgid "a NUL (only exists if renamed/copied);" msgstr "" -#. type: Labeled list -#: en/git-cherry.txt:142 en/cmds-purehelpers.txt:40 -#, no-wrap -msgid "linkgit:git-patch-id[1]" +#. type: Plain text +#: en/diff-format.txt:163 +msgid "pathname in preimage;" msgstr "" -#. type: Title = -#: en/git-citool.txt:2 -#, no-wrap -msgid "git-citool(1)" +#. type: Plain text +#: en/diff-format.txt:165 +msgid "pathname in postimage (only exists if renamed/copied);" msgstr "" #. type: Plain text -#: en/git-citool.txt:7 -msgid "git-citool - Graphical alternative to git-commit" +#: en/diff-format.txt:166 +msgid "a NUL." msgstr "" #. type: Plain text -#: en/git-citool.txt:12 +#: en/diff-format.txt:171 +msgid "" +"The extra `NUL` before the preimage path in renamed case is to allow scripts " +"that read the output to tell if the current record being read is a " +"single-path record or a rename/copy record without reading ahead. After " +"reading added and deleted lines, reading up to `NUL` would yield the " +"pathname, but if that is `NUL`, the record will show two paths." +msgstr "" + +#. type: Title - +#: en/diff-generate-patch.txt:2 #, no-wrap -msgid "'git citool'\n" +msgid "Generating patches with -p" msgstr "" #. type: Plain text -#: en/git-citool.txt:19 +#: en/diff-generate-patch.txt:10 msgid "" -"A Tcl/Tk based graphical interface to review modified files, stage them into " -"the index, enter a commit message and record the new commit onto the current " -"branch. This interface is an alternative to the less interactive 'git " -"commit' program." +"When \"git-diff-index\", \"git-diff-tree\", or \"git-diff-files\" are run " +"with a `-p` option, \"git diff\" without the `--raw` option, or \"git log\" " +"with the \"-p\" option, they do not produce the output described above; " +"instead they produce a patch file. You can customize the creation of such " +"patches via the `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment " +"variables." msgstr "" #. type: Plain text -#: en/git-citool.txt:22 +#: en/diff-generate-patch.txt:13 msgid "" -"'git citool' is actually a standard alias for `git gui citool`. See " -"linkgit:git-gui[1] for more details." -msgstr "" - -#. type: Title = -#: en/git-clean.txt:2 -#, no-wrap -msgid "git-clean(1)" +"What the -p option produces is slightly different from the traditional diff " +"format:" msgstr "" #. type: Plain text -#: en/git-clean.txt:7 -msgid "git-clean - Remove untracked files from the working tree" +#: en/diff-generate-patch.txt:15 +msgid "It is preceded with a \"git diff\" header that looks like this:" msgstr "" #. type: Plain text -#: en/git-clean.txt:12 +#: en/diff-generate-patch.txt:17 #, no-wrap -msgid "" -"'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] " -"<path>...\n" +msgid "diff --git a/file1 b/file2\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:18 +#: en/diff-generate-patch.txt:21 msgid "" -"Cleans the working tree by recursively removing files that are not under " -"version control, starting from the current directory." +"The `a/` and `b/` filenames are the same unless rename/copy is involved. " +"Especially, even for a creation or a deletion, `/dev/null` is _not_ used in " +"place of the `a/` or `b/` filenames." msgstr "" #. type: Plain text -#: en/git-clean.txt:22 +#: en/diff-generate-patch.txt:25 msgid "" -"Normally, only files unknown to Git are removed, but if the `-x` option is " -"specified, ignored files are also removed. This can, for example, be useful " -"to remove all build products." +"When rename/copy is involved, `file1` and `file2` show the name of the " +"source file of the rename/copy and the name of the file that rename/copy " +"produces, respectively." msgstr "" #. type: Plain text -#: en/git-clean.txt:25 -msgid "" -"If any optional `<path>...` arguments are given, only those paths are " -"affected." +#: en/diff-generate-patch.txt:27 +msgid "It is followed by one or more extended header lines:" msgstr "" #. type: Plain text -#: en/git-clean.txt:33 +#: en/diff-generate-patch.txt:39 +#, no-wrap msgid "" -"Remove untracked directories in addition to untracked files. If an " -"untracked directory is managed by a different Git repository, it is not " -"removed by default. Use -f option twice if you really want to remove such a " -"directory." +"old mode <mode>\n" +"new mode <mode>\n" +"deleted file mode <mode>\n" +"new file mode <mode>\n" +"copy from <path>\n" +"copy to <path>\n" +"rename from <path>\n" +"rename to <path>\n" +"similarity index <number>\n" +"dissimilarity index <number>\n" +"index <hash>..<hash> <mode>\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:41 +#: en/diff-generate-patch.txt:42 msgid "" -"If the Git configuration variable clean.requireForce is not set to false, " -"'git clean' will refuse to delete files or directories unless given -f, -n " -"or -i. Git will refuse to delete directories with .git sub directory or file " -"unless a second -f is given." +"File modes are printed as 6-digit octal numbers including the file type and " +"file permission bits." msgstr "" #. type: Plain text -#: en/git-clean.txt:46 -msgid "" -"Show what would be done and clean files interactively. See ``Interactive " -"mode'' for details." +#: en/diff-generate-patch.txt:44 +msgid "Path names in extended headers do not include the `a/` and `b/` prefixes." msgstr "" #. type: Plain text -#: en/git-clean.txt:50 -msgid "Don't actually remove anything, just show what would be done." +#: en/diff-generate-patch.txt:51 +msgid "" +"The similarity index is the percentage of unchanged lines, and the " +"dissimilarity index is the percentage of changed lines. It is a rounded " +"down integer, followed by a percent sign. The similarity index value of " +"100% is thus reserved for two equal files, while 100% dissimilarity means " +"that no line from the old file made it into the new one." msgstr "" #. type: Plain text -#: en/git-clean.txt:55 +#: en/diff-generate-patch.txt:55 msgid "" -"Be quiet, only report errors, but not the files that are successfully " -"removed." -msgstr "" - -#. type: Labeled list -#: en/git-clean.txt:56 -#, no-wrap -msgid "-e <pattern>" +"The index line includes the SHA-1 checksum before and after the change. The " +"<mode> is included if the file mode does not change; otherwise, separate " +"lines indicate the old and the new mode." msgstr "" -#. type: Labeled list -#: en/git-clean.txt:57 en/git-ls-files.txt:84 en/git-name-rev.txt:33 -#, no-wrap -msgid "--exclude=<pattern>" +#. type: Plain text +#: en/diff-generate-patch.txt:59 +msgid "" +"Pathnames with \"unusual\" characters are quoted as explained for the " +"configuration variable `core.quotePath` (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-clean.txt:61 +#: en/diff-generate-patch.txt:64 msgid "" -"In addition to those found in .gitignore (per directory) and " -"$GIT_DIR/info/exclude, also consider these patterns to be in the set of the " -"ignore rules in effect." +"All the `file1` files in the output refer to files before the commit, and " +"all the `file2` files refer to files after the commit. It is incorrect to " +"apply each change to each file sequentially. For example, this patch will " +"swap a and b:" msgstr "" #. type: Plain text -#: en/git-clean.txt:69 +#: en/diff-generate-patch.txt:71 +#, no-wrap msgid "" -"Don't use the standard ignore rules read from .gitignore (per directory) and " -"$GIT_DIR/info/exclude, but do still use the ignore rules given with `-e` " -"options. This allows removing all untracked files, including build " -"products. This can be used (possibly in conjunction with 'git reset') to " -"create a pristine working directory to test a clean build." +"diff --git a/a b/b\n" +"rename from a\n" +"rename to b\n" +"diff --git a/b b/a\n" +"rename from b\n" +"rename to a\n" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:70 +#. type: Title - +#: en/diff-generate-patch.txt:74 #, no-wrap -msgid "-X" +msgid "combined diff format" msgstr "" #. type: Plain text -#: en/git-clean.txt:73 +#: en/diff-generate-patch.txt:82 msgid "" -"Remove only files ignored by Git. This may be useful to rebuild everything " -"from scratch, but keep manually created files." +"Any diff-generating command can take the `-c` or `--cc` option to produce a " +"'combined diff' when showing a merge. This is the default format when " +"showing merges with linkgit:git-diff[1] or linkgit:git-show[1]. Note also " +"that you can give the `-m` option to any of these commands to force " +"generation of diffs with individual parents of a merge." msgstr "" #. type: Plain text -#: en/git-clean.txt:79 -msgid "" -"When the command enters the interactive mode, it shows the files and " -"directories to be cleaned, and goes into its interactive command loop." +#: en/diff-generate-patch.txt:84 +msgid "A 'combined diff' format looks like this:" msgstr "" #. type: delimited block - -#: en/git-clean.txt:90 +#: en/diff-generate-patch.txt:93 #, no-wrap msgid "" -" *** Commands ***\n" -"\t1: clean 2: filter by pattern 3: select by numbers\n" -"\t4: ask each 5: quit 6: help\n" -" What now> 1\n" -msgstr "" - -#. type: Plain text -#: en/git-clean.txt:93 -msgid "You also could say `c` or `clean` above as long as the choice is unique." +"diff --combined describe.c\n" +"index fabadb8,cc95eb0..4866510\n" +"--- a/describe.c\n" +"+++ b/describe.c\n" +"@@@ -98,20 -98,12 +98,20 @@@\n" +"\treturn (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;\n" +" }\n" msgstr "" -#. type: Plain text -#: en/git-clean.txt:95 -msgid "The main command loop has 6 subcommands." +#. type: delimited block - +#: en/diff-generate-patch.txt:103 +#, no-wrap +msgid "" +"- static void describe(char *arg)\n" +" -static void describe(struct commit *cmit, int last_one)\n" +"++static void describe(char *arg, int last_one)\n" +" {\n" +" +\tunsigned char sha1[20];\n" +" +\tstruct commit *cmit;\n" +"\tstruct commit_list *list;\n" +"\tstatic int initialized = 0;\n" +"\tstruct commit_name *n;\n" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:96 +#. type: delimited block - +#: en/diff-generate-patch.txt:113 #, no-wrap -msgid "clean" +msgid "" +" +\tif (get_sha1(arg, sha1) < 0)\n" +" +\t\tusage(describe_usage);\n" +" +\tcmit = lookup_commit_reference(sha1);\n" +" +\tif (!cmit)\n" +" +\t\tusage(describe_usage);\n" +" +\n" +"\tif (!initialized) {\n" +"\t\tinitialized = 1;\n" +"\t\tfor_each_ref(get_name);\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:99 -msgid "Start cleaning files and directories, and then quit." +#: en/diff-generate-patch.txt:117 +msgid "" +"It is preceded with a \"git diff\" header, that looks like this (when `-c` " +"option is used):" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:100 +#. type: Plain text +#: en/diff-generate-patch.txt:119 #, no-wrap -msgid "filter by pattern" +msgid "diff --combined file\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:108 -msgid "" -"This shows the files and directories to be deleted and issues an \"Input " -"ignore patterns>>\" prompt. You can input space-separated patterns to " -"exclude files and directories from deletion. E.g. \"*.c *.h\" will excludes " -"files end with \".c\" and \".h\" from deletion. When you are satisfied with " -"the filtered result, press ENTER (empty) back to the main menu." +#: en/diff-generate-patch.txt:121 +msgid "or like this (when `--cc` option is used):" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:109 +#. type: Plain text +#: en/diff-generate-patch.txt:123 #, no-wrap -msgid "select by numbers" +msgid " diff --cc file\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:120 +#: en/diff-generate-patch.txt:126 msgid "" -"This shows the files and directories to be deleted and issues an \"Select " -"items to delete>>\" prompt. When the prompt ends with double '>>' like this, " -"you can make more than one selection, concatenated with whitespace or " -"comma. Also you can say ranges. E.g. \"2-5 7,9\" to choose 2,3,4,5,7,9 " -"from the list. If the second number in a range is omitted, all remaining " -"items are selected. E.g. \"7-\" to choose 7,8,9 from the list. You can say " -"'*' to choose everything. Also when you are satisfied with the filtered " -"result, press ENTER (empty) back to the main menu." +"It is followed by one or more extended header lines (this example shows a " +"merge with two parents):" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:121 +#. type: Plain text +#: en/diff-generate-patch.txt:131 #, no-wrap -msgid "ask each" +msgid "" +"index <hash>,<hash>..<hash>\n" +"mode <mode>,<mode>..<mode>\n" +"new file mode <mode>\n" +"deleted file mode <mode>,<mode>\n" msgstr "" #. type: Plain text -#: en/git-clean.txt:126 +#: en/diff-generate-patch.txt:137 msgid "" -"This will start to clean, and you must confirm one by one in order to delete " -"items. Please note that this action is not as efficient as the above two " -"actions." +"The `mode <mode>,<mode>..<mode>` line appears only if at least one of the " +"<mode> is different from the rest. Extended headers with information about " +"detected contents movement (renames and copying detection) are designed to " +"work with diff of two <tree-ish> and are not used by combined diff format." msgstr "" -#. type: Labeled list -#: en/git-clean.txt:127 -#, no-wrap -msgid "quit" +#. type: Plain text +#: en/diff-generate-patch.txt:139 +msgid "It is followed by two-line from-file/to-file header" msgstr "" #. type: Plain text -#: en/git-clean.txt:130 -msgid "This lets you quit without do cleaning." +#: en/diff-generate-patch.txt:141 +msgid "a/file" msgstr "" -#. type: Labeled list -#: en/git-clean.txt:131 -#, no-wrap -msgid "help" +#. type: Plain text +#: en/diff-generate-patch.txt:142 +msgid "b/file" msgstr "" #. type: Plain text -#: en/git-clean.txt:134 -msgid "Show brief usage of interactive git-clean." +#: en/diff-generate-patch.txt:146 +msgid "" +"Similar to two-line header for traditional 'unified' diff format, " +"`/dev/null` is used to signal created or deleted files." msgstr "" #. type: Plain text -#: en/git-clean.txt:138 en/git-status.txt:356 -msgid "linkgit:gitignore[5]" +#: en/diff-generate-patch.txt:152 +msgid "" +"Chunk header format is modified to prevent people from accidentally feeding " +"it to `patch -p1`. Combined diff format was created for review of merge " +"commit changes, and was not meant for apply. The change is similar to the " +"change in the extended 'index' header:" msgstr "" -#. type: Title = -#: en/git-clone.txt:2 +#. type: Plain text +#: en/diff-generate-patch.txt:154 #, no-wrap -msgid "git-clone(1)" +msgid "@@@ <from-file-range> <from-file-range> <to-file-range> @@@\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:7 -msgid "git-clone - Clone a repository into a new directory" +#: en/diff-generate-patch.txt:157 +msgid "" +"There are (number of parents + 1) `@` characters in the chunk header for " +"combined diff format." msgstr "" #. type: Plain text -#: en/git-clone.txt:19 -#, no-wrap +#: en/diff-generate-patch.txt:166 msgid "" -"'git clone' [--template=<template_directory>]\n" -"\t [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]\n" -"\t [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]\n" -"\t [--dissociate] [--separate-git-dir <git dir>]\n" -"\t [--depth <depth>] [--[no-]single-branch]\n" -"\t [--recursive | --recurse-submodules] [--[no-]shallow-submodules]\n" -"\t [--jobs <n>] [--] <repository> [<directory>]\n" +"Unlike the traditional 'unified' diff format, which shows two files A and B " +"with a single column that has `-` (minus -- appears in A but removed in B), " +"`+` (plus -- missing in A but added to B), or `\" \"` (space -- unchanged) " +"prefix, this format compares two or more files file1, file2,... with one " +"file X, and shows how X differs from each of fileN. One column for each of " +"fileN is prepended to the output line to note how X's line is different from " +"it." msgstr "" #. type: Plain text -#: en/git-clone.txt:28 +#: en/diff-generate-patch.txt:172 msgid "" -"Clones a repository into a newly created directory, creates remote-tracking " -"branches for each branch in the cloned repository (visible using `git branch " -"-r`), and creates and checks out an initial branch that is forked from the " -"cloned repository's currently active branch." +"A `-` character in the column N means that the line appears in fileN but it " +"does not appear in the result. A `+` character in the column N means that " +"the line appears in the result, and fileN does not have that line (in other " +"words, the line was added, from the point of view of that parent)." msgstr "" #. type: Plain text -#: en/git-clone.txt:34 +#: en/diff-generate-patch.txt:178 msgid "" -"After the clone, a plain `git fetch` without arguments will update all the " -"remote-tracking branches, and a `git pull` without arguments will in " -"addition merge the remote master branch into the current master branch, if " -"any (this is untrue when \"--single-branch\" is given; see below)." +"In the above example output, the function signature was changed from both " +"files (hence two `-` removals from both file1 and file2, plus `++` to mean " +"one line that was added does not appear in either file1 or file2). Also " +"eight other lines are the same from file1 but do not appear in file2 (hence " +"prefixed with `+`)." msgstr "" #. type: Plain text -#: en/git-clone.txt:39 +#: en/diff-generate-patch.txt:184 msgid "" -"This default configuration is achieved by creating references to the remote " -"branch heads under `refs/remotes/origin` and by initializing " -"`remote.origin.url` and `remote.origin.fetch` configuration variables." +"When shown by `git diff-tree -c`, it compares the parents of a merge commit " +"with the merge result (i.e. file1..fileN are the parents). When shown by " +"`git diff-files -c`, it compares the two unresolved merge parents with the " +"working tree file (i.e. file1 is stage 2 aka \"our version\", file2 is stage " +"3 aka \"their version\")." msgstr "" #. type: Labeled list -#: en/git-clone.txt:43 en/git-config.txt:127 en/git-instaweb.txt:24 en/git-pack-objects.txt:127 en/git-svn.txt:229 +#: en/diff-options.txt:17 en/git-rebase.txt:319 en/merge-options.txt:57 #, no-wrap -msgid "--local" +msgid "--no-stat" msgstr "" #. type: Plain text -#: en/git-clone.txt:51 -msgid "" -"When the repository to clone from is on a local machine, this flag bypasses " -"the normal \"Git aware\" transport mechanism and clones the repository by " -"making a copy of HEAD and everything under objects and refs directories. " -"The files under `.git/objects/` directory are hardlinked to save space when " -"possible." +#: en/diff-options.txt:19 +msgid "Generate plain patches without any diffstats." msgstr "" -#. type: Plain text -#: en/git-clone.txt:58 -msgid "" -"If the repository is specified as a local path (e.g., `/path/to/repo`), this " -"is the default, and --local is essentially a no-op. If the repository is " -"specified as a URL, then this flag is ignored (and we never use the local " -"optimizations). Specifying `--no-local` will override the default when " -"`/path/to/repo` is given, using the regular Git transport instead." +#. type: Labeled list +#: en/diff-options.txt:23 en/fetch-options.txt:143 en/git-add.txt:108 en/git-am.txt:77 en/git-checkout-index.txt:25 en/git-cvsexportcommit.txt:64 en/git-cvsimport.txt:98 en/git-ls-files.txt:69 en/git-mailinfo.txt:52 en/git-push.txt:245 en/git-read-tree.txt:44 +#, no-wrap +msgid "-u" msgstr "" #. type: Labeled list -#: en/git-clone.txt:59 +#: en/diff-options.txt:24 en/git-add.txt:86 en/git-checkout.txt:243 en/git-commit.txt:67 #, no-wrap -msgid "--no-hardlinks" +msgid "--patch" msgstr "" #. type: Plain text -#: en/git-clone.txt:64 -msgid "" -"Force the cloning process from a repository on a local filesystem to copy " -"the files under the `.git/objects` directory instead of using " -"hardlinks. This may be desirable if you are trying to make a back-up of your " -"repository." +#: en/diff-options.txt:26 +msgid "Generate patch (see section on generating patches)." +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:28 en/diff-options.txt:50 +#, no-wrap +msgid "\tThis is the default.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:65 +#: en/diff-options.txt:30 en/git-am.txt:34 en/git-blame.txt:74 en/git-cat-file.txt:40 en/git-cherry-pick.txt:100 en/git-clone.txt:66 en/git-commit.txt:159 en/git-diff-tree.txt:75 en/git-format-patch.txt:113 en/git-ls-files.txt:58 en/git-revert.txt:89 en/git-shortlog.txt:34 en/git-show-ref.txt:53 en/git-status.txt:27 en/git-stripspace.txt:38 en/git-svn.txt:46 en/git-tag.txt:63 en/git-verify-pack.txt:31 #, no-wrap -msgid "--shared" +msgid "-s" +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:31 +#, no-wrap +msgid "--no-patch" msgstr "" #. type: Plain text -#: en/git-clone.txt:72 +#: en/diff-options.txt:34 msgid "" -"When the repository to clone is on the local machine, instead of using hard " -"links, automatically setup `.git/objects/info/alternates` to share the " -"objects with the source repository. The resulting repository starts out " -"without any object of its own." +"Suppress diff output. Useful for commands like `git show` that show the " +"patch by default, or to cancel the effect of `--patch`." msgstr "" -#. type: Plain text -#: en/git-clone.txt:82 +#. type: Labeled list +#: en/diff-options.txt:36 #, no-wrap -msgid "" -"*NOTE*: this is a possibly dangerous operation; do *not* use\n" -"it unless you understand what it does. If you clone your\n" -"repository using this option and then delete branches (or use any\n" -"other Git command that makes any existing commit unreferenced) in the\n" -"source repository, some objects may become unreferenced (or dangling).\n" -"These objects may be removed by normal Git operations (such as `git " -"commit`)\n" -"which automatically call `git gc --auto`. (See linkgit:git-gc[1].)\n" -"If these objects are removed and were referenced by the cloned repository,\n" -"then the cloned repository will become corrupt.\n" +msgid "-U<n>" +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:37 +#, no-wrap +msgid "--unified=<n>" msgstr "" #. type: Plain text -#: en/git-clone.txt:88 -msgid "" -"Note that running `git repack` without the `-l` option in a repository " -"cloned with `-s` will copy objects from the source repository into a pack in " -"the cloned repository, removing the disk space savings of `clone -s`. It is " -"safe, however, to run `git gc`, which uses the `-l` option by default." +#: en/diff-options.txt:40 +msgid "Generate diffs with <n> lines of context instead of the usual three." msgstr "" #. type: Plain text -#: en/git-clone.txt:92 -msgid "" -"If you want to break the dependency of a repository cloned with `-s` on its " -"source repository, you can simply run `git repack -a` to copy all objects " -"from the source repository into a pack in the cloned repository." +#: en/diff-options.txt:42 +#, no-wrap +msgid "\tImplies `-p`.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:93 +#: en/diff-options.txt:45 en/git-replace.txt:77 en/git-verify-commit.txt:19 en/git-verify-tag.txt:19 #, no-wrap -msgid "--reference[-if-able] <repository>" +msgid "--raw" msgstr "" #. type: Plain text -#: en/git-clone.txt:103 -msgid "" -"If the reference repository is on the local machine, automatically setup " -"`.git/objects/info/alternates` to obtain objects from the reference " -"repository. Using an already existing repository as an alternate will " -"require fewer objects to be copied from the repository being cloned, " -"reducing network and local storage costs. When using the " -"`--reference-if-able`, a non existing directory is skipped with a warning " -"instead of aborting the clone." +#: en/diff-options.txt:48 +#, no-wrap +msgid "\tGenerate the diff in raw format.\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:106 +#: en/diff-options.txt:58 #, no-wrap msgid "" -"*NOTE*: see the NOTE for the `--shared` option, and also the\n" -"`--dissociate` option.\n" +"\tFor each commit, show a summary of changes using the raw diff\n" +"\tformat. See the \"RAW OUTPUT FORMAT\" section of\n" +"\tlinkgit:git-diff[1]. This is different from showing the log\n" +"\titself in raw format, which you can achieve with\n" +"\t`--format=raw`.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:107 +#: en/diff-options.txt:62 #, no-wrap -msgid "--dissociate" -msgstr "" - -#. type: Plain text -#: en/git-clone.txt:117 -msgid "" -"Borrow the objects from reference repositories specified with the " -"`--reference` options only to reduce network transfer, and stop borrowing " -"from them after a clone is made by making necessary local copies of borrowed " -"objects. This option can also be used when cloning locally from a " -"repository that already borrows objects from another repository--the new " -"repository will borrow objects from the same repository, and this option can " -"be used to stop the borrowing." +msgid "--patch-with-raw" msgstr "" #. type: Plain text -#: en/git-clone.txt:122 -msgid "Operate quietly. Progress is not reported to the standard error stream." +#: en/diff-options.txt:64 +msgid "Synonym for `-p --raw`." msgstr "" -#. type: Plain text -#: en/git-clone.txt:127 -msgid "" -"Run verbosely. Does not affect the reporting of progress status to the " -"standard error stream." +#. type: Labeled list +#: en/diff-options.txt:68 +#, no-wrap +msgid "--minimal" msgstr "" #. type: Labeled list -#: en/git-clone.txt:128 en/git-pack-objects.txt:136 en/git-push.txt:268 en/fetch-options.txt:170 en/merge-options.txt:112 +#: en/diff-options.txt:72 #, no-wrap -msgid "--progress" +msgid "--patience" msgstr "" #. type: Plain text -#: en/git-clone.txt:133 en/git-pack-objects.txt:141 en/git-push.txt:273 en/fetch-options.txt:175 -msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal, unless -q is specified. This flag forces progress " -"status even if the standard error stream is not directed to a terminal." +#: en/diff-options.txt:74 +msgid "Generate a diff using the \"patience diff\" algorithm." msgstr "" -#. type: Plain text -#: en/git-clone.txt:137 -msgid "No checkout of HEAD is performed after the clone is complete." +#. type: Labeled list +#: en/diff-options.txt:75 +#, no-wrap +msgid "--histogram" msgstr "" #. type: Plain text -#: en/git-clone.txt:149 -msgid "" -"Make a 'bare' Git repository. That is, instead of creating `<directory>` " -"and placing the administrative files in `<directory>/.git`, make the " -"`<directory>` itself the `$GIT_DIR`. This obviously implies the `-n` because " -"there is nowhere to check out the working tree. Also the branch heads at " -"the remote are copied directly to corresponding local branch heads, without " -"mapping them to `refs/remotes/origin/`. When this option is used, neither " -"remote-tracking branches nor the related configuration variables are " -"created." +#: en/diff-options.txt:77 +msgid "Generate a diff using the \"histogram diff\" algorithm." msgstr "" #. type: Labeled list -#: en/git-clone.txt:150 en/git-push.txt:106 +#: en/diff-options.txt:78 #, no-wrap -msgid "--mirror" +msgid "--diff-algorithm={patience|minimal|histogram|myers}" msgstr "" #. type: Plain text -#: en/git-clone.txt:157 -msgid "" -"Set up a mirror of the source repository. This implies `--bare`. Compared " -"to `--bare`, `--mirror` not only maps local branches of the source to local " -"branches of the target, it maps all refs (including remote-tracking " -"branches, notes etc.) and sets up a refspec configuration such that all " -"these refs are overwritten by a `git remote update` in the target " -"repository." +#: en/diff-options.txt:80 +msgid "Choose a diff algorithm. The variants are as follows:" msgstr "" -#. type: Labeled list -#: en/git-clone.txt:158 -#, no-wrap -msgid "--origin <name>" +#. type: Plain text +#: en/diff-options.txt:97 +msgid "" +"For instance, if you configured diff.algorithm variable to a non-default " +"value and want to use the default one, then you have to use " +"`--diff-algorithm=default` option." msgstr "" #. type: Labeled list -#: en/git-clone.txt:159 +#: en/diff-options.txt:98 #, no-wrap -msgid "-o <name>" +msgid "--stat[=<width>[,<name-width>[,<count>]]]" msgstr "" #. type: Plain text -#: en/git-clone.txt:162 +#: en/diff-options.txt:112 msgid "" -"Instead of using the remote name `origin` to keep track of the upstream " -"repository, use `<name>`." +"Generate a diffstat. By default, as much space as necessary will be used for " +"the filename part, and the rest for the graph part. Maximum width defaults " +"to terminal width, or 80 columns if not connected to a terminal, and can be " +"overridden by `<width>`. The width of the filename part can be limited by " +"giving another width `<name-width>` after a comma. The width of the graph " +"part can be limited by using `--stat-graph-width=<width>` (affects all " +"commands generating a stat graph) or by setting " +"`diff.statGraphWidth=<width>` (does not affect `git format-patch`). By " +"giving a third parameter `<count>`, you can limit the output to the first " +"`<count>` lines, followed by `...` if there are more." msgstr "" -#. type: Labeled list -#: en/git-clone.txt:163 -#, no-wrap -msgid "--branch <name>" +#. type: Plain text +#: en/diff-options.txt:115 +msgid "" +"These parameters can also be set individually with `--stat-width=<width>`, " +"`--stat-name-width=<name-width>` and `--stat-count=<count>`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:164 +#: en/diff-options.txt:116 en/git-apply.txt:45 #, no-wrap -msgid "-b <name>" +msgid "--numstat" msgstr "" #. type: Plain text -#: en/git-clone.txt:171 +#: en/diff-options.txt:122 msgid "" -"Instead of pointing the newly created HEAD to the branch pointed to by the " -"cloned repository's HEAD, point to `<name>` branch instead. In a non-bare " -"repository, this is the branch that will be checked out. `--branch` can " -"also take tags and detaches the HEAD at that commit in the resulting " -"repository." -msgstr "" - -#. type: Labeled list -#: en/git-clone.txt:172 en/fetch-options.txt:152 -#, no-wrap -msgid "--upload-pack <upload-pack>" +"Similar to `--stat`, but shows number of added and deleted lines in decimal " +"notation and pathname without abbreviation, to make it more machine " +"friendly. For binary files, outputs two `-` instead of saying `0 0`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:173 +#: en/diff-options.txt:123 #, no-wrap -msgid "-u <upload-pack>" +msgid "--shortstat" msgstr "" #. type: Plain text -#: en/git-clone.txt:177 +#: en/diff-options.txt:127 msgid "" -"When given, and the repository to clone from is accessed via ssh, this " -"specifies a non-default path for the command run on the other end." +"Output only the last line of the `--stat` format containing total number of " +"modified files, as well as number of added and deleted lines." msgstr "" #. type: Labeled list -#: en/git-clone.txt:178 en/git-init.txt:53 en/git-svn.txt:547 +#: en/diff-options.txt:128 #, no-wrap -msgid "--template=<template_directory>" +msgid "--dirstat[=<param1,param2,...>]" msgstr "" #. type: Plain text -#: en/git-clone.txt:181 +#: en/diff-options.txt:135 msgid "" -"Specify the directory from which templates will be used; (See the \"TEMPLATE " -"DIRECTORY\" section of linkgit:git-init[1].)" +"Output the distribution of relative amount of changes for each " +"sub-directory. The behavior of `--dirstat` can be customized by passing it a " +"comma separated list of parameters. The defaults are controlled by the " +"`diff.dirstat` configuration variable (see linkgit:git-config[1]). The " +"following parameters are available:" msgstr "" -#. type: Labeled list -#: en/git-clone.txt:182 -#, no-wrap -msgid "--config <key>=<value>" +#. type: Plain text +#: en/diff-options.txt:171 +msgid "" +"Example: The following will count changed files, while ignoring directories " +"with less than 10% of the total amount of changed files, and accumulating " +"child directory counts in the parent directories: " +"`--dirstat=files,10,cumulative`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:183 +#: en/diff-options.txt:172 en/git-apply.txt:52 en/git-shortlog.txt:35 en/merge-options.txt:98 #, no-wrap -msgid "-c <key>=<value>" +msgid "--summary" msgstr "" #. type: Plain text -#: en/git-clone.txt:192 +#: en/diff-options.txt:175 msgid "" -"Set a configuration variable in the newly-created repository; this takes " -"effect immediately after the repository is initialized, but before the " -"remote history is fetched or any files checked out. The key is in the same " -"format as expected by linkgit:git-config[1] (e.g., `core.eol=true`). If " -"multiple values are given for the same key, each value will be written to " -"the config file. This makes it safe, for example, to add additional fetch " -"refspecs to the origin remote." +"Output a condensed summary of extended header information such as creations, " +"renames and mode changes." msgstr "" #. type: Labeled list -#: en/git-clone.txt:193 +#: en/diff-options.txt:177 #, no-wrap -msgid "--depth <depth>" +msgid "--patch-with-stat" msgstr "" #. type: Plain text -#: en/git-clone.txt:199 -msgid "" -"Create a 'shallow' clone with a history truncated to the specified number of " -"commits. Implies `--single-branch` unless `--no-single-branch` is given to " -"fetch the histories near the tips of all branches. If you want to clone " -"submodules shallowly, also pass `--shallow-submodules`." +#: en/diff-options.txt:179 +msgid "Synonym for `-p --stat`." msgstr "" #. type: Labeled list -#: en/git-clone.txt:200 en/git-fetch-pack.txt:90 en/fetch-options.txt:22 +#: en/diff-options.txt:183 en/git-apply.txt:107 en/git-check-attr.txt:34 en/git-check-ignore.txt:41 en/git-checkout-index.txt:67 en/git-commit.txt:118 en/git-config.txt:183 en/git-grep.txt:196 en/git-ls-files.txt:79 en/git-ls-tree.txt:55 en/git-mktree.txt:23 en/git-status.txt:100 en/git-update-index.txt:160 #, no-wrap -msgid "--shallow-since=<date>" +msgid "-z" msgstr "" #. type: Plain text -#: en/git-clone.txt:202 -msgid "Create a shallow clone with a history after the specified time." -msgstr "" - -#. type: Labeled list -#: en/git-clone.txt:203 en/git-fetch-pack.txt:94 en/fetch-options.txt:26 +#: en/diff-options.txt:186 #, no-wrap -msgid "--shallow-exclude=<revision>" +msgid "\tSeparate the commits with NULs instead of with new newlines.\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:207 +#: en/diff-options.txt:189 msgid "" -"Create a shallow clone with a history, excluding commits reachable from a " -"specified remote branch or tag. This option can be specified multiple " -"times." +"Also, when `--raw` or `--numstat` has been given, do not munge pathnames and " +"use NULs as output field terminators." msgstr "" -#. type: Labeled list -#: en/git-clone.txt:208 +#. type: Plain text +#: en/diff-options.txt:193 #, no-wrap -msgid "--[no-]single-branch" +msgid "" +"\tWhen `--raw`, `--numstat`, `--name-only` or `--name-status` has been\n" +"\tgiven, do not munge pathnames and use NULs as output field terminators.\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:217 +#: en/diff-options.txt:198 en/git-apply.txt:114 msgid "" -"Clone only the history leading to the tip of a single branch, either " -"specified by the `--branch` option or the primary branch remote's `HEAD` " -"points at. Further fetches into the resulting repository will only update " -"the remote-tracking branch for the branch this option was used for the " -"initial cloning. If the HEAD at the remote did not point at any branch when " -"`--single-branch` clone was made, no remote-tracking branch is created." +"Without this option, pathnames with \"unusual\" characters are quoted as " +"explained for the configuration variable `core.quotePath` (see " +"linkgit:git-config[1])." msgstr "" #. type: Labeled list -#: en/git-clone.txt:218 en/git-submodule.txt:400 +#: en/diff-options.txt:199 en/git-config.txt:192 en/git-grep.txt:178 en/git-ls-tree.txt:59 en/git-name-rev.txt:51 #, no-wrap -msgid "--recursive" +msgid "--name-only" +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:201 +msgid "Show only names of changed files." msgstr "" #. type: Labeled list -#: en/git-clone.txt:219 en/git-grep.txt:92 en/git-ls-files.txt:142 +#: en/diff-options.txt:202 en/git-ls-tree.txt:60 #, no-wrap -msgid "--recurse-submodules" +msgid "--name-status" msgstr "" #. type: Plain text -#: en/git-clone.txt:226 +#: en/diff-options.txt:205 msgid "" -"After the clone is created, initialize all submodules within, using their " -"default settings. This is equivalent to running `git submodule update --init " -"--recursive` immediately after the clone is finished. This option is ignored " -"if the cloned repository does not have a worktree/checkout (i.e. if any of " -"`--no-checkout`/`-n`, `--bare`, or `--mirror` is given)" +"Show only names and status of changed files. See the description of the " +"`--diff-filter` option on what the status letters mean." msgstr "" #. type: Labeled list -#: en/git-clone.txt:227 +#: en/diff-options.txt:206 #, no-wrap -msgid "--[no-]shallow-submodules" +msgid "--submodule[=<format>]" msgstr "" #. type: Plain text -#: en/git-clone.txt:229 -msgid "All submodules which are cloned will be shallow with a depth of 1." +#: en/diff-options.txt:217 +msgid "" +"Specify how differences in submodules are shown. When specifying " +"`--submodule=short` the 'short' format is used. This format just shows the " +"names of the commits at the beginning and end of the range. When " +"`--submodule` or `--submodule=log` is specified, the 'log' format is used. " +"This format lists the commits in the range like linkgit:git-submodule[1] " +"`summary` does. When `--submodule=diff` is specified, the 'diff' format is " +"used. This format shows an inline diff of the changes in the submodule " +"contents between the commit range. Defaults to `diff.submodule` or the " +"'short' format if the config option is unset." msgstr "" #. type: Labeled list -#: en/git-clone.txt:230 en/git-init.txt:58 +#: en/diff-options.txt:218 en/git-branch.txt:114 en/git-grep.txt:206 en/git-show-branch.txt:119 #, no-wrap -msgid "--separate-git-dir=<git dir>" +msgid "--color[=<when>]" msgstr "" #. type: Plain text -#: en/git-clone.txt:236 +#: en/diff-options.txt:222 msgid "" -"Instead of placing the cloned repository where it is supposed to be, place " -"the cloned repository at the specified directory, then make a " -"filesystem-agnostic Git symbolic link to there. The result is Git " -"repository can be separated from working tree." +"Show colored diff. `--color` (i.e. without '=<when>') is the same as " +"`--color=always`. '<when>' can be one of `always`, `never`, or `auto`." msgstr "" -#. type: Labeled list -#: en/git-clone.txt:237 en/git-submodule.txt:417 +#. type: Plain text +#: en/diff-options.txt:225 #, no-wrap -msgid "-j <n>" +msgid "" +"\tIt can be changed by the `color.ui` and `color.diff`\n" +"\tconfiguration settings.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:238 en/git-submodule.txt:418 +#: en/diff-options.txt:227 en/git-branch.txt:119 en/git-grep.txt:210 en/git-show-branch.txt:124 #, no-wrap -msgid "--jobs <n>" +msgid "--no-color" msgstr "" #. type: Plain text -#: en/git-clone.txt:241 -msgid "" -"The number of submodules fetched at the same time. Defaults to the " -"`submodule.fetchJobs` option." +#: en/diff-options.txt:229 +msgid "Turn off colored diff." msgstr "" -#. type: Labeled list -#: en/git-clone.txt:242 en/git-fetch-pack.txt:114 en/git-ls-remote.txt:63 en/git-push.txt:50 en/pull-fetch-param.txt:1 +#. type: Plain text +#: en/diff-options.txt:231 #, no-wrap -msgid "<repository>" +msgid "\tThis can be used to override configuration settings.\n" msgstr "" #. type: Plain text -#: en/git-clone.txt:246 -msgid "" -"The (possibly remote) repository to clone from. See the <<URLS,URLS>> " -"section below for more information on specifying repositories." +#: en/diff-options.txt:233 +#, no-wrap +msgid "\tIt is the same as `--color=never`.\n" msgstr "" #. type: Labeled list -#: en/git-clone.txt:247 en/git-cvsserver.txt:53 en/git-daemon.txt:198 en/git-receive-pack.txt:41 en/git-send-pack.txt:89 en/git-upload-archive.txt:57 en/git-upload-pack.txt:44 +#: en/diff-options.txt:234 #, no-wrap -msgid "<directory>" +msgid "--word-diff[=<mode>]" msgstr "" #. type: Plain text -#: en/git-clone.txt:253 +#: en/diff-options.txt:239 msgid "" -"The name of a new directory to clone into. The \"humanish\" part of the " -"source repository is used if no directory is explicitly given (`repo` for " -"`/path/to/repo.git` and `foo` for `host.xz:foo/.git`). Cloning into an " -"existing directory is only allowed if the directory is empty." +"Show a word diff, using the <mode> to delimit changed words. By default, " +"words are delimited by whitespace; see `--word-diff-regex` below. The " +"<mode> defaults to 'plain', and must be one of:" msgstr "" #. type: Plain text -#: en/git-clone.txt:261 -msgid "Clone from upstream:" +#: en/diff-options.txt:243 +msgid "Highlight changed words using only colors. Implies `--color`." msgstr "" -#. type: delimited block - -#: en/git-clone.txt:266 +#. type: Labeled list +#: en/diff-options.txt:243 #, no-wrap -msgid "" -"$ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux\n" -"$ cd my-linux\n" -"$ make\n" +msgid "plain" msgstr "" #. type: Plain text -#: en/git-clone.txt:270 +#: en/diff-options.txt:247 msgid "" -"Make a local clone that borrows from the current directory, without checking " -"things out:" +"Show words as `[-removed-]` and `{+added+}`. Makes no attempts to escape " +"the delimiters if they appear in the input, so the output may be ambiguous." msgstr "" -#. type: delimited block - -#: en/git-clone.txt:275 +#. type: Labeled list +#: en/diff-options.txt:247 #, no-wrap -msgid "" -"$ git clone -l -s -n . ../copy\n" -"$ cd ../copy\n" -"$ git show-branch\n" +msgid "porcelain" msgstr "" #. type: Plain text -#: en/git-clone.txt:279 -msgid "Clone from upstream while borrowing from an existing local directory:" +#: en/diff-options.txt:254 +msgid "" +"Use a special line-based format intended for script consumption. " +"Added/removed/unchanged runs are printed in the usual unified diff format, " +"starting with a `+`/`-`/` ` character at the beginning of the line and " +"extending to the end of the line. Newlines in the input are represented by " +"a tilde `~` on a line of its own." msgstr "" -#. type: delimited block - -#: en/git-clone.txt:285 +#. type: Labeled list +#: en/diff-options.txt:254 en/git-submodule.txt:195 #, no-wrap -msgid "" -"$ git clone --reference /git/linux.git \\\n" -"\tgit://git.kernel.org/pub/scm/.../linux.git \\\n" -"\tmy-linux\n" -"$ cd my-linux\n" +msgid "none" msgstr "" #. type: Plain text -#: en/git-clone.txt:289 -msgid "Create a bare repository to publish your changes to the public:" +#: en/diff-options.txt:256 +msgid "Disable word diff again." msgstr "" -#. type: delimited block - -#: en/git-clone.txt:292 -#, no-wrap -msgid "$ git clone --bare -l /home/proj/.git /pub/scm/proj.git\n" +#. type: Plain text +#: en/diff-options.txt:260 +msgid "" +"Note that despite the name of the first mode, color is used to highlight the " +"changed parts in all modes if enabled." msgstr "" -#. type: Title = -#: en/git-column.txt:2 +#. type: Labeled list +#: en/diff-options.txt:261 #, no-wrap -msgid "git-column(1)" +msgid "--word-diff-regex=<regex>" msgstr "" #. type: Plain text -#: en/git-column.txt:7 -msgid "git-column - Display data in columns" +#: en/diff-options.txt:265 +msgid "" +"Use <regex> to decide what a word is, instead of considering runs of " +"non-whitespace to be a word. Also implies `--word-diff` unless it was " +"already enabled." msgstr "" #. type: Plain text -#: en/git-column.txt:13 -#, no-wrap +#: en/diff-options.txt:273 msgid "" -"'git column' [--command=<name>] [--[raw-]mode=<mode>] [--width=<width>]\n" -"\t [--indent=<string>] [--nl=<string>] [--padding=<n>]\n" +"Every non-overlapping match of the <regex> is considered a word. Anything " +"between these matches is considered whitespace and ignored(!) for the " +"purposes of finding differences. You may want to append `|[^[:space:]]` to " +"your regular expression to make sure that it matches all non-whitespace " +"characters. A match that contains a newline is silently truncated(!) at the " +"newline." msgstr "" #. type: Plain text -#: en/git-column.txt:17 -msgid "This command formats its input into multiple columns." -msgstr "" - -#. type: Labeled list -#: en/git-column.txt:20 -#, no-wrap -msgid "--command=<name>" +#: en/diff-options.txt:276 +msgid "" +"For example, `--word-diff-regex=.` will treat each character as a word and, " +"correspondingly, show differences character by character." msgstr "" #. type: Plain text -#: en/git-column.txt:23 +#: en/diff-options.txt:281 msgid "" -"Look up layout mode using configuration variable column.<name> and " -"column.ui." +"The regex can also be set via a diff driver or configuration option, see " +"linkgit:gitattributes[5] or linkgit:git-config[1]. Giving it explicitly " +"overrides any diff driver or configuration setting. Diff drivers override " +"configuration settings." msgstr "" #. type: Labeled list -#: en/git-column.txt:24 +#: en/diff-options.txt:282 #, no-wrap -msgid "--mode=<mode>" +msgid "--color-words[=<regex>]" msgstr "" #. type: Plain text -#: en/git-column.txt:27 -msgid "Specify layout mode. See configuration variable column.ui for option syntax." +#: en/diff-options.txt:285 +msgid "" +"Equivalent to `--word-diff=color` plus (if a regex was specified) " +"`--word-diff-regex=<regex>`." msgstr "" #. type: Labeled list -#: en/git-column.txt:28 +#: en/diff-options.txt:287 #, no-wrap -msgid "--raw-mode=<n>" +msgid "--no-renames" msgstr "" #. type: Plain text -#: en/git-column.txt:31 +#: en/diff-options.txt:290 msgid "" -"Same as --mode but take mode encoded as a number. This is mainly used by " -"other commands that have already parsed layout mode." +"Turn off rename detection, even when the configuration file gives the " +"default to do so." msgstr "" #. type: Labeled list -#: en/git-column.txt:32 +#: en/diff-options.txt:292 en/git-apply.txt:58 #, no-wrap -msgid "--width=<width>" +msgid "--check" msgstr "" #. type: Plain text -#: en/git-column.txt:35 +#: en/diff-options.txt:301 msgid "" -"Specify the terminal width. By default 'git column' will detect the terminal " -"width, or fall back to 80 if it is unable to do so." -msgstr "" - -#. type: Labeled list -#: en/git-column.txt:36 -#, no-wrap -msgid "--indent=<string>" -msgstr "" - -#. type: Plain text -#: en/git-column.txt:38 -msgid "String to be printed at the beginning of each line." +"Warn if changes introduce conflict markers or whitespace errors. What are " +"considered whitespace errors is controlled by `core.whitespace` " +"configuration. By default, trailing whitespaces (including lines that " +"solely consist of whitespaces) and a space character that is immediately " +"followed by a tab character inside the initial indent of the line are " +"considered whitespace errors. Exits with non-zero status if problems are " +"found. Not compatible with --exit-code." msgstr "" #. type: Labeled list -#: en/git-column.txt:39 +#: en/diff-options.txt:302 #, no-wrap -msgid "--nl=<N>" +msgid "--ws-error-highlight=<kind>" msgstr "" #. type: Plain text -#: en/git-column.txt:42 -msgid "String to be printed at the end of each line, including newline character." +#: en/diff-options.txt:312 +msgid "" +"Highlight whitespace errors on lines specified by <kind> in the color " +"specified by `color.diff.whitespace`. <kind> is a comma separated list of " +"`old`, `new`, `context`. When this option is not given, only whitespace " +"errors in `new` lines are highlighted. E.g. `--ws-error-highlight=new,old` " +"highlights whitespace errors on both deleted and added lines. `all` can be " +"used as a short-hand for `old,new,context`. The `diff.wsErrorHighlight` " +"configuration variable can be used to specify the default behaviour." msgstr "" #. type: Labeled list -#: en/git-column.txt:43 +#: en/diff-options.txt:315 #, no-wrap -msgid "--padding=<N>" +msgid "--full-index" msgstr "" #. type: Plain text -#: en/git-column.txt:45 -msgid "The number of spaces between columns. One space by default." +#: en/diff-options.txt:319 +msgid "" +"Instead of the first handful of characters, show the full pre- and " +"post-image blob object names on the \"index\" line when generating patch " +"format output." msgstr "" -#. type: Title = -#: en/git-commit.txt:2 +#. type: Labeled list +#: en/diff-options.txt:320 en/git-apply.txt:150 #, no-wrap -msgid "git-commit(1)" +msgid "--binary" msgstr "" #. type: Plain text -#: en/git-commit.txt:7 -msgid "git-commit - Record changes to the repository" +#: en/diff-options.txt:323 +msgid "" +"In addition to `--full-index`, output a binary diff that can be applied with " +"`git-apply`." msgstr "" -#. type: Plain text -#: en/git-commit.txt:17 +#. type: Labeled list +#: en/diff-options.txt:324 en/git-ls-files.txt:146 en/git-ls-tree.txt:63 en/git-show-ref.txt:65 #, no-wrap -msgid "" -"'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n" -"\t [--dry-run] [(-c | -C | --fixup | --squash) <commit>]\n" -"\t [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n" -"\t [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n" -"\t [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n" -"\t [-i | -o] [-S[<keyid>]] [--] [<file>...]\n" +msgid "--abbrev[=<n>]" msgstr "" #. type: Plain text -#: en/git-commit.txt:22 +#: en/diff-options.txt:331 msgid "" -"Stores the current contents of the index in a new commit along with a log " -"message from the user describing the changes." +"Instead of showing the full 40-byte hexadecimal object name in diff-raw " +"format output and diff-tree header lines, show only a partial prefix. This " +"is independent of the `--full-index` option above, which controls the " +"diff-patch output format. Non default number of digits can be specified " +"with `--abbrev=<n>`." msgstr "" -#. type: Plain text -#: en/git-commit.txt:24 -msgid "The content to be added can be specified in several ways:" +#. type: Labeled list +#: en/diff-options.txt:332 +#, no-wrap +msgid "-B[<n>][/<m>]" msgstr "" -#. type: Plain text -#: en/git-commit.txt:28 -msgid "" -"by using 'git add' to incrementally \"add\" changes to the index before " -"using the 'commit' command (Note: even modified files must be \"added\");" +#. type: Labeled list +#: en/diff-options.txt:333 +#, no-wrap +msgid "--break-rewrites[=[<n>][/<m>]]" msgstr "" #. type: Plain text -#: en/git-commit.txt:31 +#: en/diff-options.txt:336 msgid "" -"by using 'git rm' to remove files from the working tree and the index, again " -"before using the 'commit' command;" +"Break complete rewrite changes into pairs of delete and create. This serves " +"two purposes:" msgstr "" #. type: Plain text -#: en/git-commit.txt:37 +#: en/diff-options.txt:346 msgid "" -"by listing files as arguments to the 'commit' command (without --interactive " -"or --patch switch), in which case the commit will ignore changes staged in " -"the index, and instead record the current content of the listed files (which " -"must already be known to Git);" +"It affects the way a change that amounts to a total rewrite of a file not as " +"a series of deletion and insertion mixed together with a very few lines that " +"happen to match textually as the context, but as a single deletion of " +"everything old followed by a single insertion of everything new, and the " +"number `m` controls this aspect of the -B option (defaults to 60%). `-B/70%` " +"specifies that less than 30% of the original should remain in the result for " +"Git to consider it a total rewrite (i.e. otherwise the resulting patch will " +"be a series of deletion and insertion mixed together with context lines)." msgstr "" #. type: Plain text -#: en/git-commit.txt:43 +#: en/diff-options.txt:354 msgid "" -"by using the -a switch with the 'commit' command to automatically \"add\" " -"changes from all known files (i.e. all files that are already listed in the " -"index) and to automatically \"rm\" files in the index that have been removed " -"from the working tree, and then perform the actual commit;" +"When used with -M, a totally-rewritten file is also considered as the source " +"of a rename (usually -M only considers a file that disappeared as the source " +"of a rename), and the number `n` controls this aspect of the -B option " +"(defaults to 50%). `-B20%` specifies that a change with addition and " +"deletion compared to 20% or more of the file's size are eligible for being " +"picked up as a possible source of a rename to another file." msgstr "" -#. type: Plain text -#: en/git-commit.txt:49 -msgid "" -"by using the --interactive or --patch switches with the 'commit' command to " -"decide one by one which files or hunks should be part of the commit in " -"addition to contents in the index, before finalizing the operation. See the " -"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " -"these modes." +#. type: Labeled list +#: en/diff-options.txt:355 +#, no-wrap +msgid "-M[<n>]" msgstr "" -#. type: Plain text -#: en/git-commit.txt:53 -msgid "" -"The `--dry-run` option can be used to obtain a summary of what is included " -"by any of the above for the next commit by giving the same set of parameters " -"(options and paths)." +#. type: Labeled list +#: en/diff-options.txt:356 +#, no-wrap +msgid "--find-renames[=<n>]" msgstr "" #. type: Plain text -#: en/git-commit.txt:56 -msgid "" -"If you make a commit and then find a mistake immediately after that, you can " -"recover from it with 'git reset'." +#: en/diff-options.txt:359 +#, no-wrap +msgid "\tDetect renames.\n" msgstr "" #. type: Plain text -#: en/git-commit.txt:65 +#: en/diff-options.txt:364 +#, no-wrap msgid "" -"Tell the command to automatically stage files that have been modified and " -"deleted, but new files you have not told Git about are not affected." +"\tIf generating diffs, detect and report renames for each commit.\n" +"\tFor following files across renames while traversing history, see\n" +"\t`--follow`.\n" msgstr "" #. type: Plain text -#: en/git-commit.txt:71 +#: en/diff-options.txt:374 +#, no-wrap msgid "" -"Use the interactive patch selection interface to chose which changes to " -"commit. See linkgit:git-add[1] for details." +"\tIf `n` is specified, it is a threshold on the similarity\n" +"\tindex (i.e. amount of addition/deletions compared to the\n" +"\tfile's size). For example, `-M90%` means Git should consider a\n" +"\tdelete/add pair to be a rename if more than 90% of the file\n" +"\thasn't changed. Without a `%` sign, the number is to be read as\n" +"\ta fraction, with a decimal point before it. I.e., `-M5` becomes\n" +"\t0.5, and is thus the same as `-M50%`. Similarly, `-M05` is\n" +"\tthe same as `-M5%`. To limit detection to exact renames, use\n" +"\t`-M100%`. The default similarity index is 50%.\n" msgstr "" #. type: Labeled list -#: en/git-commit.txt:72 +#: en/diff-options.txt:375 #, no-wrap -msgid "-C <commit>" +msgid "-C[<n>]" msgstr "" #. type: Labeled list -#: en/git-commit.txt:73 +#: en/diff-options.txt:376 #, no-wrap -msgid "--reuse-message=<commit>" +msgid "--find-copies[=<n>]" msgstr "" #. type: Plain text -#: en/git-commit.txt:77 +#: en/diff-options.txt:379 msgid "" -"Take an existing commit object, and reuse the log message and the authorship " -"information (including the timestamp) when creating the commit." -msgstr "" - -#. type: Labeled list -#: en/git-commit.txt:78 -#, no-wrap -msgid "-c <commit>" +"Detect copies as well as renames. See also `--find-copies-harder`. If `n` " +"is specified, it has the same meaning as for `-M<n>`." msgstr "" #. type: Labeled list -#: en/git-commit.txt:79 +#: en/diff-options.txt:380 en/git-svn.txt:595 #, no-wrap -msgid "--reedit-message=<commit>" +msgid "--find-copies-harder" msgstr "" #. type: Plain text -#: en/git-commit.txt:82 +#: en/diff-options.txt:388 msgid "" -"Like '-C', but with `-c` the editor is invoked, so that the user can further " -"edit the commit message." +"For performance reasons, by default, `-C` option finds copies only if the " +"original file of the copy was modified in the same changeset. This flag " +"makes the command inspect unmodified files as candidates for the source of " +"copy. This is a very expensive operation for large projects, so use it with " +"caution. Giving more than one `-C` option has the same effect." msgstr "" #. type: Labeled list -#: en/git-commit.txt:83 +#: en/diff-options.txt:389 en/git-branch.txt:84 en/git-http-push.txt:45 #, no-wrap -msgid "--fixup=<commit>" -msgstr "" - -#. type: Plain text -#: en/git-commit.txt:88 -msgid "" -"Construct a commit message for use with `rebase --autosquash`. The commit " -"message will be the subject line from the specified commit with a prefix of " -"\"fixup! \". See linkgit:git-rebase[1] for details." +msgid "-D" msgstr "" #. type: Labeled list -#: en/git-commit.txt:89 +#: en/diff-options.txt:390 #, no-wrap -msgid "--squash=<commit>" +msgid "--irreversible-delete" msgstr "" #. type: Plain text -#: en/git-commit.txt:95 +#: en/diff-options.txt:398 msgid "" -"Construct a commit message for use with `rebase --autosquash`. The commit " -"message subject line is taken from the specified commit with a prefix of " -"\"squash! \". Can be used with additional commit message options " -"(`-m`/`-c`/`-C`/`-F`). See linkgit:git-rebase[1] for details." -msgstr "" - -#. type: Labeled list -#: en/git-commit.txt:96 -#, no-wrap -msgid "--reset-author" +"Omit the preimage for deletes, i.e. print only the header but not the diff " +"between the preimage and `/dev/null`. The resulting patch is not meant to be " +"applied with `patch` or `git apply`; this is solely for people who want to " +"just concentrate on reviewing the text after the change. In addition, the " +"output obviously lack enough information to apply such a patch in reverse, " +"even manually, hence the name of the option." msgstr "" #. type: Plain text -#: en/git-commit.txt:101 +#: en/diff-options.txt:401 msgid "" -"When used with -C/-c/--amend options, or when committing after a a " -"conflicting cherry-pick, declare that the authorship of the resulting commit " -"now belongs to the committer. This also renews the author timestamp." +"When used together with `-B`, omit also the preimage in the deletion part of " +"a delete/create pair." msgstr "" #. type: Labeled list -#: en/git-commit.txt:102 en/git-rev-parse.txt:139 en/git-status.txt:28 en/git-symbolic-ref.txt:45 +#: en/diff-options.txt:402 en/git-svn.txt:594 #, no-wrap -msgid "--short" +msgid "-l<num>" msgstr "" #. type: Plain text -#: en/git-commit.txt:105 +#: en/diff-options.txt:408 msgid "" -"When doing a dry-run, give the output in the short-format. See " -"linkgit:git-status[1] for details. Implies `--dry-run`." +"The `-M` and `-C` options require O(n^2) processing time where n is the " +"number of potential rename/copy targets. This option prevents rename/copy " +"detection from running if the number of rename/copy targets exceeds the " +"specified number." msgstr "" #. type: Labeled list -#: en/git-commit.txt:106 en/git-status.txt:32 en/git-submodule.txt:280 +#: en/diff-options.txt:410 #, no-wrap -msgid "--branch" +msgid "--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "" #. type: Plain text -#: en/git-commit.txt:108 en/git-status.txt:34 -msgid "Show the branch and tracking info even in short-format." -msgstr "" - -#. type: Labeled list -#: en/git-commit.txt:109 en/git-push.txt:121 en/git-worktree.txt:115 en/blame-options.txt:40 -#, no-wrap -msgid "--porcelain" +#: en/diff-options.txt:421 +msgid "" +"Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), " +"Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, " +"submodule, ...) changed (`T`), are Unmerged (`U`), are Unknown (`X`), or " +"have had their pairing Broken (`B`). Any combination of the filter " +"characters (including none) can be used. When `*` (All-or-none) is added to " +"the combination, all paths are selected if there is any file that matches " +"other criteria in the comparison; if there is no file that matches other " +"criteria, nothing is selected." msgstr "" #. type: Plain text -#: en/git-commit.txt:113 +#: en/diff-options.txt:424 msgid "" -"When doing a dry-run, give the output in a porcelain-ready format. See " -"linkgit:git-status[1] for details. Implies `--dry-run`." +"Also, these upper-case letters can be downcased to exclude. E.g. " +"`--diff-filter=ad` excludes added and deleted paths." msgstr "" #. type: Labeled list -#: en/git-commit.txt:114 en/git-describe.txt:74 en/git-ls-tree.txt:52 en/git-status.txt:44 +#: en/diff-options.txt:425 #, no-wrap -msgid "--long" +msgid "-S<string>" msgstr "" #. type: Plain text -#: en/git-commit.txt:117 +#: en/diff-options.txt:429 msgid "" -"When doing a dry-run, give the output in a the long-format. Implies " -"`--dry-run`." -msgstr "" - -#. type: Labeled list -#: en/git-commit.txt:119 en/git-config.txt:184 en/git-grep.txt:197 -#, no-wrap -msgid "--null" +"Look for differences that change the number of occurrences of the specified " +"string (i.e. addition/deletion) in a file. Intended for the scripter's use." msgstr "" #. type: Plain text -#: en/git-commit.txt:126 +#: en/diff-options.txt:435 msgid "" -"When showing `short` or `porcelain` status output, print the filename " -"verbatim and terminate the entries with NUL, instead of LF. If no format is " -"given, implies the `--porcelain` output format. Without the `-z` option, " -"filenames with \"unusual\" characters are quoted as explained for the " -"configuration variable `core.quotePath` (see linkgit:git-config[1])." +"It is useful when you're looking for an exact block of code (like a struct), " +"and want to know the history of that block since it first came into being: " +"use the feature iteratively to feed the interesting block in the preimage " +"back into `-S`, and keep going until you get the very first version of the " +"block." msgstr "" #. type: Labeled list -#: en/git-commit.txt:127 en/git-commit-tree.txt:53 en/git-fmt-merge-msg.txt:47 en/git-notes.txt:140 en/git-tag.txt:138 +#: en/diff-options.txt:436 #, no-wrap -msgid "-F <file>" +msgid "-G<regex>" msgstr "" -#. type: Labeled list -#: en/git-commit.txt:128 en/git-notes.txt:141 en/git-tag.txt:139 -#, no-wrap -msgid "--file=<file>" +#. type: Plain text +#: en/diff-options.txt:439 +msgid "" +"Look for differences whose patch text contains added/removed lines that " +"match <regex>." msgstr "" #. type: Plain text -#: en/git-commit.txt:131 +#: en/diff-options.txt:443 msgid "" -"Take the commit message from the given file. Use '-' to read the message " -"from the standard input." +"To illustrate the difference between `-S<regex> --pickaxe-regex` and " +"`-G<regex>`, consider a commit with the following diff in the same file:" msgstr "" -#. type: Labeled list -#: en/git-commit.txt:132 +#. type: delimited block - +#: en/diff-options.txt:448 #, no-wrap -msgid "--author=<author>" +msgid "" +"+ return !regexec(regexp, two->ptr, 1, ®match, 0);\n" +"...\n" +"- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);\n" msgstr "" #. type: Plain text -#: en/git-commit.txt:138 +#: en/diff-options.txt:453 msgid "" -"Override the commit author. Specify an explicit author using the standard `A " -"U Thor <author@example.com>` format. Otherwise <author> is assumed to be a " -"pattern and is used to search for an existing commit by that author " -"(i.e. rev-list --all -i --author=<author>); the commit author is then copied " -"from the first such commit found." -msgstr "" - -#. type: Labeled list -#: en/git-commit.txt:139 -#, no-wrap -msgid "--date=<date>" +"While `git log -G\"regexec\\(regexp\"` will show this commit, `git log " +"-S\"regexec\\(regexp\" --pickaxe-regex` will not (because the number of " +"occurrences of that string did not change)." msgstr "" #. type: Plain text -#: en/git-commit.txt:141 -msgid "Override the author date used in the commit." +#: en/diff-options.txt:456 +msgid "See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more information." msgstr "" #. type: Labeled list -#: en/git-commit.txt:142 en/git-merge.txt:78 en/git-notes.txt:132 en/git-tag.txt:130 +#: en/diff-options.txt:457 #, no-wrap -msgid "-m <msg>" +msgid "--pickaxe-all" +msgstr "" + +#. type: Plain text +#: en/diff-options.txt:461 +msgid "" +"When `-S` or `-G` finds a change, show all the changes in that changeset, " +"not just the files that contain the change in <string>." msgstr "" #. type: Labeled list -#: en/git-commit.txt:143 en/git-notes.txt:133 en/git-tag.txt:131 +#: en/diff-options.txt:462 #, no-wrap -msgid "--message=<msg>" +msgid "--pickaxe-regex" msgstr "" #. type: Plain text -#: en/git-commit.txt:147 +#: en/diff-options.txt:465 msgid "" -"Use the given <msg> as the commit message. If multiple `-m` options are " -"given, their values are concatenated as separate paragraphs." +"Treat the <string> given to `-S` as an extended POSIX regular expression to " +"match." msgstr "" #. type: Labeled list -#: en/git-commit.txt:148 +#: en/diff-options.txt:467 en/git-mergetool.txt:82 #, no-wrap -msgid "-t <file>" +msgid "-O<orderfile>" msgstr "" -#. type: Labeled list -#: en/git-commit.txt:149 -#, no-wrap -msgid "--template=<file>" +#. type: Plain text +#: en/diff-options.txt:472 +msgid "" +"Control the order in which files appear in the output. This overrides the " +"`diff.orderFile` configuration variable (see linkgit:git-config[1]). To " +"cancel `diff.orderFile`, use `-O/dev/null`." msgstr "" #. type: Plain text -#: en/git-commit.txt:158 +#: en/diff-options.txt:484 msgid "" -"When editing the commit message, start the editor with the contents in the " -"given file. The `commit.template` configuration variable is often used to " -"give this option implicitly to the command. This mechanism can be used by " -"projects that want to guide participants with some hints on what to write in " -"the message in what order. If the user exits the editor without editing the " -"message, the commit is aborted. This has no effect when a message is given " -"by other means, e.g. with the `-m` or `-F` options." +"The output order is determined by the order of glob patterns in " +"<orderfile>. All files with pathnames that match the first pattern are " +"output first, all files with pathnames that match the second pattern (but " +"not the first) are output next, and so on. All files with pathnames that do " +"not match any pattern are output last, as if there was an implicit match-all " +"pattern at the end of the file. If multiple pathnames have the same rank " +"(they match the same pattern but no earlier patterns), their output order " +"relative to each other is the normal order." msgstr "" #. type: Plain text -#: en/git-commit.txt:167 -msgid "" -"Add Signed-off-by line by the committer at the end of the commit log " -"message. The meaning of a signoff depends on the project, but it typically " -"certifies that committer has the rights to submit this work under the same " -"license and agrees to a Developer Certificate of Origin (see " -"http://developercertificate.org/ for more information)." +#: en/diff-options.txt:486 +msgid "<orderfile> is parsed as follows:" msgstr "" -#. type: Labeled list -#: en/git-commit.txt:169 en/git-rebase.txt:322 -#, no-wrap -msgid "--no-verify" +#. type: Plain text +#: en/diff-options.txt:490 +msgid "Blank lines are ignored, so they can be used as separators for readability." msgstr "" #. type: Plain text -#: en/git-commit.txt:172 +#: en/diff-options.txt:494 msgid "" -"This option bypasses the pre-commit and commit-msg hooks. See also " -"linkgit:githooks[5]." +"Lines starting with a hash (\"`#`\") are ignored, so they can be used for " +"comments. Add a backslash (\"`\\`\") to the beginning of the pattern if it " +"starts with a hash." msgstr "" #. type: Plain text -#: en/git-commit.txt:178 -msgid "" -"Usually recording a commit that has the exact same tree as its sole parent " -"commit is a mistake, and the command prevents you from making such a " -"commit. This option bypasses the safety, and is primarily for use by " -"foreign SCM interface scripts." +#: en/diff-options.txt:496 +msgid "Each other line contains a single pattern." msgstr "" #. type: Plain text -#: en/git-commit.txt:184 +#: en/diff-options.txt:503 msgid "" -"Like --allow-empty this command is primarily for use by foreign SCM " -"interface scripts. It allows you to create a commit with an empty commit " -"message without using plumbing commands like linkgit:git-commit-tree[1]." +"Patterns have the same syntax and semantics as patterns used for fnmantch(3) " +"without the FNM_PATHNAME flag, except a pathname also matches a pattern if " +"removing any number of the final pathname components matches the pattern. " +"For example, the pattern \"`foo*bar`\" matches \"`fooasdfbar`\" and " +"\"`foo/bar/baz/asdf`\" but not \"`foobarx`\"." msgstr "" #. type: Labeled list -#: en/git-commit.txt:185 en/git-tag.txt:145 +#: en/diff-options.txt:505 en/git-apply.txt:96 en/git-cvsimport.txt:168 #, no-wrap -msgid "--cleanup=<mode>" +msgid "-R" msgstr "" #. type: Plain text -#: en/git-commit.txt:189 +#: en/diff-options.txt:508 msgid "" -"This option determines how the supplied commit message should be cleaned up " -"before committing. The '<mode>' can be `strip`, `whitespace`, `verbatim`, " -"`scissors` or `default`." +"Swap two inputs; that is, show differences from index or on-disk file to " +"tree contents." msgstr "" #. type: Labeled list -#: en/git-commit.txt:191 +#: en/diff-options.txt:509 #, no-wrap -msgid "strip" +msgid "--relative[=<path>]" msgstr "" #. type: Plain text -#: en/git-commit.txt:194 +#: en/diff-options.txt:516 msgid "" -"Strip leading and trailing empty lines, trailing whitespace, commentary and " -"collapse consecutive empty lines." +"When run from a subdirectory of the project, it can be told to exclude " +"changes outside the directory and show pathnames relative to it with this " +"option. When you are not in a subdirectory (e.g. in a bare repository), you " +"can name which subdirectory to make the output relative to by giving a " +"<path> as an argument." msgstr "" #. type: Labeled list -#: en/git-commit.txt:194 +#: en/diff-options.txt:518 en/fetch-options.txt:4 en/git-archimport.txt:98 en/git-branch.txt:140 en/git-checkout-index.txt:38 en/git-commit.txt:60 en/git-cvsexportcommit.txt:45 en/git-cvsimport.txt:135 en/git-grep.txt:105 en/git-help.txt:41 en/git-http-fetch.txt:31 en/git-merge-base.txt:71 en/git-merge-index.txt:26 en/git-repack.txt:31 en/git-show-branch.txt:47 en/git-tag.txt:59 #, no-wrap -msgid "whitespace" +msgid "-a" +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:519 en/git-grep.txt:106 +#, no-wrap +msgid "--text" msgstr "" #. type: Plain text -#: en/git-commit.txt:196 -msgid "Same as `strip` except #commentary is not removed." +#: en/diff-options.txt:521 +msgid "Treat all files as text." msgstr "" #. type: Labeled list -#: en/git-commit.txt:196 +#: en/diff-options.txt:522 #, no-wrap -msgid "verbatim" +msgid "--ignore-space-at-eol" msgstr "" #. type: Plain text -#: en/git-commit.txt:198 -msgid "Do not change the message at all." +#: en/diff-options.txt:524 +msgid "Ignore changes in whitespace at EOL." msgstr "" #. type: Labeled list -#: en/git-commit.txt:198 +#: en/diff-options.txt:526 en/git-am.txt:102 en/git-apply.txt:172 #, no-wrap -msgid "scissors" +msgid "--ignore-space-change" msgstr "" #. type: Plain text -#: en/git-commit.txt:204 +#: en/diff-options.txt:530 msgid "" -"Same as `whitespace`, except that everything from (and including) the line " -"\"`# ------------------------ >8 ------------------------`\" is truncated if " -"the message is to be edited. \"`#`\" can be customized with " -"core.commentChar." +"Ignore changes in amount of whitespace. This ignores whitespace at line " +"end, and considers all other sequences of one or more whitespace characters " +"to be equivalent." msgstr "" #. type: Labeled list -#: en/git-commit.txt:204 +#: en/diff-options.txt:531 en/git-blame.txt:83 en/git-cvsexportcommit.txt:71 en/git-grep.txt:131 en/git-hash-object.txt:31 en/git-help.txt:66 #, no-wrap -msgid "default" +msgid "-w" msgstr "" -#. type: Plain text -#: en/git-commit.txt:207 -msgid "Same as `strip` if the message is to be edited. Otherwise `whitespace`." +#. type: Labeled list +#: en/diff-options.txt:532 +#, no-wrap +msgid "--ignore-all-space" msgstr "" #. type: Plain text -#: en/git-commit.txt:211 -msgid "" -"The default can be changed by the `commit.cleanup` configuration variable " -"(see linkgit:git-config[1])." -msgstr "" - -#. type: Plain text -#: en/git-commit.txt:218 +#: en/diff-options.txt:536 msgid "" -"The message taken from file with `-F`, command line with `-m`, and from " -"commit object with `-C` are usually used as the commit log message " -"unmodified. This option lets you further edit the message taken from these " -"sources." +"Ignore whitespace when comparing lines. This ignores differences even if " +"one line has whitespace where the other line has none." msgstr "" #. type: Labeled list -#: en/git-commit.txt:219 en/git-revert.txt:65 en/merge-options.txt:12 +#: en/diff-options.txt:537 #, no-wrap -msgid "--no-edit" +msgid "--ignore-blank-lines" msgstr "" #. type: Plain text -#: en/git-commit.txt:223 -msgid "" -"Use the selected commit message without launching an editor. For example, " -"`git commit --amend --no-edit` amends a commit without changing its commit " -"message." +#: en/diff-options.txt:539 +msgid "Ignore changes whose lines are all blank." msgstr "" #. type: Labeled list -#: en/git-commit.txt:224 +#: en/diff-options.txt:540 #, no-wrap -msgid "--amend" +msgid "--inter-hunk-context=<lines>" msgstr "" #. type: Plain text -#: en/git-commit.txt:234 +#: en/diff-options.txt:545 msgid "" -"Replace the tip of the current branch by creating a new commit. The recorded " -"tree is prepared as usual (including the effect of the `-i` and `-o` options " -"and explicit pathspec), and the message from the original commit is used as " -"the starting point, instead of an empty message, when no other message is " -"specified from the command line via options such as `-m`, `-F`, `-c`, etc. " -"The new commit has the same parents and author as the current one (the " -"`--reset-author` option can countermand this)." +"Show the context between diff hunks, up to the specified number of lines, " +"thereby fusing hunks that are close to each other. Defaults to " +"`diff.interHunkContext` or 0 if the config option is unset." msgstr "" -#. type: Plain text -#: en/git-commit.txt:237 -msgid "It is a rough equivalent for:" +#. type: Labeled list +#: en/diff-options.txt:546 en/git-cvsexportcommit.txt:77 en/git-grep.txt:246 +#, no-wrap +msgid "-W" msgstr "" -#. type: delimited block - -#: en/git-commit.txt:241 +#. type: Labeled list +#: en/diff-options.txt:547 en/git-grep.txt:247 #, no-wrap -msgid "" -"\t$ git reset --soft HEAD^\n" -"\t$ ... do something else to come up with the right tree ...\n" -"\t$ git commit -c ORIG_HEAD\n" +msgid "--function-context" msgstr "" #. type: Plain text -#: en/git-commit.txt:244 -msgid "but can be used to amend a merge commit." +#: en/diff-options.txt:549 +msgid "Show whole surrounding functions of changes." +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:552 en/git-ls-remote.txt:46 +#, no-wrap +msgid "--exit-code" msgstr "" #. type: Plain text -#: en/git-commit.txt:249 +#: en/diff-options.txt:556 msgid "" -"You should understand the implications of rewriting history if you amend a " -"commit that has already been published. (See the \"RECOVERING FROM UPSTREAM " -"REBASE\" section in linkgit:git-rebase[1].)" +"Make the program exit with codes similar to diff(1). That is, it exits with " +"1 if there were differences and 0 means no differences." msgstr "" #. type: Labeled list -#: en/git-commit.txt:250 +#: en/diff-options.txt:557 en/fetch-options.txt:160 en/git-am.txt:74 en/git-branch.txt:158 en/git-checkout-index.txt:31 en/git-checkout.txt:107 en/git-clean.txt:52 en/git-clone.txt:118 en/git-commit.txt:307 en/git-fast-import.txt:42 en/git-fetch-pack.txt:49 en/git-format-patch.txt:261 en/git-gc.txt:74 en/git-grep.txt:281 en/git-imap-send.txt:37 en/git-init.txt:44 en/git-ls-remote.txt:37 en/git-notes.txt:207 en/git-prune-packed.txt:37 en/git-pull.txt:78 en/git-push.txt:259 en/git-rebase.txt:307 en/git-reset.txt:97 en/git-rev-parse.txt:114 en/git-rm.txt:67 en/git-send-email.txt:371 en/git-show-ref.txt:71 en/git-submodule.txt:272 en/git-svn.txt:633 en/git-symbolic-ref.txt:40 en/merge-options.txt:105 en/rev-list-options.txt:201 #, no-wrap -msgid "--no-post-rewrite" +msgid "--quiet" msgstr "" #. type: Plain text -#: en/git-commit.txt:252 -msgid "Bypass the post-rewrite hook." +#: en/diff-options.txt:559 +msgid "Disable all output of the program. Implies `--exit-code`." msgstr "" #. type: Labeled list -#: en/git-commit.txt:254 +#: en/diff-options.txt:562 #, no-wrap -msgid "--include" +msgid "--ext-diff" msgstr "" #. type: Plain text -#: en/git-commit.txt:259 +#: en/diff-options.txt:566 msgid "" -"Before making a commit out of staged contents so far, stage the contents of " -"paths given on the command line as well. This is usually not what you want " -"unless you are concluding a conflicted merge." +"Allow an external diff helper to be executed. If you set an external diff " +"driver with linkgit:gitattributes[5], you need to use this option with " +"linkgit:git-log[1] and friends." msgstr "" #. type: Labeled list -#: en/git-commit.txt:261 +#: en/diff-options.txt:567 #, no-wrap -msgid "--only" +msgid "--no-ext-diff" msgstr "" #. type: Plain text -#: en/git-commit.txt:273 -msgid "" -"Make a commit by taking the updated working tree contents of the paths " -"specified on the command line, disregarding any contents that have been " -"staged for other paths. This is the default mode of operation of 'git " -"commit' if any paths are given on the command line, in which case this " -"option can be omitted. If this option is specified together with `--amend`, " -"then no paths need to be specified, which can be used to amend the last " -"commit without committing changes that have already been staged. If used " -"together with `--allow-empty` paths are also not required, and an empty " -"commit will be created." +#: en/diff-options.txt:569 +msgid "Disallow external diff drivers." msgstr "" #. type: Labeled list -#: en/git-commit.txt:274 en/git-status.txt:55 +#: en/diff-options.txt:570 en/git-cat-file.txt:59 en/git-grep.txt:109 #, no-wrap -msgid "-u[<mode>]" +msgid "--textconv" msgstr "" #. type: Labeled list -#: en/git-commit.txt:275 en/git-status.txt:56 +#: en/diff-options.txt:571 en/git-grep.txt:112 #, no-wrap -msgid "--untracked-files[=<mode>]" +msgid "--no-textconv" msgstr "" #. type: Plain text -#: en/git-commit.txt:277 en/git-status.txt:58 -msgid "Show untracked files." +#: en/diff-options.txt:580 +msgid "" +"Allow (or disallow) external text conversion filters to be run when " +"comparing binary files. See linkgit:gitattributes[5] for details. Because " +"textconv filters are typically a one-way conversion, the resulting diff is " +"suitable for human consumption, but cannot be applied. For this reason, " +"textconv filters are enabled by default only for linkgit:git-diff[1] and " +"linkgit:git-log[1], but not for linkgit:git-format-patch[1] or diff plumbing " +"commands." msgstr "" -#. type: Plain text -#: en/git-commit.txt:281 -msgid "" -"The mode parameter is optional (defaults to 'all'), and is used to specify " -"the handling of untracked files; when -u is not used, the default is " -"'normal', i.e. show untracked files and directories." +#. type: Labeled list +#: en/diff-options.txt:581 en/git-status.txt:82 +#, no-wrap +msgid "--ignore-submodules[=<when>]" msgstr "" #. type: Plain text -#: en/git-commit.txt:283 en/git-status.txt:64 -msgid "The possible options are:" +#: en/diff-options.txt:593 +msgid "" +"Ignore changes to submodules in the diff generation. <when> can be either " +"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " +"\"none\" will consider the submodule modified when it either contains " +"untracked or modified files or its HEAD differs from the commit recorded in " +"the superproject and can be used to override any settings of the 'ignore' " +"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " +"is used submodules are not considered dirty when they only contain untracked " +"content (but they are still scanned for modified content). Using \"dirty\" " +"ignores all changes to the work tree of submodules, only changes to the " +"commits stored in the superproject are shown (this was the behavior until " +"1.7.0). Using \"all\" hides all changes to submodules." msgstr "" -#. type: Plain text -#: en/git-commit.txt:285 +#. type: Labeled list +#: en/diff-options.txt:594 #, no-wrap -msgid "'no' - Show no untracked files\n" +msgid "--src-prefix=<prefix>" msgstr "" #. type: Plain text -#: en/git-commit.txt:286 +#: en/diff-options.txt:596 +msgid "Show the given source prefix instead of \"a/\"." +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:597 #, no-wrap -msgid "'normal' - Shows untracked files and directories\n" +msgid "--dst-prefix=<prefix>" msgstr "" #. type: Plain text -#: en/git-commit.txt:287 en/git-status.txt:68 +#: en/diff-options.txt:599 +msgid "Show the given destination prefix instead of \"b/\"." +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:600 #, no-wrap -msgid "'all' - Also shows individual files in untracked directories.\n" +msgid "--no-prefix" msgstr "" #. type: Plain text -#: en/git-commit.txt:290 en/git-status.txt:81 -msgid "" -"The default can be changed using the status.showUntrackedFiles configuration " -"variable documented in linkgit:git-config[1]." +#: en/diff-options.txt:602 +msgid "Do not show any source or destination prefix." msgstr "" -#. type: Plain text -#: en/git-commit.txt:301 -msgid "" -"Show unified diff between the HEAD commit and what would be committed at the " -"bottom of the commit message template to help the user describe the commit " -"by reminding what changes the commit has. Note that this diff output " -"doesn't have its lines prefixed with '#'. This diff will not be a part of " -"the commit message. See the `commit.verbose` configuration variable in " -"linkgit:git-config[1]." +#. type: Labeled list +#: en/diff-options.txt:603 +#, no-wrap +msgid "--line-prefix=<prefix>" msgstr "" #. type: Plain text -#: en/git-commit.txt:305 -msgid "" -"If specified twice, show in addition the unified diff between what would be " -"committed and the worktree files, i.e. the unstaged changes to tracked " -"files." +#: en/diff-options.txt:605 +msgid "Prepend an additional prefix to every line of output." +msgstr "" + +#. type: Labeled list +#: en/diff-options.txt:606 +#, no-wrap +msgid "--ita-invisible-in-index" msgstr "" #. type: Plain text -#: en/git-commit.txt:309 -msgid "Suppress commit summary message." +#: en/diff-options.txt:613 +msgid "" +"By default entries added by \"git add -N\" appear as an existing empty file " +"in \"git diff\" and a new file in \"git diff --cached\". This option makes " +"the entry appear as a new file in \"git diff\" and non-existent in \"git " +"diff --cached\". This option could be reverted with " +"`--ita-visible-in-index`. Both options are experimental and could be removed " +"in future." msgstr "" #. type: Plain text -#: en/git-commit.txt:314 +#: en/diff-options.txt:615 msgid "" -"Do not create a commit, but show a list of paths that are to be committed, " -"paths with local changes that will be left uncommitted and paths that are " -"untracked." +"For more detailed explanation on these common options, see also " +"linkgit:gitdiffcore[7]." msgstr "" #. type: Labeled list -#: en/git-commit.txt:315 +#: en/fetch-options.txt:1 en/git-add.txt:120 en/git-branch.txt:141 en/git-checkout-index.txt:39 en/git-commit.txt:61 en/git-describe.txt:37 en/git-fetch-pack.txt:35 en/git-help.txt:42 en/git-http-push.txt:25 en/git-merge-base.txt:72 en/git-name-rev.txt:42 en/git-pack-objects.txt:75 en/git-pack-redundant.txt:32 en/git-pack-refs.txt:48 en/git-push.txt:94 en/git-reflog.txt:72 en/git-rev-parse.txt:161 en/git-send-pack.txt:37 en/git-show-branch.txt:48 en/git-submodule.txt:275 en/rev-list-options.txt:135 #, no-wrap -msgid "--status" +msgid "--all" msgstr "" #. type: Plain text -#: en/git-commit.txt:320 -msgid "" -"Include the output of linkgit:git-status[1] in the commit message template " -"when using an editor to prepare the commit message. Defaults to on, but can " -"be used to override configuration variable commit.status." +#: en/fetch-options.txt:3 +msgid "Fetch all remotes." msgstr "" #. type: Labeled list -#: en/git-commit.txt:321 +#: en/fetch-options.txt:5 #, no-wrap -msgid "--no-status" +msgid "--append" msgstr "" #. type: Plain text -#: en/git-commit.txt:325 +#: en/fetch-options.txt:9 msgid "" -"Do not include the output of linkgit:git-status[1] in the commit message " -"template when using an editor to prepare the default commit message." +"Append ref names and object names of fetched refs to the existing contents " +"of `.git/FETCH_HEAD`. Without this option old data in `.git/FETCH_HEAD` " +"will be overwritten." msgstr "" #. type: Labeled list -#: en/git-commit.txt:332 en/git-commit-tree.txt:63 +#: en/fetch-options.txt:10 #, no-wrap -msgid "--no-gpg-sign" +msgid "--depth=<depth>" msgstr "" #. type: Plain text -#: en/git-commit.txt:335 +#: en/fetch-options.txt:16 msgid "" -"Countermand `commit.gpgSign` configuration variable that is set to force " -"each and every commit to be signed." +"Limit fetching to the specified number of commits from the tip of each " +"remote branch history. If fetching to a 'shallow' repository created by `git " +"clone` with `--depth=<depth>` option (see linkgit:git-clone[1]), deepen or " +"shorten the history to the specified number of commits. Tags for the " +"deepened commits are not fetched." msgstr "" #. type: Labeled list -#: en/git-commit.txt:339 en/git-rm.txt:29 +#: en/fetch-options.txt:17 #, no-wrap -msgid "<file>..." +msgid "--deepen=<depth>" msgstr "" #. type: Plain text -#: en/git-commit.txt:345 +#: en/fetch-options.txt:21 msgid "" -"When files are given on the command line, the command commits the contents " -"of the named files, without recording the changes already staged. The " -"contents of these files are also staged for the next commit on top of what " -"have been staged before." +"Similar to --depth, except it specifies the number of commits from the " +"current shallow boundary instead of from the tip of each remote branch " +"history." +msgstr "" + +#. type: Labeled list +#: en/fetch-options.txt:22 en/git-clone.txt:200 en/git-fetch-pack.txt:90 +#, no-wrap +msgid "--shallow-since=<date>" msgstr "" #. type: Plain text -#: en/git-commit.txt:362 +#: en/fetch-options.txt:25 msgid "" -"When recording your own work, the contents of modified files in your working " -"tree are temporarily stored to a staging area called the \"index\" with 'git " -"add'. A file can be reverted back, only in the index but not in the working " -"tree, to that of the last commit with `git reset HEAD -- <file>`, which " -"effectively reverts 'git add' and prevents the changes to this file from " -"participating in the next commit. After building the state to be committed " -"incrementally with these commands, `git commit` (without any pathname " -"parameter) is used to record what has been staged so far. This is the most " -"basic form of the command. An example:" +"Deepen or shorten the history of a shallow repository to include all " +"reachable commits after <date>." msgstr "" -#. type: delimited block - -#: en/git-commit.txt:368 +#. type: Labeled list +#: en/fetch-options.txt:26 en/git-clone.txt:203 en/git-fetch-pack.txt:94 #, no-wrap -msgid "" -"$ edit hello.c\n" -"$ git rm goodbye.c\n" -"$ git add hello.c\n" -"$ git commit\n" +msgid "--shallow-exclude=<revision>" msgstr "" #. type: Plain text -#: en/git-commit.txt:376 +#: en/fetch-options.txt:30 en/git-fetch-pack.txt:98 msgid "" -"Instead of staging files after each individual change, you can tell `git " -"commit` to notice the changes to the files whose contents are tracked in " -"your working tree and do corresponding `git add` and `git rm` for you. That " -"is, this example does the same as the earlier example if there is no other " -"change in your working tree:" +"Deepen or shorten the history of a shallow repository to exclude commits " +"reachable from a specified remote branch or tag. This option can be " +"specified multiple times." msgstr "" -#. type: delimited block - -#: en/git-commit.txt:381 +#. type: Labeled list +#: en/fetch-options.txt:31 #, no-wrap -msgid "" -"$ edit hello.c\n" -"$ rm goodbye.c\n" -"$ git commit -a\n" +msgid "--unshallow" msgstr "" #. type: Plain text -#: en/git-commit.txt:386 +#: en/fetch-options.txt:35 msgid "" -"The command `git commit -a` first looks at your working tree, notices that " -"you have modified hello.c and removed goodbye.c, and performs necessary `git " -"add` and `git rm` for you." +"If the source repository is complete, convert a shallow repository to a " +"complete one, removing all the limitations imposed by shallow repositories." msgstr "" #. type: Plain text -#: en/git-commit.txt:391 +#: en/fetch-options.txt:38 msgid "" -"After staging changes to many files, you can alter the order the changes are " -"recorded in, by giving pathnames to `git commit`. When pathnames are given, " -"the command makes a commit that only records the changes made to the named " -"paths:" +"If the source repository is shallow, fetch as much as possible so that the " +"current repository has the same history as the source repository." msgstr "" -#. type: delimited block - -#: en/git-commit.txt:397 +#. type: Labeled list +#: en/fetch-options.txt:39 #, no-wrap -msgid "" -"$ edit hello.c hello.h\n" -"$ git add hello.c hello.h\n" -"$ edit Makefile\n" -"$ git commit Makefile\n" +msgid "--update-shallow" msgstr "" #. type: Plain text -#: en/git-commit.txt:404 +#: en/fetch-options.txt:44 msgid "" -"This makes a commit that records the modification to `Makefile`. The " -"changes staged for `hello.c` and `hello.h` are not included in the resulting " -"commit. However, their changes are not lost -- they are still staged and " -"merely held back. After the above sequence, if you do:" +"By default when fetching from a shallow repository, `git fetch` refuses refs " +"that require updating .git/shallow. This option updates .git/shallow and " +"accept such refs." msgstr "" -#. type: delimited block - -#: en/git-commit.txt:407 en/git-commit.txt:433 +#. type: Labeled list +#: en/fetch-options.txt:46 en/git-add.txt:66 en/git-clean.txt:48 en/git-commit.txt:310 en/git-http-push.txt:37 en/git-mv.txt:40 en/git-notes.txt:179 en/git-p4.txt:295 en/git-prune-packed.txt:32 en/git-prune.txt:37 en/git-push.txt:118 en/git-quiltimport.txt:35 en/git-read-tree.txt:58 en/git-reflog.txt:115 en/git-rm.txt:44 en/git-send-email.txt:362 en/git-send-pack.txt:51 en/git-svn.txt:649 en/git-worktree.txt:111 #, no-wrap -msgid "$ git commit\n" +msgid "--dry-run" msgstr "" #. type: Plain text -#: en/git-commit.txt:411 -msgid "" -"this second commit would record the changes to `hello.c` and `hello.h` as " -"expected." +#: en/fetch-options.txt:48 +msgid "Show what would be done, without making any changes." msgstr "" -#. type: Plain text -#: en/git-commit.txt:419 -msgid "" -"After a merge (initiated by 'git merge' or 'git pull') stops because of " -"conflicts, cleanly merged paths are already staged to be committed for you, " -"and paths that conflicted are left in unmerged state. You would have to " -"first check which paths are conflicting with 'git status' and after fixing " -"them manually in your working tree, you would stage the result as usual with " -"'git add':" +#. type: Labeled list +#: en/fetch-options.txt:50 en/git-add.txt:74 en/git-archimport.txt:80 en/git-blame.txt:64 en/git-branch.txt:98 en/git-checkout-index.txt:34 en/git-checkout.txt:116 en/git-clean.txt:34 en/git-cvsexportcommit.txt:54 en/git-filter-branch.txt:189 en/git-mv.txt:31 en/git-notes.txt:127 en/git-push.txt:221 en/git-rebase.txt:335 en/git-repack.txt:65 en/git-replace.txt:59 en/git-rm.txt:39 en/git-submodule.txt:287 en/git-tag.txt:71 en/git-update-server-info.txt:26 en/git-worktree.txt:85 +#, no-wrap +msgid "-f" msgstr "" -#. type: delimited block - -#: en/git-commit.txt:425 +#. type: Labeled list +#: en/fetch-options.txt:51 en/git-add.txt:75 en/git-branch.txt:99 en/git-checkout-index.txt:35 en/git-checkout.txt:117 en/git-clean.txt:35 en/git-fast-import.txt:37 en/git-filter-branch.txt:190 en/git-gc.txt:77 en/git-http-push.txt:30 en/git-mv.txt:32 en/git-notes.txt:128 en/git-push.txt:222 en/git-replace.txt:60 en/git-rm.txt:40 en/git-send-email.txt:387 en/git-send-pack.txt:54 en/git-submodule.txt:288 en/git-tag.txt:72 en/git-update-server-info.txt:27 en/git-worktree.txt:86 #, no-wrap -msgid "" -"$ git status | grep unmerged\n" -"unmerged: hello.c\n" -"$ edit hello.c\n" -"$ git add hello.c\n" +msgid "--force" msgstr "" #. type: Plain text -#: en/git-commit.txt:430 +#: en/fetch-options.txt:57 msgid "" -"After resolving conflicts and staging the result, `git ls-files -u` would " -"stop mentioning the conflicted path. When you are done, run `git commit` to " -"finally record the merge:" +"When 'git fetch' is used with `<rbranch>:<lbranch>` refspec, it refuses to " +"update the local branch `<lbranch>` unless the remote branch `<rbranch>` it " +"fetches is a descendant of `<lbranch>`. This option overrides that check." msgstr "" -#. type: Plain text -#: en/git-commit.txt:441 -msgid "" -"As with the case to record your own changes, you can use `-a` option to save " -"typing. One difference is that during a merge resolution, you cannot use " -"`git commit` with pathnames to alter the order the changes are committed, " -"because the merge should be recorded as a single commit. In fact, the " -"command refuses to run when given pathnames (but see `-i` option)." +#. type: Labeled list +#: en/fetch-options.txt:58 en/git-am.txt:40 en/git-cvsexportcommit.txt:67 en/git-cvsimport.txt:93 en/git-fetch-pack.txt:53 en/git-format-patch.txt:108 en/git-ls-files.txt:73 en/git-mailinfo.txt:27 en/git-mv.txt:34 en/git-repack.txt:139 +#, no-wrap +msgid "-k" +msgstr "" + +#. type: Labeled list +#: en/fetch-options.txt:59 en/git-am.txt:41 en/git-fetch-pack.txt:54 en/git-index-pack.txt:54 en/git-reset.txt:82 +#, no-wrap +msgid "--keep" msgstr "" #. type: Plain text -#: en/git-commit.txt:453 -msgid "" -"Though not required, it's a good idea to begin the commit message with a " -"single short (less than 50 character) line summarizing the change, followed " -"by a blank line and then a more thorough description. The text up to the " -"first blank line in a commit message is treated as the commit title, and " -"that title is used throughout Git. For example, linkgit:git-format-patch[1] " -"turns a commit into email, and it uses the title on the Subject line and the " -"rest of the commit in the body." +#: en/fetch-options.txt:61 +msgid "Keep downloaded pack." msgstr "" -#. type: Title - -#: en/git-commit.txt:457 +#. type: Labeled list +#: en/fetch-options.txt:63 #, no-wrap -msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" +msgid "--multiple" msgstr "" #. type: Plain text -#: en/git-commit.txt:462 +#: en/fetch-options.txt:66 msgid "" -"The editor used to edit the commit log message will be chosen from the " -"`GIT_EDITOR` environment variable, the core.editor configuration variable, " -"the `VISUAL` environment variable, or the `EDITOR` environment variable (in " -"that order). See linkgit:git-var[1] for details." +"Allow several <repository> and <group> arguments to be specified. No " +"<refspec>s may be specified." +msgstr "" + +#. type: Labeled list +#: en/fetch-options.txt:68 en/git-push.txt:98 +#, no-wrap +msgid "--prune" msgstr "" #. type: Plain text -#: en/git-commit.txt:468 +#: en/fetch-options.txt:77 msgid "" -"This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, " -"`post-commit` and `post-rewrite` hooks. See linkgit:githooks[5] for more " -"information." +"Before fetching, remove any remote-tracking references that no longer exist " +"on the remote. Tags are not subject to pruning if they are fetched only " +"because of the default tag auto-following or due to a --tags option. " +"However, if tags are fetched due to an explicit refspec (either on the " +"command line or in the remote configuration, for example if the remote was " +"cloned with the --mirror option), then they are also subject to pruning." msgstr "" -#. type: Title - -#: en/git-commit.txt:470 en/git-commit-tree.txt:109 en/git-config.txt:233 en/git-credential-store.txt:45 en/git-show-ref.txt:174 en/git-submodule.txt:429 en/git-svn.txt:1118 +#. type: Labeled list +#: en/fetch-options.txt:80 en/git-add.txt:65 en/git-blame.txt:70 en/git-checkout-index.txt:43 en/git-cherry-pick.txt:87 en/git-clean.txt:47 en/git-clone.txt:135 en/git-commit.txt:168 en/git-format-patch.txt:93 en/git-grep.txt:172 en/git-mailinfo.txt:66 en/git-mv.txt:39 en/git-notes.txt:178 en/git-p4.txt:294 en/git-prune-packed.txt:31 en/git-prune.txt:36 en/git-push.txt:117 en/git-quiltimport.txt:34 en/git-read-tree.txt:57 en/git-rebase.txt:318 en/git-reflog.txt:114 en/git-repack.txt:77 en/git-revert.txt:69 en/git-rm.txt:43 en/git-shortlog.txt:29 en/git-submodule.txt:310 en/git-svn.txt:648 en/git-unpack-objects.txt:30 en/git-worktree.txt:110 en/merge-options.txt:56 #, no-wrap -msgid "FILES" +msgid "-n" msgstr "" #. type: Labeled list -#: en/git-commit.txt:472 +#: en/fetch-options.txt:82 #, no-wrap -msgid "`$GIT_DIR/COMMIT_EDITMSG`" -msgstr "" - -#. type: Plain text -#: en/git-commit.txt:478 -msgid "" -"This file contains the commit message of a commit in progress. If `git " -"commit` exits due to an error before creating a commit, any commit message " -"that has been provided by the user (e.g., in an editor session) will be " -"available in this file, but will be overwritten by the next invocation of " -"`git commit`." +msgid "--no-tags" msgstr "" #. type: Plain text -#: en/git-commit.txt:486 +#: en/fetch-options.txt:88 msgid "" -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], " -"linkgit:git-merge[1], linkgit:git-commit-tree[1]" +"By default, tags that point at objects that are downloaded from the remote " +"repository are fetched and stored locally. This option disables this " +"automatic tag following. The default behavior for a remote may be specified " +"with the remote.<name>.tagOpt setting. See linkgit:git-config[1]." msgstr "" -#. type: Title = -#: en/git-commit-tree.txt:2 +#. type: Labeled list +#: en/fetch-options.txt:90 #, no-wrap -msgid "git-commit-tree(1)" +msgid "--refmap=<refspec>" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:7 -msgid "git-commit-tree - Create a new commit object" +#: en/fetch-options.txt:97 +msgid "" +"When fetching refs listed on the command line, use the specified refspec " +"(can be given more than once) to map the refs to remote-tracking branches, " +"instead of the values of `remote.*.fetch` configuration variables for the " +"remote repository. See section on \"Configured Remote-tracking Branches\" " +"for details." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:15 +#. type: Labeled list +#: en/fetch-options.txt:99 en/git-describe.txt:42 en/git-fsck.txt:41 en/git-ls-remote.txt:27 en/git-name-rev.txt:24 en/git-push.txt:130 en/git-show-ref.txt:40 #, no-wrap -msgid "" -"'git commit-tree' <tree> [(-p <parent>)...]\n" -"'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n" -"\t\t [(-F <file>)...] <tree>\n" +msgid "--tags" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:21 +#: en/fetch-options.txt:106 msgid "" -"This is usually not what an end user wants to run directly. See " -"linkgit:git-commit[1] instead." +"Fetch all tags from the remote (i.e., fetch remote tags `refs/tags/*` into " +"local tags with the same name), in addition to whatever else would otherwise " +"be fetched. Using this option alone does not subject tags to pruning, even " +"if --prune is used (though tags may be pruned anyway if they are also the " +"destination of an explicit refspec; see `--prune`)." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:25 -msgid "" -"Creates a new commit object based on the provided tree object and emits the " -"new commit object id on stdout. The log message is read from the standard " -"input, unless `-m` or `-F` options are given." +#. type: Labeled list +#: en/fetch-options.txt:107 +#, no-wrap +msgid "--recurse-submodules[=yes|on-demand|no]" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:30 +#: en/fetch-options.txt:117 msgid "" -"A commit object may have any number of parents. With exactly one parent, it " -"is an ordinary commit. Having more than one parent makes the commit a merge " -"between several lines of history. Initial (root) commits have no parents." +"This option controls if and under what conditions new commits of populated " +"submodules should be fetched too. It can be used as a boolean option to " +"completely disable recursion when set to 'no' or to unconditionally recurse " +"into all populated submodules when set to 'yes', which is the default when " +"this option is used without any value. Use 'on-demand' to only recurse into " +"a populated submodule when the superproject retrieves a commit that updates " +"the submodule's reference to a commit that isn't already in the local " +"submodule clone." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:34 -msgid "" -"While a tree represents a particular directory state of a working directory, " -"a commit represents that state in \"time\", and explains how to get there." +#. type: Labeled list +#: en/fetch-options.txt:118 +#, no-wrap +msgid "-j" msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:40 -msgid "" -"Normally a commit would identify a new \"HEAD\" state, and while Git doesn't " -"care where you save the note about that state, in practice we tend to just " -"write the result to the file that is pointed at by `.git/HEAD`, so that we " -"can always see what the last committed state was." +#. type: Labeled list +#: en/fetch-options.txt:119 +#, no-wrap +msgid "--jobs=<n>" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:45 -msgid "An existing tree object" +#: en/fetch-options.txt:124 +msgid "" +"Number of parallel children to be used for fetching submodules. Each will " +"fetch from different submodules, such that fetching many submodules will be " +"faster. By default submodules will be fetched one at a time." msgstr "" #. type: Labeled list -#: en/git-commit-tree.txt:46 +#: en/fetch-options.txt:125 en/git-push.txt:274 #, no-wrap -msgid "-p <parent>" +msgid "--no-recurse-submodules" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:48 -msgid "Each `-p` indicates the id of a parent commit object." +#: en/fetch-options.txt:128 +msgid "" +"Disable recursive fetching of submodules (this has the same effect as using " +"the `--recurse-submodules=no` option)." msgstr "" #. type: Labeled list -#: en/git-commit-tree.txt:49 en/git-fmt-merge-msg.txt:42 +#: en/fetch-options.txt:129 #, no-wrap -msgid "-m <message>" +msgid "--submodule-prefix=<path>" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:52 +#: en/fetch-options.txt:133 msgid "" -"A paragraph in the commit log message. This can be given more than once and " -"each <message> becomes its own paragraph." +"Prepend <path> to paths printed in informative messages such as \"Fetching " +"submodule foo\". This option is used internally when recursing over " +"submodules." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:56 -msgid "" -"Read the commit log message from the given file. Use `-` to read from the " -"standard input." +#. type: Labeled list +#: en/fetch-options.txt:134 +#, no-wrap +msgid "--recurse-submodules-default=[yes|on-demand]" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:66 +#: en/fetch-options.txt:141 msgid "" -"Do not GPG-sign commit, to countermand a `--gpg-sign` option given earlier " -"on the command line." +"This option is used internally to temporarily provide a non-negative default " +"value for the --recurse-submodules option. All other methods of configuring " +"fetch's submodule recursion (such as settings in linkgit:gitmodules[5] and " +"linkgit:git-config[1]) override this option, as does specifying " +"--[no-]recurse-submodules directly." msgstr "" -#. type: Title - -#: en/git-commit-tree.txt:69 +#. type: Labeled list +#: en/fetch-options.txt:144 #, no-wrap -msgid "Commit Information" +msgid "--update-head-ok" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:72 -msgid "A commit encapsulates:" +#: en/fetch-options.txt:151 +msgid "" +"By default 'git fetch' refuses to update the head which corresponds to the " +"current branch. This flag disables the check. This is purely for the " +"internal use for 'git pull' to communicate with 'git fetch', and unless you " +"are implementing your own Porcelain you are not supposed to use it." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:74 -msgid "all parent object ids" +#. type: Labeled list +#: en/fetch-options.txt:152 en/git-clone.txt:172 +#, no-wrap +msgid "--upload-pack <upload-pack>" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:75 -msgid "author name, email and date" +#: en/fetch-options.txt:157 +msgid "" +"When given, and the repository to fetch from is handled by 'git fetch-pack', " +"`--exec=<upload-pack>` is passed to the command to specify non-default path " +"for the command run on the other end." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:76 -msgid "committer name and email and the commit time." +#. type: Labeled list +#: en/fetch-options.txt:159 en/git-am.txt:73 en/git-branch.txt:157 en/git-checkout-index.txt:30 en/git-checkout.txt:106 en/git-clean.txt:51 en/git-clone.txt:119 en/git-commit.txt:306 en/git-diff-files.txt:44 en/git-fetch-pack.txt:48 en/git-format-patch.txt:260 en/git-grep.txt:280 en/git-imap-send.txt:36 en/git-init.txt:43 en/git-ls-remote.txt:36 en/git-merge-file.txt:67 en/git-merge-index.txt:35 en/git-notes.txt:206 en/git-pack-objects.txt:158 en/git-prune-packed.txt:36 en/git-pull.txt:77 en/git-push.txt:258 en/git-rebase.txt:306 en/git-repack.txt:73 en/git-reset.txt:96 en/git-rev-parse.txt:113 en/git-rm.txt:66 en/git-show-ref.txt:70 en/git-submodule.txt:271 en/git-svn.txt:632 en/git-symbolic-ref.txt:39 en/git-unpack-objects.txt:34 en/git-update-index.txt:56 en/merge-options.txt:104 +#, no-wrap +msgid "-q" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:80 +#: en/fetch-options.txt:164 msgid "" -"While parent object ids are provided on the command line, author and " -"committer information is taken from the following environment variables, if " -"set:" +"Pass --quiet to git-fetch-pack and silence any other internally used git " +"commands. Progress is not reported to the standard error stream." msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:87 +#. type: Labeled list +#: en/fetch-options.txt:165 en/git-add.txt:70 en/git-apply.txt:214 en/git-archimport.txt:73 en/git-archive.txt:47 en/git-branch.txt:148 en/git-cherry.txt:29 en/git-clone.txt:124 en/git-commit.txt:291 en/git-count-objects.txt:21 en/git-cvsexportcommit.txt:82 en/git-cvsimport.txt:52 en/git-diff-tree.txt:81 en/git-fetch-pack.txt:111 en/git-grep.txt:137 en/git-http-fetch.txt:33 en/git-imap-send.txt:32 en/git-index-pack.txt:27 en/git-ls-files.txt:131 en/git-mv.txt:43 en/git-notes.txt:210 en/git-p4.txt:171 en/git-prune.txt:41 en/git-pull.txt:83 en/git-push.txt:264 en/git-read-tree.txt:62 en/git-rebase.txt:310 en/git-remote.txt:35 en/git-status.txt:47 en/git-svn.txt:350 en/git-tag.txt:79 en/git-verify-commit.txt:23 en/git-verify-pack.txt:26 en/git-verify-tag.txt:23 en/git-worktree.txt:120 en/merge-options.txt:108 #, no-wrap -msgid "" -"\tGIT_AUTHOR_NAME\n" -"\tGIT_AUTHOR_EMAIL\n" -"\tGIT_AUTHOR_DATE\n" -"\tGIT_COMMITTER_NAME\n" -"\tGIT_COMMITTER_EMAIL\n" -"\tGIT_COMMITTER_DATE\n" +msgid "-v" msgstr "" -#. type: Plain text -#: en/git-commit-tree.txt:89 -msgid "(nb \"<\", \">\" and \"\\n\"s are stripped)" +#. type: Labeled list +#: en/fetch-options.txt:166 en/git-add.txt:71 en/git-apply.txt:215 en/git-archive.txt:48 en/git-branch.txt:150 en/git-clone.txt:123 en/git-commit.txt:292 en/git-count-objects.txt:22 en/git-daemon.txt:126 en/git-fsck.txt:77 en/git-http-push.txt:40 en/git-imap-send.txt:33 en/git-mv.txt:44 en/git-notes.txt:211 en/git-p4.txt:172 en/git-pack-redundant.txt:39 en/git-prune.txt:42 en/git-pull.txt:84 en/git-push.txt:265 en/git-rebase.txt:311 en/git-reflog.txt:119 en/git-remote.txt:36 en/git-send-pack.txt:61 en/git-status.txt:48 en/git-svn.txt:351 en/git-update-index.txt:145 en/git-verify-commit.txt:24 en/git-verify-pack.txt:27 en/git-verify-tag.txt:24 en/git-worktree.txt:121 en/merge-options.txt:109 +#, no-wrap +msgid "--verbose" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:96 -msgid "" -"In case (some of) these environment variables are not set, the information " -"is taken from the configuration items user.name and user.email, or, if not " -"present, the environment variable EMAIL, or, if that is not set, system user " -"name and the hostname used for outgoing mail (taken from `/etc/mailname` and " -"falling back to the fully qualified hostname when that file does not exist)." +#: en/fetch-options.txt:168 en/git-add.txt:73 en/git-imap-send.txt:35 en/merge-options.txt:111 +msgid "Be verbose." +msgstr "" + +#. type: Labeled list +#: en/fetch-options.txt:170 en/git-clone.txt:128 en/git-pack-objects.txt:136 en/git-push.txt:268 en/merge-options.txt:112 +#, no-wrap +msgid "--progress" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:100 +#: en/fetch-options.txt:175 en/git-clone.txt:133 en/git-pack-objects.txt:141 en/git-push.txt:273 msgid "" -"A commit comment is read from stdin. If a changelog entry is not provided " -"via \"<\" redirection, 'git commit-tree' will just wait for one to be " -"entered and terminated with ^D." +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal, unless -q is specified. This flag forces progress " +"status even if the standard error stream is not directed to a terminal." msgstr "" -#. type: Title - -#: en/git-commit-tree.txt:104 en/git-show.txt:81 +#. type: Labeled list +#: en/fetch-options.txt:176 en/git-push.txt:295 #, no-wrap -msgid "Discussion" +msgid "-4" +msgstr "" + +#. type: Labeled list +#: en/fetch-options.txt:177 en/git-push.txt:296 +#, no-wrap +msgid "--ipv4" msgstr "" #. type: Plain text -#: en/git-commit-tree.txt:111 -msgid "/etc/mailname" +#: en/fetch-options.txt:179 en/git-push.txt:298 +msgid "Use IPv4 addresses only, ignoring IPv6 addresses." msgstr "" #. type: Labeled list -#: en/git-commit-tree.txt:115 en/cmds-plumbingmanipulators.txt:49 +#: en/fetch-options.txt:180 en/git-push.txt:299 #, no-wrap -msgid "linkgit:git-write-tree[1]" +msgid "-6" msgstr "" -#. type: Title = -#: en/git-config.txt:2 +#. type: Labeled list +#: en/fetch-options.txt:181 en/git-push.txt:300 #, no-wrap -msgid "git-config(1)" +msgid "--ipv6" msgstr "" #. type: Plain text -#: en/git-config.txt:7 -msgid "git-config - Get and set repository or global options" +#: en/fetch-options.txt:182 en/git-push.txt:302 +msgid "Use IPv6 addresses only, ignoring IPv4 addresses." msgstr "" -#. type: Plain text -#: en/git-config.txt:27 +#. type: Labeled list +#: en/fmt-merge-msg-config.txt:1 #, no-wrap -msgid "" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] name [value " -"[value_regex]]\n" -"'git config' [<file-option>] [type] --add name value\n" -"'git config' [<file-option>] [type] --replace-all name value [value_regex]\n" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get name " -"[value_regex]\n" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get-all " -"name [value_regex]\n" -"'git config' [<file-option>] [type] [--show-origin] [-z|--null] " -"[--name-only] --get-regexp name_regex [value_regex]\n" -"'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL\n" -"'git config' [<file-option>] --unset name [value_regex]\n" -"'git config' [<file-option>] --unset-all name [value_regex]\n" -"'git config' [<file-option>] --rename-section old_name new_name\n" -"'git config' [<file-option>] --remove-section name\n" -"'git config' [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | " -"--list\n" -"'git config' [<file-option>] --get-color name [default]\n" -"'git config' [<file-option>] --get-colorbool name [stdout-is-tty]\n" -"'git config' [<file-option>] -e | --edit\n" +msgid "merge.branchdesc" msgstr "" #. type: Plain text -#: en/git-config.txt:33 +#: en/fmt-merge-msg-config.txt:5 msgid "" -"You can query/set/replace/unset options with this command. The name is " -"actually the section and the key separated by a dot, and the value will be " -"escaped." +"In addition to branch names, populate the log message with the branch " +"description text associated with them. Defaults to false." msgstr "" -#. type: Plain text -#: en/git-config.txt:40 -msgid "" -"Multiple lines can be added to an option by using the `--add` option. If " -"you want to update or unset an option which can occur on multiple lines, a " -"POSIX regexp `value_regex` needs to be given. Only the existing values that " -"match the regexp are updated or unset. If you want to handle the lines that " -"do *not* match the regex, just prepend a single exclamation mark in front " -"(see also <<EXAMPLES>>)." +#. type: Labeled list +#: en/fmt-merge-msg-config.txt:6 +#, no-wrap +msgid "merge.log" msgstr "" #. type: Plain text -#: en/git-config.txt:47 +#: en/fmt-merge-msg-config.txt:10 msgid "" -"The type specifier can be either `--int` or `--bool`, to make 'git config' " -"ensure that the variable(s) are of the given type and convert the value to " -"the canonical form (simple decimal number for int, a \"true\" or \"false\" " -"string for bool), or `--path`, which does some path expansion (see `--path` " -"below). If no type specifier is passed, no checks or transformations are " -"performed on the value." +"In addition to branch names, populate the log message with at most the " +"specified number of one-line descriptions from the actual commits that are " +"being merged. Defaults to false, and true is a synonym for 20." msgstr "" -#. type: Plain text -#: en/git-config.txt:52 -msgid "" -"When reading, the values are read from the system, global and repository " -"local configuration files by default, and options `--system`, `--global`, " -"`--local` and `--file <filename>` can be used to tell the command to read " -"from only that location (see <<FILES>>)." +#. type: Title = +#: en/git-add.txt:2 +#, no-wrap +msgid "git-add(1)" msgstr "" -#. type: Plain text -#: en/git-config.txt:57 -msgid "" -"When writing, the new value is written to the repository local configuration " -"file by default, and options `--system`, `--global`, `--file <filename>` can " -"be used to tell the command to write to that location (you can say `--local` " -"but that is the default)." +#. type: Title - +#: en/git-add.txt:5 en/git-am.txt:5 en/git-annotate.txt:5 en/git-apply.txt:5 en/git-archimport.txt:5 en/git-archive.txt:5 en/git-bisect.txt:5 en/git-blame.txt:5 en/git-branch.txt:5 en/git-bundle.txt:5 en/git-cat-file.txt:5 en/git-check-attr.txt:5 en/git-check-ignore.txt:5 en/git-check-mailmap.txt:5 en/git-checkout-index.txt:5 en/git-checkout.txt:5 en/git-check-ref-format.txt:5 en/git-cherry-pick.txt:5 en/git-cherry.txt:5 en/git-citool.txt:5 en/git-clean.txt:5 en/git-clone.txt:5 en/git-column.txt:5 en/git-commit-tree.txt:5 en/git-commit.txt:5 en/git-config.txt:5 en/git-count-objects.txt:5 en/git-credential-cache--daemon.txt:5 en/git-credential-cache.txt:5 en/git-credential-store.txt:5 en/git-credential.txt:5 en/git-cvsexportcommit.txt:5 en/git-cvsimport.txt:5 en/git-cvsserver.txt:5 en/git-daemon.txt:5 en/git-describe.txt:5 en/git-diff-files.txt:5 en/git-diff-index.txt:5 en/git-difftool.txt:5 en/git-diff-tree.txt:5 en/git-diff.txt:5 en/git-fast-export.txt:5 en/git-fast-import.txt:5 en/git-fetch-pack.txt:5 en/git-fetch.txt:5 en/git-filter-branch.txt:5 en/git-fmt-merge-msg.txt:5 en/git-for-each-ref.txt:5 en/git-format-patch.txt:5 en/git-fsck-objects.txt:5 en/git-fsck.txt:5 en/git-gc.txt:5 en/git-get-tar-commit-id.txt:5 en/git-grep.txt:5 en/git-gui.txt:5 en/git-hash-object.txt:5 en/git-help.txt:5 en/git-http-backend.txt:5 en/git-http-fetch.txt:5 en/git-http-push.txt:5 en/git-imap-send.txt:5 en/git-index-pack.txt:5 en/git-init-db.txt:5 en/git-init.txt:5 en/git-instaweb.txt:5 en/git-interpret-trailers.txt:5 en/git-log.txt:5 en/git-ls-files.txt:5 en/git-ls-remote.txt:5 en/git-ls-tree.txt:5 en/git-mailinfo.txt:5 en/git-mailsplit.txt:5 en/git-merge-base.txt:5 en/git-merge-file.txt:5 en/git-merge-index.txt:5 en/git-merge-one-file.txt:5 en/git-mergetool--lib.txt:5 en/git-mergetool.txt:5 en/git-merge-tree.txt:5 en/git-merge.txt:5 en/git-mktag.txt:5 en/git-mktree.txt:5 en/git-mv.txt:5 en/git-name-rev.txt:5 en/git-notes.txt:5 en/git-p4.txt:5 en/git-pack-objects.txt:5 en/git-pack-redundant.txt:5 en/git-pack-refs.txt:5 en/git-parse-remote.txt:5 en/git-patch-id.txt:5 en/git-prune-packed.txt:5 en/git-prune.txt:5 en/git-pull.txt:5 en/git-push.txt:5 en/git-quiltimport.txt:5 en/git-read-tree.txt:5 en/git-rebase.txt:5 en/git-receive-pack.txt:5 en/git-reflog.txt:5 en/git-remote-ext.txt:5 en/git-remote-fd.txt:5 en/git-remote-testgit.txt:5 en/git-remote.txt:5 en/git-repack.txt:5 en/git-replace.txt:5 en/git-request-pull.txt:5 en/git-rerere.txt:5 en/git-reset.txt:5 en/git-revert.txt:5 en/git-rev-list.txt:5 en/git-rev-parse.txt:5 en/git-rm.txt:5 en/git-send-email.txt:5 en/git-send-pack.txt:5 en/git-shell.txt:5 en/git-sh-i18n--envsubst.txt:5 en/git-sh-i18n.txt:5 en/git-shortlog.txt:5 en/git-show-branch.txt:5 en/git-show-index.txt:5 en/git-show-ref.txt:5 en/git-show.txt:5 en/git-sh-setup.txt:5 en/git-stage.txt:5 en/git-stash.txt:5 en/git-status.txt:5 en/git-stripspace.txt:5 en/git-submodule.txt:5 en/git-svn.txt:5 en/git-symbolic-ref.txt:5 en/git-tag.txt:5 en/git.txt:5 en/git-unpack-file.txt:5 en/git-unpack-objects.txt:5 en/git-update-index.txt:5 en/git-update-ref.txt:5 en/git-update-server-info.txt:5 en/git-upload-archive.txt:5 en/git-upload-pack.txt:5 en/git-var.txt:5 en/git-verify-commit.txt:5 en/git-verify-pack.txt:5 en/git-verify-tag.txt:5 en/git-web--browse.txt:5 en/git-whatchanged.txt:5 en/git-worktree.txt:5 en/git-write-tree.txt:5 +#, no-wrap +msgid "NAME" msgstr "" #. type: Plain text -#: en/git-config.txt:60 -msgid "" -"This command will fail with non-zero status upon error. Some exit codes " -"are:" +#: en/git-add.txt:7 +msgid "git-add - Add file contents to the index" msgstr "" -#. type: Plain text -#: en/git-config.txt:62 -msgid "The section or key is invalid (ret=1)," +#. type: Title - +#: en/git-add.txt:9 en/git-am.txt:10 en/git-annotate.txt:9 en/git-apply.txt:10 en/git-archimport.txt:10 en/git-archive.txt:10 en/git-bisect.txt:10 en/git-blame.txt:9 en/git-branch.txt:9 en/git-bundle.txt:10 en/git-cat-file.txt:10 en/git-check-attr.txt:10 en/git-check-ignore.txt:10 en/git-check-mailmap.txt:10 en/git-checkout-index.txt:10 en/git-checkout.txt:9 en/git-check-ref-format.txt:9 en/git-cherry-pick.txt:9 en/git-cherry.txt:9 en/git-citool.txt:9 en/git-clean.txt:9 en/git-clone.txt:10 en/git-column.txt:9 en/git-commit-tree.txt:10 en/git-commit.txt:9 en/git-config.txt:10 en/git-count-objects.txt:9 en/git-credential-cache--daemon.txt:9 en/git-credential-cache.txt:9 en/git-credential-store.txt:9 en/git-credential.txt:9 en/git-cvsexportcommit.txt:10 en/git-cvsimport.txt:10 en/git-cvsserver.txt:9 en/git-daemon.txt:9 en/git-describe.txt:10 en/git-diff-files.txt:10 en/git-diff-index.txt:10 en/git-difftool.txt:9 en/git-diff-tree.txt:10 en/git-diff.txt:10 en/git-fast-export.txt:10 en/git-fast-import.txt:10 en/git-fetch-pack.txt:10 en/git-fetch.txt:10 en/git-filter-branch.txt:9 en/git-fmt-merge-msg.txt:10 en/git-for-each-ref.txt:9 en/git-format-patch.txt:10 en/git-fsck-objects.txt:10 en/git-fsck.txt:10 en/git-gc.txt:10 en/git-get-tar-commit-id.txt:10 en/git-grep.txt:10 en/git-gui.txt:9 en/git-hash-object.txt:10 en/git-help.txt:9 en/git-http-backend.txt:9 en/git-http-fetch.txt:10 en/git-http-push.txt:10 en/git-imap-send.txt:10 en/git-index-pack.txt:10 en/git-init-db.txt:10 en/git-init.txt:10 en/git-instaweb.txt:9 en/git-interpret-trailers.txt:9 en/git-log.txt:10 en/git-ls-files.txt:10 en/git-ls-remote.txt:10 en/git-ls-tree.txt:10 en/git-mailinfo.txt:10 en/git-mailsplit.txt:9 en/git-merge-base.txt:10 en/git-merge-file.txt:10 en/git-merge-index.txt:10 en/git-merge-one-file.txt:10 en/git-mergetool--lib.txt:9 en/git-mergetool.txt:9 en/git-merge-tree.txt:10 en/git-merge.txt:10 en/git-mktag.txt:10 en/git-mktree.txt:10 en/git-mv.txt:10 en/git-name-rev.txt:10 en/git-notes.txt:9 en/git-p4.txt:10 en/git-pack-objects.txt:10 en/git-pack-redundant.txt:10 en/git-pack-refs.txt:9 en/git-parse-remote.txt:10 en/git-patch-id.txt:9 en/git-prune-packed.txt:10 en/git-prune.txt:10 en/git-pull.txt:10 en/git-push.txt:10 en/git-quiltimport.txt:10 en/git-read-tree.txt:10 en/git-rebase.txt:9 en/git-receive-pack.txt:10 en/git-reflog.txt:10 en/git-remote-ext.txt:9 en/git-remote-fd.txt:9 en/git-remote-testgit.txt:10 en/git-remote.txt:10 en/git-repack.txt:10 en/git-replace.txt:9 en/git-request-pull.txt:9 en/git-rerere.txt:9 en/git-reset.txt:9 en/git-revert.txt:9 en/git-rev-list.txt:10 en/git-rev-parse.txt:10 en/git-rm.txt:9 en/git-send-email.txt:10 en/git-send-pack.txt:10 en/git-shell.txt:10 en/git-sh-i18n--envsubst.txt:9 en/git-sh-i18n.txt:9 en/git-shortlog.txt:9 en/git-show-branch.txt:9 en/git-show-index.txt:10 en/git-show-ref.txt:9 en/git-show.txt:10 en/git-sh-setup.txt:9 en/git-stage.txt:10 en/git-stash.txt:9 en/git-status.txt:10 en/git-stripspace.txt:10 en/git-submodule.txt:10 en/git-svn.txt:9 en/git-symbolic-ref.txt:9 en/git-tag.txt:10 en/git.txt:10 en/git-unpack-file.txt:11 en/git-unpack-objects.txt:10 en/git-update-index.txt:10 en/git-update-ref.txt:9 en/git-update-server-info.txt:10 en/git-upload-archive.txt:10 en/git-upload-pack.txt:10 en/git-var.txt:10 en/git-verify-commit.txt:9 en/git-verify-pack.txt:10 en/git-verify-tag.txt:9 en/git-web--browse.txt:9 en/git-whatchanged.txt:10 en/git-worktree.txt:10 en/git-write-tree.txt:10 +#, no-wrap +msgid "SYNOPSIS" msgstr "" #. type: Plain text -#: en/git-config.txt:63 -msgid "no section or name was provided (ret=2)," +#: en/git-add.txt:15 +#, no-wrap +msgid "" +"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | " +"-i] [--patch | -p]\n" +"\t [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\n" +"\t [--intent-to-add | -N] [--refresh] [--ignore-errors] " +"[--ignore-missing]\n" +"\t [--chmod=(+|-)x] [--] [<pathspec>...]\n" msgstr "" -#. type: Plain text -#: en/git-config.txt:64 -msgid "the config file is invalid (ret=3)," +#. type: Title - +#: en/git-add.txt:17 en/git-am.txt:22 en/git-annotate.txt:14 en/git-apply.txt:22 en/git-archimport.txt:16 en/git-archive.txt:18 en/git-bisect.txt:15 en/git-blame.txt:17 en/git-branch.txt:24 en/git-bundle.txt:18 en/git-cat-file.txt:16 en/git-check-attr.txt:16 en/git-check-ignore.txt:16 en/git-check-mailmap.txt:16 en/git-checkout-index.txt:19 en/git-checkout.txt:19 en/git-check-ref-format.txt:17 en/git-cherry-pick.txt:18 en/git-cherry.txt:14 en/git-citool.txt:14 en/git-clean.txt:14 en/git-clone.txt:21 en/git-column.txt:15 en/git-commit-tree.txt:18 en/git-commit.txt:19 en/git-config.txt:29 en/git-count-objects.txt:14 en/git-credential-cache--daemon.txt:14 en/git-credential-cache.txt:15 en/git-credential-store.txt:15 en/git-credential.txt:15 en/git-cvsexportcommit.txt:17 en/git-cvsimport.txt:20 en/git-cvsserver.txt:61 en/git-daemon.txt:26 en/git-describe.txt:16 en/git-diff-files.txt:15 en/git-diff-index.txt:15 en/git-difftool.txt:14 en/git-diff-tree.txt:17 en/git-diff.txt:19 en/git-fast-export.txt:15 en/git-fast-import.txt:15 en/git-fetch-pack.txt:18 en/git-fetch.txt:19 en/git-filter-branch.txt:20 en/git-fmt-merge-msg.txt:16 en/git-for-each-ref.txt:17 en/git-format-patch.txt:30 en/git-fsck-objects.txt:15 en/git-fsck.txt:18 en/git-gc.txt:15 en/git-get-tar-commit-id.txt:16 en/git-grep.txt:34 en/git-gui.txt:14 en/git-hash-object.txt:16 en/git-help.txt:15 en/git-http-backend.txt:14 en/git-http-fetch.txt:15 en/git-http-push.txt:15 en/git-imap-send.txt:16 en/git-index-pack.txt:18 en/git-init-db.txt:16 en/git-init.txt:18 en/git-instaweb.txt:16 en/git-interpret-trailers.txt:14 en/git-log.txt:15 en/git-ls-files.txt:25 en/git-ls-remote.txt:17 en/git-ls-tree.txt:17 en/git-mailinfo.txt:16 en/git-mailsplit.txt:15 en/git-merge-base.txt:19 en/git-merge-file.txt:18 en/git-merge-index.txt:15 en/git-merge-one-file.txt:15 en/git-mergetool--lib.txt:14 en/git-mergetool.txt:14 en/git-merge-tree.txt:15 en/git-merge.txt:21 en/git-mktag.txt:15 en/git-mktree.txt:15 en/git-mv.txt:15 en/git-name-rev.txt:16 en/git-notes.txt:26 en/git-p4.txt:19 en/git-pack-objects.txt:20 en/git-pack-redundant.txt:15 en/git-pack-refs.txt:14 en/git-parse-remote.txt:15 en/git-patch-id.txt:14 en/git-prune-packed.txt:16 en/git-prune.txt:15 en/git-pull.txt:16 en/git-push.txt:20 en/git-quiltimport.txt:17 en/git-read-tree.txt:19 en/git-rebase.txt:18 en/git-receive-pack.txt:15 en/git-reflog.txt:15 en/git-remote-ext.txt:14 en/git-remote-fd.txt:13 en/git-remote-testgit.txt:15 en/git-remote.txt:27 en/git-repack.txt:15 en/git-replace.txt:18 en/git-request-pull.txt:14 en/git-rerere.txt:14 en/git-reset.txt:16 en/git-revert.txt:17 en/git-rev-list.txt:64 en/git-rev-parse.txt:15 en/git-rm.txt:14 en/git-send-email.txt:17 en/git-send-pack.txt:18 en/git-shell.txt:17 en/git-sh-i18n--envsubst.txt:19 en/git-sh-i18n.txt:14 en/git-shortlog.txt:15 en/git-show-branch.txt:19 en/git-show-index.txt:16 en/git-show-ref.txt:17 en/git-show.txt:15 en/git-sh-setup.txt:14 en/git-stage.txt:16 en/git-stash.txt:26 en/git-status.txt:15 en/git-stripspace.txt:16 en/git-submodule.txt:24 en/git-svn.txt:14 en/git-symbolic-ref.txt:16 en/git-tag.txt:21 en/git.txt:20 en/git-unpack-file.txt:16 en/git-unpack-objects.txt:16 en/git-update-index.txt:29 en/git-update-ref.txt:14 en/git-update-server-info.txt:15 en/git-upload-archive.txt:15 en/git-var.txt:15 en/git-verify-commit.txt:14 en/git-verify-pack.txt:16 en/git-verify-tag.txt:14 en/git-web--browse.txt:14 en/git-whatchanged.txt:15 en/git-worktree.txt:19 en/git-write-tree.txt:15 +#, no-wrap +msgid "DESCRIPTION" msgstr "" #. type: Plain text -#: en/git-config.txt:65 -msgid "the config file cannot be written (ret=4)," +#: en/git-add.txt:24 +msgid "" +"This command updates the index using the current content found in the " +"working tree, to prepare the content staged for the next commit. It " +"typically adds the current content of existing paths as a whole, but with " +"some options it can also be used to add content with only part of the " +"changes made to the working tree files applied, or remove paths that do not " +"exist in the working tree anymore." msgstr "" #. type: Plain text -#: en/git-config.txt:66 -msgid "you try to unset an option which does not exist (ret=5)," +#: en/git-add.txt:30 +msgid "" +"The \"index\" holds a snapshot of the content of the working tree, and it is " +"this snapshot that is taken as the contents of the next commit. Thus after " +"making any changes to the working tree, and before running the commit " +"command, you must use the `add` command to add any new or modified files to " +"the index." msgstr "" #. type: Plain text -#: en/git-config.txt:67 -msgid "you try to unset/set an option for which multiple lines match (ret=5), or" +#: en/git-add.txt:35 +msgid "" +"This command can be performed multiple times before a commit. It only adds " +"the content of the specified file(s) at the time the add command is run; if " +"you want subsequent changes included in the next commit, then you must run " +"`git add` again to add the new content to the index." msgstr "" #. type: Plain text -#: en/git-config.txt:68 -msgid "you try to use an invalid regexp (ret=6)." +#: en/git-add.txt:38 +msgid "" +"The `git status` command can be used to obtain a summary of which files have " +"changes that are staged for the next commit." msgstr "" #. type: Plain text -#: en/git-config.txt:70 -msgid "On success, the command returns the exit code 0." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:74 -#, no-wrap -msgid "--replace-all" +#: en/git-add.txt:45 +msgid "" +"The `git add` command will not add ignored files by default. If any ignored " +"files were explicitly specified on the command line, `git add` will fail " +"with a list of ignored files. Ignored files reached by directory recursion " +"or filename globbing performed by Git (quote your globs before the shell) " +"will be silently ignored. The 'git add' command can be used to add ignored " +"files with the `-f` (force) option." msgstr "" #. type: Plain text -#: en/git-config.txt:77 +#: en/git-add.txt:48 msgid "" -"Default behavior is to replace at most one line. This replaces all lines " -"matching the key (and optionally the value_regex)." +"Please see linkgit:git-commit[1] for alternative ways to add content to a " +"commit." msgstr "" -#. type: Labeled list -#: en/git-config.txt:78 en/git-update-index.txt:42 +#. type: Title - +#: en/git-add.txt:51 en/git-am.txt:28 en/git-annotate.txt:24 en/git-apply.txt:36 en/git-archimport.txt:68 en/git-archive.txt:34 en/git-bisect.txt:357 en/git-blame.txt:49 en/git-branch.txt:77 en/git-bundle.txt:34 en/git-cat-file.txt:30 en/git-check-attr.txt:21 en/git-check-ignore.txt:27 en/git-check-mailmap.txt:25 en/git-checkout-index.txt:24 en/git-checkout.txt:105 en/git-check-ref-format.txt:87 en/git-cherry-pick.txt:44 en/git-cherry.txt:28 en/git-clean.txt:27 en/git-clone.txt:42 en/git-column.txt:19 en/git-commit-tree.txt:42 en/git-commit.txt:59 en/git-config.txt:72 en/git-count-objects.txt:20 en/git-credential-cache.txt:27 en/git-credential-store.txt:30 en/git-cvsexportcommit.txt:35 en/git-cvsimport.txt:51 en/git-cvsserver.txt:28 en/git-daemon.txt:47 en/git-describe.txt:28 en/git-diff-files.txt:22 en/git-diff-index.txt:23 en/git-difftool.txt:21 en/git-diff-tree.txt:26 en/git-diff.txt:96 en/git-fast-export.txt:25 en/git-fast-import.txt:35 en/git-fetch-pack.txt:34 en/git-fetch.txt:46 en/git-filter-branch.txt:83 en/git-fmt-merge-msg.txt:25 en/git-for-each-ref.txt:27 en/git-format-patch.txt:81 en/git-fsck.txt:22 en/git-gc.txt:34 en/git-grep.txt:71 en/git-hash-object.txt:26 en/git-help.txt:40 en/git-http-fetch.txt:22 en/git-http-push.txt:24 en/git-imap-send.txt:30 en/git-index-pack.txt:26 en/git-init.txt:39 en/git-instaweb.txt:21 en/git-interpret-trailers.txt:69 en/git-log.txt:25 en/git-ls-files.txt:34 en/git-ls-remote.txt:23 en/git-ls-tree.txt:37 en/git-mailinfo.txt:26 en/git-mailsplit.txt:23 en/git-merge-base.txt:70 en/git-merge-file.txt:53 en/git-merge-index.txt:22 en/git-mergetool.txt:26 en/git-merge.txt:69 en/git-mktree.txt:22 en/git-mv.txt:30 en/git-name-rev.txt:22 en/git-notes.txt:126 en/git-p4.txt:162 en/git-pack-objects.txt:48 en/git-pack-redundant.txt:29 en/git-pack-refs.txt:46 en/git-patch-id.txt:31 en/git-prune-packed.txt:30 en/git-prune.txt:34 en/git-pull.txt:75 en/git-quiltimport.txt:32 en/git-read-tree.txt:33 en/git-rebase.txt:226 en/git-receive-pack.txt:40 en/git-reflog.txt:61 en/git-remote.txt:33 en/git-repack.txt:29 en/git-replace.txt:58 en/git-request-pull.txt:28 en/git-reset.txt:94 en/git-revert.txt:34 en/git-rev-list.txt:112 en/git-rev-parse.txt:26 en/git-rm.txt:28 en/git-send-email.txt:43 en/git-send-pack.txt:27 en/git-shortlog.txt:27 en/git-show-branch.txt:32 en/git-show-ref.txt:34 en/git-show.txt:36 en/git-stash.txt:49 en/git-status.txt:25 en/git-stripspace.txt:37 en/git-submodule.txt:270 en/git-svn.txt:544 en/git-symbolic-ref.txt:33 en/git-tag.txt:58 en/git.txt:533 en/git-unpack-file.txt:22 en/git-unpack-objects.txt:29 en/git-update-index.txt:41 en/git-update-server-info.txt:24 en/git-upload-archive.txt:56 en/git-var.txt:19 en/git-verify-commit.txt:18 en/git-verify-pack.txt:22 en/git-verify-tag.txt:18 en/git-web--browse.txt:43 en/git-worktree.txt:83 en/git-write-tree.txt:29 #, no-wrap -msgid "--add" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:82 -msgid "" -"Adds a new line to the option without altering any existing values. This is " -"the same as providing '^$' as the value_regex in `--replace-all`." +msgid "OPTIONS" msgstr "" #. type: Labeled list -#: en/git-config.txt:83 +#: en/git-add.txt:52 en/git-grep.txt:293 #, no-wrap -msgid "--get" +msgid "<pathspec>..." msgstr "" #. type: Plain text -#: en/git-config.txt:87 +#: en/git-add.txt:64 msgid "" -"Get the value for a given key (optionally filtered by a regex matching the " -"value). Returns error code 1 if the key was not found and the last value if " -"multiple key values were found." +"Files to add content from. Fileglobs (e.g. `*.c`) can be given to add all " +"matching files. Also a leading directory name (e.g. `dir` to add " +"`dir/file1` and `dir/file2`) can be given to update the index to match the " +"current state of the directory as a whole (e.g. specifying `dir` will " +"record not just a file `dir/file1` modified in the working tree, a file " +"`dir/file2` added to the working tree, but also a file `dir/file3` removed " +"from the working tree). Note that older versions of Git used to ignore " +"removed files; use `--no-all` option if you want to add modified or new " +"files but ignore removed ones." msgstr "" -#. type: Labeled list -#: en/git-config.txt:88 -#, no-wrap -msgid "--get-all" +#. type: Plain text +#: en/git-add.txt:69 +msgid "" +"Don't actually add the file(s), just show if they exist and/or will be " +"ignored." msgstr "" #. type: Plain text -#: en/git-config.txt:90 -msgid "Like get, but returns all values for a multi-valued key." +#: en/git-add.txt:77 +msgid "Allow adding otherwise ignored files." msgstr "" #. type: Labeled list -#: en/git-config.txt:91 +#: en/git-add.txt:78 en/git-am.txt:122 en/git-branch.txt:124 en/git-clean.txt:42 en/git-commit.txt:253 en/git-cvsimport.txt:88 en/git-grep.txt:116 en/git-help.txt:51 en/git-ls-files.txt:51 en/git-read-tree.txt:48 en/git-rebase.txt:373 en/git-tag.txt:111 en/rev-list-options.txt:75 #, no-wrap -msgid "--get-regexp" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:97 -msgid "" -"Like --get-all, but interprets the name as a regular expression and writes " -"out the key names. Regular expression matching is currently case-sensitive " -"and done against a canonicalized version of the key in which section and " -"variable names are lowercased, but subsection names are not." +msgid "-i" msgstr "" #. type: Labeled list -#: en/git-config.txt:98 +#: en/git-add.txt:79 en/git-am.txt:123 en/git-clean.txt:43 en/git-rebase.txt:374 en/git-svn.txt:281 #, no-wrap -msgid "--get-urlmatch name URL" +msgid "--interactive" msgstr "" #. type: Plain text -#: en/git-config.txt:105 +#: en/git-add.txt:84 msgid "" -"When given a two-part name section.key, the value for section.<url>.key " -"whose <url> part matches the best to the given URL is returned (if no such " -"key exists, the value for section.key is used as a fallback). When given " -"just the section as name, do so for all the keys in the section and list " -"them. Returns error code 1 if no value is found." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:106 -#, no-wrap -msgid "--global" +"Add modified contents in the working tree interactively to the " +"index. Optional path arguments may be supplied to limit operation to a " +"subset of the working tree. See ``Interactive mode'' for details." msgstr "" #. type: Plain text -#: en/git-config.txt:111 +#: en/git-add.txt:91 msgid "" -"For writing options: write to global `~/.gitconfig` file rather than the " -"repository `.git/config`, write to `$XDG_CONFIG_HOME/git/config` file if " -"this file exists and the `~/.gitconfig` file doesn't." +"Interactively choose hunks of patch between the index and the work tree and " +"add them to the index. This gives the user a chance to review the difference " +"before adding modified contents to the index." msgstr "" #. type: Plain text -#: en/git-config.txt:114 +#: en/git-add.txt:95 msgid "" -"For reading options: read only from global `~/.gitconfig` and from " -"`$XDG_CONFIG_HOME/git/config` rather than from all available files." +"This effectively runs `add --interactive`, but bypasses the initial command " +"menu and directly jumps to the `patch` subcommand. See ``Interactive mode'' " +"for details." msgstr "" -#. type: Plain text -#: en/git-config.txt:116 en/git-config.txt:126 en/git-config.txt:135 en/git-config.txt:292 -msgid "See also <<FILES>>." +#. type: Labeled list +#: en/git-add.txt:96 en/git-blame.txt:77 en/git-cat-file.txt:44 en/git-cherry-pick.txt:55 en/git-commit.txt:212 en/git-config.txt:220 en/git-grep.txt:260 en/git-revert.txt:43 en/git-shortlog.txt:38 en/git-svn.txt:583 en/merge-options.txt:11 +#, no-wrap +msgid "-e" msgstr "" #. type: Labeled list -#: en/git-config.txt:117 +#: en/git-add.txt:97 en/git-cherry-pick.txt:56 en/git-commit.txt:213 en/git-config.txt:221 en/git-revert.txt:44 en/git-svn.txt:584 en/merge-options.txt:10 #, no-wrap -msgid "--system" +msgid "--edit" msgstr "" #. type: Plain text -#: en/git-config.txt:121 +#: en/git-add.txt:101 msgid "" -"For writing options: write to system-wide `$(prefix)/etc/gitconfig` rather " -"than the repository `.git/config`." +"Open the diff vs. the index in an editor and let the user edit it. After " +"the editor was closed, adjust the hunk headers and apply the patch to the " +"index." msgstr "" #. type: Plain text -#: en/git-config.txt:124 +#: en/git-add.txt:107 msgid "" -"For reading options: read only from system-wide `$(prefix)/etc/gitconfig` " -"rather than from all available files." +"The intent of this option is to pick and choose lines of the patch to apply, " +"or even to modify the contents of lines to be staged. This can be quicker " +"and more flexible than using the interactive hunk selector. However, it is " +"easy to confuse oneself and create a patch that does not apply to the " +"index. See EDITING PATCHES below." +msgstr "" + +#. type: Labeled list +#: en/git-add.txt:109 +#, no-wrap +msgid "--update" msgstr "" #. type: Plain text -#: en/git-config.txt:130 +#: en/git-add.txt:113 msgid "" -"For writing options: write to the repository `.git/config` file. This " -"is\tthe default behavior." +"Update the index just where it already has an entry matching <pathspec>. " +"This removes as well as modifies index entries to match the working tree, " +"but adds no new files." msgstr "" #. type: Plain text -#: en/git-config.txt:133 +#: en/git-add.txt:118 msgid "" -"For reading options: read only from the repository `.git/config` rather than " -"from all available files." +"If no <pathspec> is given when `-u` option is used, all tracked files in the " +"entire working tree are updated (old versions of Git used to limit the " +"update to the current directory and its subdirectories)." msgstr "" #. type: Labeled list -#: en/git-config.txt:136 +#: en/git-add.txt:119 en/git-repack.txt:44 en/git-svn.txt:402 #, no-wrap -msgid "-f config-file" +msgid "-A" msgstr "" #. type: Labeled list -#: en/git-config.txt:137 +#: en/git-add.txt:121 #, no-wrap -msgid "--file config-file" +msgid "--no-ignore-removal" msgstr "" #. type: Plain text -#: en/git-config.txt:139 -msgid "Use the given config file instead of the one specified by GIT_CONFIG." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:140 -#, no-wrap -msgid "--blob blob" +#: en/git-add.txt:126 +msgid "" +"Update the index not only where the working tree has a file matching " +"<pathspec> but also where the index already has an entry. This adds, " +"modifies, and removes index entries to match the working tree." msgstr "" #. type: Plain text -#: en/git-config.txt:146 +#: en/git-add.txt:131 msgid "" -"Similar to `--file` but use the given blob instead of a file. E.g. you can " -"use 'master:.gitmodules' to read values from the file '.gitmodules' in the " -"master branch. See \"SPECIFYING REVISIONS\" section in " -"linkgit:gitrevisions[7] for a more complete list of ways to spell blob " -"names." +"If no <pathspec> is given when `-A` option is used, all files in the entire " +"working tree are updated (old versions of Git used to limit the update to " +"the current directory and its subdirectories)." msgstr "" #. type: Labeled list -#: en/git-config.txt:147 +#: en/git-add.txt:132 #, no-wrap -msgid "--remove-section" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:149 -msgid "Remove the given section from the configuration file." +msgid "--no-all" msgstr "" #. type: Labeled list -#: en/git-config.txt:150 +#: en/git-add.txt:133 #, no-wrap -msgid "--rename-section" +msgid "--ignore-removal" msgstr "" #. type: Plain text -#: en/git-config.txt:152 -msgid "Rename the given section to a new name." -msgstr "" - -#. type: Labeled list -#: en/git-config.txt:153 -#, no-wrap -msgid "--unset" +#: en/git-add.txt:138 +msgid "" +"Update the index by adding new files that are unknown to the index and files " +"modified in the working tree, but ignore files that have been removed from " +"the working tree. This option is a no-op when no <pathspec> is used." msgstr "" #. type: Plain text -#: en/git-config.txt:155 -msgid "Remove the line matching the key from config file." +#: en/git-add.txt:142 +msgid "" +"This option is primarily to help users who are used to older versions of " +"Git, whose \"git add <pathspec>...\" was a synonym for \"git add --no-all " +"<pathspec>...\", i.e. ignored removed files." msgstr "" #. type: Labeled list -#: en/git-config.txt:156 +#: en/git-add.txt:143 en/git-format-patch.txt:97 en/git-submodule.txt:349 #, no-wrap -msgid "--unset-all" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:158 -msgid "Remove all lines matching the key from config file." -msgstr "" - -#. type: Plain text -#: en/git-config.txt:162 -msgid "List all variables set in config file, along with their values." +msgid "-N" msgstr "" #. type: Labeled list -#: en/git-config.txt:163 +#: en/git-add.txt:144 #, no-wrap -msgid "--bool" +msgid "--intent-to-add" msgstr "" #. type: Plain text -#: en/git-config.txt:165 -msgid "'git config' will ensure that the output is \"true\" or \"false\"" +#: en/git-add.txt:150 +msgid "" +"Record only the fact that the path will be added later. An entry for the " +"path is placed in the index with no content. This is useful for, among other " +"things, showing the unstaged content of such files with `git diff` and " +"committing them with `git commit -a`." msgstr "" #. type: Labeled list -#: en/git-config.txt:166 +#: en/git-add.txt:151 en/git-update-index.txt:52 #, no-wrap -msgid "--int" +msgid "--refresh" msgstr "" #. type: Plain text -#: en/git-config.txt:171 +#: en/git-add.txt:154 msgid "" -"'git config' will ensure that the output is a simple decimal number. An " -"optional value suffix of 'k', 'm', or 'g' in the config file will cause the " -"value to be multiplied by 1024, 1048576, or 1073741824 prior to output." +"Don't add the file(s), but only refresh their stat() information in the " +"index." msgstr "" #. type: Labeled list -#: en/git-config.txt:172 +#: en/git-add.txt:155 #, no-wrap -msgid "--bool-or-int" +msgid "--ignore-errors" msgstr "" #. type: Plain text -#: en/git-config.txt:175 +#: en/git-add.txt:161 msgid "" -"'git config' will ensure that the output matches the format of either --bool " -"or --int, as described above." +"If some files could not be added because of errors indexing them, do not " +"abort the operation, but continue adding the others. The command shall still " +"exit with non-zero status. The configuration variable `add.ignoreErrors` " +"can be set to true to make this the default behaviour." msgstr "" #. type: Labeled list -#: en/git-config.txt:176 en/git-hash-object.txt:41 +#: en/git-add.txt:162 en/git-notes.txt:169 en/git-update-index.txt:70 en/rev-list-options.txt:182 #, no-wrap -msgid "--path" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:182 -msgid "" -"'git-config' will expand leading '{tilde}' to the value of '$HOME', and " -"'{tilde}user' to the home directory for the specified user. This option has " -"no effect when setting the value (but you can use 'git config bla {tilde}/' " -"from the command line to let your shell do the expansion)." +msgid "--ignore-missing" msgstr "" #. type: Plain text -#: en/git-config.txt:191 +#: en/git-add.txt:167 msgid "" -"For all options that output values and/or keys, always end values with the " -"null character (instead of a newline). Use newline instead as a delimiter " -"between key and value. This allows for secure parsing of the output without " -"getting confused e.g. by values that contain line breaks." +"This option can only be used together with --dry-run. By using this option " +"the user can check if any of the given files would be ignored, no matter if " +"they are already present in the work tree or not." msgstr "" #. type: Labeled list -#: en/git-config.txt:192 en/git-grep.txt:178 en/git-ls-tree.txt:59 en/git-name-rev.txt:51 en/diff-options.txt:199 +#: en/git-add.txt:168 en/git-update-index.txt:83 #, no-wrap -msgid "--name-only" +msgid "--chmod=(+|-)x" msgstr "" #. type: Plain text -#: en/git-config.txt:195 -msgid "Output only the names of config variables for `--list` or `--get-regexp`." +#: en/git-add.txt:172 +msgid "" +"Override the executable bit of the added files. The executable bit is only " +"changed in the index, the files on disk are left unchanged." msgstr "" #. type: Labeled list -#: en/git-config.txt:196 +#: en/git-add.txt:173 en/git-check-attr.txt:39 en/git-checkout-index.txt:71 en/git-commit.txt:336 en/git-grep.txt:289 en/git-ls-files.txt:174 en/git-merge-index.txt:23 en/git-prune.txt:45 en/git-rm.txt:53 en/git-update-index.txt:204 en/git-verify-pack.txt:36 #, no-wrap -msgid "--show-origin" +msgid "\\--" msgstr "" #. type: Plain text -#: en/git-config.txt:201 +#: en/git-add.txt:177 en/git-rm.txt:57 msgid "" -"Augment the output of all queried config options with the origin type (file, " -"standard input, blob, command line) and the actual origin (config file path, " -"ref, or blob id if applicable)." +"This option can be used to separate command-line options from the list of " +"files, (useful when filenames might be mistaken for command-line options)." msgstr "" -#. type: Labeled list -#: en/git-config.txt:202 +#. type: Title - +#: en/git-add.txt:180 en/git-apply.txt:244 en/git-gc.txt:82 en/git-repack.txt:147 en/git-update-index.txt:451 #, no-wrap -msgid "--get-colorbool name [stdout-is-tty]" +msgid "Configuration" msgstr "" #. type: Plain text -#: en/git-config.txt:212 +#: en/git-add.txt:186 msgid "" -"Find the color setting for `name` (e.g. `color.diff`) and output \"true\" or " -"\"false\". `stdout-is-tty` should be either \"true\" or \"false\", and is " -"taken into account when configuration says \"auto\". If `stdout-is-tty` is " -"missing, then checks the standard output of the command itself, and exits " -"with status 0 if color is to be used, or exits with status 1 otherwise. " -"When the color setting for `name` is undefined, the command uses `color.ui` " -"as fallback." +"The optional configuration variable `core.excludesFile` indicates a path to " +"a file containing patterns of file names to exclude from git-add, similar to " +"$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to " +"those in info/exclude. See linkgit:gitignore[5]." msgstr "" -#. type: Labeled list -#: en/git-config.txt:213 +#. type: Title - +#: en/git-add.txt:189 en/git-archive.txt:149 en/git-bisect.txt:370 en/git-check-attr.txt:71 en/git-checkout-index.txt:143 en/git-checkout.txt:435 en/git-check-ref-format.txt:110 en/git-cherry-pick.txt:156 en/git-cherry.txt:43 en/git-commit.txt:350 en/git-config.txt:296 en/git-credential-cache.txt:52 en/git-credential-store.txt:71 en/git-cvsexportcommit.txt:91 en/git-daemon.txt:235 en/git-describe.txt:110 en/git-diff.txt:109 en/git-fast-export.txt:125 en/git-fetch.txt:155 en/git-for-each-ref.txt:237 en/git-format-patch.txt:591 en/git-http-backend.txt:67 en/git-init.txt:141 en/git-interpret-trailers.txt:205 en/git-log.txt:108 en/git-ls-remote.txt:75 en/git-merge-file.txt:81 en/git-merge.txt:310 en/git-notes.txt:278 en/git-pull.txt:206 en/git-remote-fd.txt:37 en/git-reset.txt:102 en/git-revert.txt:109 en/git-rev-parse.txt:427 en/git-rm.txt:159 en/git-show.txt:58 en/git-stash.txt:201 en/git-stripspace.txt:49 en/git-worktree.txt:224 #, no-wrap -msgid "--get-color name [default]" -msgstr "" - -#. type: Plain text -#: en/git-config.txt:219 -msgid "" -"Find the color configured for `name` (e.g. `color.diff.new`) and output it " -"as the ANSI color escape sequence to the standard output. The optional " -"`default` parameter is used instead, if there is no color configured for " -"`name`." +msgid "EXAMPLES" msgstr "" #. type: Plain text -#: en/git-config.txt:224 +#: en/git-add.txt:193 msgid "" -"Opens an editor to modify the specified config file; either `--system`, " -"`--global`, or repository (default)." +"Adds content from all `*.txt` files under `Documentation` directory and its " +"subdirectories:" msgstr "" -#. type: Labeled list -#: en/git-config.txt:225 +#. type: delimited block - +#: en/git-add.txt:196 #, no-wrap -msgid "--[no-]includes" +msgid "$ git add Documentation/\\*.txt\n" msgstr "" #. type: Plain text -#: en/git-config.txt:230 +#: en/git-add.txt:201 msgid "" -"Respect `include.*` directives in config files when looking up " -"values. Defaults to `off` when a specific file is given (e.g., using " -"`--file`, `--global`, etc) and `on` when searching all config files." +"Note that the asterisk `*` is quoted from the shell in this example; this " +"lets the command include the files from subdirectories of `Documentation/` " +"directory." msgstr "" #. type: Plain text -#: en/git-config.txt:237 -msgid "" -"If not set explicitly with `--file`, there are four files where 'git config' " -"will search for configuration options:" +#: en/git-add.txt:203 +msgid "Considers adding content from all git-*.sh scripts:" msgstr "" -#. type: Plain text -#: en/git-config.txt:240 +#. type: delimited block - +#: en/git-add.txt:206 #, no-wrap -msgid "" -"$(prefix)/etc/gitconfig::\n" -"\tSystem-wide configuration file.\n" +msgid "$ git add git-*.sh\n" msgstr "" #. type: Plain text -#: en/git-config.txt:248 -#, no-wrap +#: en/git-add.txt:211 msgid "" -"$XDG_CONFIG_HOME/git/config::\n" -"\tSecond user-specific configuration file. If $XDG_CONFIG_HOME is not set\n" -"\tor empty, `$HOME/.config/git/config` will be used. Any single-valued\n" -"\tvariable set in this file will be overwritten by whatever is in\n" -"\t`~/.gitconfig`. It is a good idea not to create this file if\n" -"\tyou sometimes use older versions of Git, as support for this\n" -"\tfile was added fairly recently.\n" +"Because this example lets the shell expand the asterisk (i.e. you are " +"listing the files explicitly), it does not consider `subdir/git-foo.sh`." msgstr "" -#. type: Plain text -#: en/git-config.txt:252 +#. type: Title - +#: en/git-add.txt:213 en/git-clean.txt:75 #, no-wrap -msgid "" -"~/.gitconfig::\n" -"\tUser-specific configuration file. Also called \"global\"\n" -"\tconfiguration file.\n" +msgid "Interactive mode" msgstr "" #. type: Plain text -#: en/git-config.txt:255 -#, no-wrap +#: en/git-add.txt:217 msgid "" -"$GIT_DIR/config::\n" -"\tRepository specific configuration file.\n" +"When the command enters the interactive mode, it shows the output of the " +"'status' subcommand, and then goes into its interactive command loop." msgstr "" #. type: Plain text -#: en/git-config.txt:261 +#: en/git-add.txt:222 en/git-clean.txt:84 msgid "" -"If no further options are given, all reading options will read all of these " -"files that are available. If the global or the system-wide configuration " -"file are not available they will be ignored. If the repository configuration " -"file is not available or readable, 'git config' will exit with a non-zero " -"error code. However, in neither case will an error message be issued." +"The command loop shows the list of subcommands available, and gives a prompt " +"\"What now> \". In general, when the prompt ends with a single '>', you can " +"pick only one of the choices given and type return, like this:" msgstr "" -#. type: Plain text -#: en/git-config.txt:265 +#. type: delimited block - +#: en/git-add.txt:228 +#, no-wrap msgid "" -"The files are read in the order given above, with last value found taking " -"precedence over values read earlier. When multiple values are taken then " -"all values of a key from all files will be used." +" *** Commands ***\n" +" 1: status 2: update 3: revert 4: add untracked\n" +" 5: patch 6: diff 7: quit 8: help\n" +" What now> 1\n" msgstr "" #. type: Plain text -#: en/git-config.txt:268 +#: en/git-add.txt:232 msgid "" -"You may override individual configuration parameters when running any git " -"command by using the `-c` option. See linkgit:git[1] for details." +"You also could say `s` or `sta` or `status` above as long as the choice is " +"unique." msgstr "" #. type: Plain text -#: en/git-config.txt:272 -msgid "" -"All writing options will per default write to the repository specific " -"configuration file. Note that this also affects options like `--replace-all` " -"and `--unset`. *'git config' will only ever change one file at a time*." +#: en/git-add.txt:234 +msgid "The main command loop has 6 subcommands (plus help and quit)." msgstr "" -#. type: Plain text -#: en/git-config.txt:277 -msgid "" -"You can override these rules either by command-line options or by " -"environment variables. The `--global` and the `--system` options will limit " -"the file used to the global or system-wide file respectively. The " -"`GIT_CONFIG` environment variable has a similar effect, but you can specify " -"any filename you want." +#. type: Labeled list +#: en/git-add.txt:235 +#, no-wrap +msgid "status" msgstr "" -#. type: Title - -#: en/git-config.txt:280 en/git-cvsserver.txt:310 en/git-daemon.txt:310 en/git-http-backend.txt:243 en/git-notes.txt:373 -#, no-wrap -msgid "ENVIRONMENT" +#. type: Plain text +#: en/git-add.txt:242 +msgid "" +"This shows the change between HEAD and index (i.e. what will be committed if " +"you say `git commit`), and between index and working tree files (i.e. what " +"you could stage further before `git commit` using `git add`) for each path. " +"A sample output looks like this:" msgstr "" -#. type: Labeled list -#: en/git-config.txt:282 +#. type: delimited block - +#: en/git-add.txt:247 #, no-wrap -msgid "GIT_CONFIG" +msgid "" +" staged unstaged path\n" +" 1: binary nothing foo.png\n" +" 2: +403/-35 +1/-1 git-add--interactive.perl\n" msgstr "" #. type: Plain text -#: en/git-config.txt:286 +#: en/git-add.txt:258 msgid "" -"Take the configuration from the given file instead of .git/config. Using " -"the \"--global\" option forces this to ~/.gitconfig. Using the \"--system\" " -"option forces this to $(prefix)/etc/gitconfig." +"It shows that foo.png has differences from HEAD (but that is binary so line " +"count cannot be shown) and there is no difference between indexed copy and " +"the working tree version (if the working tree version were also different, " +"'binary' would have been shown in place of 'nothing'). The other file, " +"git-add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if " +"you commit what is in the index, but working tree file has further " +"modifications (one addition and one deletion)." msgstr "" #. type: Labeled list -#: en/git-config.txt:287 +#: en/git-add.txt:259 en/git-update-ref.txt:94 #, no-wrap -msgid "GIT_CONFIG_NOSYSTEM" +msgid "update" msgstr "" #. type: Plain text -#: en/git-config.txt:290 +#: en/git-add.txt:268 msgid "" -"Whether to skip reading settings from the system-wide " -"$(prefix)/etc/gitconfig file. See linkgit:git[1] for details." +"This shows the status information and issues an \"Update>>\" prompt. When " +"the prompt ends with double '>>', you can make more than one selection, " +"concatenated with whitespace or comma. Also you can say ranges. E.g. \"2-5 " +"7,9\" to choose 2,3,4,5,7,9 from the list. If the second number in a range " +"is omitted, all remaining patches are taken. E.g. \"7-\" to choose 7,8,9 " +"from the list. You can say '*' to choose everything." msgstr "" #. type: Plain text -#: en/git-config.txt:299 -msgid "Given a .git/config like this:" +#: en/git-add.txt:271 +msgid "What you chose are then highlighted with '*', like this:" msgstr "" -#. type: Plain text -#: en/git-config.txt:305 +#. type: delimited block - +#: en/git-add.txt:276 #, no-wrap msgid "" -"\t#\n" -"\t# This is the config file, and\n" -"\t# a '#' or ';' character indicates\n" -"\t# a comment\n" -"\t#\n" +" staged unstaged path\n" +" 1: binary nothing foo.png\n" +"* 2: +403/-35 +1/-1 git-add--interactive.perl\n" msgstr "" #. type: Plain text -#: en/git-config.txt:310 -#, no-wrap -msgid "" -"\t; core variables\n" -"\t[core]\n" -"\t\t; Don't trust file modes\n" -"\t\tfilemode = false\n" +#: en/git-add.txt:280 +msgid "To remove selection, prefix the input with `-` like this:" msgstr "" -#. type: Plain text -#: en/git-config.txt:315 +#. type: delimited block - +#: en/git-add.txt:283 #, no-wrap -msgid "" -"\t; Our diff algorithm\n" -"\t[diff]\n" -"\t\texternal = /usr/local/bin/diff-wrapper\n" -"\t\trenames = true\n" +msgid "Update>> -2\n" msgstr "" #. type: Plain text -#: en/git-config.txt:320 -#, no-wrap +#: en/git-add.txt:287 msgid "" -"\t; Proxy settings\n" -"\t[core]\n" -"\t\tgitproxy=proxy-command for kernel.org\n" -"\t\tgitproxy=default-proxy ; for all the rest\n" +"After making the selection, answer with an empty line to stage the contents " +"of working tree files for selected paths in the index." msgstr "" -#. type: Plain text -#: en/git-config.txt:327 +#. type: Labeled list +#: en/git-add.txt:288 #, no-wrap -msgid "" -"\t; HTTP\n" -"\t[http]\n" -"\t\tsslVerify\n" -"\t[http \"https://weak.example.com\"]\n" -"\t\tsslVerify = false\n" -"\t\tcookieFile = /tmp/cookie.txt\n" +msgid "revert" msgstr "" #. type: Plain text -#: en/git-config.txt:329 -msgid "you can set the filemode to true with" +#: en/git-add.txt:293 +msgid "" +"This has a very similar UI to 'update', and the staged information for " +"selected paths are reverted to that of the HEAD version. Reverting new " +"paths makes them untracked." msgstr "" -#. type: delimited block - -#: en/git-config.txt:332 +#. type: Labeled list +#: en/git-add.txt:294 #, no-wrap -msgid "% git config core.filemode true\n" +msgid "add untracked" msgstr "" #. type: Plain text -#: en/git-config.txt:337 +#: en/git-add.txt:298 msgid "" -"The hypothetical proxy command entries actually have a postfix to discern " -"what URL they apply to. Here is how to change the entry for kernel.org to " -"\"ssh\"." +"This has a very similar UI to 'update' and 'revert', and lets you add " +"untracked paths to the index." msgstr "" -#. type: delimited block - -#: en/git-config.txt:340 +#. type: Labeled list +#: en/git-add.txt:299 #, no-wrap -msgid "% git config core.gitproxy '\"ssh\" for kernel.org' 'for kernel.org$'\n" +msgid "patch" msgstr "" #. type: Plain text -#: en/git-config.txt:343 -msgid "This makes sure that only the key/value pair for kernel.org is replaced." +#: en/git-add.txt:306 +msgid "" +"This lets you choose one path out of a 'status' like selection. After " +"choosing the path, it presents the diff between the index and the working " +"tree file and asks you if you want to stage the change of each hunk. You " +"can select one of the following options and type return:" msgstr "" #. type: Plain text -#: en/git-config.txt:345 -msgid "To delete the entry for renames, do" -msgstr "" - -#. type: delimited block - -#: en/git-config.txt:348 +#: en/git-add.txt:321 #, no-wrap -msgid "% git config --unset diff.renames\n" +msgid "" +"y - stage this hunk\n" +"n - do not stage this hunk\n" +"q - quit; do not stage this hunk or any of the remaining ones\n" +"a - stage this hunk and all later hunks in the file\n" +"d - do not stage this hunk or any of the later hunks in the file\n" +"g - select a hunk to go to\n" +"/ - search for a hunk matching the given regex\n" +"j - leave this hunk undecided, see next undecided hunk\n" +"J - leave this hunk undecided, see next hunk\n" +"k - leave this hunk undecided, see previous undecided hunk\n" +"K - leave this hunk undecided, see previous hunk\n" +"s - split the current hunk into smaller hunks\n" +"e - manually edit the current hunk\n" +"? - print help\n" msgstr "" #. type: Plain text -#: en/git-config.txt:352 +#: en/git-add.txt:324 msgid "" -"If you want to delete an entry for a multivar (like core.gitproxy above), " -"you have to provide a regex matching the value of exactly one line." +"After deciding the fate for all hunks, if there is any hunk that was chosen, " +"the index is updated with the selected hunks." msgstr "" #. type: Plain text -#: en/git-config.txt:354 -msgid "To query the value for a given key, do" +#: en/git-add.txt:327 +msgid "" +"You can omit having to type return here, by setting the configuration " +"variable `interactive.singleKey` to `true`." msgstr "" -#. type: delimited block - -#: en/git-config.txt:357 +#. type: Labeled list +#: en/git-add.txt:328 #, no-wrap -msgid "% git config --get core.filemode\n" +msgid "diff" msgstr "" #. type: Plain text -#: en/git-config.txt:360 en/git-gui.txt:120 en/git-merge-index.txt:64 -msgid "or" +#: en/git-add.txt:332 +msgid "This lets you review what will be committed (i.e. between HEAD and index)." msgstr "" -#. type: delimited block - -#: en/git-config.txt:363 +#. type: Title - +#: en/git-add.txt:335 #, no-wrap -msgid "% git config core.filemode\n" +msgid "EDITING PATCHES" msgstr "" #. type: Plain text -#: en/git-config.txt:366 -msgid "or, to query a multivar:" +#: en/git-add.txt:345 +msgid "" +"Invoking `git add -e` or selecting `e` from the interactive hunk selector " +"will open a patch in your editor; after the editor exits, the result is " +"applied to the index. You are free to make arbitrary changes to the patch, " +"but note that some changes may have confusing results, or even result in a " +"patch that cannot be applied. If you want to abort the operation entirely " +"(i.e., stage nothing new in the index), simply delete all lines of the " +"patch. The list below describes some common things you may see in a patch, " +"and which editing operations make sense on them." msgstr "" -#. type: delimited block - -#: en/git-config.txt:369 +#. type: Labeled list +#: en/git-add.txt:347 #, no-wrap -msgid "% git config --get core.gitproxy \"for kernel.org$\"\n" +msgid "added content" msgstr "" #. type: Plain text -#: en/git-config.txt:372 -msgid "If you want to know all the values for a multivar, do:" +#: en/git-add.txt:351 +msgid "" +"Added content is represented by lines beginning with \"{plus}\". You can " +"prevent staging any addition lines by deleting them." msgstr "" -#. type: delimited block - -#: en/git-config.txt:375 +#. type: Labeled list +#: en/git-add.txt:352 #, no-wrap -msgid "% git config --get-all core.gitproxy\n" +msgid "removed content" msgstr "" #. type: Plain text -#: en/git-config.txt:379 +#: en/git-add.txt:356 msgid "" -"If you like to live dangerously, you can replace *all* core.gitproxy by a " -"new one with" +"Removed content is represented by lines beginning with \"-\". You can " +"prevent staging their removal by converting the \"-\" to a \" \" (space)." msgstr "" -#. type: delimited block - -#: en/git-config.txt:382 +#. type: Labeled list +#: en/git-add.txt:357 #, no-wrap -msgid "% git config --replace-all core.gitproxy ssh\n" +msgid "modified content" msgstr "" #. type: Plain text -#: en/git-config.txt:386 +#: en/git-add.txt:364 msgid "" -"However, if you really only want to replace the line for the default proxy, " -"i.e. the one without a \"for ...\" postfix, do something like this:" +"Modified content is represented by \"-\" lines (removing the old content) " +"followed by \"{plus}\" lines (adding the replacement content). You can " +"prevent staging the modification by converting \"-\" lines to \" \", and " +"removing \"{plus}\" lines. Beware that modifying only half of the pair is " +"likely to introduce confusing changes to the index." msgstr "" -#. type: delimited block - -#: en/git-config.txt:389 -#, no-wrap -msgid "% git config core.gitproxy ssh '! for '\n" +#. type: Plain text +#: en/git-add.txt:372 +msgid "" +"There are also more complex operations that can be performed. But beware " +"that because the patch is applied only to the index and not the working " +"tree, the working tree will appear to \"undo\" the change in the index. For " +"example, introducing a new line into the index that is in neither the HEAD " +"nor the working tree will stage the new line for commit, but the line will " +"appear to be reverted in the working tree." msgstr "" #. type: Plain text -#: en/git-config.txt:392 -msgid "To actually match only values with an exclamation mark, you have to" +#: en/git-add.txt:374 +msgid "Avoid using these constructs, or do so with extreme caution." msgstr "" -#. type: delimited block - -#: en/git-config.txt:395 +#. type: Labeled list +#: en/git-add.txt:376 #, no-wrap -msgid "% git config section.key value '[!]'\n" +msgid "removing untouched content" msgstr "" #. type: Plain text -#: en/git-config.txt:398 -msgid "To add a new proxy, without altering any of the existing ones, use" +#: en/git-add.txt:382 +msgid "" +"Content which does not differ between the index and working tree may be " +"shown on context lines, beginning with a \" \" (space). You can stage " +"context lines for removal by converting the space to a \"-\". The resulting " +"working tree file will appear to re-add the content." msgstr "" -#. type: delimited block - -#: en/git-config.txt:401 +#. type: Labeled list +#: en/git-add.txt:383 #, no-wrap -msgid "% git config --add core.gitproxy '\"proxy-command\" for example.com'\n" +msgid "modifying existing content" msgstr "" #. type: Plain text -#: en/git-config.txt:405 -msgid "An example to use customized color from the configuration in your script:" +#: en/git-add.txt:390 +msgid "" +"One can also modify context lines by staging them for removal (by converting " +"\" \" to \"-\") and adding a \"{plus}\" line with the new content. " +"Similarly, one can modify \"{plus}\" lines for existing additions or " +"modifications. In all cases, the new modification will appear reverted in " +"the working tree." msgstr "" -#. type: delimited block - -#: en/git-config.txt:411 +#. type: Labeled list +#: en/git-add.txt:391 #, no-wrap -msgid "" -"#!/bin/sh\n" -"WS=$(git config --get-color color.diff.whitespace \"blue reverse\")\n" -"RESET=$(git config --get-color \"\" \"reset\")\n" -"echo \"${WS}your whitespace color or blue reverse${RESET}\"\n" +msgid "new content" msgstr "" #. type: Plain text -#: en/git-config.txt:415 +#: en/git-add.txt:396 msgid "" -"For URLs in `https://weak.example.com`, `http.sslVerify` is set to false, " -"while it is set to `true` for all others:" +"You may also add new content that does not exist in the patch; simply add " +"new lines, each starting with \"{plus}\". The addition will appear reverted " +"in the working tree." msgstr "" -#. type: delimited block - -#: en/git-config.txt:424 -#, no-wrap +#. type: Plain text +#: en/git-add.txt:400 msgid "" -"% git config --bool --get-urlmatch http.sslverify https://good.example.com\n" -"true\n" -"% git config --bool --get-urlmatch http.sslverify https://weak.example.com\n" -"false\n" -"% git config --get-urlmatch http https://weak.example.com\n" -"http.cookieFile /tmp/cookie.txt\n" -"http.sslverify false\n" +"There are also several operations which should be avoided entirely, as they " +"will make the patch impossible to apply:" msgstr "" -#. type: Title = -#: en/git-count-objects.txt:2 -#, no-wrap -msgid "git-count-objects(1)" +#. type: Plain text +#: en/git-add.txt:402 +msgid "adding context (\" \") or removal (\"-\") lines" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:7 -msgid "" -"git-count-objects - Count unpacked number of objects and their disk " -"consumption" +#: en/git-add.txt:403 +msgid "deleting context or removal lines" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:12 +#: en/git-add.txt:404 +msgid "modifying the contents of context or removal lines" +msgstr "" + +#. type: Title - +#: en/git-add.txt:406 en/git-am.txt:227 en/git-annotate.txt:29 en/git-apply.txt:270 en/git-archive.txt:192 en/git-bisect.txt:494 en/git-blame.txt:232 en/git-branch.txt:313 en/git-check-attr.txt:115 en/git-check-ignore.txt:113 en/git-cherry-pick.txt:228 en/git-cherry.txt:140 en/git-clean.txt:136 en/git-commit-tree.txt:113 en/git-commit.txt:480 en/git-difftool.txt:135 en/git-diff.txt:179 en/git-fast-export.txt:213 en/git-fast-import.txt:1470 en/git-fetch-pack.txt:127 en/git-fetch.txt:207 en/git-fmt-merge-msg.txt:73 en/git-for-each-ref.txt:339 en/git-format-patch.txt:636 en/git-gc.txt:178 en/git-gui.txt:103 en/git-imap-send.txt:178 en/git-instaweb.txt:88 en/git-interpret-trailers.txt:334 en/git-ls-files.txt:237 en/git-merge.txt:353 en/git-pack-objects.txt:235 en/git-pack-redundant.txt:43 en/git-prune-packed.txt:41 en/git-prune.txt:78 en/git-pull.txt:252 en/git-read-tree.txt:425 en/git-receive-pack.txt:218 en/git-remote-ext.txt:120 en/git-remote-fd.txt:54 en/git-remote-testgit.txt:25 en/git-remote.txt:245 en/git-repack.txt:160 en/git-replace.txt:144 en/git-revert.txt:124 en/git-rm.txt:183 en/git-send-email.txt:477 en/git-shell.txt:83 en/git-show-ref.txt:178 en/git-stash.txt:287 en/git-status.txt:354 en/git-svn.txt:1131 en/git-tag.txt:345 en/git.txt:1287 en/git-update-index.txt:479 en/git-upload-pack.txt:48 en/git-var.txt:63 #, no-wrap -msgid "'git count-objects' [-v] [-H | --human-readable]\n" +msgid "SEE ALSO" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:17 +#: en/git-add.txt:413 msgid "" -"This counts the number of unpacked object files and disk space consumed by " -"them, to help you decide when it is a good time to repack." +"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] " +"linkgit:git-mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]" msgstr "" -#. type: Plain text -#: en/git-count-objects.txt:24 -msgid "Report in more detail:" +#. type: Title - +#: en/git-add.txt:415 en/git-am.txt:231 en/git-annotate.txt:33 en/git-apply.txt:274 en/git-archimport.txt:111 en/git-archive.txt:196 en/git-bisect.txt:499 en/git-blame.txt:236 en/git-branch.txt:321 en/git-bundle.txt:204 en/git-cat-file.txt:301 en/git-check-attr.txt:119 en/git-check-ignore.txt:119 en/git-check-mailmap.txt:46 en/git-checkout-index.txt:176 en/git-checkout.txt:521 en/git-check-ref-format.txt:126 en/git-cherry-pick.txt:232 en/git-cherry.txt:144 en/git-citool.txt:24 en/git-clean.txt:140 en/git-clone.txt:296 en/git-column.txt:47 en/git-commit-tree.txt:117 en/git-commit.txt:488 en/git-config.txt:429 en/git-count-objects.txt:53 en/git-credential-cache--daemon.txt:29 en/git-credential-cache.txt:76 en/git-credential-store.txt:105 en/git-cvsexportcommit.txt:117 en/git-cvsimport.txt:227 en/git-cvsserver.txt:432 en/git-daemon.txt:317 en/git-describe.txt:181 en/git-diff-files.txt:51 en/git-diff-index.txt:121 en/git-difftool.txt:146 en/git-diff-tree.txt:166 en/git-diff.txt:188 en/git-fast-export.txt:217 en/git-fast-import.txt:1474 en/git-fetch-pack.txt:131 en/git-fetch.txt:211 en/git-filter-branch.txt:462 en/git-fmt-merge-msg.txt:77 en/git-for-each-ref.txt:343 en/git-format-patch.txt:640 en/git-fsck-objects.txt:21 en/git-fsck.txt:158 en/git-gc.txt:185 en/git-get-tar-commit-id.txt:29 en/git-grep.txt:313 en/git-gui.txt:126 en/git-hash-object.txt:64 en/git-help.txt:190 en/git-http-backend.txt:276 en/git-http-fetch.txt:51 en/git-http-push.txt:96 en/git-imap-send.txt:182 en/git-index-pack.txt:104 en/git-init-db.txt:22 en/git-init.txt:157 en/git-instaweb.txt:92 en/git-interpret-trailers.txt:338 en/git-log.txt:223 en/git-ls-files.txt:241 en/git-ls-remote.txt:94 en/git-ls-tree.txt:103 en/git-mailinfo.txt:101 en/git-mailsplit.txt:56 en/git-merge-base.txt:182 en/git-merge-file.txt:94 en/git-merge-index.txt:78 en/git-merge-one-file.txt:20 en/git-mergetool--lib.txt:46 en/git-mergetool.txt:100 en/git-merge-tree.txt:28 en/git-merge.txt:362 en/git-mktag.txt:38 en/git-mktree.txt:39 en/git-mv.txt:68 en/git-name-rev.txt:88 en/git-notes.txt:404 en/git-pack-objects.txt:241 en/git-pack-redundant.txt:49 en/git-pack-refs.txt:72 en/git-parse-remote.txt:22 en/git-patch-id.txt:63 en/git-prune-packed.txt:46 en/git-prune.txt:85 en/git-pull.txt:256 en/git-push.txt:566 en/git-quiltimport.txt:60 en/git-read-tree.txt:430 en/git-rebase.txt:801 en/git-receive-pack.txt:222 en/git-reflog.txt:132 en/git-remote-ext.txt:124 en/git-remote-fd.txt:58 en/git-remote-testgit.txt:29 en/git-remote.txt:251 en/git-repack.txt:165 en/git-replace.txt:155 en/git-request-pull.txt:78 en/git-rerere.txt:215 en/git-reset.txt:453 en/git-revert.txt:128 en/git-rev-list.txt:120 en/git-rev-parse.txt:452 en/git-rm.txt:187 en/git-send-email.txt:481 en/git-send-pack.txt:149 en/git-shell.txt:89 en/git-sh-i18n--envsubst.txt:35 en/git-sh-i18n.txt:42 en/git-shortlog.txt:89 en/git-show-branch.txt:203 en/git-show-index.txt:26 en/git-show-ref.txt:185 en/git-show.txt:86 en/git-sh-setup.txt:94 en/git-stage.txt:22 en/git-stash.txt:294 en/git-status.txt:358 en/git-stripspace.txt:93 en/git-submodule.txt:437 en/git-svn.txt:1135 en/git-symbolic-ref.txt:68 en/git-tag.txt:350 en/git.txt:1295 en/git-unpack-file.txt:27 en/git-unpack-objects.txt:51 en/git-update-index.txt:485 en/git-update-ref.txt:151 en/git-update-server-info.txt:43 en/git-upload-archive.txt:61 en/git-upload-pack.txt:52 en/git-var.txt:69 en/git-verify-commit.txt:31 en/git-verify-pack.txt:52 en/git-verify-tag.txt:31 en/git-web--browse.txt:123 en/git-whatchanged.txt:42 en/git-worktree.txt:258 en/git-write-tree.txt:41 +#, no-wrap +msgid "GIT" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:26 -msgid "count: the number of loose objects" +#: en/git-add.txt:416 en/git-am.txt:232 en/git-annotate.txt:34 en/git-apply.txt:275 en/git-archimport.txt:112 en/git-archive.txt:197 en/git-bisect.txt:500 en/git-blame.txt:237 en/git-branch.txt:322 en/git-bundle.txt:205 en/git-cat-file.txt:302 en/git-check-attr.txt:120 en/git-check-ignore.txt:120 en/git-check-mailmap.txt:47 en/git-checkout-index.txt:177 en/git-checkout.txt:522 en/git-check-ref-format.txt:127 en/git-cherry-pick.txt:233 en/git-cherry.txt:145 en/git-citool.txt:25 en/git-clean.txt:141 en/git-clone.txt:297 en/git-column.txt:48 en/git-commit-tree.txt:118 en/git-commit.txt:489 en/git-config.txt:430 en/git-count-objects.txt:54 en/git-credential-cache--daemon.txt:30 en/git-credential-cache.txt:77 en/git-credential-store.txt:106 en/git-cvsexportcommit.txt:118 en/git-cvsimport.txt:228 en/git-cvsserver.txt:433 en/git-daemon.txt:318 en/git-describe.txt:182 en/git-diff-files.txt:52 en/git-diff-index.txt:122 en/git-difftool.txt:147 en/git-diff-tree.txt:167 en/git-diff.txt:189 en/git-fast-export.txt:218 en/git-fast-import.txt:1475 en/git-fetch-pack.txt:132 en/git-fetch.txt:212 en/git-filter-branch.txt:463 en/git-fmt-merge-msg.txt:78 en/git-for-each-ref.txt:344 en/git-format-patch.txt:641 en/git-fsck-objects.txt:22 en/git-fsck.txt:159 en/git-gc.txt:186 en/git-get-tar-commit-id.txt:30 en/git-grep.txt:314 en/git-gui.txt:127 en/git-hash-object.txt:65 en/git-help.txt:191 en/git-http-backend.txt:277 en/git-http-fetch.txt:52 en/git-http-push.txt:97 en/git-imap-send.txt:183 en/git-index-pack.txt:105 en/git-init-db.txt:23 en/git-init.txt:158 en/git-instaweb.txt:93 en/git-interpret-trailers.txt:339 en/git-log.txt:224 en/git-ls-files.txt:242 en/git-ls-remote.txt:95 en/git-ls-tree.txt:104 en/git-mailinfo.txt:102 en/git-mailsplit.txt:57 en/git-merge-base.txt:183 en/git-merge-file.txt:95 en/git-merge-index.txt:79 en/git-merge-one-file.txt:21 en/git-mergetool--lib.txt:47 en/git-mergetool.txt:101 en/git-merge-tree.txt:29 en/git-merge.txt:363 en/git-mktag.txt:39 en/git-mktree.txt:40 en/git-mv.txt:69 en/git-name-rev.txt:89 en/git-notes.txt:405 en/git-pack-objects.txt:242 en/git-pack-redundant.txt:50 en/git-pack-refs.txt:73 en/git-parse-remote.txt:23 en/git-patch-id.txt:64 en/git-prune-packed.txt:47 en/git-prune.txt:86 en/git-pull.txt:257 en/git-push.txt:567 en/git-quiltimport.txt:61 en/git-read-tree.txt:431 en/git-rebase.txt:802 en/git-receive-pack.txt:223 en/git-reflog.txt:133 en/git-remote-ext.txt:125 en/git-remote-fd.txt:59 en/git-remote-testgit.txt:30 en/git-remote.txt:252 en/git-repack.txt:166 en/git-replace.txt:156 en/git-request-pull.txt:79 en/git-rerere.txt:216 en/git-reset.txt:454 en/git-revert.txt:129 en/git-rev-list.txt:121 en/git-rev-parse.txt:453 en/git-rm.txt:188 en/git-send-email.txt:482 en/git-send-pack.txt:150 en/git-shell.txt:90 en/git-sh-i18n--envsubst.txt:36 en/git-sh-i18n.txt:43 en/git-shortlog.txt:90 en/git-show-branch.txt:204 en/git-show-index.txt:27 en/git-show-ref.txt:186 en/git-show.txt:87 en/git-sh-setup.txt:95 en/git-stage.txt:23 en/git-stash.txt:295 en/git-status.txt:359 en/git-stripspace.txt:94 en/git-submodule.txt:438 en/git-svn.txt:1136 en/git-symbolic-ref.txt:69 en/git-tag.txt:351 en/git.txt:1296 en/git-unpack-file.txt:28 en/git-unpack-objects.txt:52 en/git-update-index.txt:486 en/git-update-ref.txt:152 en/git-update-server-info.txt:44 en/git-upload-archive.txt:62 en/git-upload-pack.txt:53 en/git-var.txt:70 en/git-verify-commit.txt:32 en/git-verify-pack.txt:53 en/git-verify-tag.txt:32 en/git-web--browse.txt:124 en/git-whatchanged.txt:43 en/git-worktree.txt:259 en/git-write-tree.txt:42 +msgid "Part of the linkgit:git[1] suite" msgstr "" -#. type: Plain text -#: en/git-count-objects.txt:28 -msgid "size: disk space consumed by loose objects, in KiB (unless -H is specified)" +#. type: Title = +#: en/git-am.txt:2 +#, no-wrap +msgid "git-am(1)" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:30 -msgid "in-pack: the number of in-pack objects" +#: en/git-am.txt:7 +msgid "git-am - Apply a series of patches from a mailbox" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:32 -msgid "size-pack: disk space consumed by the packs, in KiB (unless -H is specified)" +#: en/git-am.txt:20 +#, no-wrap +msgid "" +"'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]\n" +"\t [--[no-]3way] [--interactive] [--committer-date-is-author-date]\n" +"\t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n" +"\t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]\n" +"\t [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]\n" +"\t [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]\n" +"\t [(<mbox> | <Maildir>)...]\n" +"'git am' (--continue | --skip | --abort)\n" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:35 +#: en/git-am.txt:26 msgid "" -"prune-packable: the number of loose objects that are also present in the " -"packs. These objects could be pruned using `git prune-packed`." +"Splits mail messages in a mailbox into commit log message, authorship " +"information and patches, and applies them to the current branch." +msgstr "" + +#. type: Labeled list +#: en/git-am.txt:29 +#, no-wrap +msgid "(<mbox>|<Maildir>)..." msgstr "" #. type: Plain text -#: en/git-count-objects.txt:38 +#: en/git-am.txt:33 msgid "" -"garbage: the number of files in object database that are neither valid loose " -"objects nor valid packs" +"The list of mailbox files to read patches from. If you do not supply this " +"argument, the command reads from the standard input. If you supply " +"directories, they will be treated as Maildirs." +msgstr "" + +#. type: Labeled list +#: en/git-am.txt:35 en/git-cherry-pick.txt:101 en/git-commit.txt:160 en/git-format-patch.txt:114 en/git-revert.txt:90 +#, no-wrap +msgid "--signoff" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:41 +#: en/git-am.txt:39 msgid "" -"size-garbage: disk space consumed by garbage files, in KiB (unless -H is " -"specified)" +"Add a `Signed-off-by:` line to the commit message, using the committer " +"identity of yourself. See the signoff option in linkgit:git-commit[1] for " +"more information." msgstr "" #. type: Plain text -#: en/git-count-objects.txt:46 -msgid "" -"alternate: absolute path of alternate object databases; may appear multiple " -"times, one line per path. Note that if the path contains non-printable " -"characters, it may be surrounded by double-quotes and contain C-style " -"backslashed escape sequences." +#: en/git-am.txt:43 +msgid "Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." msgstr "" #. type: Labeled list -#: en/git-count-objects.txt:47 en/git-cvsserver.txt:49 en/git-grep.txt:142 +#: en/git-am.txt:44 #, no-wrap -msgid "-H" +msgid "--keep-non-patch" +msgstr "" + +#. type: Plain text +#: en/git-am.txt:46 +msgid "Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." msgstr "" #. type: Labeled list -#: en/git-count-objects.txt:48 +#: en/git-am.txt:47 #, no-wrap -msgid "--human-readable" +msgid "--[no-]keep-cr" msgstr "" #. type: Plain text -#: en/git-count-objects.txt:51 -msgid "Print sizes in human readable format" +#: en/git-am.txt:52 +msgid "" +"With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1]) with " +"the same option, to prevent it from stripping CR at the end of " +"lines. `am.keepcr` configuration variable can be used to specify the default " +"behaviour. `--no-keep-cr` is useful to override `am.keepcr`." msgstr "" -#. type: Title = -#: en/git-credential-cache--daemon.txt:2 +#. type: Labeled list +#: en/git-am.txt:53 en/git-blame.txt:52 en/git-cvsexportcommit.txt:37 en/git-diff-files.txt:37 en/git-diff-tree.txt:91 en/git-grep.txt:201 en/git-http-fetch.txt:27 en/git-ls-files.txt:35 en/git-shortlog.txt:50 en/git-stripspace.txt:42 en/rev-list-options.txt:866 #, no-wrap -msgid "git-credential-cache--daemon(1)" +msgid "-c" msgstr "" -#. type: Plain text -#: en/git-credential-cache--daemon.txt:7 -msgid "git-credential-cache--daemon - Temporarily store user credentials in memory" +#. type: Labeled list +#: en/git-am.txt:54 en/git-mailinfo.txt:74 +#, no-wrap +msgid "--scissors" msgstr "" #. type: Plain text -#: en/git-credential-cache--daemon.txt:12 +#: en/git-am.txt:58 +msgid "" +"Remove everything in body before a scissors line (see " +"linkgit:git-mailinfo[1]). Can be activated by default using the " +"`mailinfo.scissors` configuration variable." +msgstr "" + +#. type: Labeled list +#: en/git-am.txt:59 en/git-mailinfo.txt:90 #, no-wrap -msgid "git credential-cache--daemon [--debug] <socket>\n" +msgid "--no-scissors" msgstr "" #. type: Plain text -#: en/git-credential-cache--daemon.txt:18 -msgid "" -"You probably don't want to invoke this command yourself; it is started " -"automatically when you use linkgit:git-credential-cache[1]." +#: en/git-am.txt:61 +msgid "Ignore scissors lines (see linkgit:git-mailinfo[1])." msgstr "" -#. type: Plain text -#: en/git-credential-cache--daemon.txt:23 -msgid "" -"This command listens on the Unix domain socket specified by `<socket>` for " -"`git-credential-cache` clients. Clients may store and retrieve " -"credentials. Each credential is held for a timeout specified by the client; " -"once no credentials are held, the daemon exits." +#. type: Labeled list +#: en/git-am.txt:62 en/git-branch.txt:107 en/git-checkout.txt:216 en/git-cvsexportcommit.txt:60 en/git-cvsimport.txt:118 en/git-diff-index.txt:32 en/git-diff-tree.txt:69 en/git-help.txt:56 en/git-instaweb.txt:35 en/git-ls-files.txt:43 en/git-mailinfo.txt:69 en/git-read-tree.txt:34 en/git-rebase.txt:270 en/git-svn.txt:292 en/git-svn.txt:637 en/git-symbolic-ref.txt:49 en/rev-list-options.txt:879 +#, no-wrap +msgid "-m" +msgstr "" + +#. type: Labeled list +#: en/git-am.txt:63 en/git-mailinfo.txt:70 +#, no-wrap +msgid "--message-id" msgstr "" #. type: Plain text -#: en/git-credential-cache--daemon.txt:27 +#: en/git-am.txt:68 msgid "" -"If the `--debug` option is specified, the daemon does not close its stderr " -"stream, and may output extra diagnostics to it even after it has begun " -"listening for clients." +"Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]), so that " +"the Message-ID header is added to the commit message. The `am.messageid` " +"configuration variable can be used to specify the default behaviour." msgstr "" -#. type: Title = -#: en/git-credential-cache.txt:2 +#. type: Labeled list +#: en/git-am.txt:69 #, no-wrap -msgid "git-credential-cache(1)" +msgid "--no-message-id" msgstr "" #. type: Plain text -#: en/git-credential-cache.txt:7 -msgid "git-credential-cache - Helper to temporarily store passwords in memory" +#: en/git-am.txt:72 +msgid "" +"Do not add the Message-ID header to the commit message. `no-message-id` is " +"useful to override `am.messageid`." msgstr "" -#. type: delimited block - -#: en/git-credential-cache.txt:12 +#. type: Plain text +#: en/git-am.txt:76 +msgid "Be quiet. Only print error messages." +msgstr "" + +#. type: Labeled list +#: en/git-am.txt:78 #, no-wrap -msgid "git config credential.helper 'cache [options]'\n" +msgid "--utf8" msgstr "" #. type: Plain text -#: en/git-credential-cache.txt:21 +#: en/git-am.txt:84 msgid "" -"This command caches credentials in memory for use by future Git " -"programs. The stored credentials never touch the disk, and are forgotten " -"after a configurable timeout. The cache is accessible over a Unix domain " -"socket, restricted to the current user by filesystem permissions." +"Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]). The " +"proposed commit log message taken from the e-mail is re-coded into UTF-8 " +"encoding (configuration variable `i18n.commitencoding` can be used to " +"specify project's preferred encoding if it is not UTF-8)." msgstr "" #. type: Plain text -#: en/git-credential-cache.txt:25 +#: en/git-am.txt:87 +#, no-wrap msgid "" -"You probably don't want to invoke this command directly; it is meant to be " -"used as a credential helper by other parts of Git. See " -"linkgit:gitcredentials[7] or `EXAMPLES` below." +"This was optional in prior versions of git, but now it is the\n" +"default. You can use `--no-utf8` to override this.\n" msgstr "" #. type: Labeled list -#: en/git-credential-cache.txt:29 +#: en/git-am.txt:88 #, no-wrap -msgid "--timeout <seconds>" +msgid "--no-utf8" msgstr "" #. type: Plain text -#: en/git-credential-cache.txt:32 -msgid "Number of seconds to cache credentials (default: 900)." +#: en/git-am.txt:91 +msgid "Pass `-n` flag to 'git mailinfo' (see linkgit:git-mailinfo[1])." msgstr "" #. type: Labeled list -#: en/git-credential-cache.txt:33 +#: en/git-am.txt:92 en/git-apply.txt:77 #, no-wrap -msgid "--socket <path>" +msgid "-3" msgstr "" -#. type: Plain text -#: en/git-credential-cache.txt:40 -msgid "" -"Use `<path>` to contact a running cache daemon (or start a new cache daemon " -"if one is not started). Defaults to `~/.git-credential-cache/socket`. If " -"your home directory is on a network-mounted filesystem, you may need to " -"change this to a local filesystem. You must specify an absolute path." +#. type: Labeled list +#: en/git-am.txt:93 en/git-apply.txt:78 +#, no-wrap +msgid "--3way" msgstr "" -#. type: Title - -#: en/git-credential-cache.txt:42 +#. type: Labeled list +#: en/git-am.txt:94 #, no-wrap -msgid "CONTROLLING THE DAEMON" +msgid "--no-3way" msgstr "" #. type: Plain text -#: en/git-credential-cache.txt:46 +#: en/git-am.txt:101 msgid "" -"If you would like the daemon to exit early, forgetting all cached " -"credentials before their timeout, you can issue an `exit` action:" +"When the patch does not apply cleanly, fall back on 3-way merge if the patch " +"records the identity of blobs it is supposed to apply to and we have those " +"blobs available locally. `--no-3way` can be used to override am.threeWay " +"configuration variable. For more information, see am.threeWay in " +"linkgit:git-config[1]." msgstr "" -#. type: delimited block - -#: en/git-credential-cache.txt:49 +#. type: Labeled list +#: en/git-am.txt:103 en/git-apply.txt:173 en/git-rebase.txt:361 #, no-wrap -msgid "git credential-cache exit\n" -msgstr "" - -#. type: Plain text -#: en/git-credential-cache.txt:56 en/git-credential-store.txt:75 -msgid "" -"The point of this helper is to reduce the number of times you must type your " -"username or password. For example:" +msgid "--ignore-whitespace" msgstr "" -#. type: delimited block - -#: en/git-credential-cache.txt:62 +#. type: Labeled list +#: en/git-am.txt:104 en/git-rebase.txt:362 #, no-wrap -msgid "" -"$ git config credential.helper cache\n" -"$ git push http://example.com/repo.git\n" -"Username: <type your username>\n" -"Password: <type your password>\n" +msgid "--whitespace=<option>" msgstr "" -#. type: delimited block - -#: en/git-credential-cache.txt:66 +#. type: Labeled list +#: en/git-am.txt:105 en/git-apply.txt:119 en/git-rebase.txt:329 #, no-wrap -msgid "" -"[work for 5 more minutes]\n" -"$ git push http://example.com/repo.git\n" -"[your credentials are used automatically]\n" +msgid "-C<n>" msgstr "" -#. type: Plain text -#: en/git-credential-cache.txt:70 -msgid "" -"You can provide options via the credential.helper configuration variable " -"(this example drops the cache time to 5 minutes):" +#. type: Labeled list +#: en/git-am.txt:106 en/git-apply.txt:115 +#, no-wrap +msgid "-p<n>" msgstr "" -#. type: delimited block - -#: en/git-credential-cache.txt:73 +#. type: Labeled list +#: en/git-am.txt:107 #, no-wrap -msgid "$ git config credential.helper 'cache --timeout=300'\n" +msgid "--directory=<dir>" msgstr "" -#. type: Title = -#: en/git-credential-store.txt:2 +#. type: Labeled list +#: en/git-am.txt:108 #, no-wrap -msgid "git-credential-store(1)" +msgid "--exclude=<path>" msgstr "" -#. type: Plain text -#: en/git-credential-store.txt:7 -msgid "git-credential-store - Helper to store credentials on disk" +#. type: Labeled list +#: en/git-am.txt:109 +#, no-wrap +msgid "--include=<path>" msgstr "" -#. type: delimited block - -#: en/git-credential-store.txt:12 +#. type: Labeled list +#: en/git-am.txt:110 en/git-apply.txt:100 #, no-wrap -msgid "git config credential.helper 'store [options]'\n" +msgid "--reject" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:21 +#: en/git-am.txt:114 msgid "" -"Using this helper will store your passwords unencrypted on disk, protected " -"only by filesystem permissions. If this is not an acceptable security " -"tradeoff, try linkgit:git-credential-cache[1], or find a helper that " -"integrates with secure storage provided by your operating system." +"These flags are passed to the 'git apply' (see linkgit:git-apply[1]) " +"program that applies the patch." +msgstr "" + +#. type: Labeled list +#: en/git-am.txt:115 +#, no-wrap +msgid "--patch-format" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:24 +#: en/git-am.txt:121 msgid "" -"This command stores credentials indefinitely on disk for use by future Git " -"programs." +"By default the command will try to detect the patch format " +"automatically. This option allows the user to bypass the automatic detection " +"and specify the patch format that the patch(es) should be interpreted " +"as. Valid formats are mbox, mboxrd, stgit, stgit-series and hg." msgstr "" #. type: Plain text -#: en/git-credential-store.txt:28 -msgid "" -"You probably don't want to invoke this command directly; it is meant to be " -"used as a credential helper by other parts of git. See " -"linkgit:gitcredentials[7] or `EXAMPLES` below." +#: en/git-am.txt:125 +msgid "Run interactively." msgstr "" #. type: Labeled list -#: en/git-credential-store.txt:32 +#: en/git-am.txt:126 en/git-rebase.txt:367 #, no-wrap -msgid "--file=<path>" +msgid "--committer-date-is-author-date" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:42 +#: en/git-am.txt:132 msgid "" -"Use `<path>` to lookup and store credentials. The file will have its " -"filesystem permissions set to prevent other users on the system from reading " -"it, but will not be encrypted or otherwise protected. If not specified, " -"credentials will be searched for from `~/.git-credentials` and " -"`$XDG_CONFIG_HOME/git/credentials`, and credentials will be written to " -"`~/.git-credentials` if it exists, or `$XDG_CONFIG_HOME/git/credentials` if " -"it exists and the former does not. See also <<FILES>>." +"By default the command records the date from the e-mail message as the " +"commit author date, and uses the time of commit creation as the committer " +"date. This allows the user to lie about the committer date by using the same " +"value as the author date." msgstr "" -#. type: Plain text -#: en/git-credential-store.txt:49 -msgid "" -"If not set explicitly with `--file`, there are two files where " -"git-credential-store will search for credentials in order of precedence:" +#. type: Labeled list +#: en/git-am.txt:133 en/git-rebase.txt:368 +#, no-wrap +msgid "--ignore-date" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:52 -#, no-wrap +#: en/git-am.txt:139 msgid "" -"~/.git-credentials::\n" -"\tUser-specific credentials file.\n" +"By default the command records the date from the e-mail message as the " +"commit author date, and uses the time of commit creation as the committer " +"date. This allows the user to lie about the author date by using the same " +"value as the committer date." msgstr "" -#. type: Plain text -#: en/git-credential-store.txt:59 +#. type: Labeled list +#: en/git-am.txt:140 en/git-rebase.txt:264 #, no-wrap -msgid "" -"$XDG_CONFIG_HOME/git/credentials::\n" -"\tSecond user-specific credentials file. If '$XDG_CONFIG_HOME' is not set\n" -"\tor empty, `$HOME/.config/git/credentials` will be used. Any credentials\n" -"\tstored in this file will not be used if `~/.git-credentials` has a\n" -"\tmatching credential as well. It is a good idea not to create this file\n" -"\tif you sometimes use older versions of Git that do not support it.\n" +msgid "--skip" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:63 +#: en/git-am.txt:143 msgid "" -"For credential lookups, the files are read in the order given above, with " -"the first matching credential found taking precedence over credentials found " -"in files further down the list." +"Skip the current patch. This is only meaningful when restarting an aborted " +"patch." msgstr "" -#. type: Plain text -#: en/git-credential-store.txt:67 -msgid "" -"Credential storage will by default write to the first existing file in the " -"list. If none of these files exist, `~/.git-credentials` will be created and " -"written to." +#. type: Labeled list +#: en/git-am.txt:144 en/git-cherry-pick.txt:105 en/git-commit-tree.txt:57 en/git-commit.txt:326 en/git-merge.txt:72 en/git-rebase.txt:300 en/git-revert.txt:83 +#, no-wrap +msgid "-S[<keyid>]" +msgstr "" + +#. type: Labeled list +#: en/git-am.txt:145 en/git-cherry-pick.txt:106 en/git-commit-tree.txt:58 en/git-commit.txt:327 en/git-merge.txt:73 en/git-rebase.txt:301 en/git-revert.txt:84 +#, no-wrap +msgid "--gpg-sign[=<keyid>]" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:69 +#: en/git-am.txt:149 en/git-cherry-pick.txt:110 en/git-commit-tree.txt:62 en/git-commit.txt:331 en/git-rebase.txt:305 en/git-revert.txt:88 msgid "" -"When erasing credentials, matching credentials will be erased from all " -"files." +"GPG-sign commits. The `keyid` argument is optional and defaults to the " +"committer identity; if specified, it must be stuck to the option without a " +"space." msgstr "" -#. type: delimited block - -#: en/git-credential-store.txt:81 +#. type: Labeled list +#: en/git-am.txt:150 en/git-merge.txt:105 en/git-rebase.txt:245 en/sequencer.txt:1 #, no-wrap -msgid "" -"$ git config credential.helper store\n" -"$ git push http://example.com/repo.git\n" -"Username: <type your username>\n" -"Password: <type your password>\n" +msgid "--continue" msgstr "" -#. type: delimited block - -#: en/git-credential-store.txt:85 +#. type: Labeled list +#: en/git-am.txt:151 en/git-branch.txt:136 en/git-cherry-pick.txt:74 en/git-diff-tree.txt:39 en/git-ls-tree.txt:44 en/git-pull.txt:103 en/git-rm.txt:49 en/git-show-branch.txt:43 en/git-unpack-objects.txt:38 en/rev-list-options.txt:887 #, no-wrap -msgid "" -"[several days later]\n" -"$ git push http://example.com/repo.git\n" -"[your credentials are used automatically]\n" +msgid "-r" msgstr "" -#. type: Title - -#: en/git-credential-store.txt:88 +#. type: Labeled list +#: en/git-am.txt:152 #, no-wrap -msgid "STORAGE FORMAT" +msgid "--resolved" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:92 +#: en/git-am.txt:159 msgid "" -"The `.git-credentials` file is stored in plaintext. Each credential is " -"stored on its own line as a URL like:" +"After a patch failure (e.g. attempting to apply conflicting patch), the user " +"has applied it by hand and the index file stores the result of the " +"application. Make a commit using the authorship and commit log extracted " +"from the e-mail message and the current index file, and continue." msgstr "" -#. type: delimited block - -#: en/git-credential-store.txt:95 +#. type: Labeled list +#: en/git-am.txt:160 #, no-wrap -msgid "https://user:pass@example.com\n" +msgid "--resolvemsg=<msg>" msgstr "" #. type: Plain text -#: en/git-credential-store.txt:103 +#: en/git-am.txt:166 msgid "" -"When Git needs authentication for a particular URL context, credential-store " -"will consider that context a pattern to match against each entry in the " -"credentials file. If the protocol, hostname, and username (if we already " -"have one) match, then the password is returned to Git. See the discussion of " -"configuration in linkgit:gitcredentials[7] for more information." +"When a patch failure occurs, <msg> will be printed to the screen before " +"exiting. This overrides the standard message informing you to use " +"`--continue` or `--skip` to handle the failure. This is solely for internal " +"use between 'git rebase' and 'git am'." msgstr "" -#. type: Title = -#: en/git-credential.txt:2 +#. type: Labeled list +#: en/git-am.txt:167 en/git-merge.txt:93 en/git-notes.txt:201 en/git-rebase.txt:248 en/sequencer.txt:11 #, no-wrap -msgid "git-credential(1)" +msgid "--abort" msgstr "" #. type: Plain text -#: en/git-credential.txt:7 -msgid "git-credential - Retrieve and store user credentials" +#: en/git-am.txt:169 +msgid "Restore the original branch and abort the patching operation." msgstr "" -#. type: delimited block - -#: en/git-credential.txt:12 +#. type: Title - +#: en/git-am.txt:171 en/git-commit.txt:444 en/git-format-patch.txt:308 en/git-fsck.txt:100 en/git-log.txt:165 en/git-merge-base.txt:76 en/git-notes.txt:218 en/git-remote.txt:196 en/git-rerere.txt:77 en/git-reset.txt:345 en/git-rm.txt:73 en/git-stash.txt:183 en/git-tag.txt:195 #, no-wrap -msgid "git credential <fill|approve|reject>\n" +msgid "DISCUSSION" msgstr "" #. type: Plain text -#: en/git-credential.txt:25 +#: en/git-am.txt:179 msgid "" -"Git has an internal interface for storing and retrieving credentials from " -"system-specific helpers, as well as prompting the user for usernames and " -"passwords. The git-credential command exposes this interface to scripts " -"which may want to retrieve, store, or prompt for credentials in the same " -"manner as Git. The design of this scriptable interface models the internal C " -"API; see link:technical/api-credentials.html[the Git credential API] for " -"more background on the concepts." +"The commit author name is taken from the \"From: \" line of the message, and " +"commit author date is taken from the \"Date: \" line of the message. The " +"\"Subject: \" line is used as the title of the commit, after stripping " +"common prefix \"[PATCH <anything>]\". The \"Subject: \" line is supposed to " +"concisely describe what the commit is about in one line of text." msgstr "" #. type: Plain text -#: en/git-credential.txt:29 +#: en/git-am.txt:182 msgid "" -"git-credential takes an \"action\" option on the command-line (one of " -"`fill`, `approve`, or `reject`) and reads a credential description on stdin " -"(see <<IOFMT,INPUT/OUTPUT FORMAT>>)." +"\"From: \" and \"Subject: \" lines starting the body override the respective " +"commit author name and title values taken from the headers." msgstr "" #. type: Plain text -#: en/git-credential.txt:36 +#: en/git-am.txt:187 msgid "" -"If the action is `fill`, git-credential will attempt to add \"username\" and " -"\"password\" attributes to the description by reading config files, by " -"contacting any configured credential helpers, or by prompting the user. The " -"username and password attributes of the credential description are then " -"printed to stdout together with the attributes already provided." +"The commit message is formed by the title taken from the \"Subject: \", a " +"blank line and the body of the message up to where the patch begins. Excess " +"whitespace at the end of each line is automatically stripped." msgstr "" #. type: Plain text -#: en/git-credential.txt:40 +#: en/git-am.txt:190 msgid "" -"If the action is `approve`, git-credential will send the description to any " -"configured credential helpers, which may store the credential for later use." +"The patch is expected to be inline, directly following the message. Any " +"line that is of the form:" msgstr "" #. type: Plain text -#: en/git-credential.txt:44 -msgid "" -"If the action is `reject`, git-credential will send the description to any " -"configured credential helpers, which may erase any stored credential " -"matching the description." +#: en/git-am.txt:192 +msgid "three-dashes and end-of-line, or" msgstr "" #. type: Plain text -#: en/git-credential.txt:46 -msgid "If the action is `approve` or `reject`, no output should be emitted." -msgstr "" - -#. type: Title - -#: en/git-credential.txt:48 -#, no-wrap -msgid "TYPICAL USE OF GIT CREDENTIAL" +#: en/git-am.txt:193 +msgid "a line that begins with \"diff -\", or" msgstr "" #. type: Plain text -#: en/git-credential.txt:52 -msgid "" -"An application using git-credential will typically use `git credential` " -"following these steps:" +#: en/git-am.txt:194 +msgid "a line that begins with \"Index: \"" msgstr "" #. type: Plain text -#: en/git-credential.txt:54 -msgid "Generate a credential description based on the context." +#: en/git-am.txt:197 +msgid "" +"is taken as the beginning of a patch, and the commit log message is " +"terminated before the first occurrence of such a line." msgstr "" #. type: Plain text -#: en/git-credential.txt:60 +#: en/git-am.txt:201 msgid "" -"For example, if we want a password for `https://example.com/foo.git`, we " -"might generate the following credential description (don't forget the blank " -"line at the end; it tells `git credential` that the application finished " -"feeding all the information it has):" +"When initially invoking `git am`, you give it the names of the mailboxes to " +"process. Upon seeing the first patch that does not apply, it aborts in the " +"middle. You can recover from this in one of two ways:" msgstr "" #. type: Plain text -#: en/git-credential.txt:64 -#, no-wrap -msgid "" -"\t protocol=https\n" -"\t host=example.com\n" -"\t path=foo.git\n" +#: en/git-am.txt:204 +msgid "skip the current patch by re-running the command with the `--skip` option." msgstr "" #. type: Plain text -#: en/git-credential.txt:70 +#: en/git-am.txt:208 msgid "" -"Ask git-credential to give us a username and password for this " -"description. This is done by running `git credential fill`, feeding the " -"description from step (1) to its standard input. The complete credential " -"description (including the credential per se, i.e. the login and password) " -"will be produced on standard output, like:" +"hand resolve the conflict in the working directory, and update the index " +"file to bring it into a state that the patch should have produced. Then run " +"the command with the `--continue` option." msgstr "" #. type: Plain text -#: en/git-credential.txt:75 -#, no-wrap +#: en/git-am.txt:213 msgid "" -"protocol=https\n" -"host=example.com\n" -"username=bob\n" -"password=secr3t\n" +"The command refuses to process new mailboxes until the current operation is " +"finished, so if you decide to start over from scratch, run `git am --abort` " +"before running the command with mailbox names." msgstr "" #. type: Plain text -#: en/git-credential.txt:80 +#: en/git-am.txt:219 msgid "" -"In most cases, this means the attributes given in the input will be repeated " -"in the output, but Git may also modify the credential description, for " -"example by removing the `path` attribute when the protocol is HTTP(s) and " -"`credential.useHttpPath` is false." +"Before any patches are applied, ORIG_HEAD is set to the tip of the current " +"branch. This is useful if you have problems with multiple commits, like " +"running 'git am' on the wrong branch or an error in the commits that is more " +"easily fixed by changing the mailbox (e.g. errors in the \"From:\" lines)." msgstr "" -#. type: Plain text -#: en/git-credential.txt:86 -msgid "" -"If the `git credential` knew about the password, this step may not have " -"involved the user actually typing this password (the user may have typed a " -"password to unlock the keychain instead, or no user interaction was done if " -"the keychain was already unlocked) before it returned `password=secr3t`." +#. type: Title - +#: en/git-am.txt:221 en/git-commit.txt:464 en/git-gc.txt:171 +#, no-wrap +msgid "HOOKS" msgstr "" #. type: Plain text -#: en/git-credential.txt:89 +#: en/git-am.txt:225 msgid "" -"Use the credential (e.g., access the URL with the username and password from " -"step (2)), and see if it's accepted." +"This command can run `applypatch-msg`, `pre-applypatch`, and " +"`post-applypatch` hooks. See linkgit:githooks[5] for more information." msgstr "" #. type: Plain text -#: en/git-credential.txt:99 -msgid "" -"Report on the success or failure of the password. If the credential allowed " -"the operation to complete successfully, then it can be marked with an " -"\"approve\" action to tell `git credential` to reuse it in its next " -"invocation. If the credential was rejected during the operation, use the " -"\"reject\" action so that `git credential` will ask for a new password in " -"its next invocation. In either case, `git credential` should be fed with the " -"credential description obtained from step (2) (which also contain the ones " -"provided in step (1))." +#: en/git-am.txt:229 +msgid "linkgit:git-apply[1]." msgstr "" -#. type: Title - -#: en/git-credential.txt:102 +#. type: Title = +#: en/git-annotate.txt:2 #, no-wrap -msgid "INPUT/OUTPUT FORMAT" +msgid "git-annotate(1)" msgstr "" #. type: Plain text -#: en/git-credential.txt:109 -msgid "" -"`git credential` reads and/or writes (depending on the action used) " -"credential information in its standard input/output. This information can " -"correspond either to keys for which `git credential` will obtain the " -"login/password information (e.g. host, protocol, path), or to the actual " -"credential data to be obtained (login/password)." +#: en/git-annotate.txt:7 +msgid "git-annotate - Annotate file lines with commit information" msgstr "" #. type: Plain text -#: en/git-credential.txt:119 -msgid "" -"The credential is split into a set of named attributes, with one attribute " -"per line. Each attribute is specified by a key-value pair, separated by an " -"`=` (equals) sign, followed by a newline. The key may contain any bytes " -"except `=`, newline, or NUL. The value may contain any bytes except newline " -"or NUL. In both cases, all bytes are treated as-is (i.e., there is no " -"quoting, and one cannot transmit a value with newline or NUL in it). The " -"list of attributes is terminated by a blank line or end-of-file. Git " -"understands the following attributes:" +#: en/git-annotate.txt:12 +#, no-wrap +msgid "'git annotate' [options] file [revision]\n" msgstr "" -#. type: Labeled list -#: en/git-credential.txt:120 -#, no-wrap -msgid "`protocol`" +#. type: Plain text +#: en/git-annotate.txt:17 +msgid "" +"Annotates each line in the given file with information from the commit which " +"introduced the line. Optionally annotates from a given revision." msgstr "" #. type: Plain text -#: en/git-credential.txt:124 -msgid "The protocol over which the credential will be used (e.g., `https`)." +#: en/git-annotate.txt:22 +msgid "" +"The only difference between this command and linkgit:git-blame[1] is that " +"they use slightly different output formats, and this command exists only for " +"backward compatibility to support existing scripts, and provide a more " +"familiar command name for people coming from other SCM systems." msgstr "" -#. type: Labeled list -#: en/git-credential.txt:125 +#. type: Title = +#: en/git-apply.txt:2 #, no-wrap -msgid "`host`" +msgid "git-apply(1)" msgstr "" #. type: Plain text -#: en/git-credential.txt:128 -msgid "The remote hostname for a network credential." +#: en/git-apply.txt:7 +msgid "git-apply - Apply a patch to files and/or to the index" msgstr "" -#. type: Labeled list -#: en/git-credential.txt:129 +#. type: Plain text +#: en/git-apply.txt:20 #, no-wrap -msgid "`path`" +msgid "" +"'git apply' [--stat] [--numstat] [--summary] [--check] [--index] [--3way]\n" +"\t [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]\n" +"\t [--allow-binary-replacement | --binary] [--reject] [-z]\n" +"\t [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]\n" +"\t [--ignore-space-change | --ignore-whitespace]\n" +"\t [--whitespace=(nowarn|warn|fix|error|error-all)]\n" +"\t [--exclude=<path>] [--include=<path>] [--directory=<root>]\n" +"\t [--verbose] [--unsafe-paths] [<patch>...]\n" msgstr "" #. type: Plain text -#: en/git-credential.txt:134 +#: en/git-apply.txt:30 msgid "" -"The path with which the credential will be used. E.g., for accessing a " -"remote https repository, this will be the repository's path on the server." -msgstr "" - -#. type: Labeled list -#: en/git-credential.txt:135 -#, no-wrap -msgid "`username`" +"Reads the supplied diff output (i.e. \"a patch\") and applies it to files. " +"When running from a subdirectory in a repository, patched paths outside the " +"directory are ignored. With the `--index` option the patch is also applied " +"to the index, and with the `--cached` option the patch is only applied to " +"the index. Without these options, the command applies the patch only to " +"files, and does not require them to be in a Git repository." msgstr "" #. type: Plain text -#: en/git-credential.txt:139 +#: en/git-apply.txt:34 msgid "" -"The credential's username, if we already have one (e.g., from a URL, from " -"the user, or from a previously run helper)." +"This command applies the patch but does not create a commit. Use " +"linkgit:git-am[1] to create commits from patches generated by " +"linkgit:git-format-patch[1] and/or received by email." msgstr "" #. type: Labeled list -#: en/git-credential.txt:140 +#: en/git-apply.txt:37 #, no-wrap -msgid "`password`" +msgid "<patch>..." msgstr "" #. type: Plain text -#: en/git-credential.txt:143 -msgid "The credential's password, if we are asking it to be stored." +#: en/git-apply.txt:40 +msgid "" +"The files to read the patch from. '-' can be used to read from the standard " +"input." msgstr "" #. type: Labeled list -#: en/git-credential.txt:144 +#: en/git-apply.txt:41 en/git-rebase.txt:314 en/merge-options.txt:55 #, no-wrap -msgid "`url`" +msgid "--stat" msgstr "" #. type: Plain text -#: en/git-credential.txt:154 +#: en/git-apply.txt:44 msgid "" -"When this special attribute is read by `git credential`, the value is parsed " -"as a URL and treated as if its constituent parts were read (e.g., " -"`url=https://example.com` would behave as if `protocol=https` and " -"`host=example.com` had been provided). This can help callers avoid parsing " -"URLs themselves. Note that any components which are missing from the URL " -"(e.g., there is no username in the example above) will be set to empty; if " -"you want to provide a URL and override some attributes, provide the URL " -"attribute first, followed by any overrides." -msgstr "" - -#. type: Title = -#: en/git-cvsexportcommit.txt:2 -#, no-wrap -msgid "git-cvsexportcommit(1)" +"Instead of applying the patch, output diffstat for the input. Turns off " +"\"apply\"." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:7 -msgid "git-cvsexportcommit - Export a single commit to a CVS checkout" +#: en/git-apply.txt:51 +msgid "" +"Similar to `--stat`, but shows the number of added and deleted lines in " +"decimal notation and the pathname without abbreviation, to make it more " +"machine friendly. For binary files, outputs two `-` instead of saying `0 " +"0`. Turns off \"apply\"." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:14 -#, no-wrap +#: en/git-apply.txt:57 msgid "" -"'git cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]\n" -"\t[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID\n" +"Instead of applying the patch, output a condensed summary of information " +"obtained from git diff extended headers, such as creations, renames and mode " +"changes. Turns off \"apply\"." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:20 +#: en/git-apply.txt:62 msgid "" -"Exports a commit from Git to a CVS checkout, making it easier to merge " -"patches from a Git repository into a CVS repository." +"Instead of applying the patch, see if the patch is applicable to the current " +"working tree and/or the index file and detects errors. Turns off \"apply\"." msgstr "" -#. type: Plain text -#: en/git-cvsexportcommit.txt:24 -msgid "" -"Specify the name of a CVS checkout using the -w switch or execute it from " -"the root of the CVS working copy. In the latter case GIT_DIR must be " -"defined. See examples below." +#. type: Labeled list +#: en/git-apply.txt:63 en/git-checkout-index.txt:26 +#, no-wrap +msgid "--index" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:28 +#: en/git-apply.txt:71 msgid "" -"It does its best to do the safe thing, it will check that the files are " -"unchanged and up to date in the CVS checkout, and it will not autocommit by " -"default." +"When `--check` is in effect, or when applying the patch (which is the " +"default when none of the options that disables it is in effect), make sure " +"the patch is applicable to what the current index file records. If the file " +"to be patched in the working tree is not up-to-date, it is flagged as an " +"error. This flag also causes the index file to be updated." msgstr "" -#. type: Plain text -#: en/git-cvsexportcommit.txt:30 -msgid "Supports file additions, removals, and commits that affect binary files." +#. type: Labeled list +#: en/git-apply.txt:72 en/git-check-attr.txt:27 en/git-diff-index.txt:29 en/git-grep.txt:72 en/git-ls-files.txt:36 en/git-rm.txt:58 en/git-submodule.txt:300 +#, no-wrap +msgid "--cached" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:33 +#: en/git-apply.txt:76 msgid "" -"If the commit is a merge commit, you must tell 'git cvsexportcommit' what " -"parent the changeset should be done against." +"Apply a patch without touching the working tree. Instead take the cached " +"data, apply the patch, and store the result in the index without using the " +"working tree. This implies `--index`." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:40 +#: en/git-apply.txt:85 msgid "" -"Commit automatically if the patch applied cleanly. It will not commit if any " -"hunks fail to apply or there were other problems." +"When the patch does not apply cleanly, fall back on 3-way merge if the patch " +"records the identity of blobs it is supposed to apply to, and we have those " +"blobs available locally, possibly leaving the conflict markers in the files " +"in the working tree for the user to resolve. This option implies the " +"`--index` option, and is incompatible with the `--reject` and the `--cached` " +"options." msgstr "" -#. type: Plain text -#: en/git-cvsexportcommit.txt:44 -msgid "Be pedantic (paranoid) when applying patches. Invokes patch with --fuzz=0" +#. type: Labeled list +#: en/git-apply.txt:86 +#, no-wrap +msgid "--build-fake-ancestor=<file>" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:48 +#: en/git-apply.txt:92 msgid "" -"Add authorship information. Adds Author line, and Committer (if different " -"from Author) to the message." +"Newer 'git diff' output has embedded 'index information' for each blob to " +"help identify the original version that the patch applies to. When this " +"flag is given, and if the original versions of the blobs are available " +"locally, builds a temporary index containing those blobs." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:53 +#: en/git-apply.txt:95 msgid "" -"Set an alternative CVSROOT to use. This corresponds to the CVS -d " -"parameter. Usually users will not want to set this, except if using CVS in " -"an asymmetric fashion." -msgstr "" - -#. type: Plain text -#: en/git-cvsexportcommit.txt:56 -msgid "Force the merge even if the files are not up to date." +"When a pure mode change is encountered (which has no index information), the " +"information is read from the current index instead." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:57 en/git-grep.txt:162 +#: en/git-apply.txt:97 en/rev-list-options.txt:659 #, no-wrap -msgid "-P" +msgid "--reverse" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:59 -msgid "Force the parent commit, even if it is not a direct parent." +#: en/git-apply.txt:99 +msgid "Apply the patch in reverse." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:63 +#: en/git-apply.txt:106 msgid "" -"Prepend the commit message with the provided prefix. Useful for patch " -"series and the like." +"For atomicity, 'git apply' by default fails the whole patch and does not " +"touch the working tree when some of the hunks do not apply. This option " +"makes it apply the parts of the patch that are applicable, and leave the " +"rejected hunks in corresponding *.rej files." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:66 -msgid "Update affected files from CVS repository before attempting export." +#: en/git-apply.txt:110 +msgid "" +"When `--numstat` has been given, do not munge pathnames, but use a " +"NUL-terminated machine-readable format." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:70 -msgid "" -"Reverse CVS keyword expansion (e.g. $Revision: 1.2.3.4$ becomes $Revision$) " -"in working CVS checkout before applying patch." +#: en/git-apply.txt:118 +msgid "Remove <n> leading slashes from traditional diff paths. The default is 1." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:76 +#: en/git-apply.txt:124 en/git-rebase.txt:334 msgid "" -"Specify the location of the CVS checkout to use for the export. This option " -"does not require GIT_DIR to be set before execution if the current directory " -"is within a Git repository. The default is the value of " -"'cvsexportcommit.cvsdir'." +"Ensure at least <n> lines of surrounding context match before and after each " +"change. When fewer lines of surrounding context exist they all must match. " +"By default no context is ever ignored." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:77 en/git-grep.txt:246 en/diff-options.txt:546 +#: en/git-apply.txt:125 #, no-wrap -msgid "-W" +msgid "--unidiff-zero" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:81 +#: en/git-apply.txt:131 msgid "" -"Tell cvsexportcommit that the current working directory is not only a Git " -"checkout, but also the CVS checkout. Therefore, Git will reset the working " -"directory to the parent commit before proceeding." +"By default, 'git apply' expects that the patch being applied is a unified " +"diff with at least one line of context. This provides good safety measures, " +"but breaks down when applying a diff generated with `--unified=0`. To bypass " +"these checks use `--unidiff-zero`." msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:84 -msgid "Verbose." +#: en/git-apply.txt:134 +msgid "" +"Note, for the reasons stated above usage of context-free patches is " +"discouraged." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:87 +#: en/git-apply.txt:135 #, no-wrap -msgid "cvsexportcommit.cvsdir" +msgid "--apply" msgstr "" #. type: Plain text -#: en/git-cvsexportcommit.txt:89 -msgid "The default location of the CVS checkout to use for the export." +#: en/git-apply.txt:141 +msgid "" +"If you use any of the options marked \"Turns off 'apply'\" above, 'git " +"apply' reads and outputs the requested information without actually applying " +"the patch. Give this flag after those flags to also apply the patch." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:93 +#: en/git-apply.txt:142 #, no-wrap -msgid "Merge one patch into CVS" +msgid "--no-add" msgstr "" -#. type: delimited block - -#: en/git-cvsexportcommit.txt:100 -#, no-wrap +#. type: Plain text +#: en/git-apply.txt:148 msgid "" -"$ export GIT_DIR=~/project/.git\n" -"$ cd ~/project_cvs_checkout\n" -"$ git cvsexportcommit -v <commit-sha1>\n" -"$ cvs commit -F .msg <files>\n" +"When applying a patch, ignore additions made by the patch. This can be used " +"to extract the common part between two files by first running 'diff' on them " +"and applying the result with this option, which would apply the deletion " +"part but not the addition part." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:102 +#: en/git-apply.txt:149 #, no-wrap -msgid "" -"Merge one patch into CVS (-c and -w options). The working directory is " -"within the Git Repo" +msgid "--allow-binary-replacement" msgstr "" -#. type: delimited block - -#: en/git-cvsexportcommit.txt:106 -#, no-wrap -msgid "\t$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>\n" +#. type: Plain text +#: en/git-apply.txt:155 +msgid "" +"Historically we did not allow binary patch applied without an explicit " +"permission from the user, and this flag was the way to do so. Currently we " +"always allow binary patch application, so this is a no-op." msgstr "" #. type: Labeled list -#: en/git-cvsexportcommit.txt:108 +#: en/git-apply.txt:156 #, no-wrap -msgid "" -"Merge pending patches into CVS automatically -- only if you really know what " -"you are doing" +msgid "--exclude=<path-pattern>" msgstr "" -#. type: delimited block - -#: en/git-cvsexportcommit.txt:114 -#, no-wrap +#. type: Plain text +#: en/git-apply.txt:160 msgid "" -"$ export GIT_DIR=~/project/.git\n" -"$ cd ~/project_cvs_checkout\n" -"$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git " -"cvsexportcommit -c -p -v\n" +"Don't apply changes to files matching the given path pattern. This can be " +"useful when importing patchsets, where you want to exclude certain files or " +"directories." msgstr "" -#. type: Title = -#: en/git-cvsimport.txt:2 +#. type: Labeled list +#: en/git-apply.txt:161 #, no-wrap -msgid "git-cvsimport(1)" -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:7 -msgid "git-cvsimport - Salvage your data out of another SCM people love to hate" +msgid "--include=<path-pattern>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:17 -#, no-wrap +#: en/git-apply.txt:165 msgid "" -"'git cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]\n" -"\t [-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]\n" -"\t [-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]\n" -"\t [-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]\n" -"\t [-r <remote>] [-R] [<CVS_module>]\n" +"Apply changes to files matching the given path pattern. This can be useful " +"when importing patchsets, where you want to include certain files or " +"directories." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:26 -#, no-wrap +#: en/git-apply.txt:171 msgid "" -"*WARNING:* `git cvsimport` uses cvsps version 2, which is considered\n" -"deprecated; it does not work with cvsps version 3 and later. If you are\n" -"performing a one-shot import of a CVS repository consider using\n" -"http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or\n" -"http://www.catb.org/esr/cvs-fast-export/[cvs-fast-export].\n" +"When `--exclude` and `--include` patterns are used, they are examined in the " +"order they appear on the command line, and the first match determines if a " +"patch to each path is used. A patch to a path that does not match any " +"include/exclude pattern is used by default if there is no include pattern on " +"the command line, and ignored if there is any include pattern." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:29 +#: en/git-apply.txt:179 msgid "" -"Imports a CVS repository into Git. It will either create a new repository, " -"or incrementally import into an existing one." +"When applying a patch, ignore changes in whitespace in context lines if " +"necessary. Context lines will preserve their whitespace, and they will not " +"undergo whitespace fixing regardless of the value of the `--whitespace` " +"option. New lines will still be fixed, though." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:32 -msgid "" -"Splitting the CVS log into patch sets is done by 'cvsps'. At least version " -"2.1 is required." +#. type: Labeled list +#: en/git-apply.txt:180 +#, no-wrap +msgid "--whitespace=<action>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:35 -#, no-wrap +#: en/git-apply.txt:188 msgid "" -"*WARNING:* for certain situations the import leads to incorrect results.\n" -"Please see the section <<issues,ISSUES>> for further reference.\n" +"When applying a patch, detect a new or modified line that has whitespace " +"errors. What are considered whitespace errors is controlled by " +"`core.whitespace` configuration. By default, trailing whitespaces " +"(including lines that solely consist of whitespaces) and a space character " +"that is immediately followed by a tab character inside the initial indent of " +"the line are considered whitespace errors." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:42 +#: en/git-apply.txt:192 msgid "" -"You should *never* do any work of your own on the branches that are created " -"by 'git cvsimport'. By default initial import will create and populate a " -"\"master\" branch from the CVS repository's main branch which you're free to " -"work with; after that, you need to 'git merge' incremental imports, or any " -"CVS branches, yourself. It is advisable to specify a named remote via -r to " -"separate and protect the incoming branches." +"By default, the command outputs warning messages but applies the patch. " +"When `git-apply` is used for statistics and not applying a patch, it " +"defaults to `nowarn`." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:48 -msgid "" -"If you intend to set up a shared public repository that all developers can " -"read/write, or if you want to use linkgit:git-cvsserver[1], then you " -"probably want to make a bare clone of the imported repository, and use the " -"clone as the shared repository. See linkgit:gitcvs-migration[7]." +#: en/git-apply.txt:195 +msgid "You can use different `<action>` values to control this behavior:" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:54 -msgid "Verbosity: let 'cvsimport' report what it is doing." +#: en/git-apply.txt:197 +msgid "`nowarn` turns off the trailing whitespace warning." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:55 -#, no-wrap -msgid "-d <CVSROOT>" +#. type: Plain text +#: en/git-apply.txt:199 +msgid "" +"`warn` outputs warnings for a few such errors, but applies the patch as-is " +"(default)." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:61 +#: en/git-apply.txt:203 msgid "" -"The root of the CVS archive. May be local (a simple path) or remote; " -"currently, only the :local:, :ext: and :pserver: access methods are " -"supported. If not given, 'git cvsimport' will try to read it from " -"`CVS/Root`. If no such file exists, it checks for the `CVSROOT` environment " -"variable." +"`fix` outputs warnings for a few such errors, and applies the patch after " +"fixing them (`strip` is a synonym --- the tool used to consider only " +"trailing whitespace characters as errors, and the fix involved 'stripping' " +"them, but modern Gits do more)." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:62 -#, no-wrap -msgid "<CVS_module>" +#. type: Plain text +#: en/git-apply.txt:205 +msgid "" +"`error` outputs warnings for a few such errors, and refuses to apply the " +"patch." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:66 -msgid "" -"The CVS module you want to import. Relative to <CVSROOT>. If not given, " -"'git cvsimport' tries to read it from `CVS/Repository`." +#: en/git-apply.txt:206 +msgid "`error-all` is similar to `error` but shows all errors." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:67 +#: en/git-apply.txt:207 #, no-wrap -msgid "-C <target-dir>" +msgid "--inaccurate-eof" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:69 -msgid "The Git repository to import to. If the directory doesn't" +#: en/git-apply.txt:213 +msgid "" +"Under certain circumstances, some versions of 'diff' do not correctly detect " +"a missing new-line at the end of the file. As a result, patches created by " +"such 'diff' programs do not record incomplete lines correctly. This option " +"adds support for applying such patches by working around this bug." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:70 -#, no-wrap -msgid "exist, it will be created. Default is the current directory.\n" +#: en/git-apply.txt:219 +msgid "" +"Report progress to stderr. By default, only a message about the current " +"patch being applied will be printed. This option will cause additional " +"information to be reported." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:71 +#: en/git-apply.txt:220 #, no-wrap -msgid "-r <remote>" +msgid "--recount" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:75 +#: en/git-apply.txt:224 msgid "" -"The Git remote to import this CVS repository into. Moves all CVS branches " -"into remotes/<remote>/<branch> akin to the way 'git clone' uses 'origin' by " -"default." +"Do not trust the line counts in the hunk headers, but infer them by " +"inspecting the patch (e.g. after editing the patch without adjusting the " +"hunk headers appropriately)." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:76 +#: en/git-apply.txt:225 #, no-wrap -msgid "-o <branch-for-HEAD>" -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:84 -msgid "" -"When no remote is specified (via -r) the `HEAD` branch from CVS is imported " -"to the 'origin' branch within the Git repository, as `HEAD` already has a " -"special meaning for Git. When a remote is specified the `HEAD` branch is " -"named remotes/<remote>/master mirroring 'git clone' behaviour. Use this " -"option if you want to import into a different branch." -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:87 -msgid "" -"Use '-o master' for continuing an import that was initially done by the old " -"cvs2git tool." +msgid "--directory=<root>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:92 +#: en/git-apply.txt:228 msgid "" -"Import-only: don't perform a checkout after importing. This option ensures " -"the working directory and index remain untouched and will not create them if " -"they do not exist." +"Prepend <root> to all filenames. If a \"-p\" argument was also passed, it " +"is applied before prepending the new root." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:97 +#: en/git-apply.txt:232 msgid "" -"Kill keywords: will extract files with '-kk' from the CVS archive to avoid " -"noisy changesets. Highly recommended, but off by default to preserve " -"compatibility with early imported trees." -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:100 -msgid "Convert underscores in tag and branch names to dots." +"For example, a patch that talks about updating `a/git-gui.sh` to " +"`b/git-gui.sh` can be applied to the file in the working tree " +"`modules/git-gui/git-gui.sh` by running `git apply " +"--directory=modules/git-gui`." msgstr "" #. type: Labeled list -#: en/git-cvsimport.txt:101 +#: en/git-apply.txt:233 #, no-wrap -msgid "-s <subst>" +msgid "--unsafe-paths" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:103 -msgid "Substitute the character \"/\" in branch names with <subst>" -msgstr "" - -#. type: Labeled list -#: en/git-cvsimport.txt:104 -#, no-wrap -msgid "-p <options-for-cvsps>" +#: en/git-apply.txt:238 +msgid "" +"By default, a patch that affects outside the working area (either a Git " +"controlled working tree, or the current working directory when \"git apply\" " +"is used as a replacement of GNU patch) is rejected as a mistake (or a " +"mischief)." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:107 +#: en/git-apply.txt:242 msgid "" -"Additional options for cvsps. The options `-u` and '-A' are implicit and " -"should not be used here." +"When `git apply` is used as a \"better GNU patch\", the user can pass the " +"`--unsafe-paths` option to override this safety check. This option has no " +"effect when `--index` or `--cached` is in use." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:109 -msgid "If you need to pass multiple options, separate them with a comma." -msgstr "" - -#. type: Labeled list -#: en/git-cvsimport.txt:110 -#, no-wrap -msgid "-z <fuzz>" +#: en/git-apply.txt:250 +msgid "" +"Set to 'change' if you want changes in whitespace to be ignored by default. " +"Set to one of: no, none, never, false if you want changes in whitespace to " +"be significant." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:113 +#: en/git-apply.txt:253 msgid "" -"Pass the timestamp fuzz factor to cvsps, in seconds. If unset, cvsps " -"defaults to 300s." +"When no `--whitespace` flag is given from the command line, this " +"configuration item is used as the default." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:114 +#. type: Title - +#: en/git-apply.txt:255 #, no-wrap -msgid "-P <cvsps-output-file>" +msgid "Submodules" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:117 +#: en/git-apply.txt:258 msgid "" -"Instead of calling cvsps, read the provided cvsps output file. Useful for " -"debugging or when cvsps is being handled outside cvsimport." +"If the patch contains any changes to submodules then 'git apply' treats " +"these changes as follows." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:122 +#: en/git-apply.txt:264 msgid "" -"Attempt to detect merges based on the commit message. This option will " -"enable default regexes that try to capture the source branch name from the " -"commit message." -msgstr "" - -#. type: Labeled list -#: en/git-cvsimport.txt:123 -#, no-wrap -msgid "-M <regex>" +"If `--index` is specified (explicitly or implicitly), then the submodule " +"commits must match the index exactly for the patch to apply. If any of the " +"submodules are checked-out, then these check-outs are completely ignored, " +"i.e., they are not required to be up-to-date or clean and they are not " +"updated." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:127 +#: en/git-apply.txt:268 msgid "" -"Attempt to detect merges based on the commit message with a custom regex. It " -"can be used with `-m` to enable the default regexes as well. You must escape " -"forward slashes." -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:129 -msgid "The regex must capture the source branch name in $1." +"If `--index` is not specified, then the submodule commits in the patch are " +"ignored and only the absence or presence of the corresponding subdirectory " +"is checked and (if possible) updated." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:131 -msgid "This option can be used several times to provide several detection regexes." +#: en/git-apply.txt:272 +msgid "linkgit:git-am[1]." msgstr "" -#. type: Labeled list -#: en/git-cvsimport.txt:132 +#. type: Title = +#: en/git-archimport.txt:2 #, no-wrap -msgid "-S <regex>" +msgid "git-archimport(1)" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:134 -msgid "Skip paths matching the regex." +#: en/git-archimport.txt:7 +msgid "git-archimport - Import an Arch repository into Git" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:138 -msgid "" -"Import all commits, including recent ones. cvsimport by default skips " -"commits that have a timestamp less than 10 minutes ago." -msgstr "" - -#. type: Labeled list -#: en/git-cvsimport.txt:139 +#: en/git-archimport.txt:14 #, no-wrap -msgid "-L <limit>" +msgid "" +"'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]\n" +" <archive/branch>[:<git-branch>] ...\n" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:142 +#: en/git-archimport.txt:22 msgid "" -"Limit the number of commits imported. Workaround for cases where cvsimport " -"leaks memory." -msgstr "" - -#. type: Labeled list -#: en/git-cvsimport.txt:143 -#, no-wrap -msgid "-A <author-conv-file>" +"Imports a project from one or more Arch repositories. It will follow " +"branches and repositories within the namespaces defined by the " +"<archive/branch> parameters supplied. If it cannot find the remote branch a " +"merge comes from it will just import it as a regular commit. If it can find " +"it, it will mark it as a merge whenever possible (see discussion below)." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:148 +#: en/git-archimport.txt:26 msgid "" -"CVS by default uses the Unix username when writing its commit logs. Using " -"this option and an author-conv-file maps the name recorded in CVS to author " -"name, e-mail and optional time zone:" +"The script expects you to provide the key roots where it can start the " +"import from an 'initial import' or 'tag' type of Arch commit. It will follow " +"and import new branches within the provided roots." msgstr "" -#. type: delimited block - -#: en/git-cvsimport.txt:152 -#, no-wrap +#. type: Plain text +#: en/git-archimport.txt:31 msgid "" -"\texon=Andreas Ericsson <ae@op5.se>\n" -"\tspawn=Simon Pawn <spawn@frog-pond.org> America/Chicago\n" +"It expects to be dealing with one project only. If it sees branches that " +"have different roots, it will refuse to run. In that case, edit your " +"<archive/branch> parameters to define clearly the scope of the import." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:159 +#: en/git-archimport.txt:36 msgid "" -"'git cvsimport' will make it appear as those authors had their " -"GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly all along. If a time zone " -"is specified, GIT_AUTHOR_DATE will have the corresponding offset applied." +"'git archimport' uses `tla` extensively in the background to access the Arch " +"repository. Make sure you have a recent version of `tla` available in the " +"path. `tla` must know about the repositories you pass to 'git archimport'." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:163 +#: en/git-archimport.txt:41 msgid "" -"For convenience, this data is saved to `$GIT_DIR/cvs-authors` each time the " -"'-A' option is provided and read from that same file each time 'git " -"cvsimport' is run." +"For the initial import, 'git archimport' expects to find itself in an empty " +"directory. To follow the development of a project that uses Arch, rerun 'git " +"archimport' with the same parameters as the initial import to perform " +"incremental imports." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:167 +#: en/git-archimport.txt:48 msgid "" -"It is not recommended to use this feature if you intend to export changes " -"back to CVS again later with 'git cvsexportcommit'." +"While 'git archimport' will try to create sensible branch names for the " +"archives that it imports, it is also possible to specify Git branch names " +"manually. To do so, write a Git branch name after each <archive/branch> " +"parameter, separated by a colon. This way, you can shorten the Arch branch " +"names and convert Arch jargon to Git jargon, for example mapping a " +"\"PROJECT{litdd}devo{litdd}VERSION\" branch to \"master\"." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:173 +#: en/git-archimport.txt:53 msgid "" -"Generate a `$GIT_DIR/cvs-revisions` file containing a mapping from CVS " -"revision numbers to newly-created Git commit IDs. The generated file will " -"contain one line for each (filename, revision) pair imported; each line will " -"look like" +"Associating multiple Arch branches to one Git branch is possible; the result " +"will make the most sense only if no commits are made to the first branch, " +"after the second branch is created. Still, this is useful to convert Arch " +"repositories that had been rotated periodically." msgstr "" -#. type: delimited block - -#: en/git-cvsimport.txt:176 +#. type: Title - +#: en/git-archimport.txt:56 #, no-wrap -msgid "src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7\n" +msgid "MERGES" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:180 +#: en/git-archimport.txt:62 msgid "" -"The revision data is appended to the file if it already exists, for use when " -"doing incremental imports." +"Patch merge data from Arch is used to mark merges in Git as well. Git does " +"not care much about tracking patches, and only considers a merge when a " +"branch incorporates all the commits since the point they forked. The end " +"result is that Git will have a good idea of how far branches have " +"diverged. So the import process does lose some patch-trading metadata." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:183 +#: en/git-archimport.txt:66 msgid "" -"This option may be useful if you have CVS revision numbers stored in commit " -"messages, bug-tracking systems, email archives, and the like." -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:186 -msgid "Print a short usage message and exit." +"Fortunately, when you try and merge branches imported from Arch, Git will " +"find a good merge base, and it has a good chance of identifying patches that " +"have been traded out-of-sequence between the branches." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:190 -msgid "If `-v` is specified, the script reports what it is doing." +#: en/git-archimport.txt:72 +msgid "Display usage." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:193 -msgid "" -"Otherwise, success is indicated the Unix way, i.e. by simply exiting with a " -"zero exit status." +#: en/git-archimport.txt:75 +msgid "Verbose output." msgstr "" -#. type: Title - -#: en/git-cvsimport.txt:196 +#. type: Labeled list +#: en/git-archimport.txt:76 #, no-wrap -msgid "ISSUES" -msgstr "" - -#. type: Plain text -#: en/git-cvsimport.txt:198 -msgid "Problems related to timestamps:" +msgid "-T" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:202 +#: en/git-archimport.txt:79 msgid "" -"If timestamps of commits in the CVS repository are not stable enough to be " -"used for ordering commits changes may show up in the wrong order." +"Many tags. Will create a tag for every commit, reflecting the commit name in " +"the Arch repository." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:204 +#: en/git-archimport.txt:84 msgid "" -"If any files were ever \"cvs import\"ed more than once (e.g., import of more " -"than one vendor release) the HEAD contains the wrong content." +"Use the fast patchset import strategy. This can be significantly faster for " +"large trees, but cannot handle directory renames or permissions changes. " +"The default strategy is slow and safe." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:207 -msgid "" -"If the timestamp order of different files cross the revision order within " -"the commit matching time window the order of commits may be wrong." +#. type: Labeled list +#: en/git-archimport.txt:85 en/git-commit.txt:260 en/git-ls-files.txt:47 en/git-merge-index.txt:29 en/git-push.txt:159 +#, no-wrap +msgid "-o" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:209 -msgid "Problems related to branches:" +#: en/git-archimport.txt:92 +msgid "" +"Use this for compatibility with old-style branch names used by earlier " +"versions of 'git archimport'. Old-style branch names were " +"category{litdd}branch, whereas new-style branch names are " +"archive,category{litdd}branch{litdd}version. In both cases, names given on " +"the command-line will override the automatically-generated ones." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:211 -msgid "Branches on which no commits have been made are not imported." +#. type: Labeled list +#: en/git-archimport.txt:93 +#, no-wrap +msgid "-D <depth>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:213 +#: en/git-archimport.txt:97 msgid "" -"All files from the branching point are added to a branch even if never added " -"in CVS." +"Follow merge ancestry and attempt to import trees that have been merged " +"from. Specify a depth greater than 1 if patch logs have been pruned." msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:216 +#: en/git-archimport.txt:101 msgid "" -"This applies to files added to the source branch *after* a daughter branch " -"was created: if previously no commit was made on the daughter branch they " -"will erroneously be added to the daughter branch in git." +"Attempt to auto-register archives at http://mirrors.sourcecontrol.net This " +"is particularly useful with the -D option." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:218 -msgid "Problems related to tags:" +#. type: Labeled list +#: en/git-archimport.txt:102 +#, no-wrap +msgid "-t <tmpdir>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:220 -msgid "Multiple tags on the same revision are not imported." +#: en/git-archimport.txt:104 +msgid "Override the default tempdir." msgstr "" -#. type: Plain text -#: en/git-cvsimport.txt:223 -msgid "" -"If you suspect that any of these issues may apply to the repository you want " -"to import, consider using cvs2git:" +#. type: Labeled list +#: en/git-archimport.txt:106 +#, no-wrap +msgid "<archive/branch>" msgstr "" #. type: Plain text -#: en/git-cvsimport.txt:225 -msgid "cvs2git (part of cvs2svn), `http://subversion.apache.org/`" +#: en/git-archimport.txt:108 +msgid "Archive/branch identifier in a format that `tla log` understands." msgstr "" #. type: Title = -#: en/git-cvsserver.txt:2 +#: en/git-archive.txt:2 #, no-wrap -msgid "git-cvsserver(1)" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:7 -msgid "git-cvsserver - A CVS server emulator for Git" +msgid "git-archive(1)" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:12 -msgid "SSH:" +#: en/git-archive.txt:7 +msgid "git-archive - Create an archive of files from a named tree" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:16 +#: en/git-archive.txt:16 #, no-wrap msgid "" -"export CVS_SERVER=\"git cvsserver\"\n" -"'cvs' -d :ext:user@server/path/repo.git co <HEAD_name>\n" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:18 -msgid "pserver (/etc/inetd.conf):" +"'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]\n" +"\t [-o <file> | --output=<file>] [--worktree-attributes]\n" +"\t [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>\n" +"\t [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:21 -#, no-wrap +#: en/git-archive.txt:23 msgid "" -"cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver " -"pserver\n" +"Creates an archive of the specified format containing the tree structure for " +"the named tree, and writes it out to the standard output. If <prefix> is " +"specified it is prepended to the filenames in the archive." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:23 -msgid "Usage:" +#: en/git-archive.txt:32 +msgid "" +"'git archive' behaves differently when given a tree ID versus when given a " +"commit ID or tag ID. In the first case the current time is used as the " +"modification time of each file in the archive. In the latter case the " +"commit time as recorded in the referenced commit object is used instead. " +"Additionally the commit ID is stored in a global extended pax header if the " +"tar format is used; it can be extracted using 'git get-tar-commit-id'. In " +"ZIP files it is stored as a file comment." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:26 +#. type: Labeled list +#: en/git-archive.txt:36 #, no-wrap -msgid "'git-cvsserver' [options] [pserver|server] [<directory> ...]\n" +msgid "--format=<fmt>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:33 +#: en/git-archive.txt:42 msgid "" -"All these options obviously only make sense if enforced by the server side. " -"They have been implemented to resemble the linkgit:git-daemon[1] options as " -"closely as possible." +"Format of the resulting archive: 'tar' or 'zip'. If this option is not " +"given, and the output file is specified, the format is inferred from the " +"filename if possible (e.g. writing to \"foo.zip\" makes the output to be in " +"the zip format). Otherwise the output format is `tar`." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:34 +#: en/git-archive.txt:44 en/git-branch.txt:144 en/git-config.txt:160 en/git-show-branch.txt:80 #, no-wrap -msgid "--base-path <path>" +msgid "--list" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:36 -msgid "Prepend 'path' to requested CVSROOT" -msgstr "" - -#. type: Labeled list -#: en/git-cvsserver.txt:37 en/git-daemon.txt:48 -#, no-wrap -msgid "--strict-paths" +#: en/git-archive.txt:46 +msgid "Show all available formats." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:39 -msgid "Don't allow recursing into subdirectories" +#: en/git-archive.txt:50 +msgid "Report progress to stderr." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:40 en/git-daemon.txt:77 +#: en/git-archive.txt:51 en/git-read-tree.txt:84 en/git-write-tree.txt:35 #, no-wrap -msgid "--export-all" +msgid "--prefix=<prefix>/" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:43 -msgid "" -"Don't check for `gitcvs.enabled` in config. You also have to specify a list " -"of allowed directories (see below) if you want to use this option." +#: en/git-archive.txt:53 +msgid "Prepend <prefix>/ to each filename in the archive." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:44 +#: en/git-archive.txt:54 #, no-wrap -msgid "-V" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:47 -msgid "Print version information and exit" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:52 -msgid "Print usage information and exit" +msgid "-o <file>" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:58 -msgid "" -"You can specify a list of allowed directories. If no directories are given, " -"all are allowed. This is an additional restriction, gitcvs access still " -"needs to be enabled by the `gitcvs.enabled` config option unless " -"`--export-all` was given, too." +#. type: Labeled list +#: en/git-archive.txt:55 +#, no-wrap +msgid "--output=<file>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:64 -msgid "This application is a CVS emulation layer for Git." +#: en/git-archive.txt:57 +msgid "Write the archive to <file> instead of stdout." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:68 -msgid "" -"It is highly functional. However, not all methods are implemented, and for " -"those methods that are implemented, not all switches are implemented." +#. type: Labeled list +#: en/git-archive.txt:58 +#, no-wrap +msgid "--worktree-attributes" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:71 +#: en/git-archive.txt:61 msgid "" -"Testing has been done using both the CLI CVS client, and the Eclipse CVS " -"plugin. Most functionality works fine with both of these clients." +"Look for attributes in .gitattributes files in the working tree as well (see " +"<<ATTRIBUTES>>)." msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:73 +#. type: Labeled list +#: en/git-archive.txt:62 #, no-wrap -msgid "LIMITATIONS" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:76 -msgid "CVS clients cannot tag, branch or perform Git merges." +msgid "<extra>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:80 +#: en/git-archive.txt:65 msgid "" -"'git-cvsserver' maps Git branches to CVS modules. This is very different " -"from what most CVS users would expect since in CVS modules usually represent " -"one or more directories." +"This can be any options that the archiver backend understands. See next " +"section." msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:82 +#. type: Labeled list +#: en/git-archive.txt:66 #, no-wrap -msgid "INSTALLATION" +msgid "--remote=<repo>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:86 +#: en/git-archive.txt:72 msgid "" -"If you are going to offer CVS access via pserver, add a line in " -"/etc/inetd.conf like" +"Instead of making a tar archive from the local repository, retrieve a tar " +"archive from a remote repository. Note that the remote repository may place " +"restrictions on which sha1 expressions may be allowed in `<tree-ish>`. See " +"linkgit:git-upload-archive[1] for details." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:90 +#. type: Labeled list +#: en/git-archive.txt:73 #, no-wrap -msgid " cvspserver stream tcp nowait nobody git-cvsserver pserver\n" +msgid "--exec=<git-upload-archive>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:96 +#: en/git-archive.txt:76 msgid "" -"Note: Some inetd servers let you specify the name of the executable " -"independently of the value of argv[0] (i.e. the name the program assumes it " -"was executed with). In this case the correct line in /etc/inetd.conf looks " -"like" +"Used with --remote to specify the path to the 'git-upload-archive' on the " +"remote side." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:99 +#. type: Labeled list +#: en/git-archive.txt:77 en/git-checkout.txt:281 en/git-diff-index.txt:26 en/git-diff-tree.txt:29 en/git-ls-tree.txt:38 en/git.txt:792 #, no-wrap -msgid "" -" cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver " -"pserver\n" +msgid "<tree-ish>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:106 -msgid "" -"Only anonymous access is provided by pserve by default. To commit you will " -"have to create pserver accounts, simply add a gitcvs.authdb setting in the " -"config file of the repositories you want the cvsserver to allow writes to, " -"for example:" +#: en/git-archive.txt:79 +msgid "The tree or commit to produce an archive for." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:111 +#. type: Labeled list +#: en/git-archive.txt:80 #, no-wrap -msgid "" -" [gitcvs]\n" -"\tauthdb = /etc/cvsserver/passwd\n" +msgid "<path>" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:115 +#: en/git-archive.txt:84 msgid "" -"The format of these files is username followed by the encrypted password, " -"for example:" +"Without an optional path parameter, all files and subdirectories of the " +"current working directory are included in the archive. If one or more paths " +"are specified, only these are included." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:119 +#. type: Title - +#: en/git-archive.txt:86 #, no-wrap -msgid "" -" myuser:$1Oyx5r9mdGZ2\n" -" myuser:$1$BA)@$vbnMJMDym7tA32AamXrm./\n" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:123 -msgid "" -"You can use the 'htpasswd' facility that comes with Apache to make these " -"files, but Apache's MD5 crypt method differs from the one used by most C " -"library's crypt() function, so don't use the -m option." +msgid "BACKEND EXTRA OPTIONS" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:125 -msgid "Alternatively you can produce the password with perl's crypt() operator:" +#. type: Title ~ +#: en/git-archive.txt:89 +#, no-wrap +msgid "zip" msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:127 +#. type: Labeled list +#: en/git-archive.txt:90 en/git-diff-files.txt:28 #, no-wrap -msgid "" -" perl -e 'my ($user, $pass) = @ARGV; printf \"%s:%s\\n\", $user, " -"crypt($user, $pass)' $USER password\n" +msgid "-0" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:130 -msgid "Then provide your password via the pserver method, for example:" +#: en/git-archive.txt:92 +msgid "Store the files instead of deflating them." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:132 +#. type: Labeled list +#: en/git-archive.txt:92 #, no-wrap -msgid "" -" cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co " -"<HEAD_name>\n" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:136 -msgid "" -"No special setup is needed for SSH access, other than having Git tools in " -"the PATH. If you have clients that do not accept the CVS_SERVER environment " -"variable, you can rename 'git-cvsserver' to `cvs`." +msgid "-9" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:139 +#: en/git-archive.txt:95 msgid "" -"Note: Newer CVS versions (>= 1.12.11) also support specifying CVS_SERVER " -"directly in CVSROOT like" +"Highest and slowest compression level. You can specify any number from 1 to " +"9 to adjust compression speed and ratio." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:142 +#. type: Title - +#: en/git-archive.txt:98 en/git-cvsexportcommit.txt:86 en/git-fmt-merge-msg.txt:53 en/git-format-patch.txt:287 en/git-grep.txt:42 en/git-imap-send.txt:52 en/git-instaweb.txt:69 en/git-log.txt:170 en/git-merge.txt:344 en/git-notes.txt:311 en/git-rebase.txt:204 en/git-send-email.txt:402 en/git-status.txt:331 en/git-svn.txt:1045 en/git-tag.txt:182 #, no-wrap -msgid "" -"cvs -d \":ext;CVS_SERVER=git cvsserver:user@server/path/repo.git\" co " -"<HEAD_name>\n" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:148 -msgid "" -"This has the advantage that it will be saved in your 'CVS/Root' files and " -"you don't need to worry about always setting the correct environment " -"variable. SSH users restricted to 'git-shell' don't need to override the " -"default with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to " -"mean 'git-cvsserver' and pretends that the other end runs the real 'cvs' " -"better." +msgid "CONFIGURATION" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:151 +#: en/git-archive.txt:107 msgid "" -"For each repo that you want accessible from CVS you need to edit config in " -"the repo and add the following section." +"This variable can be used to restrict the permission bits of tar archive " +"entries. The default is 0002, which turns off the world write bit. The " +"special value \"user\" indicates that the archiving user's umask will be " +"used instead. See umask(2) for details. If `--remote` is used then only " +"the configuration of the remote repository takes effect." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:158 +#. type: Labeled list +#: en/git-archive.txt:108 #, no-wrap -msgid "" -" [gitcvs]\n" -" enabled=1\n" -" # optional for debugging\n" -"\tlogFile=/path/to/logfile\n" -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:164 -msgid "" -"Note: you need to ensure each user that is going to invoke 'git-cvsserver' " -"has write access to the log file and to the database (see " -"<<dbbackend,Database Backend>>. If you want to offer write access over SSH, " -"the users of course also need write access to the Git repository itself." +msgid "tar.<format>.command" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:167 +#: en/git-archive.txt:117 msgid "" -"You also need to ensure that each repository is \"bare\" (without a Git " -"index file) for `cvs commit` to work. See linkgit:gitcvs-migration[7]." +"This variable specifies a shell command through which the tar output " +"generated by `git archive` should be piped. The command is executed using " +"the shell with the generated tar file on its standard input, and should " +"produce the final output on its standard output. Any compression-level " +"options will be passed to the command (e.g., \"-9\"). An output file with " +"the same extension as `<format>` will be use this format if no other format " +"is given." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:173 -msgid "" -"All configuration variables can also be overridden for a specific method of " -"access. Valid method names are \"ext\" (for SSH access) and \"pserver\". The " -"following example configuration would disable pserver access while still " -"allowing access over SSH." -msgstr "" - -#. type: delimited block - -#: en/git-cvsserver.txt:176 -#, no-wrap +#: en/git-archive.txt:120 msgid "" -" [gitcvs]\n" -" enabled=0\n" +"The \"tar.gz\" and \"tgz\" formats are defined automatically and default to " +"`gzip -cn`. You may override them with custom commands." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:179 +#. type: Labeled list +#: en/git-archive.txt:121 #, no-wrap -msgid "" -" [gitcvs \"ext\"]\n" -" enabled=1\n" +msgid "tar.<format>.remote" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:186 +#: en/git-archive.txt:126 msgid "" -"If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout " -"command, automatically saving it in your 'CVS/Root' files, then you need to " -"set them explicitly in your environment. CVSROOT should be set as per " -"normal, but the directory should point at the appropriate Git repo. As " -"above, for SSH clients _not_ restricted to 'git-shell', CVS_SERVER should be " -"set to 'git-cvsserver'." +"If true, enable `<format>` for use by remote clients via " +"linkgit:git-upload-archive[1]. Defaults to false for user-defined formats, " +"but true for the \"tar.gz\" and \"tgz\" formats." msgstr "" -#. type: delimited block - -#: en/git-cvsserver.txt:191 +#. type: Title - +#: en/git-archive.txt:129 #, no-wrap -msgid "" -" export CVSROOT=:ext:user@server:/var/git/project.git\n" -" export CVS_SERVER=\"git cvsserver\"\n" +msgid "ATTRIBUTES" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:198 -msgid "" -"For SSH clients that will make commits, make sure their server-side " -".ssh/environment files (or .bashrc, etc., according to their specific shell) " -"export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, " -"GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL. For SSH clients whose login " -"shell is bash, .bashrc may be a reasonable alternative." +#. type: Labeled list +#: en/git-archive.txt:131 +#, no-wrap +msgid "export-ignore" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:204 +#: en/git-archive.txt:134 msgid "" -"Clients should now be able to check out the project. Use the CVS 'module' " -"name to indicate what Git 'head' you want to check out. This also sets the " -"name of your newly checked-out directory, unless you tell it otherwise with " -"`-d <dir_name>`. For example, this checks out 'master' branch to the " -"`project-master` directory:" -msgstr "" - -#. type: delimited block - -#: en/git-cvsserver.txt:207 -#, no-wrap -msgid " cvs co -d project-master master\n" +"Files and directories with the attribute export-ignore won't be added to " +"archive files. See linkgit:gitattributes[5] for details." msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:211 +#. type: Labeled list +#: en/git-archive.txt:135 #, no-wrap -msgid "Database Backend" +msgid "export-subst" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:217 +#: en/git-archive.txt:139 msgid "" -"'git-cvsserver' uses one database per Git head (i.e. CVS module) to store " -"information about the repository to maintain consistent CVS revision " -"numbers. The database needs to be updated (i.e. written to) after every " -"commit." +"If the attribute export-subst is set for a file then Git will expand several " +"placeholders when adding this file to an archive. See " +"linkgit:gitattributes[5] for details." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:222 +#: en/git-archive.txt:147 msgid "" -"If the commit is done directly by using `git` (as opposed to using " -"'git-cvsserver') the update will need to happen on the next repository " -"access by 'git-cvsserver', independent of access method and requested " -"operation." +"Note that attributes are by default taken from the `.gitattributes` files in " +"the tree that is being archived. If you want to tweak the way the output is " +"generated after the fact (e.g. you committed without adding an appropriate " +"export-ignore in its `.gitattributes`), adjust the checked out " +"`.gitattributes` file as necessary and use `--worktree-attributes` option. " +"Alternatively you can keep necessary attributes that should apply while " +"archiving any tree in your `$GIT_DIR/info/attributes` file." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:227 -msgid "" -"That means that even if you offer only read access (e.g. by using the " -"pserver method), 'git-cvsserver' should have write access to the database to " -"work reliably (otherwise you need to make sure that the database is " -"up-to-date any time 'git-cvsserver' is executed)." +#. type: Labeled list +#: en/git-archive.txt:150 +#, no-wrap +msgid "`git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:234 +#: en/git-archive.txt:155 msgid "" -"By default it uses SQLite databases in the Git directory, named " -"`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates " -"temporary files in the same directory as the database file on write so it " -"might not be enough to grant the users using 'git-cvsserver' write access to " -"the database file without granting them write access to the directory, too." +"Create a tar archive that contains the contents of the latest commit on the " +"current branch, and extract it in the `/var/tmp/junk` directory." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:246 +#. type: Labeled list +#: en/git-archive.txt:156 +#, no-wrap msgid "" -"The database can not be reliably regenerated in a consistent form after the " -"branch it is tracking has changed. Example: For merged branches, " -"'git-cvsserver' only tracks one branch of development, and after a 'git " -"merge' an incrementally updated database may track a different branch than a " -"database regenerated from scratch, causing inconsistent CVS revision " -"numbers. `git-cvsserver` has no way of knowing which branch it would have " -"picked if it had been run incrementally pre-merge. So if you have to fully " -"or partially (from old backup) regenerate the database, you should be " -"suspicious of pre-existing CVS sandboxes." +"`git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip " +">git-1.4.0.tar.gz`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:249 -msgid "" -"You can configure the database backend with the following configuration " -"variables:" +#: en/git-archive.txt:159 +msgid "Create a compressed tarball for v1.4.0 release." msgstr "" -#. type: Title ~ -#: en/git-cvsserver.txt:251 +#. type: Labeled list +#: en/git-archive.txt:160 #, no-wrap -msgid "Configuring database backend" +msgid "`git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:256 -msgid "" -"'git-cvsserver' uses the Perl DBI module. Please also read its documentation " -"if changing these variables, especially about `DBI->connect()`." +#: en/git-archive.txt:163 +msgid "Same as above, but using the builtin tar.gz handling." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:257 en/config.txt:1567 +#: en/git-archive.txt:164 #, no-wrap -msgid "gitcvs.dbName" +msgid "`git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:263 -msgid "" -"Database name. The exact meaning depends on the selected database driver, " -"for SQLite this is a filename. Supports variable substitution (see " -"below). May not contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" +#: en/git-archive.txt:167 +msgid "Same as above, but the format is inferred from the output file." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:264 en/config.txt:1575 +#: en/git-archive.txt:168 #, no-wrap -msgid "gitcvs.dbDriver" +msgid "" +"`git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip " +">git-1.4.0.tar.gz`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:272 +#: en/git-archive.txt:172 msgid "" -"Used DBI driver. You can specify any available driver for this here, but it " -"might not work. cvsserver is tested with 'DBD::SQLite', reported to work " -"with 'DBD::Pg', and reported *not* to work with 'DBD::mysql'. Please regard " -"this as an experimental feature. May not contain colons (`:`). Default: " -"'SQLite'" +"Create a compressed tarball for v1.4.0 release, but without a global " +"extended pax header." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:273 +#: en/git-archive.txt:173 #, no-wrap -msgid "gitcvs.dbuser" +msgid "" +"`git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > " +"git-1.4.0-docs.zip`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:277 +#: en/git-archive.txt:177 msgid "" -"Database user. Only useful if setting `dbDriver`, since SQLite has no " -"concept of database users. Supports variable substitution (see below)." +"Put everything in the current head's Documentation/ directory into " +"'git-1.4.0-docs.zip', with the prefix 'git-docs/'." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:278 +#: en/git-archive.txt:178 #, no-wrap -msgid "gitcvs.dbPass" +msgid "`git archive -o latest.zip HEAD`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:281 +#: en/git-archive.txt:183 msgid "" -"Database password. Only useful if setting `dbDriver`, since SQLite has no " -"concept of database passwords." +"Create a Zip archive that contains the contents of the latest commit on the " +"current branch. Note that the output format is inferred by the extension of " +"the output file." msgstr "" #. type: Labeled list -#: en/git-cvsserver.txt:282 en/config.txt:1589 +#: en/git-archive.txt:184 #, no-wrap -msgid "gitcvs.dbTableNamePrefix" +msgid "`git config tar.tar.xz.command \"xz -c\"`" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:286 +#: en/git-archive.txt:189 msgid "" -"Database table name prefix. Supports variable substitution (see below). " -"Any non-alphabetic characters will be replaced with underscores." +"Configure a \"tar.xz\" format for making LZMA-compressed tarfiles. You can " +"use it specifying `--format=tar.xz`, or by creating an output file like `-o " +"foo.tar.xz`." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:288 -msgid "" -"All variables can also be set per access method, see " -"<<configaccessmethod,above>>." +#: en/git-archive.txt:194 +msgid "linkgit:gitattributes[5]" msgstr "" -#. type: Title ^ -#: en/git-cvsserver.txt:290 +#. type: Title = +#: en/git-bisect.txt:2 #, no-wrap -msgid "Variable substitution" +msgid "git-bisect(1)" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:292 -msgid "In `dbDriver` and `dbUser` you can use the following variables:" +#: en/git-bisect.txt:7 +msgid "git-bisect - Use binary search to find the commit that introduced a bug" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:308 +#: en/git-bisect.txt:13 #, no-wrap -msgid "" -"%G::\n" -"\tGit directory name\n" -"%g::\n" -"\tGit directory name, where all characters except for\n" -"\talpha-numeric ones, `.`, and `-` are replaced with\n" -"\t`_` (this should make it easier to use the directory\n" -"\tname in a filename if wanted)\n" -"%m::\n" -"\tCVS module/Git head name\n" -"%a::\n" -"\taccess method (one of \"ext\" or \"pserver\")\n" -"%u::\n" -"\tName of the user running 'git-cvsserver'.\n" -"\tIf no name can be determined, the\n" -"\tnumeric uid is used.\n" +msgid "'git bisect' <subcommand> <options>\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:314 +#: en/git-bisect.txt:18 en/git-reflog.txt:18 msgid "" -"These variables obviate the need for command-line options in some " -"circumstances, allowing easier restricted usage through git-shell." -msgstr "" - -#. type: Plain text -#: en/git-cvsserver.txt:316 -msgid "GIT_CVSSERVER_BASE_PATH takes the place of the argument to --base-path." +"The command takes various subcommands, and different options depending on " +"the subcommand:" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:320 +#: en/git-bisect.txt:31 +#, no-wrap msgid "" -"GIT_CVSSERVER_ROOT specifies a single-directory whitelist. The repository " -"must still be configured to allow access through git-cvsserver, as described " -"above." +" git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>]\n" +"\t\t [--no-checkout] [<bad> [<good>...]] [--] [<paths>...]\n" +" git bisect (bad|new|<term-new>) [<rev>]\n" +" git bisect (good|old|<term-old>) [<rev>...]\n" +" git bisect terms [--term-good | --term-bad]\n" +" git bisect skip [(<rev>|<range>)...]\n" +" git bisect reset [<commit>]\n" +" git bisect visualize\n" +" git bisect replay <logfile>\n" +" git bisect log\n" +" git bisect run <cmd>...\n" +" git bisect help\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:323 +#: en/git-bisect.txt:40 msgid "" -"When these environment variables are set, the corresponding command-line " -"arguments may not be used." -msgstr "" - -#. type: Title - -#: en/git-cvsserver.txt:325 -#, no-wrap -msgid "Eclipse CVS Client Notes" +"This command uses a binary search algorithm to find which commit in your " +"project's history introduced a bug. You use it by first telling it a \"bad\" " +"commit that is known to contain the bug, and a \"good\" commit that is known " +"to be before the bug was introduced. Then `git bisect` picks a commit " +"between those two endpoints and asks you whether the selected commit is " +"\"good\" or \"bad\". It continues narrowing down the range until it finds " +"the exact commit that introduced the change." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:328 -msgid "To get a checkout with the Eclipse CVS client:" +#: en/git-bisect.txt:47 +msgid "" +"In fact, `git bisect` can be used to find the commit that changed *any* " +"property of your project; e.g., the commit that fixed a bug, or the commit " +"that caused a benchmark's performance to improve. To support this more " +"general usage, the terms \"old\" and \"new\" can be used in place of " +"\"good\" and \"bad\", or you can choose your own terms. See section " +"\"Alternate terms\" below for more information." msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:330 -msgid "Select \"Create a new project -> From CVS checkout\"" +#. type: Title ~ +#: en/git-bisect.txt:49 +#, no-wrap +msgid "Basic bisect commands: start, bad, good" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:332 +#: en/git-bisect.txt:54 msgid "" -"Create a new location. See the notes below for details on how to choose the " -"right protocol." +"As an example, suppose you are trying to find the commit that broke a " +"feature that was known to work in version `v2.6.13-rc2` of your project. You " +"start a bisect session as follows:" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:335 +#. type: delimited block - +#: en/git-bisect.txt:59 +#, no-wrap msgid "" -"Browse the 'modules' available. It will give you a list of the heads in the " -"repository. You will not be able to browse the tree from there. Only the " -"heads." +"$ git bisect start\n" +"$ git bisect bad # Current version is bad\n" +"$ git bisect good v2.6.13-rc2 # v2.6.13-rc2 is known to be good\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:337 +#: en/git-bisect.txt:64 msgid "" -"Pick `HEAD` when it asks what branch/tag to check out. Untick the \"launch " -"commit wizard\" to avoid committing the .project file." +"Once you have specified at least one bad and one good commit, `git bisect` " +"selects a commit in the middle of that range of history, checks it out, and " +"outputs something similar to the following:" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:343 -msgid "" -"Protocol notes: If you are using anonymous access via pserver, just select " -"that. Those using SSH access should choose the 'ext' protocol, and " -"configure 'ext' access on the Preferences->Team->CVS->ExtConnection " -"pane. Set CVS_SERVER to \"`git cvsserver`\". Note that password support is " -"not good when using 'ext', you will definitely want to have SSH keys setup." +#. type: delimited block - +#: en/git-bisect.txt:67 +#, no-wrap +msgid "Bisecting: 675 revisions left to test after this (roughly 10 steps)\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:348 +#: en/git-bisect.txt:71 msgid "" -"Alternatively, you can just use the non-standard extssh protocol that " -"Eclipse offer. In that case CVS_SERVER is ignored, and you will have to " -"replace the cvs utility on the server with 'git-cvsserver' or manipulate " -"your `.bashrc` so that calling 'cvs' effectively calls 'git-cvsserver'." +"You should now compile the checked-out version and test it. If that version " +"works correctly, type" msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:350 +#. type: delimited block - +#: en/git-bisect.txt:74 #, no-wrap -msgid "Clients known to work" +msgid "$ git bisect good\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:353 -msgid "CVS 1.12.9 on Debian" +#: en/git-bisect.txt:77 +msgid "If that version is broken, type" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:80 +#, no-wrap +msgid "$ git bisect bad\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:354 -msgid "CVS 1.11.17 on MacOSX (from Fink package)" +#: en/git-bisect.txt:83 +msgid "Then `git bisect` will respond with something like" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:86 +#, no-wrap +msgid "Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:355 -msgid "Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)" +#: en/git-bisect.txt:91 +msgid "" +"Keep repeating the process: compile the tree, test it, and depending on " +"whether it is good or bad run `git bisect good` or `git bisect bad` to ask " +"for the next commit that needs testing." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:356 -msgid "TortoiseCVS" +#: en/git-bisect.txt:95 +msgid "" +"Eventually there will be no more revisions left to inspect, and the command " +"will print out a description of the first bad commit. The reference " +"`refs/bisect/bad` will be left pointing at that commit." msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:358 +#. type: Title ~ +#: en/git-bisect.txt:98 #, no-wrap -msgid "Operations supported" +msgid "Bisect reset" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:362 +#: en/git-bisect.txt:102 msgid "" -"All the operations required for normal use are supported, including " -"checkout, diff, status, update, log, add, remove, commit." +"After a bisect session, to clean up the bisection state and return to the " +"original HEAD, issue the following command:" msgstr "" -#. type: Plain text -#: en/git-cvsserver.txt:371 -msgid "" -"Most CVS command arguments that read CVS tags or revision numbers (typically " -"-r) work, and also support any git refspec (tag, branch, commit ID, etc). " -"However, CVS revision numbers for non-default branches are not well " -"emulated, and cvs log does not show tags or branches at all. " -"(Non-main-branch CVS revision numbers superficially resemble CVS revision " -"numbers, but they actually encode a git commit ID directly, rather than " -"represent the number of revisions since the branch point.)" +#. type: delimited block - +#: en/git-bisect.txt:105 +#, no-wrap +msgid "$ git bisect reset\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:385 +#: en/git-bisect.txt:110 msgid "" -"Note that there are two ways to checkout a particular branch. As described " -"elsewhere on this page, the \"module\" parameter of cvs checkout is " -"interpreted as a branch name, and it becomes the main branch. It remains " -"the main branch for a given sandbox even if you temporarily make another " -"branch sticky with cvs update -r. Alternatively, the -r argument can " -"indicate some other branch to actually checkout, even though the module is " -"still the \"main\" branch. Tradeoffs (as currently implemented): Each new " -"\"module\" creates a new database on disk with a history for the given " -"module, and after the database is created, operations against that main " -"branch are fast. Or alternatively, -r doesn't take any extra disk space, " -"but may be significantly slower for many operations, like cvs update." +"By default, this will return your tree to the commit that was checked out " +"before `git bisect start`. (A new `git bisect start` will also do that, as " +"it cleans up the old bisection state.)" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:398 -msgid "" -"If you want to refer to a git refspec that has characters that are not " -"allowed by CVS, you have two options. First, it may just work to supply the " -"git refspec directly to the appropriate CVS -r argument; some CVS clients " -"don't seem to do much sanity checking of the argument. Second, if that " -"fails, you can use a special character escape mechanism that only uses " -"characters that are valid in CVS tags. A sequence of 4 or 5 characters of " -"the form (underscore (`\"_\"`), dash (`\"-\"`), one or two characters, and " -"dash (`\"-\"`)) can encode various characters based on the one or two " -"letters: `\"s\"` for slash (`\"/\"`), `\"p\"` for period (`\".\"`), `\"u\"` " -"for underscore (`\"_\"`), or two hexadecimal digits for any byte value at " -"all (typically an ASCII number, or perhaps a part of a UTF-8 encoded " -"character)." +#: en/git-bisect.txt:113 +msgid "With an optional argument, you can return to a different commit instead:" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:116 +#, no-wrap +msgid "$ git bisect reset <commit>\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:401 +#: en/git-bisect.txt:121 msgid "" -"Legacy monitoring operations are not supported (edit, watch and related). " -"Exports and tagging (tags and branches) are not supported at this stage." +"For example, `git bisect reset bisect/bad` will check out the first bad " +"revision, while `git bisect reset HEAD` will leave you on the current " +"bisection commit and avoid switching commits at all." msgstr "" #. type: Title ~ -#: en/git-cvsserver.txt:403 +#: en/git-bisect.txt:124 #, no-wrap -msgid "CRLF Line Ending Conversions" +msgid "Alternate terms" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:408 +#: en/git-bisect.txt:132 msgid "" -"By default the server leaves the `-k` mode blank for all files, which causes " -"the CVS client to treat them as a text files, subject to end-of-line " -"conversion on some platforms." +"Sometimes you are not looking for the commit that introduced a breakage, but " +"rather for a commit that caused a change between some other \"old\" state " +"and \"new\" state. For example, you might be looking for the commit that " +"introduced a particular fix. Or you might be looking for the first commit in " +"which the source-code filenames were finally all converted to your company's " +"naming standard. Or whatever." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:413 +#: en/git-bisect.txt:138 msgid "" -"You can make the server use the end-of-line conversion attributes to set the " -"`-k` modes for files by setting the `gitcvs.usecrlfattr` config variable. " -"See linkgit:gitattributes[5] for more information about end-of-line " -"conversion." +"In such cases it can be very confusing to use the terms \"good\" and \"bad\" " +"to refer to \"the state before the change\" and \"the state after the " +"change\". So instead, you can use the terms \"old\" and \"new\", " +"respectively, in place of \"good\" and \"bad\". (But note that you cannot " +"mix \"good\" and \"bad\" with \"old\" and \"new\" in a single session.)" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:422 +#: en/git-bisect.txt:145 msgid "" -"Alternatively, if `gitcvs.usecrlfattr` config is not enabled or the " -"attributes do not allow automatic detection for a filename, then the server " -"uses the `gitcvs.allBinary` config for the default setting. If " -"`gitcvs.allBinary` is set, then file not otherwise specified will default to " -"'-kb' mode. Otherwise the `-k` mode is left blank. But if `gitcvs.allBinary` " -"is set to \"guess\", then the correct `-k` mode will be guessed based on the " -"contents of the file." +"In this more general usage, you provide `git bisect` with a \"new\" commit " +"has some property and an \"old\" commit that doesn't have that " +"property. Each time `git bisect` checks out a commit, you test if that " +"commit has the property. If it does, mark the commit as \"new\"; otherwise, " +"mark it as \"old\". When the bisection is done, `git bisect` will report " +"which commit introduced the property." msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:426 +#: en/git-bisect.txt:149 msgid "" -"For best consistency with 'cvs', it is probably best to override the " -"defaults by setting `gitcvs.usecrlfattr` to true, and `gitcvs.allBinary` to " -"\"guess\"." +"To use \"old\" and \"new\" instead of \"good\" and bad, you must run `git " +"bisect start` without commits as argument and then run the following " +"commands to add the commits:" msgstr "" -#. type: Title - -#: en/git-cvsserver.txt:428 +#. type: delimited block - +#: en/git-bisect.txt:152 #, no-wrap -msgid "Dependencies" +msgid "git bisect old [<rev>]\n" msgstr "" #. type: Plain text -#: en/git-cvsserver.txt:430 -msgid "'git-cvsserver' depends on DBD::SQLite." +#: en/git-bisect.txt:155 +msgid "to indicate that a commit was before the sought change, or" msgstr "" -#. type: Title = -#: en/git-daemon.txt:2 +#. type: delimited block - +#: en/git-bisect.txt:158 #, no-wrap -msgid "git-daemon(1)" +msgid "git bisect new [<rev>...]\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:7 -msgid "git-daemon - A really simple server for Git repositories" +#: en/git-bisect.txt:161 +msgid "to indicate that it was after." msgstr "" #. type: Plain text -#: en/git-daemon.txt:24 +#: en/git-bisect.txt:163 +msgid "To get a reminder of the currently used terms, use" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:166 #, no-wrap -msgid "" -"'git daemon' [--verbose] [--syslog] [--export-all]\n" -"\t [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>]\n" -"\t [--strict-paths] [--base-path=<path>] [--base-path-relaxed]\n" -"\t [--user-path | --user-path=<path>]\n" -"\t [--interpolated-path=<pathtemplate>]\n" -"\t [--reuseaddr] [--detach] [--pid-file=<file>]\n" -"\t [--enable=<service>] [--disable=<service>]\n" -"\t [--allow-override=<service>] [--forbid-override=<service>]\n" -"\t [--access-hook=<path>] [--[no-]informative-errors]\n" -"\t [--inetd |\n" -"\t [--listen=<host_or_ipaddr>] [--port=<n>]\n" -"\t [--user=<user> [--group=<group>]]]\n" -"\t [<directory>...]\n" +msgid "git bisect terms\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:30 +#: en/git-bisect.txt:170 msgid "" -"A really simple TCP Git daemon that normally listens on port " -"\"DEFAULT_GIT_PORT\" aka 9418. It waits for a connection asking for a " -"service, and will serve that service if it is enabled." +"You can get just the old (respectively new) term with `git bisect term " +"--term-old` or `git bisect term --term-good`." msgstr "" #. type: Plain text -#: en/git-daemon.txt:36 +#: en/git-bisect.txt:175 msgid "" -"It verifies that the directory has the magic file \"git-daemon-export-ok\", " -"and it will refuse to export any Git directory that hasn't explicitly been " -"marked for export this way (unless the `--export-all` parameter is " -"specified). If you pass some directory paths as 'git daemon' arguments, you " -"can further restrict the offers to a whitelist comprising of those." +"If you would like to use your own terms instead of \"bad\"/\"good\" or " +"\"new\"/\"old\", you can choose any names you like (except existing bisect " +"subcommands like `reset`, `start`, ...) by starting the bisection using" msgstr "" -#. type: Plain text -#: en/git-daemon.txt:40 -msgid "" -"By default, only `upload-pack` service is enabled, which serves 'git " -"fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', " -"'git pull', and 'git clone'." +#. type: delimited block - +#: en/git-bisect.txt:178 +#, no-wrap +msgid "git bisect start --term-old <term-old> --term-new <term-new>\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:43 +#: en/git-bisect.txt:182 msgid "" -"This is ideally suited for read-only updates, i.e., pulling from Git " -"repositories." +"For example, if you are looking for a commit that introduced a performance " +"regression, you might use" msgstr "" -#. type: Plain text -#: en/git-daemon.txt:45 -msgid "An `upload-archive` also exists to serve 'git archive'." +#. type: delimited block - +#: en/git-bisect.txt:185 +#, no-wrap +msgid "git bisect start --term-old fast --term-new slow\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:53 -msgid "" -"Match paths exactly (i.e. don't allow \"/foo/repo\" when the real path is " -"\"/foo/repo.git\" or \"/foo/repo/.git\") and don't do user-relative paths. " -"'git daemon' will refuse to start when this option is enabled and no " -"whitelist is specified." +#: en/git-bisect.txt:188 +msgid "Or if you are looking for the commit that fixed a bug, you might use" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:54 +#. type: delimited block - +#: en/git-bisect.txt:191 #, no-wrap -msgid "--base-path=<path>" +msgid "git bisect start --term-new fixed --term-old broken\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:60 +#: en/git-bisect.txt:195 msgid "" -"Remap all the path requests as relative to the given path. This is sort of " -"\"Git root\" - if you run 'git daemon' with '--base-path=/srv/git' on " -"example.com, then if you later try to pull 'git://example.com/hello.git', " -"'git daemon' will interpret the path as '/srv/git/hello.git'." +"Then, use `git bisect <term-old>` and `git bisect <term-new>` instead of " +"`git bisect good` and `git bisect bad` to mark commits." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:61 +#. type: Title ~ +#: en/git-bisect.txt:197 #, no-wrap -msgid "--base-path-relaxed" +msgid "Bisect visualize" msgstr "" #. type: Plain text -#: en/git-daemon.txt:66 +#: en/git-bisect.txt:201 msgid "" -"If --base-path is enabled and repo lookup fails, with this option 'git " -"daemon' will attempt to lookup without prefixing the base path. This is " -"useful for switching to --base-path usage, while still allowing the old " -"paths." +"To see the currently remaining suspects in 'gitk', issue the following " +"command during the bisection process:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:67 +#. type: delimited block - +#: en/git-bisect.txt:204 #, no-wrap -msgid "--interpolated-path=<pathtemplate>" +msgid "$ git bisect visualize\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:76 -msgid "" -"To support virtual hosting, an interpolated path template can be used to " -"dynamically construct alternate paths. The template supports %H for the " -"target hostname as supplied by the client but converted to all lowercase, " -"%CH for the canonical hostname, %IP for the server's IP address, %P for the " -"port number, and %D for the absolute path of the named repository. After " -"interpolation, the path is validated against the directory whitelist." +#: en/git-bisect.txt:207 +msgid "`view` may also be used as a synonym for `visualize`." msgstr "" #. type: Plain text -#: en/git-daemon.txt:81 +#: en/git-bisect.txt:211 msgid "" -"Allow pulling from all directories that look like Git repositories (have the " -"'objects' and 'refs' subdirectories), even if they do not have the " -"'git-daemon-export-ok' file." +"If the `DISPLAY` environment variable is not set, 'git log' is used " +"instead. You can also give command-line options such as `-p` and `--stat`." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:82 +#. type: delimited block - +#: en/git-bisect.txt:214 #, no-wrap -msgid "--inetd" +msgid "$ git bisect view --stat\n" +msgstr "" + +#. type: Title ~ +#: en/git-bisect.txt:217 +#, no-wrap +msgid "Bisect log and bisect replay" msgstr "" #. type: Plain text -#: en/git-daemon.txt:86 +#: en/git-bisect.txt:221 msgid "" -"Have the server run as an inetd service. Implies --syslog. Incompatible " -"with --detach, --port, --listen, --user and --group options." +"After having marked revisions as good or bad, issue the following command to " +"show what has been done so far:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:87 +#. type: delimited block - +#: en/git-bisect.txt:224 #, no-wrap -msgid "--listen=<host_or_ipaddr>" +msgid "$ git bisect log\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:94 +#: en/git-bisect.txt:230 msgid "" -"Listen on a specific IP address or hostname. IP addresses can be either an " -"IPv4 address or an IPv6 address if supported. If IPv6 is not supported, " -"then --listen=hostname is also not supported and --listen must be given an " -"IPv4 address. Can be given more than once. Incompatible with `--inetd` " -"option." +"If you discover that you made a mistake in specifying the status of a " +"revision, you can save the output of this command to a file, edit it to " +"remove the incorrect entries, and then issue the following commands to " +"return to a corrected state:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:95 +#. type: delimited block - +#: en/git-bisect.txt:234 #, no-wrap -msgid "--port=<n>" -msgstr "" - -#. type: Plain text -#: en/git-daemon.txt:97 -msgid "Listen on an alternative port. Incompatible with `--inetd` option." +msgid "" +"$ git bisect reset\n" +"$ git bisect replay that-file\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:98 +#. type: Title ~ +#: en/git-bisect.txt:237 #, no-wrap -msgid "--init-timeout=<n>" +msgid "Avoiding testing a commit" msgstr "" #. type: Plain text -#: en/git-daemon.txt:102 +#: en/git-bisect.txt:244 msgid "" -"Timeout (in seconds) between the moment the connection is established and " -"the client request is received (typically a rather low value, since that " -"should be basically immediate)." +"If, in the middle of a bisect session, you know that the suggested revision " +"is not a good one to test (e.g. it fails to build and you know that the " +"failure does not have anything to do with the bug you are chasing), you can " +"manually select a nearby commit and test that one instead." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:103 en/git-upload-pack.txt:31 +#. type: Plain text +#: en/git-bisect.txt:246 en/git-tag.txt:337 +msgid "For example:" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:253 #, no-wrap -msgid "--timeout=<n>" +msgid "" +"$ git bisect good/bad\t\t\t# previous round was good or bad.\n" +"Bisecting: 337 revisions left to test after this (roughly 9 steps)\n" +"$ git bisect visualize\t\t\t# oops, that is uninteresting.\n" +"$ git reset --hard HEAD~3\t\t# try 3 revisions before what\n" +"\t\t\t\t\t# was suggested\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:107 +#: en/git-bisect.txt:257 msgid "" -"Timeout (in seconds) for specific client sub-requests. This includes the " -"time it takes for the server to process the sub-request and the time spent " -"waiting for the next client's request." +"Then compile and test the chosen revision, and afterwards mark the revision " +"as good or bad in the usual manner." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:108 +#. type: Title ~ +#: en/git-bisect.txt:259 #, no-wrap -msgid "--max-connections=<n>" +msgid "Bisect skip" msgstr "" #. type: Plain text -#: en/git-daemon.txt:111 +#: en/git-bisect.txt:263 msgid "" -"Maximum number of concurrent clients, defaults to 32. Set it to zero for no " -"limit." +"Instead of choosing a nearby commit by yourself, you can ask Git to do it " +"for you by issuing the command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:112 +#. type: delimited block - +#: en/git-bisect.txt:266 #, no-wrap -msgid "--syslog" +msgid "$ git bisect skip # Current version cannot be tested\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:115 +#: en/git-bisect.txt:271 msgid "" -"Log to syslog instead of stderr. Note that this option does not imply " -"--verbose, thus by default only error conditions will be logged." -msgstr "" - -#. type: Labeled list -#: en/git-daemon.txt:116 -#, no-wrap -msgid "--user-path" -msgstr "" - -#. type: Labeled list -#: en/git-daemon.txt:117 -#, no-wrap -msgid "--user-path=<path>" +"However, if you skip a commit adjacent to the one you are looking for, Git " +"will be unable to tell exactly which of those commits was the first bad one." msgstr "" #. type: Plain text -#: en/git-daemon.txt:125 +#: en/git-bisect.txt:274 msgid "" -"Allow {tilde}user notation to be used in requests. When specified with no " -"parameter, requests to git://host/{tilde}alice/foo is taken as a request to " -"access 'foo' repository in the home directory of user `alice`. If " -"`--user-path=path` is specified, the same request is taken as a request to " -"access `path/foo` repository in the home directory of user `alice`." -msgstr "" - -#. type: Plain text -#: en/git-daemon.txt:128 -msgid "Log details about the incoming connections and requested files." +"You can also skip a range of commits, instead of just one commit, using " +"range notation. For example:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:129 +#. type: delimited block - +#: en/git-bisect.txt:277 #, no-wrap -msgid "--reuseaddr" +msgid "$ git bisect skip v2.5..v2.6\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:133 +#: en/git-bisect.txt:281 msgid "" -"Use SO_REUSEADDR when binding the listening socket. This allows the server " -"to restart without waiting for old connections to time out." +"This tells the bisect process that no commit after `v2.5`, up to and " +"including `v2.6`, should be tested." msgstr "" #. type: Plain text -#: en/git-daemon.txt:136 -msgid "Detach from the shell. Implies --syslog." +#: en/git-bisect.txt:284 +msgid "" +"Note that if you also want to skip the first commit of the range you would " +"issue the command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:137 +#. type: delimited block - +#: en/git-bisect.txt:287 #, no-wrap -msgid "--pid-file=<file>" +msgid "$ git bisect skip v2.5 v2.5..v2.6\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:140 +#: en/git-bisect.txt:291 msgid "" -"Save the process id in 'file'. Ignored when the daemon is run under " -"`--inetd`." -msgstr "" - -#. type: Labeled list -#: en/git-daemon.txt:141 -#, no-wrap -msgid "--user=<user>" +"This tells the bisect process that the commits between `v2.5` and `v2.6` " +"(inclusive) should be skipped." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:142 +#. type: Title ~ +#: en/git-bisect.txt:294 #, no-wrap -msgid "--group=<group>" +msgid "Cutting down bisection by giving more parameters to bisect start" msgstr "" #. type: Plain text -#: en/git-daemon.txt:148 +#: en/git-bisect.txt:299 msgid "" -"Change daemon's uid and gid before entering the service loop. When only " -"`--user` is given without `--group`, the primary group ID for the user is " -"used. The values of the option are given to `getpwnam(3)` and `getgrnam(3)` " -"and numeric IDs are not supported." +"You can further cut down the number of trials, if you know what part of the " +"tree is involved in the problem you are tracking down, by specifying path " +"parameters when issuing the `bisect start` command:" msgstr "" -#. type: Plain text -#: en/git-daemon.txt:152 -msgid "" -"Giving these options is an error when used with `--inetd`; use the facility " -"of inet daemon to achieve the same before spawning 'git daemon' if needed." +#. type: delimited block - +#: en/git-bisect.txt:302 +#, no-wrap +msgid "$ git bisect start -- arch/i386 include/asm-i386\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:159 +#: en/git-bisect.txt:307 msgid "" -"Like many programs that switch user id, the daemon does not reset " -"environment variables such as `$HOME` when it runs git programs, " -"e.g. `upload-pack` and `receive-pack`. When using this option, you may also " -"want to set and export `HOME` to point at the home directory of `<user>` " -"before starting the daemon, and make sure any Git configuration files in " -"that directory are readable by `<user>`." +"If you know beforehand more than one good commit, you can narrow the bisect " +"space down by specifying all of the good commits immediately after the bad " +"commit when issuing the `bisect start` command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:160 +#. type: delimited block - +#: en/git-bisect.txt:312 #, no-wrap -msgid "--enable=<service>" +msgid "" +"$ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --\n" +" # v2.6.20-rc6 is bad\n" +" # v2.6.20-rc4 and v2.6.20-rc1 are good\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:161 +#. type: Title ~ +#: en/git-bisect.txt:315 #, no-wrap -msgid "--disable=<service>" +msgid "Bisect run" msgstr "" #. type: Plain text -#: en/git-daemon.txt:167 +#: en/git-bisect.txt:319 msgid "" -"Enable/disable the service site-wide per default. Note that a service " -"disabled site-wide can still be enabled per repository if it is marked " -"overridable and the repository enables the service with a configuration " -"item." +"If you have a script that can tell if the current source code is good or " +"bad, you can bisect by issuing the command:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:168 +#. type: delimited block - +#: en/git-bisect.txt:322 #, no-wrap -msgid "--allow-override=<service>" +msgid "$ git bisect run my_script arguments\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:169 -#, no-wrap -msgid "--forbid-override=<service>" +#. type: Plain text +#: en/git-bisect.txt:328 +msgid "" +"Note that the script (`my_script` in the above example) should exit with " +"code 0 if the current source code is good/old, and exit with a code between " +"1 and 127 (inclusive), except 125, if the current source code is bad/new." msgstr "" #. type: Plain text -#: en/git-daemon.txt:173 +#: en/git-bisect.txt:332 msgid "" -"Allow/forbid overriding the site-wide default with per repository " -"configuration. By default, all the services may be overridden." +"Any other exit code will abort the bisect process. It should be noted that a " +"program that terminates via `exit(-1)` leaves $? = 255, (see the exit(3) " +"manual page), as the value is chopped with `& 0377`." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:174 -#, no-wrap -msgid "--[no-]informative-errors" +#. type: Plain text +#: en/git-bisect.txt:341 +msgid "" +"The special exit code 125 should be used when the current source code cannot " +"be tested. If the script exits with this code, the current revision will be " +"skipped (see `git bisect skip` above). 125 was chosen as the highest " +"sensible value to use for this purpose, because 126 and 127 are used by " +"POSIX shells to signal specific error status (127 is for command not found, " +"126 is for command found but not executable--these details do not matter, as " +"they are normal errors in the script, as far as `bisect run` is concerned)." msgstr "" #. type: Plain text -#: en/git-daemon.txt:182 +#: en/git-bisect.txt:347 msgid "" -"When informative errors are turned on, git-daemon will report more verbose " -"errors to the client, differentiating conditions like \"no such repository\" " -"from \"repository not exported\". This is more convenient for clients, but " -"may leak information about the existence of unexported repositories. When " -"informative errors are not enabled, all errors report \"access denied\" to " -"the client. The default is --no-informative-errors." +"You may often find that during a bisect session you want to have temporary " +"modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a header file, or " +"\"revision that does not have this commit needs this patch applied to work " +"around another problem this bisection is not interested in\") applied to the " +"revision being tested." +msgstr "" + +#. type: Plain text +#: en/git-bisect.txt:355 +msgid "" +"To cope with such a situation, after the inner 'git bisect' finds the next " +"revision to test, the script can apply the patch before compiling, run the " +"real test, and afterwards decide if the revision (possibly with the needed " +"patch) passed the test and then rewind the tree to the pristine state. " +"Finally the script should exit with the status of the real test to let the " +"`git bisect run` command loop determine the eventual outcome of the bisect " +"session." msgstr "" #. type: Labeled list -#: en/git-daemon.txt:183 +#: en/git-bisect.txt:358 en/git-clone.txt:134 #, no-wrap -msgid "--access-hook=<path>" +msgid "--no-checkout" msgstr "" #. type: Plain text -#: en/git-daemon.txt:193 +#: en/git-bisect.txt:363 msgid "" -"Every time a client connects, first run an external command specified by the " -"<path> with service name (e.g. \"upload-pack\"), path to the repository, " -"hostname (%H), canonical hostname (%CH), IP address (%IP), and TCP port (%P) " -"as its command-line arguments. The external command can decide to decline " -"the service by exiting with a non-zero status (or to allow it by exiting " -"with a zero status). It can also look at the $REMOTE_ADDR and " -"`$REMOTE_PORT` environment variables to learn about the requestor when " -"making this decision." +"Do not checkout the new working tree at each iteration of the bisection " +"process. Instead just update a special reference named `BISECT_HEAD` to make " +"it point to the commit that should be tested." msgstr "" #. type: Plain text -#: en/git-daemon.txt:197 +#: en/git-bisect.txt:366 msgid "" -"The external command can optionally write a single line to its standard " -"output to be sent to the requestor as an error message when it declines the " -"service." +"This option may be useful when the test you would perform in each step does " +"not require a checked out tree." msgstr "" #. type: Plain text -#: en/git-daemon.txt:202 -msgid "" -"A directory to add to the whitelist of allowed directories. Unless " -"--strict-paths is specified this will also include subdirectories of each " -"named directory." +#: en/git-bisect.txt:368 +msgid "If the repository is bare, `--no-checkout` is assumed." msgstr "" -#. type: Title - -#: en/git-daemon.txt:204 en/git-http-backend.txt:33 +#. type: Plain text +#: en/git-bisect.txt:373 +msgid "Automatically bisect a broken build between v1.2 and HEAD:" +msgstr "" + +#. type: delimited block - +#: en/git-bisect.txt:378 #, no-wrap -msgid "SERVICES" +msgid "" +"$ git bisect start HEAD v1.2 -- # HEAD is bad, v1.2 is good\n" +"$ git bisect run make # \"make\" builds the app\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:212 -msgid "" -"These services can be globally enabled/disabled using the command-line " -"options of this command. If finer-grained control is desired (e.g. to allow " -"'git archive' to be run against only in a few selected repositories the " -"daemon serves), the per-repository configuration file can be used to enable " -"or disable them." +#: en/git-bisect.txt:381 +msgid "Automatically bisect a test failure between origin and HEAD:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:213 +#. type: delimited block - +#: en/git-bisect.txt:386 #, no-wrap -msgid "upload-pack" +msgid "" +"$ git bisect start HEAD origin -- # HEAD is bad, origin is good\n" +"$ git bisect run make test # \"make test\" builds and tests\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:218 -msgid "" -"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " -"default, but a repository can disable it by setting `daemon.uploadpack` " -"configuration item to `false`." +#: en/git-bisect.txt:389 en/git-bisect.txt:443 +msgid "Automatically bisect a broken test case:" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:219 +#. type: delimited block - +#: en/git-bisect.txt:398 #, no-wrap -msgid "upload-archive" +msgid "" +"$ cat ~/test.sh\n" +"#!/bin/sh\n" +"make || exit 125 # this skips broken builds\n" +"~/check_test_case.sh # does the test case pass?\n" +"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" +"$ git bisect run ~/test.sh\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:223 +#: en/git-bisect.txt:404 msgid "" -"This serves 'git archive --remote'. It is disabled by default, but a " -"repository can enable it by setting `daemon.uploadarch` configuration item " -"to `true`." -msgstr "" - -#. type: Labeled list -#: en/git-daemon.txt:224 -#, no-wrap -msgid "receive-pack" +"Here we use a `test.sh` custom script. In this script, if `make` fails, we " +"skip the current commit. `check_test_case.sh` should `exit 0` if the test " +"case passes, and `exit 1` otherwise." msgstr "" #. type: Plain text -#: en/git-daemon.txt:233 +#: en/git-bisect.txt:408 msgid "" -"This serves 'git send-pack' clients, allowing anonymous push. It is " -"disabled by default, as there is _no_ authentication in the protocol (in " -"other words, anybody can push anything into the repository, including " -"removal of refs). This is solely meant for a closed LAN setting where " -"everybody is friendly. This service can be enabled by setting " -"`daemon.receivepack` configuration item to `true`." +"It is safer if both `test.sh` and `check_test_case.sh` are outside the " +"repository to prevent interactions between the bisect, make and test " +"processes and the scripts." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:236 -#, no-wrap -msgid "We assume the following in /etc/services" +#. type: Plain text +#: en/git-bisect.txt:410 +msgid "Automatically bisect with temporary modifications (hot-fix):" msgstr "" #. type: delimited block - -#: en/git-daemon.txt:241 +#: en/git-bisect.txt:414 #, no-wrap msgid "" -"$ grep 9418 /etc/services\n" -"git\t\t9418/tcp\t\t# Git Version Control System\n" +"$ cat ~/test.sh\n" +"#!/bin/sh\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:243 +#. type: delimited block - +#: en/git-bisect.txt:427 #, no-wrap -msgid "'git daemon' as inetd server" -msgstr "" - -#. type: Plain text -#: en/git-daemon.txt:248 msgid "" -"To set up 'git daemon' as an inetd service that handles any repository under " -"the whitelisted set of directories, /pub/foo and /pub/bar, place an entry " -"like the following into /etc/inetd all on one line:" +"# tweak the working tree by merging the hot-fix branch\n" +"# and then attempt a build\n" +"if\tgit merge --no-commit hot-fix &&\n" +"\tmake\n" +"then\n" +"\t# run project specific test and report its status\n" +"\t~/check_test_case.sh\n" +"\tstatus=$?\n" +"else\n" +"\t# tell the caller this is untestable\n" +"\tstatus=125\n" +"fi\n" msgstr "" #. type: delimited block - -#: en/git-daemon.txt:253 +#: en/git-bisect.txt:430 #, no-wrap msgid "" -"\tgit stream tcp nowait nobody /usr/bin/git\n" -"\t\tgit daemon --inetd --verbose --export-all\n" -"\t\t/pub/foo /pub/bar\n" +"# undo the tweak to allow clean flipping to the next commit\n" +"git reset --hard\n" msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:256 +#. type: delimited block - +#: en/git-bisect.txt:433 #, no-wrap -msgid "'git daemon' as inetd server for virtual hosts" +msgid "" +"# return control\n" +"exit $status\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:261 +#: en/git-bisect.txt:441 msgid "" -"To set up 'git daemon' as an inetd service that handles repositories for " -"different virtual hosts, `www.example.com` and `www.example.org`, place an " -"entry like the following into `/etc/inetd` all on one line:" +"This applies modifications from a hot-fix branch before each test run, " +"e.g. in case your build or test environment changed so that older revisions " +"may need a fix which newer ones have already. (Make sure the hot-fix branch " +"is based off a commit which is contained in all revisions which you are " +"bisecting, so that the merge does not pull in too much, or use `git " +"cherry-pick` instead of `git merge`.)" msgstr "" #. type: delimited block - -#: en/git-daemon.txt:269 +#: en/git-bisect.txt:448 #, no-wrap msgid "" -"\tgit stream tcp nowait nobody /usr/bin/git\n" -"\t\tgit daemon --inetd --verbose --export-all\n" -"\t\t--interpolated-path=/pub/%H%D\n" -"\t\t/pub/www.example.org/software\n" -"\t\t/pub/www.example.com/software\n" -"\t\t/software\n" +"$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10\n" +"$ git bisect run sh -c \"make || exit 125; ~/check_test_case.sh\"\n" +"$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:277 +#: en/git-bisect.txt:452 msgid "" -"In this example, the root-level directory `/pub` will contain a subdirectory " -"for each virtual host name supported. Further, both hosts advertise " -"repositories simply as `git://www.example.com/software/repo.git`. For " -"pre-1.4.0 clients, a symlink from `/software` into the appropriate default " -"repository could be made as well." +"This shows that you can do without a run script if you write the test on a " +"single line." msgstr "" -#. type: Labeled list -#: en/git-daemon.txt:279 -#, no-wrap -msgid "'git daemon' as regular daemon for virtual hosts" +#. type: Plain text +#: en/git-bisect.txt:454 +msgid "Locate a good region of the object graph in a damaged repository" msgstr "" -#. type: Plain text -#: en/git-daemon.txt:283 +#. type: delimited block - +#: en/git-bisect.txt:464 +#, no-wrap msgid "" -"To set up 'git daemon' as a regular, non-inetd service that handles " -"repositories for multiple virtual hosts based on their IP addresses, start " -"the daemon like this:" +"$ git bisect start HEAD <known-good-commit> [ <boundary-commit> ... ] " +"--no-checkout\n" +"$ git bisect run sh -c '\n" +"\tGOOD=$(git for-each-ref \"--format=%(objectname)\" refs/bisect/good-*) " +"&&\n" +"\tgit rev-list --objects BISECT_HEAD --not $GOOD >tmp.$$ &&\n" +"\tgit pack-objects --stdout >/dev/null <tmp.$$\n" +"\trc=$?\n" +"\trm -f tmp.$$\n" +"\ttest $rc = 0'\n" msgstr "" #. type: delimited block - -#: en/git-daemon.txt:289 +#: en/git-bisect.txt:466 #, no-wrap -msgid "" -"\tgit daemon --verbose --export-all\n" -"\t\t--interpolated-path=/pub/%IP/%D\n" -"\t\t/pub/192.168.1.200/software\n" -"\t\t/pub/10.10.220.23/software\n" +msgid "$ git bisect reset # quit the bisect session\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:295 +#: en/git-bisect.txt:471 msgid "" -"In this example, the root-level directory `/pub` will contain a subdirectory " -"for each virtual host IP address supported. Repositories can still be " -"accessed by hostname though, assuming they correspond to these IP addresses." -msgstr "" - -#. type: Labeled list -#: en/git-daemon.txt:296 -#, no-wrap -msgid "selectively enable/disable services per repository" +"In this case, when 'git bisect run' finishes, bisect/bad will refer to a " +"commit that has at least one parent whose reachable graph is fully " +"traversable in the sense required by 'git pack objects'." msgstr "" #. type: Plain text -#: en/git-daemon.txt:301 -msgid "" -"To enable 'git archive --remote' and disable 'git fetch' against a " -"repository, have the following in the configuration file in the repository " -"(that is the file 'config' next to `HEAD`, 'refs' and 'objects')." +#: en/git-bisect.txt:473 +msgid "Look for a fix instead of a regression in the code" msgstr "" #. type: delimited block - -#: en/git-daemon.txt:306 +#: en/git-bisect.txt:478 #, no-wrap msgid "" -"\t[daemon]\n" -"\t\tuploadpack = false\n" -"\t\tuploadarch = true\n" +"$ git bisect start\n" +"$ git bisect new HEAD # current commit is marked as new\n" +"$ git bisect old HEAD~10 # the tenth commit from now is marked as old\n" msgstr "" #. type: Plain text -#: en/git-daemon.txt:315 -msgid "" -"'git daemon' will set REMOTE_ADDR to the IP address of the client that " -"connected to it, if the IP address is available. REMOTE_ADDR will be " -"available in the environment of hooks called when services are performed." +#: en/git-bisect.txt:481 +msgid "or:" msgstr "" -#. type: Title = -#: en/git-describe.txt:2 +#. type: delimited block - +#: en/git-bisect.txt:485 #, no-wrap -msgid "git-describe(1)" -msgstr "" - -#. type: Plain text -#: en/git-describe.txt:7 -msgid "git-describe - Describe a commit using the most recent tag reachable from it" +msgid "" +"$ git bisect start --term-old broken --term-new fixed\n" +"$ git bisect fixed\n" +"$ git bisect broken HEAD~10\n" msgstr "" -#. type: Plain text -#: en/git-describe.txt:14 +#. type: Title ~ +#: en/git-bisect.txt:488 #, no-wrap -msgid "" -"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] " -"[<commit-ish>...]\n" -"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] " -"--dirty[=<mark>]\n" +msgid "Getting help" msgstr "" #. type: Plain text -#: en/git-describe.txt:22 +#: en/git-bisect.txt:492 msgid "" -"The command finds the most recent tag that is reachable from a commit. If " -"the tag points to the commit, then only the tag is shown. Otherwise, it " -"suffixes the tag name with the number of additional commits on top of the " -"tagged object and the abbreviated object name of the most recent commit." +"Use `git bisect` to get a short usage description, and `git bisect help` or " +"`git bisect -h` to get a long usage description." msgstr "" #. type: Plain text -#: en/git-describe.txt:26 +#: en/git-bisect.txt:497 msgid "" -"By default (without --all or --tags) `git describe` only shows annotated " -"tags. For more information about creating annotated tags see the -a and -s " -"options to linkgit:git-tag[1]." +"link:git-bisect-lk2009.html[Fighting regressions with git bisect], " +"linkgit:git-blame[1]." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:29 +#. type: Title = +#: en/git-blame.txt:2 #, no-wrap -msgid "<commit-ish>..." +msgid "git-blame(1)" msgstr "" #. type: Plain text -#: en/git-describe.txt:31 -msgid "Commit-ish object names to describe. Defaults to HEAD if omitted." +#: en/git-blame.txt:7 +msgid "git-blame - Show what revision and author last modified each line of a file" msgstr "" -#. type: Labeled list -#: en/git-describe.txt:32 +#. type: Plain text +#: en/git-blame.txt:15 #, no-wrap -msgid "--dirty[=<mark>]" +msgid "" +"'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] " +"[--incremental]\n" +"\t [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]\n" +"\t [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse " +"<rev>..<rev>]\n" +"\t [--] <file>\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:36 +#: en/git-blame.txt:21 msgid "" -"Describe the working tree. It means describe HEAD and appends <mark> " -"(`-dirty` by default) if the working tree is dirty." +"Annotates each line in the given file with information from the revision " +"which last modified the line. Optionally, start annotating from the given " +"revision." msgstr "" #. type: Plain text -#: en/git-describe.txt:41 +#: en/git-blame.txt:24 msgid "" -"Instead of using only the annotated tags, use any ref found in `refs/` " -"namespace. This option enables matching any known branch, remote-tracking " -"branch, or lightweight tag." +"When specified one or more times, `-L` restricts annotation to the requested " +"lines." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:42 en/git-fsck.txt:41 en/git-ls-remote.txt:27 en/git-name-rev.txt:24 en/git-push.txt:130 en/git-show-ref.txt:40 en/fetch-options.txt:99 -#, no-wrap -msgid "--tags" +#. type: Plain text +#: en/git-blame.txt:30 +msgid "" +"The origin of lines is automatically followed across whole-file renames " +"(currently there is no option to turn the rename-following off). To follow " +"lines moved from one file to another, or to follow lines that were copied " +"and pasted from another file, etc., see the `-C` and `-M` options." msgstr "" #. type: Plain text -#: en/git-describe.txt:46 +#: en/git-blame.txt:34 msgid "" -"Instead of using only the annotated tags, use any tag found in `refs/tags` " -"namespace. This option enables matching a lightweight (non-annotated) tag." +"The report does not tell you anything about lines which have been deleted or " +"replaced; you need to use a tool such as 'git diff' or the \"pickaxe\" " +"interface briefly mentioned in the following paragraph." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:47 -#, no-wrap -msgid "--contains" +#. type: Plain text +#: en/git-blame.txt:41 +msgid "" +"Apart from supporting file annotation, Git also supports searching the " +"development history for when a code snippet occurred in a change. This makes " +"it possible to track when a code snippet was added to a file, moved or " +"copied between files, and eventually deleted or replaced. It works by " +"searching for a text string in the diff. A small example of the pickaxe " +"interface that searches for `blame_usage`:" msgstr "" -#. type: Plain text -#: en/git-describe.txt:51 +#. type: delimited block - +#: en/git-blame.txt:46 +#, no-wrap msgid "" -"Instead of finding the tag that predates the commit, find the tag that comes " -"after the commit, and thus contains it. Automatically implies --tags." +"$ git log --pretty=oneline -S'blame_usage'\n" +"5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>\n" +"ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output\n" msgstr "" #. type: Plain text -#: en/git-describe.txt:57 -msgid "" -"Instead of using the default 7 hexadecimal digits as the abbreviated object " -"name, use <n> digits, or as many digits as needed to form a unique object " -"name. An <n> of 0 will suppress long format, only showing the closest tag." +#: en/git-blame.txt:54 +msgid "Use the same output mode as linkgit:git-annotate[1] (Default: off)." msgstr "" #. type: Labeled list -#: en/git-describe.txt:58 +#: en/git-blame.txt:55 #, no-wrap -msgid "--candidates=<n>" +msgid "--score-debug" msgstr "" #. type: Plain text -#: en/git-describe.txt:64 +#: en/git-blame.txt:63 msgid "" -"Instead of considering only the 10 most recent tags as candidates to " -"describe the input commit-ish consider up to <n> candidates. Increasing <n> " -"above 10 will take slightly longer but may produce a more accurate result. " -"An <n> of 0 will cause only exact matches to be output." +"Include debugging information related to the movement of lines between files " +"(see `-C`) and lines moved within a file (see `-M`). The first number " +"listed is the score. This is the number of alphanumeric characters detected " +"as having been moved between or within files. This must be above a certain " +"threshold for 'git blame' to consider those lines of code to have been " +"moved." msgstr "" #. type: Labeled list -#: en/git-describe.txt:65 +#: en/git-blame.txt:65 #, no-wrap -msgid "--exact-match" +msgid "--show-name" msgstr "" #. type: Plain text -#: en/git-describe.txt:68 +#: en/git-blame.txt:69 msgid "" -"Only output exact matches (a tag directly references the supplied commit). " -"This is a synonym for --candidates=0." +"Show the filename in the original commit. By default the filename is shown " +"if there is any line that came from a file with a different name, due to " +"rename detection." msgstr "" #. type: Labeled list -#: en/git-describe.txt:69 en/git-ls-files.txt:151 +#: en/git-blame.txt:71 #, no-wrap -msgid "--debug" +msgid "--show-number" msgstr "" #. type: Plain text -#: en/git-describe.txt:73 -msgid "" -"Verbosely display information about the searching strategy being employed to " -"standard error. The tag name will still be printed to standard out." +#: en/git-blame.txt:73 +msgid "Show the line number in the original commit (Default: off)." msgstr "" #. type: Plain text -#: en/git-describe.txt:82 -msgid "" -"Always output the long format (the tag, the number of commits and the " -"abbreviated commit name) even when it matches a tag. This is useful when " -"you want to see parts of the commit object name in \"describe\" output, even " -"when the commit in question happens to be a tagged version. Instead of just " -"emitting the tag name, it will describe such a commit as v1.2-0-gdeadbee " -"(0th commit since tag v1.2 that points at object deadbee....)." +#: en/git-blame.txt:76 +msgid "Suppress the author name and timestamp from the output." msgstr "" #. type: Labeled list -#: en/git-describe.txt:83 +#: en/git-blame.txt:78 #, no-wrap -msgid "--match <pattern>" +msgid "--show-email" msgstr "" #. type: Plain text -#: en/git-describe.txt:90 +#: en/git-blame.txt:82 msgid "" -"Only consider tags matching the given `glob(7)` pattern, excluding the " -"\"refs/tags/\" prefix. This can be used to avoid leaking private tags from " -"the repository. If given multiple times, a list of patterns will be " -"accumulated, and tags matching any of the patterns will be considered. Use " -"`--no-match` to clear and reset the list of patterns." -msgstr "" - -#. type: Labeled list -#: en/git-describe.txt:91 -#, no-wrap -msgid "--exclude <pattern>" +"Show the author email instead of author name (Default: off). This can also " +"be controlled via the `blame.showEmail` config option." msgstr "" #. type: Plain text -#: en/git-describe.txt:100 +#: en/git-blame.txt:86 msgid "" -"Do not consider tags matching the given `glob(7)` pattern, excluding the " -"\"refs/tags/\" prefix. This can be used to narrow the tag space and find " -"only tags matching some meaningful criteria. If given multiple times, a list " -"of patterns will be accumulated and tags matching any of the patterns will " -"be excluded. When combined with --match a tag will be considered when it " -"matches at least one --match pattern and does not match any of the --exclude " -"patterns. Use `--no-exclude` to clear and reset the list of patterns." +"Ignore whitespace when comparing the parent's version and the child's to " +"find where the lines came from." msgstr "" #. type: Labeled list -#: en/git-describe.txt:101 en/git-diff-tree.txt:111 en/git-name-rev.txt:61 +#: en/git-blame.txt:87 en/git-describe.txt:52 #, no-wrap -msgid "--always" +msgid "--abbrev=<n>" msgstr "" #. type: Plain text -#: en/git-describe.txt:103 en/git-name-rev.txt:63 -msgid "Show uniquely abbreviated commit object as fallback." +#: en/git-blame.txt:91 +msgid "" +"Instead of using the default 7+1 hexadecimal digits as the abbreviated " +"object name, use <n>+1 digits. Note that 1 column is used for a caret to " +"mark the boundary commit." msgstr "" -#. type: Labeled list -#: en/git-describe.txt:104 en/rev-list-options.txt:121 +#. type: Title - +#: en/git-blame.txt:96 #, no-wrap -msgid "--first-parent" +msgid "THE PORCELAIN FORMAT" msgstr "" #. type: Plain text -#: en/git-describe.txt:108 +#: en/git-blame.txt:100 msgid "" -"Follow only the first parent commit upon seeing a merge commit. This is " -"useful when you wish to not match tags on branches merged in the history of " -"the target commit." +"In this format, each line is output after a header; the header at the " +"minimum has the first line which has:" msgstr "" #. type: Plain text -#: en/git-describe.txt:113 -msgid "With something like git.git current tree, I get:" +#: en/git-blame.txt:102 +msgid "40-byte SHA-1 of the commit the line is attributed to;" msgstr "" #. type: Plain text -#: en/git-describe.txt:116 -#, no-wrap -msgid "" -"\t[torvalds@g5 git]$ git describe parent\n" -"\tv1.0.4-14-g2414721\n" +#: en/git-blame.txt:103 +msgid "the line number of the line in the original file;" msgstr "" #. type: Plain text -#: en/git-describe.txt:122 -msgid "" -"i.e. the current head of my \"parent\" branch is based on v1.0.4, but since " -"it has a few commits on top of that, describe has added the number of " -"additional commits (\"14\") and an abbreviated object name for the commit " -"itself (\"2414721\") at the end." +#: en/git-blame.txt:104 +msgid "the line number of the line in the final file;" msgstr "" #. type: Plain text -#: en/git-describe.txt:130 +#: en/git-blame.txt:107 msgid "" -"The number of additional commits is the number of commits which would be " -"displayed by \"git log v1.0.4..parent\". The hash suffix is \"-g\" + 7-char " -"abbreviation for the tip commit of parent (which was " -"`2414721b194453f058079d897d13c4e377f92dc6`). The \"g\" prefix stands for " -"\"git\" and is used to allow describing the version of a software depending " -"on the SCM the software is managed with. This is useful in an environment " -"where people may use different SCMs." -msgstr "" - -#. type: Plain text -#: en/git-describe.txt:132 -msgid "Doing a 'git describe' on a tag-name will just show the tag name:" +"on a line that starts a group of lines from a different commit than the " +"previous one, the number of lines in this group. On subsequent lines this " +"field is absent." msgstr "" #. type: Plain text -#: en/git-describe.txt:135 -#, no-wrap +#: en/git-blame.txt:110 msgid "" -"\t[torvalds@g5 git]$ git describe v1.0.4\n" -"\tv1.0.4\n" +"This header line is followed by the following information at least once for " +"each commit:" msgstr "" #. type: Plain text -#: en/git-describe.txt:138 +#: en/git-blame.txt:114 msgid "" -"With --all, the command can use branch heads as references, so the output " -"shows the reference path as well:" +"the author name (\"author\"), email (\"author-mail\"), time " +"(\"author-time\"), and time zone (\"author-tz\"); similarly for committer." msgstr "" #. type: Plain text -#: en/git-describe.txt:141 -#, no-wrap -msgid "" -"\t[torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2\n" -"\ttags/v1.0.0-21-g975b\n" +#: en/git-blame.txt:115 +msgid "the filename in the commit that the line is attributed to." msgstr "" #. type: Plain text -#: en/git-describe.txt:144 -#, no-wrap -msgid "" -"\t[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^\n" -"\theads/lt/describe-7-g975b\n" +#: en/git-blame.txt:116 +msgid "the first line of the commit log message (\"summary\")." msgstr "" #. type: Plain text -#: en/git-describe.txt:147 +#: en/git-blame.txt:120 msgid "" -"With --abbrev set to 0, the command can be used to find the closest tagname " -"without any suffix:" +"The contents of the actual line is output after the above header, prefixed " +"by a TAB. This is to allow adding more header elements later." msgstr "" #. type: Plain text -#: en/git-describe.txt:150 -#, no-wrap +#: en/git-blame.txt:128 msgid "" -"\t[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2\n" -"\ttags/v1.0.0\n" +"The porcelain format generally suppresses commit information that has " +"already been seen. For example, two lines that are blamed to the same commit " +"will both be shown, but the details for that commit will be shown only " +"once. This is more efficient, but may require more state be kept by the " +"reader. The `--line-porcelain` option can be used to output full commit " +"information for each line, allowing simpler (but less efficient) usage " +"like:" msgstr "" #. type: Plain text -#: en/git-describe.txt:156 +#: en/git-blame.txt:133 +#, no-wrap msgid "" -"Note that the suffix you get if you type these commands today may be longer " -"than what Linus saw above when he ran these commands, as your Git repository " -"may have new commits whose object names begin with 975b that did not exist " -"back then, and \"-g975b\" suffix alone may not be sufficient to disambiguate " -"these commits." +"\t# count the number of lines attributed to each author\n" +"\tgit blame --line-porcelain file |\n" +"\tsed -n 's/^author //p' |\n" +"\tsort | uniq -c | sort -rn\n" msgstr "" #. type: Title - -#: en/git-describe.txt:159 +#: en/git-blame.txt:136 en/revisions.txt:237 #, no-wrap -msgid "SEARCH STRATEGY" +msgid "SPECIFYING RANGES" msgstr "" #. type: Plain text -#: en/git-describe.txt:166 +#: en/git-blame.txt:142 msgid "" -"For each commit-ish supplied, 'git describe' will first look for a tag which " -"tags exactly that commit. Annotated tags will always be preferred over " -"lightweight tags, and tags with newer dates will always be preferred over " -"tags with older dates. If an exact match is found, its name will be output " -"and searching will stop." +"Unlike 'git blame' and 'git annotate' in older versions of git, the extent " +"of the annotation can be limited to both line ranges and revision " +"ranges. The `-L` option, which limits annotation to a range of lines, may be " +"specified multiple times." msgstr "" #. type: Plain text -#: en/git-describe.txt:173 +#: en/git-blame.txt:147 msgid "" -"If an exact match was not found, 'git describe' will walk back through the " -"commit history to locate an ancestor commit which has been tagged. The " -"ancestor's tag will be output along with an abbreviation of the input " -"commit-ish's SHA-1. If `--first-parent` was specified then the walk will " -"only consider the first parent of each commit." +"When you are interested in finding the origin for lines 40-60 for file " +"`foo`, you can use the `-L` option like so (they mean the same thing -- both " +"ask for 21 lines starting at line 40):" msgstr "" #. type: Plain text -#: en/git-describe.txt:179 +#: en/git-blame.txt:150 +#, no-wrap msgid "" -"If multiple tags were found during the walk then the tag which has the " -"fewest commits different from the input commit-ish will be selected and " -"output. Here fewest commits different is defined as the number of commits " -"which would be shown by `git log tag..input` will be the smallest number of " -"commits possible." +"\tgit blame -L 40,60 foo\n" +"\tgit blame -L 40,+21 foo\n" msgstr "" -#. type: Title = -#: en/git-diff-files.txt:2 +#. type: Plain text +#: en/git-blame.txt:152 +msgid "Also you can use a regular expression to specify the line range:" +msgstr "" + +#. type: Plain text +#: en/git-blame.txt:154 #, no-wrap -msgid "git-diff-files(1)" +msgid "\tgit blame -L '/^sub hello {/,/^}$/' foo\n" msgstr "" #. type: Plain text -#: en/git-diff-files.txt:7 -msgid "git-diff-files - Compares files in the working tree and the index" +#: en/git-blame.txt:156 +msgid "which limits the annotation to the body of the `hello` subroutine." msgstr "" #. type: Plain text -#: en/git-diff-files.txt:13 -#, no-wrap +#: en/git-blame.txt:160 msgid "" -"'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] " -"[<path>...]\n" +"When you are not interested in changes older than version v2.6.18, or " +"changes older than 3 weeks, you can use revision range specifiers similar to " +"'git rev-list':" msgstr "" #. type: Plain text -#: en/git-diff-files.txt:20 +#: en/git-blame.txt:163 +#, no-wrap msgid "" -"Compares the files in the working tree and the index. When paths are " -"specified, compares only those named paths. Otherwise all entries in the " -"index are compared. The output format is the same as for 'git diff-index' " -"and 'git diff-tree'." +"\tgit blame v2.6.18.. -- foo\n" +"\tgit blame --since=3.weeks -- foo\n" msgstr "" -#. type: Labeled list -#: en/git-diff-files.txt:25 -#, no-wrap -msgid "-1 --base" +#. type: Plain text +#: en/git-blame.txt:169 +msgid "" +"When revision range specifiers are used to limit the annotation, lines that " +"have not changed since the range boundary (either the commit v2.6.18 or the " +"most recent commit that is more than 3 weeks old in the above example) are " +"blamed for that range boundary commit." msgstr "" -#. type: Labeled list -#: en/git-diff-files.txt:26 -#, no-wrap -msgid "-2 --ours" +#. type: Plain text +#: en/git-blame.txt:175 +msgid "" +"A particularly useful way is to see if an added file has lines created by " +"copy-and-paste from existing files. Sometimes this indicates that the " +"developer was being sloppy and did not refactor the code properly. You can " +"first find the commit that introduced the file with:" msgstr "" -#. type: Labeled list -#: en/git-diff-files.txt:27 +#. type: Plain text +#: en/git-blame.txt:177 #, no-wrap -msgid "-3 --theirs" +msgid "\tgit log --diff-filter=A --pretty=short -- foo\n" msgstr "" #. type: Plain text -#: en/git-diff-files.txt:32 +#: en/git-blame.txt:180 msgid "" -"Diff against the \"base\" version, \"our branch\" or \"their branch\" " -"respectively. With these options, diffs for merged entries are not shown." +"and then annotate the change between the commit and its parents, using " +"`commit^!` notation:" msgstr "" #. type: Plain text -#: en/git-diff-files.txt:36 -msgid "" -"The default is to diff against our branch (-2) and the cleanly resolved " -"paths. The option -0 can be given to omit diff output for unmerged entries " -"and just show \"Unmerged\"." +#: en/git-blame.txt:182 +#, no-wrap +msgid "\tgit blame -C -C -f $commit^! -- foo\n" msgstr "" -#. type: Labeled list -#: en/git-diff-files.txt:38 en/git-diff-tree.txt:101 en/rev-list-options.txt:873 +#. type: Title - +#: en/git-blame.txt:185 #, no-wrap -msgid "--cc" +msgid "INCREMENTAL OUTPUT" msgstr "" #. type: Plain text -#: en/git-diff-files.txt:43 +#: en/git-blame.txt:192 msgid "" -"This compares stage 2 (our branch), stage 3 (their branch) and the working " -"tree file and outputs a combined diff, similar to the way 'diff-tree' shows " -"a merge commit with these flags." +"When called with `--incremental` option, the command outputs the result as " +"it is built. The output generally will talk about lines touched by more " +"recent commits first (i.e. the lines will be annotated out of order) and is " +"meant to be used by interactive viewers." msgstr "" #. type: Plain text -#: en/git-diff-files.txt:46 -msgid "Remain silent even on nonexistent files" +#: en/git-blame.txt:196 +msgid "" +"The output format is similar to the Porcelain format, but it does not " +"contain the actual lines from the file that is being annotated." msgstr "" -#. type: Title = -#: en/git-diff-index.txt:2 +#. type: Plain text +#: en/git-blame.txt:198 +msgid "Each blame entry always starts with a line of:" +msgstr "" + +#. type: Plain text +#: en/git-blame.txt:200 #, no-wrap -msgid "git-diff-index(1)" +msgid "<40-byte hex sha1> <sourceline> <resultline> <num_lines>\n" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:7 -msgid "git-diff-index - Compare a tree to the working tree or index" +#: en/git-blame.txt:202 +msgid "Line numbers count from 1." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:13 -#, no-wrap +#: en/git-blame.txt:207 msgid "" -"'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> " -"[<path>...]\n" +"The first time that a commit shows up in the stream, it has various other " +"information about it printed out with a one-word tag at the beginning of " +"each line describing the extra commit information (author, email, committer, " +"dates, summary, etc.)." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:21 +#: en/git-blame.txt:210 msgid "" -"Compares the content and mode of the blobs found in a tree object with the " -"corresponding tracked files in the working tree, or with the corresponding " -"paths in the index. When <path> arguments are present, compares only paths " -"matching those patterns. Otherwise all tracked files are compared." +"Unlike the Porcelain format, the filename information is always given and " +"terminates the entry:" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:28 -msgid "The id of a tree object to diff against." +#: en/git-blame.txt:212 +#, no-wrap +msgid "\"filename\" <whitespace-quoted-filename-goes-here>\n" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:31 -msgid "do not consider the on-disk file at all" +#: en/git-blame.txt:215 +msgid "" +"and thus it is really quite easy to parse for some line- and word-oriented " +"parser (which should be quite natural for most scripting languages)." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:37 +#: en/git-blame.txt:223 msgid "" -"By default, files recorded in the index but not checked out are reported as " -"deleted. This flag makes 'git diff-index' say that all non-checked-out " -"files are up to date." +"For people who do parsing: to make it more robust, just ignore any lines " +"between the first and last one (\"<sha1>\" and \"filename\" lines) where " +"you do not recognize the tag words (or care about that particular one) at " +"the beginning of the \"extended information\" lines. That way, if there is " +"ever added information (like the commit encoding or extended commit " +"commentary), a blame viewer will not care." msgstr "" #. type: Title - -#: en/git-diff-index.txt:41 +#: en/git-blame.txt:226 en/git-check-mailmap.txt:40 en/git-shortlog.txt:80 #, no-wrap -msgid "Operating Modes" -msgstr "" - -#. type: Plain text -#: en/git-diff-index.txt:46 -msgid "" -"You can choose whether you want to trust the index file entirely (using the " -"`--cached` flag) or ask the diff logic to show any files that don't match " -"the stat state as being \"tentatively changed\". Both of these operations " -"are very useful indeed." +msgid "MAPPING AUTHORS" msgstr "" -#. type: Title - -#: en/git-diff-index.txt:48 +#. type: Title = +#: en/git-branch.txt:2 #, no-wrap -msgid "Cached Mode" +msgid "git-branch(1)" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:50 -msgid "If `--cached` is specified, it allows you to ask:" +#: en/git-branch.txt:7 +msgid "git-branch - List, create, or delete branches" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:53 +#: en/git-branch.txt:22 #, no-wrap msgid "" -"\tshow me the differences between HEAD and the current index\n" -"\tcontents (the ones I'd write using 'git write-tree')\n" +"'git branch' [--color[=<when>] | --no-color] [-r | -a]\n" +"\t[--list] [-v [--abbrev=<length> | --no-abbrev]]\n" +"\t[--column[=<options>] | --no-column]\n" +"\t[(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]\n" +"\t[--points-at <object>] [--format=<format>] [<pattern>...]\n" +"'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> " +"[<start-point>]\n" +"'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]\n" +"'git branch' --unset-upstream [<branchname>]\n" +"'git branch' (-m | -M) [<oldbranch>] <newbranch>\n" +"'git branch' (-d | -D) [-r] <branchname>...\n" +"'git branch' --edit-description [<branchname>]\n" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:58 +#: en/git-branch.txt:35 msgid "" -"For example, let's say that you have worked on your working directory, " -"updated some files in the index and are ready to commit. You want to see " -"exactly *what* you are going to commit, without having to write a new tree " -"object and compare it that way, and to do that, you just do" +"If `--list` is given, or if there are no non-option arguments, existing " +"branches are listed; the current branch will be highlighted with an " +"asterisk. Option `-r` causes the remote-tracking branches to be listed, and " +"option `-a` shows both local and remote branches. If a `<pattern>` is given, " +"it is used as a shell wildcard to restrict the output to matching " +"branches. If multiple patterns are given, a branch is shown if it matches " +"any of the patterns. Note that when providing a `<pattern>`, you must use " +"`--list`; otherwise the command is interpreted as branch creation." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:60 -#, no-wrap -msgid "\tgit diff-index --cached HEAD\n" +#: en/git-branch.txt:43 +msgid "" +"With `--contains`, shows only the branches that contain the named commit (in " +"other words, the branches whose tip commits are descendants of the named " +"commit). With `--merged`, only branches merged into the named commit " +"(i.e. the branches whose tip commits are reachable from the named commit) " +"will be listed. With `--no-merged` only branches not merged into the named " +"commit will be listed. If the <commit> argument is missing it defaults to " +"`HEAD` (i.e. the tip of the current branch)." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:65 +#: en/git-branch.txt:46 msgid "" -"Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had " -"done an `update-index` to make that effective in the index file. `git " -"diff-files` wouldn't show anything at all, since the index file matches my " -"working directory. But doing a 'git diff-index' does:" +"The command's second form creates a new branch head named <branchname> which " +"points to the current `HEAD`, or <start-point> if given." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:69 -#, no-wrap +#: en/git-branch.txt:50 msgid "" -" torvalds@ppc970:~/git> git diff-index --cached HEAD\n" -" -100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c\n" -" +100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 " -"git-commit.c\n" +"Note that this will create the new branch, but it will not switch the " +"working tree to it; use \"git checkout <newbranch>\" to switch to the new " +"branch." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:71 -msgid "You can see easily that the above is a rename." -msgstr "" - -#. type: Plain text -#: en/git-diff-index.txt:75 +#: en/git-branch.txt:58 msgid "" -"In fact, `git diff-index --cached` *should* always be entirely equivalent to " -"actually doing a 'git write-tree' and comparing that. Except this one is " -"much nicer for the case where you just want to check where you are." +"When a local branch is started off a remote-tracking branch, Git sets up the " +"branch (specifically the `branch.<name>.remote` and `branch.<name>.merge` " +"configuration entries) so that 'git pull' will appropriately merge from the " +"remote-tracking branch. This behavior may be changed via the global " +"`branch.autoSetupMerge` configuration flag. That setting can be overridden " +"by using the `--track` and `--no-track` options, and changed later using " +"`git branch --set-upstream-to`." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:79 +#: en/git-branch.txt:64 msgid "" -"So doing a `git diff-index --cached` is basically very useful when you are " -"asking yourself \"what have I already marked for being committed, and what's " -"the difference to a previous tree\"." +"With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>. If " +"<oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, " +"and a reflog entry is created to remember the branch renaming. If " +"<newbranch> exists, -M must be used to force the rename to happen." msgstr "" -#. type: Title - -#: en/git-diff-index.txt:81 -#, no-wrap -msgid "Non-cached Mode" +#. type: Plain text +#: en/git-branch.txt:68 +msgid "" +"With a `-d` or `-D` option, `<branchname>` will be deleted. You may specify " +"more than one branch for deletion. If the branch currently has a reflog " +"then the reflog will also be deleted." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:86 +#: en/git-branch.txt:74 msgid "" -"The \"non-cached\" mode takes a different approach, and is potentially the " -"more useful of the two in that what it does can't be emulated with a 'git " -"write-tree' + 'git diff-tree'. Thus that's the default mode. The non-cached " -"version asks the question:" +"Use `-r` together with `-d` to delete remote-tracking branches. Note, that " +"it only makes sense to delete remote-tracking branches if they no longer " +"exist in the remote repository or if 'git fetch' was configured not to fetch " +"them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a " +"way to clean up all obsolete remote-tracking branches." msgstr "" -#. type: Plain text -#: en/git-diff-index.txt:89 +#. type: Labeled list +#: en/git-branch.txt:78 en/git-clean.txt:28 en/git-cvsexportcommit.txt:49 en/git-difftool.txt:22 en/git-http-push.txt:44 en/git-instaweb.txt:27 en/git-ls-files.txt:39 en/git-ls-tree.txt:41 en/git-repack.txt:55 en/git-replace.txt:64 en/git-show-ref.txt:47 en/git-symbolic-ref.txt:35 en/git-tag.txt:75 #, no-wrap -msgid "" -" show me the differences between HEAD and the currently checked out\n" -" tree - index contents _and_ files that aren't up-to-date\n" +msgid "-d" msgstr "" -#. type: Plain text -#: en/git-diff-index.txt:93 -msgid "" -"which is obviously a very useful question too, since that tells you what you " -"*could* commit. Again, the output matches the 'git diff-tree -r' output to a " -"tee, but with a twist." +#. type: Labeled list +#: en/git-branch.txt:79 en/git-push.txt:126 en/git-replace.txt:65 en/git-symbolic-ref.txt:36 en/git-tag.txt:76 +#, no-wrap +msgid "--delete" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:99 +#: en/git-branch.txt:83 msgid "" -"The twist is that if some file doesn't match the index, we don't have a " -"backing store thing for it, and we use the magic \"all-zero\" sha1 to show " -"that. So let's say that you have edited `kernel/sched.c`, but have not " -"actually done a 'git update-index' on it yet - there is no \"object\" " -"associated with the new state, and you get:" +"Delete a branch. The branch must be fully merged in its upstream branch, or " +"in `HEAD` if no upstream was set with `--track` or `--set-upstream`." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:102 +#: en/git-branch.txt:86 +msgid "Shortcut for `--delete --force`." +msgstr "" + +#. type: Labeled list +#: en/git-branch.txt:88 en/git-tag.txt:152 #, no-wrap -msgid "" -" torvalds@ppc970:~/v2.6/linux> git diff-index --abbrev HEAD\n" -" :100644 100664 7476bb... 000000... kernel/sched.c\n" +msgid "--create-reflog" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:107 +#: en/git-branch.txt:97 msgid "" -"i.e., it shows that the tree has changed, and that `kernel/sched.c` has is " -"not up-to-date and may contain new stuff. The all-zero sha1 means that to " -"get the real diff, you need to look at the object in the working directory " -"directly rather than do an object-to-object diff." +"Create the branch's reflog. This activates recording of all changes made to " +"the branch ref, enabling use of date based sha1 expressions such as " +"\"<branchname>@\\{yesterday}\". Note that in non-bare repositories, reflogs " +"are usually enabled by default by the `core.logallrefupdates` config " +"option. The negated form `--no-create-reflog` only overrides an earlier " +"`--create-reflog`, but currently does not negate the setting of " +"`core.logallrefupdates`." msgstr "" #. type: Plain text -#: en/git-diff-index.txt:113 +#: en/git-branch.txt:106 msgid "" -"As with other commands of this type, 'git diff-index' does not actually look " -"at the contents of the file at all. So maybe `kernel/sched.c` hasn't " -"actually changed, and it's just that you touched it. In either case, it's a " -"note that you need to 'git update-index' it to make the index be in sync." +"Reset <branchname> to <startpoint> if <branchname> exists already. Without " +"`-f` 'git branch' refuses to change an existing branch. In combination with " +"`-d` (or `--delete`), allow deleting the branch irrespective of its merged " +"status. In combination with `-m` (or `--move`), allow renaming the branch " +"even if the new branch name already exists." +msgstr "" + +#. type: Labeled list +#: en/git-branch.txt:108 +#, no-wrap +msgid "--move" msgstr "" #. type: Plain text -#: en/git-diff-index.txt:119 -msgid "" -"You can have a mixture of files show up as \"has been updated\" and \"is " -"still dirty in the working directory\" together. You can always tell which " -"file is in which state, since the \"has been updated\" ones show a valid " -"sha1, and the \"not in sync with the index\" ones will always have the " -"special all-zero sha1." +#: en/git-branch.txt:110 +msgid "Move/rename a branch and the corresponding reflog." msgstr "" -#. type: Title = -#: en/git-difftool.txt:2 +#. type: Labeled list +#: en/git-branch.txt:111 en/git-fast-export.txt:53 en/git-p4.txt:280 #, no-wrap -msgid "git-difftool(1)" +msgid "-M" msgstr "" #. type: Plain text -#: en/git-difftool.txt:7 -msgid "git-difftool - Show changes using common diff tools" +#: en/git-branch.txt:113 +msgid "Shortcut for `--move --force`." msgstr "" #. type: Plain text -#: en/git-difftool.txt:12 -#, no-wrap -msgid "'git difftool' [<options>] [<commit> [<commit>]] [--] [<path>...]\n" +#: en/git-branch.txt:118 +msgid "" +"Color branches to highlight current, local, and remote-tracking branches. " +"The value must be always (the default), never, or auto." msgstr "" #. type: Plain text -#: en/git-difftool.txt:19 +#: en/git-branch.txt:123 msgid "" -"'git difftool' is a Git command that allows you to compare and edit files " -"between revisions using common diff tools. 'git difftool' is a frontend to " -"'git diff' and accepts the same options and arguments. See " -"linkgit:git-diff[1]." +"Turn off branch colors, even when the configuration file gives the default " +"to color output. Same as `--color=never`." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:23 +#: en/git-branch.txt:125 en/git-for-each-ref.txt:82 en/git-grep.txt:117 en/git-tag.txt:112 #, no-wrap -msgid "--dir-diff" +msgid "--ignore-case" msgstr "" #. type: Plain text -#: en/git-difftool.txt:27 -msgid "" -"Copy the modified files to a temporary location and perform a directory diff " -"on them. This mode never prompts before launching the diff tool." +#: en/git-branch.txt:127 +msgid "Sorting and filtering branches are case insensitive." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:28 en/git-mergetool.txt:70 +#: en/git-branch.txt:128 en/git-status.txt:104 en/git-tag.txt:115 #, no-wrap -msgid "-y" +msgid "--column[=<options>]" msgstr "" #. type: Labeled list -#: en/git-difftool.txt:29 en/git-mergetool.txt:71 +#: en/git-branch.txt:129 en/git-status.txt:105 en/git-tag.txt:116 #, no-wrap -msgid "--no-prompt" +msgid "--no-column" msgstr "" #. type: Plain text -#: en/git-difftool.txt:31 -msgid "Do not prompt before launching a diff tool." -msgstr "" - -#. type: Labeled list -#: en/git-difftool.txt:32 en/git-mergetool.txt:78 -#, no-wrap -msgid "--prompt" +#: en/git-branch.txt:133 +msgid "" +"Display branch listing in columns. See configuration variable column.branch " +"for option syntax.`--column` and `--no-column` without options are " +"equivalent to 'always' and 'never' respectively." msgstr "" #. type: Plain text -#: en/git-difftool.txt:36 -msgid "" -"Prompt before each invocation of the diff tool. This is the default " -"behaviour; the option is provided to override any configuration settings." +#: en/git-branch.txt:135 +msgid "This option is only applicable in non-verbose mode." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:37 en/git-mergetool.txt:27 +#: en/git-branch.txt:137 en/git-show-branch.txt:44 #, no-wrap -msgid "-t <tool>" +msgid "--remotes" msgstr "" -#. type: Labeled list -#: en/git-difftool.txt:38 en/git-mergetool.txt:28 -#, no-wrap -msgid "--tool=<tool>" +#. type: Plain text +#: en/git-branch.txt:139 +msgid "List or delete (if used with -d) the remote-tracking branches." msgstr "" #. type: Plain text -#: en/git-difftool.txt:42 -msgid "" -"Use the diff tool specified by <tool>. Valid values include emerge, " -"kompare, meld, and vimdiff. Run `git difftool --tool-help` for the list of " -"valid <tool> settings." +#: en/git-branch.txt:143 +msgid "List both remote-tracking branches and local branches." msgstr "" #. type: Plain text -#: en/git-difftool.txt:47 +#: en/git-branch.txt:147 msgid "" -"If a diff tool is not specified, 'git difftool' will use the configuration " -"variable `diff.tool`. If the configuration variable `diff.tool` is not set, " -"'git difftool' will pick a suitable default." +"Activate the list mode. `git branch <pattern>` would try to create a branch, " +"use `git branch --list <pattern>` to list matching branches." +msgstr "" + +#. type: Labeled list +#: en/git-branch.txt:149 +#, no-wrap +msgid "-vv" msgstr "" #. type: Plain text -#: en/git-difftool.txt:53 +#: en/git-branch.txt:156 msgid "" -"You can explicitly provide a full path to the tool by setting the " -"configuration variable `difftool.<tool>.path`. For example, you can " -"configure the absolute path to kdiff3 by setting " -"`difftool.kdiff3.path`. Otherwise, 'git difftool' assumes the tool is " -"available in PATH." +"When in list mode, show sha1 and commit subject line for each head, along " +"with relationship to upstream branch (if any). If given twice, print the " +"name of the upstream branch, as well (see also `git remote show <remote>`)." msgstr "" #. type: Plain text -#: en/git-difftool.txt:58 +#: en/git-branch.txt:161 msgid "" -"Instead of running one of the known diff tools, 'git difftool' can be " -"customized to run an alternative program by specifying the command line to " -"invoke in a configuration variable `difftool.<tool>.cmd`." +"Be more quiet when creating or deleting a branch, suppressing non-error " +"messages." +msgstr "" + +#. type: Labeled list +#: en/git-branch.txt:162 +#, no-wrap +msgid "--abbrev=<length>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:68 +#: en/git-branch.txt:166 msgid "" -"When 'git difftool' is invoked with this tool (either through the `-t` or " -"`--tool` option or the `diff.tool` configuration variable) the configured " -"command line will be invoked with the following variables available: " -"`$LOCAL` is set to the name of the temporary file containing the contents of " -"the diff pre-image and `$REMOTE` is set to the name of the temporary file " -"containing the contents of the diff post-image. `$MERGED` is the name of " -"the file which is being compared. `$BASE` is provided for compatibility with " -"custom merge tool commands and has the same value as `$MERGED`." +"Alter the sha1's minimum display length in the output listing. The default " +"value is 7 and can be overridden by the `core.abbrev` config option." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:69 en/git-mergetool.txt:67 +#: en/git-branch.txt:167 #, no-wrap -msgid "--tool-help" +msgid "--no-abbrev" msgstr "" #. type: Plain text -#: en/git-difftool.txt:71 -msgid "Print a list of diff tools that may be used with `--tool`." +#: en/git-branch.txt:169 +msgid "Display the full sha1s in the output listing rather than abbreviating them." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:72 +#: en/git-branch.txt:171 en/git-checkout.txt:156 #, no-wrap -msgid "--[no-]symlinks" +msgid "--track" msgstr "" #. type: Plain text -#: en/git-difftool.txt:77 +#: en/git-branch.txt:179 msgid "" -"'git difftool''s default behavior is create symlinks to the working tree " -"when run in `--dir-diff` mode and the right-hand side of the comparison " -"yields the same content as the file in the working tree." +"When creating a new branch, set up `branch.<name>.remote` and " +"`branch.<name>.merge` configuration entries to mark the start-point branch " +"as \"upstream\" from the new branch. This configuration will tell git to " +"show the relationship between the two branches in `git status` and `git " +"branch -v`. Furthermore, it directs `git pull` without arguments to pull " +"from the upstream when the new branch is checked out." msgstr "" #. type: Plain text -#: en/git-difftool.txt:80 +#: en/git-branch.txt:185 msgid "" -"Specifying `--no-symlinks` instructs 'git difftool' to create copies " -"instead. `--no-symlinks` is the default on Windows." +"This behavior is the default when the start point is a remote-tracking " +"branch. Set the branch.autoSetupMerge configuration variable to `false` if " +"you want `git checkout` and `git branch` to always behave as if `--no-track` " +"were given. Set it to `always` if you want this behavior when the " +"start-point is either a local or remote-tracking branch." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:81 +#: en/git-branch.txt:186 en/git-checkout.txt:170 #, no-wrap -msgid "-x <command>" +msgid "--no-track" +msgstr "" + +#. type: Plain text +#: en/git-branch.txt:189 en/git-checkout.txt:173 +msgid "" +"Do not set up \"upstream\" configuration, even if the branch.autoSetupMerge " +"configuration variable is true." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:82 +#: en/git-branch.txt:190 en/git-push.txt:246 #, no-wrap -msgid "--extcmd=<command>" +msgid "--set-upstream" msgstr "" #. type: Plain text -#: en/git-difftool.txt:87 +#: en/git-branch.txt:195 msgid "" -"Specify a custom command for viewing diffs. 'git-difftool' ignores the " -"configured defaults and runs `$command $LOCAL $REMOTE` when this option is " -"specified. Additionally, `$BASE` is set in the environment." +"If specified branch does not exist yet or if `--force` has been given, acts " +"exactly like `--track`. Otherwise sets up configuration like `--track` would " +"when creating the branch, except that where branch points to is not changed." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:88 en/git-help.txt:46 en/git-show-branch.txt:111 en/git-update-index.txt:114 en/rev-list-options.txt:245 +#: en/git-branch.txt:196 #, no-wrap -msgid "-g" +msgid "-u <upstream>" msgstr "" #. type: Labeled list -#: en/git-difftool.txt:89 +#: en/git-branch.txt:197 #, no-wrap -msgid "--[no-]gui" +msgid "--set-upstream-to=<upstream>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:94 +#: en/git-branch.txt:201 msgid "" -"When 'git-difftool' is invoked with the `-g` or `--gui` option the default " -"diff tool will be read from the configured `diff.guitool` variable instead " -"of `diff.tool`. The `--no-gui` option can be used to override this setting." +"Set up <branchname>'s tracking information so <upstream> is considered " +"<branchname>'s upstream branch. If no <branchname> is specified, then it " +"defaults to the current branch." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:95 +#: en/git-branch.txt:202 #, no-wrap -msgid "--[no-]trust-exit-code" -msgstr "" - -#. type: Plain text -#: en/git-difftool.txt:100 -msgid "" -"'git-difftool' invokes a diff tool individually on each file. Errors " -"reported by the diff tool are ignored by default. Use `--trust-exit-code` " -"to make 'git-difftool' exit when an invoked diff tool returns a non-zero " -"exit code." +msgid "--unset-upstream" msgstr "" #. type: Plain text -#: en/git-difftool.txt:103 +#: en/git-branch.txt:205 msgid "" -"'git-difftool' will forward the exit code of the invoked tool when " -"`--trust-exit-code` is used." -msgstr "" - -#. type: Plain text -#: en/git-difftool.txt:105 -msgid "See linkgit:git-diff[1] for the full list of supported options." +"Remove the upstream information for <branchname>. If no branch is specified " +"it defaults to the current branch." msgstr "" -#. type: Title - -#: en/git-difftool.txt:107 +#. type: Labeled list +#: en/git-branch.txt:206 #, no-wrap -msgid "CONFIG VARIABLES" +msgid "--edit-description" msgstr "" #. type: Plain text -#: en/git-difftool.txt:110 +#: en/git-branch.txt:211 msgid "" -"'git difftool' falls back to 'git mergetool' config variables when the " -"difftool equivalents have not been defined." +"Open an editor and edit the text to explain what the branch is for, to be " +"used by various other commands (e.g. `format-patch`, `request-pull`, and " +"`merge` (if enabled)). Multi-line explanations may be used." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:111 en/diff-config.txt:172 +#: en/git-branch.txt:212 en/git-tag.txt:123 #, no-wrap -msgid "diff.tool" +msgid "--contains [<commit>]" msgstr "" #. type: Plain text -#: en/git-difftool.txt:113 -msgid "The default diff tool to use." +#: en/git-branch.txt:215 +msgid "" +"Only list branches which contain the specified commit (HEAD if not " +"specified). Implies `--list`." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:114 +#: en/git-branch.txt:216 #, no-wrap -msgid "diff.guitool" +msgid "--merged [<commit>]" msgstr "" #. type: Plain text -#: en/git-difftool.txt:116 -msgid "The default diff tool to use when `--gui` is specified." +#: en/git-branch.txt:219 +msgid "" +"Only list branches whose tips are reachable from the specified commit (HEAD " +"if not specified). Implies `--list`." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:117 en/config.txt:1270 +#: en/git-branch.txt:220 #, no-wrap -msgid "difftool.<tool>.path" +msgid "--no-merged [<commit>]" msgstr "" #. type: Plain text -#: en/git-difftool.txt:120 en/config.txt:1273 en/config.txt:2188 +#: en/git-branch.txt:223 msgid "" -"Override the path for the given tool. This is useful in case your tool is " -"not in the PATH." +"Only list branches whose tips are not reachable from the specified commit " +"(HEAD if not specified). Implies `--list`." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:121 en/config.txt:1274 +#: en/git-branch.txt:224 #, no-wrap -msgid "difftool.<tool>.cmd" -msgstr "" - -#. type: Plain text -#: en/git-difftool.txt:123 -msgid "Specify the command to invoke the specified diff tool." +msgid "<branchname>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:125 -msgid "See the `--tool=<tool>` option above for more details." +#: en/git-branch.txt:229 +msgid "" +"The name of the branch to create or delete. The new branch name must pass " +"all checks defined by linkgit:git-check-ref-format[1]. Some of these checks " +"may restrict the characters allowed in a branch name." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:126 en/config.txt:1282 +#: en/git-branch.txt:230 #, no-wrap -msgid "difftool.prompt" +msgid "<start-point>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:128 en/config.txt:1284 -msgid "Prompt before each invocation of the diff tool." +#: en/git-branch.txt:234 +msgid "" +"The new branch head will point to this commit. It may be given as a branch " +"name, a commit-id, or a tag. If this option is omitted, the current HEAD " +"will be used instead." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:129 +#: en/git-branch.txt:235 #, no-wrap -msgid "difftool.trustExitCode" -msgstr "" - -#. type: Plain text -#: en/git-difftool.txt:131 -msgid "Exit difftool if the invoked diff tool returns a non-zero exit status." +msgid "<oldbranch>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:133 -msgid "See the `--trust-exit-code` option above for more details." +#: en/git-branch.txt:237 +msgid "The name of an existing branch to rename." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:136 en/cmds-mainporcelain.txt:40 +#: en/git-branch.txt:238 #, no-wrap -msgid "linkgit:git-diff[1]" +msgid "<newbranch>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:138 -msgid "Show changes between commits, commit and working tree, etc" +#: en/git-branch.txt:241 +msgid "" +"The new name for an existing branch. The same restrictions as for " +"<branchname> apply." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:139 en/cmds-ancillarymanipulators.txt:13 +#: en/git-branch.txt:242 en/git-tag.txt:98 #, no-wrap -msgid "linkgit:git-mergetool[1]" +msgid "--sort=<key>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:141 -msgid "Run merge conflict resolution tools to resolve merge conflicts" +#: en/git-branch.txt:251 +msgid "" +"Sort based on the key given. Prefix `-` to sort in descending order of the " +"value. You may use the --sort=<key> option multiple times, in which case the " +"last key becomes the primary key. The keys supported are the same as those " +"in `git for-each-ref`. Sort order defaults to sorting based on the full " +"refname (including `refs/...` prefix). This lists detached HEAD (if present) " +"first, then local branches and finally remote-tracking branches." msgstr "" #. type: Labeled list -#: en/git-difftool.txt:142 en/cmds-ancillarymanipulators.txt:1 +#: en/git-branch.txt:253 en/git-for-each-ref.txt:67 en/git-tag.txt:127 #, no-wrap -msgid "linkgit:git-config[1]" +msgid "--points-at <object>" msgstr "" #. type: Plain text -#: en/git-difftool.txt:144 -msgid "Get and set repository or global options" +#: en/git-branch.txt:255 +msgid "Only list branches of the given object." msgstr "" -#. type: Title = -#: en/git-diff-tree.txt:2 +#. type: Labeled list +#: en/git-branch.txt:256 #, no-wrap -msgid "git-diff-tree(1)" +msgid "--format <format>" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:7 +#: en/git-branch.txt:260 msgid "" -"git-diff-tree - Compares the content and mode of blobs found via two tree " -"objects" +"A string that interpolates `%(fieldname)` from the object pointed at by a " +"ref being shown. The format is the same as that of " +"linkgit:git-for-each-ref[1]." msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:15 +#. type: Title - +#: en/git-branch.txt:262 en/git-clone.txt:258 en/git-filter-branch.txt:214 en/git-grep.txt:298 en/git-gui.txt:52 en/git-imap-send.txt:106 en/git-push.txt:467 en/git-remote.txt:203 en/git-update-index.txt:337 en/git-whatchanged.txt:29 #, no-wrap -msgid "" -"'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]\n" -"\t [-t] [-r] [-c | --cc] [--root] [<common diff options>]\n" -"\t <tree-ish> [<tree-ish>] [<path>...]\n" +msgid "Examples" msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:19 -msgid "Compares the content and mode of the blobs found via two tree objects." +#. type: Labeled list +#: en/git-branch.txt:264 +#, no-wrap +msgid "Start development from a known tag" msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:22 +#. type: delimited block - +#: en/git-branch.txt:271 +#, no-wrap msgid "" -"If there is only one <tree-ish> given, the commit is compared with its " -"parents (see --stdin below)." +"$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6\n" +"$ cd my2.6\n" +"$ git branch my2.6.14 v2.6.14 <1>\n" +"$ git checkout my2.6.14\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:24 -msgid "Note that 'git diff-tree' can use the tree encapsulated in a commit object." +#: en/git-branch.txt:275 +msgid "" +"This step and the next one could be combined into a single step with " +"\"checkout -b my2.6.14 v2.6.14\"." msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:31 -msgid "The id of a tree object." +#. type: Labeled list +#: en/git-branch.txt:276 +#, no-wrap +msgid "Delete an unneeded branch" msgstr "" -#. type: Labeled list -#: en/git-diff-tree.txt:32 en/git-diff.txt:100 en/git-submodule.txt:423 +#. type: delimited block - +#: en/git-branch.txt:283 #, no-wrap -msgid "<path>..." +msgid "" +"$ git clone git://git.kernel.org/.../git.git my.git\n" +"$ cd my.git\n" +"$ git branch -d -r origin/todo origin/html origin/man <1>\n" +"$ git branch -D test <2>\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:38 +#: en/git-branch.txt:288 msgid "" -"If provided, the results are limited to a subset of files matching one of " -"these prefix strings. i.e., file matches `/^<pattern1>|<pattern2>|.../` " -"Note that this parameter does not provide any wildcard or regexp features." -msgstr "" - -#. type: Plain text -#: en/git-diff-tree.txt:41 -msgid "recurse into sub-trees" +"Delete the remote-tracking branches \"todo\", \"html\" and \"man\". The next " +"'fetch' or 'pull' will create them again unless you configure them not to. " +"See linkgit:git-fetch[1]." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:44 -msgid "show tree entry itself as well as subtrees. Implies -r." +#: en/git-branch.txt:290 +msgid "" +"Delete the \"test\" branch even if the \"master\" branch (or whichever " +"branch is currently checked out) does not have all commits from the test " +"branch." msgstr "" -#. type: Labeled list -#: en/git-diff-tree.txt:45 en/git-format-patch.txt:279 en/git-fsck.txt:38 en/git-rebase.txt:415 en/blame-options.txt:5 +#. type: Title - +#: en/git-branch.txt:293 en/git-filter-branch.txt:431 en/git-gc.txt:138 en/git-prune.txt:68 #, no-wrap -msgid "--root" +msgid "Notes" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:48 +#: en/git-branch.txt:298 msgid "" -"When `--root` is specified the initial commit will be shown as a big " -"creation event. This is equivalent to a diff against the NULL tree." +"If you are creating a branch that you want to checkout immediately, it is " +"easier to use the git checkout command with its `-b` option to create a " +"branch and check it out with a single command." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:55 +#: en/git-branch.txt:301 msgid "" -"When `--stdin` is specified, the command does not take <tree-ish> arguments " -"from the command line. Instead, it reads lines containing either two " -"<tree>, one <commit>, or a list of <commit> from its standard input. (Use a " -"single space as separator.)" +"The options `--contains`, `--merged` and `--no-merged` serve three related " +"but different purposes:" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:60 +#: en/git-branch.txt:305 msgid "" -"When two trees are given, it compares the first tree with the second. When " -"a single commit is given, it compares the commit with its parents. The " -"remaining commits, when given, are used as if they are parents of the first " -"commit." +"`--contains <commit>` is used to find all branches which will need special " +"attention if <commit> were to be rebased or amended, since those branches " +"contain the specified <commit>." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:65 +#: en/git-branch.txt:308 msgid "" -"When comparing two trees, the ID of both trees (separated by a space and " -"terminated by a newline) is printed before the difference. When comparing " -"commits, the ID of the first (or only) commit, followed by a newline, is " -"printed." +"`--merged` is used to find all branches which can be safely deleted, since " +"those branches are fully contained by HEAD." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:68 +#: en/git-branch.txt:311 msgid "" -"The following flags further affect the behavior when comparing commits (but " -"not trees)." +"`--no-merged` is used to find branches which are candidates for merging into " +"HEAD, since those branches are not fully contained by HEAD." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:74 +#: en/git-branch.txt:319 msgid "" -"By default, 'git diff-tree --stdin' does not show differences for merge " -"commits. With this flag, it shows differences to that commit from all of " -"its parents. See also `-c`." +"linkgit:git-check-ref-format[1], linkgit:git-fetch[1], " +"linkgit:git-remote[1], " +"link:user-manual.html#what-is-a-branch[``Understanding history: What is a " +"branch?''] in the Git User's Manual." +msgstr "" + +#. type: Title = +#: en/git-bundle.txt:2 +#, no-wrap +msgid "git-bundle(1)" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:80 +#: en/git-bundle.txt:7 +msgid "git-bundle - Move objects and refs by archive" +msgstr "" + +#. type: Plain text +#: en/git-bundle.txt:16 +#, no-wrap msgid "" -"By default, 'git diff-tree --stdin' shows differences, either in " -"machine-readable form (without `-p`) or in patch form (with `-p`). This " -"output can be suppressed. It is only useful with `-v` flag." +"'git bundle' create <file> <git-rev-list-args>\n" +"'git bundle' verify <file>\n" +"'git bundle' list-heads <file> [<refname>...]\n" +"'git bundle' unbundle <file> [<refname>...]\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:84 +#: en/git-bundle.txt:32 msgid "" -"This flag causes 'git diff-tree --stdin' to also show the commit message " -"before the differences." +"Some workflows require that one or more branches of development on one " +"machine be replicated on another machine, but the two machines cannot be " +"directly connected, and therefore the interactive Git protocols (git, ssh, " +"http) cannot be used. This command provides support for 'git fetch' and " +"'git pull' to operate by packaging objects and references in an archive at " +"the originating machine, then importing those into another repository using " +"'git fetch' and 'git pull' after moving the archive by some means (e.g., by " +"sneakernet). As no direct connection between the repositories exists, the " +"user must specify a basis for the bundle that is held by the destination " +"repository: the bundle assumes that all objects in the basis are already in " +"the destination repository." msgstr "" #. type: Labeled list -#: en/git-diff-tree.txt:87 +#: en/git-bundle.txt:36 #, no-wrap -msgid "--no-commit-id" +msgid "create <file>" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:90 +#: en/git-bundle.txt:39 msgid "" -"'git diff-tree' outputs a line with the commit ID when applicable. This " -"flag suppressed the commit ID output." +"Used to create a bundle named 'file'. This requires the 'git-rev-list-args' " +"arguments to define the bundle contents." msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:100 -msgid "" -"This flag changes the way a merge commit is displayed (which means it is " -"useful only when the command is given one <tree-ish>, or `--stdin`). It " -"shows the differences from each of the parents to the merge result " -"simultaneously instead of showing pairwise diff between a parent and the " -"result one at a time (which is what the `-m` option does). Furthermore, it " -"lists only files which were modified from all parents." +#. type: Labeled list +#: en/git-bundle.txt:40 +#, no-wrap +msgid "verify <file>" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:110 +#: en/git-bundle.txt:47 msgid "" -"This flag changes the way a merge commit patch is displayed, in a similar " -"way to the `-c` option. It implies the `-c` and `-p` options and further " -"compresses the patch output by omitting uninteresting hunks whose the " -"contents in the parents have only two variants and the merge result picks " -"one of them without modification. When all hunks are uninteresting, the " -"commit itself and the commit log message is not shown, just like in any " -"other \"empty diff\" case." +"Used to check that a bundle file is valid and will apply cleanly to the " +"current repository. This includes checks on the bundle format itself as " +"well as checking that the prerequisite commits exist and are fully linked in " +"the current repository. 'git bundle' prints a list of missing commits, if " +"any, and exits with a non-zero status." +msgstr "" + +#. type: Labeled list +#: en/git-bundle.txt:48 +#, no-wrap +msgid "list-heads <file>" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:114 +#: en/git-bundle.txt:52 msgid "" -"Show the commit itself and the commit log message even if the diff itself is " -"empty." +"Lists the references defined in the bundle. If followed by a list of " +"references, only references matching those given are printed out." msgstr "" -#. type: Title - -#: en/git-diff-tree.txt:120 +#. type: Labeled list +#: en/git-bundle.txt:53 #, no-wrap -msgid "Limiting Output" +msgid "unbundle <file>" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:123 +#: en/git-bundle.txt:59 msgid "" -"If you're only interested in differences in a subset of files, for example " -"some architecture-specific files, you might do:" +"Passes the objects in the bundle to 'git index-pack' for storage in the " +"repository, then prints the names of all defined references. If a list of " +"references is given, only references matching those in the list are " +"printed. This command is really plumbing, intended to be called only by 'git " +"fetch'." msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:125 +#. type: Labeled list +#: en/git-bundle.txt:60 #, no-wrap -msgid "\tgit diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64\n" +msgid "<git-rev-list-args>" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:127 -msgid "and it will only show you what changed in those two directories." +#: en/git-bundle.txt:69 +msgid "" +"A list of arguments, acceptable to 'git rev-parse' and 'git rev-list' (and " +"containing a named ref, see SPECIFYING REFERENCES below), that specifies the " +"specific objects and references to transport. For example, " +"`master~10..master` causes the current master reference to be packaged along " +"with all objects added since its 10th ancestor commit. There is no explicit " +"limit to the number of references and objects that may be packaged." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:129 -msgid "Or if you are searching for what changed in just `kernel/sched.c`, just do" +#: en/git-bundle.txt:77 +#, no-wrap +msgid "" +"[<refname>...]::\n" +"\tA list of references used to limit the references reported as\n" +"\tavailable. This is principally of use to 'git fetch', which\n" +"\texpects to receive only those references asked for and not\n" +"\tnecessarily everything in the pack (in this case, 'git bundle' acts\n" +"\tlike 'git fetch-pack').\n" msgstr "" -#. type: Plain text -#: en/git-diff-tree.txt:131 +#. type: Title - +#: en/git-bundle.txt:79 #, no-wrap -msgid "\tgit diff-tree -r <tree-ish> <tree-ish> kernel/sched.c\n" +msgid "SPECIFYING REFERENCES" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:133 -msgid "and it will ignore all differences to other files." +#: en/git-bundle.txt:89 +msgid "" +"'git bundle' will only package references that are shown by 'git show-ref': " +"this includes heads, tags, and remote heads. References such as `master~1` " +"cannot be packaged, but are perfectly suitable for defining the basis. More " +"than one reference may be packaged, and more than one basis can be " +"specified. The objects packaged are those not contained in the union of the " +"given bases. Each basis can be specified explicitly (e.g. `^master~10`), or " +"implicitly (e.g. `master~10..master`, `--since=10.days.ago master`)." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:138 +#: en/git-bundle.txt:94 msgid "" -"The pattern is always the prefix, and is matched exactly. There are no " -"wildcards. Even stricter, it has to match a complete path component. " -"I.e. \"foo\" does not pick up `foobar.h`. \"foo\" does match `foo/bar.h` so " -"it can be used to name subdirectories." +"It is very important that the basis used be held by the destination. It is " +"okay to err on the side of caution, causing the bundle file to contain " +"objects already in the destination, as these are ignored when unpacking at " +"the destination." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:140 -msgid "An example of normal usage is:" +#: en/git-bundle.txt:96 en/git-fmt-merge-msg.txt:61 en/git-imap-send.txt:140 en/git-name-rev.txt:65 en/git-p4.txt:33 en/git-prune.txt:57 en/git-request-pull.txt:50 en/git-send-email.txt:441 en/git-shell.txt:66 en/git-show-branch.txt:177 en/git-show-ref.txt:124 en/git-var.txt:27 +#, no-wrap +msgid "EXAMPLE" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:143 -#, no-wrap +#: en/git-bundle.txt:103 msgid "" -" torvalds@ppc970:~/git> git diff-tree --abbrev 5319e4\n" -" :100664 100664 ac348b... a01513...\tgit-fsck-objects.c\n" +"Assume you want to transfer the history from a repository R1 on machine A to " +"another repository R2 on machine B. For whatever reason, direct connection " +"between A and B is not allowed, but we can move data from A to B via some " +"mechanism (CD, email, etc.). We want to update R2 with development made on " +"the branch master in R1." msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:146 +#: en/git-bundle.txt:108 msgid "" -"which tells you that the last commit changed just one file (it's from this " -"one:" +"To bootstrap the process, you can first create a bundle that does not have " +"any basis. You can use a tag to remember up to what commit you last " +"processed, in order to make it easy to later update the other repository " +"with an incremental bundle:" msgstr "" #. type: delimited block - -#: en/git-diff-tree.txt:153 +#: en/git-bundle.txt:113 #, no-wrap msgid "" -"commit 3c6f7ca19ad4043e9e72fa94106f352897e651a8\n" -"tree 5319e4d609cdd282069cc4dce33c1db559539b03\n" -"parent b4e628ea30d5ab3606119d2ea5caeab141d38df7\n" -"author Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005\n" -"committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 " -"2005\n" +"machineA$ cd R1\n" +"machineA$ git bundle create file.bundle master\n" +"machineA$ git tag -f lastR2bundle master\n" msgstr "" -#. type: delimited block - -#: en/git-diff-tree.txt:155 -#, no-wrap -msgid "Make \"git-fsck-objects\" print out all the root commits it finds.\n" +#. type: Plain text +#: en/git-bundle.txt:118 +msgid "" +"Then you transfer file.bundle to the target machine B. Because this bundle " +"does not require any existing object to be extracted, you can create a new " +"repository on machine B by cloning from it:" msgstr "" #. type: delimited block - -#: en/git-diff-tree.txt:158 +#: en/git-bundle.txt:121 #, no-wrap -msgid "" -"Once I do the reference tracking, I'll also make it print out all the\n" -"HEAD commits it finds, which is even more interesting.\n" +msgid "machineB$ git clone -b master /home/me/tmp/file.bundle R2\n" msgstr "" #. type: Plain text -#: en/git-diff-tree.txt:161 -msgid "in case you care)." +#: en/git-bundle.txt:126 +msgid "" +"This will define a remote called \"origin\" in the resulting repository that " +"lets you fetch and pull from the bundle. The $GIT_DIR/config file in R2 will " +"have an entry like this:" msgstr "" -#. type: Title = -#: en/git-diff.txt:2 +#. type: delimited block - +#: en/git-bundle.txt:131 #, no-wrap -msgid "git-diff(1)" -msgstr "" - -#. type: Plain text -#: en/git-diff.txt:7 -msgid "git-diff - Show changes between commits, commit and working tree, etc" +msgid "" +"[remote \"origin\"]\n" +" url = /home/me/tmp/file.bundle\n" +" fetch = refs/heads/*:refs/remotes/origin/*\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:17 -#, no-wrap +#: en/git-bundle.txt:136 msgid "" -"'git diff' [options] [<commit>] [--] [<path>...]\n" -"'git diff' [options] --cached [<commit>] [--] [<path>...]\n" -"'git diff' [options] <commit> <commit> [--] [<path>...]\n" -"'git diff' [options] <blob> <blob>\n" -"'git diff' [options] [--no-index] [--] <path> <path>\n" +"To update the resulting mine.git repository, you can fetch or pull after " +"replacing the bundle stored at /home/me/tmp/file.bundle with incremental " +"updates." msgstr "" #. type: Plain text -#: en/git-diff.txt:23 +#: en/git-bundle.txt:139 msgid "" -"Show changes between the working tree and the index or a tree, changes " -"between the index and a tree, changes between two trees, changes between two " -"blob objects, or changes between two files on disk." +"After working some more in the original repository, you can create an " +"incremental bundle to update the other repository:" msgstr "" -#. type: Labeled list -#: en/git-diff.txt:24 +#. type: delimited block - +#: en/git-bundle.txt:144 #, no-wrap -msgid "'git diff' [--options] [--] [<path>...]" +msgid "" +"machineA$ cd R1\n" +"machineA$ git bundle create file.bundle lastR2bundle..master\n" +"machineA$ git tag -f lastR2bundle master\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:31 +#: en/git-bundle.txt:148 msgid "" -"This form is to view the changes you made relative to the index (staging " -"area for the next commit). In other words, the differences are what you " -"_could_ tell Git to further add to the index but you still haven't. You can " -"stage these changes by using linkgit:git-add[1]." +"You then transfer the bundle to the other machine to replace " +"/home/me/tmp/file.bundle, and pull from it." msgstr "" -#. type: Labeled list -#: en/git-diff.txt:32 +#. type: delimited block - +#: en/git-bundle.txt:152 #, no-wrap -msgid "'git diff' --no-index [--options] [--] [<path>...]" +msgid "" +"machineB$ cd R2\n" +"machineB$ git pull\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:40 +#: en/git-bundle.txt:160 msgid "" -"This form is to compare the given two paths on the filesystem. You can omit " -"the `--no-index` option when running the command in a working tree " -"controlled by Git and at least one of the paths points outside the working " -"tree, or when running the command outside a working tree controlled by Git." -msgstr "" - -#. type: Labeled list -#: en/git-diff.txt:41 -#, no-wrap -msgid "'git diff' [--options] --cached [<commit>] [--] [<path>...]" +"If you know up to what commit the intended recipient repository should have " +"the necessary objects, you can use that knowledge to specify the basis, " +"giving a cut-off point to limit the revisions and objects that go in the " +"resulting bundle. The previous example used the lastR2bundle tag for this " +"purpose, but you can use any other options that you would give to the " +"linkgit:git-log[1] command. Here are more examples:" msgstr "" #. type: Plain text -#: en/git-diff.txt:50 -msgid "" -"This form is to view the changes you staged for the next commit relative to " -"the named <commit>. Typically you would want comparison with the latest " -"commit, so if you do not give <commit>, it defaults to HEAD. If HEAD does " -"not exist (e.g. unborn branches) and <commit> is not given, it shows all " -"staged changes. --staged is a synonym of --cached." +#: en/git-bundle.txt:162 +msgid "You can use a tag that is present in both:" msgstr "" -#. type: Labeled list -#: en/git-diff.txt:51 +#. type: delimited block - +#: en/git-bundle.txt:165 #, no-wrap -msgid "'git diff' [--options] <commit> [--] [<path>...]" +msgid "$ git bundle create mybundle v1.0.0..master\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:58 -msgid "" -"This form is to view the changes you have in your working tree relative to " -"the named <commit>. You can use HEAD to compare it with the latest commit, " -"or a branch name to compare with the tip of a different branch." +#: en/git-bundle.txt:168 +msgid "You can use a basis based on time:" msgstr "" -#. type: Labeled list -#: en/git-diff.txt:59 +#. type: delimited block - +#: en/git-bundle.txt:171 #, no-wrap -msgid "'git diff' [--options] <commit> <commit> [--] [<path>...]" +msgid "$ git bundle create mybundle --since=10.days master\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:63 -msgid "This is to view the changes between two arbitrary <commit>." +#: en/git-bundle.txt:174 +msgid "You can use the number of commits:" msgstr "" -#. type: Labeled list -#: en/git-diff.txt:64 +#. type: delimited block - +#: en/git-bundle.txt:177 #, no-wrap -msgid "'git diff' [--options] <commit>..<commit> [--] [<path>...]" +msgid "$ git bundle create mybundle -10 master\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:69 +#: en/git-bundle.txt:181 msgid "" -"This is synonymous to the previous form. If <commit> on one side is " -"omitted, it will have the same effect as using HEAD instead." +"You can run `git-bundle verify` to see if you can extract from a bundle that " +"was created with a basis:" msgstr "" -#. type: Labeled list -#: en/git-diff.txt:70 +#. type: delimited block - +#: en/git-bundle.txt:184 #, no-wrap -msgid "'git diff' [--options] <commit>\\...<commit> [--] [<path>...]" -msgstr "" - -#. type: Plain text -#: en/git-diff.txt:77 -msgid "" -"This form is to view the changes on the branch containing and up to the " -"second <commit>, starting at a common ancestor of both <commit>. \"git diff " -"A\\...B\" is equivalent to \"git diff $(git-merge-base A B) B\". You can " -"omit any one of <commit>, which has the same effect as using HEAD instead." +msgid "$ git bundle verify mybundle\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:82 +#: en/git-bundle.txt:188 msgid "" -"Just in case if you are doing something exotic, it should be noted that all " -"of the <commit> in the above description, except in the last two forms that " -"use \"..\" notations, can be any <tree>." +"This will list what commits you must have in order to extract from the " +"bundle and will error out if you do not have them." msgstr "" #. type: Plain text -#: en/git-diff.txt:89 +#: en/git-bundle.txt:192 msgid "" -"For a more complete list of ways to spell <commit>, see \"SPECIFYING " -"REVISIONS\" section in linkgit:gitrevisions[7]. However, \"diff\" is about " -"comparing two _endpoints_, not ranges, and the range notations " -"(\"<commit>..<commit>\" and \"<commit>\\...<commit>\") do not mean a range " -"as defined in the \"SPECIFYING RANGES\" section in linkgit:gitrevisions[7]." +"A bundle from a recipient repository's point of view is just like a regular " +"repository which it fetches or pulls from. You can, for example, map " +"references when fetching:" msgstr "" -#. type: Labeled list -#: en/git-diff.txt:90 +#. type: delimited block - +#: en/git-bundle.txt:195 #, no-wrap -msgid "'git diff' [options] <blob> <blob>" +msgid "$ git fetch mybundle master:localRef\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:94 -msgid "" -"This form is to view the differences between the raw contents of two blob " -"objects." +#: en/git-bundle.txt:198 +msgid "You can also see what references it offers:" msgstr "" -#. type: Plain text -#: en/git-diff.txt:104 -msgid "" -"The <paths> parameters, when given, are used to limit the diff to the named " -"paths (you can give directory names and get diff for all files under them)." +#. type: delimited block - +#: en/git-bundle.txt:201 +#, no-wrap +msgid "$ git ls-remote mybundle\n" msgstr "" -#. type: Labeled list -#: en/git-diff.txt:111 +#. type: Title = +#: en/git-cat-file.txt:2 #, no-wrap -msgid "Various ways to check your working tree" +msgid "git-cat-file(1)" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:117 -#, no-wrap +#. type: Plain text +#: en/git-cat-file.txt:7 msgid "" -"$ git diff <1>\n" -"$ git diff --cached <2>\n" -"$ git diff HEAD <3>\n" +"git-cat-file - Provide content or type and size information for repository " +"objects" msgstr "" #. type: Plain text -#: en/git-diff.txt:120 -msgid "Changes in the working tree not yet staged for the next commit." +#: en/git-cat-file.txt:14 +#, no-wrap +msgid "" +"'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | " +"-p | <type> | --textconv | --filters ) [--path=<path>] <object>\n" +"'git cat-file' (--batch | --batch-check) [ --textconv | --filters ] " +"[--follow-symlinks]\n" msgstr "" #. type: Plain text -#: en/git-diff.txt:122 +#: en/git-cat-file.txt:21 msgid "" -"Changes between the index and your last commit; what you would be committing " -"if you run \"git commit\" without \"-a\" option." +"In its first form, the command provides the content or the type of an object " +"in the repository. The type is required unless `-t` or `-p` is used to find " +"the object type, or `-s` is used to find the object size, or `--textconv` or " +"`--filters` is used (which imply type \"blob\")." msgstr "" #. type: Plain text -#: en/git-diff.txt:124 +#: en/git-cat-file.txt:28 msgid "" -"Changes in the working tree since your last commit; what you would be " -"committing if you run \"git commit -a\"" +"In the second form, a list of objects (separated by linefeeds) is provided " +"on stdin, and the SHA-1, type, and size of each object is printed on " +"stdout. The output format can be overridden using the optional `<format>` " +"argument. If either `--textconv` or `--filters` was specified, the input is " +"expected to list the object names followed by the path name, separated by a " +"single white space, so that the appropriate drivers can be determined." msgstr "" #. type: Labeled list -#: en/git-diff.txt:125 +#: en/git-cat-file.txt:31 en/git-fsck.txt:23 en/git-tag.txt:166 en/git.txt:780 #, no-wrap -msgid "Comparing with arbitrary commits" +msgid "<object>" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:131 -#, no-wrap +#. type: Plain text +#: en/git-cat-file.txt:35 msgid "" -"$ git diff test <1>\n" -"$ git diff HEAD -- ./test <2>\n" -"$ git diff HEAD^ HEAD <3>\n" +"The name of the object to show. For a more complete list of ways to spell " +"object names, see the \"SPECIFYING REVISIONS\" section in " +"linkgit:gitrevisions[7]." msgstr "" #. type: Plain text -#: en/git-diff.txt:135 -msgid "" -"Instead of using the tip of the current branch, compare with the tip of " -"\"test\" branch." +#: en/git-cat-file.txt:39 +msgid "Instead of the content, show the object type identified by <object>." msgstr "" #. type: Plain text -#: en/git-diff.txt:138 +#: en/git-cat-file.txt:43 +msgid "Instead of the content, show the object size identified by <object>." +msgstr "" + +#. type: Plain text +#: en/git-cat-file.txt:47 msgid "" -"Instead of comparing with the tip of \"test\" branch, compare with the tip " -"of the current branch, but limit the comparison to the file \"test\"." +"Suppress all output; instead exit with zero status if <object> exists and is " +"a valid object." msgstr "" #. type: Plain text -#: en/git-diff.txt:139 -msgid "Compare the version before the last commit and the last commit." +#: en/git-cat-file.txt:50 +msgid "Pretty-print the contents of <object> based on its type." msgstr "" #. type: Labeled list -#: en/git-diff.txt:140 +#: en/git-cat-file.txt:51 en/git.txt:804 #, no-wrap -msgid "Comparing branches" +msgid "<type>" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:146 -#, no-wrap +#. type: Plain text +#: en/git-cat-file.txt:58 msgid "" -"$ git diff topic master <1>\n" -"$ git diff topic..master <2>\n" -"$ git diff topic...master <3>\n" +"Typically this matches the real type of <object> but asking for a type that " +"can trivially be dereferenced from the given <object> is also permitted. An " +"example is to ask for a \"tree\" with <object> being a commit object that " +"contains it, or to ask for a \"blob\" with <object> being a tag object that " +"points at it." msgstr "" #. type: Plain text -#: en/git-diff.txt:149 -msgid "Changes between the tips of the topic and the master branches." +#: en/git-cat-file.txt:64 +msgid "" +"Show the content as transformed by a textconv filter. In this case, <object> " +"has to be of the form <tree-ish>:<path>, or :<path> in order to apply the " +"filter to the content recorded in the index at <path>." msgstr "" -#. type: Plain text -#: en/git-diff.txt:150 en/git-remote-fd.txt:44 en/git-remote-fd.txt:52 en/git-web--browse.txt:52 -msgid "Same as above." +#. type: Labeled list +#: en/git-cat-file.txt:65 +#, no-wrap +msgid "--filters" msgstr "" #. type: Plain text -#: en/git-diff.txt:152 +#: en/git-cat-file.txt:70 msgid "" -"Changes that occurred on the master branch since when the topic branch was " -"started off it." +"Show the content as converted by the filters configured in the current " +"working tree for the given <path> (i.e. smudge filters, end-of-line " +"conversion, etc). In this case, <object> has to be of the form " +"<tree-ish>:<path>, or :<path>." msgstr "" #. type: Labeled list -#: en/git-diff.txt:153 +#: en/git-cat-file.txt:71 #, no-wrap -msgid "Limiting the diff output" +msgid "--path=<path>" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:159 -#, no-wrap +#. type: Plain text +#: en/git-cat-file.txt:75 msgid "" -"$ git diff --diff-filter=MRC <1>\n" -"$ git diff --name-status <2>\n" -"$ git diff arch/i386 include/asm-i386 <3>\n" +"For use with --textconv or --filters, to allow specifying an object name and " +"a path separately, e.g. when it is difficult to figure out the revision from " +"which the blob came." msgstr "" -#. type: Plain text -#: en/git-diff.txt:163 -msgid "Show only modification, rename, and copy, but not addition or deletion." +#. type: Labeled list +#: en/git-cat-file.txt:76 en/git-mktree.txt:32 +#, no-wrap +msgid "--batch" msgstr "" -#. type: Plain text -#: en/git-diff.txt:165 -msgid "Show only names and the nature of change, but not actual diff output." +#. type: Labeled list +#: en/git-cat-file.txt:77 +#, no-wrap +msgid "--batch=<format>" msgstr "" #. type: Plain text -#: en/git-diff.txt:166 -msgid "Limit diff output to named subtrees." +#: en/git-cat-file.txt:83 +msgid "" +"Print object information and contents for each object provided on stdin. " +"May not be combined with any other options or arguments except `--textconv` " +"or `--filters`, in which case the input lines also need to specify the path, " +"separated by white space. See the section `BATCH OUTPUT` below for details." msgstr "" #. type: Labeled list -#: en/git-diff.txt:167 +#: en/git-cat-file.txt:84 #, no-wrap -msgid "Munging the diff output" +msgid "--batch-check" msgstr "" -#. type: delimited block - -#: en/git-diff.txt:172 +#. type: Labeled list +#: en/git-cat-file.txt:85 #, no-wrap -msgid "" -"$ git diff --find-copies-harder -B -C <1>\n" -"$ git diff -R <2>\n" +msgid "--batch-check=<format>" msgstr "" #. type: Plain text -#: en/git-diff.txt:176 +#: en/git-cat-file.txt:91 msgid "" -"Spend extra cycles to find renames, copies and complete rewrites (very " -"expensive)." +"Print object information for each object provided on stdin. May not be " +"combined with any other options or arguments except `--textconv` or " +"`--filters`, in which case the input lines also need to specify the path, " +"separated by white space. See the section `BATCH OUTPUT` below for details." msgstr "" -#. type: Plain text -#: en/git-diff.txt:177 -msgid "Output diff in reverse." +#. type: Labeled list +#: en/git-cat-file.txt:92 +#, no-wrap +msgid "--batch-all-objects" msgstr "" #. type: Plain text -#: en/git-diff.txt:186 +#: en/git-cat-file.txt:98 msgid "" -"diff(1), linkgit:git-difftool[1], linkgit:git-log[1], " -"linkgit:gitdiffcore[7], linkgit:git-format-patch[1], linkgit:git-apply[1]" +"Instead of reading a list of objects on stdin, perform the requested batch " +"operation on all objects in the repository and any alternate object stores " +"(not just reachable objects). Requires `--batch` or `--batch-check` be " +"specified. Note that the objects are visited in order sorted by their " +"hashes." msgstr "" -#. type: Title = -#: en/git-fast-export.txt:2 +#. type: Labeled list +#: en/git-cat-file.txt:99 #, no-wrap -msgid "git-fast-export(1)" +msgid "--buffer" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:7 -msgid "git-fast-export - Git data exporter" +#: en/git-cat-file.txt:105 +msgid "" +"Normally batch output is flushed after each object is output, so that a " +"process can interactively read and write from `cat-file`. With this option, " +"the output uses normal stdio buffering; this is much more efficient when " +"invoking `--batch-check` on a large number of objects." +msgstr "" + +#. type: Labeled list +#: en/git-cat-file.txt:106 +#, no-wrap +msgid "--allow-unknown-type" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:13 +#: en/git-cat-file.txt:108 +msgid "Allow -s or -t to query broken/corrupt objects of unknown type." +msgstr "" + +#. type: Labeled list +#: en/git-cat-file.txt:109 #, no-wrap -msgid "'git fast-export [options]' | 'git fast-import'\n" +msgid "--follow-symlinks" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:18 +#: en/git-cat-file.txt:118 msgid "" -"This program dumps the given revisions in a form suitable to be piped into " -"'git fast-import'." +"With --batch or --batch-check, follow symlinks inside the repository when " +"requesting objects with extended SHA-1 expressions of the form " +"tree-ish:path-in-tree. Instead of providing output about the link itself, " +"provide output about the linked-to object. If a symlink points outside the " +"tree-ish (e.g. a link to /foo or a root-level link to ../foo), the portion " +"of the link which is outside the tree will be printed." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:22 +#: en/git-cat-file.txt:122 msgid "" -"You can use it as a human-readable bundle replacement (see " -"linkgit:git-bundle[1]), or as a kind of an interactive 'git filter-branch'." +"This option does not (currently) work correctly when an object in the index " +"is specified (e.g. `:link` instead of `HEAD:link`) rather than one in the " +"tree." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:26 -#, no-wrap -msgid "--progress=<n>" +#. type: Plain text +#: en/git-cat-file.txt:125 +msgid "" +"This option cannot (currently) be used unless `--batch` or `--batch-check` " +"is used." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:29 +#: en/git-cat-file.txt:127 +msgid "For example, consider a git repository containing:" +msgstr "" + +#. type: Plain text +#: en/git-cat-file.txt:134 +#, no-wrap msgid "" -"Insert 'progress' statements every <n> objects, to be shown by 'git " -"fast-import' during import." +"\tf: a file containing \"hello\\n\"\n" +"\tlink: a symlink to f\n" +"\tdir/link: a symlink to ../f\n" +"\tplink: a symlink to ../f\n" +"\talink: a symlink to /etc/passwd\n" msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:30 +#. type: Plain text +#: en/git-cat-file.txt:137 +msgid "For a regular file `f`, `echo HEAD:f | git cat-file --batch` would print" +msgstr "" + +#. type: Plain text +#: en/git-cat-file.txt:140 #, no-wrap -msgid "--signed-tags=(verbatim|warn|warn-strip|strip|abort)" +msgid "\tce013625030ba8dba906f756967f9e9ca394464a blob 6\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:34 +#: en/git-cat-file.txt:145 msgid "" -"Specify how to handle signed tags. Since any transformation after the " -"export can change the tag names (which can also happen when excluding " -"revisions) the signatures will not match." +"And `echo HEAD:link | git cat-file --batch --follow-symlinks` would print " +"the same thing, as would `HEAD:dir/link`, as they both point at `HEAD:f`." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:41 +#: en/git-cat-file.txt:148 msgid "" -"When asking to 'abort' (which is the default), this program will die when " -"encountering a signed tag. With 'strip', the tags will silently be made " -"unsigned, with 'warn-strip' they will be made unsigned but a warning will be " -"displayed, with 'verbatim', they will be silently exported and with 'warn', " -"they will be exported, but you will see a warning." +"Without `--follow-symlinks`, these would print data about the symlink " +"itself. In the case of `HEAD:link`, you would see" msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:42 +#. type: Plain text +#: en/git-cat-file.txt:151 #, no-wrap -msgid "--tag-of-filtered-object=(abort|drop|rewrite)" +msgid "\t4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:46 +#: en/git-cat-file.txt:155 msgid "" -"Specify how to handle tags whose tagged object is filtered out. Since " -"revisions and files to export can be limited by path, tagged objects may be " -"filtered completely." +"Both `plink` and `alink` point outside the tree, so they would respectively " +"print:" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:52 +#: en/git-cat-file.txt:159 +#, no-wrap msgid "" -"When asking to 'abort' (which is the default), this program will die when " -"encountering such a tag. With 'drop' it will omit such tags from the " -"output. With 'rewrite', if the tagged object is a commit, it will rewrite " -"the tag to tag an ancestor commit (via parent rewriting; see " -"linkgit:git-rev-list[1])" +"\tsymlink 4\n" +"\t../f\n" msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:54 +#. type: Plain text +#: en/git-cat-file.txt:162 #, no-wrap -msgid "-C" +msgid "" +"\tsymlink 11\n" +"\t/etc/passwd\n" +msgstr "" + +#. type: Title - +#: en/git-cat-file.txt:166 en/git-check-attr.txt:48 en/git-check-ignore.txt:60 en/git-check-mailmap.txt:32 en/git-cvsimport.txt:188 en/git-fetch.txt:103 en/git-push.txt:306 en/git-show-branch.txt:134 en/git-show-ref.txt:97 en/git-status.txt:113 en/git-update-server-info.txt:32 +#, no-wrap +msgid "OUTPUT" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:58 -msgid "" -"Perform move and/or copy detection, as described in the linkgit:git-diff[1] " -"manual page, and use it to generate rename and copy commands in the output " -"dump." +#: en/git-cat-file.txt:168 +msgid "If `-t` is specified, one of the <type>." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:61 -msgid "" -"Note that earlier versions of this command did not complain and produced " -"incorrect results if you gave these options." +#: en/git-cat-file.txt:170 +msgid "If `-s` is specified, the size of the <object> in bytes." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:62 en/git-fast-import.txt:77 -#, no-wrap -msgid "--export-marks=<file>" +#. type: Plain text +#: en/git-cat-file.txt:172 +msgid "If `-e` is specified, no output." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:73 +#: en/git-cat-file.txt:174 +msgid "If `-p` is specified, the contents of <object> are pretty-printed." +msgstr "" + +#. type: Plain text +#: en/git-cat-file.txt:177 msgid "" -"Dumps the internal marks table to <file> when complete. Marks are written " -"one per line as `:markid SHA-1`. Only marks for revisions are dumped; marks " -"for blobs are ignored. Backends can use this file to validate imports after " -"they have been completed, or to save the marks table across incremental " -"runs. As <file> is only opened and truncated at completion, the same path " -"can also be safely given to --import-marks. The file will not be written if " -"no new object has been marked/exported." +"If <type> is specified, the raw (though uncompressed) contents of the " +"<object> will be returned." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:74 en/git-fast-import.txt:86 +#. type: Title - +#: en/git-cat-file.txt:179 #, no-wrap -msgid "--import-marks=<file>" +msgid "BATCH OUTPUT" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:78 +#: en/git-cat-file.txt:185 msgid "" -"Before processing any input, load the marks specified in <file>. The input " -"file must exist, must be readable, and must use the same format as produced " -"by --export-marks." +"If `--batch` or `--batch-check` is given, `cat-file` will read objects from " +"stdin, one per line, and print information about them. By default, the whole " +"line is considered as an object, as if it were fed to " +"linkgit:git-rev-parse[1]." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:83 +#: en/git-cat-file.txt:190 msgid "" -"Any commits that have already been marked will not be exported again. If " -"the backend uses a similar --import-marks file, this allows for incremental " -"bidirectional exporting of the repository by keeping the marks the same " -"across runs." +"You can specify the information shown for each object by using a custom " +"`<format>`. The `<format>` is copied literally to stdout for each object, " +"with placeholders of the form `%(atom)` expanded, followed by a newline. The " +"available atoms are:" msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:84 +#: en/git-cat-file.txt:191 #, no-wrap -msgid "--fake-missing-tagger" +msgid "`objectname`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:89 -msgid "" -"Some old repositories have tags without a tagger. The fast-import protocol " -"was pretty strict about that, and did not allow that. So fake a tagger to " -"be able to fast-import the output." +#: en/git-cat-file.txt:193 +msgid "The 40-hex object name of the object." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:90 +#: en/git-cat-file.txt:194 #, no-wrap -msgid "--use-done-feature" +msgid "`objecttype`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:93 -msgid "" -"Start the stream with a 'feature done' stanza, and terminate it with a " -"'done' command." +#: en/git-cat-file.txt:196 +msgid "The type of of the object (the same as `cat-file -t` reports)." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:94 +#: en/git-cat-file.txt:197 #, no-wrap -msgid "--no-data" +msgid "`objectsize`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:101 -msgid "" -"Skip output of blob objects and instead refer to blobs via their original " -"SHA-1 hash. This is useful when rewriting the directory structure or " -"history of a repository without touching the contents of individual files. " -"Note that the resulting stream can only be used by a repository which " -"already contains the necessary objects." +#: en/git-cat-file.txt:200 +msgid "The size, in bytes, of the object (the same as `cat-file -s` reports)." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:102 en/git-ls-tree.txt:72 +#: en/git-cat-file.txt:201 #, no-wrap -msgid "--full-tree" +msgid "`objectsize:disk`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:107 +#: en/git-cat-file.txt:204 msgid "" -"This option will cause fast-export to issue a \"deleteall\" directive for " -"each commit followed by a full list of all files in the commit (as opposed " -"to just listing the files which are different from the commit's first " -"parent)." +"The size, in bytes, that the object takes up on disk. See the note about " +"on-disk sizes in the `CAVEATS` section below." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:108 +#: en/git-cat-file.txt:205 #, no-wrap -msgid "--anonymize" +msgid "`deltabase`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:112 +#: en/git-cat-file.txt:209 msgid "" -"Anonymize the contents of the repository while still retaining the shape of " -"the history and stored tree. See the section on `ANONYMIZING` below." +"If the object is stored as a delta on-disk, this expands to the 40-hex sha1 " +"of the delta base object. Otherwise, expands to the null sha1 (40 " +"zeroes). See `CAVEATS` below." msgstr "" #. type: Labeled list -#: en/git-fast-export.txt:113 +#: en/git-cat-file.txt:210 #, no-wrap -msgid "--refspec" +msgid "`rest`" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:116 +#: en/git-cat-file.txt:216 msgid "" -"Apply the specified refspec to each ref exported. Multiple of them can be " -"specified." +"If this atom is used in the output string, input lines are split at the " +"first whitespace boundary. All characters before that whitespace are " +"considered to be the object name; characters after that first run of " +"whitespace (i.e., the \"rest\" of the line) are output in place of the " +"`%(rest)` atom." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:123 -#, no-wrap +#: en/git-cat-file.txt:219 msgid "" -"[<git-rev-list-args>...]::\n" -"\tA list of arguments, acceptable to 'git rev-parse' and\n" -"\t'git rev-list', that specifies the specific objects and references\n" -"\tto export. For example, `master~10..master` causes the\n" -"\tcurrent master reference to be exported along with all objects\n" -"\tadded since its 10th ancestor commit.\n" +"If no format is specified, the default format is `%(objectname) " +"%(objecttype) %(objectsize)`." +msgstr "" + +#. type: Plain text +#: en/git-cat-file.txt:223 +msgid "" +"If `--batch` is specified, the object information is followed by the object " +"contents (consisting of `%(objectsize)` bytes), followed by a newline." +msgstr "" + +#. type: Plain text +#: en/git-cat-file.txt:225 +msgid "For example, `--batch` without a custom format would produce:" msgstr "" #. type: delimited block - -#: en/git-fast-export.txt:129 +#: en/git-cat-file.txt:229 #, no-wrap -msgid "$ git fast-export --all | (cd /empty/repository && git fast-import)\n" +msgid "" +"<sha1> SP <type> SP <size> LF\n" +"<contents> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:134 -msgid "" -"This will export the whole repository and import it into the existing empty " -"repository. Except for reencoding commits that are not in UTF-8, it would " -"be a one-to-one mirror." +#: en/git-cat-file.txt:232 +msgid "Whereas `--batch-check='%(objectname) %(objecttype)'` would produce:" msgstr "" #. type: delimited block - -#: en/git-fast-export.txt:139 +#: en/git-cat-file.txt:235 #, no-wrap -msgid "" -"$ git fast-export master~5..master |\n" -"\tsed \"s|refs/heads/master|refs/heads/other|\" |\n" -"\tgit fast-import\n" +msgid "<sha1> SP <type> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:143 +#: en/git-cat-file.txt:239 msgid "" -"This makes a new branch called 'other' from 'master~5..master' (i.e. if " -"'master' has linear history, it will take the last 5 commits)." +"If a name is specified on stdin that cannot be resolved to an object in the " +"repository, then `cat-file` will ignore any custom format and print:" +msgstr "" + +#. type: delimited block - +#: en/git-cat-file.txt:242 en/git-cat-file.txt:262 +#, no-wrap +msgid "<object> SP missing LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:147 +#: en/git-cat-file.txt:247 msgid "" -"Note that this assumes that none of the blobs and commit messages referenced " -"by that revision range contains the string 'refs/heads/master'." +"If --follow-symlinks is used, and a symlink in the repository points outside " +"the repository, then `cat-file` will ignore any custom format and print:" msgstr "" -#. type: Title - -#: en/git-fast-export.txt:150 +#. type: delimited block - +#: en/git-cat-file.txt:251 #, no-wrap -msgid "ANONYMIZING" +msgid "" +"symlink SP <size> LF\n" +"<symlink> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:158 +#: en/git-cat-file.txt:256 msgid "" -"If the `--anonymize` option is given, git will attempt to remove all " -"identifying information from the repository while still retaining enough of " -"the original tree and history patterns to reproduce some bugs. The goal is " -"that a git bug which is found on a private repository will persist in the " -"anonymized repository, and the latter can be shared with git developers to " -"help solve the bug." +"The symlink will either be absolute (beginning with a /), or relative to the " +"tree root. For instance, if dir/link points to ../../foo, then <symlink> " +"will be ../foo. <size> is the size of the symlink in bytes." msgstr "" #. type: Plain text -#: en/git-fast-export.txt:170 +#: en/git-cat-file.txt:259 msgid "" -"With this option, git will replace all refnames, paths, blob contents, " -"commit and tag messages, names, and email addresses in the output with " -"anonymized data. Two instances of the same string will be replaced " -"equivalently (e.g., two commits with the same author will have the same " -"anonymized author in the output, but bear no resemblance to the original " -"author string). The relationship between commits, branches, and tags is " -"retained, as well as the commit timestamps (but the commit messages and " -"refnames bear no resemblance to the originals). The relative makeup of the " -"tree is retained (e.g., if you have a root tree with 10 files and 3 trees, " -"so will the output), but their names and the contents of the files will be " -"replaced." +"If --follow-symlinks is used, the following error messages will be " +"displayed:" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:173 -msgid "" -"If you think you have found a git bug, you can start by exporting an " -"anonymized stream of the whole repository:" +#: en/git-cat-file.txt:264 +msgid "is printed when the initial symlink requested does not exist." msgstr "" #. type: delimited block - -#: en/git-fast-export.txt:176 +#: en/git-cat-file.txt:268 #, no-wrap -msgid "$ git fast-export --anonymize --all >anon-stream\n" +msgid "" +"dangling SP <size> LF\n" +"<object> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:181 +#: en/git-cat-file.txt:271 msgid "" -"Then confirm that the bug persists in a repository created from that stream " -"(many bugs will not, as they really do depend on the exact repository " -"contents):" +"is printed when the initial symlink exists, but something that it " +"(transitive-of) points to does not." msgstr "" #. type: delimited block - -#: en/git-fast-export.txt:187 +#: en/git-cat-file.txt:275 #, no-wrap msgid "" -"$ git init anon-repo\n" -"$ cd anon-repo\n" -"$ git fast-import <../anon-stream\n" -"$ ... test your bug ...\n" +"loop SP <size> LF\n" +"<object> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:194 +#: en/git-cat-file.txt:278 msgid "" -"If the anonymized repository shows the bug, it may be worth sharing " -"`anon-stream` along with a regular bug report. Note that the anonymized " -"stream compresses very well, so gzipping it is encouraged. If you want to " -"examine the stream to see that it does not contain any private data, you can " -"peruse it directly before sending. You may also want to try:" +"is printed for symlink loops (or any symlinks that require more than 40 link " +"resolutions to resolve)." msgstr "" #. type: delimited block - -#: en/git-fast-export.txt:197 +#: en/git-cat-file.txt:282 #, no-wrap -msgid "$ perl -pe 's/\\d+/X/g' <anon-stream | sort -u | less\n" +msgid "" +"notdir SP <size> LF\n" +"<object> LF\n" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:203 +#: en/git-cat-file.txt:285 msgid "" -"which shows all of the unique lines (with numbers converted to \"X\", to " -"collapse \"User 0\", \"User 1\", etc into \"User X\"). This produces a much " -"smaller output, and it is usually easy to quickly confirm that there is no " -"private data in the stream." +"is printed when, during symlink resolution, a file is used as a directory " +"name." msgstr "" #. type: Title - -#: en/git-fast-export.txt:206 +#: en/git-cat-file.txt:287 en/git-svn.txt:960 #, no-wrap -msgid "Limitations" +msgid "CAVEATS" msgstr "" #. type: Plain text -#: en/git-fast-export.txt:211 +#: en/git-cat-file.txt:295 msgid "" -"Since 'git fast-import' cannot tag trees, you will not be able to export the " -"linux.git repository completely, as it contains a tag referencing a tree " -"instead of a commit." +"Note that the sizes of objects on disk are reported accurately, but care " +"should be taken in drawing conclusions about which refs or objects are " +"responsible for disk usage. The size of a packed non-delta object may be " +"much larger than the size of objects which delta against it, but the choice " +"of which object is the base and which is the delta is arbitrary and is " +"subject to change during a repack." msgstr "" -#. type: Labeled list -#: en/git-fast-export.txt:215 en/cmds-ancillarymanipulators.txt:7 -#, no-wrap -msgid "linkgit:git-fast-import[1]" +#. type: Plain text +#: en/git-cat-file.txt:299 +msgid "" +"Note also that multiple copies of an object may be present in the object " +"database; in this case, it is undefined which copy's size or delta base will " +"be reported." msgstr "" #. type: Title = -#: en/git-fast-import.txt:2 +#: en/git-check-attr.txt:2 #, no-wrap -msgid "git-fast-import(1)" +msgid "git-check-attr(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:7 -msgid "git-fast-import - Backend for fast Git data importers" +#: en/git-check-attr.txt:7 +msgid "git-check-attr - Display gitattributes information" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:13 +#: en/git-check-attr.txt:14 #, no-wrap -msgid "frontend | 'git fast-import' [options]\n" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:20 msgid "" -"This program is usually not what the end user wants to run directly. Most " -"end users want to use one of the existing frontend programs, which parses a " -"specific type of foreign source and feeds the contents stored there to 'git " -"fast-import'." +"'git check-attr' [-a | --all | attr...] [--] pathname...\n" +"'git check-attr' --stdin [-z] [-a | --all | attr...]\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:26 +#: en/git-check-attr.txt:19 msgid "" -"fast-import reads a mixed command/data stream from standard input and writes " -"one or more packfiles directly into the current repository. When EOF is " -"received on standard input, fast import writes out updated branch and tag " -"refs, fully updating the current repository with the newly imported data." +"For every pathname, this command will list if each attribute is " +"'unspecified', 'set', or 'unset' as a gitattribute on that pathname." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:32 -msgid "" -"The fast-import backend itself can import into an empty repository (one that " -"has already been initialized by 'git init') or incrementally update an " -"existing populated repository. Whether or not incremental imports are " -"supported from a particular foreign source depends on the frontend program " -"in use." +#. type: Labeled list +#: en/git-check-attr.txt:22 +#, no-wrap +msgid "-a, --all" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:41 +#: en/git-check-attr.txt:26 msgid "" -"Force updating modified existing branches, even if doing so would cause " -"commits to be lost (as the new commit does not contain the old commit)." +"List all attributes that are associated with the specified paths. If this " +"option is used, then 'unspecified' attributes will not be included in the " +"output." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:46 -msgid "" -"Disable all non-fatal output, making fast-import silent when it is " -"successful. This option disables the output shown by --stats." +#: en/git-check-attr.txt:29 +msgid "Consider `.gitattributes` in the index only, ignoring the working tree." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:47 +#: en/git-check-attr.txt:30 en/git-check-ignore.txt:37 en/git-check-mailmap.txt:26 en/git-checkout-index.txt:62 en/git-diff-tree.txt:49 en/git-fetch-pack.txt:38 en/git-hash-object.txt:34 en/git-http-fetch.txt:40 en/git-index-pack.txt:38 en/git-name-rev.txt:45 en/git-notes.txt:173 en/git-send-pack.txt:41 en/git-svn.txt:564 en/git-update-index.txt:140 en/rev-list-options.txt:194 #, no-wrap -msgid "--stats" +msgid "--stdin" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:52 +#: en/git-check-attr.txt:33 en/git-check-ignore.txt:40 msgid "" -"Display some basic statistics about the objects fast-import has created, the " -"packfiles they were stored into, and the memory used by fast-import during " -"this run. Showing this output is currently the default, but can be disabled " -"with --quiet." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:54 -#, no-wrap -msgid "Options for Frontends" -msgstr "" - -#. type: Labeled list -#: en/git-fast-import.txt:56 -#, no-wrap -msgid "--cat-blob-fd=<fd>" +"Read pathnames from the standard input, one per line, instead of from the " +"command-line." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:61 +#: en/git-check-attr.txt:38 msgid "" -"Write responses to `get-mark`, `cat-blob`, and `ls` queries to the file " -"descriptor <fd> instead of `stdout`. Allows `progress` output intended for " -"the end-user to be separated from other output." -msgstr "" - -#. type: Labeled list -#: en/git-fast-import.txt:62 -#, no-wrap -msgid "--date-format=<fmt>" +"The output format is modified to be machine-parseable. If `--stdin` is also " +"given, input paths are separated with a NUL character instead of a linefeed " +"character." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:67 +#: en/git-check-attr.txt:42 msgid "" -"Specify the type of dates the frontend will supply to fast-import within " -"`author`, `committer` and `tagger` commands. See ``Date Formats'' below for " -"details about which formats are supported, and their syntax." -msgstr "" - -#. type: Labeled list -#: en/git-fast-import.txt:68 -#, no-wrap -msgid "--done" +"Interpret all preceding arguments as attributes and all following arguments " +"as path names." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:73 +#: en/git-check-attr.txt:46 msgid "" -"Terminate with error if there is no `done` command at the end of the " -"stream. This option might be useful for detecting errors that cause the " -"frontend to terminate before it has started to write a stream." +"If none of `--stdin`, `--all`, or `--` is used, the first argument will be " +"treated as an attribute and the rest of the arguments as pathnames." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:75 -#, no-wrap -msgid "Locations of Marks Files" +#. type: Plain text +#: en/git-check-attr.txt:52 +msgid "The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:85 +#: en/git-check-attr.txt:55 msgid "" -"Dumps the internal marks table to <file> when complete. Marks are written " -"one per line as `:markid SHA-1`. Frontends can use this file to validate " -"imports after they have been completed, or to save the marks table across " -"incremental runs. As <file> is only opened and truncated at checkpoint (or " -"completion) the same path can also be safely given to --import-marks." +"unless `-z` is in effect, in which case NUL is used as delimiter: <path> NUL " +"<attribute> NUL <info> NUL" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:93 +#: en/git-check-attr.txt:59 msgid "" -"Before processing any input, load the marks specified in <file>. The input " -"file must exist, must be readable, and must use the same format as produced " -"by --export-marks. Multiple options may be supplied to import more than one " -"set of marks. If a mark is defined to different values, the last file wins." +"<path> is the path of a file being queried, <attribute> is an attribute " +"being queried and <info> can be either:" msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:94 +#: en/git-check-attr.txt:60 #, no-wrap -msgid "--import-marks-if-exists=<file>" +msgid "'unspecified'" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:97 -msgid "" -"Like --import-marks but instead of erroring out, silently skips the file if " -"it does not exist." +#: en/git-check-attr.txt:61 +msgid "when the attribute is not defined for the path." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:98 +#: en/git-check-attr.txt:61 #, no-wrap -msgid "--[no-]relative-marks" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:105 -msgid "" -"After specifying --relative-marks the paths specified with --import-marks= " -"and --export-marks= are relative to an internal directory in the current " -"repository. In git-fast-import this means that the paths are relative to " -"the .git/info/fast-import directory. However, other importers may use a " -"different location." +msgid "'unset'" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:108 -msgid "" -"Relative and non-relative marks may be combined by interweaving " -"--(no-)-relative-marks with the --(import|export)-marks= options." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:110 -#, no-wrap -msgid "Performance and Compression Tuning" +#: en/git-check-attr.txt:62 +msgid "when the attribute is defined as false." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:112 +#: en/git-check-attr.txt:62 #, no-wrap -msgid "--active-branches=<n>" +msgid "'set'" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:115 -msgid "" -"Maximum number of branches to maintain active at once. See ``Memory " -"Utilization'' below for details. Default is 5." +#: en/git-check-attr.txt:63 +msgid "when the attribute is defined as true." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:116 +#: en/git-check-attr.txt:63 #, no-wrap -msgid "--big-file-threshold=<n>" +msgid "<value>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:121 -msgid "" -"Maximum size of a blob that fast-import will attempt to create a delta for, " -"expressed in bytes. The default is 512m (512 MiB). Some importers may wish " -"to lower this on systems with constrained memory." +#: en/git-check-attr.txt:64 +msgid "when a value has been assigned to the attribute." msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:122 en/git-fetch-pack.txt:85 en/git-pack-objects.txt:87 en/git-repack.txt:85 -#, no-wrap -msgid "--depth=<n>" +#. type: Plain text +#: en/git-check-attr.txt:69 en/git-check-ignore.txt:99 +msgid "" +"Buffering happens as documented under the `GIT_FLUSH` option in " +"linkgit:git[1]. The caller is responsible for avoiding deadlocks caused by " +"overfilling an input buffer or reading from an empty output buffer." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:125 -msgid "Maximum delta depth, for blob and tree deltification. Default is 10." +#: en/git-check-attr.txt:74 +msgid "In the examples, the following '.gitattributes' file is used:" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:126 +#. type: delimited block - +#: en/git-check-attr.txt:78 #, no-wrap -msgid "--export-pack-edges=<file>" +msgid "" +"*.java diff=java -crlf myAttr\n" +"NoMyAttr.java !myAttr\n" +"README caveat=unspecified\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:134 -msgid "" -"After creating a packfile, print a line of data to <file> listing the " -"filename of the packfile and the last commit on each branch that was written " -"to that packfile. This information may be useful after importing projects " -"whose total object set exceeds the 4 GiB packfile limit, as these commits " -"can be used as edge points during calls to 'git pack-objects'." +#: en/git-check-attr.txt:81 +msgid "Listing a single attribute:" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:135 en/git-pack-objects.txt:110 en/git-repack.txt:108 +#. type: delimited block - +#: en/git-check-attr.txt:84 #, no-wrap -msgid "--max-pack-size=<n>" +msgid "" +"$ git check-attr diff org/example/MyClass.java\n" +"org/example/MyClass.java: diff: java\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:138 -msgid "Maximum size of each output packfile. The default is unlimited." +#: en/git-check-attr.txt:87 +msgid "Listing multiple attributes for a file:" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:139 en/config.txt:1285 +#. type: delimited block - +#: en/git-check-attr.txt:92 #, no-wrap -msgid "fastimport.unpackLimit" +msgid "" +"$ git check-attr crlf diff myAttr -- org/example/MyClass.java\n" +"org/example/MyClass.java: crlf: unset\n" +"org/example/MyClass.java: diff: java\n" +"org/example/MyClass.java: myAttr: set\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:141 -msgid "See linkgit:git-config[1]" +#: en/git-check-attr.txt:95 +msgid "Listing all attributes for a file:" msgstr "" -#. type: Title - -#: en/git-fast-import.txt:143 +#. type: delimited block - +#: en/git-check-attr.txt:99 #, no-wrap -msgid "Performance" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:150 msgid "" -"The design of fast-import allows it to import large projects in a minimum " -"amount of memory usage and processing time. Assuming the frontend is able " -"to keep up with fast-import and feed it a constant stream of data, import " -"times for projects holding 10+ years of history and containing 100,000+ " -"individual commits are generally completed in just 1-2 hours on quite modest " -"(~$2,000 USD) hardware." +"$ git check-attr --all -- org/example/MyClass.java\n" +"org/example/MyClass.java: diff: java\n" +"org/example/MyClass.java: myAttr: set\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:156 -msgid "" -"Most bottlenecks appear to be in foreign source data access (the source just " -"cannot extract revisions fast enough) or disk IO (fast-import writes as fast " -"as the disk will take the data). Imports will run faster if the source data " -"is stored on a different drive than the destination Git repository (due to " -"less IO contention)." +#: en/git-check-attr.txt:102 +msgid "Listing an attribute for multiple files:" msgstr "" -#. type: Title - -#: en/git-fast-import.txt:159 +#. type: delimited block - +#: en/git-check-attr.txt:106 #, no-wrap -msgid "Development Cost" +msgid "" +"$ git check-attr myAttr -- org/example/MyClass.java " +"org/example/NoMyAttr.java\n" +"org/example/MyClass.java: myAttr: set\n" +"org/example/NoMyAttr.java: myAttr: unspecified\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:166 -msgid "" -"A typical frontend for fast-import tends to weigh in at approximately 200 " -"lines of Perl/Python/Ruby code. Most developers have been able to create " -"working importers in just a couple of hours, even though it is their first " -"exposure to fast-import, and sometimes even to Git. This is an ideal " -"situation, given that most conversion tools are throw-away (use once, and " -"never look back)." +#: en/git-check-attr.txt:109 +msgid "Not all values are equally unambiguous:" msgstr "" -#. type: Title - -#: en/git-fast-import.txt:169 +#. type: delimited block - +#: en/git-check-attr.txt:112 #, no-wrap -msgid "Parallel Operation" +msgid "" +"$ git check-attr caveat README\n" +"README: caveat: unspecified\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:174 -msgid "" -"Like 'git push' or 'git fetch', imports handled by fast-import are safe to " -"run alongside parallel `git repack -a -d` or `git gc` invocations, or any " -"other Git operation (including 'git prune', as loose objects are never used " -"by fast-import)." +#: en/git-check-attr.txt:117 +msgid "linkgit:gitattributes[5]." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:183 -msgid "" -"fast-import does not lock the branch or tag refs it is actively importing. " -"After the import, during its ref update phase, fast-import tests each " -"existing branch ref to verify the update will be a fast-forward update (the " -"commit stored in the ref is contained in the new history of the commit to be " -"written). If the update is not a fast-forward update, fast-import will skip " -"updating that ref and instead prints a warning message. fast-import will " -"always attempt to update all branch refs, and does not stop on the first " -"failure." +#. type: Title = +#: en/git-check-ignore.txt:2 +#, no-wrap +msgid "git-check-ignore(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:187 -msgid "" -"Branch updates can be forced with --force, but it's recommended that this " -"only be used on an otherwise quiet repository. Using --force is not " -"necessary for an initial import into an empty repository." +#: en/git-check-ignore.txt:7 +msgid "git-check-ignore - Debug gitignore / exclude files" msgstr "" -#. type: Title - -#: en/git-fast-import.txt:190 +#. type: Plain text +#: en/git-check-ignore.txt:14 #, no-wrap -msgid "Technical Discussion" +msgid "" +"'git check-ignore' [options] pathname...\n" +"'git check-ignore' [options] --stdin\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:197 +#: en/git-check-ignore.txt:22 msgid "" -"fast-import tracks a set of branches in memory. Any branch can be created " -"or modified at any point during the import process by sending a `commit` " -"command on the input stream. This design allows a frontend program to " -"process an unlimited number of branches simultaneously, generating commits " -"in the order they are available from the source data. It also simplifies " -"the frontend programs considerably." +"For each pathname given via the command-line or from a file via `--stdin`, " +"check whether the file is excluded by .gitignore (or other input files to " +"the exclude mechanism) and output the path if it is excluded." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:206 +#: en/git-check-ignore.txt:25 msgid "" -"fast-import does not use or alter the current working directory, or any file " -"within it. (It does however update the current Git repository, as " -"referenced by `GIT_DIR`.) Therefore an import frontend may use the working " -"directory for its own purposes, such as extracting file revisions from the " -"foreign source. This ignorance of the working directory also allows " -"fast-import to run very quickly, as it does not need to perform any costly " -"file update operations when switching between branches." +"By default, tracked files are not shown at all since they are not subject to " +"exclude rules; but see `--no-index'." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:208 en/git-rev-parse.txt:309 +#. type: Labeled list +#: en/git-check-ignore.txt:28 #, no-wrap -msgid "Input Format" +msgid "-q, --quiet" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:214 +#: en/git-check-ignore.txt:31 msgid "" -"With the exception of raw file data (which Git does not interpret) the " -"fast-import input format is text (ASCII) based. This text based format " -"simplifies development and debugging of frontend programs, especially when a " -"higher level language such as Perl, Python or Ruby is being used." +"Don't output anything, just set exit status. This is only valid with a " +"single pathname." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:222 -msgid "" -"fast-import is very strict about its input. Where we say SP below we mean " -"*exactly* one space. Likewise LF means one (and only one) linefeed and HT " -"one (and only one) horizontal tab. Supplying additional whitespace " -"characters will cause unexpected results, such as branch names or file names " -"with leading or trailing spaces in their name, or early termination of " -"fast-import when it encounters unexpected input." +#. type: Labeled list +#: en/git-check-ignore.txt:32 +#, no-wrap +msgid "-v, --verbose" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:224 -#, no-wrap -msgid "Stream Comments" +#. type: Plain text +#: en/git-check-ignore.txt:36 +msgid "" +"Also output details about the matching pattern (if any) for each given " +"pathname. For precedence rules within and between exclude sources, see " +"linkgit:gitignore[5]." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:231 +#: en/git-check-ignore.txt:45 msgid "" -"To aid in debugging frontends fast-import ignores any line that begins with " -"`#` (ASCII pound/hash) up to and including the line ending `LF`. A comment " -"line may contain any sequence of bytes that does not contain an LF and " -"therefore may be used to include any detailed debugging information that " -"might be specific to the frontend and useful when inspecting a fast-import " -"data stream." +"The output format is modified to be machine-parseable (see below). If " +"`--stdin` is also given, input paths are separated with a NUL character " +"instead of a linefeed character." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:233 +#. type: Labeled list +#: en/git-check-ignore.txt:46 #, no-wrap -msgid "Date Formats" +msgid "-n, --non-matching" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:237 +#: en/git-check-ignore.txt:51 msgid "" -"The following date formats are supported. A frontend should select the " -"format it will use for this import by passing the format name in the " -"--date-format=<fmt> command-line option." +"Show given paths which don't match any pattern.\t This only makes sense when " +"`--verbose` is enabled, otherwise it would not be possible to distinguish " +"between paths which match a pattern and those which don't." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:238 +#: en/git-check-ignore.txt:52 en/git-grep.txt:76 #, no-wrap -msgid "`raw`" +msgid "--no-index" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:242 +#: en/git-check-ignore.txt:58 msgid "" -"This is the Git native format and is `<time> SP <offutc>`. It is also " -"fast-import's default format, if --date-format was not specified." +"Don't look in the index when undertaking the checks. This can be used to " +"debug why a path became tracked by e.g. `git add .` and was not ignored by " +"the rules as expected by the user or when developing patterns including " +"negation to match a path previously added with `git add -f`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:246 +#: en/git-check-ignore.txt:66 msgid "" -"The time of the event is specified by `<time>` as the number of seconds " -"since the UNIX epoch (midnight, Jan 1, 1970, UTC) and is written as an ASCII " -"decimal integer." +"By default, any of the given pathnames which match an ignore pattern will be " +"output, one per line. If no pattern matches a given path, nothing will be " +"output for that path; this means that path will not be ignored." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:252 -msgid "" -"The local offset is specified by `<offutc>` as a positive or negative offset " -"from UTC. For example EST (which is 5 hours behind UTC) would be expressed " -"in `<tz>` by ``-0500'' while UTC is ``+0000''. The local offset does not " -"affect `<time>`; it is used only as an advisement to help formatting " -"routines display the timestamp." +#: en/git-check-ignore.txt:68 +msgid "If `--verbose` is specified, the output is a series of lines of the form:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:258 -msgid "" -"If the local offset is not available in the source material, use ``+0000'', " -"or the most common local offset. For example many organizations have a CVS " -"repository which has only ever been accessed by users who are located in the " -"same location and time zone. In this case a reasonable offset from UTC " -"could be assumed." +#: en/git-check-ignore.txt:70 +msgid "<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:261 +#: en/git-check-ignore.txt:78 msgid "" -"Unlike the `rfc2822` format, this format is very strict. Any variation in " -"formatting will cause fast-import to reject the value." -msgstr "" - -#. type: Labeled list -#: en/git-fast-import.txt:262 -#, no-wrap -msgid "`rfc2822`" +"<pathname> is the path of a file being queried, <pattern> is the matching " +"pattern, <source> is the pattern's source file, and <linenum> is the line " +"number of the pattern within that source. If the pattern contained a `!` " +"prefix or `/` suffix, it will be preserved in the output. <source> will be " +"an absolute path when referring to the file configured by " +"`core.excludesFile`, or relative to the repository root when referring to " +"`.git/info/exclude` or a per-directory exclude file." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:264 -msgid "This is the standard email format as described by RFC 2822." +#: en/git-check-ignore.txt:82 +msgid "" +"If `-z` is specified, the pathnames in the output are delimited by the null " +"character; if `--verbose` is also specified then null characters are also " +"used instead of colons and hard tabs:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:269 -msgid "" -"An example value is ``Tue Feb 6 11:22:18 2007 -0500''. The Git parser is " -"accurate, but a little on the lenient side. It is the same parser used by " -"'git am' when applying patches received from email." +#: en/git-check-ignore.txt:84 +msgid "<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:275 +#: en/git-check-ignore.txt:94 msgid "" -"Some malformed strings may be accepted as valid dates. In some of these " -"cases Git will still be able to obtain the correct date from the malformed " -"string. There are also some types of malformed strings which Git will parse " -"wrong, and yet consider valid. Seriously malformed strings will be " -"rejected." +"If `-n` or `--non-matching` are specified, non-matching pathnames will also " +"be output, in which case all fields in each output record except for " +"<pathname> will be empty. This can be useful when running " +"non-interactively, so that files can be incrementally streamed to STDIN of a " +"long-running check-ignore process, and for each of these files, STDOUT will " +"indicate whether that file matched a pattern or not. (Without this option, " +"it would be impossible to tell whether the absence of output for a given " +"file meant that it didn't match any pattern, or that the output hadn't been " +"generated yet.)" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:280 -msgid "" -"Unlike the `raw` format above, the time zone/UTC offset information " -"contained in an RFC 2822 date string is used to adjust the date value to UTC " -"prior to storage. Therefore it is important that this information be as " -"accurate as possible." +#. type: Title - +#: en/git-check-ignore.txt:101 +#, no-wrap +msgid "EXIT STATUS" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:285 -msgid "" -"If the source material uses RFC 2822 style dates, the frontend should let " -"fast-import handle the parsing and conversion (rather than attempting to do " -"it itself) as the Git parser has been well tested in the wild." +#. type: Labeled list +#: en/git-check-ignore.txt:103 +#, no-wrap +msgid "0" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:290 -msgid "" -"Frontends should prefer the `raw` format if the source material already uses " -"UNIX-epoch format, can be coaxed to give dates in that format, or its format " -"is easily convertible to it, as there is no ambiguity in parsing." +#: en/git-check-ignore.txt:105 +msgid "One or more of the provided paths is ignored." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:291 +#: en/git-check-ignore.txt:106 #, no-wrap -msgid "`now`" +msgid "1" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:294 -msgid "" -"Always use the current time and time zone. The literal `now` must always be " -"supplied for `<when>`." +#: en/git-check-ignore.txt:108 +msgid "None of the provided paths are ignored." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:299 -msgid "" -"This is a toy format. The current time and time zone of this system is " -"always copied into the identity string at the time it is being created by " -"fast-import. There is no way to specify a different time or time zone." +#. type: Labeled list +#: en/git-check-ignore.txt:109 +#, no-wrap +msgid "128" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:304 -msgid "" -"This particular format is supplied as it's short to implement and may be " -"useful to a process that wants to create a new commit right now, without " -"needing to use a working directory or 'git update-index'." +#: en/git-check-ignore.txt:111 +msgid "A fatal error was encountered." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:311 -msgid "" -"If separate `author` and `committer` commands are used in a `commit` the " -"timestamps may not match, as the system clock will be polled twice (once for " -"each command). The only way to ensure that both author and committer " -"identity information has the same timestamp is to omit `author` (thus " -"copying from `committer`) or to use a date format other than `now`." +#: en/git-check-ignore.txt:117 +msgid "linkgit:gitignore[5] linkgit:git-config[1] linkgit:git-ls-files[1]" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:313 +#. type: Title = +#: en/git-check-mailmap.txt:2 #, no-wrap -msgid "Commands" +msgid "git-check-mailmap(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:317 -msgid "" -"fast-import accepts several commands to update the current repository and " -"control the current import process. More detailed discussion (with " -"examples) of each command follows later." +#: en/git-check-mailmap.txt:7 +msgid "git-check-mailmap - Show canonical names and email addresses of contacts" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:318 en/git-fast-import.txt:380 +#. type: Plain text +#: en/git-check-mailmap.txt:13 #, no-wrap -msgid "`commit`" +msgid "'git check-mailmap' [options] <contact>...\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:322 +#: en/git-check-mailmap.txt:22 msgid "" -"Creates a new branch or updates an existing branch by creating a new commit " -"and updating the branch to point at the newly created commit." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:323 en/git-fast-import.txt:744 -#, no-wrap -msgid "`tag`" +"For each ``Name $$<user@host>$$'' or ``$$<user@host>$$'' from the " +"command-line or standard input (when using `--stdin`), look up the person's " +"canonical name and email address (see \"Mapping Authors\" below). If found, " +"print them; otherwise print the input as-is." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:328 +#: en/git-check-mailmap.txt:29 msgid "" -"Creates an annotated tag object from an existing commit or branch. " -"Lightweight tags are not supported by this command, as they are not " -"recommended for recording meaningful points in time." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:329 en/git-fast-import.txt:787 -#, no-wrap -msgid "`reset`" +"Read contacts, one per line, from the standard input after exhausting " +"contacts provided on the command-line." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:333 +#: en/git-check-mailmap.txt:37 msgid "" -"Reset an existing branch (or a new branch) to a specific revision. This " -"command must be used to change a branch to a specific revision without " -"making a commit on it." +"For each contact, a single line is output, terminated by a newline. If the " +"name is provided or known to the 'mailmap', ``Name $$<user@host>$$'' is " +"printed; otherwise only ``$$<user@host>$$'' is printed." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:334 en/git-fast-import.txt:816 +#. type: Title = +#: en/git-checkout-index.txt:2 #, no-wrap -msgid "`blob`" +msgid "git-checkout-index(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:338 -msgid "" -"Convert raw file data into a blob, for future use in a `commit` command. " -"This command is optional and is not needed to perform an import." +#: en/git-checkout-index.txt:7 +msgid "git-checkout-index - Copy files from the index to the working tree" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:339 en/git-fast-import.txt:888 +#. type: Plain text +#: en/git-checkout-index.txt:17 #, no-wrap -msgid "`checkpoint`" +msgid "" +"'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]\n" +"\t\t [--stage=<number>|all]\n" +"\t\t [--temp]\n" +"\t\t [-z] [--stdin]\n" +"\t\t [--] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:344 +#: en/git-checkout-index.txt:22 msgid "" -"Forces fast-import to close the current packfile, generate its unique SHA-1 " -"checksum and index, and start a new packfile. This command is optional and " -"is not needed to perform an import." +"Will copy all files listed from the index to the working directory (not " +"overwriting existing files)." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:345 en/git-fast-import.txt:916 -#, no-wrap -msgid "`progress`" +#. type: Plain text +#: en/git-checkout-index.txt:29 +msgid "update stat information for the checked out entries in the index file." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:349 -msgid "" -"Causes fast-import to echo the entire line to its own standard output. This " -"command is optional and is not needed to perform an import." +#: en/git-checkout-index.txt:33 +msgid "be quiet if files exist or are not in the index" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:350 en/git-fast-import.txt:1126 -#, no-wrap -msgid "`done`" +#. type: Plain text +#: en/git-checkout-index.txt:37 +msgid "forces overwrite of existing files" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:354 +#: en/git-checkout-index.txt:42 msgid "" -"Marks the end of the stream. This command is optional unless the `done` " -"feature was requested using the `--done` command-line option or `feature " -"done` command." +"checks out all files in the index. Cannot be used together with explicit " +"filenames." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:355 en/git-fast-import.txt:941 +#. type: Labeled list +#: en/git-checkout-index.txt:44 #, no-wrap -msgid "`get-mark`" +msgid "--no-create" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:359 -msgid "" -"Causes fast-import to print the SHA-1 corresponding to a mark to the file " -"descriptor set with `--cat-blob-fd`, or `stdout` if unspecified." +#: en/git-checkout-index.txt:47 +msgid "Don't checkout new files, only refresh files already checked out." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:360 en/git-fast-import.txt:960 +#. type: Labeled list +#: en/git-checkout-index.txt:48 #, no-wrap -msgid "`cat-blob`" +msgid "--prefix=<string>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:364 +#: en/git-checkout-index.txt:51 msgid "" -"Causes fast-import to print a blob in 'cat-file --batch' format to the file " -"descriptor set with `--cat-blob-fd` or `stdout` if unspecified." +"When creating files, prepend <string> (usually a directory including a " +"trailing /)" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:365 en/git-fast-import.txt:990 +#. type: Labeled list +#: en/git-checkout-index.txt:52 #, no-wrap -msgid "`ls`" +msgid "--stage=<number>|all" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:369 +#: en/git-checkout-index.txt:56 msgid "" -"Causes fast-import to print a line describing a directory entry in 'ls-tree' " -"format to the file descriptor set with `--cat-blob-fd` or `stdout` if " -"unspecified." +"Instead of checking out unmerged entries, copy out the files from named " +"stage. <number> must be between 1 and 3. Note: --stage=all automatically " +"implies --temp." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:370 en/git-fast-import.txt:1043 +#. type: Labeled list +#: en/git-checkout-index.txt:57 #, no-wrap -msgid "`feature`" +msgid "--temp" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:373 +#: en/git-checkout-index.txt:61 msgid "" -"Enable the specified feature. This requires that fast-import supports the " -"specified feature, and aborts if it does not." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:374 en/git-fast-import.txt:1098 -#, no-wrap -msgid "`option`" +"Instead of copying the files to the working directory write the content to " +"temporary files. The temporary name associations will be written to stdout." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:378 +#: en/git-checkout-index.txt:66 en/git-update-index.txt:144 msgid "" -"Specify any of the options listed under OPTIONS that do not change stream " -"semantic to suit the frontend's needs. This command is optional and is not " -"needed to perform an import." +"Instead of taking list of paths from the command line, read list of paths " +"from the standard input. Paths are separated by LF (i.e. one path per line) " +"by default." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:383 +#: en/git-checkout-index.txt:70 msgid "" -"Create or update a branch with a new commit, recording one logical change to " -"the project." +"Only meaningful with `--stdin`; paths are separated with NUL character " +"instead of LF." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:394 -#, no-wrap -msgid "" -"\t'commit' SP <ref> LF\n" -"\tmark?\n" -"\t('author' (SP <name>)? SP LT <email> GT SP <when> LF)?\n" -"\t'committer' (SP <name>)? SP LT <email> GT SP <when> LF\n" -"\tdata\n" -"\t('from' SP <commit-ish> LF)?\n" -"\t('merge' SP <commit-ish> LF)?\n" -"\t(filemodify | filedelete | filecopy | filerename | filedeleteall | " -"notemodify)*\n" -"\tLF?\n" +#. type: Plain text +#: en/git-checkout-index.txt:73 en/git-commit.txt:338 en/git-ls-files.txt:176 en/git-merge-index.txt:25 en/git-prune.txt:47 en/git-update-index.txt:206 en/git-verify-pack.txt:38 +msgid "Do not interpret any more arguments as options." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:402 -msgid "" -"where `<ref>` is the name of the branch to make the commit on. Typically " -"branch names are prefixed with `refs/heads/` in Git, so importing the CVS " -"branch symbol `RELENG-1_0` would use `refs/heads/RELENG-1_0` for the value " -"of `<ref>`. The value of `<ref>` must be a valid refname in Git. As `LF` " -"is not valid in a Git refname, no quoting or escaping syntax is supported " -"here." +#: en/git-checkout-index.txt:75 +msgid "The order of the flags used to matter, but not anymore." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:408 +#: en/git-checkout-index.txt:79 msgid "" -"A `mark` command may optionally appear, requesting fast-import to save a " -"reference to the newly created commit for future use by the frontend (see " -"below for format). It is very common for frontends to mark every commit " -"they create, thereby allowing future branch creation from any imported " -"commit." +"Just doing `git checkout-index` does nothing. You probably meant `git " +"checkout-index -a`. And if you want to force it, you want `git " +"checkout-index -f -a`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:414 +#: en/git-checkout-index.txt:83 msgid "" -"The `data` command following `committer` must supply the commit message (see " -"below for `data` command syntax). To import an empty commit message use a 0 " -"length data. Commit messages are free-form and are not interpreted by Git. " -"Currently they must be encoded in UTF-8, as fast-import does not permit " -"other encodings to be specified." +"Intuitiveness is not the goal here. Repeatability is. The reason for the " +"\"no arguments means no work\" behavior is that from scripts you are " +"supposed to be able to do:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:422 -msgid "" -"Zero or more `filemodify`, `filedelete`, `filecopy`, `filerename`, " -"`filedeleteall` and `notemodify` commands may be included to update the " -"contents of the branch prior to creating the commit. These commands may be " -"supplied in any order. However it is recommended that a `filedeleteall` " -"command precede all `filemodify`, `filecopy`, `filerename` and `notemodify` " -"commands in the same commit, as `filedeleteall` wipes the branch clean (see " -"below)." +#. type: delimited block - +#: en/git-checkout-index.txt:86 +#, no-wrap +msgid "$ find . -name '*.h' -print0 | xargs -0 git checkout-index -f --\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:424 en/git-fast-import.txt:803 en/git-fast-import.txt:914 -msgid "The `LF` after the command is optional (it used to be required)." +#: en/git-checkout-index.txt:92 +msgid "" +"which will force all existing `*.h` files to be replaced with their cached " +"copies. If an empty command line implied \"all\", then this would " +"force-refresh everything in the index, which was not the point. But since " +"'git checkout-index' accepts --stdin it would be faster to use:" msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:426 +#. type: delimited block - +#: en/git-checkout-index.txt:95 #, no-wrap -msgid "`author`" +msgid "$ find . -name '*.h' -print0 | git checkout-index -f -z --stdin\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:432 +#: en/git-checkout-index.txt:100 msgid "" -"An `author` command may optionally appear, if the author information might " -"differ from the committer information. If `author` is omitted then " -"fast-import will automatically use the committer's information for the " -"author portion of the commit. See below for a description of the fields in " -"`author`, as they are identical to `committer`." +"The `--` is just a good idea when you know the rest will be filenames; it " +"will prevent problems with a filename of, for example, `-a`. Using `--` is " +"probably a good policy in scripts." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:434 +#. type: Title - +#: en/git-checkout-index.txt:103 #, no-wrap -msgid "`committer`" +msgid "Using --temp or --stage=all" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:437 +#: en/git-checkout-index.txt:110 msgid "" -"The `committer` command indicates who made this commit, and when they made " -"it." +"When `--temp` is used (or implied by `--stage=all`) 'git checkout-index' " +"will create a temporary file for each index entry being checked out. The " +"index will not be updated with stat information. These options can be " +"useful if the caller needs all stages of all unmerged entries so that the " +"unmerged files can be processed by an external merge tool." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:445 +#: en/git-checkout-index.txt:114 msgid "" -"Here `<name>` is the person's display name (for example ``Com M Itter'') and " -"`<email>` is the person's email address (``\\cm@example.com''). `LT` and " -"`GT` are the literal less-than (\\x3c) and greater-than (\\x3e) symbols. " -"These are required to delimit the email address from the other fields in the " -"line. Note that `<name>` and `<email>` are free-form and may contain any " -"sequence of bytes, except `LT`, `GT` and `LF`. `<name>` is typically UTF-8 " -"encoded." +"A listing will be written to stdout providing the association of temporary " +"file names to tracked path names. The listing format has two variations:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:450 +#: en/git-checkout-index.txt:116 +msgid "tempname TAB path RS" +msgstr "" + +#. type: Plain text +#: en/git-checkout-index.txt:121 msgid "" -"The time of the change is specified by `<when>` using the date format that " -"was selected by the --date-format=<fmt> command-line option. See ``Date " -"Formats'' above for the set of supported formats, and their syntax." +"The first format is what gets used when `--stage` is omitted or is not " +"`--stage=all`. The field tempname is the temporary file name holding the " +"file content and path is the tracked path name in the index. Only the " +"requested entries are output." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:452 -#, no-wrap -msgid "`from`" +#. type: Plain text +#: en/git-checkout-index.txt:123 +msgid "stage1temp SP stage2temp SP stage3tmp TAB path RS" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:458 +#: en/git-checkout-index.txt:129 msgid "" -"The `from` command is used to specify the commit to initialize this branch " -"from. This revision will be the first ancestor of the new commit. The " -"state of the tree built at this commit will begin with the state at the " -"`from` commit, and be altered by the content modifications in this commit." +"The second format is what gets used when `--stage=all`. The three stage " +"temporary fields (stage1temp, stage2temp, stage3temp) list the name of the " +"temporary file if there is a stage entry in the index or `.` if there is no " +"stage entry. Paths which only have a stage 0 entry will always be omitted " +"from the output." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:468 +#: en/git-checkout-index.txt:136 msgid "" -"Omitting the `from` command in the first commit of a new branch will cause " -"fast-import to create that commit with no ancestor. This tends to be desired " -"only for the initial commit of a project. If the frontend creates all files " -"from scratch when making a new branch, a `merge` command may be used instead " -"of `from` to start the commit with an empty tree. Omitting the `from` " -"command on existing branches is usually desired, as the current commit on " -"that branch is automatically assumed to be the first ancestor of the new " -"commit." +"In both formats RS (the record separator) is newline by default but will be " +"the null byte if -z was passed on the command line. The temporary file " +"names are always safe strings; they will never contain directory separators " +"or whitespace characters. The path field is always relative to the current " +"directory and the temporary file names are always relative to the top level " +"directory." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:471 +#: en/git-checkout-index.txt:140 msgid "" -"As `LF` is not valid in a Git refname or SHA-1 expression, no quoting or " -"escaping syntax is supported within `<commit-ish>`." +"If the object being copied out to a temporary file is a symbolic link the " +"content of the link will be written to a normal file. It is up to the " +"end-user or the Porcelain to make use of this information." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:473 -msgid "Here `<commit-ish>` is any of the following:" +#. type: Labeled list +#: en/git-checkout-index.txt:144 +#, no-wrap +msgid "To update and refresh only the files already checked out" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:477 +#. type: delimited block - +#: en/git-checkout-index.txt:148 en/git-update-index.txt:342 +#, no-wrap msgid "" -"The name of an existing branch already in fast-import's internal branch " -"table. If fast-import doesn't know the name, it's treated as a SHA-1 " -"expression." +"$ git checkout-index -n -f -a && git update-index --ignore-missing " +"--refresh\n" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:479 -msgid "A mark reference, `:<idnum>`, where `<idnum>` is the mark number." +#. type: Labeled list +#: en/git-checkout-index.txt:150 +#, no-wrap +msgid "Using 'git checkout-index' to \"export an entire tree\"" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:485 +#: en/git-checkout-index.txt:154 msgid "" -"The reason fast-import uses `:` to denote a mark reference is this character " -"is not legal in a Git branch name. The leading `:` makes it easy to " -"distinguish between the mark 42 (`:42`) and the branch 42 (`42` or " -"`refs/heads/42`), or an abbreviated SHA-1 which happened to consist only of " -"base-10 digits." +"The prefix ability basically makes it trivial to use 'git checkout-index' as " +"an \"export as tree\" function. Just read the desired tree into the index, " +"and do:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:487 -msgid "Marks must be declared (via `mark`) before they can be used." +#. type: delimited block - +#: en/git-checkout-index.txt:157 +#, no-wrap +msgid "$ git checkout-index --prefix=git-export-dir/ -a\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:489 -msgid "A complete 40 byte or abbreviated commit SHA-1 in hex." +#: en/git-checkout-index.txt:161 +msgid "`git checkout-index` will \"export\" the index into the specified directory." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:492 +#: en/git-checkout-index.txt:165 msgid "" -"Any valid Git SHA-1 expression that resolves to a commit. See ``SPECIFYING " -"REVISIONS'' in linkgit:gitrevisions[7] for details." +"The final \"/\" is important. The exported name is literally just prefixed " +"with the specified string. Contrast this with the following example." +msgstr "" + +#. type: Labeled list +#: en/git-checkout-index.txt:166 +#, no-wrap +msgid "Export files with a prefix" +msgstr "" + +#. type: delimited block - +#: en/git-checkout-index.txt:170 +#, no-wrap +msgid "$ git checkout-index --prefix=.merged- Makefile\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:495 +#: en/git-checkout-index.txt:174 msgid "" -"The special null SHA-1 (40 zeros) specifies that the branch is to be " -"removed." +"This will check out the currently cached copy of `Makefile` into the file " +"`.merged-Makefile`." +msgstr "" + +#. type: Title = +#: en/git-checkout.txt:2 +#, no-wrap +msgid "git-checkout(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:498 -msgid "" -"The special case of restarting an incremental import from the current branch " -"value should be written as:" +#: en/git-checkout.txt:7 +msgid "git-checkout - Switch branches or restore working tree files" msgstr "" -#. type: delimited block - -#: en/git-fast-import.txt:500 +#. type: Plain text +#: en/git-checkout.txt:17 #, no-wrap -msgid "\tfrom refs/heads/branch^0\n" +msgid "" +"'git checkout' [-q] [-f] [-m] [<branch>]\n" +"'git checkout' [-q] [-f] [-m] --detach [<branch>]\n" +"'git checkout' [-q] [-f] [-m] [--detach] <commit>\n" +"'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] " +"[<start_point>]\n" +"'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] " +"<paths>...\n" +"'git checkout' [-p|--patch] [<tree-ish>] [--] [<paths>...]\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:507 +#: en/git-checkout.txt:24 msgid "" -"The `^0` suffix is necessary as fast-import does not permit a branch to " -"start from itself, and the branch is created in memory before the `from` " -"command is even read from the input. Adding `^0` will force fast-import to " -"resolve the commit through Git's revision parsing library, rather than its " -"internal branch table, thereby loading in the existing value of the branch." +"Updates files in the working tree to match the version in the index or the " +"specified tree. If no paths are given, 'git checkout' will also update " +"`HEAD` to set the specified branch as the current branch." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:509 +#. type: Labeled list +#: en/git-checkout.txt:25 #, no-wrap -msgid "`merge`" +msgid "'git checkout' <branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:517 +#: en/git-checkout.txt:31 msgid "" -"Includes one additional ancestor commit. The additional ancestry link does " -"not change the way the tree state is built at this commit. If the `from` " -"command is omitted when creating a new branch, the first `merge` commit will " -"be the first ancestor of the current commit, and the branch will start out " -"with no files. An unlimited number of `merge` commands per commit are " -"permitted by fast-import, thereby establishing an n-way merge." +"To prepare for working on <branch>, switch to it by updating the index and " +"the files in the working tree, and by pointing HEAD at the branch. Local " +"modifications to the files in the working tree are kept, so that they can be " +"committed to the <branch>." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:520 +#: en/git-checkout.txt:35 msgid "" -"Here `<commit-ish>` is any of the commit specification expressions also " -"accepted by `from` (see above)." +"If <branch> is not found but there does exist a tracking branch in exactly " +"one remote (call it <remote>) with a matching name, treat as equivalent to" msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:522 +#. type: delimited block - +#: en/git-checkout.txt:38 #, no-wrap -msgid "`filemodify`" +msgid "$ git checkout -b <branch> --track <remote>/<branch>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:526 +#: en/git-checkout.txt:44 msgid "" -"Included in a `commit` command to add a new file or change the content of an " -"existing file. This command has two different means of specifying the " -"content of the file." +"You could omit <branch>, in which case the command degenerates to \"check " +"out the current branch\", which is a glorified no-op with a rather expensive " +"side-effects to show only the tracking information, if exists, for the " +"current branch." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:527 en/git-fast-import.txt:694 +#: en/git-checkout.txt:45 #, no-wrap -msgid "External data format" +msgid "'git checkout' -b|-B <new_branch> [<start point>]" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:530 +#: en/git-checkout.txt:53 msgid "" -"The data content for the file was already supplied by a prior `blob` " -"command. The frontend just needs to connect it." -msgstr "" - -#. type: delimited block . -#: en/git-fast-import.txt:533 -#, no-wrap -msgid "\t'M' SP <mode> SP <dataref> SP <path> LF\n" +"Specifying `-b` causes a new branch to be created as if " +"linkgit:git-branch[1] were called and then checked out. In this case you " +"can use the `--track` or `--no-track` options, which will be passed to 'git " +"branch'. As a convenience, `--track` without `-b` implies branch creation; " +"see the description of `--track` below." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:540 +#: en/git-checkout.txt:56 msgid "" -"Here usually `<dataref>` must be either a mark reference (`:<idnum>`) set " -"by a prior `blob` command, or a full 40-byte SHA-1 of an existing Git blob " -"object. If `<mode>` is `040000`` then `<dataref>` must be the full 40-byte " -"SHA-1 of an existing Git tree object or a mark reference set with " -"`--import-marks`." +"If `-B` is given, <new_branch> is created if it doesn't exist; otherwise, it " +"is reset. This is the transactional equivalent of" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:541 en/git-fast-import.txt:707 +#. type: delimited block - +#: en/git-checkout.txt:60 #, no-wrap -msgid "Inline data format" +msgid "" +"$ git branch -f <branch> [<start point>]\n" +"$ git checkout <branch>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:545 +#: en/git-checkout.txt:64 msgid "" -"The data content for the file has not been supplied yet. The frontend wants " -"to supply it as part of this modify command." +"that is to say, the branch is not reset/created unless \"git checkout\" is " +"successful." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:549 +#. type: Labeled list +#: en/git-checkout.txt:65 #, no-wrap -msgid "" -"\t'M' SP <mode> SP 'inline' SP <path> LF\n" -"\tdata\n" +msgid "'git checkout' --detach [<branch>]" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:552 en/git-fast-import.txt:718 -msgid "See below for a detailed description of the `data` command." +#. type: Labeled list +#: en/git-checkout.txt:66 +#, no-wrap +msgid "'git checkout' [--detach] <commit>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:555 +#: en/git-checkout.txt:74 msgid "" -"In both formats `<mode>` is the type of file entry, specified in octal. Git " -"only supports the following modes:" +"Prepare to work on top of <commit>, by detaching HEAD at it (see \"DETACHED " +"HEAD\" section), and updating the index and the files in the working tree. " +"Local modifications to the files in the working tree are kept, so that the " +"resulting working tree will be the state recorded in the commit plus the " +"local modifications." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:559 +#: en/git-checkout.txt:78 msgid "" -"`100644` or `644`: A normal (not-executable) file. The majority of files in " -"most projects use this mode. If in doubt, this is what you want." +"When the <commit> argument is a branch name, the `--detach` option can be " +"used to detach HEAD at the tip of the branch (`git checkout <branch>` would " +"check out that branch without detaching HEAD)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:560 -msgid "`100755` or `755`: A normal, but executable, file." +#: en/git-checkout.txt:80 +msgid "Omitting <branch> detaches HEAD at the tip of the current branch." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:561 -msgid "`120000`: A symlink, the content of the file will be the link target." +#. type: Labeled list +#: en/git-checkout.txt:81 +#, no-wrap +msgid "'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>..." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:564 +#: en/git-checkout.txt:91 msgid "" -"`160000`: A gitlink, SHA-1 of the object refers to a commit in another " -"repository. Git links can only be specified by SHA or through a commit " -"mark. They are used to implement submodules." +"When <paths> or `--patch` are given, 'git checkout' does *not* switch " +"branches. It updates the named paths in the working tree from the index " +"file or from a named <tree-ish> (most often a commit). In this case, the " +"`-b` and `--track` options are meaningless and giving either of them results " +"in an error. The <tree-ish> argument can be used to specify a specific " +"tree-ish (i.e. commit, tag or tree) to update the index for the given paths " +"before updating the working tree." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:566 +#: en/git-checkout.txt:95 msgid "" -"`040000`: A subdirectory. Subdirectories can only be specified by SHA or " -"through a tree mark set with `--import-marks`." +"'git checkout' with <paths> or `--patch` is used to restore modified or " +"deleted paths to their original contents from the index or replace paths " +"with the contents from a named <tree-ish> (most often a commit-ish)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:569 +#: en/git-checkout.txt:103 msgid "" -"In both formats `<path>` is the complete path of the file to be added (if " -"not already existing) or modified (if already existing)." +"The index may contain unmerged entries because of a previous failed merge. " +"By default, if you try to check out such an entry from the index, the " +"checkout operation will fail and nothing will be checked out. Using `-f` " +"will ignore these unmerged entries. The contents from a specific side of " +"the merge can be checked out of the index by using `--ours` or `--theirs`. " +"With `-m`, changes made to the working tree file can be discarded to " +"re-create the original conflicted merge result." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:573 -msgid "" -"A `<path>` string must use UNIX-style directory separators (forward slash " -"`/`), may contain any byte other than `LF`, and must not start with double " -"quote (`\"`)." +#: en/git-checkout.txt:109 +msgid "Quiet, suppress feedback messages." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:580 +#: en/git-checkout.txt:115 msgid "" -"A path can use C-style string quoting; this is accepted in all cases and " -"mandatory if the filename starts with double quote or contains `LF`. In " -"C-style quoting, the complete name should be surrounded with double quotes, " -"and any `LF`, backslash, or double quote characters must be escaped by " -"preceding them with a backslash (e.g., `\"path/with\\n, \\\\ and \\\" in " -"it\"`)." +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal, unless `--quiet` is specified. This flag enables " +"progress reporting even if not attached to a terminal, regardless of " +"`--quiet`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:582 -msgid "The value of `<path>` must be in canonical form. That is it must not:" +#: en/git-checkout.txt:121 +msgid "" +"When switching branches, proceed even if the index or the working tree " +"differs from HEAD. This is used to throw away local changes." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:584 -msgid "contain an empty directory component (e.g. `foo//bar` is invalid)," +#: en/git-checkout.txt:124 +msgid "" +"When checking out paths from the index, do not fail upon unmerged entries; " +"instead, unmerged entries are ignored." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:585 -msgid "end with a directory separator (e.g. `foo/` is invalid)," +#. type: Labeled list +#: en/git-checkout.txt:125 en/git-merge-file.txt:73 +#, no-wrap +msgid "--ours" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:586 -msgid "start with a directory separator (e.g. `/foo` is invalid)," +#. type: Labeled list +#: en/git-checkout.txt:126 en/git-merge-file.txt:74 +#, no-wrap +msgid "--theirs" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:588 +#: en/git-checkout.txt:129 msgid "" -"contain the special component `.` or `..` (e.g. `foo/./bar` and `foo/../bar` " -"are invalid)." +"When checking out paths from the index, check out stage #2 ('ours') or #3 " +"('theirs') for unmerged paths." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:590 -msgid "The root of the tree can be represented by an empty string as `<path>`." +#: en/git-checkout.txt:134 +msgid "" +"Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' " +"may appear swapped; `--ours` gives the version from the branch the changes " +"are rebased onto, while `--theirs` gives the version from the branch that " +"holds your work that is being rebased." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:592 -msgid "It is recommended that `<path>` always be encoded using UTF-8." +#: en/git-checkout.txt:144 +msgid "" +"This is because `rebase` is used in a workflow that treats the history at " +"the remote as the shared canonical one, and treats the work done on the " +"branch you are rebasing as the third-party work to be integrated, and you " +"are temporarily assuming the role of the keeper of the canonical history " +"during the rebase. As the keeper of the canonical history, you need to view " +"the history from the remote as `ours` (i.e. \"our shared canonical " +"history\"), while what you did on your side branch as `theirs` (i.e. \"one " +"contributor's work on top of it\")." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:594 +#. type: Labeled list +#: en/git-checkout.txt:145 #, no-wrap -msgid "`filedelete`" +msgid "-b <new_branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:600 +#: en/git-checkout.txt:148 msgid "" -"Included in a `commit` command to remove a file or recursively delete an " -"entire directory from the branch. If the file or directory removal makes " -"its parent directory empty, the parent directory will be automatically " -"removed too. This cascades up the tree until the first non-empty directory " -"or the root is reached." +"Create a new branch named <new_branch> and start it at <start_point>; see " +"linkgit:git-branch[1] for details." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:603 +#. type: Labeled list +#: en/git-checkout.txt:149 #, no-wrap -msgid "\t'D' SP <path> LF\n" +msgid "-B <new_branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:608 +#: en/git-checkout.txt:154 msgid "" -"here `<path>` is the complete path of the file or subdirectory to be removed " -"from the branch. See `filemodify` above for a detailed description of " -"`<path>`." -msgstr "" - -#. type: Title ^ -#: en/git-fast-import.txt:610 -#, no-wrap -msgid "`filecopy`" +"Creates the branch <new_branch> and start it at <start_point>; if it already " +"exists, then reset it to <start_point>. This is equivalent to running \"git " +"branch\" with \"-f\"; see linkgit:git-branch[1] for details." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:615 +#: en/git-checkout.txt:159 msgid "" -"Recursively copies an existing file or subdirectory to a different location " -"within the branch. The existing file or directory must exist. If the " -"destination exists it will be completely replaced by the content copied from " -"the source." -msgstr "" - -#. type: delimited block . -#: en/git-fast-import.txt:618 -#, no-wrap -msgid "\t'C' SP <path> SP <path> LF\n" +"When creating a new branch, set up \"upstream\" configuration. See " +"\"--track\" in linkgit:git-branch[1] for details." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:624 en/git-fast-import.txt:644 +#: en/git-checkout.txt:169 msgid "" -"here the first `<path>` is the source location and the second `<path>` is " -"the destination. See `filemodify` above for a detailed description of what " -"`<path>` may look like. To use a source path that contains SP the path must " -"be quoted." +"If no `-b` option is given, the name of the new branch will be derived from " +"the remote-tracking branch, by looking at the local part of the refspec " +"configured for the corresponding remote, and then stripping the initial part " +"up to the \"*\". This would tell us to use \"hack\" as the local branch " +"when branching off of \"origin/hack\" (or \"remotes/origin/hack\", or even " +"\"refs/remotes/origin/hack\"). If the given name has no slash, or the above " +"guessing results in an empty name, the guessing is aborted. You can " +"explicitly give a name with `-b` in such a case." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:629 -msgid "" -"A `filecopy` command takes effect immediately. Once the source location has " -"been copied to the destination any future commands applied to the source " -"location will not impact the destination of the copy." +#: en/git-checkout.txt:177 +msgid "Create the new branch's reflog; see linkgit:git-branch[1] for details." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:631 +#. type: Labeled list +#: en/git-checkout.txt:178 en/git-daemon.txt:134 en/git-worktree.txt:100 #, no-wrap -msgid "`filerename`" +msgid "--detach" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:635 +#: en/git-checkout.txt:184 msgid "" -"Renames an existing file or subdirectory to a different location within the " -"branch. The existing file or directory must exist. If the destination " -"exists it will be replaced by the source directory." +"Rather than checking out a branch to work on it, check out a commit for " +"inspection and discardable experiments. This is the default behavior of " +"\"git checkout <commit>\" when <commit> is not a branch name. See the " +"\"DETACHED HEAD\" section below for details." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:638 +#. type: Labeled list +#: en/git-checkout.txt:185 #, no-wrap -msgid "\t'R' SP <path> SP <path> LF\n" +msgid "--orphan <new_branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:649 +#: en/git-checkout.txt:191 msgid "" -"A `filerename` command takes effect immediately. Once the source location " -"has been renamed to the destination any future commands applied to the " -"source location will create new files there and not impact the destination " -"of the rename." +"Create a new 'orphan' branch, named <new_branch>, started from <start_point> " +"and switch to it. The first commit made on this new branch will have no " +"parents and it will be the root of a new history totally disconnected from " +"all the other branches and commits." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:658 +#: en/git-checkout.txt:196 msgid "" -"Note that a `filerename` is the same as a `filecopy` followed by a " -"`filedelete` of the source location. There is a slight performance " -"advantage to using `filerename`, but the advantage is so small that it is " -"never worth trying to convert a delete/add pair in source material into a " -"rename for fast-import. This `filerename` command is provided just to " -"simplify frontends that already have rename information and don't want " -"bother with decomposing it into a `filecopy` followed by a `filedelete`." +"The index and the working tree are adjusted as if you had previously run " +"\"git checkout <start_point>\". This allows you to start a new history that " +"records a set of paths similar to <start_point> by easily running \"git " +"commit -a\" to make the root commit." msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:660 -#, no-wrap -msgid "`filedeleteall`" +#. type: Plain text +#: en/git-checkout.txt:202 +msgid "" +"This can be useful when you want to publish the tree from a commit without " +"exposing its full history. You might want to do this to publish an open " +"source branch of a project whose current tree is \"clean\", but whose full " +"history contains proprietary or otherwise encumbered bits of code." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:665 +#: en/git-checkout.txt:209 msgid "" -"Included in a `commit` command to remove all files (and also all " -"directories) from the branch. This command resets the internal branch " -"structure to have no files in it, allowing the frontend to subsequently add " -"all interesting files from scratch." +"If you want to start a disconnected history that records a set of paths that " +"is totally different from the one of <start_point>, then you should clear " +"the index and the working tree right after creating the orphan branch by " +"running \"git rm -rf .\" from the top level of the working tree. Afterwards " +"you will be ready to prepare your new files, repopulating the working tree, " +"by copying them from elsewhere, extracting a tarball, etc." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:668 +#. type: Labeled list +#: en/git-checkout.txt:210 #, no-wrap -msgid "\t'deleteall' LF\n" +msgid "--ignore-skip-worktree-bits" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:674 +#: en/git-checkout.txt:215 msgid "" -"This command is extremely useful if the frontend does not know (or does not " -"care to know) what files are currently on the branch, and therefore cannot " -"generate the proper `filedelete` commands to update the content." +"In sparse checkout mode, `git checkout -- <paths>` would update only entries " +"matched by <paths> and sparse patterns in " +"$GIT_DIR/info/sparse-checkout. This option ignores the sparse patterns and " +"adds back any files in <paths>." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:682 -msgid "" -"Issuing a `filedeleteall` followed by the needed `filemodify` commands to " -"set the correct content will produce the same results as sending only the " -"needed `filemodify` and `filedelete` commands. The `filedeleteall` approach " -"may however require fast-import to use slightly more memory per active " -"branch (less than 1 MiB for even most large projects); so frontends that can " -"easily obtain only the affected paths for a commit are encouraged to do so." +#. type: Labeled list +#: en/git-checkout.txt:217 en/git-rebase.txt:271 en/git-reset.txt:71 en/git-submodule.txt:363 en/git-svn.txt:638 en/rev-list-options.txt:278 +#, no-wrap +msgid "--merge" msgstr "" -#. type: Title ^ -#: en/git-fast-import.txt:684 -#, no-wrap -msgid "`notemodify`" +#. type: Plain text +#: en/git-checkout.txt:226 +msgid "" +"When switching branches, if you have local modifications to one or more " +"files that are different between the current branch and the branch to which " +"you are switching, the command refuses to switch branches in order to " +"preserve your modifications in context. However, with this option, a " +"three-way merge between the current branch, your working tree contents, and " +"the new branch is done, and you will be on the new branch." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:693 +#: en/git-checkout.txt:231 msgid "" -"Included in a `commit` `<notes_ref>` command to add a new note annotating a " -"`<commit-ish>` or change this annotation contents. Internally it is similar " -"to filemodify 100644 on `<commit-ish>` path (maybe split into " -"subdirectories). It's not advised to use any other commands to write to the " -"`<notes_ref>` tree except `filedeleteall` to delete all existing notes in " -"this tree. This command has two different means of specifying the content " -"of the note." +"When a merge conflict happens, the index entries for conflicting paths are " +"left unmerged, and you need to resolve the conflicts and mark the resolved " +"paths with `git add` (or `git rm` if the merge should result in deletion of " +"the path)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:698 +#: en/git-checkout.txt:234 msgid "" -"The data content for the note was already supplied by a prior `blob` " -"command. The frontend just needs to connect it to the commit that is to be " -"annotated." +"When checking out paths from the index, this option lets you recreate the " +"conflicted merge in the specified paths." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:701 +#. type: Labeled list +#: en/git-checkout.txt:235 #, no-wrap -msgid "\t'N' SP <dataref> SP <commit-ish> LF\n" +msgid "--conflict=<style>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:706 +#: en/git-checkout.txt:241 msgid "" -"Here `<dataref>` can be either a mark reference (`:<idnum>`) set by a prior " -"`blob` command, or a full 40-byte SHA-1 of an existing Git blob object." +"The same as --merge option above, but changes the way the conflicting hunks " +"are presented, overriding the merge.conflictStyle configuration variable. " +"Possible values are \"merge\" (default) and \"diff3\" (in addition to what " +"is shown by \"merge\" style, shows the original contents)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:711 +#: en/git-checkout.txt:248 msgid "" -"The data content for the note has not been supplied yet. The frontend wants " -"to supply it as part of this modify command." +"Interactively select hunks in the difference between the <tree-ish> (or the " +"index, if unspecified) and the working tree. The chosen hunks are then " +"applied in reverse to the working tree (and if a <tree-ish> was specified, " +"the index)." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:715 -#, no-wrap +#. type: Plain text +#: en/git-checkout.txt:252 msgid "" -"\t'N' SP 'inline' SP <commit-ish> LF\n" -"\tdata\n" +"This means that you can use `git checkout -p` to selectively discard edits " +"from your current working tree. See the ``Interactive Mode'' section of " +"linkgit:git-add[1] to learn how to operate the `--patch` mode." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:721 -msgid "" -"In both formats `<commit-ish>` is any of the commit specification " -"expressions also accepted by `from` (see above)." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:723 +#. type: Labeled list +#: en/git-checkout.txt:253 #, no-wrap -msgid "`mark`" +msgid "--ignore-other-worktrees" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:729 +#: en/git-checkout.txt:258 msgid "" -"Arranges for fast-import to save a reference to the current object, allowing " -"the frontend to recall this object at a future point in time, without " -"knowing its SHA-1. Here the current object is the object creation command " -"the `mark` command appears within. This can be `commit`, `tag`, and `blob`, " -"but `commit` is the most common usage." +"`git checkout` refuses when the wanted ref is already checked out by another " +"worktree. This option makes it check the ref out anyway. In other words, the " +"ref can be held by more than one worktree." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:732 +#. type: Labeled list +#: en/git-checkout.txt:259 en/git-rebase.txt:242 #, no-wrap -msgid "\t'mark' SP ':' <idnum> LF\n" +msgid "<branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:738 +#: en/git-checkout.txt:265 msgid "" -"where `<idnum>` is the number assigned by the frontend to this mark. The " -"value of `<idnum>` is expressed as an ASCII decimal integer. The value 0 is " -"reserved and cannot be used as a mark. Only values greater than or equal to " -"1 may be used as marks." +"Branch to checkout; if it refers to a branch (i.e., a name that, when " +"prepended with \"refs/heads/\", is a valid ref), then that branch is checked " +"out. Otherwise, if it refers to a valid commit, your HEAD becomes " +"\"detached\" and you are no longer on any branch (see below for details)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:742 +#: en/git-checkout.txt:269 msgid "" -"New marks are created automatically. Existing marks can be moved to another " -"object simply by reusing the same `<idnum>` in another `mark` command." +"As a special case, the `\"@{-N}\"` syntax for the N-th last branch/commit " +"checks out branches (instead of detaching). You may also specify `-` which " +"is synonymous with `\"@{-1}\"`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:747 +#: en/git-checkout.txt:273 msgid "" -"Creates an annotated tag referring to a specific commit. To create " -"lightweight (non-annotated) tags see the `reset` command below." +"As a further special case, you may use `\"A...B\"` as a shortcut for the " +"merge base of `A` and `B` if there is exactly one merge base. You can leave " +"out at most one of `A` and `B`, in which case it defaults to `HEAD`." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:753 +#. type: Labeled list +#: en/git-checkout.txt:274 #, no-wrap -msgid "" -"\t'tag' SP <name> LF\n" -"\t'from' SP <commit-ish> LF\n" -"\t'tagger' (SP <name>)? SP LT <email> GT SP <when> LF\n" -"\tdata\n" +msgid "<new_branch>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:756 -msgid "where `<name>` is the name of the tag to create." +#: en/git-checkout.txt:276 +msgid "Name for the new branch." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:761 -msgid "" -"Tag names are automatically prefixed with `refs/tags/` when stored in Git, " -"so importing the CVS branch symbol `RELENG-1_0-FINAL` would use just " -"`RELENG-1_0-FINAL` for `<name>`, and fast-import will write the " -"corresponding ref as `refs/tags/RELENG-1_0-FINAL`." +#. type: Labeled list +#: en/git-checkout.txt:277 +#, no-wrap +msgid "<start_point>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:765 +#: en/git-checkout.txt:280 msgid "" -"The value of `<name>` must be a valid refname in Git and therefore may " -"contain forward slashes. As `LF` is not valid in a Git refname, no quoting " -"or escaping syntax is supported here." +"The name of a commit at which to start the new branch; see " +"linkgit:git-branch[1] for details. Defaults to HEAD." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:768 +#: en/git-checkout.txt:284 msgid "" -"The `from` command is the same as in the `commit` command; see above for " -"details." +"Tree to checkout from (when paths are given). If not specified, the index " +"will be used." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:771 -msgid "" -"The `tagger` command uses the same format as `committer` within `commit`; " -"again see above for details." +#. type: Title - +#: en/git-checkout.txt:288 +#, no-wrap +msgid "DETACHED HEAD" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:777 +#: en/git-checkout.txt:292 msgid "" -"The `data` command following `tagger` must supply the annotated tag message " -"(see below for `data` command syntax). To import an empty tag message use a " -"0 length data. Tag messages are free-form and are not interpreted by Git. " -"Currently they must be encoded in UTF-8, as fast-import does not permit " -"other encodings to be specified." +"HEAD normally refers to a named branch (e.g. 'master'). Meanwhile, each " +"branch refers to a specific commit. Let's look at a repo with three commits, " +"one of them tagged, and with branch 'master' checked out:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:785 +#. type: delimited block - +#: en/git-checkout.txt:301 +#, no-wrap msgid "" -"Signing annotated tags during import from within fast-import is not " -"supported. Trying to include your own PGP/GPG signature is not recommended, " -"as the frontend does not (easily) have access to the complete set of bytes " -"which normally goes into such a signature. If signing is required, create " -"lightweight tags from within fast-import with `reset`, then create the " -"annotated versions of those tags offline with the standard 'git tag' " -"process." +"\t HEAD (refers to branch 'master')\n" +"\t |\n" +"\t v\n" +"a---b---c branch 'master' (refers to commit 'c')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:792 +#: en/git-checkout.txt:308 msgid "" -"Creates (or recreates) the named branch, optionally starting from a specific " -"revision. The reset command allows a frontend to issue a new `from` command " -"for an existing branch, or to create a new branch from an existing commit " -"without creating a new commit." +"When a commit is created in this state, the branch is updated to refer to " +"the new commit. Specifically, 'git commit' creates a new commit 'd', whose " +"parent is commit 'c', and then updates branch 'master' to refer to new " +"commit 'd'. HEAD still refers to branch 'master' and so indirectly now " +"refers to commit 'd':" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:797 +#. type: delimited block - +#: en/git-checkout.txt:311 en/git-checkout.txt:346 en/git-checkout.txt:363 #, no-wrap -msgid "" -"\t'reset' SP <ref> LF\n" -"\t('from' SP <commit-ish> LF)?\n" -"\tLF?\n" +msgid "$ edit; git add; git commit\n" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:801 +#. type: delimited block - +#: en/git-checkout.txt:319 +#, no-wrap msgid "" -"For a detailed description of `<ref>` and `<commit-ish>` see above under " -"`commit` and `from`." +"\t HEAD (refers to branch 'master')\n" +"\t\t|\n" +"\t\tv\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:806 +#: en/git-checkout.txt:325 msgid "" -"The `reset` command can also be used to create lightweight (non-annotated) " -"tags. For example:" +"It is sometimes useful to be able to checkout a commit that is not at the " +"tip of any named branch, or even to create a new commit that is not " +"referenced by a named branch. Let's look at what happens when we checkout " +"commit 'b' (here we show two ways this may be done):" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:810 +#. type: delimited block - +#: en/git-checkout.txt:329 #, no-wrap msgid "" -"\treset refs/tags/938\n" -"\tfrom :938\n" +"$ git checkout v2.0 # or\n" +"$ git checkout master^^\n" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:814 +#. type: delimited block - +#: en/git-checkout.txt:337 +#, no-wrap msgid "" -"would create the lightweight tag `refs/tags/938` referring to whatever " -"commit mark `:938` references." +" HEAD (refers to commit 'b')\n" +" |\n" +" v\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:821 +#: en/git-checkout.txt:343 msgid "" -"Requests writing one file revision to the packfile. The revision is not " -"connected to any commit; this connection must be formed in a subsequent " -"`commit` command by referencing the blob through an assigned mark." +"Notice that regardless of which checkout command we use, HEAD now refers " +"directly to commit 'b'. This is known as being in detached HEAD state. It " +"means simply that HEAD refers to a specific commit, as opposed to referring " +"to a named branch. Let's see what happens when we create a commit:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:826 +#. type: delimited block - +#: en/git-checkout.txt:356 #, no-wrap msgid "" -"\t'blob' LF\n" -"\tmark?\n" -"\tdata\n" +" HEAD (refers to commit 'e')\n" +" |\n" +" v\n" +" e\n" +" /\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:832 +#: en/git-checkout.txt:360 msgid "" -"The mark command is optional here as some frontends have chosen to generate " -"the Git SHA-1 for the blob on their own, and feed that directly to " -"`commit`. This is typically more work than it's worth however, as marks are " -"inexpensive to store and easy to use." +"There is now a new commit 'e', but it is referenced only by HEAD. We can of " +"course add yet another commit in this state:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:834 +#. type: delimited block - +#: en/git-checkout.txt:373 #, no-wrap -msgid "`data`" +msgid "" +"\t HEAD (refers to commit 'f')\n" +"\t |\n" +"\t v\n" +" e---f\n" +" /\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:841 +#: en/git-checkout.txt:377 msgid "" -"Supplies raw data (for use as blob/file content, commit messages, or " -"annotated tag messages) to fast-import. Data can be supplied using an exact " -"byte count or delimited with a terminating line. Real frontends intended " -"for production-quality conversions should always use the exact byte count " -"format, as it is more robust and performs better. The delimited format is " -"intended primarily for testing fast-import." +"In fact, we can perform all the normal Git operations. But, let's look at " +"what happens when we then checkout master:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:846 -msgid "" -"Comment lines appearing within the `<raw>` part of `data` commands are " -"always taken to be part of the body of the data and are therefore never " -"ignored by fast-import. This makes it safe to import any file/message " -"content whose lines might start with `#`." +#. type: delimited block - +#: en/git-checkout.txt:380 +#, no-wrap +msgid "$ git checkout master\n" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:847 +#. type: delimited block - +#: en/git-checkout.txt:388 #, no-wrap -msgid "Exact byte count format" +msgid "" +"\t HEAD (refers to branch 'master')\n" +" e---f |\n" +" / v\n" +"a---b---c---d branch 'master' (refers to commit 'd')\n" +" ^\n" +" |\n" +" tag 'v2.0' (refers to commit 'b')\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:849 -msgid "The frontend must specify the number of bytes of data." +#: en/git-checkout.txt:395 +msgid "" +"It is important to realize that at this point nothing refers to commit " +"'f'. Eventually commit 'f' (and by extension commit 'e') will be deleted by " +"the routine Git garbage collection process, unless we create a reference " +"before that happens. If we have not yet moved away from commit 'f', any of " +"these will create a reference to it:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:853 +#. type: delimited block - +#: en/git-checkout.txt:400 #, no-wrap msgid "" -"\t'data' SP <count> LF\n" -"\t<raw> LF?\n" +"$ git checkout -b foo <1>\n" +"$ git branch foo <2>\n" +"$ git tag foo <3>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:859 +#: en/git-checkout.txt:405 msgid "" -"where `<count>` is the exact number of bytes appearing within `<raw>`. The " -"value of `<count>` is expressed as an ASCII decimal integer. The `LF` on " -"either side of `<raw>` is not included in `<count>` and will not be included " -"in the imported data." +"creates a new branch 'foo', which refers to commit 'f', and then updates " +"HEAD to refer to branch 'foo'. In other words, we'll no longer be in " +"detached HEAD state after this command." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:864 +#: en/git-checkout.txt:408 msgid "" -"The `LF` after `<raw>` is optional (it used to be required) but " -"recommended. Always including it makes debugging a fast-import stream " -"easier as the next command always starts in column 0 of the next line, even " -"if `<raw>` did not end with an `LF`." +"similarly creates a new branch 'foo', which refers to commit 'f', but leaves " +"HEAD detached." msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:865 -#, no-wrap -msgid "Delimited format" +#. type: Plain text +#: en/git-checkout.txt:411 +msgid "creates a new tag 'foo', which refers to commit 'f', leaving HEAD detached." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:870 +#: en/git-checkout.txt:416 msgid "" -"A delimiter string is used to mark the end of the data. fast-import will " -"compute the length by searching for the delimiter. This format is primarily " -"useful for testing and is not recommended for real data." +"If we have moved away from commit 'f', then we must first recover its object " +"name (typically by using git reflog), and then we can create a reference to " +"it. For example, to see the last two commits to which HEAD referred, we can " +"use either of these commands:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:876 +#. type: delimited block - +#: en/git-checkout.txt:420 #, no-wrap msgid "" -"\t'data' SP '<<' <delim> LF\n" -"\t<raw> LF\n" -"\t<delim> LF\n" -"\tLF?\n" +"$ git reflog -2 HEAD # or\n" +"$ git log -g -2 HEAD\n" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:884 -msgid "" -"where `<delim>` is the chosen delimiter string. The string `<delim>` must " -"not appear on a line by itself within `<raw>`, as otherwise fast-import will " -"think the data ends earlier than it really does. The `LF` immediately " -"trailing `<raw>` is part of `<raw>`. This is one of the limitations of the " -"delimited format, it is impossible to supply a data chunk which does not " -"have an LF as its last byte." +#. type: Title - +#: en/git-checkout.txt:423 +#, no-wrap +msgid "ARGUMENT DISAMBIGUATION" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:886 -msgid "The `LF` after `<delim> LF` is optional (it used to be required)." +#: en/git-checkout.txt:433 +msgid "" +"When there is only one argument given and it is not `--` (e.g. \"git " +"checkout abc\"), and when the argument is both a valid `<tree-ish>` (e.g. a " +"branch \"abc\" exists) and a valid `<pathspec>` (e.g. a file or a directory " +"whose name is \"abc\" exists), Git would usually ask you to disambiguate. " +"Because checking out a branch is so common an operation, however, \"git " +"checkout abc\" takes \"abc\" as a `<tree-ish>` in such a situation. Use " +"`git checkout -- <pathspec>` if you want to checkout these paths out of the " +"index." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:891 +#: en/git-checkout.txt:440 msgid "" -"Forces fast-import to close the current packfile, start a new one, and to " -"save out all current branch refs, tags and marks." +"The following sequence checks out the `master` branch, reverts the " +"`Makefile` to two revisions back, deletes hello.c by mistake, and gets it " +"back from the index." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:895 +#. type: delimited block - +#: en/git-checkout.txt:446 #, no-wrap msgid "" -"\t'checkpoint' LF\n" -"\tLF?\n" +"$ git checkout master <1>\n" +"$ git checkout master~2 Makefile <2>\n" +"$ rm -f hello.c\n" +"$ git checkout hello.c <3>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:901 -msgid "" -"Note that fast-import automatically switches packfiles when the current " -"packfile reaches --max-pack-size, or 4 GiB, whichever limit is smaller. " -"During an automatic packfile switch fast-import does not update the branch " -"refs, tags or marks." +#: en/git-checkout.txt:449 +msgid "switch branch" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:906 -msgid "" -"As a `checkpoint` can require a significant amount of CPU time and disk IO " -"(to compute the overall pack SHA-1 checksum, generate the corresponding " -"index file, and update the refs) it can easily take several minutes for a " -"single `checkpoint` command to complete." +#: en/git-checkout.txt:450 +msgid "take a file out of another commit" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:912 -msgid "" -"Frontends may choose to issue checkpoints during extremely large and long " -"running imports, or when they need to allow another Git process access to a " -"branch. However given that a 30 GiB Subversion repository can be loaded " -"into Git through fast-import in about 3 hours, explicit checkpointing may " -"not be necessary." +#: en/git-checkout.txt:451 +msgid "restore hello.c from the index" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:921 -msgid "" -"Causes fast-import to print the entire `progress` line unmodified to its " -"standard output channel (file descriptor 1) when the command is processed " -"from the input stream. The command otherwise has no impact on the current " -"import, or on any of fast-import's internal state." +#: en/git-checkout.txt:454 +msgid "If you want to check out _all_ C source files out of the index, you can say" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:925 +#. type: delimited block - +#: en/git-checkout.txt:457 #, no-wrap -msgid "" -"\t'progress' SP <any> LF\n" -"\tLF?\n" +msgid "$ git checkout -- '*.c'\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:931 +#: en/git-checkout.txt:463 msgid "" -"The `<any>` part of the command may contain any sequence of bytes that does " -"not contain `LF`. The `LF` after the command is optional. Callers may wish " -"to process the output through a tool such as sed to remove the leading part " -"of the line, for example:" -msgstr "" - -#. type: delimited block = -#: en/git-fast-import.txt:934 -#, no-wrap -msgid "\tfrontend | git fast-import | sed 's/^progress //'\n" +"Note the quotes around `*.c`. The file `hello.c` will also be checked out, " +"even though it is no longer in the working tree, because the file globbing " +"is used to match entries in the index (not in the working tree by the " +"shell)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:939 +#: en/git-checkout.txt:467 msgid "" -"Placing a `progress` command immediately after a `checkpoint` will inform " -"the reader when the `checkpoint` has been completed and it can safely access " -"the refs that fast-import updated." +"If you have an unfortunate branch that is named `hello.c`, this step would " +"be confused as an instruction to switch to that branch. You should instead " +"write:" +msgstr "" + +#. type: delimited block - +#: en/git-checkout.txt:470 +#, no-wrap +msgid "$ git checkout -- hello.c\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:947 +#: en/git-checkout.txt:474 msgid "" -"Causes fast-import to print the SHA-1 corresponding to a mark to stdout or " -"to the file descriptor previously arranged with the `--cat-blob-fd` " -"argument. The command otherwise has no impact on the current import; its " -"purpose is to retrieve SHA-1s that later commits might want to refer to in " -"their commit messages." +"After working in the wrong branch, switching to the correct branch would be " +"done using:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:950 +#. type: delimited block - +#: en/git-checkout.txt:477 #, no-wrap -msgid "\t'get-mark' SP ':' <idnum> LF\n" +msgid "$ git checkout mytopic\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:955 +#: en/git-checkout.txt:482 msgid "" -"This command can be used anywhere in the stream that comments are accepted. " -"In particular, the `get-mark` command can be used in the middle of a commit " -"but not in the middle of a `data` command." +"However, your \"wrong\" branch and correct \"mytopic\" branch may differ in " +"files that you have modified locally, in which case the above checkout would " +"fail like this:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:958 en/git-fast-import.txt:988 en/git-fast-import.txt:1041 +#. type: delimited block - +#: en/git-checkout.txt:486 +#, no-wrap msgid "" -"See ``Responses To Commands'' below for details about how to read this " -"output safely." +"$ git checkout mytopic\n" +"error: You have local changes to 'frotz'; not switching branches.\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:966 +#: en/git-checkout.txt:490 msgid "" -"Causes fast-import to print a blob to a file descriptor previously arranged " -"with the `--cat-blob-fd` argument. The command otherwise has no impact on " -"the current import; its main purpose is to retrieve blobs that may be in " -"fast-import's memory but not accessible from the target repository." +"You can give the `-m` flag to the command, which would try a three-way " +"merge:" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:969 +#. type: delimited block - +#: en/git-checkout.txt:494 #, no-wrap -msgid "\t'cat-blob' SP <dataref> LF\n" +msgid "" +"$ git checkout -m mytopic\n" +"Auto-merging frotz\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:974 +#: en/git-checkout.txt:499 msgid "" -"The `<dataref>` can be either a mark reference (`:<idnum>`) set previously " -"or a full 40-byte SHA-1 of a Git blob, preexisting or ready to be written." +"After this three-way merge, the local modifications are _not_ registered in " +"your index file, so `git diff` would show you what changes you made since " +"the tip of the new branch." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:976 -msgid "Output uses the same format as `git cat-file --batch`:" +#: en/git-checkout.txt:502 +msgid "" +"When a merge conflict happens during switching branches with the `-m` " +"option, you would see something like this:" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:980 +#. type: delimited block - +#: en/git-checkout.txt:508 #, no-wrap msgid "" -"\t<sha1> SP 'blob' SP <size> LF\n" -"\t<contents> LF\n" -msgstr "" - -#. type: Plain text -#: en/git-fast-import.txt:985 -msgid "" -"This command can be used anywhere in the stream that comments are accepted. " -"In particular, the `cat-blob` command can be used in the middle of a commit " -"but not in the middle of a `data` command." +"$ git checkout -m mytopic\n" +"Auto-merging frotz\n" +"ERROR: Merge conflict in frotz\n" +"fatal: merge program failed\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:996 +#: en/git-checkout.txt:514 msgid "" -"Prints information about the object at a path to a file descriptor " -"previously arranged with the `--cat-blob-fd` argument. This allows printing " -"a blob from the active commit (with `cat-blob`) or copying a blob or tree " -"from a previous commit for use in the current one (with `filemodify`)." +"At this point, `git diff` shows the changes cleanly merged as in the " +"previous example, as well as the changes in the conflicted files. Edit and " +"resolve the conflict and mark it resolved with `git add` as usual:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:999 +#. type: delimited block - +#: en/git-checkout.txt:518 +#, no-wrap msgid "" -"The `ls` command can be used anywhere in the stream that comments are " -"accepted, including the middle of a commit." +"$ edit frotz\n" +"$ git add frotz\n" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1000 +#. type: Title = +#: en/git-check-ref-format.txt:2 #, no-wrap -msgid "Reading from the active commit" +msgid "git-check-ref-format(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1004 -msgid "" -"This form can only be used in the middle of a `commit`. The path names a " -"directory entry within fast-import's active commit. The path must be quoted " -"in this case." +#: en/git-check-ref-format.txt:7 +msgid "git-check-ref-format - Ensures that a reference name is well formed" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:1007 +#. type: Plain text +#: en/git-check-ref-format.txt:15 #, no-wrap -msgid "\t'ls' SP <path> LF\n" +msgid "" +"'git check-ref-format' [--normalize]\n" +" [--[no-]allow-onelevel] [--refspec-pattern]\n" +" <refname>\n" +"'git check-ref-format' --branch <branchname-shorthand>\n" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1009 -#, no-wrap -msgid "Reading from a named tree" +#. type: Plain text +#: en/git-check-ref-format.txt:20 +msgid "" +"Checks if a given 'refname' is acceptable, and exits with a non-zero status " +"if it is not." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1015 +#: en/git-check-ref-format.txt:27 msgid "" -"The `<dataref>` can be a mark reference (`:<idnum>`) or the full 40-byte " -"SHA-1 of a Git tag, commit, or tree object, preexisting or waiting to be " -"written. The path is relative to the top level of the tree named by " -"`<dataref>`." +"A reference is used in Git to specify branches and tags. A branch head is " +"stored in the `refs/heads` hierarchy, while a tag is stored in the " +"`refs/tags` hierarchy of the ref namespace (typically in " +"`$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags` directories or, as entries in " +"file `$GIT_DIR/packed-refs` if refs are packed by `git gc`)." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:1018 -#, no-wrap -msgid "\t'ls' SP <dataref> SP <path> LF\n" +#. type: Plain text +#: en/git-check-ref-format.txt:29 +msgid "Git imposes the following rules on how references are named:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1021 -msgid "See `filemodify` above for a detailed description of `<path>`." +#: en/git-check-ref-format.txt:33 +msgid "" +"They can include slash `/` for hierarchical (directory) grouping, but no " +"slash-separated component can begin with a dot `.` or end with the sequence " +"`.lock`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1023 -msgid "Output uses the same format as `git ls-tree <tree> -- <path>`:" +#: en/git-check-ref-format.txt:38 +msgid "" +"They must contain at least one `/`. This enforces the presence of a category " +"like `heads/`, `tags/` etc. but the actual names are not restricted. If the " +"`--allow-onelevel` option is used, this rule is waived." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1026 -#, no-wrap -msgid "\t<mode> SP ('blob' | 'tree' | 'commit') SP <dataref> HT <path> LF\n" +#. type: Plain text +#: en/git-check-ref-format.txt:40 +msgid "They cannot have two consecutive dots `..` anywhere." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1031 +#: en/git-check-ref-format.txt:44 msgid "" -"The <dataref> represents the blob, tree, or commit object at <path> and can " -"be used in later 'get-mark', 'cat-blob', 'filemodify', or 'ls' commands." +"They cannot have ASCII control characters (i.e. bytes whose values are lower " +"than \\040, or \\177 `DEL`), space, tilde `~`, caret `^`, or colon `:` " +"anywhere." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1034 +#: en/git-check-ref-format.txt:48 msgid "" -"If there is no file or subtree at that path, 'git fast-import' will instead " -"report" -msgstr "" - -#. type: delimited block = -#: en/git-fast-import.txt:1037 -#, no-wrap -msgid "\tmissing SP <path> LF\n" +"They cannot have question-mark `?`, asterisk `*`, or open bracket `[` " +"anywhere. See the `--refspec-pattern` option below for an exception to this " +"rule." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1046 +#: en/git-check-ref-format.txt:52 msgid "" -"Require that fast-import supports the specified feature, or abort if it does " -"not." +"They cannot begin or end with a slash `/` or contain multiple consecutive " +"slashes (see the `--normalize` option below for an exception to this rule)" msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:1049 -#, no-wrap -msgid "\t'feature' SP <feature> ('=' <argument>)? LF\n" +#. type: Plain text +#: en/git-check-ref-format.txt:54 +msgid "They cannot end with a dot `.`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1052 -msgid "The <feature> part of the command may be any one of the following:" +#: en/git-check-ref-format.txt:56 +msgid "They cannot contain a sequence `@{`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1053 en/git-fast-import.txt:1120 -#, no-wrap -msgid "date-format" +#: en/git-check-ref-format.txt:58 +msgid "They cannot be the single character `@`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1054 en/git-fast-import.txt:1122 -#, no-wrap -msgid "export-marks" +#: en/git-check-ref-format.txt:60 +msgid "They cannot contain a `\\`." msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1055 -#, no-wrap -msgid "relative-marks" +#. type: Plain text +#: en/git-check-ref-format.txt:65 +msgid "" +"These rules make it easy for shell script based tools to parse reference " +"names, pathname expansion by the shell when a reference name is used " +"unquoted (by mistake), and also avoid ambiguities in certain reference name " +"expressions (see linkgit:gitrevisions[7]):" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1056 -#, no-wrap -msgid "no-relative-marks" +#. type: Plain text +#: en/git-check-ref-format.txt:69 +msgid "" +"A double-dot `..` is often used as in `ref1..ref2`, and in some contexts " +"this notation means `^ref1 ref2` (i.e. not in `ref1` and in `ref2`)." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1057 en/git-fast-import.txt:1124 -#, no-wrap -msgid "force" +#: en/git-check-ref-format.txt:72 +msgid "" +"A tilde `~` and caret `^` are used to introduce the postfix 'nth parent' and " +"'peel onion' operation." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1061 +#: en/git-check-ref-format.txt:77 msgid "" -"Act as though the corresponding command-line option with a leading `--` was " -"passed on the command line (see OPTIONS, above)." +"A colon `:` is used as in `srcref:dstref` to mean \"use srcref\\'s value and " +"store it in dstref\" in fetch and push operations. It may also be used to " +"select a specific object such as with 'git cat-file': \"git cat-file blob " +"v1.3.3:refs.c\"." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1062 en/git-fast-import.txt:1121 -#, no-wrap -msgid "import-marks" +#: en/git-check-ref-format.txt:79 +msgid "at-open-brace `@{` is used as a notation to access a reflog entry." +msgstr "" + +#. type: Plain text +#: en/git-check-ref-format.txt:85 +msgid "" +"With the `--branch` option, it expands the ``previous branch syntax'' " +"`@{-n}`. For example, `@{-1}` is a way to refer the last branch you were " +"on. This option should be used by porcelains to accept this syntax anywhere " +"a branch name is expected, so they can act as if you typed the branch name." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1063 +#: en/git-check-ref-format.txt:88 #, no-wrap -msgid "import-marks-if-exists" +msgid "--[no-]allow-onelevel" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1071 +#: en/git-check-ref-format.txt:92 msgid "" -"Like --import-marks except in two respects: first, only one \"feature " -"import-marks\" or \"feature import-marks-if-exists\" command is allowed per " -"stream; second, an --import-marks= or --import-marks-if-exists command-line " -"option overrides any of these \"feature\" commands in the stream; third, " -"\"feature import-marks-if-exists\" like a corresponding command-line option " -"silently skips a nonexistent file." +"Controls whether one-level refnames are accepted (i.e., refnames that do not " +"contain multiple `/`-separated components). The default is " +"`--no-allow-onelevel`." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1072 +#: en/git-check-ref-format.txt:93 #, no-wrap -msgid "get-mark" +msgid "--refspec-pattern" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1073 -#, no-wrap -msgid "cat-blob" +#. type: Plain text +#: en/git-check-ref-format.txt:99 +msgid "" +"Interpret <refname> as a reference name pattern for a refspec (as used with " +"remote repositories). If this option is enabled, <refname> is allowed to " +"contain a single `*` in the refspec (e.g., `foo/bar*/baz` or `foo/bar*baz/` " +"but not `foo/bar*/baz*`)." msgstr "" #. type: Labeled list -#: en/git-fast-import.txt:1074 +#: en/git-check-ref-format.txt:100 #, no-wrap -msgid "ls" +msgid "--normalize" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1082 +#: en/git-check-ref-format.txt:107 msgid "" -"Require that the backend support the 'get-mark', 'cat-blob', or 'ls' command " -"respectively. Versions of fast-import not supporting the specified command " -"will exit with a message indicating so. This lets the import error out " -"early with a clear message, rather than wasting time on the early part of an " -"import before the unsupported command is detected." +"Normalize 'refname' by removing any leading slash (`/`) characters and " +"collapsing runs of adjacent slashes between name components into a single " +"slash. If the normalized refname is valid then print it to standard output " +"and exit with a status of 0, otherwise exit with a non-zero status. " +"(`--print` is a deprecated way to spell `--normalize`.)" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1083 +#. type: Plain text +#: en/git-check-ref-format.txt:113 +msgid "Print the name of the previous branch:" +msgstr "" + +#. type: delimited block - +#: en/git-check-ref-format.txt:116 #, no-wrap -msgid "notes" +msgid "$ git check-ref-format --branch @{-1}\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1088 +#: en/git-check-ref-format.txt:119 +msgid "Determine the reference name to use for a new branch:" +msgstr "" + +#. type: delimited block - +#: en/git-check-ref-format.txt:123 +#, no-wrap msgid "" -"Require that the backend support the 'notemodify' (N) subcommand to the " -"'commit' command. Versions of fast-import not supporting notes will exit " -"with a message indicating so." +"$ ref=$(git check-ref-format --normalize \"refs/heads/$newbranch\")||\n" +"{ echo \"we do not like '$newbranch' as a branch name.\" >&2 ; exit 1 ; }\n" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1089 +#. type: Title = +#: en/git-cherry-pick.txt:2 #, no-wrap -msgid "done" +msgid "git-cherry-pick(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1096 +#: en/git-cherry-pick.txt:7 +msgid "git-cherry-pick - Apply the changes introduced by some existing commits" +msgstr "" + +#. type: Plain text +#: en/git-cherry-pick.txt:16 +#, no-wrap msgid "" -"Error out if the stream ends without a 'done' command. Without this " -"feature, errors causing the frontend to end abruptly at a convenient point " -"in the stream can go undetected. This may occur, for example, if an import " -"front end dies in mid-operation without emitting SIGTERM or SIGKILL at its " -"subordinate git fast-import instance." +"'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]\n" +"\t\t [-S[<keyid>]] <commit>...\n" +"'git cherry-pick' --continue\n" +"'git cherry-pick' --quit\n" +"'git cherry-pick' --abort\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1103 +#: en/git-cherry-pick.txt:23 msgid "" -"Processes the specified option so that git fast-import behaves in a way that " -"suits the frontend's needs. Note that options specified by the frontend are " -"overridden by any options the user may specify to git fast-import itself." +"Given one or more existing commits, apply the change each one introduces, " +"recording a new commit for each. This requires your working tree to be " +"clean (no modifications from the HEAD commit)." msgstr "" -#. type: delimited block . -#: en/git-fast-import.txt:1106 -#, no-wrap -msgid " 'option' SP <option> LF\n" +#. type: Plain text +#: en/git-cherry-pick.txt:26 +msgid "When it is not obvious how to apply a change, the following happens:" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1111 +#: en/git-cherry-pick.txt:29 msgid "" -"The `<option>` part of the command may contain any of the options listed in " -"the OPTIONS section that do not change import semantics, without the leading " -"`--` and is treated in the same way." +"The current branch and `HEAD` pointer stay at the last commit successfully " +"made." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1115 +#: en/git-cherry-pick.txt:31 msgid "" -"Option commands must be the first commands on the input (not counting " -"feature commands), to give an option command after any non-option command is " -"an error." +"The `CHERRY_PICK_HEAD` ref is set to point at the commit that introduced the " +"change that is difficult to apply." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1118 +#: en/git-cherry-pick.txt:33 msgid "" -"The following command-line options change import semantics and may therefore " -"not be passed as option:" +"Paths in which the change applied cleanly are updated both in the index file " +"and in your working tree." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1123 -msgid "cat-blob-fd" +#: en/git-cherry-pick.txt:38 +msgid "" +"For conflicting paths, the index file records up to three versions, as " +"described in the \"TRUE MERGE\" section of linkgit:git-merge[1]. The " +"working tree files will include a description of the conflict bracketed by " +"the usual conflict markers `<<<<<<<` and `>>>>>>>`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1129 -msgid "" -"If the `done` feature is not in use, treated as if EOF was read. This can " -"be used to tell fast-import to finish early." +#: en/git-cherry-pick.txt:39 +msgid "No other modifications are made." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1133 -msgid "" -"If the `--done` command-line option or `feature done` command is in use, the " -"`done` command is mandatory and marks the end of the stream." +#: en/git-cherry-pick.txt:42 +msgid "See linkgit:git-merge[1] for some hints on resolving such conflicts." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1135 +#. type: Labeled list +#: en/git-cherry-pick.txt:45 en/git-merge.txt:110 en/git-revert.txt:35 en/git-verify-commit.txt:27 #, no-wrap -msgid "Responses To Commands" +msgid "<commit>..." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1142 +#: en/git-cherry-pick.txt:54 msgid "" -"New objects written by fast-import are not available immediately. Most " -"fast-import commands have no visible effect until the next checkpoint (or " -"completion). The frontend can send commands to fill fast-import's input " -"pipe without worrying about how quickly they will take effect, which " -"improves performance by simplifying scheduling." +"Commits to cherry-pick. For a more complete list of ways to spell commits, " +"see linkgit:gitrevisions[7]. Sets of commits can be passed but no traversal " +"is done by default, as if the `--no-walk` option was specified, see " +"linkgit:git-rev-list[1]. Note that specifying a range will feed all " +"<commit>... arguments to a single revision walk (see a later example that " +"uses 'maint master..next')." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1149 +#: en/git-cherry-pick.txt:59 msgid "" -"For some frontends, though, it is useful to be able to read back data from " -"the current repository as it is being updated (for example when the source " -"material describes objects in terms of patches to be applied to previously " -"imported objects). This can be accomplished by connecting the frontend and " -"fast-import via bidirectional pipes:" +"With this option, 'git cherry-pick' will let you edit the commit message " +"prior to committing." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1154 +#. type: Labeled list +#: en/git-cherry-pick.txt:60 en/git-clean.txt:62 #, no-wrap -msgid "" -"\tmkfifo fast-import-output\n" -"\tfrontend <fast-import-output |\n" -"\tgit fast-import >fast-import-output\n" +msgid "-x" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1158 +#: en/git-cherry-pick.txt:73 msgid "" -"A frontend set up this way can use `progress`, `get-mark`, `ls`, and " -"`cat-blob` commands to read information from the import in progress." +"When recording the commit, append a line that says \"(cherry picked from " +"commit ...)\" to the original commit message in order to indicate which " +"commit this change was cherry-picked from. This is done only for cherry " +"picks without conflicts. Do not use this option if you are cherry-picking " +"from your private branch because the information is useless to the " +"recipient. If on the other hand you are cherry-picking between two publicly " +"visible branches (e.g. backporting a fix to a maintenance branch for an " +"older release from a development branch), adding this information can be " +"useful." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1162 +#: en/git-cherry-pick.txt:78 msgid "" -"To avoid deadlock, such frontends must completely consume any pending output " -"from `progress`, `ls`, `get-mark`, and `cat-blob` before performing writes " -"to fast-import that might block." +"It used to be that the command defaulted to do `-x` described above, and " +"`-r` was to disable it. Now the default is not to do `-x` so this option is " +"a no-op." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1164 +#. type: Labeled list +#: en/git-cherry-pick.txt:79 en/git-revert.txt:49 #, no-wrap -msgid "Crash Reports" +msgid "-m parent-number" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1170 -msgid "" -"If fast-import is supplied invalid input it will terminate with a non-zero " -"exit status and create a crash report in the top level of the Git repository " -"it was importing into. Crash reports contain a snapshot of the internal " -"fast-import state as well as the most recent commands that lead up to the " -"crash." +#. type: Labeled list +#: en/git-cherry-pick.txt:80 en/git-revert.txt:50 +#, no-wrap +msgid "--mainline parent-number" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1177 +#: en/git-cherry-pick.txt:86 msgid "" -"All recent commands (including stream comments, file changes and progress " -"commands) are shown in the command history within the crash report, but raw " -"file data and commit messages are excluded from the crash report. This " -"exclusion saves space within the report file and reduces the amount of " -"buffering that fast-import must perform during execution." +"Usually you cannot cherry-pick a merge because you do not know which side of " +"the merge should be considered the mainline. This option specifies the " +"parent number (starting from 1) of the mainline and allows cherry-pick to " +"replay the change relative to the specified parent." +msgstr "" + +#. type: Labeled list +#: en/git-cherry-pick.txt:88 en/git-revert.txt:70 en/merge-options.txt:2 +#, no-wrap +msgid "--no-commit" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1185 +#: en/git-cherry-pick.txt:96 msgid "" -"After writing a crash report fast-import will close the current packfile and " -"export the marks table. This allows the frontend developer to inspect the " -"repository state and resume the import from the point where it crashed. The " -"modified branches and tags are not updated during a crash, as the import did " -"not complete successfully. Branch and tag information can be found in the " -"crash report and must be applied manually if the update is needed." +"Usually the command automatically creates a sequence of commits. This flag " +"applies the changes necessary to cherry-pick each named commit to your " +"working tree and the index, without making any commit. In addition, when " +"this option is used, your index does not have to match the HEAD commit. The " +"cherry-pick is done against the beginning state of your index." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1187 -msgid "An example crash:" +#: en/git-cherry-pick.txt:99 +msgid "" +"This is useful when cherry-picking more than one commits' effect to your " +"index in a row." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1203 -#, no-wrap +#. type: Plain text +#: en/git-cherry-pick.txt:104 en/git-revert.txt:93 msgid "" -"\t$ cat >in <<END_OF_INPUT\n" -"\t# my very first test commit\n" -"\tcommit refs/heads/master\n" -"\tcommitter Shawn O. Pearce <spearce> 19283 -0400\n" -"\t# who is that guy anyway?\n" -"\tdata <<EOF\n" -"\tthis is my commit\n" -"\tEOF\n" -"\tM 644 inline .gitignore\n" -"\tdata <<EOF\n" -"\t.gitignore\n" -"\tEOF\n" -"\tM 777 inline bob\n" -"\tEND_OF_INPUT\n" +"Add Signed-off-by line at the end of the commit message. See the signoff " +"option in linkgit:git-commit[1] for more information." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1207 +#. type: Labeled list +#: en/git-cherry-pick.txt:111 en/merge-options.txt:30 #, no-wrap -msgid "" -"\t$ git fast-import <in\n" -"\tfatal: Corrupt mode: M 777 inline bob\n" -"\tfast-import: dumping crash report to .git/fast_import_crash_8434\n" +msgid "--ff" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1213 -#, no-wrap +#. type: Plain text +#: en/git-cherry-pick.txt:115 msgid "" -"\t$ cat .git/fast_import_crash_8434\n" -"\tfast-import crash report:\n" -"\t fast-import process: 8434\n" -"\t parent process : 1391\n" -"\t at Sat Sep 1 00:58:12 2007\n" +"If the current HEAD is the same as the parent of the cherry-pick'ed commit, " +"then a fast forward to this commit will be performed." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1215 +#. type: Labeled list +#: en/git-cherry-pick.txt:116 en/git-commit.txt:173 en/git-notes.txt:158 #, no-wrap -msgid "\tfatal: Corrupt mode: M 777 inline bob\n" +msgid "--allow-empty" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1225 -#, no-wrap +#. type: Plain text +#: en/git-cherry-pick.txt:128 msgid "" -"\tMost Recent Commands Before Crash\n" -"\t---------------------------------\n" -"\t # my very first test commit\n" -"\t commit refs/heads/master\n" -"\t committer Shawn O. Pearce <spearce> 19283 -0400\n" -"\t # who is that guy anyway?\n" -"\t data <<EOF\n" -"\t M 644 inline .gitignore\n" -"\t data <<EOF\n" +"By default, cherry-picking an empty commit will fail, indicating that an " +"explicit invocation of `git commit --allow-empty` is required. This option " +"overrides that behavior, allowing empty commits to be preserved " +"automatically in a cherry-pick. Note that when \"--ff\" is in effect, empty " +"commits that meet the \"fast-forward\" requirement will be kept even without " +"this option. Note also, that use of this option only keeps commits that " +"were initially empty (i.e. the commit recorded the same tree as its " +"parent). Commits which are made empty due to a previous commit are " +"dropped. To force the inclusion of those commits use " +"`--keep-redundant-commits`." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1226 +#. type: Labeled list +#: en/git-cherry-pick.txt:129 en/git-commit.txt:179 #, no-wrap -msgid "M 777 inline bob\n" +msgid "--allow-empty-message" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1229 -#, no-wrap +#. type: Plain text +#: en/git-cherry-pick.txt:133 msgid "" -"Active Branch LRU\n" -"-----------------\n" +"By default, cherry-picking a commit with an empty message will fail. This " +"option overrides that behavior, allowing commits with empty messages to be " +"cherry picked." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1230 +#. type: Labeled list +#: en/git-cherry-pick.txt:134 #, no-wrap -msgid "active_branches = 1 cur, 5 max\n" +msgid "--keep-redundant-commits" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1233 -msgid "pos clock name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +#. type: Plain text +#: en/git-cherry-pick.txt:140 +msgid "" +"If a commit being cherry picked duplicates a commit already in the current " +"history, it will become empty. By default these redundant commits cause " +"`cherry-pick` to stop so the user can examine the commit. This option " +"overrides that behavior and creates an empty commit object. Implies " +"`--allow-empty`." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1234 -msgid "0 refs/heads/master" +#. type: Labeled list +#: en/git-cherry-pick.txt:141 en/git-notes.txt:184 en/git-rebase.txt:283 en/git-revert.txt:94 en/git-svn.txt:640 en/merge-options.txt:78 +#, no-wrap +msgid "--strategy=<strategy>" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1238 -#, no-wrap +#. type: Plain text +#: en/git-cherry-pick.txt:145 en/git-revert.txt:98 msgid "" -"Inactive Branches\n" -"-----------------\n" -"refs/heads/master:\n" +"Use the given merge strategy. Should only be used once. See the MERGE " +"STRATEGIES section in linkgit:git-merge[1] for details." msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1244 +#. type: Labeled list +#: en/git-cherry-pick.txt:146 en/git-revert.txt:99 #, no-wrap -msgid "" -"status : active loaded dirty\n" -"tip commit : 0000000000000000000000000000000000000000\n" -"old tree : 0000000000000000000000000000000000000000\n" -"cur tree : 0000000000000000000000000000000000000000\n" -"commit clock: 0\n" -"last pack :\n" +msgid "-X<option>" msgstr "" -#. type: delimited block = -#: en/git-fast-import.txt:1248 -msgid "------------------- END OF CRASH REPORT" +#. type: Labeled list +#: en/git-cherry-pick.txt:147 en/git-revert.txt:100 en/merge-options.txt:86 +#, no-wrap +msgid "--strategy-option=<option>" +msgstr "" + +#. type: Plain text +#: en/git-cherry-pick.txt:150 en/git-revert.txt:103 +msgid "" +"Pass the merge strategy-specific option through to the merge strategy. See " +"linkgit:git-merge[1] for details." msgstr "" #. type: Title - -#: en/git-fast-import.txt:1251 +#: en/git-cherry-pick.txt:152 en/git-revert.txt:105 #, no-wrap -msgid "Tips and Tricks" +msgid "SEQUENCER SUBCOMMANDS" +msgstr "" + +#. type: Labeled list +#: en/git-cherry-pick.txt:157 +#, no-wrap +msgid "`git cherry-pick master`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1254 +#: en/git-cherry-pick.txt:161 msgid "" -"The following tips and tricks have been collected from various users of " -"fast-import, and are offered here as suggestions." +"Apply the change introduced by the commit at the tip of the master branch " +"and create a new commit with this change." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1256 +#. type: Labeled list +#: en/git-cherry-pick.txt:162 #, no-wrap -msgid "Use One Mark Per Commit" +msgid "`git cherry-pick ..master`" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1264 -msgid "" -"When doing a repository conversion, use a unique mark per commit (`mark " -":<n>`) and supply the --export-marks option on the command line. " -"fast-import will dump a file which lists every mark and the Git object SHA-1 " -"that corresponds to it. If the frontend can tie the marks back to the " -"source repository, it is easy to verify the accuracy and completeness of the " -"import by comparing each Git commit to the corresponding source revision." +#. type: Labeled list +#: en/git-cherry-pick.txt:163 +#, no-wrap +msgid "`git cherry-pick ^HEAD master`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1268 +#: en/git-cherry-pick.txt:167 msgid "" -"Coming from a system such as Perforce or Subversion this should be quite " -"simple, as the fast-import mark can also be the Perforce changeset number or " -"the Subversion revision number." +"Apply the changes introduced by all commits that are ancestors of master but " +"not of HEAD to produce new commits." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1270 +#. type: Labeled list +#: en/git-cherry-pick.txt:168 #, no-wrap -msgid "Freely Skip Around Branches" +msgid "`git cherry-pick maint next ^master`" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1275 -msgid "" -"Don't bother trying to optimize the frontend to stick to one branch at a " -"time during an import. Although doing so might be slightly faster for " -"fast-import, it tends to increase the complexity of the frontend code " -"considerably." +#. type: Labeled list +#: en/git-cherry-pick.txt:169 +#, no-wrap +msgid "`git cherry-pick maint master..next`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1279 +#: en/git-cherry-pick.txt:176 msgid "" -"The branch LRU builtin to fast-import tends to behave very well, and the " -"cost of activating an inactive branch is so low that bouncing around between " -"branches has virtually no impact on import performance." +"Apply the changes introduced by all commits that are ancestors of maint or " +"next, but not master or any of its ancestors. Note that the latter does not " +"mean `maint` and everything between `master` and `next`; specifically, " +"`maint` will not be used if it is included in `master`." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1281 +#. type: Labeled list +#: en/git-cherry-pick.txt:177 #, no-wrap -msgid "Handling Renames" +msgid "`git cherry-pick master~4 master~2`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1286 +#: en/git-cherry-pick.txt:182 msgid "" -"When importing a renamed file or directory, simply delete the old name(s) " -"and modify the new name(s) during the corresponding commit. Git performs " -"rename detection after-the-fact, rather than explicitly during a commit." +"Apply the changes introduced by the fifth and third last commits pointed to " +"by master and create 2 new commits with these changes." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1288 +#. type: Labeled list +#: en/git-cherry-pick.txt:183 #, no-wrap -msgid "Use Tag Fixup Branches" +msgid "`git cherry-pick -n master~1 next`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1292 +#: en/git-cherry-pick.txt:189 msgid "" -"Some other SCM systems let the user create a tag from multiple files which " -"are not from the same commit/changeset. Or to create tags which are a " -"subset of the files available in the repository." +"Apply to the working tree and the index the changes introduced by the second " +"last commit pointed to by master and by the last commit pointed to by next, " +"but do not create any commit with these changes." msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1299 -msgid "" -"Importing these tags as-is in Git is impossible without making at least one " -"commit which ``fixes up'' the files to match the content of the tag. Use " -"fast-import's `reset` command to reset a dummy branch outside of your normal " -"branch space to the base commit for the tag, then commit one or more file " -"fixup commits, and finally tag the dummy branch." +#. type: Labeled list +#: en/git-cherry-pick.txt:190 +#, no-wrap +msgid "`git cherry-pick --ff ..next`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1305 +#: en/git-cherry-pick.txt:197 msgid "" -"For example since all normal branches are stored under `refs/heads/` name " -"the tag fixup branch `TAG_FIXUP`. This way it is impossible for the fixup " -"branch used by the importer to have namespace conflicts with real branches " -"imported from the source (the name `TAG_FIXUP` is not " -"`refs/heads/TAG_FIXUP`)." +"If history is linear and HEAD is an ancestor of next, update the working " +"tree and advance the HEAD pointer to match next. Otherwise, apply the " +"changes introduced by those commits that are in next but not HEAD to the " +"current branch, creating a new commit for each new change." +msgstr "" + +#. type: Labeled list +#: en/git-cherry-pick.txt:198 +#, no-wrap +msgid "`git rev-list --reverse master -- README | git cherry-pick -n --stdin`" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1311 +#: en/git-cherry-pick.txt:204 msgid "" -"When committing fixups, consider using `merge` to connect the commit(s) " -"which are supplying file revisions to the fixup branch. Doing so will allow " -"tools such as 'git blame' to track through the real commit history and " -"properly annotate the source files." +"Apply the changes introduced by all commits on the master branch that " +"touched README to the working tree and index, so the result can be inspected " +"and made into a single new commit if suitable." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1314 +#: en/git-cherry-pick.txt:208 msgid "" -"After fast-import terminates the frontend will need to do `rm " -".git/TAG_FIXUP` to remove the dummy branch." +"The following sequence attempts to backport a patch, bails out because the " +"code the patch applies to has changed too much, and then tries again, this " +"time exercising more care about matching up context lines." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1316 +#. type: delimited block - +#: en/git-cherry-pick.txt:214 #, no-wrap -msgid "Import Now, Repack Later" +msgid "" +"$ git cherry-pick topic^ <1>\n" +"$ git diff <2>\n" +"$ git reset --merge ORIG_HEAD <3>\n" +"$ git cherry-pick -Xpatience topic^ <4>\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1320 +#: en/git-cherry-pick.txt:219 msgid "" -"As soon as fast-import completes the Git repository is completely valid and " -"ready for use. Typically this takes only a very short time, even for " -"considerably large projects (100,000+ commits)." +"apply the change that would be shown by `git show topic^`. In this example, " +"the patch does not apply cleanly, so information about the conflict is " +"written to the index and working tree and no new commit results." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1327 -msgid "" -"However repacking the repository is necessary to improve data locality and " -"access performance. It can also take hours on extremely large projects " -"(especially if -f and a large --window parameter is used). Since repacking " -"is safe to run alongside readers and writers, run the repack in the " -"background and let it finish when it finishes. There is no reason to wait " -"to explore your new Git project!" +#: en/git-cherry-pick.txt:220 +msgid "summarize changes to be reconciled" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1332 +#: en/git-cherry-pick.txt:223 msgid "" -"If you choose to wait for the repack, don't try to run benchmarks or " -"performance tests until repacking is completed. fast-import outputs " -"suboptimal packfiles that are simply never seen in real use situations." -msgstr "" - -#. type: Title ~ -#: en/git-fast-import.txt:1334 -#, no-wrap -msgid "Repacking Historical Data" +"cancel the cherry-pick. In other words, return to the pre-cherry-pick " +"state, preserving any local modifications you had in the working tree." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1341 +#: en/git-cherry-pick.txt:226 msgid "" -"If you are repacking very old imported data (e.g. older than the last year), " -"consider expending some extra CPU time and supplying --window=50 (or higher) " -"when you run 'git repack'. This will take longer, but will also produce a " -"smaller packfile. You only need to expend the effort once, and everyone " -"using your project will benefit from the smaller repository." +"try to apply the change introduced by `topic^` again, spending extra time to " +"avoid mistakes based on incorrectly matching context lines." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1343 +#. type: Title = +#: en/git-cherry.txt:2 #, no-wrap -msgid "Include Some Progress Messages" +msgid "git-cherry(1)" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1350 -msgid "" -"Every once in a while have your frontend emit a `progress` message to " -"fast-import. The contents of the messages are entirely free-form, so one " -"suggestion would be to output the current month and year each time the " -"current commit date moves into the next month. Your users will feel better " -"knowing how much of the data stream has been processed." +#: en/git-cherry.txt:7 +msgid "git-cherry - Find commits yet to be applied to upstream" msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1353 +#. type: Plain text +#: en/git-cherry.txt:12 #, no-wrap -msgid "Packfile Optimization" +msgid "'git cherry' [-v] [<upstream> [<head> [<limit>]]]\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1359 +#: en/git-cherry.txt:17 msgid "" -"When packing a blob fast-import always attempts to deltify against the last " -"blob written. Unless specifically arranged for by the frontend, this will " -"probably not be a prior version of the same file, so the generated delta " -"will not be the smallest possible. The resulting packfile will be " -"compressed, but will not be optimal." +"Determine whether there are commits in `<head>..<upstream>` that are " +"equivalent to those in the range `<limit>..<head>`." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1367 +#: en/git-cherry.txt:22 msgid "" -"Frontends which have efficient access to all revisions of a single file (for " -"example reading an RCS/CVS ,v file) can choose to supply all revisions of " -"that file as a sequence of consecutive `blob` commands. This allows " -"fast-import to deltify the different file revisions against each other, " -"saving space in the final packfile. Marks can be used to later identify " -"individual file revisions during a sequence of `commit` commands." +"The equivalence test is based on the diff, after removing whitespace and " +"line numbers. git-cherry therefore detects when commits have been " +"\"copied\" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or " +"linkgit:git-rebase[1]." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1374 +#: en/git-cherry.txt:26 msgid "" -"The packfile(s) created by fast-import do not encourage good disk access " -"patterns. This is caused by fast-import writing the data in the order it is " -"received on standard input, while Git typically organizes data within " -"packfiles to make the most recent (current tip) data appear before " -"historical data. Git also clusters commits together, speeding up revision " -"traversal through better cache locality." +"Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with `-` for " +"commits that have an equivalent in <upstream>, and `+` for commits that do " +"not." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1381 -msgid "" -"For this reason it is strongly recommended that users repack the repository " -"with `git repack -a -d` after fast-import completes, allowing Git to " -"reorganize the packfiles for faster data access. If blob deltas are " -"suboptimal (see above) then also adding the `-f` option to force " -"recomputation of all deltas can significantly reduce the final packfile size " -"(30-50% smaller can be quite typical)." +#: en/git-cherry.txt:31 +msgid "Show the commit subjects next to the SHA1s." msgstr "" -#. type: Title - -#: en/git-fast-import.txt:1384 +#. type: Labeled list +#: en/git-cherry.txt:32 en/git-rebase.txt:237 #, no-wrap -msgid "Memory Utilization" +msgid "<upstream>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1390 +#: en/git-cherry.txt:35 msgid "" -"There are a number of factors which affect how much memory fast-import " -"requires to perform an import. Like critical sections of core Git, " -"fast-import uses its own memory allocators to amortize any overheads " -"associated with malloc. In practice fast-import tends to amortize any " -"malloc overheads to 0, due to its use of large block allocations." +"Upstream branch to search for equivalent commits. Defaults to the upstream " +"branch of HEAD." msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1392 +#. type: Labeled list +#: en/git-cherry.txt:36 en/git.txt:824 #, no-wrap -msgid "per object" +msgid "<head>" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1399 -msgid "" -"fast-import maintains an in-memory structure for every object written in " -"this execution. On a 32 bit system the structure is 32 bytes, on a 64 bit " -"system the structure is 40 bytes (due to the larger pointer sizes). Objects " -"in the table are not deallocated until fast-import terminates. Importing 2 " -"million objects on a 32 bit system will require approximately 64 MiB of " -"memory." +#: en/git-cherry.txt:38 en/git-rebase.txt:244 +msgid "Working branch; defaults to HEAD." msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1405 -msgid "" -"The object table is actually a hashtable keyed on the object name (the " -"unique SHA-1). This storage configuration allows fast-import to reuse an " -"existing or already written object and avoid writing duplicates to the " -"output packfile. Duplicate blobs are surprisingly common in an import, " -"typically due to branch merges in the source." +#: en/git-cherry.txt:41 +msgid "Do not report commits up to (and including) limit." msgstr "" #. type: Title ~ -#: en/git-fast-import.txt:1407 +#: en/git-cherry.txt:46 #, no-wrap -msgid "per mark" +msgid "Patch workflows" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1413 +#: en/git-cherry.txt:52 msgid "" -"Marks are stored in a sparse array, using 1 pointer (4 bytes or 8 bytes, " -"depending on pointer size) per mark. Although the array is sparse, " -"frontends are still strongly encouraged to use marks between 1 and n, where " -"n is the total number of marks required for this import." +"git-cherry is frequently used in patch-based workflows (see " +"linkgit:gitworkflows[7]) to determine if a series of patches has been " +"applied by the upstream maintainer. In such a workflow you might create and " +"send a topic branch like this:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1415 +#. type: delimited block - +#: en/git-cherry.txt:58 #, no-wrap -msgid "per branch" +msgid "" +"$ git checkout -b topic origin/master\n" +"# work and create some commits\n" +"$ git format-patch origin/master\n" +"$ git send-email ... 00*\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1418 +#: en/git-cherry.txt:62 msgid "" -"Branches are classified as active and inactive. The memory usage of the two " -"classes is significantly different." +"Later, you can see whether your changes have been applied by saying (still " +"on `topic`):" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1424 +#. type: delimited block - +#: en/git-cherry.txt:66 +#, no-wrap msgid "" -"Inactive branches are stored in a structure which uses 96 or 120 bytes (32 " -"bit or 64 bit systems, respectively), plus the length of the branch name " -"(typically under 200 bytes), per branch. fast-import will easily handle as " -"many as 10,000 inactive branches in under 2 MiB of memory." +"$ git fetch # update your notion of origin/master\n" +"$ git cherry -v\n" +msgstr "" + +#. type: Title ~ +#: en/git-cherry.txt:69 +#, no-wrap +msgid "Concrete example" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1431 +#: en/git-cherry.txt:73 msgid "" -"Active branches have the same overhead as inactive branches, but also " -"contain copies of every tree that has been recently modified on that " -"branch. If subtree `include` has not been modified since the branch became " -"active, its contents will not be loaded into memory, but if subtree `src` " -"has been modified by a commit since the branch became active, then its " -"contents will be loaded in memory." +"In a situation where topic consisted of three commits, and the maintainer " +"applied two of them, the situation might look like:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1435 +#. type: delimited block - +#: en/git-cherry.txt:86 +#, no-wrap msgid "" -"As active branches store metadata about the files contained on that branch, " -"their in-memory storage size can grow to a considerable size (see below)." +"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" +"* 7654321 (origin/master) upstream tip commit\n" +"[... snip some other commits ...]\n" +"* cccc111 cherry-pick of C\n" +"* aaaa111 cherry-pick of A\n" +"[... snip a lot more that has happened ...]\n" +"| * cccc000 (topic) commit C\n" +"| * bbbb000 commit B\n" +"| * aaaa000 commit A\n" +"|/\n" +"o 1234567 branch point\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1440 +#: en/git-cherry.txt:90 msgid "" -"fast-import automatically moves active branches to inactive status based on " -"a simple least-recently-used algorithm. The LRU chain is updated on each " -"`commit` command. The maximum number of active branches can be increased or " -"decreased on the command line with --active-branches=." +"In such cases, git-cherry shows a concise summary of what has yet to be " +"applied:" msgstr "" -#. type: Title ~ -#: en/git-fast-import.txt:1442 +#. type: delimited block - +#: en/git-cherry.txt:96 #, no-wrap -msgid "per active tree" +msgid "" +"$ git cherry origin/master topic\n" +"- cccc000... commit C\n" +"+ bbbb000... commit B\n" +"- aaaa000... commit A\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1447 +#: en/git-cherry.txt:102 msgid "" -"Trees (aka directories) use just 12 bytes of memory on top of the memory " -"required for their entries (see ``per active file'' below). The cost of a " -"tree is virtually 0, as its overhead amortizes out over the individual file " -"entries." +"Here, we see that the commits A and C (marked with `-`) can be dropped from " +"your `topic` branch when you rebase it on top of `origin/master`, while the " +"commit B (marked with `+`) still needs to be kept so that it will be sent to " +"be applied to `origin/master`." msgstr "" #. type: Title ~ -#: en/git-fast-import.txt:1449 +#: en/git-cherry.txt:105 #, no-wrap -msgid "per active file entry" +msgid "Using a limit" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1455 +#: en/git-cherry.txt:110 msgid "" -"Files (and pointers to subtrees) within active trees require 52 or 64 bytes " -"(32/64 bit platforms) per entry. To conserve space, file and tree names are " -"pooled in a common string table, allowing the filename ``Makefile'' to use " -"just 16 bytes (after including the string header overhead) no matter how " -"many times it occurs within the project." +"The optional <limit> is useful in cases where your topic is based on other " +"work that is not in upstream. Expanding on the previous example, this might " +"look like:" msgstr "" -#. type: Plain text -#: en/git-fast-import.txt:1460 +#. type: delimited block - +#: en/git-cherry.txt:126 +#, no-wrap msgid "" -"The active branch LRU, when coupled with the filename string pool and lazy " -"loading of subtrees, allows fast-import to efficiently import projects with " -"2,000+ branches and 45,114+ files in a very limited memory footprint (less " -"than 2.7 MiB per active branch)." -msgstr "" - -#. type: Title - -#: en/git-fast-import.txt:1462 -#, no-wrap -msgid "Signals" +"$ git log --graph --oneline --decorate --boundary origin/master...topic\n" +"* 7654321 (origin/master) upstream tip commit\n" +"[... snip some other commits ...]\n" +"* cccc111 cherry-pick of C\n" +"* aaaa111 cherry-pick of A\n" +"[... snip a lot more that has happened ...]\n" +"| * cccc000 (topic) commit C\n" +"| * bbbb000 commit B\n" +"| * aaaa000 commit A\n" +"| * 0000fff (base) unpublished stuff F\n" +"[... snip ...]\n" +"| * 0000aaa unpublished stuff A\n" +"|/\n" +"o 1234567 merge-base between upstream and topic\n" msgstr "" #. type: Plain text -#: en/git-fast-import.txt:1468 +#: en/git-cherry.txt:130 msgid "" -"Sending *SIGUSR1* to the 'git fast-import' process ends the current packfile " -"early, simulating a `checkpoint` command. The impatient operator can use " -"this facility to peek at the objects and refs from an import in progress, at " -"the cost of some added running time and worse compression." +"By specifying `base` as the limit, you can avoid listing commits between " +"`base` and `topic`:" msgstr "" -#. type: Labeled list -#: en/git-fast-import.txt:1472 en/cmds-ancillarymanipulators.txt:4 +#. type: delimited block - +#: en/git-cherry.txt:136 #, no-wrap -msgid "linkgit:git-fast-export[1]" +msgid "" +"$ git cherry origin/master topic base\n" +"- cccc000... commit C\n" +"+ bbbb000... commit B\n" +"- aaaa000... commit A\n" msgstr "" #. type: Title = -#: en/git-fetch-pack.txt:2 +#: en/git-citool.txt:2 #, no-wrap -msgid "git-fetch-pack(1)" +msgid "git-citool(1)" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:7 -msgid "git-fetch-pack - Receive missing objects from another repository" +#: en/git-citool.txt:7 +msgid "git-citool - Graphical alternative to git-commit" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:16 +#: en/git-citool.txt:12 #, no-wrap -msgid "" -"'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]\n" -"\t[--upload-pack=<git-upload-pack>]\n" -"\t[--depth=<n>] [--no-progress]\n" -"\t[-v] <repository> [<refs>...]\n" +msgid "'git citool'\n" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:21 +#: en/git-citool.txt:19 msgid "" -"Usually you would want to use 'git fetch', which is a higher level wrapper " -"of this command, instead." +"A Tcl/Tk based graphical interface to review modified files, stage them into " +"the index, enter a commit message and record the new commit onto the current " +"branch. This interface is an alternative to the less interactive 'git " +"commit' program." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:27 +#: en/git-citool.txt:22 msgid "" -"Invokes 'git-upload-pack' on a possibly remote repository and asks it to " -"send objects missing from this repository, to update the named heads. The " -"list of commits available locally is found out by scanning the local refs/ " -"hierarchy and sent to 'git-upload-pack' running on the other end." +"'git citool' is actually a standard alias for `git gui citool`. See " +"linkgit:git-gui[1] for more details." +msgstr "" + +#. type: Title = +#: en/git-clean.txt:2 +#, no-wrap +msgid "git-clean(1)" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:31 -msgid "" -"This command degenerates to download everything to complete the asked refs " -"from the remote side when the local side does not have a common ancestor " -"commit." +#: en/git-clean.txt:7 +msgid "git-clean - Remove untracked files from the working tree" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:37 -msgid "Fetch all remote refs." +#: en/git-clean.txt:12 +#, no-wrap +msgid "" +"'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] " +"<path>...\n" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:43 en/git-send-pack.txt:46 +#: en/git-clean.txt:18 msgid "" -"Take the list of refs from stdin, one per line. If there are refs specified " -"on the command line in addition to this option, then the refs from stdin are " -"processed after those on the command line." +"Cleans the working tree by recursively removing files that are not under " +"version control, starting from the current directory." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:47 en/git-send-pack.txt:50 +#: en/git-clean.txt:22 msgid "" -"If `--stateless-rpc` is specified together with this option then the list of " -"refs must be in packet format (pkt-line). Each ref must be in a separate " -"packet, and the list must end with a flush packet." +"Normally, only files unknown to Git are removed, but if the `-x` option is " +"specified, ignored files are also removed. This can, for example, be useful " +"to remove all build products." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:52 +#: en/git-clean.txt:25 msgid "" -"Pass `-q` flag to 'git unpack-objects'; this makes the cloning process less " -"verbose." +"If any optional `<path>...` arguments are given, only those paths are " +"affected." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:59 +#: en/git-clean.txt:33 msgid "" -"Do not invoke 'git unpack-objects' on received data, but create a single " -"packfile out of it instead, and store it in the object database. If provided " -"twice then the pack is locked against repacking." +"Remove untracked directories in addition to untracked files. If an " +"untracked directory is managed by a different Git repository, it is not " +"removed by default. Use -f option twice if you really want to remove such a " +"directory." msgstr "" -#. type: Labeled list -#: en/git-fetch-pack.txt:60 en/git-pack-objects.txt:184 en/git-send-pack.txt:64 -#, no-wrap -msgid "--thin" +#. type: Plain text +#: en/git-clean.txt:41 +msgid "" +"If the Git configuration variable clean.requireForce is not set to false, " +"'git clean' will refuse to delete files or directories unless given -f, -n " +"or -i. Git will refuse to delete directories with .git sub directory or file " +"unless a second -f is given." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:63 +#: en/git-clean.txt:46 msgid "" -"Fetch a \"thin\" pack, which records objects in deltified form based on " -"objects not included in the pack to reduce network traffic." +"Show what would be done and clean files interactively. See ``Interactive " +"mode'' for details." msgstr "" -#. type: Labeled list -#: en/git-fetch-pack.txt:64 en/git-pack-objects.txt:81 -#, no-wrap -msgid "--include-tag" +#. type: Plain text +#: en/git-clean.txt:50 +msgid "Don't actually remove anything, just show what would be done." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:69 +#: en/git-clean.txt:55 msgid "" -"If the remote side supports it, annotated tags objects will be downloaded on " -"the same connection as the other objects if the object the tag references is " -"downloaded. The caller must otherwise determine the tags this option made " -"available." +"Be quiet, only report errors, but not the files that are successfully " +"removed." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:70 +#: en/git-clean.txt:56 #, no-wrap -msgid "--upload-pack=<git-upload-pack>" -msgstr "" - -#. type: Plain text -#: en/git-fetch-pack.txt:81 -msgid "" -"Use this to specify the path to 'git-upload-pack' on the remote side, if is " -"not found on your $PATH. Installations of sshd ignores the user's " -"environment setup scripts for login shells (e.g. .bash_profile) and your " -"privately installed git may not be found on the system default $PATH. " -"Another workaround suggested is to set up your $PATH in \".bashrc\", but " -"this flag is for people who do not want to pay the overhead for " -"non-interactive shells by having a lean .bashrc file (they set most of the " -"things up in .bash_profile)." +msgid "-e <pattern>" msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:82 +#: en/git-clean.txt:57 en/git-ls-files.txt:84 en/git-name-rev.txt:33 #, no-wrap -msgid "--exec=<git-upload-pack>" +msgid "--exclude=<pattern>" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:84 -msgid "Same as --upload-pack=<git-upload-pack>." +#: en/git-clean.txt:61 +msgid "" +"In addition to those found in .gitignore (per directory) and " +"$GIT_DIR/info/exclude, also consider these patterns to be in the set of the " +"ignore rules in effect." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:89 +#: en/git-clean.txt:69 msgid "" -"Limit fetching to ancestor-chains not longer than n. 'git-upload-pack' " -"treats the special depth 2147483647 as infinite even if there is an " -"ancestor-chain that long." +"Don't use the standard ignore rules read from .gitignore (per directory) and " +"$GIT_DIR/info/exclude, but do still use the ignore rules given with `-e` " +"options. This allows removing all untracked files, including build " +"products. This can be used (possibly in conjunction with 'git reset') to " +"create a pristine working directory to test a clean build." +msgstr "" + +#. type: Labeled list +#: en/git-clean.txt:70 +#, no-wrap +msgid "-X" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:93 +#: en/git-clean.txt:73 msgid "" -"Deepen or shorten the history of a shallow'repository to include all " -"reachable commits after <date>." +"Remove only files ignored by Git. This may be useful to rebuild everything " +"from scratch, but keep manually created files." msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:98 en/fetch-options.txt:30 +#: en/git-clean.txt:79 msgid "" -"Deepen or shorten the history of a shallow repository to exclude commits " -"reachable from a specified remote branch or tag. This option can be " -"specified multiple times." +"When the command enters the interactive mode, it shows the files and " +"directories to be cleaned, and goes into its interactive command loop." msgstr "" -#. type: Labeled list -#: en/git-fetch-pack.txt:99 +#. type: delimited block - +#: en/git-clean.txt:90 #, no-wrap -msgid "--deepen-relative" +msgid "" +" *** Commands ***\n" +"\t1: clean 2: filter by pattern 3: select by numbers\n" +"\t4: ask each 5: quit 6: help\n" +" What now> 1\n" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:103 -msgid "" -"Argument --depth specifies the number of commits from the current shallow " -"boundary instead of from the tip of each remote branch history." +#: en/git-clean.txt:93 +msgid "You also could say `c` or `clean` above as long as the choice is unique." +msgstr "" + +#. type: Plain text +#: en/git-clean.txt:95 +msgid "The main command loop has 6 subcommands." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:104 en/merge-options.txt:113 +#: en/git-clean.txt:96 #, no-wrap -msgid "--no-progress" +msgid "clean" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:106 -msgid "Do not show the progress." +#: en/git-clean.txt:99 +msgid "Start cleaning files and directories, and then quit." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:107 en/git-index-pack.txt:77 +#: en/git-clean.txt:100 #, no-wrap -msgid "--check-self-contained-and-connected" +msgid "filter by pattern" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:110 +#: en/git-clean.txt:108 msgid "" -"Output \"connectivity-ok\" if the received pack is self-contained and " -"connected." +"This shows the files and directories to be deleted and issues an \"Input " +"ignore patterns>>\" prompt. You can input space-separated patterns to " +"exclude files and directories from deletion. E.g. \"*.c *.h\" will excludes " +"files end with \".c\" and \".h\" from deletion. When you are satisfied with " +"the filtered result, press ENTER (empty) back to the main menu." msgstr "" -#. type: Plain text -#: en/git-fetch-pack.txt:113 en/git-push.txt:267 en/git-send-pack.txt:63 -msgid "Run verbosely." +#. type: Labeled list +#: en/git-clean.txt:109 +#, no-wrap +msgid "select by numbers" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:116 -msgid "The URL to the remote repository." +#: en/git-clean.txt:120 +msgid "" +"This shows the files and directories to be deleted and issues an \"Select " +"items to delete>>\" prompt. When the prompt ends with double '>>' like this, " +"you can make more than one selection, concatenated with whitespace or " +"comma. Also you can say ranges. E.g. \"2-5 7,9\" to choose 2,3,4,5,7,9 " +"from the list. If the second number in a range is omitted, all remaining " +"items are selected. E.g. \"7-\" to choose 7,8,9 from the list. You can say " +"'*' to choose everything. Also when you are satisfied with the filtered " +"result, press ENTER (empty) back to the main menu." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:117 en/git-ls-remote.txt:68 +#: en/git-clean.txt:121 #, no-wrap -msgid "<refs>..." +msgid "ask each" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:121 +#: en/git-clean.txt:126 msgid "" -"The remote heads to update from. This is relative to $GIT_DIR " -"(e.g. \"HEAD\", \"refs/heads/master\"). When unspecified, update from all " -"heads the remote side has." +"This will start to clean, and you must confirm one by one in order to delete " +"items. Please note that this action is not as efficient as the above two " +"actions." +msgstr "" + +#. type: Labeled list +#: en/git-clean.txt:127 +#, no-wrap +msgid "quit" msgstr "" #. type: Plain text -#: en/git-fetch-pack.txt:125 -msgid "" -"If the remote has enabled the options `uploadpack.allowTipSHA1InWant`, " -"`uploadpack.allowReachableSHA1InWant`, or `uploadpack.allowAnySHA1InWant`, " -"they may alternatively be 40-hex sha1s present on the remote." +#: en/git-clean.txt:130 +msgid "This lets you quit without do cleaning." msgstr "" #. type: Labeled list -#: en/git-fetch-pack.txt:129 en/cmds-mainporcelain.txt:43 +#: en/git-clean.txt:131 #, no-wrap -msgid "linkgit:git-fetch[1]" +msgid "help" msgstr "" -#. type: Title = -#: en/git-fetch.txt:2 -#, no-wrap -msgid "git-fetch(1)" +#. type: Plain text +#: en/git-clean.txt:134 +msgid "Show brief usage of interactive git-clean." msgstr "" #. type: Plain text -#: en/git-fetch.txt:7 -msgid "git-fetch - Download objects and refs from another repository" +#: en/git-clean.txt:138 en/git-status.txt:356 +msgid "linkgit:gitignore[5]" msgstr "" -#. type: Plain text -#: en/git-fetch.txt:16 +#. type: Title = +#: en/git-clone.txt:2 #, no-wrap -msgid "" -"'git fetch' [<options>] [<repository> [<refspec>...]]\n" -"'git fetch' [<options>] <group>\n" -"'git fetch' --multiple [<options>] [(<repository> | <group>)...]\n" -"'git fetch' --all [<options>]\n" +msgid "git-clone(1)" msgstr "" #. type: Plain text -#: en/git-fetch.txt:24 -msgid "" -"Fetch branches and/or tags (collectively, \"refs\") from one or more other " -"repositories, along with the objects necessary to complete their histories. " -"Remote-tracking branches are updated (see the description of <refspec> below " -"for ways to control this behavior)." +#: en/git-clone.txt:7 +msgid "git-clone - Clone a repository into a new directory" msgstr "" #. type: Plain text -#: en/git-fetch.txt:32 +#: en/git-clone.txt:19 +#, no-wrap msgid "" -"By default, any tag that points into the histories being fetched is also " -"fetched; the effect is to fetch tags that point at branches that you are " -"interested in. This default behavior can be changed by using the --tags or " -"--no-tags options or by configuring remote.<name>.tagOpt. By using a " -"refspec that fetches tags explicitly, you can fetch tags that do not point " -"into branches you are interested in as well." +"'git clone' [--template=<template_directory>]\n" +"\t [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]\n" +"\t [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]\n" +"\t [--dissociate] [--separate-git-dir <git dir>]\n" +"\t [--depth <depth>] [--[no-]single-branch]\n" +"\t [--recursive | --recurse-submodules] [--[no-]shallow-submodules]\n" +"\t [--jobs <n>] [--] <repository> [<directory>]\n" msgstr "" #. type: Plain text -#: en/git-fetch.txt:37 +#: en/git-clone.txt:28 msgid "" -"'git fetch' can fetch from either a single named repository or URL, or from " -"several repositories at once if <group> is given and there is a " -"remotes.<group> entry in the configuration file. (See " -"linkgit:git-config[1])." +"Clones a repository into a newly created directory, creates remote-tracking " +"branches for each branch in the cloned repository (visible using `git branch " +"-r`), and creates and checks out an initial branch that is forked from the " +"cloned repository's currently active branch." msgstr "" #. type: Plain text -#: en/git-fetch.txt:40 +#: en/git-clone.txt:34 msgid "" -"When no remote is specified, by default the `origin` remote will be used, " -"unless there's an upstream branch configured for the current branch." +"After the clone, a plain `git fetch` without arguments will update all the " +"remote-tracking branches, and a `git pull` without arguments will in " +"addition merge the remote master branch into the current master branch, if " +"any (this is untrue when \"--single-branch\" is given; see below)." msgstr "" #. type: Plain text -#: en/git-fetch.txt:44 +#: en/git-clone.txt:39 msgid "" -"The names of refs that are fetched, together with the object names they " -"point at, are written to `.git/FETCH_HEAD`. This information may be used by " -"scripts or other git commands, such as linkgit:git-pull[1]." +"This default configuration is achieved by creating references to the remote " +"branch heads under `refs/remotes/origin` and by initializing " +"`remote.origin.url` and `remote.origin.fetch` configuration variables." msgstr "" -#. type: Title - -#: en/git-fetch.txt:55 +#. type: Labeled list +#: en/git-clone.txt:43 en/git-config.txt:127 en/git-instaweb.txt:24 en/git-pack-objects.txt:127 en/git-svn.txt:229 #, no-wrap -msgid "CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]" +msgid "--local" msgstr "" #. type: Plain text -#: en/git-fetch.txt:61 +#: en/git-clone.txt:51 msgid "" -"You often interact with the same remote repository by regularly and " -"repeatedly fetching from it. In order to keep track of the progress of such " -"a remote repository, `git fetch` allows you to configure " -"`remote.<repository>.fetch` configuration variables." +"When the repository to clone from is on a local machine, this flag bypasses " +"the normal \"Git aware\" transport mechanism and clones the repository by " +"making a copy of HEAD and everything under objects and refs directories. " +"The files under `.git/objects/` directory are hardlinked to save space when " +"possible." msgstr "" #. type: Plain text -#: en/git-fetch.txt:63 -msgid "Typically such a variable may look like this:" +#: en/git-clone.txt:58 +msgid "" +"If the repository is specified as a local path (e.g., `/path/to/repo`), this " +"is the default, and --local is essentially a no-op. If the repository is " +"specified as a URL, then this flag is ignored (and we never use the local " +"optimizations). Specifying `--no-local` will override the default when " +"`/path/to/repo` is given, using the regular Git transport instead." msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:67 +#. type: Labeled list +#: en/git-clone.txt:59 #, no-wrap -msgid "" -"[remote \"origin\"]\n" -"\tfetch = +refs/heads/*:refs/remotes/origin/*\n" +msgid "--no-hardlinks" msgstr "" #. type: Plain text -#: en/git-fetch.txt:70 -msgid "This configuration is used in two ways:" +#: en/git-clone.txt:64 +msgid "" +"Force the cloning process from a repository on a local filesystem to copy " +"the files under the `.git/objects` directory instead of using " +"hardlinks. This may be desirable if you are trying to make a back-up of your " +"repository." msgstr "" -#. type: Plain text -#: en/git-fetch.txt:80 -msgid "" -"When `git fetch` is run without specifying what branches and/or tags to " -"fetch on the command line, e.g. `git fetch origin` or `git fetch`, " -"`remote.<repository>.fetch` values are used as the refspecs--they specify " -"which refs to fetch and which local refs to update. The example above will " -"fetch all branches that exist in the `origin` (i.e. any ref that matches the " -"left-hand side of the value, `refs/heads/*`) and update the corresponding " -"remote-tracking branches in the `refs/remotes/origin/*` hierarchy." +#. type: Labeled list +#: en/git-clone.txt:65 +#, no-wrap +msgid "--shared" msgstr "" #. type: Plain text -#: en/git-fetch.txt:97 +#: en/git-clone.txt:72 msgid "" -"When `git fetch` is run with explicit branches and/or tags to fetch on the " -"command line, e.g. `git fetch origin master`, the <refspec>s given on the " -"command line determine what are to be fetched (e.g. `master` in the example, " -"which is a short-hand for `master:`, which in turn means \"fetch the " -"'master' branch but I do not explicitly say what remote-tracking branch to " -"update with it from the command line\"), and the example command will fetch " -"_only_ the 'master' branch. The `remote.<repository>.fetch` values " -"determine which remote-tracking branch, if any, is updated. When used in " -"this way, the `remote.<repository>.fetch` values do not have any effect in " -"deciding _what_ gets fetched (i.e. the values are not used as refspecs when " -"the command-line lists refspecs); they are only used to decide _where_ the " -"refs that are fetched are stored by acting as a mapping." +"When the repository to clone is on the local machine, instead of using hard " +"links, automatically setup `.git/objects/info/alternates` to share the " +"objects with the source repository. The resulting repository starts out " +"without any object of its own." msgstr "" #. type: Plain text -#: en/git-fetch.txt:101 +#: en/git-clone.txt:82 +#, no-wrap msgid "" -"The latter use of the `remote.<repository>.fetch` values can be overridden " -"by giving the `--refmap=<refspec>` parameter(s) on the command line." +"*NOTE*: this is a possibly dangerous operation; do *not* use\n" +"it unless you understand what it does. If you clone your\n" +"repository using this option and then delete branches (or use any\n" +"other Git command that makes any existing commit unreferenced) in the\n" +"source repository, some objects may become unreferenced (or dangling).\n" +"These objects may be removed by normal Git operations (such as `git " +"commit`)\n" +"which automatically call `git gc --auto`. (See linkgit:git-gc[1].)\n" +"If these objects are removed and were referenced by the cloned repository,\n" +"then the cloned repository will become corrupt.\n" msgstr "" #. type: Plain text -#: en/git-fetch.txt:108 +#: en/git-clone.txt:88 msgid "" -"The output of \"git fetch\" depends on the transport method used; this " -"section describes the output when fetching over the Git protocol (either " -"locally or via ssh) and Smart HTTP protocol." +"Note that running `git repack` without the `-l` option in a repository " +"cloned with `-s` will copy objects from the source repository into a pack in " +"the cloned repository, removing the disk space savings of `clone -s`. It is " +"safe, however, to run `git gc`, which uses the `-l` option by default." msgstr "" #. type: Plain text -#: en/git-fetch.txt:111 +#: en/git-clone.txt:92 msgid "" -"The status of the fetch is output in tabular form, with each line " -"representing the status of a single ref. Each line is of the form:" +"If you want to break the dependency of a repository cloned with `-s` on its " +"source repository, you can simply run `git repack -a` to copy all objects " +"from the source repository into a pack in the cloned repository." msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:114 +#. type: Labeled list +#: en/git-clone.txt:93 #, no-wrap -msgid " <flag> <summary> <from> -> <to> [<reason>]\n" +msgid "--reference[-if-able] <repository>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:118 -msgid "The status of up-to-date refs is shown only if the --verbose option is used." +#: en/git-clone.txt:103 +msgid "" +"If the reference repository is on the local machine, automatically setup " +"`.git/objects/info/alternates` to obtain objects from the reference " +"repository. Using an already existing repository as an alternate will " +"require fewer objects to be copied from the repository being cloned, " +"reducing network and local storage costs. When using the " +"`--reference-if-able`, a non existing directory is skipped with a warning " +"instead of aborting the clone." msgstr "" #. type: Plain text -#: en/git-fetch.txt:123 +#: en/git-clone.txt:106 +#, no-wrap msgid "" -"In compact output mode, specified with configuration variable fetch.output, " -"if either entire `<from>` or `<to>` is found in the other string, it will be " -"substituted with `*` in the other string. For example, `master -> " -"origin/master` becomes `master -> origin/*`." +"*NOTE*: see the NOTE for the `--shared` option, and also the\n" +"`--dissociate` option.\n" msgstr "" #. type: Labeled list -#: en/git-fetch.txt:124 en/git-push.txt:328 +#: en/git-clone.txt:107 #, no-wrap -msgid "flag" +msgid "--dissociate" msgstr "" #. type: Plain text -#: en/git-fetch.txt:126 en/git-push.txt:330 -msgid "A single character indicating the status of the ref:" -msgstr "" - -#. type: Labeled list -#: en/git-fetch.txt:126 en/git-push.txt:330 -#, no-wrap -msgid "(space)" +#: en/git-clone.txt:117 +msgid "" +"Borrow the objects from reference repositories specified with the " +"`--reference` options only to reduce network transfer, and stop borrowing " +"from them after a clone is made by making necessary local copies of borrowed " +"objects. This option can also be used when cloning locally from a " +"repository that already borrows objects from another repository--the new " +"repository will borrow objects from the same repository, and this option can " +"be used to stop the borrowing." msgstr "" #. type: Plain text -#: en/git-fetch.txt:127 -msgid "for a successfully fetched fast-forward;" +#: en/git-clone.txt:122 +msgid "Operate quietly. Progress is not reported to the standard error stream." msgstr "" -#. type: Labeled list -#: en/git-fetch.txt:127 en/git-push.txt:331 -#, no-wrap -msgid "`+`" +#. type: Plain text +#: en/git-clone.txt:127 +msgid "" +"Run verbosely. Does not affect the reporting of progress status to the " +"standard error stream." msgstr "" #. type: Plain text -#: en/git-fetch.txt:128 en/git-push.txt:332 -msgid "for a successful forced update;" +#: en/git-clone.txt:137 +msgid "No checkout of HEAD is performed after the clone is complete." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:128 en/git-push.txt:332 +#: en/git-clone.txt:138 en/git-init.txt:48 en/git-p4.txt:268 en/git.txt:624 #, no-wrap -msgid "`-`" +msgid "--bare" msgstr "" #. type: Plain text -#: en/git-fetch.txt:129 -msgid "for a successfully pruned ref;" +#: en/git-clone.txt:149 +msgid "" +"Make a 'bare' Git repository. That is, instead of creating `<directory>` " +"and placing the administrative files in `<directory>/.git`, make the " +"`<directory>` itself the `$GIT_DIR`. This obviously implies the `-n` because " +"there is nowhere to check out the working tree. Also the branch heads at " +"the remote are copied directly to corresponding local branch heads, without " +"mapping them to `refs/remotes/origin/`. When this option is used, neither " +"remote-tracking branches nor the related configuration variables are " +"created." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:129 +#: en/git-clone.txt:150 en/git-push.txt:106 #, no-wrap -msgid "`t`" +msgid "--mirror" msgstr "" #. type: Plain text -#: en/git-fetch.txt:130 -msgid "for a successful tag update;" +#: en/git-clone.txt:157 +msgid "" +"Set up a mirror of the source repository. This implies `--bare`. Compared " +"to `--bare`, `--mirror` not only maps local branches of the source to local " +"branches of the target, it maps all refs (including remote-tracking " +"branches, notes etc.) and sets up a refspec configuration such that all " +"these refs are overwritten by a `git remote update` in the target " +"repository." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:130 en/git-push.txt:333 +#: en/git-clone.txt:158 #, no-wrap -msgid "`*`" -msgstr "" - -#. type: Plain text -#: en/git-fetch.txt:131 -msgid "for a successfully fetched new ref;" +msgid "--origin <name>" msgstr "" #. type: Labeled list -#: en/git-fetch.txt:131 en/git-push.txt:334 +#: en/git-clone.txt:159 #, no-wrap -msgid "`!`" +msgid "-o <name>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:132 -msgid "for a ref that was rejected or failed to update; and" +#: en/git-clone.txt:162 +msgid "" +"Instead of using the remote name `origin` to keep track of the upstream " +"repository, use `<name>`." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:132 en/git-push.txt:335 +#: en/git-clone.txt:163 #, no-wrap -msgid "`=`" -msgstr "" - -#. type: Plain text -#: en/git-fetch.txt:133 -msgid "for a ref that was up to date and did not need fetching." +msgid "--branch <name>" msgstr "" #. type: Labeled list -#: en/git-fetch.txt:134 en/git-push.txt:337 +#: en/git-clone.txt:164 #, no-wrap -msgid "summary" +msgid "-b <name>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:139 +#: en/git-clone.txt:171 msgid "" -"For a successfully fetched ref, the summary shows the old and new values of " -"the ref in a form suitable for using as an argument to `git log` (this is " -"`<old>..<new>` in most cases, and `<old>...<new>` for forced " -"non-fast-forward updates)." +"Instead of pointing the newly created HEAD to the branch pointed to by the " +"cloned repository's HEAD, point to `<name>` branch instead. In a non-bare " +"repository, this is the branch that will be checked out. `--branch` can " +"also take tags and detaches the HEAD at that commit in the resulting " +"repository." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:140 en/git-push.txt:365 +#: en/git-clone.txt:173 #, no-wrap -msgid "from" +msgid "-u <upload-pack>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:144 +#: en/git-clone.txt:177 msgid "" -"The name of the remote ref being fetched from, minus its `refs/<type>/` " -"prefix. In the case of deletion, the name of the remote ref is \"(none)\"." +"When given, and the repository to clone from is accessed via ssh, this " +"specifies a non-default path for the command run on the other end." msgstr "" -#. type: Plain text -#: en/git-fetch.txt:145 en/git-push.txt:370 en/git-rebase.txt:790 +#. type: Labeled list +#: en/git-clone.txt:178 en/git-init.txt:53 en/git-svn.txt:547 #, no-wrap -msgid "to" +msgid "--template=<template_directory>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:148 -msgid "The name of the local ref being updated, minus its `refs/<type>/` prefix." +#: en/git-clone.txt:181 +msgid "" +"Specify the directory from which templates will be used; (See the \"TEMPLATE " +"DIRECTORY\" section of linkgit:git-init[1].)" msgstr "" #. type: Labeled list -#: en/git-fetch.txt:149 en/git-push.txt:374 +#: en/git-clone.txt:182 #, no-wrap -msgid "reason" +msgid "--config <key>=<value>" msgstr "" -#. type: Plain text -#: en/git-fetch.txt:153 -msgid "" -"A human-readable explanation. In the case of successfully fetched refs, no " -"explanation is needed. For a failed ref, the reason for failure is " -"described." +#. type: Labeled list +#: en/git-clone.txt:183 +#, no-wrap +msgid "-c <key>=<value>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:158 -msgid "Update the remote-tracking branches:" +#: en/git-clone.txt:192 +msgid "" +"Set a configuration variable in the newly-created repository; this takes " +"effect immediately after the repository is initialized, but before the " +"remote history is fetched or any files checked out. The key is in the same " +"format as expected by linkgit:git-config[1] (e.g., `core.eol=true`). If " +"multiple values are given for the same key, each value will be written to " +"the config file. This makes it safe, for example, to add additional fetch " +"refspecs to the origin remote." msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:161 +#. type: Labeled list +#: en/git-clone.txt:193 #, no-wrap -msgid "$ git fetch origin\n" +msgid "--depth <depth>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:167 +#: en/git-clone.txt:199 msgid "" -"The above command copies all branches from the remote refs/heads/ namespace " -"and stores them to the local refs/remotes/origin/ namespace, unless the " -"branch.<name>.fetch option is used to specify a non-default refspec." +"Create a 'shallow' clone with a history truncated to the specified number of " +"commits. Implies `--single-branch` unless `--no-single-branch` is given to " +"fetch the histories near the tips of all branches. If you want to clone " +"submodules shallowly, also pass `--shallow-submodules`." msgstr "" #. type: Plain text -#: en/git-fetch.txt:169 -msgid "Using refspecs explicitly:" +#: en/git-clone.txt:202 +msgid "Create a shallow clone with a history after the specified time." msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:172 +#. type: Plain text +#: en/git-clone.txt:207 +msgid "" +"Create a shallow clone with a history, excluding commits reachable from a " +"specified remote branch or tag. This option can be specified multiple " +"times." +msgstr "" + +#. type: Labeled list +#: en/git-clone.txt:208 #, no-wrap -msgid "$ git fetch origin +pu:pu maint:tmp\n" +msgid "--[no-]single-branch" msgstr "" #. type: Plain text -#: en/git-fetch.txt:177 +#: en/git-clone.txt:217 msgid "" -"This updates (or creates, as necessary) branches `pu` and `tmp` in the local " -"repository by fetching from the branches (respectively) `pu` and `maint` " -"from the remote repository." +"Clone only the history leading to the tip of a single branch, either " +"specified by the `--branch` option or the primary branch remote's `HEAD` " +"points at. Further fetches into the resulting repository will only update " +"the remote-tracking branch for the branch this option was used for the " +"initial cloning. If the HEAD at the remote did not point at any branch when " +"`--single-branch` clone was made, no remote-tracking branch is created." msgstr "" -#. type: Plain text -#: en/git-fetch.txt:180 -msgid "" -"The `pu` branch will be updated even if it is does not fast-forward, because " -"it is prefixed with a plus sign; `tmp` will not be." +#. type: Labeled list +#: en/git-clone.txt:218 en/git-submodule.txt:400 +#, no-wrap +msgid "--recursive" +msgstr "" + +#. type: Labeled list +#: en/git-clone.txt:219 en/git-grep.txt:92 en/git-ls-files.txt:142 +#, no-wrap +msgid "--recurse-submodules" msgstr "" #. type: Plain text -#: en/git-fetch.txt:183 +#: en/git-clone.txt:226 msgid "" -"Peek at a remote's branch, without configuring the remote in your local " -"repository:" +"After the clone is created, initialize all submodules within, using their " +"default settings. This is equivalent to running `git submodule update --init " +"--recursive` immediately after the clone is finished. This option is ignored " +"if the cloned repository does not have a worktree/checkout (i.e. if any of " +"`--no-checkout`/`-n`, `--bare`, or `--mirror` is given)" msgstr "" -#. type: delimited block - -#: en/git-fetch.txt:187 +#. type: Labeled list +#: en/git-clone.txt:227 #, no-wrap -msgid "" -"$ git fetch git://git.kernel.org/pub/scm/git/git.git maint\n" -"$ git log FETCH_HEAD\n" +msgid "--[no-]shallow-submodules" msgstr "" #. type: Plain text -#: en/git-fetch.txt:194 -msgid "" -"The first command fetches the `maint` branch from the repository at " -"`git://git.kernel.org/pub/scm/git/git.git` and the second command uses " -"`FETCH_HEAD` to examine the branch with linkgit:git-log[1]. The fetched " -"objects will eventually be removed by git's built-in housekeeping (see " -"linkgit:git-gc[1])." +#: en/git-clone.txt:229 +msgid "All submodules which are cloned will be shallow with a depth of 1." msgstr "" -#. type: Title - -#: en/git-fetch.txt:198 en/git-mv.txt:56 en/git-pack-refs.txt:64 en/git-pull.txt:243 en/git-rebase.txt:779 en/git-replace.txt:134 en/git-rm.txt:174 en/git-svn.txt:1026 en/git-worktree.txt:245 +#. type: Labeled list +#: en/git-clone.txt:230 en/git-init.txt:58 #, no-wrap -msgid "BUGS" +msgid "--separate-git-dir=<git dir>" msgstr "" #. type: Plain text -#: en/git-fetch.txt:205 en/git-pull.txt:250 +#: en/git-clone.txt:236 msgid "" -"Using --recurse-submodules can only fetch new commits in already checked out " -"submodules right now. When e.g. upstream added a new submodule in the just " -"fetched commits of the superproject the submodule itself can not be fetched, " -"making it impossible to check out that submodule later without having to do " -"a fetch again. This is expected to be fixed in a future Git version." +"Instead of placing the cloned repository where it is supposed to be, place " +"the cloned repository at the specified directory, then make a " +"filesystem-agnostic Git symbolic link to there. The result is Git " +"repository can be separated from working tree." msgstr "" #. type: Labeled list -#: en/git-fetch.txt:209 en/cmds-mainporcelain.txt:73 +#: en/git-clone.txt:237 en/git-submodule.txt:417 #, no-wrap -msgid "linkgit:git-pull[1]" +msgid "-j <n>" msgstr "" -#. type: Title = -#: en/git-filter-branch.txt:2 +#. type: Labeled list +#: en/git-clone.txt:238 en/git-submodule.txt:418 #, no-wrap -msgid "git-filter-branch(1)" +msgid "--jobs <n>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:7 -msgid "git-filter-branch - Rewrite branches" +#: en/git-clone.txt:241 +msgid "" +"The number of submodules fetched at the same time. Defaults to the " +"`submodule.fetchJobs` option." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:18 +#. type: Labeled list +#: en/git-clone.txt:242 en/git-fetch-pack.txt:114 en/git-ls-remote.txt:63 en/git-push.txt:50 en/pull-fetch-param.txt:1 #, no-wrap -msgid "" -"'git filter-branch' [--env-filter <command>] [--tree-filter <command>]\n" -"\t[--index-filter <command>] [--parent-filter <command>]\n" -"\t[--msg-filter <command>] [--commit-filter <command>]\n" -"\t[--tag-name-filter <command>] [--subdirectory-filter <directory>]\n" -"\t[--prune-empty]\n" -"\t[--original <namespace>] [-d <directory>] [-f | --force]\n" -"\t[--] [<rev-list options>...]\n" +msgid "<repository>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:27 +#: en/git-clone.txt:246 msgid "" -"Lets you rewrite Git revision history by rewriting the branches mentioned in " -"the <rev-list options>, applying custom filters on each revision. Those " -"filters can modify each tree (e.g. removing a file or running a perl rewrite " -"on all files) or information about each commit. Otherwise, all information " -"(including original commit times or merge information) will be preserved." +"The (possibly remote) repository to clone from. See the <<URLS,URLS>> " +"section below for more information on specifying repositories." +msgstr "" + +#. type: Labeled list +#: en/git-clone.txt:247 en/git-cvsserver.txt:53 en/git-daemon.txt:198 en/git-receive-pack.txt:41 en/git-send-pack.txt:89 en/git-upload-archive.txt:57 en/git-upload-pack.txt:44 +#, no-wrap +msgid "<directory>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:34 +#: en/git-clone.txt:253 msgid "" -"The command will only rewrite the _positive_ refs mentioned in the command " -"line (e.g. if you pass 'a..b', only 'b' will be rewritten). If you specify " -"no filters, the commits will be recommitted without any changes, which would " -"normally have no effect. Nevertheless, this may be useful in the future for " -"compensating for some Git bugs or such, therefore such a usage is permitted." +"The name of a new directory to clone into. The \"humanish\" part of the " +"source repository is used if no directory is explicitly given (`repo` for " +"`/path/to/repo.git` and `foo` for `host.xz:foo/.git`). Cloning into an " +"existing directory is only allowed if the directory is empty." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:39 +#: en/git-clone.txt:261 +msgid "Clone from upstream:" +msgstr "" + +#. type: delimited block - +#: en/git-clone.txt:266 #, no-wrap msgid "" -"*NOTE*: This command honors `.git/info/grafts` file and refs in\n" -"the `refs/replace/` namespace.\n" -"If you have any grafts or replacement refs defined, running this command\n" -"will make them permanent.\n" +"$ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux\n" +"$ cd my-linux\n" +"$ make\n" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:48 +#: en/git-clone.txt:270 +msgid "" +"Make a local clone that borrows from the current directory, without checking " +"things out:" +msgstr "" + +#. type: delimited block - +#: en/git-clone.txt:275 #, no-wrap msgid "" -"*WARNING*! The rewritten history will have different object names for all\n" -"the objects and will not converge with the original branch. You will not\n" -"be able to easily push and distribute the rewritten branch on top of the\n" -"original branch. Please do not use this command if you do not know the\n" -"full implications, and avoid using it anyway, if a simple single commit\n" -"would suffice to fix your problem. (See the \"RECOVERING FROM UPSTREAM\n" -"REBASE\" section in linkgit:git-rebase[1] for further information about\n" -"rewriting published history.)\n" +"$ git clone -l -s -n . ../copy\n" +"$ cd ../copy\n" +"$ git show-branch\n" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:52 +#: en/git-clone.txt:279 +msgid "Clone from upstream while borrowing from an existing local directory:" +msgstr "" + +#. type: delimited block - +#: en/git-clone.txt:285 +#, no-wrap msgid "" -"Always verify that the rewritten version is correct: The original refs, if " -"different from the rewritten ones, will be stored in the namespace " -"'refs/original/'." +"$ git clone --reference /git/linux.git \\\n" +"\tgit://git.kernel.org/pub/scm/.../linux.git \\\n" +"\tmy-linux\n" +"$ cd my-linux\n" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:56 -msgid "" -"Note that since this operation is very I/O expensive, it might be a good " -"idea to redirect the temporary directory off-disk with the `-d` option, " -"e.g. on tmpfs. Reportedly the speedup is very noticeable." +#: en/git-clone.txt:289 +msgid "Create a bare repository to publish your changes to the public:" msgstr "" -#. type: Title ~ -#: en/git-filter-branch.txt:59 +#. type: delimited block - +#: en/git-clone.txt:292 #, no-wrap -msgid "Filters" +msgid "$ git clone --bare -l /home/proj/.git /pub/scm/proj.git\n" +msgstr "" + +#. type: Title = +#: en/git-column.txt:2 +#, no-wrap +msgid "git-column(1)" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:71 -msgid "" -"The filters are applied in the order as listed below. The <command> " -"argument is always evaluated in the shell context using the 'eval' command " -"(with the notable exception of the commit filter, for technical reasons). " -"Prior to that, the `$GIT_COMMIT` environment variable will be set to contain " -"the id of the commit being rewritten. Also, GIT_AUTHOR_NAME, " -"GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, " -"and GIT_COMMITTER_DATE are taken from the current commit and exported to the " -"environment, in order to affect the author and committer identities of the " -"replacement commit created by linkgit:git-commit-tree[1] after the filters " -"have run." +#: en/git-column.txt:7 +msgid "git-column - Display data in columns" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:74 +#: en/git-column.txt:13 +#, no-wrap msgid "" -"If any evaluation of <command> returns a non-zero exit status, the whole " -"operation will be aborted." +"'git column' [--command=<name>] [--[raw-]mode=<mode>] [--width=<width>]\n" +"\t [--indent=<string>] [--nl=<string>] [--padding=<n>]\n" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:80 -msgid "" -"A 'map' function is available that takes an \"original sha1 id\" argument " -"and outputs a \"rewritten sha1 id\" if the commit has been already " -"rewritten, and \"original sha1 id\" otherwise; the 'map' function can return " -"several ids on separate lines if your commit filter emitted multiple " -"commits." +#: en/git-column.txt:17 +msgid "This command formats its input into multiple columns." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:85 +#: en/git-column.txt:20 #, no-wrap -msgid "--env-filter <command>" +msgid "--command=<name>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:91 +#: en/git-column.txt:23 msgid "" -"This filter may be used if you only need to modify the environment in which " -"the commit will be performed. Specifically, you might want to rewrite the " -"author/committer name/email/time environment variables (see " -"linkgit:git-commit-tree[1] for details). Do not forget to re-export the " -"variables." +"Look up layout mode using configuration variable column.<name> and " +"column.ui." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:92 +#: en/git-column.txt:24 #, no-wrap -msgid "--tree-filter <command>" +msgid "--mode=<mode>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:99 -msgid "" -"This is the filter for rewriting the tree and its contents. The argument is " -"evaluated in shell with the working directory set to the root of the checked " -"out tree. The new tree is then used as-is (new files are auto-added, " -"disappeared files are auto-removed - neither .gitignore files nor any other " -"ignore rules *HAVE ANY EFFECT*!)." +#: en/git-column.txt:27 +msgid "Specify layout mode. See configuration variable column.ui for option syntax." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:100 +#: en/git-column.txt:28 #, no-wrap -msgid "--index-filter <command>" +msgid "--raw-mode=<n>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:106 +#: en/git-column.txt:31 msgid "" -"This is the filter for rewriting the index. It is similar to the tree " -"filter but does not check out the tree, which makes it much faster. " -"Frequently used with `git rm --cached --ignore-unmatch ...`, see EXAMPLES " -"below. For hairy cases, see linkgit:git-update-index[1]." +"Same as --mode but take mode encoded as a number. This is mainly used by " +"other commands that have already parsed layout mode." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:107 +#: en/git-column.txt:32 #, no-wrap -msgid "--parent-filter <command>" +msgid "--width=<width>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:114 +#: en/git-column.txt:35 msgid "" -"This is the filter for rewriting the commit's parent list. It will receive " -"the parent string on stdin and shall output the new parent string on " -"stdout. The parent string is in the format described in " -"linkgit:git-commit-tree[1]: empty for the initial commit, \"-p parent\" for " -"a normal commit and \"-p parent1 -p parent2 -p parent3 ...\" for a merge " -"commit." +"Specify the terminal width. By default 'git column' will detect the terminal " +"width, or fall back to 80 if it is unable to do so." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:115 +#: en/git-column.txt:36 #, no-wrap -msgid "--msg-filter <command>" +msgid "--indent=<string>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:120 -msgid "" -"This is the filter for rewriting the commit messages. The argument is " -"evaluated in the shell with the original commit message on standard input; " -"its standard output is used as the new commit message." +#: en/git-column.txt:38 +msgid "String to be printed at the beginning of each line." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:121 +#: en/git-column.txt:39 #, no-wrap -msgid "--commit-filter <command>" +msgid "--nl=<N>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:127 -msgid "" -"This is the filter for performing the commit. If this filter is specified, " -"it will be called instead of the 'git commit-tree' command, with arguments " -"of the form \"<TREE_ID> [(-p <PARENT_COMMIT_ID>)...]\" and the log message " -"on stdin. The commit id is expected on stdout." +#: en/git-column.txt:42 +msgid "String to be printed at the end of each line, including newline character." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:131 -msgid "" -"As a special extension, the commit filter may emit multiple commit ids; in " -"that case, the rewritten children of the original commit will have all of " -"them as parents." +#. type: Labeled list +#: en/git-column.txt:43 +#, no-wrap +msgid "--padding=<N>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:136 -msgid "" -"You can use the 'map' convenience function in this filter, and other " -"convenience functions, too. For example, calling 'skip_commit \"$@\"' will " -"leave out the current commit (but not its changes! If you want that, use " -"'git rebase' instead)." +#: en/git-column.txt:45 +msgid "The number of spaces between columns. One space by default." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:140 -msgid "" -"You can also use the `git_commit_non_empty_tree \"$@\"` instead of `git " -"commit-tree \"$@\"` if you don't wish to keep commits with a single parent " -"and that makes no change to the tree." +#. type: Title = +#: en/git-commit-tree.txt:2 +#, no-wrap +msgid "git-commit-tree(1)" msgstr "" -#. type: Labeled list -#: en/git-filter-branch.txt:141 -#, no-wrap -msgid "--tag-name-filter <command>" +#. type: Plain text +#: en/git-commit-tree.txt:7 +msgid "git-commit-tree - Create a new commit object" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:147 +#: en/git-commit-tree.txt:15 +#, no-wrap msgid "" -"This is the filter for rewriting tag names. When passed, it will be called " -"for every tag ref that points to a rewritten object (or to a tag object " -"which points to a rewritten object). The original tag name is passed via " -"standard input, and the new tag name is expected on standard output." +"'git commit-tree' <tree> [(-p <parent>)...]\n" +"'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n" +"\t\t [(-F <file>)...] <tree>\n" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:152 +#: en/git-commit-tree.txt:21 msgid "" -"The original tags are not deleted, but can be overwritten; use " -"\"--tag-name-filter cat\" to simply update the tags. In this case, be very " -"careful and make sure you have the old tags backed up in case the conversion " -"has run afoul." +"This is usually not what an end user wants to run directly. See " +"linkgit:git-commit[1] instead." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:163 +#: en/git-commit-tree.txt:25 msgid "" -"Nearly proper rewriting of tag objects is supported. If the tag has a " -"message attached, a new tag object will be created with the same message, " -"author, and timestamp. If the tag has a signature attached, the signature " -"will be stripped. It is by definition impossible to preserve signatures. The " -"reason this is \"nearly\" proper, is because ideally if the tag did not " -"change (points to the same object, has the same name, etc.) it should " -"retain any signature. That is not the case, signatures will always be " -"removed, buyer beware. There is also no support for changing the author or " -"timestamp (or the tag message for that matter). Tags which point to other " -"tags will be rewritten to point to the underlying commit." +"Creates a new commit object based on the provided tree object and emits the " +"new commit object id on stdout. The log message is read from the standard " +"input, unless `-m` or `-F` options are given." msgstr "" -#. type: Labeled list -#: en/git-filter-branch.txt:164 -#, no-wrap -msgid "--subdirectory-filter <directory>" +#. type: Plain text +#: en/git-commit-tree.txt:30 +msgid "" +"A commit object may have any number of parents. With exactly one parent, it " +"is an ordinary commit. Having more than one parent makes the commit a merge " +"between several lines of history. Initial (root) commits have no parents." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:168 +#: en/git-commit-tree.txt:34 msgid "" -"Only look at the history which touches the given subdirectory. The result " -"will contain that directory (and only that) as its project root. Implies " -"<<Remap_to_ancestor>>." +"While a tree represents a particular directory state of a working directory, " +"a commit represents that state in \"time\", and explains how to get there." +msgstr "" + +#. type: Plain text +#: en/git-commit-tree.txt:40 +msgid "" +"Normally a commit would identify a new \"HEAD\" state, and while Git doesn't " +"care where you save the note about that state, in practice we tend to just " +"write the result to the file that is pointed at by `.git/HEAD`, so that we " +"can always see what the last committed state was." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:169 +#: en/git-commit-tree.txt:43 en/git.txt:786 #, no-wrap -msgid "--prune-empty" +msgid "<tree>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:176 -msgid "" -"Some filters will generate empty commits that leave the tree untouched. " -"This option instructs git-filter-branch to remove such commits if they have " -"exactly one or zero non-pruned parents; merge commits will therefore remain " -"intact. This option cannot be used together with `--commit-filter`, though " -"the same effect can be achieved by using the provided " -"`git_commit_non_empty_tree` function in a commit filter." +#: en/git-commit-tree.txt:45 +msgid "An existing tree object" msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:177 +#: en/git-commit-tree.txt:46 #, no-wrap -msgid "--original <namespace>" +msgid "-p <parent>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:180 -msgid "" -"Use this option to set the namespace where the original commits will be " -"stored. The default value is 'refs/original'." +#: en/git-commit-tree.txt:48 +msgid "Each `-p` indicates the id of a parent commit object." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:181 +#: en/git-commit-tree.txt:49 en/git-fmt-merge-msg.txt:42 #, no-wrap -msgid "-d <directory>" +msgid "-m <message>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:188 +#: en/git-commit-tree.txt:52 msgid "" -"Use this option to set the path to the temporary directory used for " -"rewriting. When applying a tree filter, the command needs to temporarily " -"check out the tree to some directory, which may consume considerable space " -"in case of large projects. By default it does this in the '.git-rewrite/' " -"directory but you can override that choice by this parameter." +"A paragraph in the commit log message. This can be given more than once and " +"each <message> becomes its own paragraph." +msgstr "" + +#. type: Labeled list +#: en/git-commit-tree.txt:53 en/git-commit.txt:127 en/git-fmt-merge-msg.txt:47 en/git-notes.txt:140 en/git-tag.txt:138 +#, no-wrap +msgid "-F <file>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:194 +#: en/git-commit-tree.txt:56 msgid "" -"'git filter-branch' refuses to start with an existing temporary directory or " -"when there are already refs starting with 'refs/original/', unless forced." +"Read the commit log message from the given file. Use `-` to read from the " +"standard input." msgstr "" #. type: Labeled list -#: en/git-filter-branch.txt:195 +#: en/git-commit-tree.txt:63 en/git-commit.txt:332 #, no-wrap -msgid "<rev-list options>..." +msgid "--no-gpg-sign" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:200 +#: en/git-commit-tree.txt:66 msgid "" -"Arguments for 'git rev-list'. All positive refs included by these options " -"are rewritten. You may also specify options such as `--all`, but you must " -"use `--` to separate them from the 'git filter-branch' options. Implies " -"<<Remap_to_ancestor>>." +"Do not GPG-sign commit, to countermand a `--gpg-sign` option given earlier " +"on the command line." msgstr "" -#. type: Title ~ -#: en/git-filter-branch.txt:204 +#. type: Title - +#: en/git-commit-tree.txt:69 #, no-wrap -msgid "Remap to ancestor" +msgid "Commit Information" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:211 -msgid "" -"By using linkgit:git-rev-list[1] arguments, e.g., path limiters, you can " -"limit the set of revisions which get rewritten. However, positive refs on " -"the command line are distinguished: we don't let them be excluded by such " -"limiters. For this purpose, they are instead rewritten to point at the " -"nearest ancestor that was not excluded." +#: en/git-commit-tree.txt:72 +msgid "A commit encapsulates:" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:218 -msgid "" -"Suppose you want to remove a file (containing confidential information or " -"copyright violation) from all commits:" +#: en/git-commit-tree.txt:74 +msgid "all parent object ids" msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:221 -#, no-wrap -msgid "git filter-branch --tree-filter 'rm filename' HEAD\n" +#. type: Plain text +#: en/git-commit-tree.txt:75 +msgid "author name, email and date" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:226 -msgid "" -"However, if the file is absent from the tree of some commit, a simple `rm " -"filename` will fail for that tree and commit. Thus you may instead want to " -"use `rm -f filename` as the script." +#: en/git-commit-tree.txt:76 +msgid "committer name and email and the commit time." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:232 +#: en/git-commit-tree.txt:80 msgid "" -"Using `--index-filter` with 'git rm' yields a significantly faster version. " -"Like with using `rm filename`, `git rm --cached filename` will fail if the " -"file is absent from the tree of a commit. If you want to \"completely " -"forget\" a file, it does not matter when it entered history, so we also add " -"`--ignore-unmatch`:" +"While parent object ids are provided on the command line, author and " +"committer information is taken from the following environment variables, if " +"set:" msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:235 +#. type: Plain text +#: en/git-commit-tree.txt:87 #, no-wrap msgid "" -"git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' " -"HEAD\n" +"\tGIT_AUTHOR_NAME\n" +"\tGIT_AUTHOR_EMAIL\n" +"\tGIT_AUTHOR_DATE\n" +"\tGIT_COMMITTER_NAME\n" +"\tGIT_COMMITTER_EMAIL\n" +"\tGIT_COMMITTER_DATE\n" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:238 -msgid "Now, you will get the rewritten history saved in HEAD." +#: en/git-commit-tree.txt:89 +msgid "(nb \"<\", \">\" and \"\\n\"s are stripped)" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:241 +#: en/git-commit-tree.txt:96 msgid "" -"To rewrite the repository to look as if `foodir/` had been its project root, " -"and discard all other history:" -msgstr "" - -#. type: delimited block - -#: en/git-filter-branch.txt:244 -#, no-wrap -msgid "git filter-branch --subdirectory-filter foodir -- --all\n" +"In case (some of) these environment variables are not set, the information " +"is taken from the configuration items user.name and user.email, or, if not " +"present, the environment variable EMAIL, or, if that is not set, system user " +"name and the hostname used for outgoing mail (taken from `/etc/mailname` and " +"falling back to the fully qualified hostname when that file does not exist)." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:249 +#: en/git-commit-tree.txt:100 msgid "" -"Thus you can, e.g., turn a library subdirectory into a repository of its " -"own. Note the `--` that separates 'filter-branch' options from revision " -"options, and the `--all` to rewrite all branches and tags." +"A commit comment is read from stdin. If a changelog entry is not provided " +"via \"<\" redirection, 'git commit-tree' will just wait for one to be " +"entered and terminated with ^D." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:253 -msgid "" -"To set a commit (which typically is at the tip of another history) to be the " -"parent of the current initial commit, in order to paste the other history " -"behind the current history:" +#. type: Title - +#: en/git-commit-tree.txt:104 en/git-show.txt:81 +#, no-wrap +msgid "Discussion" msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:256 +#. type: Title - +#: en/git-commit-tree.txt:109 en/git-commit.txt:470 en/git-config.txt:233 en/git-credential-store.txt:45 en/git-show-ref.txt:174 en/git-submodule.txt:429 en/git-svn.txt:1118 #, no-wrap -msgid "git filter-branch --parent-filter 'sed \"s/^\\$/-p <graft-id>/\"' HEAD\n" +msgid "FILES" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:262 -msgid "" -"(if the parent string is empty - which happens when we are dealing with the " -"initial commit - add graftcommit as a parent). Note that this assumes " -"history with a single root (that is, no merge without common ancestors " -"happened). If this is not the case, use:" +#: en/git-commit-tree.txt:111 +msgid "/etc/mailname" msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:266 +#. type: Title = +#: en/git-commit.txt:2 #, no-wrap -msgid "" -"git filter-branch --parent-filter \\\n" -"\t'test $GIT_COMMIT = <commit-id> && echo \"-p <graft-id>\" || cat' HEAD\n" +msgid "git-commit(1)" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:269 -msgid "or even simpler:" +#: en/git-commit.txt:7 +msgid "git-commit - Record changes to the repository" msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:273 +#. type: Plain text +#: en/git-commit.txt:17 #, no-wrap msgid "" -"echo \"$commit-id $graft-id\" >> .git/info/grafts\n" -"git filter-branch $graft-id..HEAD\n" +"'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n" +"\t [--dry-run] [(-c | -C | --fixup | --squash) <commit>]\n" +"\t [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n" +"\t [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n" +"\t [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n" +"\t [-i | -o] [-S[<keyid>]] [--] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:276 -msgid "To remove commits authored by \"Darl McBribe\" from the history:" +#: en/git-commit.txt:22 +msgid "" +"Stores the current contents of the index in a new commit along with a log " +"message from the user describing the changes." msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:285 -#, no-wrap -msgid "" -"git filter-branch --commit-filter '\n" -"\tif [ \"$GIT_AUTHOR_NAME\" = \"Darl McBribe\" ];\n" -"\tthen\n" -"\t\tskip_commit \"$@\";\n" -"\telse\n" -"\t\tgit commit-tree \"$@\";\n" -"\tfi' HEAD\n" +#. type: Plain text +#: en/git-commit.txt:24 +msgid "The content to be added can be specified in several ways:" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:288 -msgid "The function 'skip_commit' is defined as follows:" +#: en/git-commit.txt:28 +msgid "" +"by using 'git add' to incrementally \"add\" changes to the index before " +"using the 'commit' command (Note: even modified files must be \"added\");" msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:300 -#, no-wrap +#. type: Plain text +#: en/git-commit.txt:31 msgid "" -"skip_commit()\n" -"{\n" -"\tshift;\n" -"\twhile [ -n \"$1\" ];\n" -"\tdo\n" -"\t\tshift;\n" -"\t\tmap \"$1\";\n" -"\t\tshift;\n" -"\tdone;\n" -"}\n" +"by using 'git rm' to remove files from the working tree and the index, again " +"before using the 'commit' command;" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:307 +#: en/git-commit.txt:37 msgid "" -"The shift magic first throws away the tree id and then the -p parameters. " -"Note that this handles merges properly! In case Darl committed a merge " -"between P1 and P2, it will be propagated properly and all children of the " -"merge will become merge commits with P1,P2 as their parents instead of the " -"merge commit." +"by listing files as arguments to the 'commit' command (without --interactive " +"or --patch switch), in which case the commit will ignore changes staged in " +"the index, and instead record the current content of the listed files (which " +"must already be known to Git);" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:312 -#, no-wrap +#: en/git-commit.txt:43 msgid "" -"*NOTE* the changes introduced by the commits, and which are not reverted\n" -"by subsequent commits, will still be in the rewritten branch. If you want\n" -"to throw out _changes_ together with the commits, you should use the\n" -"interactive mode of 'git rebase'.\n" +"by using the -a switch with the 'commit' command to automatically \"add\" " +"changes from all known files (i.e. all files that are already listed in the " +"index) and to automatically \"rm\" files in the index that have been removed " +"from the working tree, and then perform the actual commit;" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:316 +#: en/git-commit.txt:49 msgid "" -"You can rewrite the commit log messages using `--msg-filter`. For example, " -"'git svn-id' strings in a repository created by 'git svn' can be removed " -"this way:" +"by using the --interactive or --patch switches with the 'commit' command to " +"decide one by one which files or hunks should be part of the commit in " +"addition to contents in the index, before finalizing the operation. See the " +"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " +"these modes." msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:321 -#, no-wrap +#. type: Plain text +#: en/git-commit.txt:53 msgid "" -"git filter-branch --msg-filter '\n" -"\tsed -e \"/^git-svn-id:/d\"\n" -"'\n" +"The `--dry-run` option can be used to obtain a summary of what is included " +"by any of the above for the next commit by giving the same set of parameters " +"(options and paths)." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:325 +#: en/git-commit.txt:56 msgid "" -"If you need to add 'Acked-by' lines to, say, the last 10 commits (none of " -"which is a merge), use this command:" +"If you make a commit and then find a mistake immediately after that, you can " +"recover from it with 'git reset'." msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:331 -#, no-wrap +#. type: Plain text +#: en/git-commit.txt:65 msgid "" -"git filter-branch --msg-filter '\n" -"\tcat &&\n" -"\techo \"Acked-by: Bugs Bunny <bunny@bugzilla.org>\"\n" -"' HEAD~10..HEAD\n" +"Tell the command to automatically stage files that have been modified and " +"deleted, but new files you have not told Git about are not affected." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:337 +#: en/git-commit.txt:71 msgid "" -"The `--env-filter` option can be used to modify committer and/or author " -"identity. For example, if you found out that your commits have the wrong " -"identity due to a misconfigured user.email, you can make a correction, " -"before publishing the project, like this:" +"Use the interactive patch selection interface to chose which changes to " +"commit. See linkgit:git-add[1] for details." msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:351 +#. type: Labeled list +#: en/git-commit.txt:72 #, no-wrap -msgid "" -"git filter-branch --env-filter '\n" -"\tif test \"$GIT_AUTHOR_EMAIL\" = \"root@localhost\"\n" -"\tthen\n" -"\t\tGIT_AUTHOR_EMAIL=john@example.com\n" -"\t\texport GIT_AUTHOR_EMAIL\n" -"\tfi\n" -"\tif test \"$GIT_COMMITTER_EMAIL\" = \"root@localhost\"\n" -"\tthen\n" -"\t\tGIT_COMMITTER_EMAIL=john@example.com\n" -"\t\texport GIT_COMMITTER_EMAIL\n" -"\tfi\n" -"' -- --all\n" +msgid "-C <commit>" +msgstr "" + +#. type: Labeled list +#: en/git-commit.txt:73 +#, no-wrap +msgid "--reuse-message=<commit>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:357 +#: en/git-commit.txt:77 msgid "" -"To restrict rewriting to only part of the history, specify a revision range " -"in addition to the new branch name. The new branch name will point to the " -"top-most revision that a 'git rev-list' of this range will print." +"Take an existing commit object, and reuse the log message and the authorship " +"information (including the timestamp) when creating the commit." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:359 -msgid "Consider this history:" +#. type: Labeled list +#: en/git-commit.txt:78 +#, no-wrap +msgid "-c <commit>" msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:364 +#. type: Labeled list +#: en/git-commit.txt:79 #, no-wrap -msgid "" -" D--E--F--G--H\n" -" / /\n" -"A--B-----C\n" +msgid "--reedit-message=<commit>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:367 -msgid "To rewrite only commits D,E,F,G,H, but leave A, B and C alone, use:" +#: en/git-commit.txt:82 +msgid "" +"Like '-C', but with `-c` the editor is invoked, so that the user can further " +"edit the commit message." msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:370 +#. type: Labeled list +#: en/git-commit.txt:83 #, no-wrap -msgid "git filter-branch ... C..H\n" +msgid "--fixup=<commit>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:373 -msgid "To rewrite commits E,F,G,H, use one of these:" +#: en/git-commit.txt:88 +msgid "" +"Construct a commit message for use with `rebase --autosquash`. The commit " +"message will be the subject line from the specified commit with a prefix of " +"\"fixup! \". See linkgit:git-rebase[1] for details." msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:377 +#. type: Labeled list +#: en/git-commit.txt:89 #, no-wrap -msgid "" -"git filter-branch ... C..H --not D\n" -"git filter-branch ... D..H --not C\n" +msgid "--squash=<commit>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:380 -msgid "To move the whole tree into a subdirectory, or remove it from there:" +#: en/git-commit.txt:95 +msgid "" +"Construct a commit message for use with `rebase --autosquash`. The commit " +"message subject line is taken from the specified commit with a prefix of " +"\"squash! \". Can be used with additional commit message options " +"(`-m`/`-c`/`-C`/`-F`). See linkgit:git-rebase[1] for details." msgstr "" -#. type: delimited block - -#: en/git-filter-branch.txt:387 +#. type: Labeled list +#: en/git-commit.txt:96 #, no-wrap +msgid "--reset-author" +msgstr "" + +#. type: Plain text +#: en/git-commit.txt:101 msgid "" -"git filter-branch --index-filter \\\n" -"\t'git ls-files -s | sed \"s-\\t\\\"*-&newsubdir/-\" |\n" -"\t\tGIT_INDEX_FILE=$GIT_INDEX_FILE.new \\\n" -"\t\t\tgit update-index --index-info &&\n" -"\t mv \"$GIT_INDEX_FILE.new\" \"$GIT_INDEX_FILE\"' HEAD\n" +"When used with -C/-c/--amend options, or when committing after a a " +"conflicting cherry-pick, declare that the authorship of the resulting commit " +"now belongs to the committer. This also renews the author timestamp." msgstr "" -#. type: Title - -#: en/git-filter-branch.txt:392 +#. type: Labeled list +#: en/git-commit.txt:102 en/git-rev-parse.txt:139 en/git-status.txt:28 en/git-symbolic-ref.txt:45 #, no-wrap -msgid "Checklist for Shrinking a Repository" +msgid "--short" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:400 +#: en/git-commit.txt:105 msgid "" -"git-filter-branch can be used to get rid of a subset of files, usually with " -"some combination of `--index-filter` and `--subdirectory-filter`. People " -"expect the resulting repository to be smaller than the original, but you " -"need a few more steps to actually make it smaller, because Git tries hard " -"not to lose your objects until you tell it to. First make sure that:" +"When doing a dry-run, give the output in the short-format. See " +"linkgit:git-status[1] for details. Implies `--dry-run`." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:404 -msgid "" -"You really removed all variants of a filename, if a blob was moved over its " -"lifetime. `git log --name-only --follow --all -- filename` can help you " -"find renames." +#. type: Labeled list +#: en/git-commit.txt:106 en/git-status.txt:32 en/git-submodule.txt:280 +#, no-wrap +msgid "--branch" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:407 -msgid "" -"You really filtered all refs: use `--tag-name-filter cat -- --all` when " -"calling git-filter-branch." +#: en/git-commit.txt:108 en/git-status.txt:34 +msgid "Show the branch and tracking info even in short-format." msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:410 +#: en/git-commit.txt:113 msgid "" -"Then there are two ways to get a smaller repository. A safer way is to " -"clone, that keeps your original intact." +"When doing a dry-run, give the output in a porcelain-ready format. See " +"linkgit:git-status[1] for details. Implies `--dry-run`." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:414 -msgid "" -"Clone it with `git clone file:///path/to/repo`. The clone will not have the " -"removed objects. See linkgit:git-clone[1]. (Note that cloning with a plain " -"path just hardlinks everything!)" +#. type: Labeled list +#: en/git-commit.txt:114 en/git-describe.txt:74 en/git-ls-tree.txt:52 en/git-status.txt:44 +#, no-wrap +msgid "--long" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:419 +#: en/git-commit.txt:117 msgid "" -"If you really don't want to clone it, for whatever reasons, check the " -"following points instead (in this order). This is a very destructive " -"approach, so *make a backup* or go back to cloning it. You have been " -"warned." +"When doing a dry-run, give the output in a the long-format. Implies " +"`--dry-run`." +msgstr "" + +#. type: Labeled list +#: en/git-commit.txt:119 en/git-config.txt:184 en/git-grep.txt:197 +#, no-wrap +msgid "--null" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:423 +#: en/git-commit.txt:126 msgid "" -"Remove the original refs backed up by git-filter-branch: say `git " -"for-each-ref --format=\"%(refname)\" refs/original/ | xargs -n 1 git " -"update-ref -d`." +"When showing `short` or `porcelain` status output, print the filename " +"verbatim and terminate the entries with NUL, instead of LF. If no format is " +"given, implies the `--porcelain` output format. Without the `-z` option, " +"filenames with \"unusual\" characters are quoted as explained for the " +"configuration variable `core.quotePath` (see linkgit:git-config[1])." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:425 -msgid "Expire all reflogs with `git reflog expire --expire=now --all`." +#. type: Labeled list +#: en/git-commit.txt:128 en/git-notes.txt:141 en/git-tag.txt:139 +#, no-wrap +msgid "--file=<file>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:429 +#: en/git-commit.txt:131 msgid "" -"Garbage collect all unreferenced objects with `git gc --prune=now` (or if " -"your git-gc is not new enough to support arguments to `--prune`, use `git " -"repack -ad; git prune` instead)." +"Take the commit message from the given file. Use '-' to read the message " +"from the standard input." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:441 -msgid "" -"git-filter-branch allows you to make complex shell-scripted rewrites of your " -"Git history, but you probably don't need this flexibility if you're simply " -"_removing unwanted data_ like large files or passwords. For those " -"operations you may want to consider " -"http://rtyley.github.io/bfg-repo-cleaner/[The BFG Repo-Cleaner], a JVM-based " -"alternative to git-filter-branch, typically at least 10-50x faster for those " -"use-cases, and with quite different characteristics:" +#. type: Labeled list +#: en/git-commit.txt:132 +#, no-wrap +msgid "--author=<author>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:449 +#: en/git-commit.txt:138 msgid "" -"Any particular version of a file is cleaned exactly _once_. The BFG, unlike " -"git-filter-branch, does not give you the opportunity to handle a file " -"differently based on where or when it was committed within your " -"history. This constraint gives the core performance benefit of The BFG, and " -"is well-suited to the task of cleansing bad data - you don't care _where_ " -"the bad data is, you just want it _gone_." +"Override the commit author. Specify an explicit author using the standard `A " +"U Thor <author@example.com>` format. Otherwise <author> is assumed to be a " +"pattern and is used to search for an existing commit by that author " +"(i.e. rev-list --all -i --author=<author>); the commit author is then copied " +"from the first such commit found." msgstr "" -#. type: Plain text -#: en/git-filter-branch.txt:455 -msgid "" -"By default The BFG takes full advantage of multi-core machines, cleansing " -"commit file-trees in parallel. git-filter-branch cleans commits sequentially " -"(i.e. in a single-threaded manner), though it _is_ possible to write filters " -"that include their own parallelism, in the scripts executed against each " -"commit." +#. type: Labeled list +#: en/git-commit.txt:139 +#, no-wrap +msgid "--date=<date>" msgstr "" #. type: Plain text -#: en/git-filter-branch.txt:460 -msgid "" -"The http://rtyley.github.io/bfg-repo-cleaner/#examples[command options] are " -"much more restrictive than git-filter branch, and dedicated just to the " -"tasks of removing unwanted data- e.g: `--strip-blobs-bigger-than 1M`." +#: en/git-commit.txt:141 +msgid "Override the author date used in the commit." msgstr "" -#. type: Title = -#: en/git-fmt-merge-msg.txt:2 +#. type: Labeled list +#: en/git-commit.txt:142 en/git-merge.txt:78 en/git-notes.txt:132 en/git-tag.txt:130 #, no-wrap -msgid "git-fmt-merge-msg(1)" +msgid "-m <msg>" msgstr "" -#. type: Plain text -#: en/git-fmt-merge-msg.txt:7 -msgid "git-fmt-merge-msg - Produce a merge commit message" +#. type: Labeled list +#: en/git-commit.txt:143 en/git-notes.txt:133 en/git-tag.txt:131 +#, no-wrap +msgid "--message=<msg>" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:14 -#, no-wrap +#: en/git-commit.txt:147 msgid "" -"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log]\n" -"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log] -F <file>\n" +"Use the given <msg> as the commit message. If multiple `-m` options are " +"given, their values are concatenated as separate paragraphs." +msgstr "" + +#. type: Labeled list +#: en/git-commit.txt:148 +#, no-wrap +msgid "-t <file>" +msgstr "" + +#. type: Labeled list +#: en/git-commit.txt:149 +#, no-wrap +msgid "--template=<file>" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:20 +#: en/git-commit.txt:158 msgid "" -"Takes the list of merged objects on stdin and produces a suitable commit " -"message to be used for the merge commit, usually to be passed as the " -"'<merge-message>' argument of 'git merge'." +"When editing the commit message, start the editor with the contents in the " +"given file. The `commit.template` configuration variable is often used to " +"give this option implicitly to the command. This mechanism can be used by " +"projects that want to guide participants with some hints on what to write in " +"the message in what order. If the user exits the editor without editing the " +"message, the commit is aborted. This has no effect when a message is given " +"by other means, e.g. with the `-m` or `-F` options." msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:23 +#: en/git-commit.txt:167 msgid "" -"This command is intended mostly for internal use by scripts automatically " -"invoking 'git merge'." +"Add Signed-off-by line by the committer at the end of the commit log " +"message. The meaning of a signoff depends on the project, but it typically " +"certifies that committer has the rights to submit this work under the same " +"license and agrees to a Developer Certificate of Origin (see " +"http://developercertificate.org/ for more information)." msgstr "" #. type: Labeled list -#: en/git-fmt-merge-msg.txt:27 en/merge-options.txt:45 +#: en/git-commit.txt:169 en/git-rebase.txt:322 #, no-wrap -msgid "--log[=<n>]" +msgid "--no-verify" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:33 +#: en/git-commit.txt:172 msgid "" -"In addition to branch names, populate the log message with one-line " -"descriptions from the actual commits that are being merged. At most <n> " -"commits from each merge parent will be used (20 if <n> is omitted). This " -"overrides the `merge.log` configuration variable." +"This option bypasses the pre-commit and commit-msg hooks. See also " +"linkgit:githooks[5]." msgstr "" -#. type: Labeled list -#: en/git-fmt-merge-msg.txt:34 en/merge-options.txt:46 -#, no-wrap -msgid "--no-log" +#. type: Plain text +#: en/git-commit.txt:178 +msgid "" +"Usually recording a commit that has the exact same tree as its sole parent " +"commit is a mistake, and the command prevents you from making such a " +"commit. This option bypasses the safety, and is primarily for use by " +"foreign SCM interface scripts." msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:37 -msgid "Do not list one-line descriptions from the actual commits being merged." +#: en/git-commit.txt:184 +msgid "" +"Like --allow-empty this command is primarily for use by foreign SCM " +"interface scripts. It allows you to create a commit with an empty commit " +"message without using plumbing commands like linkgit:git-commit-tree[1]." msgstr "" #. type: Labeled list -#: en/git-fmt-merge-msg.txt:38 +#: en/git-commit.txt:185 en/git-tag.txt:145 #, no-wrap -msgid "--[no-]summary" +msgid "--cleanup=<mode>" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:41 +#: en/git-commit.txt:189 msgid "" -"Synonyms to --log and --no-log; these are deprecated and will be removed in " -"the future." +"This option determines how the supplied commit message should be cleaned up " +"before committing. The '<mode>' can be `strip`, `whitespace`, `verbatim`, " +"`scissors` or `default`." msgstr "" #. type: Labeled list -#: en/git-fmt-merge-msg.txt:43 +#: en/git-commit.txt:191 #, no-wrap -msgid "--message <message>" +msgid "strip" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:46 +#: en/git-commit.txt:194 msgid "" -"Use <message> instead of the branch names for the first line of the log " -"message. For use with `--log`." +"Strip leading and trailing empty lines, trailing whitespace, commentary and " +"collapse consecutive empty lines." msgstr "" #. type: Labeled list -#: en/git-fmt-merge-msg.txt:48 +#: en/git-commit.txt:194 #, no-wrap -msgid "--file <file>" +msgid "whitespace" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:51 -msgid "Take the list of merged objects from <file> instead of stdin." +#: en/git-commit.txt:196 +msgid "Same as `strip` except #commentary is not removed." msgstr "" #. type: Labeled list -#: en/git-fmt-merge-msg.txt:56 +#: en/git-commit.txt:196 #, no-wrap -msgid "merge.summary" +msgid "verbatim" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:59 -msgid "" -"Synonym to `merge.log`; this is deprecated and will be removed in the " -"future." +#: en/git-commit.txt:198 +msgid "Do not change the message at all." msgstr "" -#. type: delimited block - -#: en/git-fmt-merge-msg.txt:66 +#. type: Labeled list +#: en/git-commit.txt:198 #, no-wrap -msgid "" -"$ git fetch origin master\n" -"$ git fmt-merge-msg --log <$GIT_DIR/FETCH_HEAD\n" +msgid "scissors" msgstr "" #. type: Plain text -#: en/git-fmt-merge-msg.txt:70 +#: en/git-commit.txt:204 msgid "" -"Print a log message describing a merge of the \"master\" branch from the " -"\"origin\" remote." +"Same as `whitespace`, except that everything from (and including) the line " +"\"`# ------------------------ >8 ------------------------`\" is truncated if " +"the message is to be edited. \"`#`\" can be customized with " +"core.commentChar." msgstr "" #. type: Labeled list -#: en/git-fmt-merge-msg.txt:75 en/cmds-mainporcelain.txt:64 -#, no-wrap -msgid "linkgit:git-merge[1]" -msgstr "" - -#. type: Title = -#: en/git-for-each-ref.txt:2 +#: en/git-commit.txt:204 #, no-wrap -msgid "git-for-each-ref(1)" +msgid "default" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:7 -msgid "git-for-each-ref - Output information on each ref" +#: en/git-commit.txt:207 +msgid "Same as `strip` if the message is to be edited. Otherwise `whitespace`." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:15 -#, no-wrap +#: en/git-commit.txt:211 msgid "" -"'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]\n" -"\t\t [(--sort=<key>)...] [--format=<format>] [<pattern>...]\n" -"\t\t [--points-at <object>] [(--merged | --no-merged) [<object>]]\n" -"\t\t [--contains [<object>]]\n" +"The default can be changed by the `commit.cleanup` configuration variable " +"(see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:25 +#: en/git-commit.txt:218 msgid "" -"Iterate over all refs that match `<pattern>` and show them according to the " -"given `<format>`, after sorting them according to the given set of `<key>`. " -"If `<count>` is given, stop after showing that many refs. The interpolated " -"values in `<format>` can optionally be quoted as string literals in the " -"specified host language allowing their direct evaluation in that language." +"The message taken from file with `-F`, command line with `-m`, and from " +"commit object with `-C` are usually used as the commit log message " +"unmodified. This option lets you further edit the message taken from these " +"sources." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:28 +#: en/git-commit.txt:219 en/git-revert.txt:65 en/merge-options.txt:12 #, no-wrap -msgid "<count>" +msgid "--no-edit" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:32 +#: en/git-commit.txt:223 msgid "" -"By default the command shows all refs that match `<pattern>`. This option " -"makes it stop after showing that many refs." +"Use the selected commit message without launching an editor. For example, " +"`git commit --amend --no-edit` amends a commit without changing its commit " +"message." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:33 +#: en/git-commit.txt:224 #, no-wrap -msgid "<key>" +msgid "--amend" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:39 +#: en/git-commit.txt:234 msgid "" -"A field name to sort on. Prefix `-` to sort in descending order of the " -"value. When unspecified, `refname` is used. You may use the --sort=<key> " -"option multiple times, in which case the last key becomes the primary key." -msgstr "" - -#. type: Labeled list -#: en/git-for-each-ref.txt:40 en/git-tag.txt:170 -#, no-wrap -msgid "<format>" +"Replace the tip of the current branch by creating a new commit. The recorded " +"tree is prepared as usual (including the effect of the `-i` and `-o` options " +"and explicit pathspec), and the message from the original commit is used as " +"the starting point, instead of an empty message, when no other message is " +"specified from the command line via options such as `-m`, `-F`, `-c`, etc. " +"The new commit has the same parents and author as the current one (the " +"`--reset-author` option can countermand this)." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:51 -msgid "" -"A string that interpolates `%(fieldname)` from the object pointed at by a " -"ref being shown. If `fieldname` is prefixed with an asterisk (`*`) and the " -"ref points at a tag object, the value for the field in the object tag refers " -"is used. When unspecified, defaults to `%(objectname) SPC %(objecttype) TAB " -"%(refname)`. It also interpolates `%%` to `%`, and `%xx` where `xx` are hex " -"digits interpolates to character with hex code `xx`; for example `%00` " -"interpolates to `\\0` (NUL), `%09` to `\\t` (TAB) and `%0a` to `\\n` (LF)." +#: en/git-commit.txt:237 +msgid "It is a rough equivalent for:" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:52 en/git-show-ref.txt:88 +#. type: delimited block - +#: en/git-commit.txt:241 #, no-wrap -msgid "<pattern>..." +msgid "" +"\t$ git reset --soft HEAD^\n" +"\t$ ... do something else to come up with the right tree ...\n" +"\t$ git commit -c ORIG_HEAD\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:57 -msgid "" -"If one or more patterns are given, only refs are shown that match against at " -"least one pattern, either using fnmatch(3) or literally, in the latter case " -"matching completely or from the beginning up to a slash." +#: en/git-commit.txt:244 +msgid "but can be used to amend a merge commit." msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:58 -#, no-wrap -msgid "--shell" +#. type: Plain text +#: en/git-commit.txt:249 +msgid "" +"You should understand the implications of rewriting history if you amend a " +"commit that has already been published. (See the \"RECOVERING FROM UPSTREAM " +"REBASE\" section in linkgit:git-rebase[1].)" msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:59 +#: en/git-commit.txt:250 #, no-wrap -msgid "--perl" +msgid "--no-post-rewrite" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:60 -#, no-wrap -msgid "--python" +#. type: Plain text +#: en/git-commit.txt:252 +msgid "Bypass the post-rewrite hook." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:61 +#: en/git-commit.txt:254 #, no-wrap -msgid "--tcl" +msgid "--include" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:66 +#: en/git-commit.txt:259 msgid "" -"If given, strings that substitute `%(fieldname)` placeholders are quoted as " -"string literals suitable for the specified host language. This is meant to " -"produce a scriptlet that can directly be `eval`ed." -msgstr "" - -#. type: Plain text -#: en/git-for-each-ref.txt:69 -msgid "Only list refs which points at the given object." +"Before making a commit out of staged contents so far, stage the contents of " +"paths given on the command line as well. This is usually not what you want " +"unless you are concluding a conflicted merge." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:70 +#: en/git-commit.txt:261 #, no-wrap -msgid "--merged [<object>]" +msgid "--only" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:73 +#: en/git-commit.txt:273 msgid "" -"Only list refs whose tips are reachable from the specified commit (HEAD if " -"not specified)." +"Make a commit by taking the updated working tree contents of the paths " +"specified on the command line, disregarding any contents that have been " +"staged for other paths. This is the default mode of operation of 'git " +"commit' if any paths are given on the command line, in which case this " +"option can be omitted. If this option is specified together with `--amend`, " +"then no paths need to be specified, which can be used to amend the last " +"commit without committing changes that have already been staged. If used " +"together with `--allow-empty` paths are also not required, and an empty " +"commit will be created." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:74 +#: en/git-commit.txt:274 en/git-status.txt:55 #, no-wrap -msgid "--no-merged [<object>]" -msgstr "" - -#. type: Plain text -#: en/git-for-each-ref.txt:77 -msgid "" -"Only list refs whose tips are not reachable from the specified commit (HEAD " -"if not specified)." +msgid "-u[<mode>]" msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:78 +#: en/git-commit.txt:275 en/git-status.txt:56 #, no-wrap -msgid "--contains [<object>]" +msgid "--untracked-files[=<mode>]" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:81 -msgid "Only list refs which contain the specified commit (HEAD if not specified)." +#: en/git-commit.txt:277 en/git-status.txt:58 +msgid "Show untracked files." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:84 -msgid "Sorting and filtering refs are case insensitive." +#: en/git-commit.txt:281 +msgid "" +"The mode parameter is optional (defaults to 'all'), and is used to specify " +"the handling of untracked files; when -u is not used, the default is " +"'normal', i.e. show untracked files and directories." msgstr "" -#. type: Title - -#: en/git-for-each-ref.txt:86 -#, no-wrap -msgid "FIELD NAMES" +#. type: Plain text +#: en/git-commit.txt:283 en/git-status.txt:64 +msgid "The possible options are:" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:91 -msgid "" -"Various values from structured fields in referenced objects can be used to " -"interpolate into the resulting output, or as sort keys." +#: en/git-commit.txt:285 +#, no-wrap +msgid "'no' - Show no untracked files\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:93 -msgid "For all objects, the following names can be used:" +#: en/git-commit.txt:286 +#, no-wrap +msgid "'normal' - Shows untracked files and directories\n" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:94 +#. type: Plain text +#: en/git-commit.txt:287 en/git-status.txt:68 #, no-wrap -msgid "refname" +msgid "'all' - Also shows individual files in untracked directories.\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:110 +#: en/git-commit.txt:290 en/git-status.txt:81 msgid "" -"The name of the ref (the part after $GIT_DIR/). For a non-ambiguous short " -"name of the ref append `:short`. The option core.warnAmbiguousRefs is used " -"to select the strict abbreviation mode. If `lstrip=<N>` (`rstrip=<N>`) is " -"appended, strips `<N>` slash-separated path components from the front (back) " -"of the refname (e.g. `%(refname:lstrip=2)` turns `refs/tags/foo` into `foo` " -"and `%(refname:rstrip=2)` turns `refs/tags/foo` into `refs`). If `<N>` is a " -"negative number, strip as many path components as necessary from the " -"specified end to leave `-<N>` path components (e.g. `%(refname:lstrip=-2)` " -"turns `refs/tags/foo` into `tags/foo` and `%(refname:rstrip=-1)` turns " -"`refs/tags/foo` into `refs`). When the ref does not have enough components, " -"the result becomes an empty string if stripping with positive <N>, or it " -"becomes the full refname if stripping with negative <N>. Neither is an " -"error." +"The default can be changed using the status.showUntrackedFiles configuration " +"variable documented in linkgit:git-config[1]." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:112 -msgid "`strip` can be used as a synomym to `lstrip`." -msgstr "" - -#. type: Labeled list -#: en/git-for-each-ref.txt:113 -#, no-wrap -msgid "objecttype" +#: en/git-commit.txt:301 +msgid "" +"Show unified diff between the HEAD commit and what would be committed at the " +"bottom of the commit message template to help the user describe the commit " +"by reminding what changes the commit has. Note that this diff output " +"doesn't have its lines prefixed with '#'. This diff will not be a part of " +"the commit message. See the `commit.verbose` configuration variable in " +"linkgit:git-config[1]." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:115 -msgid "The type of the object (`blob`, `tree`, `commit`, `tag`)." +#: en/git-commit.txt:305 +msgid "" +"If specified twice, show in addition the unified diff between what would be " +"committed and the worktree files, i.e. the unstaged changes to tracked " +"files." msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:116 -#, no-wrap -msgid "objectsize" +#. type: Plain text +#: en/git-commit.txt:309 +msgid "Suppress commit summary message." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:118 -msgid "The size of the object (the same as 'git cat-file -s' reports)." +#: en/git-commit.txt:314 +msgid "" +"Do not create a commit, but show a list of paths that are to be committed, " +"paths with local changes that will be left uncommitted and paths that are " +"untracked." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:119 +#: en/git-commit.txt:315 #, no-wrap -msgid "objectname" +msgid "--status" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:125 +#: en/git-commit.txt:320 msgid "" -"The object name (aka SHA-1). For a non-ambiguous abbreviation of the object " -"name append `:short`. For an abbreviation of the object name with desired " -"length append `:short=<length>`, where the minimum length is " -"MINIMUM_ABBREV. The length may be exceeded to ensure unique object names." +"Include the output of linkgit:git-status[1] in the commit message template " +"when using an editor to prepare the commit message. Defaults to on, but can " +"be used to override configuration variable commit.status." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:126 +#: en/git-commit.txt:321 #, no-wrap -msgid "upstream" +msgid "--no-status" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:140 +#: en/git-commit.txt:325 msgid "" -"The name of a local ref which can be considered ``upstream'' from the " -"displayed ref. Respects `:short`, `:lstrip` and `:rstrip` in the same way as " -"`refname` above. Additionally respects `:track` to show \"[ahead N, behind " -"M]\" and `:trackshort` to show the terse version: \">\" (ahead), \"<\" " -"(behind), \"<>\" (ahead and behind), or \"=\" (in sync). `:track` also " -"prints \"[gone]\" whenever unknown upstream ref is encountered. Append " -"`:track,nobracket` to show tracking information without brackets (i.e " -"\"ahead N, behind M\"). Has no effect if the ref does not have tracking " -"information associated with it. All the options apart from `nobracket` are " -"mutually exclusive, but if used together the last option is selected." +"Do not include the output of linkgit:git-status[1] in the commit message " +"template when using an editor to prepare the default commit message." +msgstr "" + +#. type: Plain text +#: en/git-commit.txt:335 +msgid "" +"Countermand `commit.gpgSign` configuration variable that is set to force " +"each and every commit to be signed." msgstr "" #. type: Labeled list -#: en/git-for-each-ref.txt:141 +#: en/git-commit.txt:339 en/git-rm.txt:29 #, no-wrap -msgid "push" +msgid "<file>..." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:147 +#: en/git-commit.txt:345 msgid "" -"The name of a local ref which represents the `@{push}` location for the " -"displayed ref. Respects `:short`, `:lstrip`, `:rstrip`, `:track`, and " -"`:trackshort` options as `upstream` does. Produces an empty string if no " -"`@{push}` ref is configured." +"When files are given on the command line, the command commits the contents " +"of the named files, without recording the changes already staged. The " +"contents of these files are also staged for the next commit on top of what " +"have been staged before." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:151 -msgid "'*' if HEAD matches current ref (the checked out branch), ' ' otherwise." +#: en/git-commit.txt:362 +msgid "" +"When recording your own work, the contents of modified files in your working " +"tree are temporarily stored to a staging area called the \"index\" with 'git " +"add'. A file can be reverted back, only in the index but not in the working " +"tree, to that of the last commit with `git reset HEAD -- <file>`, which " +"effectively reverts 'git add' and prevents the changes to this file from " +"participating in the next commit. After building the state to be committed " +"incrementally with these commands, `git commit` (without any pathname " +"parameter) is used to record what has been staged so far. This is the most " +"basic form of the command. An example:" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:152 en/config.txt:214 en/diff-options.txt:241 +#. type: delimited block - +#: en/git-commit.txt:368 #, no-wrap -msgid "color" +msgid "" +"$ edit hello.c\n" +"$ git rm goodbye.c\n" +"$ git add hello.c\n" +"$ git commit\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:155 +#: en/git-commit.txt:376 msgid "" -"Change output color. Followed by `:<colorname>`, where names are described " -"in `color.branch.*`." +"Instead of staging files after each individual change, you can tell `git " +"commit` to notice the changes to the files whose contents are tracked in " +"your working tree and do corresponding `git add` and `git rm` for you. That " +"is, this example does the same as the earlier example if there is no other " +"change in your working tree:" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:156 +#. type: delimited block - +#: en/git-commit.txt:381 #, no-wrap -msgid "align" +msgid "" +"$ edit hello.c\n" +"$ rm goodbye.c\n" +"$ git commit -a\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:170 +#: en/git-commit.txt:386 msgid "" -"Left-, middle-, or right-align the content between %(align:...) and " -"%(end). The \"align:\" is followed by `width=<width>` and " -"`position=<position>` in any order separated by a comma, where the " -"`<position>` is either left, right or middle, default being left and " -"`<width>` is the total length of the content with alignment. For brevity, " -"the \"width=\" and/or \"position=\" prefixes may be omitted, and bare " -"<width> and <position> used instead. For instance, " -"`%(align:<width>,<position>)`. If the contents length is more than the width " -"then no alignment is performed. If used with `--quote` everything in between " -"%(align:...) and %(end) is quoted, but if nested then only the topmost level " -"performs quoting." +"The command `git commit -a` first looks at your working tree, notices that " +"you have modified hello.c and removed goodbye.c, and performs necessary `git " +"add` and `git rm` for you." msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:171 +#. type: Plain text +#: en/git-commit.txt:391 +msgid "" +"After staging changes to many files, you can alter the order the changes are " +"recorded in, by giving pathnames to `git commit`. When pathnames are given, " +"the command makes a commit that only records the changes made to the named " +"paths:" +msgstr "" + +#. type: delimited block - +#: en/git-commit.txt:397 #, no-wrap -msgid "if" +msgid "" +"$ edit hello.c hello.h\n" +"$ git add hello.c hello.h\n" +"$ edit Makefile\n" +"$ git commit Makefile\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:183 +#: en/git-commit.txt:404 msgid "" -"Used as %(if)...%(then)...%(end) or %(if)...%(then)...%(else)...%(end). If " -"there is an atom with value or string literal after the %(if) then " -"everything after the %(then) is printed, else if the %(else) atom is used, " -"then everything after %(else) is printed. We ignore space when evaluating " -"the string before %(then), this is useful when we use the %(HEAD) atom which " -"prints either \"*\" or \" \" and we want to apply the 'if' condition only on " -"the 'HEAD' ref. Append \":equals=<string>\" or \":notequals=<string>\" to " -"compare the value between the %(if:...) and %(then) atoms with the given " -"string." +"This makes a commit that records the modification to `Makefile`. The " +"changes staged for `hello.c` and `hello.h` are not included in the resulting " +"commit. However, their changes are not lost -- they are still staged and " +"merely held back. After the above sequence, if you do:" msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:184 +#. type: delimited block - +#: en/git-commit.txt:407 en/git-commit.txt:433 #, no-wrap -msgid "symref" +msgid "$ git commit\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:189 +#: en/git-commit.txt:411 msgid "" -"The ref which the given symbolic ref refers to. If not a symbolic ref, " -"nothing is printed. Respects the `:short`, `:lstrip` and `:rstrip` options " -"in the same way as `refname` above." +"this second commit would record the changes to `hello.c` and `hello.h` as " +"expected." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:193 +#: en/git-commit.txt:419 msgid "" -"In addition to the above, for commit and tag objects, the header field names " -"(`tree`, `parent`, `object`, `type`, and `tag`) can be used to specify the " -"value in the header field." +"After a merge (initiated by 'git merge' or 'git pull') stops because of " +"conflicts, cleanly merged paths are already staged to be committed for you, " +"and paths that conflicted are left in unmerged state. You would have to " +"first check which paths are conflicting with 'git status' and after fixing " +"them manually in your working tree, you would stage the result as usual with " +"'git add':" msgstr "" -#. type: Plain text -#: en/git-for-each-ref.txt:198 +#. type: delimited block - +#: en/git-commit.txt:425 +#, no-wrap msgid "" -"For commit and tag objects, the special `creatordate` and `creator` fields " -"will correspond to the appropriate date or name-email-date tuple from the " -"`committer` or `tagger` fields depending on the object type. These are " -"intended for working on a mix of annotated and lightweight tags." +"$ git status | grep unmerged\n" +"unmerged: hello.c\n" +"$ edit hello.c\n" +"$ git add hello.c\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:202 +#: en/git-commit.txt:430 msgid "" -"Fields that have name-email-date tuple as its value (`author`, `committer`, " -"and `tagger`) can be suffixed with `name`, `email`, and `date` to extract " -"the named component." +"After resolving conflicts and staging the result, `git ls-files -u` would " +"stop mentioning the conflicted path. When you are done, run `git commit` to " +"finally record the merge:" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:211 +#: en/git-commit.txt:441 msgid "" -"The complete message in a commit and tag object is `contents`. Its first " -"line is `contents:subject`, where subject is the concatenation of all lines " -"of the commit message up to the first blank line. The next line is " -"'contents:body', where body is all of the lines after the first blank line. " -"The optional GPG signature is `contents:signature`. The first `N` lines of " -"the message is obtained using `contents:lines=N`. Additionally, the " -"trailers as interpreted by linkgit:git-interpret-trailers[1] are obtained as " -"'contents:trailers'." +"As with the case to record your own changes, you can use `-a` option to save " +"typing. One difference is that during a merge resolution, you cannot use " +"`git commit` with pathnames to alter the order the changes are committed, " +"because the merge should be recorded as a single commit. In fact, the " +"command refuses to run when given pathnames (but see `-i` option)." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:215 +#: en/git-commit.txt:453 msgid "" -"For sorting purposes, fields with numeric values sort in numeric order " -"(`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`). " -"All other fields are used to sort in their byte-value order." +"Though not required, it's a good idea to begin the commit message with a " +"single short (less than 50 character) line summarizing the change, followed " +"by a blank line and then a more thorough description. The text up to the " +"first blank line in a commit message is treated as the commit title, and " +"that title is used throughout Git. For example, linkgit:git-format-patch[1] " +"turns a commit into email, and it uses the title on the Subject line and the " +"rest of the commit in the body." msgstr "" -#. type: Plain text -#: en/git-for-each-ref.txt:218 -msgid "" -"There is also an option to sort by versions, this can be done by using the " -"fieldname `version:refname` or its alias `v:refname`." +#. type: Title - +#: en/git-commit.txt:457 +#, no-wrap +msgid "ENVIRONMENT AND CONFIGURATION VARIABLES" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:222 +#: en/git-commit.txt:462 msgid "" -"In any case, a field name that refers to a field inapplicable to the object " -"referred by the ref does not cause an error. It returns an empty string " -"instead." +"The editor used to edit the commit log message will be chosen from the " +"`GIT_EDITOR` environment variable, the core.editor configuration variable, " +"the `VISUAL` environment variable, or the `EDITOR` environment variable (in " +"that order). See linkgit:git-var[1] for details." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:226 +#: en/git-commit.txt:468 msgid "" -"As a special case for the date-type fields, you may specify a format for the " -"date by adding `:` followed by date format name (see the values the `--date` " -"option to linkgit:git-rev-list[1] takes)." +"This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, " +"`post-commit` and `post-rewrite` hooks. See linkgit:githooks[5] for more " +"information." msgstr "" -#. type: Plain text -#: en/git-for-each-ref.txt:229 -msgid "" -"Some atoms like %(align) and %(if) always require a matching %(end). We " -"call them \"opening atoms\" and sometimes denote them as %($open)." +#. type: Labeled list +#: en/git-commit.txt:472 +#, no-wrap +msgid "`$GIT_DIR/COMMIT_EDITMSG`" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:234 +#: en/git-commit.txt:478 msgid "" -"When a scripting language specific quoting is in effect, everything between " -"a top-level opening atom and its matching %(end) is evaluated according to " -"the semantics of the opening atom and only its result from the top-level is " -"quoted." +"This file contains the commit message of a commit in progress. If `git " +"commit` exits due to an error before creating a commit, any commit message " +"that has been provided by the user (e.g., in an editor session) will be " +"available in this file, but will be overwritten by the next invocation of " +"`git commit`." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:241 +#: en/git-commit.txt:486 msgid "" -"An example directly producing formatted text. Show the most recent 3 tagged " -"commits:" +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mv[1], " +"linkgit:git-merge[1], linkgit:git-commit-tree[1]" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:244 en/git-for-each-ref.txt:260 en/git-for-each-ref.txt:274 +#. type: Title = +#: en/git-config.txt:2 #, no-wrap -msgid "#!/bin/sh\n" +msgid "git-config(1)" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:250 -#, no-wrap -msgid "" -"git for-each-ref --count=3 --sort='-*authordate' \\\n" -"--format='From: %(*authorname) %(*authoremail)\n" -"Subject: %(*subject)\n" -"Date: %(*authordate)\n" -"Ref: %(*refname)\n" +#. type: Plain text +#: en/git-config.txt:7 +msgid "git-config - Get and set repository or global options" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:253 +#. type: Plain text +#: en/git-config.txt:27 #, no-wrap msgid "" -"%(*body)\n" -"' 'refs/tags'\n" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] name [value " +"[value_regex]]\n" +"'git config' [<file-option>] [type] --add name value\n" +"'git config' [<file-option>] [type] --replace-all name value [value_regex]\n" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get name " +"[value_regex]\n" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get-all " +"name [value_regex]\n" +"'git config' [<file-option>] [type] [--show-origin] [-z|--null] " +"[--name-only] --get-regexp name_regex [value_regex]\n" +"'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL\n" +"'git config' [<file-option>] --unset name [value_regex]\n" +"'git config' [<file-option>] --unset-all name [value_regex]\n" +"'git config' [<file-option>] --rename-section old_name new_name\n" +"'git config' [<file-option>] --remove-section name\n" +"'git config' [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | " +"--list\n" +"'git config' [<file-option>] --get-color name [default]\n" +"'git config' [<file-option>] --get-colorbool name [stdout-is-tty]\n" +"'git config' [<file-option>] -e | --edit\n" msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:258 +#: en/git-config.txt:33 msgid "" -"A simple example showing the use of shell eval on the output, demonstrating " -"the use of --shell. List the prefixes of all heads:" +"You can query/set/replace/unset options with this command. The name is " +"actually the section and the key separated by a dot, and the value will be " +"escaped." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:267 -#, no-wrap +#. type: Plain text +#: en/git-config.txt:40 msgid "" -"git for-each-ref --shell --format=\"ref=%(refname)\" refs/heads | \\\n" -"while read entry\n" -"do\n" -"\teval \"$entry\"\n" -"\techo `dirname $ref`\n" -"done\n" +"Multiple lines can be added to an option by using the `--add` option. If " +"you want to update or unset an option which can occur on multiple lines, a " +"POSIX regexp `value_regex` needs to be given. Only the existing values that " +"match the regexp are updated or unset. If you want to handle the lines that " +"do *not* match the regex, just prepend a single exclamation mark in front " +"(see also <<EXAMPLES>>)." msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:272 +#: en/git-config.txt:47 msgid "" -"A bit more elaborate report on tags, demonstrating that the format may be an " -"entire script:" +"The type specifier can be either `--int` or `--bool`, to make 'git config' " +"ensure that the variable(s) are of the given type and convert the value to " +"the canonical form (simple decimal number for int, a \"true\" or \"false\" " +"string for bool), or `--path`, which does some path expansion (see `--path` " +"below). If no type specifier is passed, no checks or transformations are " +"performed on the value." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:279 -#, no-wrap +#. type: Plain text +#: en/git-config.txt:52 msgid "" -"fmt='\n" -"\tr=%(refname)\n" -"\tt=%(*objecttype)\n" -"\tT=${r#refs/tags/}\n" +"When reading, the values are read from the system, global and repository " +"local configuration files by default, and options `--system`, `--global`, " +"`--local` and `--file <filename>` can be used to tell the command to read " +"from only that location (see <<FILES>>)." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:286 -#, no-wrap +#. type: Plain text +#: en/git-config.txt:57 msgid "" -"\to=%(*objectname)\n" -"\tn=%(*authorname)\n" -"\te=%(*authoremail)\n" -"\ts=%(*subject)\n" -"\td=%(*authordate)\n" -"\tb=%(*body)\n" +"When writing, the new value is written to the repository local configuration " +"file by default, and options `--system`, `--global`, `--file <filename>` can " +"be used to tell the command to write to that location (you can say `--local` " +"but that is the default)." msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:305 -#, no-wrap +#. type: Plain text +#: en/git-config.txt:60 msgid "" -"\tkind=Tag\n" -"\tif test \"z$t\" = z\n" -"\tthen\n" -"\t\t# could be a lightweight tag\n" -"\t\tt=%(objecttype)\n" -"\t\tkind=\"Lightweight tag\"\n" -"\t\to=%(objectname)\n" -"\t\tn=%(authorname)\n" -"\t\te=%(authoremail)\n" -"\t\ts=%(subject)\n" -"\t\td=%(authordate)\n" -"\t\tb=%(body)\n" -"\tfi\n" -"\techo \"$kind $T points at a $t object $o\"\n" -"\tif test \"z$t\" = zcommit\n" -"\tthen\n" -"\t\techo \"The commit was authored by $n $e\n" -"at $d, and titled\n" +"This command will fail with non-zero status upon error. Some exit codes " +"are:" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:307 -#, no-wrap -msgid " $s\n" +#. type: Plain text +#: en/git-config.txt:62 +msgid "The section or key is invalid (ret=1)," msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:314 -#, no-wrap -msgid "" -"Its message reads as:\n" -"\"\n" -"\t\techo \"$b\" | sed -e \"s/^/ /\"\n" -"\t\techo\n" -"\tfi\n" -"'\n" +#. type: Plain text +#: en/git-config.txt:63 +msgid "no section or name was provided (ret=2)," msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:320 -#, no-wrap -msgid "" -"eval=`git for-each-ref --shell --format=\"$fmt\" \\\n" -"\t--sort='*objecttype' \\\n" -"\t--sort=-taggerdate \\\n" -"\trefs/tags`\n" -"eval \"$eval\"\n" +#. type: Plain text +#: en/git-config.txt:64 +msgid "the config file is invalid (ret=3)," msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:325 -msgid "" -"An example to show the usage of %(if)...%(then)...%(else)...%(end). This " -"prefixes the current branch with a star." +#: en/git-config.txt:65 +msgid "the config file cannot be written (ret=4)," msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:328 -#, no-wrap -msgid "" -"git for-each-ref --format=\"%(if)%(HEAD)%(then)* %(else) " -"%(end)%(refname:short)\" refs/heads/\n" +#. type: Plain text +#: en/git-config.txt:66 +msgid "you try to unset an option which does not exist (ret=5)," msgstr "" #. type: Plain text -#: en/git-for-each-ref.txt:333 -msgid "" -"An example to show the usage of %(if)...%(then)...%(end). This prints the " -"authorname, if present." +#: en/git-config.txt:67 +msgid "you try to unset/set an option for which multiple lines match (ret=5), or" msgstr "" -#. type: delimited block - -#: en/git-for-each-ref.txt:336 -#, no-wrap -msgid "" -"git for-each-ref --format=\"%(refname)%(if)%(authorname)%(then) Authored by: " -"%(authorname)%(end)\"\n" +#. type: Plain text +#: en/git-config.txt:68 +msgid "you try to use an invalid regexp (ret=6)." msgstr "" -#. type: Labeled list -#: en/git-for-each-ref.txt:341 en/cmds-plumbinginterrogators.txt:40 -#, no-wrap -msgid "linkgit:git-show-ref[1]" +#. type: Plain text +#: en/git-config.txt:70 +msgid "On success, the command returns the exit code 0." msgstr "" -#. type: Title = -#: en/git-format-patch.txt:2 +#. type: Labeled list +#: en/git-config.txt:74 #, no-wrap -msgid "git-format-patch(1)" +msgid "--replace-all" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:7 -msgid "git-format-patch - Prepare patches for e-mail submission" +#: en/git-config.txt:77 +msgid "" +"Default behavior is to replace at most one line. This replaces all lines " +"matching the key (and optionally the value_regex)." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:28 +#. type: Labeled list +#: en/git-config.txt:78 en/git-update-index.txt:42 #, no-wrap -msgid "" -"'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout]\n" -"\t\t [--no-thread | --thread[=<style>]]\n" -"\t\t [(--attach|--inline)[=<boundary>] | --no-attach]\n" -"\t\t [-s | --signoff]\n" -"\t\t [--signature=<signature> | --no-signature]\n" -"\t\t [--signature-file=<file>]\n" -"\t\t [-n | --numbered | -N | --no-numbered]\n" -"\t\t [--start-number <n>] [--numbered-files]\n" -"\t\t [--in-reply-to=Message-Id] [--suffix=.<sfx>]\n" -"\t\t [--ignore-if-in-upstream]\n" -"\t\t [--rfc] [--subject-prefix=Subject-Prefix]\n" -"\t\t [(--reroll-count|-v) <n>]\n" -"\t\t [--to=<email>] [--cc=<email>]\n" -"\t\t [--[no-]cover-letter] [--quiet] [--notes[=<ref>]]\n" -"\t\t [<common diff options>]\n" -"\t\t [ <since> | <revision range> ]\n" +msgid "--add" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:36 +#: en/git-config.txt:82 msgid "" -"Prepare each commit with its patch in one file per commit, formatted to " -"resemble UNIX mailbox format. The output of this command is convenient for " -"e-mail submission or for use with 'git am'." +"Adds a new line to the option without altering any existing values. This is " +"the same as providing '^$' as the value_regex in `--replace-all`." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:38 -msgid "There are two ways to specify which commits to operate on." +#. type: Labeled list +#: en/git-config.txt:83 +#, no-wrap +msgid "--get" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:42 +#: en/git-config.txt:87 msgid "" -"A single commit, <since>, specifies that the commits leading to the tip of " -"the current branch that are not in the history that leads to the <since> to " -"be output." +"Get the value for a given key (optionally filtered by a regex matching the " +"value). Returns error code 1 if the key was not found and the last value if " +"multiple key values were found." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:46 -msgid "" -"Generic <revision range> expression (see \"SPECIFYING REVISIONS\" section in " -"linkgit:gitrevisions[7]) means the commits in the specified range." +#. type: Labeled list +#: en/git-config.txt:88 +#, no-wrap +msgid "--get-all" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:52 -msgid "" -"The first rule takes precedence in the case of a single <commit>. To apply " -"the second rule, i.e., format everything since the beginning of history up " -"until <commit>, use the '\\--root' option: `git format-patch --root " -"<commit>`. If you want to format only <commit> itself, you can do this with " -"`git format-patch -1 <commit>`." +#: en/git-config.txt:90 +msgid "Like get, but returns all values for a multi-valued key." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:59 -msgid "" -"By default, each output file is numbered sequentially from 1, and uses the " -"first line of the commit message (massaged for pathname safety) as the " -"filename. With the `--numbered-files` option, the output file names will " -"only be numbers, without the first line of the commit appended. The names " -"of the output files are printed to standard output, unless the `--stdout` " -"option is specified." +#. type: Labeled list +#: en/git-config.txt:91 +#, no-wrap +msgid "--get-regexp" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:66 +#: en/git-config.txt:97 msgid "" -"If `-o` is specified, output files are created in <dir>. Otherwise they are " -"created in the current working directory. The default path can be set with " -"the `format.outputDirectory` configuration option. The `-o` option takes " -"precedence over `format.outputDirectory`. To store patches in the current " -"working directory even when `format.outputDirectory` points elsewhere, use " -"`-o .`." -msgstr "" - -#. type: Plain text -#: en/git-format-patch.txt:70 -msgid "" -"By default, the subject of a single patch is \"[PATCH] \" followed by the " -"concatenation of lines from the commit message up to the first blank line " -"(see the DISCUSSION section of linkgit:git-commit[1])." -msgstr "" - -#. type: Plain text -#: en/git-format-patch.txt:74 -msgid "" -"When multiple patches are output, the subject prefix will instead be " -"\"[PATCH n/m] \". To force 1/1 to be added for a single patch, use `-n`. " -"To omit patch numbers from the subject, use `-N`." -msgstr "" - -#. type: Plain text -#: en/git-format-patch.txt:79 -msgid "" -"If given `--thread`, `git-format-patch` will generate `In-Reply-To` and " -"`References` headers to make the second and subsequent patch mails appear as " -"replies to the first mail; this also generates a `Message-Id` header to " -"reference." +"Like --get-all, but interprets the name as a regular expression and writes " +"out the key names. Regular expression matching is currently case-sensitive " +"and done against a canonicalized version of the key in which section and " +"variable names are lowercased, but subsection names are not." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:85 +#: en/git-config.txt:98 #, no-wrap -msgid "-<n>" +msgid "--get-urlmatch name URL" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:87 -msgid "Prepare patches from the topmost <n> commits." -msgstr "" - -#. type: Labeled list -#: en/git-format-patch.txt:88 -#, no-wrap -msgid "-o <dir>" +#: en/git-config.txt:105 +msgid "" +"When given a two-part name section.key, the value for section.<url>.key " +"whose <url> part matches the best to the given URL is returned (if no such " +"key exists, the value for section.key is used as a fallback). When given " +"just the section as name, do so for all the keys in the section and list " +"them. Returns error code 1 if no value is found." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:89 +#: en/git-config.txt:106 #, no-wrap -msgid "--output-directory <dir>" +msgid "--global" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:92 +#: en/git-config.txt:111 msgid "" -"Use <dir> to store the resulting files, instead of the current working " -"directory." +"For writing options: write to global `~/.gitconfig` file rather than the " +"repository `.git/config`, write to `$XDG_CONFIG_HOME/git/config` file if " +"this file exists and the `~/.gitconfig` file doesn't." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:94 en/git-shortlog.txt:30 -#, no-wrap -msgid "--numbered" +#. type: Plain text +#: en/git-config.txt:114 +msgid "" +"For reading options: read only from global `~/.gitconfig` and from " +"`$XDG_CONFIG_HOME/git/config` rather than from all available files." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:96 -msgid "Name output in '[PATCH n/m]' format, even with a single patch." +#: en/git-config.txt:116 en/git-config.txt:126 en/git-config.txt:135 en/git-config.txt:292 +msgid "See also <<FILES>>." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:98 +#: en/git-config.txt:117 #, no-wrap -msgid "--no-numbered" +msgid "--system" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:100 -msgid "Name output in '[PATCH]' format." -msgstr "" - -#. type: Labeled list -#: en/git-format-patch.txt:101 -#, no-wrap -msgid "--start-number <n>" +#: en/git-config.txt:121 +msgid "" +"For writing options: write to system-wide `$(prefix)/etc/gitconfig` rather " +"than the repository `.git/config`." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:103 -msgid "Start numbering the patches at <n> instead of 1." +#: en/git-config.txt:124 +msgid "" +"For reading options: read only from system-wide `$(prefix)/etc/gitconfig` " +"rather than from all available files." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:104 -#, no-wrap -msgid "--numbered-files" +#. type: Plain text +#: en/git-config.txt:130 +msgid "" +"For writing options: write to the repository `.git/config` file. This " +"is\tthe default behavior." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:107 +#: en/git-config.txt:133 msgid "" -"Output file names will be a simple number sequence without the default first " -"line of the commit appended." +"For reading options: read only from the repository `.git/config` rather than " +"from all available files." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:109 +#: en/git-config.txt:136 #, no-wrap -msgid "--keep-subject" +msgid "-f config-file" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:112 -msgid "Do not strip/add '[PATCH]' from the first line of the commit log message." +#. type: Labeled list +#: en/git-config.txt:137 +#, no-wrap +msgid "--file config-file" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:118 -msgid "" -"Add `Signed-off-by:` line to the commit message, using the committer " -"identity of yourself. See the signoff option in linkgit:git-commit[1] for " -"more information." +#: en/git-config.txt:139 +msgid "Use the given config file instead of the one specified by GIT_CONFIG." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:119 en/git-pack-objects.txt:57 +#: en/git-config.txt:140 #, no-wrap -msgid "--stdout" +msgid "--blob blob" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:122 +#: en/git-config.txt:146 msgid "" -"Print all commits to the standard output in mbox format, instead of creating " -"a file for each one." +"Similar to `--file` but use the given blob instead of a file. E.g. you can " +"use 'master:.gitmodules' to read values from the file '.gitmodules' in the " +"master branch. See \"SPECIFYING REVISIONS\" section in " +"linkgit:gitrevisions[7] for a more complete list of ways to spell blob " +"names." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:123 +#: en/git-config.txt:147 #, no-wrap -msgid "--attach[=<boundary>]" +msgid "--remove-section" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:127 -msgid "" -"Create multipart/mixed attachment, the first part of which is the commit " -"message and the patch itself in the second part, with `Content-Disposition: " -"attachment`." +#: en/git-config.txt:149 +msgid "Remove the given section from the configuration file." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:128 +#: en/git-config.txt:150 #, no-wrap -msgid "--no-attach" +msgid "--rename-section" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:131 -msgid "Disable the creation of an attachment, overriding the configuration setting." +#: en/git-config.txt:152 +msgid "Rename the given section to a new name." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:132 +#: en/git-config.txt:153 #, no-wrap -msgid "--inline[=<boundary>]" +msgid "--unset" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:136 -msgid "" -"Create multipart/mixed attachment, the first part of which is the commit " -"message and the patch itself in the second part, with `Content-Disposition: " -"inline`." -msgstr "" - -#. type: Labeled list -#: en/git-format-patch.txt:137 -#, no-wrap -msgid "--thread[=<style>]" +#: en/git-config.txt:155 +msgid "Remove the line matching the key from config file." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:138 +#: en/git-config.txt:156 #, no-wrap -msgid "--no-thread" +msgid "--unset-all" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:143 -msgid "" -"Controls addition of `In-Reply-To` and `References` headers to make the " -"second and subsequent mails appear as replies to the first. Also controls " -"generation of the `Message-Id` header to reference." +#: en/git-config.txt:158 +msgid "Remove all lines matching the key from config file." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:149 -msgid "" -"The optional <style> argument can be either `shallow` or `deep`. 'shallow' " -"threading makes every mail a reply to the head of the series, where the head " -"is chosen from the cover letter, the `--in-reply-to`, and the first patch " -"mail, in this order. 'deep' threading makes every mail a reply to the " -"previous one." +#: en/git-config.txt:162 +msgid "List all variables set in config file, along with their values." msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:153 -msgid "" -"The default is `--no-thread`, unless the `format.thread` configuration is " -"set. If `--thread` is specified without a style, it defaults to the style " -"specified by `format.thread` if any, or else `shallow`." +#. type: Labeled list +#: en/git-config.txt:163 +#, no-wrap +msgid "--bool" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:157 -msgid "" -"Beware that the default for 'git send-email' is to thread emails itself. If " -"you want `git format-patch` to take care of threading, you will want to " -"ensure that threading is disabled for `git send-email`." +#: en/git-config.txt:165 +msgid "'git config' will ensure that the output is \"true\" or \"false\"" msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:158 +#: en/git-config.txt:166 #, no-wrap -msgid "--in-reply-to=Message-Id" +msgid "--int" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:162 +#: en/git-config.txt:171 msgid "" -"Make the first mail (or all the mails with `--no-thread`) appear as a reply " -"to the given Message-Id, which avoids breaking threads to provide a new " -"patch series." +"'git config' will ensure that the output is a simple decimal number. An " +"optional value suffix of 'k', 'm', or 'g' in the config file will cause the " +"value to be multiplied by 1024, 1048576, or 1073741824 prior to output." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:163 +#: en/git-config.txt:172 #, no-wrap -msgid "--ignore-if-in-upstream" +msgid "--bool-or-int" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:169 +#: en/git-config.txt:175 msgid "" -"Do not include a patch that matches a commit in <until>..<since>. This will " -"examine all patches reachable from <since> but not from <until> and compare " -"them with the patches being generated, and any patch that matches is " -"ignored." +"'git config' will ensure that the output matches the format of either --bool " +"or --int, as described above." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:170 +#: en/git-config.txt:176 en/git-hash-object.txt:41 #, no-wrap -msgid "--subject-prefix=<Subject-Prefix>" +msgid "--path" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:175 +#: en/git-config.txt:182 msgid "" -"Instead of the standard '[PATCH]' prefix in the subject line, instead use " -"'[<Subject-Prefix>]'. This allows for useful naming of a patch series, and " -"can be combined with the `--numbered` option." -msgstr "" - -#. type: Labeled list -#: en/git-format-patch.txt:176 -#, no-wrap -msgid "--rfc" +"'git-config' will expand leading '{tilde}' to the value of '$HOME', and " +"'{tilde}user' to the home directory for the specified user. This option has " +"no effect when setting the value (but you can use 'git config bla {tilde}/' " +"from the command line to let your shell do the expansion)." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:180 +#: en/git-config.txt:191 msgid "" -"Alias for `--subject-prefix=\"RFC PATCH\"`. RFC means \"Request For " -"Comments\"; use this when sending an experimental patch for discussion " -"rather than application." +"For all options that output values and/or keys, always end values with the " +"null character (instead of a newline). Use newline instead as a delimiter " +"between key and value. This allows for secure parsing of the output without " +"getting confused e.g. by values that contain line breaks." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:181 -#, no-wrap -msgid "-v <n>" +#. type: Plain text +#: en/git-config.txt:195 +msgid "Output only the names of config variables for `--list` or `--get-regexp`." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:182 +#: en/git-config.txt:196 #, no-wrap -msgid "--reroll-count=<n>" +msgid "--show-origin" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:189 +#: en/git-config.txt:201 msgid "" -"Mark the series as the <n>-th iteration of the topic. The output filenames " -"have `v<n>` prepended to them, and the subject prefix (\"PATCH\" by default, " -"but configurable via the `--subject-prefix` option) has ` v<n>` appended to " -"it. E.g. `--reroll-count=4` may produce `v4-0001-add-makefile.patch` file " -"that has \"Subject: [PATCH v4 1/20] Add makefile\" in it." +"Augment the output of all queried config options with the origin type (file, " +"standard input, blob, command line) and the actual origin (config file path, " +"ref, or blob id if applicable)." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:190 +#: en/git-config.txt:202 #, no-wrap -msgid "--to=<email>" +msgid "--get-colorbool name [stdout-is-tty]" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:195 +#: en/git-config.txt:212 msgid "" -"Add a `To:` header to the email headers. This is in addition to any " -"configured headers, and may be used multiple times. The negated form " -"`--no-to` discards all `To:` headers added so far (from config or command " -"line)." +"Find the color setting for `name` (e.g. `color.diff`) and output \"true\" or " +"\"false\". `stdout-is-tty` should be either \"true\" or \"false\", and is " +"taken into account when configuration says \"auto\". If `stdout-is-tty` is " +"missing, then checks the standard output of the command itself, and exits " +"with status 0 if color is to be used, or exits with status 1 otherwise. " +"When the color setting for `name` is undefined, the command uses `color.ui` " +"as fallback." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:196 +#: en/git-config.txt:213 #, no-wrap -msgid "--cc=<email>" +msgid "--get-color name [default]" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:201 +#: en/git-config.txt:219 msgid "" -"Add a `Cc:` header to the email headers. This is in addition to any " -"configured headers, and may be used multiple times. The negated form " -"`--no-cc` discards all `Cc:` headers added so far (from config or command " -"line)." +"Find the color configured for `name` (e.g. `color.diff.new`) and output it " +"as the ANSI color escape sequence to the standard output. The optional " +"`default` parameter is used instead, if there is no color configured for " +"`name`." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:202 -#, no-wrap -msgid "--from" +#. type: Plain text +#: en/git-config.txt:224 +msgid "" +"Opens an editor to modify the specified config file; either `--system`, " +"`--global`, or repository (default)." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:203 +#: en/git-config.txt:225 #, no-wrap -msgid "--from=<ident>" +msgid "--[no-]includes" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:209 +#: en/git-config.txt:230 msgid "" -"Use `ident` in the `From:` header of each commit email. If the author ident " -"of the commit is not textually identical to the provided `ident`, place a " -"`From:` header in the body of the message with the original author. If no " -"`ident` is given, use the committer ident." +"Respect `include.*` directives in config files when looking up " +"values. Defaults to `off` when a specific file is given (e.g., using " +"`--file`, `--global`, etc) and `on` when searching all config files." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:216 +#: en/git-config.txt:237 msgid "" -"Note that this option is only useful if you are actually sending the emails " -"and want to identify yourself as the sender, but retain the original author " -"(and `git am` will correctly pick up the in-body header). Note also that " -"`git send-email` already handles this transformation for you, and this " -"option should not be used if you are feeding the result to `git send-email`." +"If not set explicitly with `--file`, there are four files where 'git config' " +"will search for configuration options:" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:217 +#. type: Plain text +#: en/git-config.txt:240 #, no-wrap -msgid "--add-header=<header>" +msgid "" +"$(prefix)/etc/gitconfig::\n" +"\tSystem-wide configuration file.\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:224 +#: en/git-config.txt:248 +#, no-wrap msgid "" -"Add an arbitrary header to the email headers. This is in addition to any " -"configured headers, and may be used multiple times. For example, " -"`--add-header=\"Organization: git-foo\"`. The negated form " -"`--no-add-header` discards *all* (`To:`, `Cc:`, and custom) headers added so " -"far from config or command line." +"$XDG_CONFIG_HOME/git/config::\n" +"\tSecond user-specific configuration file. If $XDG_CONFIG_HOME is not set\n" +"\tor empty, `$HOME/.config/git/config` will be used. Any single-valued\n" +"\tvariable set in this file will be overwritten by whatever is in\n" +"\t`~/.gitconfig`. It is a good idea not to create this file if\n" +"\tyou sometimes use older versions of Git, as support for this\n" +"\tfile was added fairly recently.\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:225 +#. type: Plain text +#: en/git-config.txt:252 #, no-wrap -msgid "--[no-]cover-letter" +msgid "" +"~/.gitconfig::\n" +"\tUser-specific configuration file. Also called \"global\"\n" +"\tconfiguration file.\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:229 +#: en/git-config.txt:255 +#, no-wrap msgid "" -"In addition to the patches, generate a cover letter file containing the " -"branch description, shortlog and the overall diffstat. You can fill in a " -"description in the file before sending it out." +"$GIT_DIR/config::\n" +"\tRepository specific configuration file.\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:230 -#, no-wrap -msgid "--notes[=<ref>]" +#. type: Plain text +#: en/git-config.txt:261 +msgid "" +"If no further options are given, all reading options will read all of these " +"files that are available. If the global or the system-wide configuration " +"file are not available they will be ignored. If the repository configuration " +"file is not available or readable, 'git config' will exit with a non-zero " +"error code. However, in neither case will an error message be issued." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:233 +#: en/git-config.txt:265 msgid "" -"Append the notes (see linkgit:git-notes[1]) for the commit after the " -"three-dash line." +"The files are read in the order given above, with last value found taking " +"precedence over values read earlier. When multiple values are taken then " +"all values of a key from all files will be used." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:241 +#: en/git-config.txt:268 msgid "" -"The expected use case of this is to write supporting explanation for the " -"commit that does not belong to the commit log message proper, and include it " -"with the patch submission. While one can simply write these explanations " -"after `format-patch` has run but before sending, keeping them as Git notes " -"allows them to be maintained between versions of the patch series (but see " -"the discussion of the `notes.rewrite` configuration options in " -"linkgit:git-notes[1] to use this workflow)." +"You may override individual configuration parameters when running any git " +"command by using the `-c` option. See linkgit:git[1] for details." msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:242 -#, no-wrap -msgid "--[no-]signature=<signature>" +#. type: Plain text +#: en/git-config.txt:272 +msgid "" +"All writing options will per default write to the repository specific " +"configuration file. Note that this also affects options like `--replace-all` " +"and `--unset`. *'git config' will only ever change one file at a time*." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:247 +#: en/git-config.txt:277 msgid "" -"Add a signature to each message produced. Per RFC 3676 the signature is " -"separated from the body by a line with '-- ' on it. If the signature option " -"is omitted the signature defaults to the Git version number." +"You can override these rules either by command-line options or by " +"environment variables. The `--global` and the `--system` options will limit " +"the file used to the global or system-wide file respectively. The " +"`GIT_CONFIG` environment variable has a similar effect, but you can specify " +"any filename you want." +msgstr "" + +#. type: Title - +#: en/git-config.txt:280 en/git-cvsserver.txt:310 en/git-daemon.txt:310 en/git-http-backend.txt:243 en/git-notes.txt:373 +#, no-wrap +msgid "ENVIRONMENT" msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:248 +#: en/git-config.txt:282 #, no-wrap -msgid "--signature-file=<file>" +msgid "GIT_CONFIG" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:250 -msgid "Works just like --signature except the signature is read from a file." +#: en/git-config.txt:286 +msgid "" +"Take the configuration from the given file instead of .git/config. Using " +"the \"--global\" option forces this to ~/.gitconfig. Using the \"--system\" " +"option forces this to $(prefix)/etc/gitconfig." msgstr "" #. type: Labeled list -#: en/git-format-patch.txt:251 +#: en/git-config.txt:287 #, no-wrap -msgid "--suffix=.<sfx>" +msgid "GIT_CONFIG_NOSYSTEM" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:256 +#: en/git-config.txt:290 msgid "" -"Instead of using `.patch` as the suffix for generated filenames, use " -"specified suffix. A common alternative is `--suffix=.txt`. Leaving this " -"empty will remove the `.patch` suffix." +"Whether to skip reading settings from the system-wide " +"$(prefix)/etc/gitconfig file. See linkgit:git[1] for details." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:259 -msgid "" -"Note that the leading character does not have to be a dot; for example, you " -"can use `--suffix=-patch` to get `0001-description-of-my-change-patch`." +#: en/git-config.txt:299 +msgid "Given a .git/config like this:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:263 -msgid "Do not print the names of the generated files to standard output." -msgstr "" - -#. type: Labeled list -#: en/git-format-patch.txt:264 +#: en/git-config.txt:305 #, no-wrap -msgid "--no-binary" +msgid "" +"\t#\n" +"\t# This is the config file, and\n" +"\t# a '#' or ';' character indicates\n" +"\t# a comment\n" +"\t#\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:269 +#: en/git-config.txt:310 +#, no-wrap msgid "" -"Do not output contents of changes in binary files, instead display a notice " -"that those files changed. Patches generated using this option cannot be " -"applied properly, but they are still useful for code review." +"\t; core variables\n" +"\t[core]\n" +"\t\t; Don't trust file modes\n" +"\t\tfilemode = false\n" msgstr "" -#. type: Labeled list -#: en/git-format-patch.txt:270 +#. type: Plain text +#: en/git-config.txt:315 #, no-wrap -msgid "--zero-commit" +msgid "" +"\t; Our diff algorithm\n" +"\t[diff]\n" +"\t\texternal = /usr/local/bin/diff-wrapper\n" +"\t\trenames = true\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:273 +#: en/git-config.txt:320 +#, no-wrap msgid "" -"Output an all-zero hash in each patch's From header instead of the hash of " -"the commit." -msgstr "" - -#. type: Labeled list -#: en/git-format-patch.txt:274 -#, no-wrap -msgid "--base=<commit>" -msgstr "" - -#. type: Plain text -#: en/git-format-patch.txt:278 -msgid "" -"Record the base tree information to identify the state the patch series " -"applies to. See the BASE TREE INFORMATION section below for details." +"\t; Proxy settings\n" +"\t[core]\n" +"\t\tgitproxy=proxy-command for kernel.org\n" +"\t\tgitproxy=default-proxy ; for all the rest\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:285 +#: en/git-config.txt:327 +#, no-wrap msgid "" -"Treat the revision argument as a <revision range>, even if it is just a " -"single commit (that would normally be treated as a <since>). Note that root " -"commits included in the specified range are always formatted as creation " -"patches, independently of this flag." +"\t; HTTP\n" +"\t[http]\n" +"\t\tsslVerify\n" +"\t[http \"https://weak.example.com\"]\n" +"\t\tsslVerify = false\n" +"\t\tcookieFile = /tmp/cookie.txt\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:292 -msgid "" -"You can specify extra mail header lines to be added to each message, " -"defaults for the subject prefix and file suffix, number patches when " -"outputting more than one patch, add \"To\" or \"Cc:\" headers, configure " -"attachments, and sign off patches with configuration variables." +#: en/git-config.txt:329 +msgid "you can set the filemode to true with" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:304 +#: en/git-config.txt:332 #, no-wrap -msgid "" -"[format]\n" -"\theaders = \"Organization: git-foo\\n\"\n" -"\tsubjectPrefix = CHANGE\n" -"\tsuffix = .txt\n" -"\tnumbered = auto\n" -"\tto = <email>\n" -"\tcc = <email>\n" -"\tattach [ = mime-boundary-string ]\n" -"\tsignOff = true\n" -"\tcoverletter = auto\n" +msgid "% git config core.filemode true\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:313 +#: en/git-config.txt:337 msgid "" -"The patch produced by 'git format-patch' is in UNIX mailbox format, with a " -"fixed \"magic\" time stamp to indicate that the file is output from " -"format-patch rather than a real mailbox, like so:" +"The hypothetical proxy command entries actually have a postfix to discern " +"what URL they apply to. Here is how to change the entry for kernel.org to " +"\"ssh\"." msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:323 +#: en/git-config.txt:340 #, no-wrap -msgid "" -"From 8f72bad1baf19a53459661343e21d6491c3908d3 Mon Sep 17 00:00:00 2001\n" -"From: Tony Luck <tony.luck@intel.com>\n" -"Date: Tue, 13 Jul 2010 11:42:54 -0700\n" -"Subject: [PATCH] " -"=?UTF-8?q?[IA64]=20Put=20ia64=20config=20files=20on=20the=20?=\n" -" =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20diet?=\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" +msgid "% git config core.gitproxy '\"ssh\" for kernel.org' 'for kernel.org$'\n" msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:326 -#, no-wrap -msgid "" -"arch/arm config files were slimmed down using a python script\n" -"(See commit c2330e286f68f1c408b4aa6515ba49d57f05beae comment)\n" +#. type: Plain text +#: en/git-config.txt:343 +msgid "This makes sure that only the key/value pair for kernel.org is replaced." +msgstr "" + +#. type: Plain text +#: en/git-config.txt:345 +msgid "To delete the entry for renames, do" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:329 +#: en/git-config.txt:348 #, no-wrap -msgid "" -"Do the same for ia64 so we can have sleek & trim looking\n" -"...\n" +msgid "% git config --unset diff.renames\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:337 +#: en/git-config.txt:352 msgid "" -"Typically it will be placed in a MUA's drafts folder, edited to add timely " -"commentary that should not go in the changelog after the three dashes, and " -"then sent as a message whose body, in our example, starts with \"arch/arm " -"config files were...\". On the receiving end, readers can save interesting " -"patches in a UNIX mailbox and apply them with linkgit:git-am[1]." +"If you want to delete an entry for a multivar (like core.gitproxy above), " +"you have to provide a regex matching the value of exactly one line." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:343 -msgid "" -"When a patch is part of an ongoing discussion, the patch generated by 'git " -"format-patch' can be tweaked to take advantage of the 'git am --scissors' " -"feature. After your response to the discussion comes a line that consists " -"solely of \"`-- >8 --`\" (scissors and perforation), followed by the patch " -"with unnecessary header fields removed:" +#: en/git-config.txt:354 +msgid "To query the value for a given key, do" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:347 +#: en/git-config.txt:357 #, no-wrap -msgid "" -"...\n" -"> So we should do such-and-such.\n" +msgid "% git config --get core.filemode\n" +msgstr "" + +#. type: Plain text +#: en/git-config.txt:360 en/git-gui.txt:120 en/git-merge-index.txt:64 +msgid "or" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:349 +#: en/git-config.txt:363 #, no-wrap -msgid "Makes sense to me. How about this patch?\n" +msgid "% git config core.filemode\n" +msgstr "" + +#. type: Plain text +#: en/git-config.txt:366 +msgid "or, to query a multivar:" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:352 +#: en/git-config.txt:369 #, no-wrap -msgid "" -"-- >8 --\n" -"Subject: [IA64] Put ia64 config files on the Uwe Kleine-K철nig diet\n" +msgid "% git config --get core.gitproxy \"for kernel.org$\"\n" +msgstr "" + +#. type: Plain text +#: en/git-config.txt:372 +msgid "If you want to know all the values for a multivar, do:" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:355 +#: en/git-config.txt:375 #, no-wrap -msgid "" -"arch/arm config files were slimmed down using a python script\n" -"...\n" +msgid "% git config --get-all core.gitproxy\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:363 +#: en/git-config.txt:379 msgid "" -"When sending a patch this way, most often you are sending your own patch, so " -"in addition to the \"`From $SHA1 $magic_timestamp`\" marker you should omit " -"`From:` and `Date:` lines from the patch file. The patch title is likely to " -"be different from the subject of the discussion the patch is in response to, " -"so it is likely that you would want to keep the Subject: line, like the " -"example above." +"If you like to live dangerously, you can replace *all* core.gitproxy by a " +"new one with" msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:365 +#. type: delimited block - +#: en/git-config.txt:382 #, no-wrap -msgid "Checking for patch corruption" +msgid "% git config --replace-all core.gitproxy ssh\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:368 +#: en/git-config.txt:386 msgid "" -"Many mailers if not set up properly will corrupt whitespace. Here are two " -"common types of corruption:" +"However, if you really only want to replace the line for the default proxy, " +"i.e. the one without a \"for ...\" postfix, do something like this:" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:370 -msgid "Empty context lines that do not have _any_ whitespace." +#. type: delimited block - +#: en/git-config.txt:389 +#, no-wrap +msgid "% git config core.gitproxy ssh '! for '\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:373 -msgid "Non-empty context lines that have one extra whitespace at the beginning." +#: en/git-config.txt:392 +msgid "To actually match only values with an exclamation mark, you have to" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:375 -msgid "One way to test if your MUA is set up correctly is:" +#. type: delimited block - +#: en/git-config.txt:395 +#, no-wrap +msgid "% git config section.key value '[!]'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:379 -msgid "" -"Send the patch to yourself, exactly the way you would, except with To: and " -"Cc: lines that do not contain the list and maintainer address." +#: en/git-config.txt:398 +msgid "To add a new proxy, without altering any of the existing ones, use" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:382 -msgid "Save that patch to a file in UNIX mailbox format. Call it a.patch, say." +#. type: delimited block - +#: en/git-config.txt:401 +#, no-wrap +msgid "% git config --add core.gitproxy '\"proxy-command\" for example.com'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:384 -msgid "Apply it:" +#: en/git-config.txt:405 +msgid "An example to use customized color from the configuration in your script:" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:389 +#. type: delimited block - +#: en/git-config.txt:411 #, no-wrap msgid "" -"$ git fetch <project> master:test-apply\n" -"$ git checkout test-apply\n" -"$ git reset --hard\n" -"$ git am a.patch\n" +"#!/bin/sh\n" +"WS=$(git config --get-color color.diff.whitespace \"blue reverse\")\n" +"RESET=$(git config --get-color \"\" \"reset\")\n" +"echo \"${WS}your whitespace color or blue reverse${RESET}\"\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:391 -msgid "If it does not apply correctly, there can be various reasons." +#: en/git-config.txt:415 +msgid "" +"For URLs in `https://weak.example.com`, `http.sslVerify` is set to false, " +"while it is set to `true` for all others:" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:396 +#. type: delimited block - +#: en/git-config.txt:424 +#, no-wrap msgid "" -"The patch itself does not apply cleanly. That is _bad_ but does not have " -"much to do with your MUA. You might want to rebase the patch with " -"linkgit:git-rebase[1] before regenerating it in this case." +"% git config --bool --get-urlmatch http.sslverify https://good.example.com\n" +"true\n" +"% git config --bool --get-urlmatch http.sslverify https://weak.example.com\n" +"false\n" +"% git config --get-urlmatch http https://weak.example.com\n" +"http.cookieFile /tmp/cookie.txt\n" +"http.sslverify false\n" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:401 -msgid "" -"The MUA corrupted your patch; \"am\" would complain that the patch does not " -"apply. Look in the .git/rebase-apply/ subdirectory and see what 'patch' " -"file contains and check for the common corruption patterns mentioned above." +#. type: Title = +#: en/git-count-objects.txt:2 +#, no-wrap +msgid "git-count-objects(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:409 +#: en/git-count-objects.txt:7 msgid "" -"While at it, check the 'info' and 'final-commit' files as well. If what is " -"in 'final-commit' is not exactly what you would want to see in the commit " -"log message, it is very likely that the receiver would end up hand editing " -"the log message when applying your patch. Things like \"Hi, this is my " -"first patch.\\n\" in the patch e-mail should come after the three-dash line " -"that signals the end of the commit message." +"git-count-objects - Count unpacked number of objects and their disk " +"consumption" msgstr "" -#. type: Title - -#: en/git-format-patch.txt:411 +#. type: Plain text +#: en/git-count-objects.txt:12 #, no-wrap -msgid "MUA-SPECIFIC HINTS" +msgid "'git count-objects' [-v] [-H | --human-readable]\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:414 +#: en/git-count-objects.txt:17 msgid "" -"Here are some hints on how to successfully submit patches inline using " -"various mailers." +"This counts the number of unpacked object files and disk space consumed by " +"them, to help you decide when it is a good time to repack." msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:416 -#, no-wrap -msgid "GMail" +#. type: Plain text +#: en/git-count-objects.txt:24 +msgid "Report in more detail:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:422 -msgid "" -"GMail does not have any way to turn off line wrapping in the web interface, " -"so it will mangle any emails that you send. You can however use \"git " -"send-email\" and send your patches through the GMail SMTP server, or use any " -"IMAP email client to connect to the google IMAP server and forward the " -"emails through that." +#: en/git-count-objects.txt:26 +msgid "count: the number of loose objects" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:425 -msgid "" -"For hints on using 'git send-email' to send your patches through the GMail " -"SMTP server, see the EXAMPLE section of linkgit:git-send-email[1]." +#: en/git-count-objects.txt:28 +msgid "size: disk space consumed by loose objects, in KiB (unless -H is specified)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:428 -msgid "" -"For hints on submission using the IMAP interface, see the EXAMPLE section of " -"linkgit:git-imap-send[1]." +#: en/git-count-objects.txt:30 +msgid "in-pack: the number of in-pack objects" msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:430 -#, no-wrap -msgid "Thunderbird" +#. type: Plain text +#: en/git-count-objects.txt:32 +msgid "size-pack: disk space consumed by the packs, in KiB (unless -H is specified)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:434 +#: en/git-count-objects.txt:35 msgid "" -"By default, Thunderbird will both wrap emails as well as flag them as being " -"'format=flowed', both of which will make the resulting email unusable by " -"Git." +"prune-packable: the number of loose objects that are also present in the " +"packs. These objects could be pruned using `git prune-packed`." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:438 +#: en/git-count-objects.txt:38 msgid "" -"There are three different approaches: use an add-on to turn off line wraps, " -"configure Thunderbird to not mangle patches, or use an external editor to " -"keep Thunderbird from mangling the patches." +"garbage: the number of files in object database that are neither valid loose " +"objects nor valid packs" msgstr "" -#. type: Title ^ -#: en/git-format-patch.txt:440 -#, no-wrap -msgid "Approach #1 (add-on)" +#. type: Plain text +#: en/git-count-objects.txt:41 +msgid "" +"size-garbage: disk space consumed by garbage files, in KiB (unless -H is " +"specified)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:448 +#: en/git-count-objects.txt:46 msgid "" -"Install the Toggle Word Wrap add-on that is available from " -"https://addons.mozilla.org/thunderbird/addon/toggle-word-wrap/ It adds a " -"menu entry \"Enable Word Wrap\" in the composer's \"Options\" menu that you " -"can tick off. Now you can compose the message as you otherwise do (cut + " -"paste, 'git format-patch' | 'git imap-send', etc), but you have to insert " -"line breaks manually in any text that you type." +"alternate: absolute path of alternate object databases; may appear multiple " +"times, one line per path. Note that if the path contains non-printable " +"characters, it may be surrounded by double-quotes and contain C-style " +"backslashed escape sequences." msgstr "" -#. type: Title ^ -#: en/git-format-patch.txt:450 +#. type: Labeled list +#: en/git-count-objects.txt:47 en/git-cvsserver.txt:49 en/git-grep.txt:142 #, no-wrap -msgid "Approach #2 (configuration)" +msgid "-H" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:452 -msgid "Three steps:" +#. type: Labeled list +#: en/git-count-objects.txt:48 +#, no-wrap +msgid "--human-readable" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:456 -msgid "" -"Configure your mail server composition as plain text: Edit...Account " -"Settings...Composition & Addressing, uncheck \"Compose Messages in HTML\"." +#: en/git-count-objects.txt:51 +msgid "Print sizes in human readable format" +msgstr "" + +#. type: Title = +#: en/git-credential-cache--daemon.txt:2 +#, no-wrap +msgid "git-credential-cache--daemon(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:458 -msgid "Configure your general composition window to not wrap." +#: en/git-credential-cache--daemon.txt:7 +msgid "git-credential-cache--daemon - Temporarily store user credentials in memory" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:461 -msgid "" -"In Thunderbird 2: Edit..Preferences..Composition, wrap plain text messages " -"at 0" +#: en/git-credential-cache--daemon.txt:12 +#, no-wrap +msgid "git credential-cache--daemon [--debug] <socket>\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:467 +#: en/git-credential-cache--daemon.txt:18 msgid "" -"In Thunderbird 3: Edit..Preferences..Advanced..Config Editor. Search for " -"\"mail.wrap_long_lines\". Toggle it to make sure it is set to " -"`false`. Also, search for \"mailnews.wraplength\" and set the value to 0." +"You probably don't want to invoke this command yourself; it is started " +"automatically when you use linkgit:git-credential-cache[1]." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:472 +#: en/git-credential-cache--daemon.txt:23 msgid "" -"Disable the use of format=flowed: Edit..Preferences..Advanced..Config " -"Editor. Search for \"mailnews.send_plaintext_flowed\". Toggle it to make " -"sure it is set to `false`." +"This command listens on the Unix domain socket specified by `<socket>` for " +"`git-credential-cache` clients. Clients may store and retrieve " +"credentials. Each credential is held for a timeout specified by the client; " +"once no credentials are held, the daemon exits." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:476 +#: en/git-credential-cache--daemon.txt:27 msgid "" -"After that is done, you should be able to compose email as you otherwise " -"would (cut + paste, 'git format-patch' | 'git imap-send', etc), and the " -"patches will not be mangled." +"If the `--debug` option is specified, the daemon does not close its stderr " +"stream, and may output extra diagnostics to it even after it has begun " +"listening for clients." msgstr "" -#. type: Title ^ -#: en/git-format-patch.txt:478 +#. type: Title = +#: en/git-credential-cache.txt:2 #, no-wrap -msgid "Approach #3 (external editor)" +msgid "git-credential-cache(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:483 -msgid "" -"The following Thunderbird extensions are needed: AboutConfig from " -"http://aboutconfig.mozdev.org/ and External Editor from " -"http://globs.org/articles.php?lng=en&pg=8" +#: en/git-credential-cache.txt:7 +msgid "git-credential-cache - Helper to temporarily store passwords in memory" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:485 -msgid "Prepare the patch as a text file using your method of choice." +#. type: delimited block - +#: en/git-credential-cache.txt:12 +#, no-wrap +msgid "git config credential.helper 'cache [options]'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:490 +#: en/git-credential-cache.txt:21 msgid "" -"Before opening a compose window, use Edit->Account Settings to uncheck the " -"\"Compose messages in HTML format\" setting in the \"Composition & " -"Addressing\" panel of the account to be used to send the patch." +"This command caches credentials in memory for use by future Git " +"programs. The stored credentials never touch the disk, and are forgotten " +"after a configurable timeout. The cache is accessible over a Unix domain " +"socket, restricted to the current user by filesystem permissions." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:494 +#: en/git-credential-cache.txt:25 msgid "" -"In the main Thunderbird window, 'before' you open the compose window for the " -"patch, use Tools->about:config to set the following to the indicated values:" +"You probably don't want to invoke this command directly; it is meant to be " +"used as a credential helper by other parts of Git. See " +"linkgit:gitcredentials[7] or `EXAMPLES` below." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:498 +#. type: Labeled list +#: en/git-credential-cache.txt:29 #, no-wrap -msgid "" -"\tmailnews.send_plaintext_flowed => false\n" -"\tmailnews.wraplength => 0\n" +msgid "--timeout <seconds>" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:501 -msgid "Open a compose window and click the external editor icon." +#: en/git-credential-cache.txt:32 +msgid "Number of seconds to cache credentials (default: 900)." +msgstr "" + +#. type: Labeled list +#: en/git-credential-cache.txt:33 +#, no-wrap +msgid "--socket <path>" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:504 +#: en/git-credential-cache.txt:40 msgid "" -"In the external editor window, read in the patch file and exit the editor " -"normally." +"Use `<path>` to contact a running cache daemon (or start a new cache daemon " +"if one is not started). Defaults to `~/.git-credential-cache/socket`. If " +"your home directory is on a network-mounted filesystem, you may need to " +"change this to a local filesystem. You must specify an absolute path." +msgstr "" + +#. type: Title - +#: en/git-credential-cache.txt:42 +#, no-wrap +msgid "CONTROLLING THE DAEMON" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:507 +#: en/git-credential-cache.txt:46 msgid "" -"Side note: it may be possible to do step 2 with about:config and the " -"following settings but no one's tried yet." +"If you would like the daemon to exit early, forgetting all cached " +"credentials before their timeout, you can issue an `exit` action:" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:512 +#: en/git-credential-cache.txt:49 #, no-wrap -msgid "" -"\tmail.html_compose => false\n" -"\tmail.identity.default.compose_html => false\n" -"\tmail.identity.id?.compose_html => false\n" +msgid "git credential-cache exit\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:517 +#: en/git-credential-cache.txt:56 en/git-credential-store.txt:75 msgid "" -"There is a script in contrib/thunderbird-patch-inline which can help you " -"include patches with Thunderbird in an easy way. To use it, do the steps " -"above and then use the script as the external editor." +"The point of this helper is to reduce the number of times you must type your " +"username or password. For example:" msgstr "" -#. type: Title ~ -#: en/git-format-patch.txt:519 +#. type: delimited block - +#: en/git-credential-cache.txt:62 #, no-wrap -msgid "KMail" +msgid "" +"$ git config credential.helper cache\n" +"$ git push http://example.com/repo.git\n" +"Username: <type your username>\n" +"Password: <type your password>\n" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:521 -msgid "This should help you to submit patches inline using KMail." +#. type: delimited block - +#: en/git-credential-cache.txt:66 +#, no-wrap +msgid "" +"[work for 5 more minutes]\n" +"$ git push http://example.com/repo.git\n" +"[your credentials are used automatically]\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:523 -msgid "Prepare the patch as a text file." -msgstr "" - -#. type: Plain text -#: en/git-format-patch.txt:525 -msgid "Click on New Mail." +#: en/git-credential-cache.txt:70 +msgid "" +"You can provide options via the credential.helper configuration variable " +"(this example drops the cache time to 5 minutes):" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:528 -msgid "" -"Go under \"Options\" in the Composer window and be sure that \"Word wrap\" " -"is not set." +#. type: delimited block - +#: en/git-credential-cache.txt:73 +#, no-wrap +msgid "$ git config credential.helper 'cache --timeout=300'\n" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:530 -msgid "Use Message -> Insert file... and insert the patch." +#. type: Title = +#: en/git-credential-store.txt:2 +#, no-wrap +msgid "git-credential-store(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:533 -msgid "" -"Back in the compose window: add whatever other text you wish to the message, " -"complete the addressing and subject fields, and press send." +#: en/git-credential-store.txt:7 +msgid "git-credential-store - Helper to store credentials on disk" msgstr "" -#. type: Title - -#: en/git-format-patch.txt:535 +#. type: delimited block - +#: en/git-credential-store.txt:12 #, no-wrap -msgid "BASE TREE INFORMATION" +msgid "git config credential.helper 'store [options]'\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:544 +#: en/git-credential-store.txt:21 msgid "" -"The base tree information block is used for maintainers or third party " -"testers to know the exact state the patch series applies to. It consists of " -"the 'base commit', which is a well-known commit that is part of the stable " -"part of the project history everybody else works off of, and zero or more " -"'prerequisite patches', which are well-known patches in flight that is not " -"yet part of the 'base commit' that need to be applied on top of 'base " -"commit' in topological order before the patches can be applied." +"Using this helper will store your passwords unencrypted on disk, protected " +"only by filesystem permissions. If this is not an acceptable security " +"tradeoff, try linkgit:git-credential-cache[1], or find a helper that " +"integrates with secure storage provided by your operating system." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:550 +#: en/git-credential-store.txt:24 msgid "" -"The 'base commit' is shown as \"base-commit: \" followed by the 40-hex of " -"the commit object name. A 'prerequisite patch' is shown as " -"\"prerequisite-patch-id: \" followed by the 40-hex 'patch id', which can be " -"obtained by passing the patch through the `git patch-id --stable` command." +"This command stores credentials indefinitely on disk for use by future Git " +"programs." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:554 +#: en/git-credential-store.txt:28 msgid "" -"Imagine that on top of the public commit P, you applied well-known patches " -"X, Y and Z from somebody else, and then built your three-patch series A, B, " -"C, the history would be like:" +"You probably don't want to invoke this command directly; it is meant to be " +"used as a credential helper by other parts of git. See " +"linkgit:gitcredentials[7] or `EXAMPLES` below." msgstr "" -#. type: delimited block . -#: en/git-format-patch.txt:557 +#. type: Labeled list +#: en/git-credential-store.txt:32 #, no-wrap -msgid "---P---X---Y---Z---A---B---C\n" +msgid "--file=<path>" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:564 +#: en/git-credential-store.txt:42 msgid "" -"With `git format-patch --base=P -3 C` (or variants thereof, e.g. with " -"`--cover-letter` of using `Z..C` instead of `-3 C` to specify the range), " -"the base tree information block is shown at the end of the first message the " -"command outputs (either the first patch, or the cover letter), like this:" +"Use `<path>` to lookup and store credentials. The file will have its " +"filesystem permissions set to prevent other users on the system from reading " +"it, but will not be encrypted or otherwise protected. If not specified, " +"credentials will be searched for from `~/.git-credentials` and " +"`$XDG_CONFIG_HOME/git/credentials`, and credentials will be written to " +"`~/.git-credentials` if it exists, or `$XDG_CONFIG_HOME/git/credentials` if " +"it exists and the former does not. See also <<FILES>>." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:570 -#, no-wrap +#. type: Plain text +#: en/git-credential-store.txt:49 msgid "" -"base-commit: P\n" -"prerequisite-patch-id: X\n" -"prerequisite-patch-id: Y\n" -"prerequisite-patch-id: Z\n" +"If not set explicitly with `--file`, there are two files where " +"git-credential-store will search for credentials in order of precedence:" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:573 -msgid "For non-linear topology, such as" +#: en/git-credential-store.txt:52 +#, no-wrap +msgid "" +"~/.git-credentials::\n" +"\tUser-specific credentials file.\n" msgstr "" -#. type: delimited block . -#: en/git-format-patch.txt:578 +#. type: Plain text +#: en/git-credential-store.txt:59 #, no-wrap msgid "" -"---P---X---A---M---C\n" -" \\ /\n" -" Y---Z---B\n" +"$XDG_CONFIG_HOME/git/credentials::\n" +"\tSecond user-specific credentials file. If '$XDG_CONFIG_HOME' is not set\n" +"\tor empty, `$HOME/.config/git/credentials` will be used. Any credentials\n" +"\tstored in this file will not be used if `~/.git-credentials` has a\n" +"\tmatching credential as well. It is a good idea not to create this file\n" +"\tif you sometimes use older versions of Git that do not support it.\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:583 +#: en/git-credential-store.txt:63 msgid "" -"You can also use `git format-patch --base=P -3 C` to generate patches for A, " -"B and C, and the identifiers for P, X, Y, Z are appended at the end of the " -"first message." +"For credential lookups, the files are read in the order given above, with " +"the first matching credential found taking precedence over credentials found " +"in files further down the list." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:589 +#: en/git-credential-store.txt:67 msgid "" -"If set `--base=auto` in cmdline, it will track base commit automatically, " -"the base commit will be the merge base of tip commit of the remote-tracking " -"branch and revision-range specified in cmdline. For a local branch, you " -"need to track a remote branch by `git branch --set-upstream-to` before using " -"this option." +"Credential storage will by default write to the first existing file in the " +"list. If none of these files exist, `~/.git-credentials` will be created and " +"written to." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:595 +#: en/git-credential-store.txt:69 msgid "" -"Extract commits between revisions R1 and R2, and apply them on top of the " -"current branch using 'git am' to cherry-pick them:" +"When erasing credentials, matching credentials will be erased from all " +"files." msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:598 +#: en/git-credential-store.txt:81 #, no-wrap -msgid "$ git format-patch -k --stdout R1..R2 | git am -3 -k\n" +msgid "" +"$ git config credential.helper store\n" +"$ git push http://example.com/repo.git\n" +"Username: <type your username>\n" +"Password: <type your password>\n" msgstr "" -#. type: Plain text -#: en/git-format-patch.txt:602 +#. type: delimited block - +#: en/git-credential-store.txt:85 +#, no-wrap msgid "" -"Extract all commits which are in the current branch but not in the origin " -"branch:" +"[several days later]\n" +"$ git push http://example.com/repo.git\n" +"[your credentials are used automatically]\n" msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:605 +#. type: Title - +#: en/git-credential-store.txt:88 #, no-wrap -msgid "$ git format-patch origin\n" +msgid "STORAGE FORMAT" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:608 -msgid "For each commit a separate file is created in the current directory." +#: en/git-credential-store.txt:92 +msgid "" +"The `.git-credentials` file is stored in plaintext. Each credential is " +"stored on its own line as a URL like:" +msgstr "" + +#. type: delimited block - +#: en/git-credential-store.txt:95 +#, no-wrap +msgid "https://user:pass@example.com\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:611 +#: en/git-credential-store.txt:103 msgid "" -"Extract all commits that lead to 'origin' since the inception of the " -"project:" +"When Git needs authentication for a particular URL context, credential-store " +"will consider that context a pattern to match against each entry in the " +"credentials file. If the protocol, hostname, and username (if we already " +"have one) match, then the password is returned to Git. See the discussion of " +"configuration in linkgit:gitcredentials[7] for more information." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:614 +#. type: Title = +#: en/git-credential.txt:2 #, no-wrap -msgid "$ git format-patch --root origin\n" +msgid "git-credential(1)" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:617 -msgid "The same as the previous one:" +#: en/git-credential.txt:7 +msgid "git-credential - Retrieve and store user credentials" msgstr "" #. type: delimited block - -#: en/git-format-patch.txt:620 +#: en/git-credential.txt:12 #, no-wrap -msgid "$ git format-patch -M -B origin\n" +msgid "git credential <fill|approve|reject>\n" msgstr "" #. type: Plain text -#: en/git-format-patch.txt:627 +#: en/git-credential.txt:25 msgid "" -"Additionally, it detects and handles renames and complete rewrites " -"intelligently to produce a renaming patch. A renaming patch reduces the " -"amount of text output, and generally makes it easier to review. Note that " -"non-Git \"patch\" programs won't understand renaming patches, so use it only " -"when you know the recipient uses Git to apply your patch." +"Git has an internal interface for storing and retrieving credentials from " +"system-specific helpers, as well as prompting the user for usernames and " +"passwords. The git-credential command exposes this interface to scripts " +"which may want to retrieve, store, or prompt for credentials in the same " +"manner as Git. The design of this scriptable interface models the internal C " +"API; see link:technical/api-credentials.html[the Git credential API] for " +"more background on the concepts." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:630 +#: en/git-credential.txt:29 msgid "" -"Extract three topmost commits from the current branch and format them as " -"e-mailable patches:" +"git-credential takes an \"action\" option on the command-line (one of " +"`fill`, `approve`, or `reject`) and reads a credential description on stdin " +"(see <<IOFMT,INPUT/OUTPUT FORMAT>>)." msgstr "" -#. type: delimited block - -#: en/git-format-patch.txt:633 -#, no-wrap -msgid "$ git format-patch -3\n" +#. type: Plain text +#: en/git-credential.txt:36 +msgid "" +"If the action is `fill`, git-credential will attempt to add \"username\" and " +"\"password\" attributes to the description by reading config files, by " +"contacting any configured credential helpers, or by prompting the user. The " +"username and password attributes of the credential description are then " +"printed to stdout together with the attributes already provided." msgstr "" #. type: Plain text -#: en/git-format-patch.txt:638 -msgid "linkgit:git-am[1], linkgit:git-send-email[1]" +#: en/git-credential.txt:40 +msgid "" +"If the action is `approve`, git-credential will send the description to any " +"configured credential helpers, which may store the credential for later use." msgstr "" -#. type: Title = -#: en/git-fsck-objects.txt:2 +#. type: Plain text +#: en/git-credential.txt:44 +msgid "" +"If the action is `reject`, git-credential will send the description to any " +"configured credential helpers, which may erase any stored credential " +"matching the description." +msgstr "" + +#. type: Plain text +#: en/git-credential.txt:46 +msgid "If the action is `approve` or `reject`, no output should be emitted." +msgstr "" + +#. type: Title - +#: en/git-credential.txt:48 #, no-wrap -msgid "git-fsck-objects(1)" +msgid "TYPICAL USE OF GIT CREDENTIAL" msgstr "" #. type: Plain text -#: en/git-fsck-objects.txt:7 +#: en/git-credential.txt:52 msgid "" -"git-fsck-objects - Verifies the connectivity and validity of the objects in " -"the database" +"An application using git-credential will typically use `git credential` " +"following these steps:" msgstr "" #. type: Plain text -#: en/git-fsck-objects.txt:13 -#, no-wrap -msgid "'git fsck-objects' ...\n" +#: en/git-credential.txt:54 +msgid "Generate a credential description based on the context." msgstr "" #. type: Plain text -#: en/git-fsck-objects.txt:19 +#: en/git-credential.txt:60 msgid "" -"This is a synonym for linkgit:git-fsck[1]. Please refer to the " -"documentation of that command." +"For example, if we want a password for `https://example.com/foo.git`, we " +"might generate the following credential description (don't forget the blank " +"line at the end; it tells `git credential` that the application finished " +"feeding all the information it has):" msgstr "" -#. type: Title = -#: en/git-fsck.txt:2 +#. type: Plain text +#: en/git-credential.txt:64 #, no-wrap -msgid "git-fsck(1)" +msgid "" +"\t protocol=https\n" +"\t host=example.com\n" +"\t path=foo.git\n" msgstr "" #. type: Plain text -#: en/git-fsck.txt:7 +#: en/git-credential.txt:70 msgid "" -"git-fsck - Verifies the connectivity and validity of the objects in the " -"database" +"Ask git-credential to give us a username and password for this " +"description. This is done by running `git credential fill`, feeding the " +"description from step (1) to its standard input. The complete credential " +"description (including the credential per se, i.e. the login and password) " +"will be produced on standard output, like:" msgstr "" #. type: Plain text -#: en/git-fsck.txt:16 +#: en/git-credential.txt:75 #, no-wrap msgid "" -"'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n" -"\t [--[no-]full] [--strict] [--verbose] [--lost-found]\n" -"\t [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n" -"\t [--[no-]name-objects] [<object>*]\n" +"protocol=https\n" +"host=example.com\n" +"username=bob\n" +"password=secr3t\n" msgstr "" #. type: Plain text -#: en/git-fsck.txt:20 en/cmds-ancillaryinterrogators.txt:18 -msgid "Verifies the connectivity and validity of the objects in the database." +#: en/git-credential.txt:80 +msgid "" +"In most cases, this means the attributes given in the input will be repeated " +"in the output, but Git may also modify the credential description, for " +"example by removing the `path` attribute when the protocol is HTTP(s) and " +"`credential.useHttpPath` is false." msgstr "" #. type: Plain text -#: en/git-fsck.txt:25 -msgid "An object to treat as the head of an unreachability trace." +#: en/git-credential.txt:86 +msgid "" +"If the `git credential` knew about the password, this step may not have " +"involved the user actually typing this password (the user may have typed a " +"password to unlock the keychain instead, or no user interaction was done if " +"the keychain was already unlocked) before it returned `password=secr3t`." msgstr "" #. type: Plain text -#: en/git-fsck.txt:29 +#: en/git-credential.txt:89 msgid "" -"If no objects are given, 'git fsck' defaults to using the index file, all " -"SHA-1 references in `refs` namespace, and all reflogs (unless --no-reflogs " -"is given) as heads." -msgstr "" - -#. type: Labeled list -#: en/git-fsck.txt:30 -#, no-wrap -msgid "--unreachable" +"Use the credential (e.g., access the URL with the username and password from " +"step (2)), and see if it's accepted." msgstr "" #. type: Plain text -#: en/git-fsck.txt:33 +#: en/git-credential.txt:99 msgid "" -"Print out objects that exist but that aren't reachable from any of the " -"reference nodes." +"Report on the success or failure of the password. If the credential allowed " +"the operation to complete successfully, then it can be marked with an " +"\"approve\" action to tell `git credential` to reuse it in its next " +"invocation. If the credential was rejected during the operation, use the " +"\"reject\" action so that `git credential` will ask for a new password in " +"its next invocation. In either case, `git credential` should be fed with the " +"credential description obtained from step (2) (which also contain the ones " +"provided in step (1))." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:34 +#. type: Title - +#: en/git-credential.txt:102 #, no-wrap -msgid "--[no-]dangling" +msgid "INPUT/OUTPUT FORMAT" msgstr "" #. type: Plain text -#: en/git-fsck.txt:37 +#: en/git-credential.txt:109 msgid "" -"Print objects that exist but that are never 'directly' used (default). " -"`--no-dangling` can be used to omit this information from the output." -msgstr "" - -#. type: Plain text -#: en/git-fsck.txt:40 -msgid "Report root nodes." +"`git credential` reads and/or writes (depending on the action used) " +"credential information in its standard input/output. This information can " +"correspond either to keys for which `git credential` will obtain the " +"login/password information (e.g. host, protocol, path), or to the actual " +"credential data to be obtained (login/password)." msgstr "" #. type: Plain text -#: en/git-fsck.txt:43 -msgid "Report tags." +#: en/git-credential.txt:119 +msgid "" +"The credential is split into a set of named attributes, with one attribute " +"per line. Each attribute is specified by a key-value pair, separated by an " +"`=` (equals) sign, followed by a newline. The key may contain any bytes " +"except `=`, newline, or NUL. The value may contain any bytes except newline " +"or NUL. In both cases, all bytes are treated as-is (i.e., there is no " +"quoting, and one cannot transmit a value with newline or NUL in it). The " +"list of attributes is terminated by a blank line or end-of-file. Git " +"understands the following attributes:" msgstr "" #. type: Labeled list -#: en/git-fsck.txt:44 +#: en/git-credential.txt:120 #, no-wrap -msgid "--cache" +msgid "`protocol`" msgstr "" #. type: Plain text -#: en/git-fsck.txt:47 -msgid "" -"Consider any object recorded in the index also as a head node for an " -"unreachability trace." +#: en/git-credential.txt:124 +msgid "The protocol over which the credential will be used (e.g., `https`)." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:48 +#: en/git-credential.txt:125 #, no-wrap -msgid "--no-reflogs" +msgid "`host`" msgstr "" #. type: Plain text -#: en/git-fsck.txt:53 -msgid "" -"Do not consider commits that are referenced only by an entry in a reflog to " -"be reachable. This option is meant only to search for commits that used to " -"be in a ref, but now aren't, but are still in that corresponding reflog." +#: en/git-credential.txt:128 +msgid "The remote hostname for a network credential." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:54 +#: en/git-credential.txt:129 #, no-wrap -msgid "--full" +msgid "`path`" msgstr "" #. type: Plain text -#: en/git-fsck.txt:63 +#: en/git-credential.txt:134 msgid "" -"Check not just objects in GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), but also " -"the ones found in alternate object pools listed in " -"GIT_ALTERNATE_OBJECT_DIRECTORIES or $GIT_DIR/objects/info/alternates, and in " -"packed Git archives found in $GIT_DIR/objects/pack and corresponding pack " -"subdirectories in alternate object pools. This is now default; you can turn " -"it off with --no-full." +"The path with which the credential will be used. E.g., for accessing a " +"remote https repository, this will be the repository's path on the server." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:64 +#: en/git-credential.txt:135 #, no-wrap -msgid "--connectivity-only" +msgid "`username`" msgstr "" #. type: Plain text -#: en/git-fsck.txt:68 +#: en/git-credential.txt:139 msgid "" -"Check only the connectivity of tags, commits and tree objects. By avoiding " -"to unpack blobs, this speeds up the operation, at the expense of missing " -"corrupt objects or other problematic issues." +"The credential's username, if we already have one (e.g., from a URL, from " +"the user, or from a previously run helper)." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:69 en/git-index-pack.txt:74 en/git-unpack-objects.txt:44 +#: en/git-credential.txt:140 #, no-wrap -msgid "--strict" -msgstr "" - -#. type: Plain text -#: en/git-fsck.txt:76 -msgid "" -"Enable more strict checking, namely to catch a file mode recorded with g+w " -"bit set, which was created by older versions of Git. Existing repositories, " -"including the Linux kernel, Git itself, and sparse repository have old " -"objects that triggers this check, but it is recommended to check new " -"projects with this flag." +msgid "`password`" msgstr "" #. type: Plain text -#: en/git-fsck.txt:79 -msgid "Be chatty." +#: en/git-credential.txt:143 +msgid "The credential's password, if we are asking it to be stored." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:80 +#: en/git-credential.txt:144 #, no-wrap -msgid "--lost-found" +msgid "`url`" msgstr "" #. type: Plain text -#: en/git-fsck.txt:85 +#: en/git-credential.txt:154 msgid "" -"Write dangling objects into .git/lost-found/commit/ or " -".git/lost-found/other/, depending on type. If the object is a blob, the " -"contents are written into the file, rather than its object name." +"When this special attribute is read by `git credential`, the value is parsed " +"as a URL and treated as if its constituent parts were read (e.g., " +"`url=https://example.com` would behave as if `protocol=https` and " +"`host=example.com` had been provided). This can help callers avoid parsing " +"URLs themselves. Note that any components which are missing from the URL " +"(e.g., there is no username in the example above) will be set to empty; if " +"you want to provide a URL and override some attributes, provide the URL " +"attribute first, followed by any overrides." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:86 +#. type: Title = +#: en/git-cvsexportcommit.txt:2 #, no-wrap -msgid "--name-objects" +msgid "git-cvsexportcommit(1)" msgstr "" #. type: Plain text -#: en/git-fsck.txt:91 -msgid "" -"When displaying names of reachable objects, in addition to the SHA-1 also " -"display a name that describes *how* they are reachable, compatible with " -"linkgit:git-rev-parse[1], e.g. `HEAD@{1234567890}~25^2:src/`." +#: en/git-cvsexportcommit.txt:7 +msgid "git-cvsexportcommit - Export a single commit to a CVS checkout" msgstr "" #. type: Plain text -#: en/git-fsck.txt:98 +#: en/git-cvsexportcommit.txt:14 +#, no-wrap msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal, unless --no-progress or --verbose is " -"specified. --progress forces progress status even if the standard error " -"stream is not directed to a terminal." +"'git cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]\n" +"\t[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID\n" msgstr "" #. type: Plain text -#: en/git-fsck.txt:108 +#: en/git-cvsexportcommit.txt:20 msgid "" -"git-fsck tests SHA-1 and general object sanity, and it does full tracking of " -"the resulting reachability and everything else. It prints out any corruption " -"it finds (missing or bad objects), and if you use the `--unreachable` flag " -"it will also print out objects that exist but that aren't reachable from any " -"of the specified head nodes (or the default set, as mentioned above)." +"Exports a commit from Git to a CVS checkout, making it easier to merge " +"patches from a Git repository into a CVS repository." msgstr "" #. type: Plain text -#: en/git-fsck.txt:112 +#: en/git-cvsexportcommit.txt:24 msgid "" -"Any corrupt objects you will have to find in backups or other archives " -"(i.e., you can just remove them and do an 'rsync' with some other site in " -"the hopes that somebody else has the object you have corrupted)." -msgstr "" - -#. type: Title - -#: en/git-fsck.txt:114 -#, no-wrap -msgid "Extracted Diagnostics" +"Specify the name of a CVS checkout using the -w switch or execute it from " +"the root of the CVS working copy. In the latter case GIT_DIR must be " +"defined. See examples below." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:116 -#, no-wrap -msgid "expect dangling commits - potential heads - due to lack of head information" +#. type: Plain text +#: en/git-cvsexportcommit.txt:28 +msgid "" +"It does its best to do the safe thing, it will check that the files are " +"unchanged and up to date in the CVS checkout, and it will not autocommit by " +"default." msgstr "" #. type: Plain text -#: en/git-fsck.txt:120 +#: en/git-cvsexportcommit.txt:30 +msgid "Supports file additions, removals, and commits that affect binary files." +msgstr "" + +#. type: Plain text +#: en/git-cvsexportcommit.txt:33 msgid "" -"You haven't specified any nodes as heads so it won't be possible to " -"differentiate between un-parented commits and root nodes." +"If the commit is a merge commit, you must tell 'git cvsexportcommit' what " +"parent the changeset should be done against." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:121 -#, no-wrap -msgid "missing sha1 directory '<dir>'" +#. type: Plain text +#: en/git-cvsexportcommit.txt:40 +msgid "" +"Commit automatically if the patch applied cleanly. It will not commit if any " +"hunks fail to apply or there were other problems." msgstr "" #. type: Plain text -#: en/git-fsck.txt:123 -msgid "The directory holding the sha1 objects is missing." +#: en/git-cvsexportcommit.txt:44 +msgid "Be pedantic (paranoid) when applying patches. Invokes patch with --fuzz=0" msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:124 -#, no-wrap -msgid "unreachable <type> <object>" +#. type: Plain text +#: en/git-cvsexportcommit.txt:48 +msgid "" +"Add authorship information. Adds Author line, and Committer (if different " +"from Author) to the message." msgstr "" #. type: Plain text -#: en/git-fsck.txt:131 +#: en/git-cvsexportcommit.txt:53 msgid "" -"The <type> object <object>, isn't actually referred to directly or " -"indirectly in any of the trees or commits seen. This can mean that there's " -"another root node that you're not specifying or that the tree is corrupt. If " -"you haven't missed a root node then you might as well delete unreachable " -"nodes since they can't be used." +"Set an alternative CVSROOT to use. This corresponds to the CVS -d " +"parameter. Usually users will not want to set this, except if using CVS in " +"an asymmetric fashion." +msgstr "" + +#. type: Plain text +#: en/git-cvsexportcommit.txt:56 +msgid "Force the merge even if the files are not up to date." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:132 +#: en/git-cvsexportcommit.txt:57 en/git-grep.txt:162 #, no-wrap -msgid "missing <type> <object>" +msgid "-P" msgstr "" #. type: Plain text -#: en/git-fsck.txt:135 +#: en/git-cvsexportcommit.txt:59 +msgid "Force the parent commit, even if it is not a direct parent." +msgstr "" + +#. type: Plain text +#: en/git-cvsexportcommit.txt:63 msgid "" -"The <type> object <object>, is referred to but isn't present in the " -"database." +"Prepend the commit message with the provided prefix. Useful for patch " +"series and the like." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:136 -#, no-wrap -msgid "dangling <type> <object>" +#. type: Plain text +#: en/git-cvsexportcommit.txt:66 +msgid "Update affected files from CVS repository before attempting export." msgstr "" #. type: Plain text -#: en/git-fsck.txt:139 +#: en/git-cvsexportcommit.txt:70 msgid "" -"The <type> object <object>, is present in the database but never 'directly' " -"used. A dangling commit could be a root node." +"Reverse CVS keyword expansion (e.g. $Revision: 1.2.3.4$ becomes $Revision$) " +"in working CVS checkout before applying patch." msgstr "" -#. type: Labeled list -#: en/git-fsck.txt:140 -#, no-wrap -msgid "sha1 mismatch <object>" +#. type: Plain text +#: en/git-cvsexportcommit.txt:76 +msgid "" +"Specify the location of the CVS checkout to use for the export. This option " +"does not require GIT_DIR to be set before execution if the current directory " +"is within a Git repository. The default is the value of " +"'cvsexportcommit.cvsdir'." msgstr "" #. type: Plain text -#: en/git-fsck.txt:144 +#: en/git-cvsexportcommit.txt:81 msgid "" -"The database has an object who's sha1 doesn't match the database value. " -"This indicates a serious data integrity problem." +"Tell cvsexportcommit that the current working directory is not only a Git " +"checkout, but also the CVS checkout. Therefore, Git will reset the working " +"directory to the parent commit before proceeding." +msgstr "" + +#. type: Plain text +#: en/git-cvsexportcommit.txt:84 +msgid "Verbose." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:148 +#: en/git-cvsexportcommit.txt:87 #, no-wrap -msgid "GIT_OBJECT_DIRECTORY" +msgid "cvsexportcommit.cvsdir" msgstr "" #. type: Plain text -#: en/git-fsck.txt:150 -msgid "used to specify the object database root (usually $GIT_DIR/objects)" +#: en/git-cvsexportcommit.txt:89 +msgid "The default location of the CVS checkout to use for the export." msgstr "" #. type: Labeled list -#: en/git-fsck.txt:151 +#: en/git-cvsexportcommit.txt:93 #, no-wrap -msgid "GIT_INDEX_FILE" +msgid "Merge one patch into CVS" msgstr "" -#. type: Plain text -#: en/git-fsck.txt:153 -msgid "used to specify the index file of the index" +#. type: delimited block - +#: en/git-cvsexportcommit.txt:100 +#, no-wrap +msgid "" +"$ export GIT_DIR=~/project/.git\n" +"$ cd ~/project_cvs_checkout\n" +"$ git cvsexportcommit -v <commit-sha1>\n" +"$ cvs commit -F .msg <files>\n" msgstr "" #. type: Labeled list -#: en/git-fsck.txt:154 +#: en/git-cvsexportcommit.txt:102 #, no-wrap -msgid "GIT_ALTERNATE_OBJECT_DIRECTORIES" +msgid "" +"Merge one patch into CVS (-c and -w options). The working directory is " +"within the Git Repo" msgstr "" -#. type: Plain text -#: en/git-fsck.txt:156 -msgid "used to specify additional object database roots (usually unset)" +#. type: delimited block - +#: en/git-cvsexportcommit.txt:106 +#, no-wrap +msgid "\t$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>\n" +msgstr "" + +#. type: Labeled list +#: en/git-cvsexportcommit.txt:108 +#, no-wrap +msgid "" +"Merge pending patches into CVS automatically -- only if you really know what " +"you are doing" +msgstr "" + +#. type: delimited block - +#: en/git-cvsexportcommit.txt:114 +#, no-wrap +msgid "" +"$ export GIT_DIR=~/project/.git\n" +"$ cd ~/project_cvs_checkout\n" +"$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git " +"cvsexportcommit -c -p -v\n" msgstr "" #. type: Title = -#: en/git-gc.txt:2 +#: en/git-cvsimport.txt:2 #, no-wrap -msgid "git-gc(1)" +msgid "git-cvsimport(1)" msgstr "" #. type: Plain text -#: en/git-gc.txt:7 -msgid "git-gc - Cleanup unnecessary files and optimize the local repository" +#: en/git-cvsimport.txt:7 +msgid "git-cvsimport - Salvage your data out of another SCM people love to hate" msgstr "" #. type: Plain text -#: en/git-gc.txt:13 +#: en/git-cvsimport.txt:17 #, no-wrap msgid "" -"'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune] " -"[--force]\n" +"'git cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]\n" +"\t [-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]\n" +"\t [-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]\n" +"\t [-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]\n" +"\t [-r <remote>] [-R] [<CVS_module>]\n" msgstr "" #. type: Plain text -#: en/git-gc.txt:20 +#: en/git-cvsimport.txt:26 +#, no-wrap msgid "" -"Runs a number of housekeeping tasks within the current repository, such as " -"compressing file revisions (to reduce disk space and increase performance) " -"and removing unreachable objects which may have been created from prior " -"invocations of 'git add'." +"*WARNING:* `git cvsimport` uses cvsps version 2, which is considered\n" +"deprecated; it does not work with cvsps version 3 and later. If you are\n" +"performing a one-shot import of a CVS repository consider using\n" +"http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or\n" +"http://www.catb.org/esr/cvs-fast-export/[cvs-fast-export].\n" msgstr "" #. type: Plain text -#: en/git-gc.txt:24 +#: en/git-cvsimport.txt:29 msgid "" -"Users are encouraged to run this task on a regular basis within each " -"repository to maintain good disk space utilization and good operating " -"performance." +"Imports a CVS repository into Git. It will either create a new repository, " +"or incrementally import into an existing one." msgstr "" #. type: Plain text -#: en/git-gc.txt:28 +#: en/git-cvsimport.txt:32 msgid "" -"Some git commands may automatically run 'git gc'; see the `--auto` flag " -"below for details. If you know what you're doing and all you want is to " -"disable this behavior permanently without further considerations, just do:" +"Splitting the CVS log into patch sets is done by 'cvsps'. At least version " +"2.1 is required." msgstr "" -#. type: delimited block - -#: en/git-gc.txt:31 +#. type: Plain text +#: en/git-cvsimport.txt:35 #, no-wrap -msgid "$ git config --global gc.auto 0\n" +msgid "" +"*WARNING:* for certain situations the import leads to incorrect results.\n" +"Please see the section <<issues,ISSUES>> for further reference.\n" msgstr "" -#. type: Labeled list -#: en/git-gc.txt:36 en/git-read-tree.txt:71 -#, no-wrap -msgid "--aggressive" +#. type: Plain text +#: en/git-cvsimport.txt:42 +msgid "" +"You should *never* do any work of your own on the branches that are created " +"by 'git cvsimport'. By default initial import will create and populate a " +"\"master\" branch from the CVS repository's main branch which you're free to " +"work with; after that, you need to 'git merge' incremental imports, or any " +"CVS branches, yourself. It is advisable to specify a named remote via -r to " +"separate and protect the incoming branches." msgstr "" #. type: Plain text -#: en/git-gc.txt:43 +#: en/git-cvsimport.txt:48 msgid "" -"Usually 'git gc' runs very quickly while providing good disk space " -"utilization and performance. This option will cause 'git gc' to more " -"aggressively optimize the repository at the expense of taking much more " -"time. The effects of this optimization are persistent, so this option only " -"needs to be used occasionally; every few hundred changesets or so." +"If you intend to set up a shared public repository that all developers can " +"read/write, or if you want to use linkgit:git-cvsserver[1], then you " +"probably want to make a bare clone of the imported repository, and use the " +"clone as the shared repository. See linkgit:gitcvs-migration[7]." +msgstr "" + +#. type: Plain text +#: en/git-cvsimport.txt:54 +msgid "Verbosity: let 'cvsimport' report what it is doing." msgstr "" #. type: Labeled list -#: en/git-gc.txt:44 +#: en/git-cvsimport.txt:55 #, no-wrap -msgid "--auto" +msgid "-d <CVSROOT>" msgstr "" #. type: Plain text -#: en/git-gc.txt:49 +#: en/git-cvsimport.txt:61 msgid "" -"With this option, 'git gc' checks whether any housekeeping is required; if " -"not, it exits without performing any work. Some git commands run `git gc " -"--auto` after performing operations that could create many loose objects." +"The root of the CVS archive. May be local (a simple path) or remote; " +"currently, only the :local:, :ext: and :pserver: access methods are " +"supported. If not given, 'git cvsimport' will try to read it from " +"`CVS/Root`. If no such file exists, it checks for the `CVSROOT` environment " +"variable." msgstr "" -#. type: Plain text -#: en/git-gc.txt:56 -msgid "" -"Housekeeping is required if there are too many loose objects or too many " -"packs in the repository. If the number of loose objects exceeds the value of " -"the `gc.auto` configuration variable, then all loose objects are combined " -"into a single pack using `git repack -d -l`. Setting the value of `gc.auto` " -"to 0 disables automatic packing of loose objects." +#. type: Labeled list +#: en/git-cvsimport.txt:62 +#, no-wrap +msgid "<CVS_module>" msgstr "" #. type: Plain text -#: en/git-gc.txt:62 +#: en/git-cvsimport.txt:66 msgid "" -"If the number of packs exceeds the value of `gc.autoPackLimit`, then " -"existing packs (except those marked with a `.keep` file) are consolidated " -"into a single pack by using the `-A` option of 'git repack'. Setting " -"`gc.autoPackLimit` to 0 disables automatic consolidation of packs." +"The CVS module you want to import. Relative to <CVSROOT>. If not given, " +"'git cvsimport' tries to read it from `CVS/Repository`." msgstr "" #. type: Labeled list -#: en/git-gc.txt:63 +#: en/git-cvsimport.txt:67 #, no-wrap -msgid "--prune=<date>" +msgid "-C <target-dir>" msgstr "" #. type: Plain text -#: en/git-gc.txt:70 -msgid "" -"Prune loose objects older than date (default is 2 weeks ago, overridable by " -"the config variable `gc.pruneExpire`). --prune=all prunes loose objects " -"regardless of their age and increases the risk of corruption if another " -"process is writing to the repository concurrently; see \"NOTES\" " -"below. --prune is on by default." +#: en/git-cvsimport.txt:69 +msgid "The Git repository to import to. If the directory doesn't" +msgstr "" + +#. type: Plain text +#: en/git-cvsimport.txt:70 +#, no-wrap +msgid "exist, it will be created. Default is the current directory.\n" msgstr "" #. type: Labeled list -#: en/git-gc.txt:71 en/git-pack-refs.txt:57 +#: en/git-cvsimport.txt:71 #, no-wrap -msgid "--no-prune" +msgid "-r <remote>" msgstr "" #. type: Plain text -#: en/git-gc.txt:73 -msgid "Do not prune any loose objects." +#: en/git-cvsimport.txt:75 +msgid "" +"The Git remote to import this CVS repository into. Moves all CVS branches " +"into remotes/<remote>/<branch> akin to the way 'git clone' uses 'origin' by " +"default." msgstr "" -#. type: Plain text -#: en/git-gc.txt:76 -msgid "Suppress all progress reports." +#. type: Labeled list +#: en/git-cvsimport.txt:76 +#, no-wrap +msgid "-o <branch-for-HEAD>" msgstr "" #. type: Plain text -#: en/git-gc.txt:80 +#: en/git-cvsimport.txt:84 msgid "" -"Force `git gc` to run even if there may be another `git gc` instance running " -"on this repository." +"When no remote is specified (via -r) the `HEAD` branch from CVS is imported " +"to the 'origin' branch within the Git repository, as `HEAD` already has a " +"special meaning for Git. When a remote is specified the `HEAD` branch is " +"named remotes/<remote>/master mirroring 'git clone' behaviour. Use this " +"option if you want to import into a different branch." msgstr "" #. type: Plain text -#: en/git-gc.txt:89 +#: en/git-cvsimport.txt:87 msgid "" -"The optional configuration variable `gc.reflogExpire` can be set to indicate " -"how long historical entries within each branch's reflog should remain " -"available in this repository. The setting is expressed as a length of time, " -"for example '90 days' or '3 months'. It defaults to '90 days'." +"Use '-o master' for continuing an import that was initially done by the old " +"cvs2git tool." msgstr "" #. type: Plain text -#: en/git-gc.txt:98 +#: en/git-cvsimport.txt:92 msgid "" -"The optional configuration variable `gc.reflogExpireUnreachable` can be set " -"to indicate how long historical reflog entries which are not part of the " -"current branch should remain available in this repository. These types of " -"entries are generally created as a result of using `git commit --amend` or " -"`git rebase` and are the commits prior to the amend or rebase occurring. " -"Since these changes are not part of the current project most users will want " -"to expire them sooner. This option defaults to '30 days'." +"Import-only: don't perform a checkout after importing. This option ensures " +"the working directory and index remain untouched and will not create them if " +"they do not exist." msgstr "" #. type: Plain text -#: en/git-gc.txt:102 +#: en/git-cvsimport.txt:97 msgid "" -"The above two configuration variables can be given to a pattern. For " -"example, this sets non-default expiry values only to remote-tracking " -"branches:" +"Kill keywords: will extract files with '-kk' from the CVS archive to avoid " +"noisy changesets. Highly recommended, but off by default to preserve " +"compatibility with early imported trees." msgstr "" -#. type: delimited block - -#: en/git-gc.txt:107 +#. type: Plain text +#: en/git-cvsimport.txt:100 +msgid "Convert underscores in tag and branch names to dots." +msgstr "" + +#. type: Labeled list +#: en/git-cvsimport.txt:101 #, no-wrap -msgid "" -"[gc \"refs/remotes/*\"]\n" -"\treflogExpire = never\n" -"\treflogExpireUnreachable = 3 days\n" +msgid "-s <subst>" msgstr "" #. type: Plain text -#: en/git-gc.txt:112 -msgid "" -"The optional configuration variable `gc.rerereResolved` indicates how long " -"records of conflicted merge you resolved earlier are kept. This defaults to " -"60 days." +#: en/git-cvsimport.txt:103 +msgid "Substitute the character \"/\" in branch names with <subst>" msgstr "" -#. type: Plain text -#: en/git-gc.txt:116 -msgid "" -"The optional configuration variable `gc.rerereUnresolved` indicates how long " -"records of conflicted merge you have not resolved are kept. This defaults " -"to 15 days." +#. type: Labeled list +#: en/git-cvsimport.txt:104 +#, no-wrap +msgid "-p <options-for-cvsps>" msgstr "" #. type: Plain text -#: en/git-gc.txt:121 +#: en/git-cvsimport.txt:107 msgid "" -"The optional configuration variable `gc.packRefs` determines if 'git gc' " -"runs 'git pack-refs'. This can be set to \"notbare\" to enable it within all " -"non-bare repos or it can be set to a boolean value. This defaults to true." +"Additional options for cvsps. The options `-u` and '-A' are implicit and " +"should not be used here." msgstr "" #. type: Plain text -#: en/git-gc.txt:128 -msgid "" -"The optional configuration variable `gc.aggressiveWindow` controls how much " -"time is spent optimizing the delta compression of the objects in the " -"repository when the --aggressive option is specified. The larger the value, " -"the more time is spent optimizing the delta compression. See the " -"documentation for the --window' option in linkgit:git-repack[1] for more " -"details. This defaults to 250." +#: en/git-cvsimport.txt:109 +msgid "If you need to pass multiple options, separate them with a comma." msgstr "" -#. type: Plain text -#: en/git-gc.txt:131 -msgid "" -"Similarly, the optional configuration variable `gc.aggressiveDepth` controls " -"--depth option in linkgit:git-repack[1]. This defaults to 50." +#. type: Labeled list +#: en/git-cvsimport.txt:110 +#, no-wrap +msgid "-z <fuzz>" msgstr "" #. type: Plain text -#: en/git-gc.txt:135 +#: en/git-cvsimport.txt:113 msgid "" -"The optional configuration variable `gc.pruneExpire` controls how old the " -"unreferenced loose objects have to be before they are pruned. The default " -"is \"2 weeks ago\"." +"Pass the timestamp fuzz factor to cvsps, in seconds. If unset, cvsps " +"defaults to 300s." msgstr "" -#. type: Plain text -#: en/git-gc.txt:150 -msgid "" -"'git gc' tries very hard not to delete objects that are referenced anywhere " -"in your repository. In particular, it will keep not only objects referenced " -"by your current set of branches and tags, but also objects referenced by the " -"index, remote-tracking branches, refs saved by 'git filter-branch' in " -"refs/original/, or reflogs (which may reference commits in branches that " -"were later amended or rewound). If you are expecting some objects to be " -"deleted and they aren't, check all of those locations and decide whether it " -"makes sense in your case to remove those references." +#. type: Labeled list +#: en/git-cvsimport.txt:114 +#, no-wrap +msgid "-P <cvsps-output-file>" msgstr "" #. type: Plain text -#: en/git-gc.txt:157 +#: en/git-cvsimport.txt:117 msgid "" -"On the other hand, when 'git gc' runs concurrently with another process, " -"there is a risk of it deleting an object that the other process is using but " -"hasn't created a reference to. This may just cause the other process to fail " -"or may corrupt the repository if the other process later adds a reference to " -"the deleted object. Git has two features that significantly mitigate this " -"problem:" +"Instead of calling cvsps, read the provided cvsps output file. Useful for " +"debugging or when cvsps is being handled outside cvsimport." msgstr "" #. type: Plain text -#: en/git-gc.txt:160 +#: en/git-cvsimport.txt:122 msgid "" -"Any object with modification time newer than the `--prune` date is kept, " -"along with everything reachable from it." +"Attempt to detect merges based on the commit message. This option will " +"enable default regexes that try to capture the source branch name from the " +"commit message." msgstr "" -#. type: Plain text -#: en/git-gc.txt:164 -msgid "" -"Most operations that add an object to the database update the modification " -"time of the object if it is already present so that #1 applies." +#. type: Labeled list +#: en/git-cvsimport.txt:123 +#, no-wrap +msgid "-M <regex>" msgstr "" #. type: Plain text -#: en/git-gc.txt:169 +#: en/git-cvsimport.txt:127 msgid "" -"However, these features fall short of a complete solution, so users who run " -"commands concurrently have to live with some risk of corruption (which seems " -"to be low in practice) unless they turn off automatic garbage collection " -"with 'git config gc.auto 0'." +"Attempt to detect merges based on the commit message with a custom regex. It " +"can be used with `-m` to enable the default regexes as well. You must escape " +"forward slashes." msgstr "" #. type: Plain text -#: en/git-gc.txt:175 -msgid "" -"The 'git gc --auto' command will run the 'pre-auto-gc' hook. See " -"linkgit:githooks[5] for more information." +#: en/git-cvsimport.txt:129 +msgid "The regex must capture the source branch name in $1." msgstr "" #. type: Plain text -#: en/git-gc.txt:183 -msgid "" -"linkgit:git-prune[1] linkgit:git-reflog[1] linkgit:git-repack[1] " -"linkgit:git-rerere[1]" +#: en/git-cvsimport.txt:131 +msgid "This option can be used several times to provide several detection regexes." msgstr "" -#. type: Title = -#: en/git-get-tar-commit-id.txt:2 +#. type: Labeled list +#: en/git-cvsimport.txt:132 #, no-wrap -msgid "git-get-tar-commit-id(1)" +msgid "-S <regex>" msgstr "" #. type: Plain text -#: en/git-get-tar-commit-id.txt:7 -msgid "" -"git-get-tar-commit-id - Extract commit ID from an archive created using " -"git-archive" +#: en/git-cvsimport.txt:134 +msgid "Skip paths matching the regex." msgstr "" #. type: Plain text -#: en/git-get-tar-commit-id.txt:13 -#, no-wrap -msgid "'git get-tar-commit-id'\n" +#: en/git-cvsimport.txt:138 +msgid "" +"Import all commits, including recent ones. cvsimport by default skips " +"commits that have a timestamp less than 10 minutes ago." msgstr "" -#. type: Plain text -#: en/git-get-tar-commit-id.txt:22 -msgid "" -"Read a tar archive created by 'git archive' from the standard input and " -"extract the commit ID stored in it. It reads only the first 1024 bytes of " -"input, thus its runtime is not influenced by the size of the tar archive " -"very much." +#. type: Labeled list +#: en/git-cvsimport.txt:139 +#, no-wrap +msgid "-L <limit>" msgstr "" #. type: Plain text -#: en/git-get-tar-commit-id.txt:27 +#: en/git-cvsimport.txt:142 msgid "" -"If no commit ID is found, 'git get-tar-commit-id' quietly exists with a " -"return code of 1. This can happen if the archive had not been created using " -"'git archive' or if the first parameter of 'git archive' had been a tree ID " -"instead of a commit ID or tag." +"Limit the number of commits imported. Workaround for cases where cvsimport " +"leaks memory." msgstr "" -#. type: Title = -#: en/git-grep.txt:2 +#. type: Labeled list +#: en/git-cvsimport.txt:143 #, no-wrap -msgid "git-grep(1)" +msgid "-A <author-conv-file>" msgstr "" #. type: Plain text -#: en/git-grep.txt:7 -msgid "git-grep - Print lines matching a pattern" +#: en/git-cvsimport.txt:148 +msgid "" +"CVS by default uses the Unix username when writing its commit logs. Using " +"this option and an author-conv-file maps the name recorded in CVS to author " +"name, e-mail and optional time zone:" msgstr "" -#. type: Plain text -#: en/git-grep.txt:32 +#. type: delimited block - +#: en/git-cvsimport.txt:152 #, no-wrap msgid "" -"'git grep' [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | " -"--word-regexp]\n" -"\t [-v | --invert-match] [-h|-H] [--full-name]\n" -"\t [-E | --extended-regexp] [-G | --basic-regexp]\n" -"\t [-P | --perl-regexp]\n" -"\t [-F | --fixed-strings] [-n | --line-number]\n" -"\t [-l | --files-with-matches] [-L | --files-without-match]\n" -"\t [(-O | --open-files-in-pager) [<pager>]]\n" -"\t [-z | --null]\n" -"\t [-c | --count] [--all-match] [-q | --quiet]\n" -"\t [--max-depth <depth>]\n" -"\t [--color[=<when>] | --no-color]\n" -"\t [--break] [--heading] [-p | --show-function]\n" -"\t [-A <post-context>] [-B <pre-context>] [-C <context>]\n" -"\t [-W | --function-context]\n" -"\t [--threads <num>]\n" -"\t [-f <file>] [-e] <pattern>\n" -"\t [--and|--or|--not|(|)|-e <pattern>...]\n" -"\t [--recurse-submodules] [--parent-basename <basename>]\n" -"\t [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | " -"<tree>...]\n" -"\t [--] [<pathspec>...]\n" +"\texon=Andreas Ericsson <ae@op5.se>\n" +"\tspawn=Simon Pawn <spawn@frog-pond.org> America/Chicago\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:39 +#: en/git-cvsimport.txt:159 msgid "" -"Look for specified patterns in the tracked files in the work tree, blobs " -"registered in the index file, or blobs in given tree objects. Patterns are " -"lists of one or more search expressions separated by newline characters. An " -"empty string as search expression matches all lines." +"'git cvsimport' will make it appear as those authors had their " +"GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly all along. If a time zone " +"is specified, GIT_AUTHOR_DATE will have the corresponding offset applied." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:44 en/config.txt:1619 -#, no-wrap -msgid "grep.lineNumber" +#. type: Plain text +#: en/git-cvsimport.txt:163 +msgid "" +"For convenience, this data is saved to `$GIT_DIR/cvs-authors` each time the " +"'-A' option is provided and read from that same file each time 'git " +"cvsimport' is run." msgstr "" #. type: Plain text -#: en/git-grep.txt:46 en/config.txt:1621 -msgid "If set to true, enable `-n` option by default." +#: en/git-cvsimport.txt:167 +msgid "" +"It is not recommended to use this feature if you intend to export changes " +"back to CVS again later with 'git cvsexportcommit'." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:47 en/config.txt:1622 +#. type: Plain text +#: en/git-cvsimport.txt:173 +msgid "" +"Generate a `$GIT_DIR/cvs-revisions` file containing a mapping from CVS " +"revision numbers to newly-created Git commit IDs. The generated file will " +"contain one line for each (filename, revision) pair imported; each line will " +"look like" +msgstr "" + +#. type: delimited block - +#: en/git-cvsimport.txt:176 #, no-wrap -msgid "grep.patternType" +msgid "src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:52 en/config.txt:1627 +#: en/git-cvsimport.txt:180 msgid "" -"Set the default matching behavior. Using a value of 'basic', 'extended', " -"'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`, " -"`--fixed-strings`, or `--perl-regexp` option accordingly, while the value " -"'default' will return to the default matching behavior." +"The revision data is appended to the file if it already exists, for use when " +"doing incremental imports." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:53 en/config.txt:1628 -#, no-wrap -msgid "grep.extendedRegexp" +#. type: Plain text +#: en/git-cvsimport.txt:183 +msgid "" +"This option may be useful if you have CVS revision numbers stored in commit " +"messages, bug-tracking systems, email archives, and the like." msgstr "" #. type: Plain text -#: en/git-grep.txt:57 en/config.txt:1632 -msgid "" -"If set to true, enable `--extended-regexp` option by default. This option is " -"ignored when the `grep.patternType` option is set to a value other than " -"'default'." +#: en/git-cvsimport.txt:186 +msgid "Print a short usage message and exit." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:58 en/config.txt:1633 -#, no-wrap -msgid "grep.threads" +#. type: Plain text +#: en/git-cvsimport.txt:190 +msgid "If `-v` is specified, the script reports what it is doing." msgstr "" #. type: Plain text -#: en/git-grep.txt:61 +#: en/git-cvsimport.txt:193 msgid "" -"Number of grep worker threads to use. If unset (or set to 0), 8 threads are " -"used by default (for now)." +"Otherwise, success is indicated the Unix way, i.e. by simply exiting with a " +"zero exit status." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:62 +#. type: Title - +#: en/git-cvsimport.txt:196 #, no-wrap -msgid "grep.fullName" +msgid "ISSUES" msgstr "" #. type: Plain text -#: en/git-grep.txt:64 -msgid "If set to true, enable `--full-name` option by default." +#: en/git-cvsimport.txt:198 +msgid "Problems related to timestamps:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:65 en/config.txt:1637 -#, no-wrap -msgid "grep.fallbackToNoIndex" +#. type: Plain text +#: en/git-cvsimport.txt:202 +msgid "" +"If timestamps of commits in the CVS repository are not stable enough to be " +"used for ordering commits changes may show up in the wrong order." msgstr "" #. type: Plain text -#: en/git-grep.txt:68 en/config.txt:1640 +#: en/git-cvsimport.txt:204 msgid "" -"If set to true, fall back to git grep --no-index if git grep is executed " -"outside of a git repository. Defaults to false." +"If any files were ever \"cvs import\"ed more than once (e.g., import of more " +"than one vendor release) the HEAD contains the wrong content." msgstr "" #. type: Plain text -#: en/git-grep.txt:75 +#: en/git-cvsimport.txt:207 msgid "" -"Instead of searching tracked files in the working tree, search blobs " -"registered in the index file." +"If the timestamp order of different files cross the revision order within " +"the commit matching time window the order of commits may be wrong." msgstr "" #. type: Plain text -#: en/git-grep.txt:78 -msgid "Search files in the current directory that is not managed by Git." +#: en/git-cvsimport.txt:209 +msgid "Problems related to branches:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:79 -#, no-wrap -msgid "--untracked" +#. type: Plain text +#: en/git-cvsimport.txt:211 +msgid "Branches on which no commits have been made are not imported." msgstr "" #. type: Plain text -#: en/git-grep.txt:82 +#: en/git-cvsimport.txt:213 msgid "" -"In addition to searching in the tracked files in the working tree, search " -"also in untracked files." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:83 -#, no-wrap -msgid "--no-exclude-standard" +"All files from the branching point are added to a branch even if never added " +"in CVS." msgstr "" #. type: Plain text -#: en/git-grep.txt:86 +#: en/git-cvsimport.txt:216 msgid "" -"Also search in ignored files by not honoring the `.gitignore` " -"mechanism. Only useful with `--untracked`." +"This applies to files added to the source branch *after* a daughter branch " +"was created: if previously no commit was made on the daughter branch they " +"will erroneously be added to the daughter branch in git." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:87 en/git-ls-files.txt:97 -#, no-wrap -msgid "--exclude-standard" +#. type: Plain text +#: en/git-cvsimport.txt:218 +msgid "Problems related to tags:" msgstr "" #. type: Plain text -#: en/git-grep.txt:91 -msgid "" -"Do not pay attention to ignored files specified via the\t`.gitignore` " -"mechanism. Only useful when searching files in the current directory with " -"`--no-index`." +#: en/git-cvsimport.txt:220 +msgid "Multiple tags on the same revision are not imported." msgstr "" #. type: Plain text -#: en/git-grep.txt:97 +#: en/git-cvsimport.txt:223 msgid "" -"Recursively search in each submodule that has been initialized and checked " -"out in the repository. When used in combination with the <tree> option the " -"prefix of all submodule output will be the name of the parent project's " -"<tree> object." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:98 -#, no-wrap -msgid "--parent-basename <basename>" +"If you suspect that any of these issues may apply to the repository you want " +"to import, consider using cvs2git:" msgstr "" #. type: Plain text -#: en/git-grep.txt:104 -msgid "" -"For internal use only. In order to produce uniform output with the " -"--recurse-submodules option, this option can be used to provide the basename " -"of a parent's <tree> object to a submodule so the submodule can prefix its " -"output with the parent's name rather than the SHA1 of the submodule." +#: en/git-cvsimport.txt:225 +msgid "cvs2git (part of cvs2svn), `http://subversion.apache.org/`" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:106 en/diff-options.txt:519 +#. type: Title = +#: en/git-cvsserver.txt:2 #, no-wrap -msgid "--text" +msgid "git-cvsserver(1)" msgstr "" #. type: Plain text -#: en/git-grep.txt:108 -msgid "Process binary files as if they were text." +#: en/git-cvsserver.txt:7 +msgid "git-cvsserver - A CVS server emulator for Git" msgstr "" #. type: Plain text -#: en/git-grep.txt:111 -msgid "Honor textconv filter settings." +#: en/git-cvsserver.txt:12 +msgid "SSH:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:112 en/diff-options.txt:571 +#. type: Plain text +#: en/git-cvsserver.txt:16 #, no-wrap -msgid "--no-textconv" +msgid "" +"export CVS_SERVER=\"git cvsserver\"\n" +"'cvs' -d :ext:user@server/path/repo.git co <HEAD_name>\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:115 -msgid "Do not honor textconv filter settings. This is the default." +#: en/git-cvsserver.txt:18 +msgid "pserver (/etc/inetd.conf):" msgstr "" #. type: Plain text -#: en/git-grep.txt:120 -msgid "Ignore case differences between the patterns and the files." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:121 +#: en/git-cvsserver.txt:21 #, no-wrap -msgid "-I" +msgid "" +"cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver " +"pserver\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:123 -msgid "Don't match the pattern in binary files." +#: en/git-cvsserver.txt:23 +msgid "Usage:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:124 +#. type: Plain text +#: en/git-cvsserver.txt:26 #, no-wrap -msgid "--max-depth <depth>" +msgid "'git-cvsserver' [options] [pserver|server] [<directory> ...]\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:130 +#: en/git-cvsserver.txt:33 msgid "" -"For each <pathspec> given on command line, descend at most <depth> levels of " -"directories. A negative value means no limit. This option is ignored if " -"<pathspec> contains active wildcards. In other words if \"a*\" matches a " -"directory named \"a*\", \"*\" is matched literally so --max-depth is still " -"effective." +"All these options obviously only make sense if enforced by the server side. " +"They have been implemented to resemble the linkgit:git-daemon[1] options as " +"closely as possible." msgstr "" #. type: Labeled list -#: en/git-grep.txt:132 +#: en/git-cvsserver.txt:34 #, no-wrap -msgid "--word-regexp" +msgid "--base-path <path>" msgstr "" #. type: Plain text -#: en/git-grep.txt:136 -msgid "" -"Match the pattern only at word boundary (either begin at the beginning of a " -"line, or preceded by a non-word character; end at the end of a line or " -"followed by a non-word character)." +#: en/git-cvsserver.txt:36 +msgid "Prepend 'path' to requested CVSROOT" msgstr "" #. type: Labeled list -#: en/git-grep.txt:138 +#: en/git-cvsserver.txt:37 en/git-daemon.txt:48 #, no-wrap -msgid "--invert-match" -msgstr "" - -#. type: Plain text -#: en/git-grep.txt:140 -msgid "Select non-matching lines." +msgid "--strict-paths" msgstr "" #. type: Plain text -#: en/git-grep.txt:148 -msgid "" -"By default, the command shows the filename for each match. `-h` option is " -"used to suppress this output. `-H` is there for completeness and does not " -"do anything except it overrides `-h` given earlier on the command line." +#: en/git-cvsserver.txt:39 +msgid "Don't allow recursing into subdirectories" msgstr "" #. type: Labeled list -#: en/git-grep.txt:149 en/git-ls-files.txt:136 en/git-ls-tree.txt:68 +#: en/git-cvsserver.txt:40 en/git-daemon.txt:77 #, no-wrap -msgid "--full-name" +msgid "--export-all" msgstr "" #. type: Plain text -#: en/git-grep.txt:154 en/git-ls-files.txt:141 +#: en/git-cvsserver.txt:43 msgid "" -"When run from a subdirectory, the command usually outputs paths relative to " -"the current directory. This option forces paths to be output relative to " -"the project top directory." +"Don't check for `gitcvs.enabled` in config. You also have to specify a list " +"of allowed directories (see below) if you want to use this option." msgstr "" #. type: Labeled list -#: en/git-grep.txt:155 en/rev-list-options.txt:84 +#: en/git-cvsserver.txt:44 #, no-wrap -msgid "-E" +msgid "-V" msgstr "" #. type: Labeled list -#: en/git-grep.txt:156 en/rev-list-options.txt:85 +#: en/git-cvsserver.txt:45 en/git.txt:534 #, no-wrap -msgid "--extended-regexp" +msgid "--version" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:157 -#, no-wrap -msgid "-G" +#. type: Plain text +#: en/git-cvsserver.txt:47 +msgid "Print version information and exit" msgstr "" #. type: Labeled list -#: en/git-grep.txt:158 en/rev-list-options.txt:80 +#: en/git-cvsserver.txt:50 en/git.txt:537 #, no-wrap -msgid "--basic-regexp" +msgid "--help" msgstr "" #. type: Plain text -#: en/git-grep.txt:161 +#: en/git-cvsserver.txt:52 +msgid "Print usage information and exit" +msgstr "" + +#. type: Plain text +#: en/git-cvsserver.txt:58 msgid "" -"Use POSIX extended/basic regexp for patterns. Default is to use basic " -"regexp." +"You can specify a list of allowed directories. If no directories are given, " +"all are allowed. This is an additional restriction, gitcvs access still " +"needs to be enabled by the `gitcvs.enabled` config option unless " +"`--export-all` was given, too." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:163 en/rev-list-options.txt:94 -#, no-wrap -msgid "--perl-regexp" +#. type: Plain text +#: en/git-cvsserver.txt:64 +msgid "This application is a CVS emulation layer for Git." msgstr "" #. type: Plain text -#: en/git-grep.txt:166 -msgid "Use Perl-compatible regexp for patterns. Requires libpcre to be compiled in." +#: en/git-cvsserver.txt:68 +msgid "" +"It is highly functional. However, not all methods are implemented, and for " +"those methods that are implemented, not all switches are implemented." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:167 en/git-repack.txt:69 en/rev-list-options.txt:89 -#, no-wrap -msgid "-F" +#. type: Plain text +#: en/git-cvsserver.txt:71 +msgid "" +"Testing has been done using both the CLI CVS client, and the Eclipse CVS " +"plugin. Most functionality works fine with both of these clients." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:168 en/rev-list-options.txt:90 +#. type: Title - +#: en/git-cvsserver.txt:73 #, no-wrap -msgid "--fixed-strings" +msgid "LIMITATIONS" msgstr "" #. type: Plain text -#: en/git-grep.txt:171 -msgid "Use fixed strings for patterns (don't interpret pattern as a regex)." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:173 -#, no-wrap -msgid "--line-number" +#: en/git-cvsserver.txt:76 +msgid "CVS clients cannot tag, branch or perform Git merges." msgstr "" #. type: Plain text -#: en/git-grep.txt:175 -msgid "Prefix the line number to matching lines." +#: en/git-cvsserver.txt:80 +msgid "" +"'git-cvsserver' maps Git branches to CVS modules. This is very different " +"from what most CVS users would expect since in CVS modules usually represent " +"one or more directories." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:177 +#. type: Title - +#: en/git-cvsserver.txt:82 #, no-wrap -msgid "--files-with-matches" +msgid "INSTALLATION" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:179 -#, no-wrap -msgid "-L" +#. type: Plain text +#: en/git-cvsserver.txt:86 +msgid "" +"If you are going to offer CVS access via pserver, add a line in " +"/etc/inetd.conf like" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:180 +#. type: delimited block - +#: en/git-cvsserver.txt:90 #, no-wrap -msgid "--files-without-match" +msgid " cvspserver stream tcp nowait nobody git-cvsserver pserver\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:185 +#: en/git-cvsserver.txt:96 msgid "" -"Instead of showing every matched line, show only the names of files that " -"contain (or do not contain) matches. For better compatibility with 'git " -"diff', `--name-only` is a synonym for `--files-with-matches`." +"Note: Some inetd servers let you specify the name of the executable " +"independently of the value of argv[0] (i.e. the name the program assumes it " +"was executed with). In this case the correct line in /etc/inetd.conf looks " +"like" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:186 +#. type: delimited block - +#: en/git-cvsserver.txt:99 #, no-wrap -msgid "-O[<pager>]" +msgid "" +" cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver " +"pserver\n" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:187 -#, no-wrap -msgid "--open-files-in-pager[=<pager>]" +#. type: Plain text +#: en/git-cvsserver.txt:106 +msgid "" +"Only anonymous access is provided by pserve by default. To commit you will " +"have to create pserver accounts, simply add a gitcvs.authdb setting in the " +"config file of the repositories you want the cvsserver to allow writes to, " +"for example:" msgstr "" -#. type: Plain text -#: en/git-grep.txt:195 +#. type: delimited block - +#: en/git-cvsserver.txt:111 +#, no-wrap msgid "" -"Open the matching files in the pager (not the output of 'grep'). If the " -"pager happens to be \"less\" or \"vi\", and the user specified only one " -"pattern, the first file is positioned at the first match automatically. The " -"`pager` argument is optional; if specified, it must be stuck to the option " -"without a space. If `pager` is unspecified, the default pager will be used " -"(see `core.pager` in linkgit:git-config[1])." +" [gitcvs]\n" +"\tauthdb = /etc/cvsserver/passwd\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:200 -msgid "Output \\0 instead of the character that normally follows a file name." +#: en/git-cvsserver.txt:115 +msgid "" +"The format of these files is username followed by the encrypted password, " +"for example:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:202 en/rev-list-options.txt:848 +#. type: delimited block - +#: en/git-cvsserver.txt:119 #, no-wrap -msgid "--count" -msgstr "" - -#. type: Plain text -#: en/git-grep.txt:205 -msgid "Instead of showing every matched line, show the number of lines that match." +msgid "" +" myuser:$1Oyx5r9mdGZ2\n" +" myuser:$1$BA)@$vbnMJMDym7tA32AamXrm./\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:209 +#: en/git-cvsserver.txt:123 msgid "" -"Show colored matches. The value must be always (the default), never, or " -"auto." +"You can use the 'htpasswd' facility that comes with Apache to make these " +"files, but Apache's MD5 crypt method differs from the one used by most C " +"library's crypt() function, so don't use the -m option." msgstr "" #. type: Plain text -#: en/git-grep.txt:214 -msgid "" -"Turn off match highlighting, even when the configuration file gives the " -"default to color output. Same as `--color=never`." +#: en/git-cvsserver.txt:125 +msgid "Alternatively you can produce the password with perl's crypt() operator:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:215 +#. type: delimited block - +#: en/git-cvsserver.txt:127 #, no-wrap -msgid "--break" +msgid "" +" perl -e 'my ($user, $pass) = @ARGV; printf \"%s:%s\\n\", $user, " +"crypt($user, $pass)' $USER password\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:217 -msgid "Print an empty line between matches from different files." +#: en/git-cvsserver.txt:130 +msgid "Then provide your password via the pserver method, for example:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:218 +#. type: delimited block - +#: en/git-cvsserver.txt:132 #, no-wrap -msgid "--heading" +msgid "" +" cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co " +"<HEAD_name>\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:221 +#: en/git-cvsserver.txt:136 msgid "" -"Show the filename above the matches in that file instead of at the start of " -"each shown line." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:223 -#, no-wrap -msgid "--show-function" +"No special setup is needed for SSH access, other than having Git tools in " +"the PATH. If you have clients that do not accept the CVS_SERVER environment " +"variable, you can rename 'git-cvsserver' to `cvs`." msgstr "" #. type: Plain text -#: en/git-grep.txt:229 +#: en/git-cvsserver.txt:139 msgid "" -"Show the preceding line that contains the function name of the match, unless " -"the matching line is a function name itself. The name is determined in the " -"same way as 'git diff' works out patch hunk headers (see 'Defining a custom " -"hunk-header' in linkgit:gitattributes[5])." +"Note: Newer CVS versions (>= 1.12.11) also support specifying CVS_SERVER " +"directly in CVSROOT like" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:230 +#. type: delimited block - +#: en/git-cvsserver.txt:142 #, no-wrap -msgid "-<num>" -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:231 -#, no-wrap -msgid "-C <num>" -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:232 -#, no-wrap -msgid "--context <num>" +msgid "" +"cvs -d \":ext;CVS_SERVER=git cvsserver:user@server/path/repo.git\" co " +"<HEAD_name>\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:235 +#: en/git-cvsserver.txt:148 msgid "" -"Show <num> leading and trailing lines, and place a line containing `--` " -"between contiguous groups of matches." +"This has the advantage that it will be saved in your 'CVS/Root' files and " +"you don't need to worry about always setting the correct environment " +"variable. SSH users restricted to 'git-shell' don't need to override the " +"default with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to " +"mean 'git-cvsserver' and pretends that the other end runs the real 'cvs' " +"better." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:236 -#, no-wrap -msgid "-A <num>" +#. type: Plain text +#: en/git-cvsserver.txt:151 +msgid "" +"For each repo that you want accessible from CVS you need to edit config in " +"the repo and add the following section." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:237 +#. type: delimited block - +#: en/git-cvsserver.txt:158 #, no-wrap -msgid "--after-context <num>" +msgid "" +" [gitcvs]\n" +" enabled=1\n" +" # optional for debugging\n" +"\tlogFile=/path/to/logfile\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:240 +#: en/git-cvsserver.txt:164 msgid "" -"Show <num> trailing lines, and place a line containing `--` between " -"contiguous groups of matches." -msgstr "" - -#. type: Labeled list -#: en/git-grep.txt:241 -#, no-wrap -msgid "-B <num>" +"Note: you need to ensure each user that is going to invoke 'git-cvsserver' " +"has write access to the log file and to the database (see " +"<<dbbackend,Database Backend>>. If you want to offer write access over SSH, " +"the users of course also need write access to the Git repository itself." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:242 -#, no-wrap -msgid "--before-context <num>" +#. type: Plain text +#: en/git-cvsserver.txt:167 +msgid "" +"You also need to ensure that each repository is \"bare\" (without a Git " +"index file) for `cvs commit` to work. See linkgit:gitcvs-migration[7]." msgstr "" #. type: Plain text -#: en/git-grep.txt:245 +#: en/git-cvsserver.txt:173 msgid "" -"Show <num> leading lines, and place a line containing `--` between " -"contiguous groups of matches." +"All configuration variables can also be overridden for a specific method of " +"access. Valid method names are \"ext\" (for SSH access) and \"pserver\". The " +"following example configuration would disable pserver access while still " +"allowing access over SSH." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:247 en/diff-options.txt:547 +#. type: delimited block - +#: en/git-cvsserver.txt:176 #, no-wrap -msgid "--function-context" -msgstr "" - -#. type: Plain text -#: en/git-grep.txt:252 msgid "" -"Show the surrounding text from the previous line containing a function name " -"up to the one before the next function name, effectively showing the whole " -"function in which the match was found." +" [gitcvs]\n" +" enabled=0\n" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:253 +#. type: delimited block - +#: en/git-cvsserver.txt:179 #, no-wrap -msgid "--threads <num>" +msgid "" +" [gitcvs \"ext\"]\n" +" enabled=1\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:256 +#: en/git-cvsserver.txt:186 msgid "" -"Number of grep worker threads to use. See `grep.threads` in 'CONFIGURATION' " -"for more information." +"If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout " +"command, automatically saving it in your 'CVS/Root' files, then you need to " +"set them explicitly in your environment. CVSROOT should be set as per " +"normal, but the directory should point at the appropriate Git repo. As " +"above, for SSH clients _not_ restricted to 'git-shell', CVS_SERVER should be " +"set to 'git-cvsserver'." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:257 +#. type: delimited block - +#: en/git-cvsserver.txt:191 #, no-wrap -msgid "-f <file>" +msgid "" +" export CVSROOT=:ext:user@server:/var/git/project.git\n" +" export CVS_SERVER=\"git cvsserver\"\n" msgstr "" #. type: Plain text -#: en/git-grep.txt:259 -msgid "Read patterns from <file>, one per line." +#: en/git-cvsserver.txt:198 +msgid "" +"For SSH clients that will make commits, make sure their server-side " +".ssh/environment files (or .bashrc, etc., according to their specific shell) " +"export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, " +"GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL. For SSH clients whose login " +"shell is bash, .bashrc may be a reasonable alternative." msgstr "" #. type: Plain text -#: en/git-grep.txt:265 +#: en/git-cvsserver.txt:204 msgid "" -"The next parameter is the pattern. This option has to be used for patterns " -"starting with `-` and should be used in scripts passing user input to grep. " -"Multiple patterns are combined by 'or'." +"Clients should now be able to check out the project. Use the CVS 'module' " +"name to indicate what Git 'head' you want to check out. This also sets the " +"name of your newly checked-out directory, unless you tell it otherwise with " +"`-d <dir_name>`. For example, this checks out 'master' branch to the " +"`project-master` directory:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:266 +#. type: delimited block - +#: en/git-cvsserver.txt:207 #, no-wrap -msgid "--and" +msgid " cvs co -d project-master master\n" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:267 +#. type: Title - +#: en/git-cvsserver.txt:211 #, no-wrap -msgid "--or" +msgid "Database Backend" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:268 en/git-rev-parse.txt:129 en/rev-list-options.txt:131 -#, no-wrap -msgid "--not" +#. type: Plain text +#: en/git-cvsserver.txt:217 +msgid "" +"'git-cvsserver' uses one database per Git head (i.e. CVS module) to store " +"information about the repository to maintain consistent CVS revision " +"numbers. The database needs to be updated (i.e. written to) after every " +"commit." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:269 -#, no-wrap -msgid "( ... )" +#. type: Plain text +#: en/git-cvsserver.txt:222 +msgid "" +"If the commit is done directly by using `git` (as opposed to using " +"'git-cvsserver') the update will need to happen on the next repository " +"access by 'git-cvsserver', independent of access method and requested " +"operation." msgstr "" #. type: Plain text -#: en/git-grep.txt:274 +#: en/git-cvsserver.txt:227 msgid "" -"Specify how multiple patterns are combined using Boolean expressions. " -"`--or` is the default operator. `--and` has higher precedence than `--or`. " -"`-e` has to be used for all patterns." +"That means that even if you offer only read access (e.g. by using the " +"pserver method), 'git-cvsserver' should have write access to the database to " +"work reliably (otherwise you need to make sure that the database is " +"up-to-date any time 'git-cvsserver' is executed)." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:275 en/rev-list-options.txt:67 -#, no-wrap -msgid "--all-match" +#. type: Plain text +#: en/git-cvsserver.txt:234 +msgid "" +"By default it uses SQLite databases in the Git directory, named " +"`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates " +"temporary files in the same directory as the database file on write so it " +"might not be enough to grant the users using 'git-cvsserver' write access to " +"the database file without granting them write access to the directory, too." msgstr "" #. type: Plain text -#: en/git-grep.txt:279 +#: en/git-cvsserver.txt:246 msgid "" -"When giving multiple pattern expressions combined with `--or`, this flag is " -"specified to limit the match to files that have lines to match all of them." +"The database can not be reliably regenerated in a consistent form after the " +"branch it is tracking has changed. Example: For merged branches, " +"'git-cvsserver' only tracks one branch of development, and after a 'git " +"merge' an incrementally updated database may track a different branch than a " +"database regenerated from scratch, causing inconsistent CVS revision " +"numbers. `git-cvsserver` has no way of knowing which branch it would have " +"picked if it had been run incrementally pre-merge. So if you have to fully " +"or partially (from old backup) regenerate the database, you should be " +"suspicious of pre-existing CVS sandboxes." msgstr "" #. type: Plain text -#: en/git-grep.txt:284 +#: en/git-cvsserver.txt:249 msgid "" -"Do not output matched lines; instead, exit with status 0 when there is a " -"match and with non-zero status when there isn't." +"You can configure the database backend with the following configuration " +"variables:" msgstr "" -#. type: Labeled list -#: en/git-grep.txt:285 +#. type: Title ~ +#: en/git-cvsserver.txt:251 #, no-wrap -msgid "<tree>..." +msgid "Configuring database backend" msgstr "" #. type: Plain text -#: en/git-grep.txt:288 +#: en/git-cvsserver.txt:256 msgid "" -"Instead of searching tracked files in the working tree, search blobs in the " -"given trees." +"'git-cvsserver' uses the Perl DBI module. Please also read its documentation " +"if changing these variables, especially about `DBI->connect()`." msgstr "" #. type: Plain text -#: en/git-grep.txt:292 +#: en/git-cvsserver.txt:263 msgid "" -"Signals the end of options; the rest of the parameters are <pathspec> " -"limiters." +"Database name. The exact meaning depends on the selected database driver, " +"for SQLite this is a filename. Supports variable substitution (see " +"below). May not contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" msgstr "" #. type: Plain text -#: en/git-grep.txt:296 +#: en/git-cvsserver.txt:272 msgid "" -"If given, limit the search to paths matching at least one pattern. Both " -"leading paths match and glob(7) patterns are supported." +"Used DBI driver. You can specify any available driver for this here, but it " +"might not work. cvsserver is tested with 'DBD::SQLite', reported to work " +"with 'DBD::Pg', and reported *not* to work with 'DBD::mysql'. Please regard " +"this as an experimental feature. May not contain colons (`:`). Default: " +"'SQLite'" msgstr "" #. type: Labeled list -#: en/git-grep.txt:300 +#: en/git-cvsserver.txt:273 #, no-wrap -msgid "`git grep 'time_t' -- '*.[ch]'`" +msgid "gitcvs.dbuser" msgstr "" #. type: Plain text -#: en/git-grep.txt:303 +#: en/git-cvsserver.txt:277 msgid "" -"Looks for `time_t` in all tracked .c and .h files in the working directory " -"and its subdirectories." +"Database user. Only useful if setting `dbDriver`, since SQLite has no " +"concept of database users. Supports variable substitution (see below)." msgstr "" #. type: Labeled list -#: en/git-grep.txt:304 +#: en/git-cvsserver.txt:278 #, no-wrap -msgid "`git grep -e '#define' --and \\( -e MAX_PATH -e PATH_MAX \\)`" +msgid "gitcvs.dbPass" msgstr "" #. type: Plain text -#: en/git-grep.txt:307 -msgid "Looks for a line that has `#define` and either `MAX_PATH` or `PATH_MAX`." +#: en/git-cvsserver.txt:281 +msgid "" +"Database password. Only useful if setting `dbDriver`, since SQLite has no " +"concept of database passwords." msgstr "" -#. type: Labeled list -#: en/git-grep.txt:308 -#, no-wrap -msgid "`git grep --all-match -e NODE -e Unexpected`" +#. type: Plain text +#: en/git-cvsserver.txt:286 +msgid "" +"Database table name prefix. Supports variable substitution (see below). " +"Any non-alphabetic characters will be replaced with underscores." msgstr "" #. type: Plain text -#: en/git-grep.txt:311 +#: en/git-cvsserver.txt:288 msgid "" -"Looks for a line that has `NODE` or `Unexpected` in files that have lines " -"that match both." +"All variables can also be set per access method, see " +"<<configaccessmethod,above>>." msgstr "" -#. type: Title = -#: en/git-gui.txt:2 +#. type: Title ^ +#: en/git-cvsserver.txt:290 #, no-wrap -msgid "git-gui(1)" +msgid "Variable substitution" msgstr "" #. type: Plain text -#: en/git-gui.txt:7 -msgid "git-gui - A portable graphical interface to Git" +#: en/git-cvsserver.txt:292 +msgid "In `dbDriver` and `dbUser` you can use the following variables:" msgstr "" #. type: Plain text -#: en/git-gui.txt:12 +#: en/git-cvsserver.txt:308 #, no-wrap -msgid "'git gui' [<command>] [arguments]\n" +msgid "" +"%G::\n" +"\tGit directory name\n" +"%g::\n" +"\tGit directory name, where all characters except for\n" +"\talpha-numeric ones, `.`, and `-` are replaced with\n" +"\t`_` (this should make it easier to use the directory\n" +"\tname in a filename if wanted)\n" +"%m::\n" +"\tCVS module/Git head name\n" +"%a::\n" +"\taccess method (one of \"ext\" or \"pserver\")\n" +"%u::\n" +"\tName of the user running 'git-cvsserver'.\n" +"\tIf no name can be determined, the\n" +"\tnumeric uid is used.\n" msgstr "" #. type: Plain text -#: en/git-gui.txt:19 +#: en/git-cvsserver.txt:314 msgid "" -"A Tcl/Tk based graphical user interface to Git. 'git gui' focuses on " -"allowing users to make changes to their repository by making new commits, " -"amending existing ones, creating branches, performing local merges, and " -"fetching/pushing to remote repositories." +"These variables obviate the need for command-line options in some " +"circumstances, allowing easier restricted usage through git-shell." msgstr "" #. type: Plain text -#: en/git-gui.txt:24 +#: en/git-cvsserver.txt:316 +msgid "GIT_CVSSERVER_BASE_PATH takes the place of the argument to --base-path." +msgstr "" + +#. type: Plain text +#: en/git-cvsserver.txt:320 msgid "" -"Unlike 'gitk', 'git gui' focuses on commit generation and single file " -"annotation and does not show project history. It does however supply menu " -"actions to start a 'gitk' session from within 'git gui'." +"GIT_CVSSERVER_ROOT specifies a single-directory whitelist. The repository " +"must still be configured to allow access through git-cvsserver, as described " +"above." msgstr "" #. type: Plain text -#: en/git-gui.txt:29 +#: en/git-cvsserver.txt:323 msgid "" -"'git gui' is known to work on all popular UNIX systems, Mac OS X, and " -"Windows (under both Cygwin and MSYS). To the extent possible OS specific " -"user interface guidelines are followed, making 'git gui' a fairly native " -"interface for users." +"When these environment variables are set, the corresponding command-line " +"arguments may not be used." msgstr "" #. type: Title - -#: en/git-gui.txt:31 en/git-p4.txt:63 en/git-remote.txt:42 en/git-rerere.txt:32 en/git-shell.txt:25 en/git-submodule.txt:60 en/git-svn.txt:29 en/git-worktree.txt:47 +#: en/git-cvsserver.txt:325 #, no-wrap -msgid "COMMANDS" +msgid "Eclipse CVS Client Notes" msgstr "" -#. type: Labeled list -#: en/git-gui.txt:32 -#, no-wrap -msgid "blame" +#. type: Plain text +#: en/git-cvsserver.txt:328 +msgid "To get a checkout with the Eclipse CVS client:" msgstr "" #. type: Plain text -#: en/git-gui.txt:35 +#: en/git-cvsserver.txt:330 +msgid "Select \"Create a new project -> From CVS checkout\"" +msgstr "" + +#. type: Plain text +#: en/git-cvsserver.txt:332 msgid "" -"Start a blame viewer on the specified file on the given version (or working " -"directory if not specified)." +"Create a new location. See the notes below for details on how to choose the " +"right protocol." msgstr "" -#. type: Labeled list -#: en/git-gui.txt:36 -#, no-wrap -msgid "browser" +#. type: Plain text +#: en/git-cvsserver.txt:335 +msgid "" +"Browse the 'modules' available. It will give you a list of the heads in the " +"repository. You will not be able to browse the tree from there. Only the " +"heads." msgstr "" #. type: Plain text -#: en/git-gui.txt:40 +#: en/git-cvsserver.txt:337 msgid "" -"Start a tree browser showing all files in the specified commit. Files " -"selected through the browser are opened in the blame viewer." +"Pick `HEAD` when it asks what branch/tag to check out. Untick the \"launch " +"commit wizard\" to avoid committing the .project file." msgstr "" -#. type: Labeled list -#: en/git-gui.txt:41 -#, no-wrap -msgid "citool" +#. type: Plain text +#: en/git-cvsserver.txt:343 +msgid "" +"Protocol notes: If you are using anonymous access via pserver, just select " +"that. Those using SSH access should choose the 'ext' protocol, and " +"configure 'ext' access on the Preferences->Team->CVS->ExtConnection " +"pane. Set CVS_SERVER to \"`git cvsserver`\". Note that password support is " +"not good when using 'ext', you will definitely want to have SSH keys setup." msgstr "" #. type: Plain text -#: en/git-gui.txt:46 +#: en/git-cvsserver.txt:348 msgid "" -"Start 'git gui' and arrange to make exactly one commit before exiting and " -"returning to the shell. The interface is limited to only commit actions, " -"slightly reducing the application's startup time and simplifying the " -"menubar." +"Alternatively, you can just use the non-standard extssh protocol that " +"Eclipse offer. In that case CVS_SERVER is ignored, and you will have to " +"replace the cvs utility on the server with 'git-cvsserver' or manipulate " +"your `.bashrc` so that calling 'cvs' effectively calls 'git-cvsserver'." msgstr "" -#. type: Labeled list -#: en/git-gui.txt:47 +#. type: Title - +#: en/git-cvsserver.txt:350 #, no-wrap -msgid "version" +msgid "Clients known to work" msgstr "" #. type: Plain text -#: en/git-gui.txt:49 -msgid "Display the currently running version of 'git gui'." -msgstr "" - -#. type: Labeled list -#: en/git-gui.txt:53 -#, no-wrap -msgid "`git gui blame Makefile`" +#: en/git-cvsserver.txt:353 +msgid "CVS 1.12.9 on Debian" msgstr "" #. type: Plain text -#: en/git-gui.txt:61 -msgid "" -"Show the contents of the file 'Makefile' in the current working directory, " -"and provide annotations for both the original author of each line, and who " -"moved the line to its current location. The uncommitted file is annotated, " -"and uncommitted changes (if any) are explicitly attributed to 'Not Yet " -"Committed'." +#: en/git-cvsserver.txt:354 +msgid "CVS 1.11.17 on MacOSX (from Fink package)" msgstr "" -#. type: Labeled list -#: en/git-gui.txt:62 -#, no-wrap -msgid "`git gui blame v0.99.8 Makefile`" +#. type: Plain text +#: en/git-cvsserver.txt:355 +msgid "Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)" msgstr "" #. type: Plain text -#: en/git-gui.txt:68 -msgid "" -"Show the contents of 'Makefile' in revision 'v0.99.8' and provide " -"annotations for each line. Unlike the above example the file is read from " -"the object database and not the working directory." +#: en/git-cvsserver.txt:356 +msgid "TortoiseCVS" msgstr "" -#. type: Labeled list -#: en/git-gui.txt:69 +#. type: Title - +#: en/git-cvsserver.txt:358 #, no-wrap -msgid "`git gui blame --line=100 Makefile`" +msgid "Operations supported" msgstr "" #. type: Plain text -#: en/git-gui.txt:73 +#: en/git-cvsserver.txt:362 msgid "" -"Loads annotations as described above and automatically scrolls the view to " -"center on line '100'." +"All the operations required for normal use are supported, including " +"checkout, diff, status, update, log, add, remove, commit." msgstr "" -#. type: Labeled list -#: en/git-gui.txt:74 -#, no-wrap -msgid "`git gui citool`" +#. type: Plain text +#: en/git-cvsserver.txt:371 +msgid "" +"Most CVS command arguments that read CVS tags or revision numbers (typically " +"-r) work, and also support any git refspec (tag, branch, commit ID, etc). " +"However, CVS revision numbers for non-default branches are not well " +"emulated, and cvs log does not show tags or branches at all. " +"(Non-main-branch CVS revision numbers superficially resemble CVS revision " +"numbers, but they actually encode a git commit ID directly, rather than " +"represent the number of revisions since the branch point.)" msgstr "" #. type: Plain text -#: en/git-gui.txt:79 +#: en/git-cvsserver.txt:385 msgid "" -"Make one commit and return to the shell when it is complete. This command " -"returns a non-zero exit code if the window was closed in any way other than " -"by making a commit." +"Note that there are two ways to checkout a particular branch. As described " +"elsewhere on this page, the \"module\" parameter of cvs checkout is " +"interpreted as a branch name, and it becomes the main branch. It remains " +"the main branch for a given sandbox even if you temporarily make another " +"branch sticky with cvs update -r. Alternatively, the -r argument can " +"indicate some other branch to actually checkout, even though the module is " +"still the \"main\" branch. Tradeoffs (as currently implemented): Each new " +"\"module\" creates a new database on disk with a history for the given " +"module, and after the database is created, operations against that main " +"branch are fast. Or alternatively, -r doesn't take any extra disk space, " +"but may be significantly slower for many operations, like cvs update." msgstr "" -#. type: Labeled list -#: en/git-gui.txt:80 -#, no-wrap -msgid "`git gui citool --amend`" +#. type: Plain text +#: en/git-cvsserver.txt:398 +msgid "" +"If you want to refer to a git refspec that has characters that are not " +"allowed by CVS, you have two options. First, it may just work to supply the " +"git refspec directly to the appropriate CVS -r argument; some CVS clients " +"don't seem to do much sanity checking of the argument. Second, if that " +"fails, you can use a special character escape mechanism that only uses " +"characters that are valid in CVS tags. A sequence of 4 or 5 characters of " +"the form (underscore (`\"_\"`), dash (`\"-\"`), one or two characters, and " +"dash (`\"-\"`)) can encode various characters based on the one or two " +"letters: `\"s\"` for slash (`\"/\"`), `\"p\"` for period (`\".\"`), `\"u\"` " +"for underscore (`\"_\"`), or two hexadecimal digits for any byte value at " +"all (typically an ASCII number, or perhaps a part of a UTF-8 encoded " +"character)." msgstr "" #. type: Plain text -#: en/git-gui.txt:84 -msgid "Automatically enter the 'Amend Last Commit' mode of the interface." +#: en/git-cvsserver.txt:401 +msgid "" +"Legacy monitoring operations are not supported (edit, watch and related). " +"Exports and tagging (tags and branches) are not supported at this stage." msgstr "" -#. type: Labeled list -#: en/git-gui.txt:85 +#. type: Title ~ +#: en/git-cvsserver.txt:403 #, no-wrap -msgid "`git gui citool --nocommit`" +msgid "CRLF Line Ending Conversions" msgstr "" #. type: Plain text -#: en/git-gui.txt:91 +#: en/git-cvsserver.txt:408 msgid "" -"Behave as normal citool, but instead of making a commit simply terminate " -"with a zero exit code. It still checks that the index does not contain any " -"unmerged entries, so you can use it as a GUI version of " -"linkgit:git-mergetool[1]" -msgstr "" - -#. type: Labeled list -#: en/git-gui.txt:92 -#, no-wrap -msgid "`git citool`" +"By default the server leaves the `-k` mode blank for all files, which causes " +"the CVS client to treat them as a text files, subject to end-of-line " +"conversion on some platforms." msgstr "" #. type: Plain text -#: en/git-gui.txt:95 -msgid "Same as `git gui citool` (above)." -msgstr "" - -#. type: Labeled list -#: en/git-gui.txt:96 -#, no-wrap -msgid "`git gui browser maint`" +#: en/git-cvsserver.txt:413 +msgid "" +"You can make the server use the end-of-line conversion attributes to set the " +"`-k` modes for files by setting the `gitcvs.usecrlfattr` config variable. " +"See linkgit:gitattributes[5] for more information about end-of-line " +"conversion." msgstr "" #. type: Plain text -#: en/git-gui.txt:101 +#: en/git-cvsserver.txt:422 msgid "" -"Show a browser for the tree of the 'maint' branch. Files selected in the " -"browser can be viewed with the internal blame viewer." -msgstr "" - -#. type: Labeled list -#: en/git-gui.txt:104 en/cmds-mainporcelain.txt:112 -#, no-wrap -msgid "linkgit:gitk[1]" +"Alternatively, if `gitcvs.usecrlfattr` config is not enabled or the " +"attributes do not allow automatic detection for a filename, then the server " +"uses the `gitcvs.allBinary` config for the default setting. If " +"`gitcvs.allBinary` is set, then file not otherwise specified will default to " +"'-kb' mode. Otherwise the `-k` mode is left blank. But if `gitcvs.allBinary` " +"is set to \"guess\", then the correct `-k` mode will be guessed based on the " +"contents of the file." msgstr "" #. type: Plain text -#: en/git-gui.txt:108 +#: en/git-cvsserver.txt:426 msgid "" -"The Git repository browser. Shows branches, commit history and file " -"differences. gitk is the utility started by 'git gui''s Repository " -"Visualize actions." +"For best consistency with 'cvs', it is probably best to override the " +"defaults by setting `gitcvs.usecrlfattr` to true, and `gitcvs.allBinary` to " +"\"guess\"." msgstr "" #. type: Title - -#: en/git-gui.txt:110 +#: en/git-cvsserver.txt:428 #, no-wrap -msgid "Other" +msgid "Dependencies" msgstr "" #. type: Plain text -#: en/git-gui.txt:114 -msgid "" -"'git gui' is actually maintained as an independent project, but stable " -"versions are distributed as part of the Git suite for the convenience of end " -"users." +#: en/git-cvsserver.txt:430 +msgid "'git-cvsserver' depends on DBD::SQLite." msgstr "" -#. type: Plain text -#: en/git-gui.txt:116 -msgid "A 'git gui' development repository can be obtained from:" +#. type: Title = +#: en/git-daemon.txt:2 +#, no-wrap +msgid "git-daemon(1)" msgstr "" #. type: Plain text -#: en/git-gui.txt:118 -#, no-wrap -msgid " git clone git://repo.or.cz/git-gui.git\n" +#: en/git-daemon.txt:7 +msgid "git-daemon - A really simple server for Git repositories" msgstr "" #. type: Plain text -#: en/git-gui.txt:122 +#: en/git-daemon.txt:24 #, no-wrap -msgid " git clone http://repo.or.cz/r/git-gui.git\n" +msgid "" +"'git daemon' [--verbose] [--syslog] [--export-all]\n" +"\t [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>]\n" +"\t [--strict-paths] [--base-path=<path>] [--base-path-relaxed]\n" +"\t [--user-path | --user-path=<path>]\n" +"\t [--interpolated-path=<pathtemplate>]\n" +"\t [--reuseaddr] [--detach] [--pid-file=<file>]\n" +"\t [--enable=<service>] [--disable=<service>]\n" +"\t [--allow-override=<service>] [--forbid-override=<service>]\n" +"\t [--access-hook=<path>] [--[no-]informative-errors]\n" +"\t [--inetd |\n" +"\t [--listen=<host_or_ipaddr>] [--port=<n>]\n" +"\t [--user=<user> [--group=<group>]]]\n" +"\t [<directory>...]\n" msgstr "" #. type: Plain text -#: en/git-gui.txt:124 -msgid "or browsed online at http://repo.or.cz/w/git-gui.git/[]." +#: en/git-daemon.txt:30 +msgid "" +"A really simple TCP Git daemon that normally listens on port " +"\"DEFAULT_GIT_PORT\" aka 9418. It waits for a connection asking for a " +"service, and will serve that service if it is enabled." msgstr "" -#. type: Title = -#: en/git-hash-object.txt:2 -#, no-wrap -msgid "git-hash-object(1)" +#. type: Plain text +#: en/git-daemon.txt:36 +msgid "" +"It verifies that the directory has the magic file \"git-daemon-export-ok\", " +"and it will refuse to export any Git directory that hasn't explicitly been " +"marked for export this way (unless the `--export-all` parameter is " +"specified). If you pass some directory paths as 'git daemon' arguments, you " +"can further restrict the offers to a whitelist comprising of those." msgstr "" #. type: Plain text -#: en/git-hash-object.txt:7 +#: en/git-daemon.txt:40 msgid "" -"git-hash-object - Compute object ID and optionally creates a blob from a " -"file" +"By default, only `upload-pack` service is enabled, which serves 'git " +"fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', " +"'git pull', and 'git clone'." msgstr "" #. type: Plain text -#: en/git-hash-object.txt:14 -#, no-wrap +#: en/git-daemon.txt:43 msgid "" -"'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin " -"[--literally]] [--] <file>...\n" -"'git hash-object' [-t <type>] [-w] --stdin-paths [--no-filters]\n" +"This is ideally suited for read-only updates, i.e., pulling from Git " +"repositories." msgstr "" #. type: Plain text -#: en/git-hash-object.txt:24 +#: en/git-daemon.txt:45 +msgid "An `upload-archive` also exists to serve 'git archive'." +msgstr "" + +#. type: Plain text +#: en/git-daemon.txt:53 msgid "" -"Computes the object ID value for an object with specified type with the " -"contents of the named file (which can be outside of the work tree), and " -"optionally writes the resulting object into the object database. Reports " -"its object ID to its standard output. This is used by 'git cvsimport' to " -"update the index without modifying files in the work tree. When <type> is " -"not specified, it defaults to \"blob\"." +"Match paths exactly (i.e. don't allow \"/foo/repo\" when the real path is " +"\"/foo/repo.git\" or \"/foo/repo/.git\") and don't do user-relative paths. " +"'git daemon' will refuse to start when this option is enabled and no " +"whitelist is specified." msgstr "" #. type: Labeled list -#: en/git-hash-object.txt:28 +#: en/git-daemon.txt:54 #, no-wrap -msgid "-t <type>" +msgid "--base-path=<path>" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:30 -msgid "Specify the type (default: \"blob\")." +#: en/git-daemon.txt:60 +msgid "" +"Remap all the path requests as relative to the given path. This is sort of " +"\"Git root\" - if you run 'git daemon' with '--base-path=/srv/git' on " +"example.com, then if you later try to pull 'git://example.com/hello.git', " +"'git daemon' will interpret the path as '/srv/git/hello.git'." msgstr "" -#. type: Plain text -#: en/git-hash-object.txt:33 -msgid "Actually write the object into the object database." +#. type: Labeled list +#: en/git-daemon.txt:61 +#, no-wrap +msgid "--base-path-relaxed" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:36 -msgid "Read the object from standard input instead of from a file." +#: en/git-daemon.txt:66 +msgid "" +"If --base-path is enabled and repo lookup fails, with this option 'git " +"daemon' will attempt to lookup without prefixing the base path. This is " +"useful for switching to --base-path usage, while still allowing the old " +"paths." msgstr "" #. type: Labeled list -#: en/git-hash-object.txt:37 +#: en/git-daemon.txt:67 #, no-wrap -msgid "--stdin-paths" +msgid "--interpolated-path=<pathtemplate>" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:40 +#: en/git-daemon.txt:76 msgid "" -"Read file names from the standard input, one per line, instead of from the " -"command-line." +"To support virtual hosting, an interpolated path template can be used to " +"dynamically construct alternate paths. The template supports %H for the " +"target hostname as supplied by the client but converted to all lowercase, " +"%CH for the canonical hostname, %IP for the server's IP address, %P for the " +"port number, and %D for the absolute path of the named repository. After " +"interpolation, the path is validated against the directory whitelist." msgstr "" #. type: Plain text -#: en/git-hash-object.txt:50 +#: en/git-daemon.txt:81 msgid "" -"Hash object as it were located at the given path. The location of file does " -"not directly influence on the hash value, but path is used to determine what " -"Git filters should be applied to the object before it can be placed to the " -"object database, and, as result of applying filters, the actual blob put " -"into the object database may differ from the given file. This option is " -"mainly useful for hashing temporary files located outside of the working " -"directory or files read from stdin." +"Allow pulling from all directories that look like Git repositories (have the " +"'objects' and 'refs' subdirectories), even if they do not have the " +"'git-daemon-export-ok' file." msgstr "" #. type: Labeled list -#: en/git-hash-object.txt:51 +#: en/git-daemon.txt:82 #, no-wrap -msgid "--no-filters" +msgid "--inetd" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:56 +#: en/git-daemon.txt:86 msgid "" -"Hash the contents as is, ignoring any input filter that would have been " -"chosen by the attributes mechanism, including the end-of-line conversion. If " -"the file is read from standard input then this is always implied, unless the " -"`--path` option is given." +"Have the server run as an inetd service. Implies --syslog. Incompatible " +"with --detach, --port, --listen, --user and --group options." msgstr "" #. type: Labeled list -#: en/git-hash-object.txt:57 +#: en/git-daemon.txt:87 #, no-wrap -msgid "--literally" +msgid "--listen=<host_or_ipaddr>" msgstr "" #. type: Plain text -#: en/git-hash-object.txt:62 +#: en/git-daemon.txt:94 msgid "" -"Allow `--stdin` to hash any garbage into a loose object which might not " -"otherwise pass standard object parsing or git-fsck checks. Useful for " -"stress-testing Git itself or reproducing characteristics of corrupt or bogus " -"objects encountered in the wild." +"Listen on a specific IP address or hostname. IP addresses can be either an " +"IPv4 address or an IPv6 address if supported. If IPv6 is not supported, " +"then --listen=hostname is also not supported and --listen must be given an " +"IPv4 address. Can be given more than once. Incompatible with `--inetd` " +"option." msgstr "" -#. type: Title = -#: en/git-help.txt:2 +#. type: Labeled list +#: en/git-daemon.txt:95 #, no-wrap -msgid "git-help(1)" +msgid "--port=<n>" msgstr "" #. type: Plain text -#: en/git-help.txt:7 -msgid "git-help - Display help information about Git" +#: en/git-daemon.txt:97 +msgid "Listen on an alternative port. Incompatible with `--inetd` option." msgstr "" -#. type: Plain text -#: en/git-help.txt:13 +#. type: Labeled list +#: en/git-daemon.txt:98 #, no-wrap -msgid "" -"'git help' [-a|--all] [-g|--guide]\n" -"\t [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]\n" +msgid "--init-timeout=<n>" msgstr "" #. type: Plain text -#: en/git-help.txt:20 +#: en/git-daemon.txt:102 msgid "" -"With no options and no COMMAND or GUIDE given, the synopsis of the 'git' " -"command and a list of the most commonly used Git commands are printed on the " -"standard output." +"Timeout (in seconds) between the moment the connection is established and " +"the client request is received (typically a rather low value, since that " +"should be basically immediate)." msgstr "" -#. type: Plain text -#: en/git-help.txt:23 -msgid "" -"If the option `--all` or `-a` is given, all available commands are printed " -"on the standard output." +#. type: Labeled list +#: en/git-daemon.txt:103 en/git-upload-pack.txt:31 +#, no-wrap +msgid "--timeout=<n>" msgstr "" #. type: Plain text -#: en/git-help.txt:26 +#: en/git-daemon.txt:107 msgid "" -"If the option `--guide` or `-g` is given, a list of the useful Git guides is " -"also printed on the standard output." +"Timeout (in seconds) for specific client sub-requests. This includes the " +"time it takes for the server to process the sub-request and the time spent " +"waiting for the next client's request." msgstr "" -#. type: Plain text -#: en/git-help.txt:31 -msgid "" -"If a command, or a guide, is given, a manual page for that command or guide " -"is brought up. The 'man' program is used by default for this purpose, but " -"this can be overridden by other options or configuration variables." +#. type: Labeled list +#: en/git-daemon.txt:108 +#, no-wrap +msgid "--max-connections=<n>" msgstr "" #. type: Plain text -#: en/git-help.txt:34 +#: en/git-daemon.txt:111 msgid "" -"Note that `git --help ...` is identical to `git help ...` because the former " -"is internally converted into the latter." -msgstr "" - -#. type: Plain text -#: en/git-help.txt:36 -msgid "To display the linkgit:git[1] man page, use `git help git`." +"Maximum number of concurrent clients, defaults to 32. Set it to zero for no " +"limit." msgstr "" -#. type: Plain text -#: en/git-help.txt:38 -msgid "This page can be displayed with 'git help help' or `git help --help`" +#. type: Labeled list +#: en/git-daemon.txt:112 +#, no-wrap +msgid "--syslog" msgstr "" #. type: Plain text -#: en/git-help.txt:45 +#: en/git-daemon.txt:115 msgid "" -"Prints all the available commands on the standard output. This option " -"overrides any given command or guide name." +"Log to syslog instead of stderr. Note that this option does not imply " +"--verbose, thus by default only error conditions will be logged." msgstr "" #. type: Labeled list -#: en/git-help.txt:47 +#: en/git-daemon.txt:116 #, no-wrap -msgid "--guides" -msgstr "" - -#. type: Plain text -#: en/git-help.txt:50 -msgid "" -"Prints a list of useful guides on the standard output. This option overrides " -"any given command or guide name." +msgid "--user-path" msgstr "" #. type: Labeled list -#: en/git-help.txt:52 +#: en/git-daemon.txt:117 #, no-wrap -msgid "--info" +msgid "--user-path=<path>" msgstr "" #. type: Plain text -#: en/git-help.txt:55 +#: en/git-daemon.txt:125 msgid "" -"Display manual page for the command in the 'info' format. The 'info' program " -"will be used for that purpose." +"Allow {tilde}user notation to be used in requests. When specified with no " +"parameter, requests to git://host/{tilde}alice/foo is taken as a request to " +"access 'foo' repository in the home directory of user `alice`. If " +"`--user-path=path` is specified, the same request is taken as a request to " +"access `path/foo` repository in the home directory of user `alice`." +msgstr "" + +#. type: Plain text +#: en/git-daemon.txt:128 +msgid "Log details about the incoming connections and requested files." msgstr "" #. type: Labeled list -#: en/git-help.txt:57 +#: en/git-daemon.txt:129 #, no-wrap -msgid "--man" +msgid "--reuseaddr" msgstr "" #. type: Plain text -#: en/git-help.txt:61 +#: en/git-daemon.txt:133 msgid "" -"Display manual page for the command in the 'man' format. This option may be " -"used to override a value set in the `help.format` configuration variable." +"Use SO_REUSEADDR when binding the listening socket. This allows the server " +"to restart without waiting for old connections to time out." msgstr "" #. type: Plain text -#: en/git-help.txt:65 -msgid "" -"By default the 'man' program will be used to display the manual page, but " -"the `man.viewer` configuration variable may be used to choose other display " -"programs (see below)." +#: en/git-daemon.txt:136 +msgid "Detach from the shell. Implies --syslog." msgstr "" #. type: Labeled list -#: en/git-help.txt:67 +#: en/git-daemon.txt:137 #, no-wrap -msgid "--web" -msgstr "" - -#. type: Plain text -#: en/git-help.txt:70 -msgid "" -"Display manual page for the command in the 'web' (HTML) format. A web " -"browser will be used for that purpose." +msgid "--pid-file=<file>" msgstr "" #. type: Plain text -#: en/git-help.txt:76 +#: en/git-daemon.txt:140 msgid "" -"The web browser can be specified using the configuration variable " -"`help.browser`, or `web.browser` if the former is not set. If none of these " -"config variables is set, the 'git web{litdd}browse' helper script (called by " -"'git help') will pick a suitable default. See " -"linkgit:git-web{litdd}browse[1] for more information about this." +"Save the process id in 'file'. Ignored when the daemon is run under " +"`--inetd`." msgstr "" -#. type: Title - -#: en/git-help.txt:78 en/git-interpret-trailers.txt:84 en/git-p4.txt:450 en/git-web--browse.txt:59 +#. type: Labeled list +#: en/git-daemon.txt:141 #, no-wrap -msgid "CONFIGURATION VARIABLES" +msgid "--user=<user>" msgstr "" #. type: Labeled list -#: en/git-help.txt:81 en/config.txt:1765 +#: en/git-daemon.txt:142 #, no-wrap -msgid "help.format" +msgid "--group=<group>" msgstr "" #. type: Plain text -#: en/git-help.txt:87 +#: en/git-daemon.txt:148 msgid "" -"If no command-line option is passed, the `help.format` configuration " -"variable will be checked. The following values are supported for this " -"variable; they make 'git help' behave as their corresponding command- line " -"option:" +"Change daemon's uid and gid before entering the service loop. When only " +"`--user` is given without `--group`, the primary group ID for the user is " +"used. The values of the option are given to `getpwnam(3)` and `getgrnam(3)` " +"and numeric IDs are not supported." msgstr "" #. type: Plain text -#: en/git-help.txt:89 -msgid "\"man\" corresponds to '-m|--man'," +#: en/git-daemon.txt:152 +msgid "" +"Giving these options is an error when used with `--inetd`; use the facility " +"of inet daemon to achieve the same before spawning 'git daemon' if needed." msgstr "" #. type: Plain text -#: en/git-help.txt:90 -msgid "\"info\" corresponds to '-i|--info'," +#: en/git-daemon.txt:159 +msgid "" +"Like many programs that switch user id, the daemon does not reset " +"environment variables such as `$HOME` when it runs git programs, " +"e.g. `upload-pack` and `receive-pack`. When using this option, you may also " +"want to set and export `HOME` to point at the home directory of `<user>` " +"before starting the daemon, and make sure any Git configuration files in " +"that directory are readable by `<user>`." msgstr "" -#. type: Plain text -#: en/git-help.txt:91 -msgid "\"web\" or \"html\" correspond to '-w|--web'." +#. type: Labeled list +#: en/git-daemon.txt:160 +#, no-wrap +msgid "--enable=<service>" msgstr "" -#. type: Title ~ -#: en/git-help.txt:93 +#. type: Labeled list +#: en/git-daemon.txt:161 #, no-wrap -msgid "help.browser, web.browser and browser.<tool>.path" +msgid "--disable=<service>" msgstr "" #. type: Plain text -#: en/git-help.txt:99 +#: en/git-daemon.txt:167 msgid "" -"The `help.browser`, `web.browser` and `browser.<tool>.path` will also be " -"checked if the 'web' format is chosen (either by command-line option or " -"configuration variable). See '-w|--web' in the OPTIONS section above and " -"linkgit:git-web{litdd}browse[1]." +"Enable/disable the service site-wide per default. Note that a service " +"disabled site-wide can still be enabled per repository if it is marked " +"overridable and the repository enables the service with a configuration " +"item." +msgstr "" + +#. type: Labeled list +#: en/git-daemon.txt:168 +#, no-wrap +msgid "--allow-override=<service>" msgstr "" #. type: Labeled list -#: en/git-help.txt:101 en/config.txt:2170 +#: en/git-daemon.txt:169 #, no-wrap -msgid "man.viewer" +msgid "--forbid-override=<service>" msgstr "" #. type: Plain text -#: en/git-help.txt:105 +#: en/git-daemon.txt:173 msgid "" -"The `man.viewer` configuration variable will be checked if the 'man' format " -"is chosen. The following values are currently supported:" +"Allow/forbid overriding the site-wide default with per repository " +"configuration. By default, all the services may be overridden." msgstr "" -#. type: Plain text -#: en/git-help.txt:107 -msgid "\"man\": use the 'man' program as usual," +#. type: Labeled list +#: en/git-daemon.txt:174 +#, no-wrap +msgid "--[no-]informative-errors" msgstr "" #. type: Plain text -#: en/git-help.txt:109 +#: en/git-daemon.txt:182 msgid "" -"\"woman\": use 'emacsclient' to launch the \"woman\" mode in emacs (this " -"only works starting with emacsclient versions 22)," +"When informative errors are turned on, git-daemon will report more verbose " +"errors to the client, differentiating conditions like \"no such repository\" " +"from \"repository not exported\". This is more convenient for clients, but " +"may leak information about the existence of unexported repositories. When " +"informative errors are not enabled, all errors report \"access denied\" to " +"the client. The default is --no-informative-errors." msgstr "" -#. type: Plain text -#: en/git-help.txt:111 -msgid "" -"\"konqueror\": use 'kfmclient' to open the man page in a new konqueror tab " -"(see 'Note about konqueror' below)." +#. type: Labeled list +#: en/git-daemon.txt:183 +#, no-wrap +msgid "--access-hook=<path>" msgstr "" #. type: Plain text -#: en/git-help.txt:114 +#: en/git-daemon.txt:193 msgid "" -"Values for other tools can be used if there is a corresponding " -"`man.<tool>.cmd` configuration entry (see below)." +"Every time a client connects, first run an external command specified by the " +"<path> with service name (e.g. \"upload-pack\"), path to the repository, " +"hostname (%H), canonical hostname (%CH), IP address (%IP), and TCP port (%P) " +"as its command-line arguments. The external command can decide to decline " +"the service by exiting with a non-zero status (or to allow it by exiting " +"with a zero status). It can also look at the $REMOTE_ADDR and " +"`$REMOTE_PORT` environment variables to learn about the requestor when " +"making this decision." msgstr "" #. type: Plain text -#: en/git-help.txt:118 +#: en/git-daemon.txt:197 msgid "" -"Multiple values may be given to the `man.viewer` configuration " -"variable. Their corresponding programs will be tried in the order listed in " -"the configuration file." +"The external command can optionally write a single line to its standard " +"output to be sent to the requestor as an error message when it declines the " +"service." msgstr "" #. type: Plain text -#: en/git-help.txt:120 -msgid "For example, this configuration:" +#: en/git-daemon.txt:202 +msgid "" +"A directory to add to the whitelist of allowed directories. Unless " +"--strict-paths is specified this will also include subdirectories of each " +"named directory." msgstr "" -#. type: delimited block - -#: en/git-help.txt:125 +#. type: Title - +#: en/git-daemon.txt:204 en/git-http-backend.txt:33 #, no-wrap -msgid "" -"\t[man]\n" -"\t\tviewer = konqueror\n" -"\t\tviewer = woman\n" +msgid "SERVICES" msgstr "" #. type: Plain text -#: en/git-help.txt:129 +#: en/git-daemon.txt:212 msgid "" -"will try to use konqueror first. But this may fail (for example, if DISPLAY " -"is not set) and in that case emacs' woman mode will be tried." +"These services can be globally enabled/disabled using the command-line " +"options of this command. If finer-grained control is desired (e.g. to allow " +"'git archive' to be run against only in a few selected repositories the " +"daemon serves), the per-repository configuration file can be used to enable " +"or disable them." +msgstr "" + +#. type: Labeled list +#: en/git-daemon.txt:213 +#, no-wrap +msgid "upload-pack" msgstr "" #. type: Plain text -#: en/git-help.txt:133 +#: en/git-daemon.txt:218 msgid "" -"If everything fails, or if no viewer is configured, the viewer specified in " -"the `GIT_MAN_VIEWER` environment variable will be tried. If that fails too, " -"the 'man' program will be tried anyway." +"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " +"default, but a repository can disable it by setting `daemon.uploadpack` " +"configuration item to `false`." msgstr "" #. type: Labeled list -#: en/git-help.txt:135 en/config.txt:2179 +#: en/git-daemon.txt:219 #, no-wrap -msgid "man.<tool>.path" +msgid "upload-archive" msgstr "" #. type: Plain text -#: en/git-help.txt:142 +#: en/git-daemon.txt:223 msgid "" -"You can explicitly provide a full path to your preferred man viewer by " -"setting the configuration variable `man.<tool>.path`. For example, you can " -"configure the absolute path to konqueror by setting " -"'man.konqueror.path'. Otherwise, 'git help' assumes the tool is available in " -"PATH." +"This serves 'git archive --remote'. It is disabled by default, but a " +"repository can enable it by setting `daemon.uploadarch` configuration item " +"to `true`." msgstr "" #. type: Labeled list -#: en/git-help.txt:144 en/config.txt:2174 +#: en/git-daemon.txt:224 #, no-wrap -msgid "man.<tool>.cmd" +msgid "receive-pack" msgstr "" #. type: Plain text -#: en/git-help.txt:152 +#: en/git-daemon.txt:233 msgid "" -"When the man viewer, specified by the `man.viewer` configuration variables, " -"is not among the supported ones, then the corresponding `man.<tool>.cmd` " -"configuration variable will be looked up. If this variable exists then the " -"specified tool will be treated as a custom command and a shell eval will be " -"used to run the command with the man page passed as arguments." +"This serves 'git send-pack' clients, allowing anonymous push. It is " +"disabled by default, as there is _no_ authentication in the protocol (in " +"other words, anybody can push anything into the repository, including " +"removal of refs). This is solely meant for a closed LAN setting where " +"everybody is friendly. This service can be enabled by setting " +"`daemon.receivepack` configuration item to `true`." msgstr "" -#. type: Title - -#: en/git-help.txt:154 en/git-web--browse.txt:88 +#. type: Labeled list +#: en/git-daemon.txt:236 #, no-wrap -msgid "Note about konqueror" +msgid "We assume the following in /etc/services" msgstr "" -#. type: Plain text -#: en/git-help.txt:159 +#. type: delimited block - +#: en/git-daemon.txt:241 +#, no-wrap msgid "" -"When 'konqueror' is specified in the `man.viewer` configuration variable, we " -"launch 'kfmclient' to try to open the man page on an already opened " -"konqueror in a new tab if possible." +"$ grep 9418 /etc/services\n" +"git\t\t9418/tcp\t\t# Git Version Control System\n" msgstr "" -#. type: Plain text -#: en/git-help.txt:163 -msgid "" -"For consistency, we also try such a trick if 'man.konqueror.path' is set to " -"something like 'A_PATH_TO/konqueror'. That means we will try to launch " -"'A_PATH_TO/kfmclient' instead." +#. type: Labeled list +#: en/git-daemon.txt:243 +#, no-wrap +msgid "'git daemon' as inetd server" msgstr "" #. type: Plain text -#: en/git-help.txt:166 en/git-web--browse.txt:100 +#: en/git-daemon.txt:248 msgid "" -"If you really want to use 'konqueror', then you can use something like the " -"following:" +"To set up 'git daemon' as an inetd service that handles any repository under " +"the whitelisted set of directories, /pub/foo and /pub/bar, place an entry " +"like the following into /etc/inetd all on one line:" msgstr "" #. type: delimited block - -#: en/git-help.txt:170 +#: en/git-daemon.txt:253 #, no-wrap msgid "" -"\t[man]\n" -"\t\tviewer = konq\n" +"\tgit stream tcp nowait nobody /usr/bin/git\n" +"\t\tgit daemon --inetd --verbose --export-all\n" +"\t\t/pub/foo /pub/bar\n" +msgstr "" + +#. type: Labeled list +#: en/git-daemon.txt:256 +#, no-wrap +msgid "'git daemon' as inetd server for virtual hosts" +msgstr "" + +#. type: Plain text +#: en/git-daemon.txt:261 +msgid "" +"To set up 'git daemon' as an inetd service that handles repositories for " +"different virtual hosts, `www.example.com` and `www.example.org`, place an " +"entry like the following into `/etc/inetd` all on one line:" msgstr "" #. type: delimited block - -#: en/git-help.txt:173 +#: en/git-daemon.txt:269 #, no-wrap msgid "" -"\t[man \"konq\"]\n" -"\t\tcmd = A_PATH_TO/konqueror\n" +"\tgit stream tcp nowait nobody /usr/bin/git\n" +"\t\tgit daemon --inetd --verbose --export-all\n" +"\t\t--interpolated-path=/pub/%H%D\n" +"\t\t/pub/www.example.org/software\n" +"\t\t/pub/www.example.com/software\n" +"\t\t/software\n" msgstr "" -#. type: Title ~ -#: en/git-help.txt:176 +#. type: Plain text +#: en/git-daemon.txt:277 +msgid "" +"In this example, the root-level directory `/pub` will contain a subdirectory " +"for each virtual host name supported. Further, both hosts advertise " +"repositories simply as `git://www.example.com/software/repo.git`. For " +"pre-1.4.0 clients, a symlink from `/software` into the appropriate default " +"repository could be made as well." +msgstr "" + +#. type: Labeled list +#: en/git-daemon.txt:279 #, no-wrap -msgid "Note about git config --global" +msgid "'git daemon' as regular daemon for virtual hosts" msgstr "" #. type: Plain text -#: en/git-help.txt:180 +#: en/git-daemon.txt:283 msgid "" -"Note that all these configuration variables should probably be set using the " -"`--global` flag, for example like this:" +"To set up 'git daemon' as a regular, non-inetd service that handles " +"repositories for multiple virtual hosts based on their IP addresses, start " +"the daemon like this:" msgstr "" #. type: delimited block - -#: en/git-help.txt:184 +#: en/git-daemon.txt:289 #, no-wrap msgid "" -"$ git config --global help.format web\n" -"$ git config --global web.browser firefox\n" +"\tgit daemon --verbose --export-all\n" +"\t\t--interpolated-path=/pub/%IP/%D\n" +"\t\t/pub/192.168.1.200/software\n" +"\t\t/pub/10.10.220.23/software\n" msgstr "" #. type: Plain text -#: en/git-help.txt:188 en/git-web--browse.txt:121 +#: en/git-daemon.txt:295 msgid "" -"as they are probably more user specific than repository specific. See " -"linkgit:git-config[1] for more information about this." +"In this example, the root-level directory `/pub` will contain a subdirectory " +"for each virtual host IP address supported. Repositories can still be " +"accessed by hostname though, assuming they correspond to these IP addresses." msgstr "" -#. type: Title = -#: en/git-http-backend.txt:2 +#. type: Labeled list +#: en/git-daemon.txt:296 #, no-wrap -msgid "git-http-backend(1)" +msgid "selectively enable/disable services per repository" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:7 -msgid "git-http-backend - Server side implementation of Git over HTTP" +#: en/git-daemon.txt:301 +msgid "" +"To enable 'git archive --remote' and disable 'git fetch' against a " +"repository, have the following in the configuration file in the repository " +"(that is the file 'config' next to `HEAD`, 'refs' and 'objects')." msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:12 +#. type: delimited block - +#: en/git-daemon.txt:306 #, no-wrap -msgid "'git http-backend'\n" +msgid "" +"\t[daemon]\n" +"\t\tuploadpack = false\n" +"\t\tuploadarch = true\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:20 +#: en/git-daemon.txt:315 msgid "" -"A simple CGI program to serve the contents of a Git repository to Git " -"clients accessing the repository over http:// and https:// protocols. The " -"program supports clients fetching using both the smart HTTP protocol and the " -"backwards-compatible dumb HTTP protocol, as well as clients pushing using " -"the smart HTTP protocol." +"'git daemon' will set REMOTE_ADDR to the IP address of the client that " +"connected to it, if the IP address is available. REMOTE_ADDR will be " +"available in the environment of hooks called when services are performed." +msgstr "" + +#. type: Title = +#: en/git-describe.txt:2 +#, no-wrap +msgid "git-describe(1)" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:25 +#: en/git-describe.txt:7 +msgid "git-describe - Describe a commit using the most recent tag reachable from it" +msgstr "" + +#. type: Plain text +#: en/git-describe.txt:14 +#, no-wrap msgid "" -"It verifies that the directory has the magic file \"git-daemon-export-ok\", " -"and it will refuse to export any Git directory that hasn't explicitly been " -"marked for export this way (unless the `GIT_HTTP_EXPORT_ALL` environmental " -"variable is set)." +"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] " +"[<commit-ish>...]\n" +"'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] " +"--dirty[=<mark>]\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:31 +#: en/git-describe.txt:22 msgid "" -"By default, only the `upload-pack` service is enabled, which serves 'git " -"fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', " -"'git pull', and 'git clone'. If the client is authenticated, the " -"`receive-pack` service is enabled, which serves 'git send-pack' clients, " -"which is invoked from 'git push'." +"The command finds the most recent tag that is reachable from a commit. If " +"the tag points to the commit, then only the tag is shown. Otherwise, it " +"suffixes the tag name with the number of additional commits on top of the " +"tagged object and the abbreviated object name of the most recent commit." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:36 +#: en/git-describe.txt:26 msgid "" -"These services can be enabled/disabled using the per-repository " -"configuration file:" +"By default (without --all or --tags) `git describe` only shows annotated " +"tags. For more information about creating annotated tags see the -a and -s " +"options to linkgit:git-tag[1]." msgstr "" #. type: Labeled list -#: en/git-http-backend.txt:37 +#: en/git-describe.txt:29 #, no-wrap -msgid "http.getanyfile" +msgid "<commit-ish>..." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:44 -msgid "" -"This serves Git clients older than version 1.6.6 that are unable to use the " -"upload pack service. When enabled, clients are able to read any file within " -"the repository, including objects that are no longer reachable from a branch " -"but are still present. It is enabled by default, but a repository can " -"disable it by setting this configuration item to `false`." +#: en/git-describe.txt:31 +msgid "Commit-ish object names to describe. Defaults to HEAD if omitted." msgstr "" #. type: Labeled list -#: en/git-http-backend.txt:45 +#: en/git-describe.txt:32 #, no-wrap -msgid "http.uploadpack" +msgid "--dirty[=<mark>]" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:49 +#: en/git-describe.txt:36 msgid "" -"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " -"default, but a repository can disable it by setting this configuration item " -"to `false`." +"Describe the working tree. It means describe HEAD and appends <mark> " +"(`-dirty` by default) if the working tree is dirty." msgstr "" -#. type: Labeled list -#: en/git-http-backend.txt:50 -#, no-wrap -msgid "http.receivepack" +#. type: Plain text +#: en/git-describe.txt:41 +msgid "" +"Instead of using only the annotated tags, use any ref found in `refs/` " +"namespace. This option enables matching any known branch, remote-tracking " +"branch, or lightweight tag." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:56 +#: en/git-describe.txt:46 msgid "" -"This serves 'git send-pack' clients, allowing push. It is disabled by " -"default for anonymous users, and enabled by default for users authenticated " -"by the web server. It can be disabled by setting this item to `false`, or " -"enabled for all users, including anonymous users, by setting it to `true`." +"Instead of using only the annotated tags, use any tag found in `refs/tags` " +"namespace. This option enables matching a lightweight (non-annotated) tag." msgstr "" -#. type: Title - -#: en/git-http-backend.txt:58 +#. type: Labeled list +#: en/git-describe.txt:47 #, no-wrap -msgid "URL TRANSLATION" +msgid "--contains" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:65 +#: en/git-describe.txt:51 msgid "" -"To determine the location of the repository on disk, 'git http-backend' " -"concatenates the environment variables PATH_INFO, which is set automatically " -"by the web server, and GIT_PROJECT_ROOT, which must be set manually in the " -"web server configuration. If GIT_PROJECT_ROOT is not set, 'git " -"http-backend' reads PATH_TRANSLATED, which is also set automatically by the " -"web server." +"Instead of finding the tag that predates the commit, find the tag that comes " +"after the commit, and thus contains it. Automatically implies --tags." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:70 +#: en/git-describe.txt:57 msgid "" -"All of the following examples map `http://$hostname/git/foo/bar.git` to " -"`/var/www/git/foo/bar.git`." +"Instead of using the default 7 hexadecimal digits as the abbreviated object " +"name, use <n> digits, or as many digits as needed to form a unique object " +"name. An <n> of 0 will suppress long format, only showing the closest tag." msgstr "" #. type: Labeled list -#: en/git-http-backend.txt:71 +#: en/git-describe.txt:58 #, no-wrap -msgid "Apache 2.x" +msgid "--candidates=<n>" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:75 +#: en/git-describe.txt:64 msgid "" -"Ensure mod_cgi, mod_alias, and mod_env are enabled, set GIT_PROJECT_ROOT (or " -"DocumentRoot) appropriately, and create a ScriptAlias to the CGI:" +"Instead of considering only the 10 most recent tags as candidates to " +"describe the input commit-ish consider up to <n> candidates. Increasing <n> " +"above 10 will take slightly longer but may produce a more accurate result. " +"An <n> of 0 will cause only exact matches to be output." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:80 +#. type: Labeled list +#: en/git-describe.txt:65 #, no-wrap -msgid "" -"SetEnv GIT_PROJECT_ROOT /var/www/git\n" -"SetEnv GIT_HTTP_EXPORT_ALL\n" -"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" +msgid "--exact-match" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:86 +#: en/git-describe.txt:68 msgid "" -"To enable anonymous read access but authenticated write access, require " -"authorization for both the initial ref advertisement (which we detect as a " -"push via the service parameter in the query string), and the receive-pack " -"invocation itself:" +"Only output exact matches (a tag directly references the supplied commit). " +"This is a synonym for --candidates=0." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:91 +#. type: Labeled list +#: en/git-describe.txt:69 en/git-ls-files.txt:151 #, no-wrap +msgid "--debug" +msgstr "" + +#. type: Plain text +#: en/git-describe.txt:73 msgid "" -"RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]\n" -"RewriteCond %{REQUEST_URI} /git-receive-pack$\n" -"RewriteRule ^/git/ - [E=AUTHREQUIRED:yes]\n" +"Verbosely display information about the searching strategy being employed to " +"standard error. The tag name will still be printed to standard out." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:95 -#, no-wrap +#. type: Plain text +#: en/git-describe.txt:82 msgid "" -"<LocationMatch \"^/git/\">\n" -"\tOrder Deny,Allow\n" -"\tDeny from env=AUTHREQUIRED\n" +"Always output the long format (the tag, the number of commits and the " +"abbreviated commit name) even when it matches a tag. This is useful when " +"you want to see parts of the commit object name in \"describe\" output, even " +"when the commit in question happens to be a tagged version. Instead of just " +"emitting the tag name, it will describe such a commit as v1.2-0-gdeadbee " +"(0th commit since tag v1.2 that points at object deadbee....)." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:102 +#. type: Labeled list +#: en/git-describe.txt:83 #, no-wrap -msgid "" -"\tAuthType Basic\n" -"\tAuthName \"Git Access\"\n" -"\tRequire group committers\n" -"\tSatisfy Any\n" -"\t...\n" -"</LocationMatch>\n" +msgid "--match <pattern>" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:107 +#: en/git-describe.txt:90 msgid "" -"If you do not have `mod_rewrite` available to match against the query " -"string, it is sufficient to just protect `git-receive-pack` itself, like:" +"Only consider tags matching the given `glob(7)` pattern, excluding the " +"\"refs/tags/\" prefix. This can be used to avoid leaking private tags from " +"the repository. If given multiple times, a list of patterns will be " +"accumulated, and tags matching any of the patterns will be considered. Use " +"`--no-match` to clear and reset the list of patterns." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:115 +#. type: Labeled list +#: en/git-describe.txt:91 #, no-wrap -msgid "" -"<LocationMatch \"^/git/.*/git-receive-pack$\">\n" -"\tAuthType Basic\n" -"\tAuthName \"Git Access\"\n" -"\tRequire group committers\n" -"\t...\n" -"</LocationMatch>\n" +msgid "--exclude <pattern>" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:125 +#: en/git-describe.txt:100 msgid "" -"In this mode, the server will not request authentication until the client " -"actually starts the object negotiation phase of the push, rather than during " -"the initial contact. For this reason, you must also enable the " -"`http.receivepack` config option in any repositories that should accept a " -"push. The default behavior, if `http.receivepack` is not set, is to reject " -"any pushes by unauthenticated users; the initial request will therefore " -"report `403 Forbidden` to the client, without even giving an opportunity for " -"authentication." +"Do not consider tags matching the given `glob(7)` pattern, excluding the " +"\"refs/tags/\" prefix. This can be used to narrow the tag space and find " +"only tags matching some meaningful criteria. If given multiple times, a list " +"of patterns will be accumulated and tags matching any of the patterns will " +"be excluded. When combined with --match a tag will be considered when it " +"matches at least one --match pattern and does not match any of the --exclude " +"patterns. Use `--no-exclude` to clear and reset the list of patterns." +msgstr "" + +#. type: Labeled list +#: en/git-describe.txt:101 en/git-diff-tree.txt:111 en/git-name-rev.txt:61 +#, no-wrap +msgid "--always" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:128 -msgid "" -"To require authentication for both reads and writes, use a Location " -"directive around the repository, or one of its parent directories:" +#: en/git-describe.txt:103 en/git-name-rev.txt:63 +msgid "Show uniquely abbreviated commit object as fallback." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:136 +#. type: Labeled list +#: en/git-describe.txt:104 en/rev-list-options.txt:121 #, no-wrap -msgid "" -"<Location /git/private>\n" -"\tAuthType Basic\n" -"\tAuthName \"Private Git Access\"\n" -"\tRequire group committers\n" -"\t...\n" -"</Location>\n" +msgid "--first-parent" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:141 +#: en/git-describe.txt:108 msgid "" -"To serve gitweb at the same url, use a ScriptAliasMatch to only those URLs " -"that 'git http-backend' can handle, and forward the rest to gitweb:" +"Follow only the first parent commit upon seeing a merge commit. This is " +"useful when you wish to not match tags on branches merged in the history of " +"the target commit." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:151 -#, no-wrap -msgid "" -"ScriptAliasMatch \\\n" -"\t\"(?x)^/git/(.*/(HEAD | \\\n" -"\t\t\tinfo/refs | \\\n" -"\t\t\tobjects/(info/[^/]+ | \\\n" -"\t\t\t\t [0-9a-f]{2}/[0-9a-f]{38} | \\\n" -"\t\t\t\t pack/pack-[0-9a-f]{40}\\.(pack|idx)) | \\\n" -"\t\t\tgit-(upload|receive)-pack))$\" \\\n" -"\t/usr/libexec/git-core/git-http-backend/$1\n" +#. type: Plain text +#: en/git-describe.txt:113 +msgid "With something like git.git current tree, I get:" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:153 +#. type: Plain text +#: en/git-describe.txt:116 #, no-wrap -msgid "ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" +msgid "" +"\t[torvalds@g5 git]$ git describe parent\n" +"\tv1.0.4-14-g2414721\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:157 +#: en/git-describe.txt:122 msgid "" -"To serve multiple repositories from different linkgit:gitnamespaces[7] in a " -"single repository:" +"i.e. the current head of my \"parent\" branch is based on v1.0.4, but since " +"it has a few commits on top of that, describe has added the number of " +"additional commits (\"14\") and an abbreviated object name for the commit " +"itself (\"2414721\") at the end." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:161 -#, no-wrap +#. type: Plain text +#: en/git-describe.txt:130 msgid "" -"SetEnvIf Request_URI \"^/git/([^/]*)\" GIT_NAMESPACE=$1\n" -"ScriptAliasMatch ^/git/[^/]*(.*) " -"/usr/libexec/git-core/git-http-backend/storage.git$1\n" +"The number of additional commits is the number of commits which would be " +"displayed by \"git log v1.0.4..parent\". The hash suffix is \"-g\" + 7-char " +"abbreviation for the tip commit of parent (which was " +"`2414721b194453f058079d897d13c4e377f92dc6`). The \"g\" prefix stands for " +"\"git\" and is used to allow describing the version of a software depending " +"on the SCM the software is managed with. This is useful in an environment " +"where people may use different SCMs." msgstr "" -#. type: Labeled list -#: en/git-http-backend.txt:163 +#. type: Plain text +#: en/git-describe.txt:132 +msgid "Doing a 'git describe' on a tag-name will just show the tag name:" +msgstr "" + +#. type: Plain text +#: en/git-describe.txt:135 #, no-wrap -msgid "Accelerated static Apache 2.x" +msgid "" +"\t[torvalds@g5 git]$ git describe v1.0.4\n" +"\tv1.0.4\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:168 +#: en/git-describe.txt:138 msgid "" -"Similar to the above, but Apache can be used to return static files that are " -"stored on disk.\tOn many systems this may be more efficient as Apache can " -"ask the kernel to copy the file contents from the file system directly to " -"the network:" +"With --all, the command can use branch heads as references, so the output " +"shows the reference path as well:" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:171 en/git-http-backend.txt:181 +#. type: Plain text +#: en/git-describe.txt:141 #, no-wrap -msgid "SetEnv GIT_PROJECT_ROOT /var/www/git\n" +msgid "" +"\t[torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2\n" +"\ttags/v1.0.0-21-g975b\n" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:175 +#. type: Plain text +#: en/git-describe.txt:144 #, no-wrap msgid "" -"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ " -"/var/www/git/$1\n" -"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ " -"/var/www/git/$1\n" -"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" +"\t[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^\n" +"\theads/lt/describe-7-g975b\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:178 -msgid "This can be combined with the gitweb configuration:" +#: en/git-describe.txt:147 +msgid "" +"With --abbrev set to 0, the command can be used to find the closest tagname " +"without any suffix:" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:191 +#. type: Plain text +#: en/git-describe.txt:150 #, no-wrap msgid "" -"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ " -"/var/www/git/$1\n" -"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ " -"/var/www/git/$1\n" -"ScriptAliasMatch \\\n" -"\t\"(?x)^/git/(.*/(HEAD | \\\n" -"\t\t\tinfo/refs | \\\n" -"\t\t\tobjects/info/[^/]+ | \\\n" -"\t\t\tgit-(upload|receive)-pack))$\" \\\n" -"\t/usr/libexec/git-core/git-http-backend/$1\n" -"ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" -msgstr "" - -#. type: Labeled list -#: en/git-http-backend.txt:193 -#, no-wrap -msgid "Lighttpd" +"\t[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2\n" +"\ttags/v1.0.0\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:197 +#: en/git-describe.txt:156 msgid "" -"Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are loaded, " -"then set `GIT_PROJECT_ROOT` appropriately and redirect all requests to the " -"CGI:" +"Note that the suffix you get if you type these commands today may be longer " +"than what Linus saw above when he ran these commands, as your Git repository " +"may have new commits whose object names begin with 975b that did not exist " +"back then, and \"-g975b\" suffix alone may not be sufficient to disambiguate " +"these commits." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:207 +#. type: Title - +#: en/git-describe.txt:159 #, no-wrap -msgid "" -"alias.url += ( \"/git\" => \"/usr/lib/git-core/git-http-backend\" )\n" -"$HTTP[\"url\"] =~ \"^/git\" {\n" -"\tcgi.assign = (\"\" => \"\")\n" -"\tsetenv.add-environment = (\n" -"\t\t\"GIT_PROJECT_ROOT\" => \"/var/www/git\",\n" -"\t\t\"GIT_HTTP_EXPORT_ALL\" => \"\"\n" -"\t)\n" -"}\n" +msgid "SEARCH STRATEGY" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:210 -msgid "To enable anonymous read access but authenticated write access:" +#: en/git-describe.txt:166 +msgid "" +"For each commit-ish supplied, 'git describe' will first look for a tag which " +"tags exactly that commit. Annotated tags will always be preferred over " +"lightweight tags, and tags with newer dates will always be preferred over " +"tags with older dates. If an exact match is found, its name will be output " +"and searching will stop." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:218 -#, no-wrap +#. type: Plain text +#: en/git-describe.txt:173 msgid "" -"$HTTP[\"querystring\"] =~ \"service=git-receive-pack\" {\n" -"\tinclude \"git-auth.conf\"\n" -"}\n" -"$HTTP[\"url\"] =~ \"^/git/.*/git-receive-pack$\" {\n" -"\tinclude \"git-auth.conf\"\n" -"}\n" +"If an exact match was not found, 'git describe' will walk back through the " +"commit history to locate an ancestor commit which has been tagged. The " +"ancestor's tag will be output along with an abbreviation of the input " +"commit-ish's SHA-1. If `--first-parent` was specified then the walk will " +"only consider the first parent of each commit." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:221 -msgid "where `git-auth.conf` looks something like:" +#: en/git-describe.txt:179 +msgid "" +"If multiple tags were found during the walk then the tag which has the " +"fewest commits different from the input commit-ish will be selected and " +"output. Here fewest commits different is defined as the number of commits " +"which would be shown by `git log tag..input` will be the smallest number of " +"commits possible." msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:231 +#. type: Title = +#: en/git-diff-files.txt:2 #, no-wrap -msgid "" -"auth.require = (\n" -"\t\"/\" => (\n" -"\t\t\"method\" => \"basic\",\n" -"\t\t\"realm\" => \"Git Access\",\n" -"\t\t\"require\" => \"valid-user\"\n" -"\t )\n" -")\n" -"# ...and set up auth.backend here\n" +msgid "git-diff-files(1)" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:234 -msgid "To require authentication for both reads and writes:" +#: en/git-diff-files.txt:7 +msgid "git-diff-files - Compares files in the working tree and the index" msgstr "" -#. type: delimited block - -#: en/git-http-backend.txt:239 +#. type: Plain text +#: en/git-diff-files.txt:13 #, no-wrap msgid "" -"$HTTP[\"url\"] =~ \"^/git/private\" {\n" -"\tinclude \"git-auth.conf\"\n" -"}\n" +"'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] " +"[<path>...]\n" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:246 +#: en/git-diff-files.txt:20 msgid "" -"'git http-backend' relies upon the `CGI` environment variables set by the " -"invoking web server, including:" +"Compares the files in the working tree and the index. When paths are " +"specified, compares only those named paths. Otherwise all entries in the " +"index are compared. The output format is the same as for 'git diff-index' " +"and 'git diff-tree'." msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:248 -msgid "PATH_INFO (if GIT_PROJECT_ROOT is set, otherwise PATH_TRANSLATED)" +#. type: Labeled list +#: en/git-diff-files.txt:25 +#, no-wrap +msgid "-1 --base" msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:249 -msgid "REMOTE_USER" +#. type: Labeled list +#: en/git-diff-files.txt:26 +#, no-wrap +msgid "-2 --ours" msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:250 -msgid "REMOTE_ADDR" +#. type: Labeled list +#: en/git-diff-files.txt:27 +#, no-wrap +msgid "-3 --theirs" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:251 -msgid "CONTENT_TYPE" +#: en/git-diff-files.txt:32 +msgid "" +"Diff against the \"base\" version, \"our branch\" or \"their branch\" " +"respectively. With these options, diffs for merged entries are not shown." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:252 -msgid "QUERY_STRING" +#: en/git-diff-files.txt:36 +msgid "" +"The default is to diff against our branch (-2) and the cleanly resolved " +"paths. The option -0 can be given to omit diff output for unmerged entries " +"and just show \"Unmerged\"." msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:253 -msgid "REQUEST_METHOD" +#. type: Labeled list +#: en/git-diff-files.txt:38 en/git-diff-tree.txt:101 en/rev-list-options.txt:873 +#, no-wrap +msgid "--cc" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:257 +#: en/git-diff-files.txt:43 msgid "" -"The `GIT_HTTP_EXPORT_ALL` environmental variable may be passed to " -"'git-http-backend' to bypass the check for the \"git-daemon-export-ok\" file " -"in each repository before allowing export of that repository." +"This compares stage 2 (our branch), stage 3 (their branch) and the working " +"tree file and outputs a combined diff, similar to the way 'diff-tree' shows " +"a merge commit with these flags." msgstr "" #. type: Plain text -#: en/git-http-backend.txt:266 -msgid "" -"The `GIT_HTTP_MAX_REQUEST_BUFFER` environment variable (or the " -"`http.maxRequestBuffer` config variable) may be set to change the largest " -"ref negotiation request that git will handle during a fetch; any fetch " -"requiring a larger buffer will not succeed. This value should not normally " -"need to be changed, but may be helpful if you are fetching from a repository " -"with an extremely large number of refs. The value can be specified with a " -"unit (e.g., `100M` for 100 megabytes). The default is 10 megabytes." +#: en/git-diff-files.txt:46 +msgid "Remain silent even on nonexistent files" msgstr "" -#. type: Plain text -#: en/git-http-backend.txt:271 -msgid "" -"The backend process sets GIT_COMMITTER_NAME to '$REMOTE_USER' and " -"GIT_COMMITTER_EMAIL to '$\\{REMOTE_USER}@http.$\\{REMOTE_ADDR\\}', ensuring " -"that any reflogs created by 'git-receive-pack' contain some identifying " -"information of the remote user who performed the push." +#. type: Title = +#: en/git-diff-index.txt:2 +#, no-wrap +msgid "git-diff-index(1)" msgstr "" #. type: Plain text -#: en/git-http-backend.txt:274 -msgid "" -"All `CGI` environment variables are available to each of the hooks invoked " -"by the 'git-receive-pack'." +#: en/git-diff-index.txt:7 +msgid "git-diff-index - Compare a tree to the working tree or index" msgstr "" -#. type: Title = -#: en/git-http-fetch.txt:2 +#. type: Plain text +#: en/git-diff-index.txt:13 #, no-wrap -msgid "git-http-fetch(1)" +msgid "" +"'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> " +"[<path>...]\n" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:7 -msgid "git-http-fetch - Download from a remote Git repository via HTTP" +#: en/git-diff-index.txt:21 +msgid "" +"Compares the content and mode of the blobs found in a tree object with the " +"corresponding tracked files in the working tree, or with the corresponding " +"paths in the index. When <path> arguments are present, compares only paths " +"matching those patterns. Otherwise all tracked files are compared." msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:13 -#, no-wrap -msgid "" -"'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] " -"[--stdin] <commit> <url>\n" +#: en/git-diff-index.txt:28 +msgid "The id of a tree object to diff against." msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:17 -msgid "Downloads a remote Git repository via HTTP." +#: en/git-diff-index.txt:31 +msgid "do not consider the on-disk file at all" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:20 -#, no-wrap +#: en/git-diff-index.txt:37 msgid "" -"*NOTE*: use of this command without -a is deprecated. The -a\n" -"behaviour will become the default in a future release.\n" +"By default, files recorded in the index but not checked out are reported as " +"deleted. This flag makes 'git diff-index' say that all non-checked-out " +"files are up to date." msgstr "" -#. type: Labeled list -#: en/git-http-fetch.txt:23 +#. type: Title - +#: en/git-diff-index.txt:41 #, no-wrap -msgid "commit-id" +msgid "Operating Modes" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:26 -msgid "Either the hash or the filename under [URL]/refs/ to pull." +#: en/git-diff-index.txt:46 +msgid "" +"You can choose whether you want to trust the index file entirely (using the " +"`--cached` flag) or ask the diff logic to show any files that don't match " +"the stat state as being \"tentatively changed\". Both of these operations " +"are very useful indeed." msgstr "" -#. type: Plain text -#: en/git-http-fetch.txt:29 -msgid "Get the commit objects." +#. type: Title - +#: en/git-diff-index.txt:48 +#, no-wrap +msgid "Cached Mode" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:31 -msgid "Get trees associated with the commit objects." +#: en/git-diff-index.txt:50 +msgid "If `--cached` is specified, it allows you to ask:" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:33 -msgid "Get all the objects." +#: en/git-diff-index.txt:53 +#, no-wrap +msgid "" +"\tshow me the differences between HEAD and the current index\n" +"\tcontents (the ones I'd write using 'git write-tree')\n" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:35 -msgid "Report what is downloaded." +#: en/git-diff-index.txt:58 +msgid "" +"For example, let's say that you have worked on your working directory, " +"updated some files in the index and are ready to commit. You want to see " +"exactly *what* you are going to commit, without having to write a new tree " +"object and compare it that way, and to do that, you just do" msgstr "" -#. type: Labeled list -#: en/git-http-fetch.txt:36 +#. type: Plain text +#: en/git-diff-index.txt:60 #, no-wrap -msgid "-w <filename>" +msgid "\tgit diff-index --cached HEAD\n" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:39 +#: en/git-diff-index.txt:65 msgid "" -"Writes the commit-id into the filename under $GIT_DIR/refs/<filename> on the " -"local end after the transfer is complete." +"Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had " +"done an `update-index` to make that effective in the index file. `git " +"diff-files` wouldn't show anything at all, since the index file matches my " +"working directory. But doing a 'git diff-index' does:" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:43 +#: en/git-diff-index.txt:69 +#, no-wrap msgid "" -"Instead of a commit id on the command line (which is not expected in this " -"case), 'git http-fetch' expects lines on stdin in the format" +" torvalds@ppc970:~/git> git diff-index --cached HEAD\n" +" -100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c\n" +" +100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 " +"git-commit.c\n" msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:45 -#, no-wrap -msgid "<commit-id>['\\t'<filename-as-in--w>]\n" +#: en/git-diff-index.txt:71 +msgid "You can see easily that the above is a rename." msgstr "" -#. type: Labeled list -#: en/git-http-fetch.txt:46 -#, no-wrap -msgid "--recover" +#. type: Plain text +#: en/git-diff-index.txt:75 +msgid "" +"In fact, `git diff-index --cached` *should* always be entirely equivalent to " +"actually doing a 'git write-tree' and comparing that. Except this one is " +"much nicer for the case where you just want to check where you are." msgstr "" #. type: Plain text -#: en/git-http-fetch.txt:49 +#: en/git-diff-index.txt:79 msgid "" -"Verify that everything reachable from target is fetched. Used after an " -"earlier fetch is interrupted." +"So doing a `git diff-index --cached` is basically very useful when you are " +"asking yourself \"what have I already marked for being committed, and what's " +"the difference to a previous tree\"." msgstr "" -#. type: Title = -#: en/git-http-push.txt:2 +#. type: Title - +#: en/git-diff-index.txt:81 #, no-wrap -msgid "git-http-push(1)" +msgid "Non-cached Mode" msgstr "" #. type: Plain text -#: en/git-http-push.txt:7 -msgid "git-http-push - Push objects over HTTP/DAV to another repository" +#: en/git-diff-index.txt:86 +msgid "" +"The \"non-cached\" mode takes a different approach, and is potentially the " +"more useful of the two in that what it does can't be emulated with a 'git " +"write-tree' + 'git diff-tree'. Thus that's the default mode. The non-cached " +"version asks the question:" msgstr "" #. type: Plain text -#: en/git-http-push.txt:13 +#: en/git-diff-index.txt:89 #, no-wrap msgid "" -"'git http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> " -"[<ref>...]\n" +" show me the differences between HEAD and the currently checked out\n" +" tree - index contents _and_ files that aren't up-to-date\n" msgstr "" #. type: Plain text -#: en/git-http-push.txt:18 -msgid "Sends missing objects to remote repository, and updates the remote branch." +#: en/git-diff-index.txt:93 +msgid "" +"which is obviously a very useful question too, since that tells you what you " +"*could* commit. Again, the output matches the 'git diff-tree -r' output to a " +"tee, but with a twist." msgstr "" #. type: Plain text -#: en/git-http-push.txt:22 -#, no-wrap +#: en/git-diff-index.txt:99 msgid "" -"*NOTE*: This command is temporarily disabled if your libcurl\n" -"is older than 7.16, as the combination has been reported\n" -"not to work and sometimes corrupts repository.\n" +"The twist is that if some file doesn't match the index, we don't have a " +"backing store thing for it, and we use the magic \"all-zero\" sha1 to show " +"that. So let's say that you have edited `kernel/sched.c`, but have not " +"actually done a 'git update-index' on it yet - there is no \"object\" " +"associated with the new state, and you get:" msgstr "" #. type: Plain text -#: en/git-http-push.txt:29 +#: en/git-diff-index.txt:102 +#, no-wrap msgid "" -"Do not assume that the remote repository is complete in its current state, " -"and verify all objects in the entire local ref's history exist in the remote " -"repository." +" torvalds@ppc970:~/v2.6/linux> git diff-index --abbrev HEAD\n" +" :100644 100664 7476bb... 000000... kernel/sched.c\n" msgstr "" #. type: Plain text -#: en/git-http-push.txt:36 en/git-send-pack.txt:60 +#: en/git-diff-index.txt:107 msgid "" -"Usually, the command refuses to update a remote ref that is not an ancestor " -"of the local ref used to overwrite it. This flag disables the check. What " -"this means is that the remote repository can lose commits; use it with care." +"i.e., it shows that the tree has changed, and that `kernel/sched.c` has is " +"not up-to-date and may contain new stuff. The all-zero sha1 means that to " +"get the real diff, you need to look at the object in the working directory " +"directly rather than do an object-to-object diff." msgstr "" #. type: Plain text -#: en/git-http-push.txt:39 en/git-push.txt:120 en/git-send-pack.txt:53 -msgid "Do everything except actually send the updates." +#: en/git-diff-index.txt:113 +msgid "" +"As with other commands of this type, 'git diff-index' does not actually look " +"at the contents of the file at all. So maybe `kernel/sched.c` hasn't " +"actually changed, and it's just that you touched it. In either case, it's a " +"note that you need to 'git update-index' it to make the index be in sync." msgstr "" #. type: Plain text -#: en/git-http-push.txt:43 +#: en/git-diff-index.txt:119 msgid "" -"Report the list of objects being walked locally and the list of objects " -"successfully sent to the remote repository." +"You can have a mixture of files show up as \"has been updated\" and \"is " +"still dirty in the working directory\" together. You can always tell which " +"file is in which state, since the \"has been updated\" ones show a valid " +"sha1, and the \"not in sync with the index\" ones will always have the " +"special all-zero sha1." msgstr "" -#. type: Plain text -#: en/git-http-push.txt:49 -msgid "" -"Remove <ref> from remote repository. The specified branch cannot be the " -"remote HEAD. If -d is specified the following other conditions must also be " -"met:" +#. type: Title = +#: en/git-difftool.txt:2 +#, no-wrap +msgid "git-difftool(1)" msgstr "" #. type: Plain text -#: en/git-http-push.txt:51 -msgid "Remote HEAD must resolve to an object that exists locally" +#: en/git-difftool.txt:7 +msgid "git-difftool - Show changes using common diff tools" msgstr "" #. type: Plain text -#: en/git-http-push.txt:52 -msgid "Specified branch resolves to an object that exists locally" +#: en/git-difftool.txt:12 +#, no-wrap +msgid "'git difftool' [<options>] [<commit> [<commit>]] [--] [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-http-push.txt:53 -msgid "Specified branch is an ancestor of the remote HEAD" +#: en/git-difftool.txt:19 +msgid "" +"'git difftool' is a Git command that allows you to compare and edit files " +"between revisions using common diff tools. 'git difftool' is a frontend to " +"'git diff' and accepts the same options and arguments. See " +"linkgit:git-diff[1]." msgstr "" #. type: Labeled list -#: en/git-http-push.txt:54 en/git-send-pack.txt:92 +#: en/git-difftool.txt:23 #, no-wrap -msgid "<ref>..." +msgid "--dir-diff" msgstr "" #. type: Plain text -#: en/git-http-push.txt:56 en/git-send-pack.txt:94 -msgid "The remote refs to update." +#: en/git-difftool.txt:27 +msgid "" +"Copy the modified files to a temporary location and perform a directory diff " +"on them. This mode never prompts before launching the diff tool." msgstr "" -#. type: Title - -#: en/git-http-push.txt:59 en/git-send-pack.txt:97 +#. type: Labeled list +#: en/git-difftool.txt:28 en/git-mergetool.txt:70 #, no-wrap -msgid "Specifying the Refs" +msgid "-y" +msgstr "" + +#. type: Labeled list +#: en/git-difftool.txt:29 en/git-mergetool.txt:71 +#, no-wrap +msgid "--no-prompt" msgstr "" #. type: Plain text -#: en/git-http-push.txt:65 -msgid "" -"A '<ref>' specification can be either a single pattern, or a pair of such " -"patterns separated by a colon \":\" (this means that a ref name cannot have " -"a colon in it). A single pattern '<name>' is just a shorthand for " -"'<name>:<name>'." +#: en/git-difftool.txt:31 +msgid "Do not prompt before launching a diff tool." +msgstr "" + +#. type: Labeled list +#: en/git-difftool.txt:32 en/git-mergetool.txt:78 +#, no-wrap +msgid "--prompt" msgstr "" #. type: Plain text -#: en/git-http-push.txt:71 +#: en/git-difftool.txt:36 msgid "" -"Each pattern pair consists of the source side (before the colon) and the " -"destination side (after the colon). The ref to be pushed is determined by " -"finding a match that matches the source side, and where it is pushed is " -"determined by using the destination side." +"Prompt before each invocation of the diff tool. This is the default " +"behaviour; the option is provided to override any configuration settings." msgstr "" -#. type: Plain text -#: en/git-http-push.txt:74 en/git-send-pack.txt:125 -msgid "It is an error if <src> does not match exactly one of the local refs." +#. type: Labeled list +#: en/git-difftool.txt:37 en/git-mergetool.txt:27 +#, no-wrap +msgid "-t <tool>" msgstr "" -#. type: Plain text -#: en/git-http-push.txt:76 en/git-send-pack.txt:129 -msgid "If <dst> does not match any remote ref, either" +#. type: Labeled list +#: en/git-difftool.txt:38 en/git-mergetool.txt:28 +#, no-wrap +msgid "--tool=<tool>" msgstr "" #. type: Plain text -#: en/git-http-push.txt:79 en/git-send-pack.txt:132 +#: en/git-difftool.txt:42 msgid "" -"it has to start with \"refs/\"; <dst> is used as the destination literally " -"in this case." +"Use the diff tool specified by <tool>. Valid values include emerge, " +"kompare, meld, and vimdiff. Run `git difftool --tool-help` for the list of " +"valid <tool> settings." msgstr "" #. type: Plain text -#: en/git-http-push.txt:83 en/git-send-pack.txt:136 +#: en/git-difftool.txt:47 msgid "" -"<src> == <dst> and the ref that matched the <src> must not exist in the set " -"of remote refs; the ref matched <src> locally is used as the name of the " -"destination." +"If a diff tool is not specified, 'git difftool' will use the configuration " +"variable `diff.tool`. If the configuration variable `diff.tool` is not set, " +"'git difftool' will pick a suitable default." msgstr "" #. type: Plain text -#: en/git-http-push.txt:89 en/git-send-pack.txt:142 +#: en/git-difftool.txt:53 msgid "" -"Without `--force`, the <src> ref is stored at the remote only if <dst> does " -"not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>. This " -"check, known as \"fast-forward check\", is performed in order to avoid " -"accidentally overwriting the remote ref and lose other peoples' commits from " -"there." +"You can explicitly provide a full path to the tool by setting the " +"configuration variable `difftool.<tool>.path`. For example, you can " +"configure the absolute path to kdiff3 by setting " +"`difftool.kdiff3.path`. Otherwise, 'git difftool' assumes the tool is " +"available in PATH." msgstr "" #. type: Plain text -#: en/git-http-push.txt:91 en/git-send-pack.txt:144 -msgid "With `--force`, the fast-forward check is disabled for all refs." +#: en/git-difftool.txt:58 +msgid "" +"Instead of running one of the known diff tools, 'git difftool' can be " +"customized to run an alternative program by specifying the command line to " +"invoke in a configuration variable `difftool.<tool>.cmd`." msgstr "" #. type: Plain text -#: en/git-http-push.txt:94 en/git-send-pack.txt:147 +#: en/git-difftool.txt:68 msgid "" -"Optionally, a <ref> parameter can be prefixed with a plus '+' sign to " -"disable the fast-forward check only on that ref." +"When 'git difftool' is invoked with this tool (either through the `-t` or " +"`--tool` option or the `diff.tool` configuration variable) the configured " +"command line will be invoked with the following variables available: " +"`$LOCAL` is set to the name of the temporary file containing the contents of " +"the diff pre-image and `$REMOTE` is set to the name of the temporary file " +"containing the contents of the diff post-image. `$MERGED` is the name of " +"the file which is being compared. `$BASE` is provided for compatibility with " +"custom merge tool commands and has the same value as `$MERGED`." msgstr "" -#. type: Title = -#: en/git-imap-send.txt:2 +#. type: Labeled list +#: en/git-difftool.txt:69 en/git-mergetool.txt:67 #, no-wrap -msgid "git-imap-send(1)" +msgid "--tool-help" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:7 -msgid "git-imap-send - Send a collection of patches from stdin to an IMAP folder" +#: en/git-difftool.txt:71 +msgid "Print a list of diff tools that may be used with `--tool`." msgstr "" -#. type: Plain text -#: en/git-imap-send.txt:13 +#. type: Labeled list +#: en/git-difftool.txt:72 #, no-wrap -msgid "'git imap-send' [-v] [-q] [--[no-]curl]\n" +msgid "--[no-]symlinks" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:23 +#: en/git-difftool.txt:77 msgid "" -"This command uploads a mailbox generated with 'git format-patch' into an " -"IMAP drafts folder. This allows patches to be sent as other email is when " -"using mail clients that cannot read mailbox files directly. The command also " -"works with any general mailbox in which emails have the fields \"From\", " -"\"Date\", and \"Subject\" in that order." -msgstr "" - -#. type: Plain text -#: en/git-imap-send.txt:25 -msgid "Typical usage is something like:" +"'git difftool''s default behavior is create symlinks to the working tree " +"when run in `--dir-diff` mode and the right-hand side of the comparison " +"yields the same content as the file in the working tree." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:27 -msgid "git format-patch --signoff --stdout --attach origin | git imap-send" +#: en/git-difftool.txt:80 +msgid "" +"Specifying `--no-symlinks` instructs 'git difftool' to create copies " +"instead. `--no-symlinks` is the default on Windows." msgstr "" -#. type: Plain text -#: en/git-imap-send.txt:39 -msgid "Be quiet." +#. type: Labeled list +#: en/git-difftool.txt:81 +#, no-wrap +msgid "-x <command>" msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:40 +#: en/git-difftool.txt:82 #, no-wrap -msgid "--curl" +msgid "--extcmd=<command>" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:44 +#: en/git-difftool.txt:87 msgid "" -"Use libcurl to communicate with the IMAP server, unless tunneling into it. " -"Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND option set." +"Specify a custom command for viewing diffs. 'git-difftool' ignores the " +"configured defaults and runs `$command $LOCAL $REMOTE` when this option is " +"specified. Additionally, `$BASE` is set in the environment." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:45 +#: en/git-difftool.txt:88 en/git-help.txt:46 en/git-show-branch.txt:111 en/git-update-index.txt:114 en/rev-list-options.txt:245 #, no-wrap -msgid "--no-curl" +msgid "-g" msgstr "" -#. type: Plain text -#: en/git-imap-send.txt:49 -msgid "" -"Talk to the IMAP server using git's own IMAP routines instead of using " -"libcurl. Ignored if Git was built with the NO_OPENSSL option set." +#. type: Labeled list +#: en/git-difftool.txt:89 +#, no-wrap +msgid "--[no-]gui" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:56 +#: en/git-difftool.txt:94 msgid "" -"To use the tool, imap.folder and either imap.tunnel or imap.host must be set " -"to appropriate values." -msgstr "" - -#. type: Title ~ -#: en/git-imap-send.txt:58 en/config.txt:256 -#, no-wrap -msgid "Variables" +"When 'git-difftool' is invoked with the `-g` or `--gui` option the default " +"diff tool will be read from the configured `diff.guitool` variable instead " +"of `diff.tool`. The `--no-gui` option can be used to override this setting." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:60 +#: en/git-difftool.txt:95 #, no-wrap -msgid "imap.folder" +msgid "--[no-]trust-exit-code" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:64 +#: en/git-difftool.txt:100 msgid "" -"The folder to drop the mails into, which is typically the Drafts folder. For " -"example: \"INBOX.Drafts\", \"INBOX/Drafts\" or \"[Gmail]/Drafts\". Required." +"'git-difftool' invokes a diff tool individually on each file. Errors " +"reported by the diff tool are ignored by default. Use `--trust-exit-code` " +"to make 'git-difftool' exit when an invoked diff tool returns a non-zero " +"exit code." msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:65 -#, no-wrap -msgid "imap.tunnel" +#. type: Plain text +#: en/git-difftool.txt:103 +msgid "" +"'git-difftool' will forward the exit code of the invoked tool when " +"`--trust-exit-code` is used." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:69 -msgid "" -"Command used to setup a tunnel to the IMAP server through which commands " -"will be piped instead of using a direct network connection to the " -"server. Required when imap.host is not set." +#: en/git-difftool.txt:105 +msgid "See linkgit:git-diff[1] for the full list of supported options." msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:70 +#. type: Title - +#: en/git-difftool.txt:107 #, no-wrap -msgid "imap.host" +msgid "CONFIG VARIABLES" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:74 +#: en/git-difftool.txt:110 msgid "" -"A URL identifying the server. Use a `imap://` prefix for non-secure " -"connections and a `imaps://` prefix for secure connections. Ignored when " -"imap.tunnel is set, but required otherwise." +"'git difftool' falls back to 'git mergetool' config variables when the " +"difftool equivalents have not been defined." +msgstr "" + +#. type: Plain text +#: en/git-difftool.txt:113 +msgid "The default diff tool to use." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:75 +#: en/git-difftool.txt:114 #, no-wrap -msgid "imap.user" +msgid "diff.guitool" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:77 -msgid "The username to use when logging in to the server." +#: en/git-difftool.txt:116 +msgid "The default diff tool to use when `--gui` is specified." msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:78 -#, no-wrap -msgid "imap.pass" +#. type: Plain text +#: en/git-difftool.txt:123 +msgid "Specify the command to invoke the specified diff tool." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:80 -msgid "The password to use when logging in to the server." +#: en/git-difftool.txt:125 +msgid "See the `--tool=<tool>` option above for more details." msgstr "" #. type: Labeled list -#: en/git-imap-send.txt:81 +#: en/git-difftool.txt:129 #, no-wrap -msgid "imap.port" +msgid "difftool.trustExitCode" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:85 -msgid "" -"An integer port number to connect to on the server. Defaults to 143 for " -"imap:// hosts and 993 for imaps:// hosts. Ignored when imap.tunnel is set." +#: en/git-difftool.txt:131 +msgid "Exit difftool if the invoked diff tool returns a non-zero exit status." msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:86 -#, no-wrap -msgid "imap.sslverify" +#. type: Plain text +#: en/git-difftool.txt:133 +msgid "See the `--trust-exit-code` option above for more details." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:90 -msgid "" -"A boolean to enable/disable verification of the server certificate used by " -"the SSL/TLS connection. Default is `true`. Ignored when imap.tunnel is set." +#: en/git-difftool.txt:138 +msgid "Show changes between commits, commit and working tree, etc" msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:91 -#, no-wrap -msgid "imap.preformattedHTML" +#. type: Plain text +#: en/git-difftool.txt:141 +msgid "Run merge conflict resolution tools to resolve merge conflicts" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:97 -msgid "" -"A boolean to enable/disable the use of html encoding when sending a patch. " -"An html encoded patch will be bracketed with <pre> and have a content type " -"of text/html. Ironically, enabling this option causes Thunderbird to send " -"the patch as a plain/text, format=fixed email. Default is `false`." +#: en/git-difftool.txt:144 +msgid "Get and set repository or global options" msgstr "" -#. type: Labeled list -#: en/git-imap-send.txt:98 +#. type: Title = +#: en/git-diff-tree.txt:2 #, no-wrap -msgid "imap.authMethod" +msgid "git-diff-tree(1)" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:104 +#: en/git-diff-tree.txt:7 msgid "" -"Specify authenticate method for authentication with IMAP server. If Git was " -"built with the NO_CURL option, or if your curl version is older than 7.34.0, " -"or if you're running git-imap-send with the `--no-curl` option, the only " -"supported method is 'CRAM-MD5'. If this is not set then 'git imap-send' uses " -"the basic IMAP plaintext LOGIN command." +"git-diff-tree - Compares the content and mode of blobs found via two tree " +"objects" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:109 -msgid "Using tunnel mode:" -msgstr "" - -#. type: delimited block . -#: en/git-imap-send.txt:114 +#: en/git-diff-tree.txt:15 #, no-wrap msgid "" -"[imap]\n" -" folder = \"INBOX.Drafts\"\n" -" tunnel = \"ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> " -"/dev/null\"\n" +"'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]\n" +"\t [-t] [-r] [-c | --cc] [--root] [<common diff options>]\n" +"\t <tree-ish> [<tree-ish>] [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:117 -msgid "Using direct mode:" +#: en/git-diff-tree.txt:19 +msgid "Compares the content and mode of the blobs found via two tree objects." msgstr "" -#. type: delimited block . -#: en/git-imap-send.txt:124 -#, no-wrap +#. type: Plain text +#: en/git-diff-tree.txt:22 msgid "" -"[imap]\n" -" folder = \"INBOX.Drafts\"\n" -" host = imap://imap.example.com\n" -" user = bob\n" -" pass = p4ssw0rd\n" +"If there is only one <tree-ish> given, the commit is compared with its " +"parents (see --stdin below)." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:127 -msgid "Using direct mode with SSL:" -msgstr "" - -#. type: delimited block . -#: en/git-imap-send.txt:136 -#, no-wrap -msgid "" -"[imap]\n" -" folder = \"INBOX.Drafts\"\n" -" host = imaps://imap.example.com\n" -" user = bob\n" -" pass = p4ssw0rd\n" -" port = 123\n" -" sslverify = false\n" +#: en/git-diff-tree.txt:24 +msgid "Note that 'git diff-tree' can use the tree encapsulated in a commit object." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:143 -msgid "" -"To submit patches using GMail's IMAP interface, first, edit your " -"~/.gitconfig to specify your account settings:" +#: en/git-diff-tree.txt:31 +msgid "The id of a tree object." msgstr "" -#. type: delimited block - -#: en/git-imap-send.txt:151 +#. type: Labeled list +#: en/git-diff-tree.txt:32 en/git-diff.txt:100 en/git-submodule.txt:423 #, no-wrap -msgid "" -"[imap]\n" -"\tfolder = \"[Gmail]/Drafts\"\n" -"\thost = imaps://imap.gmail.com\n" -"\tuser = user@gmail.com\n" -"\tport = 993\n" -"\tsslverify = false\n" +msgid "<path>..." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:155 +#: en/git-diff-tree.txt:38 msgid "" -"You might need to instead use: folder = \"[Google Mail]/Drafts\" if you get " -"an error that the \"Folder doesn't exist\"." +"If provided, the results are limited to a subset of files matching one of " +"these prefix strings. i.e., file matches `/^<pattern1>|<pattern2>|.../` " +"Note that this parameter does not provide any wildcard or regexp features." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:157 -msgid "Once the commits are ready to be sent, run the following command:" +#: en/git-diff-tree.txt:41 +msgid "recurse into sub-trees" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:159 -#, no-wrap -msgid "" -" $ git format-patch --cover-letter -M --stdout origin/master | git " -"imap-send\n" +#: en/git-diff-tree.txt:44 +msgid "show tree entry itself as well as subtrees. Implies -r." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:163 +#: en/git-diff-tree.txt:48 msgid "" -"Just make sure to disable line wrapping in the email client (GMail's web " -"interface will wrap lines no matter what, so you need to use a real IMAP " -"client)." -msgstr "" - -#. type: Title - -#: en/git-imap-send.txt:165 -#, no-wrap -msgid "CAUTION" +"When `--root` is specified the initial commit will be shown as a big " +"creation event. This is equivalent to a diff against the NULL tree." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:172 +#: en/git-diff-tree.txt:55 msgid "" -"It is still your responsibility to make sure that the email message sent by " -"your email program meets the standards of your project. Many projects do " -"not like patches to be attached. Some mail agents will transform patches " -"(e.g. wrap lines, send them as format=flowed) in ways that make them fail. " -"You will get angry flames ridiculing you if you don't check this." +"When `--stdin` is specified, the command does not take <tree-ish> arguments " +"from the command line. Instead, it reads lines containing either two " +"<tree>, one <commit>, or a list of <commit> from its standard input. (Use a " +"single space as separator.)" msgstr "" #. type: Plain text -#: en/git-imap-send.txt:176 -#, no-wrap +#: en/git-diff-tree.txt:60 msgid "" -"Thunderbird in particular is known to be problematic. Thunderbird\n" -"users may wish to visit this web page for more information:\n" -" " -"http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email\n" +"When two trees are given, it compares the first tree with the second. When " +"a single commit is given, it compares the commit with its parents. The " +"remaining commits, when given, are used as if they are parents of the first " +"commit." msgstr "" #. type: Plain text -#: en/git-imap-send.txt:180 -msgid "linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)" -msgstr "" - -#. type: Title = -#: en/git-index-pack.txt:2 -#, no-wrap -msgid "git-index-pack(1)" +#: en/git-diff-tree.txt:65 +msgid "" +"When comparing two trees, the ID of both trees (separated by a space and " +"terminated by a newline) is printed before the difference. When comparing " +"commits, the ID of the first (or only) commit, followed by a newline, is " +"printed." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:7 -msgid "git-index-pack - Build pack index file for an existing packed archive" +#: en/git-diff-tree.txt:68 +msgid "" +"The following flags further affect the behavior when comparing commits (but " +"not trees)." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:15 -#, no-wrap +#: en/git-diff-tree.txt:74 msgid "" -"'git index-pack' [-v] [-o <index-file>] <pack-file>\n" -"'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]\n" -" [<pack-file>]\n" +"By default, 'git diff-tree --stdin' does not show differences for merge " +"commits. With this flag, it shows differences to that commit from all of " +"its parents. See also `-c`." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:23 +#: en/git-diff-tree.txt:80 msgid "" -"Reads a packed archive (.pack) from the specified file, and builds a pack " -"index file (.idx) for it. The packed archive together with the pack index " -"can then be placed in the objects/pack/ directory of a Git repository." +"By default, 'git diff-tree --stdin' shows differences, either in " +"machine-readable form (without `-p`) or in patch form (with `-p`). This " +"output can be suppressed. It is only useful with `-v` flag." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:29 -msgid "Be verbose about what is going on, including progress status." +#: en/git-diff-tree.txt:84 +msgid "" +"This flag causes 'git diff-tree --stdin' to also show the commit message " +"before the differences." msgstr "" #. type: Labeled list -#: en/git-index-pack.txt:30 +#: en/git-diff-tree.txt:87 #, no-wrap -msgid "-o <index-file>" +msgid "--no-commit-id" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:37 +#: en/git-diff-tree.txt:90 msgid "" -"Write the generated pack index into the specified file. Without this option " -"the name of pack index file is constructed from the name of packed archive " -"file by replacing .pack with .idx (and the program fails if the name of " -"packed archive does not end with .pack)." +"'git diff-tree' outputs a line with the commit ID when applicable. This " +"flag suppressed the commit ID output." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:47 +#: en/git-diff-tree.txt:100 msgid "" -"When this flag is provided, the pack is read from stdin instead and a copy " -"is then written to <pack-file>. If <pack-file> is not specified, the pack is " -"written to objects/pack/ directory of the current Git repository with a " -"default name determined from the pack content. If <pack-file> is not " -"specified consider using --keep to prevent a race condition between this " -"process and 'git repack'." -msgstr "" - -#. type: Labeled list -#: en/git-index-pack.txt:48 -#, no-wrap -msgid "--fix-thin" +"This flag changes the way a merge commit is displayed (which means it is " +"useful only when the command is given one <tree-ish>, or `--stdin`). It " +"shows the differences from each of the parents to the merge result " +"simultaneously instead of showing pairwise diff between a parent and the " +"result one at a time (which is what the `-m` option does). Furthermore, it " +"lists only files which were modified from all parents." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:53 +#: en/git-diff-tree.txt:110 msgid "" -"Fix a \"thin\" pack produced by `git pack-objects --thin` (see " -"linkgit:git-pack-objects[1] for details) by adding the excluded objects the " -"deltified objects are based on to the pack. This option only makes sense in " -"conjunction with --stdin." +"This flag changes the way a merge commit patch is displayed, in a similar " +"way to the `-c` option. It implies the `-c` and `-p` options and further " +"compresses the patch output by omitting uninteresting hunks whose the " +"contents in the parents have only two variants and the merge result picks " +"one of them without modification. When all hunks are uninteresting, the " +"commit itself and the commit log message is not shown, just like in any " +"other \"empty diff\" case." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:61 +#: en/git-diff-tree.txt:114 msgid "" -"Before moving the index into its final destination create an empty .keep " -"file for the associated pack file. This option is usually necessary with " -"--stdin to prevent a simultaneous 'git repack' process from deleting the " -"newly constructed pack and index before refs can be updated to use objects " -"contained in the pack." +"Show the commit itself and the commit log message even if the diff itself is " +"empty." msgstr "" -#. type: Labeled list -#: en/git-index-pack.txt:62 +#. type: Title - +#: en/git-diff-tree.txt:120 #, no-wrap -msgid "--keep=<msg>" +msgid "Limiting Output" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:68 +#: en/git-diff-tree.txt:123 msgid "" -"Like --keep create a .keep file before moving the index into its final " -"destination, but rather than creating an empty file place '<msg>' followed " -"by an LF into the .keep file. The '<msg>' message can later be searched for " -"within all .keep files to locate any which have outlived their usefulness." +"If you're only interested in differences in a subset of files, for example " +"some architecture-specific files, you might do:" msgstr "" -#. type: Labeled list -#: en/git-index-pack.txt:69 en/git-pack-objects.txt:225 +#. type: Plain text +#: en/git-diff-tree.txt:125 #, no-wrap -msgid "--index-version=<version>[,<offset>]" +msgid "\tgit diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64\n" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:73 en/git-pack-objects.txt:229 -msgid "" -"This is intended to be used by the test suite only. It allows to force the " -"version for the generated pack index, and to force 64-bit index entries on " -"objects located above the given offset." +#: en/git-diff-tree.txt:127 +msgid "and it will only show you what changed in those two directories." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:76 -msgid "Die, if the pack contains broken objects or links." +#: en/git-diff-tree.txt:129 +msgid "Or if you are searching for what changed in just `kernel/sched.c`, just do" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:79 -msgid "Die if the pack contains broken links. For internal use only." +#: en/git-diff-tree.txt:131 +#, no-wrap +msgid "\tgit diff-tree -r <tree-ish> <tree-ish> kernel/sched.c\n" msgstr "" -#. type: Labeled list -#: en/git-index-pack.txt:80 en/git-pack-objects.txt:215 -#, no-wrap -msgid "--threads=<n>" +#. type: Plain text +#: en/git-diff-tree.txt:133 +msgid "and it will ignore all differences to other files." msgstr "" #. type: Plain text -#: en/git-index-pack.txt:89 +#: en/git-diff-tree.txt:138 msgid "" -"Specifies the number of threads to spawn when resolving deltas. This " -"requires that index-pack be compiled with pthreads otherwise this option is " -"ignored with a warning. This is meant to reduce packing time on " -"multiprocessor machines. The required amount of memory for the delta search " -"window is however multiplied by the number of threads. Specifying 0 will " -"cause Git to auto-detect the number of CPU's and use maximum 3 threads." +"The pattern is always the prefix, and is matched exactly. There are no " +"wildcards. Even stricter, it has to match a complete path component. " +"I.e. \"foo\" does not pick up `foobar.h`. \"foo\" does match `foo/bar.h` so " +"it can be used to name subdirectories." msgstr "" -#. type: Labeled list -#: en/git-index-pack.txt:90 en/git-unpack-objects.txt:47 +#. type: Plain text +#: en/git-diff-tree.txt:140 +msgid "An example of normal usage is:" +msgstr "" + +#. type: Plain text +#: en/git-diff-tree.txt:143 #, no-wrap -msgid "--max-input-size=<size>" +msgid "" +" torvalds@ppc970:~/git> git diff-tree --abbrev 5319e4\n" +" :100664 100664 ac348b... a01513...\tgit-fsck-objects.c\n" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:92 en/git-unpack-objects.txt:49 -msgid "Die, if the pack is larger than <size>." +#: en/git-diff-tree.txt:146 +msgid "" +"which tells you that the last commit changed just one file (it's from this " +"one:" msgstr "" -#. type: Title - -#: en/git-index-pack.txt:94 +#. type: delimited block - +#: en/git-diff-tree.txt:153 #, no-wrap -msgid "Note" +msgid "" +"commit 3c6f7ca19ad4043e9e72fa94106f352897e651a8\n" +"tree 5319e4d609cdd282069cc4dce33c1db559539b03\n" +"parent b4e628ea30d5ab3606119d2ea5caeab141d38df7\n" +"author Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005\n" +"committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 " +"2005\n" msgstr "" -#. type: Plain text -#: en/git-index-pack.txt:100 -msgid "" -"Once the index has been created, the list of object names is sorted and the " -"SHA-1 hash of that list is printed to stdout. If --stdin was also used then " -"this is prefixed by either \"pack\\t\", or \"keep\\t\" if a new .keep file " -"was successfully created. This is useful to remove a" +#. type: delimited block - +#: en/git-diff-tree.txt:155 +#, no-wrap +msgid "Make \"git-fsck-objects\" print out all the root commits it finds.\n" msgstr "" -#. type: Block title -#: en/git-index-pack.txt:100 +#. type: delimited block - +#: en/git-diff-tree.txt:158 #, no-wrap -msgid "keep file used as a lock to prevent the race with 'git repack'" +msgid "" +"Once I do the reference tracking, I'll also make it print out all the\n" +"HEAD commits it finds, which is even more interesting.\n" msgstr "" #. type: Plain text -#: en/git-index-pack.txt:102 -msgid "mentioned above." +#: en/git-diff-tree.txt:161 +msgid "in case you care)." msgstr "" #. type: Title = -#: en/git-init-db.txt:2 +#: en/git-diff.txt:2 #, no-wrap -msgid "git-init-db(1)" +msgid "git-diff(1)" msgstr "" #. type: Plain text -#: en/git-init-db.txt:7 -msgid "git-init-db - Creates an empty Git repository" +#: en/git-diff.txt:7 +msgid "git-diff - Show changes between commits, commit and working tree, etc" msgstr "" #. type: Plain text -#: en/git-init-db.txt:13 +#: en/git-diff.txt:17 #, no-wrap msgid "" -"'git init-db' [-q | --quiet] [--bare] [--template=<template_directory>] " -"[--separate-git-dir <git dir>] [--shared[=<permissions>]]\n" +"'git diff' [options] [<commit>] [--] [<path>...]\n" +"'git diff' [options] --cached [<commit>] [--] [<path>...]\n" +"'git diff' [options] <commit> <commit> [--] [<path>...]\n" +"'git diff' [options] <blob> <blob>\n" +"'git diff' [options] [--no-index] [--] <path> <path>\n" msgstr "" #. type: Plain text -#: en/git-init-db.txt:20 +#: en/git-diff.txt:23 msgid "" -"This is a synonym for linkgit:git-init[1]. Please refer to the " -"documentation of that command." +"Show changes between the working tree and the index or a tree, changes " +"between the index and a tree, changes between two trees, changes between two " +"blob objects, or changes between two files on disk." msgstr "" -#. type: Title = -#: en/git-init.txt:2 +#. type: Labeled list +#: en/git-diff.txt:24 #, no-wrap -msgid "git-init(1)" +msgid "'git diff' [--options] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-init.txt:7 -msgid "git-init - Create an empty Git repository or reinitialize an existing one" +#: en/git-diff.txt:31 +msgid "" +"This form is to view the changes you made relative to the index (staging " +"area for the next commit). In other words, the differences are what you " +"_could_ tell Git to further add to the index but you still haven't. You can " +"stage these changes by using linkgit:git-add[1]." msgstr "" -#. type: Plain text -#: en/git-init.txt:15 +#. type: Labeled list +#: en/git-diff.txt:32 #, no-wrap -msgid "" -"'git init' [-q | --quiet] [--bare] [--template=<template_directory>]\n" -"\t [--separate-git-dir <git dir>]\n" -"\t [--shared[=<permissions>]] [directory]\n" +msgid "'git diff' --no-index [--options] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-init.txt:24 +#: en/git-diff.txt:40 msgid "" -"This command creates an empty Git repository - basically a `.git` directory " -"with subdirectories for `objects`, `refs/heads`, `refs/tags`, and template " -"files. An initial `HEAD` file that references the HEAD of the master branch " -"is also created." +"This form is to compare the given two paths on the filesystem. You can omit " +"the `--no-index` option when running the command in a working tree " +"controlled by Git and at least one of the paths points outside the working " +"tree, or when running the command outside a working tree controlled by Git." msgstr "" -#. type: Plain text -#: en/git-init.txt:27 -msgid "" -"If the `$GIT_DIR` environment variable is set then it specifies a path to " -"use instead of `./.git` for the base of the repository." +#. type: Labeled list +#: en/git-diff.txt:41 +#, no-wrap +msgid "'git diff' [--options] --cached [<commit>] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-init.txt:32 +#: en/git-diff.txt:50 msgid "" -"If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` " -"environment variable then the sha1 directories are created underneath - " -"otherwise the default `$GIT_DIR/objects` directory is used." +"This form is to view the changes you staged for the next commit relative to " +"the named <commit>. Typically you would want comparison with the latest " +"commit, so if you do not give <commit>, it defaults to HEAD. If HEAD does " +"not exist (e.g. unborn branches) and <commit> is not given, it shows all " +"staged changes. --staged is a synonym of --cached." +msgstr "" + +#. type: Labeled list +#: en/git-diff.txt:51 +#, no-wrap +msgid "'git diff' [--options] <commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-init.txt:37 +#: en/git-diff.txt:58 msgid "" -"Running 'git init' in an existing repository is safe. It will not overwrite " -"things that are already there. The primary reason for rerunning 'git init' " -"is to pick up newly added templates (or to move the repository to another " -"place if --separate-git-dir is given)." +"This form is to view the changes you have in your working tree relative to " +"the named <commit>. You can use HEAD to compare it with the latest commit, " +"or a branch name to compare with the tip of a different branch." +msgstr "" + +#. type: Labeled list +#: en/git-diff.txt:59 +#, no-wrap +msgid "'git diff' [--options] <commit> <commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-init.txt:47 -msgid "Only print error and warning messages; all other output will be suppressed." +#: en/git-diff.txt:63 +msgid "This is to view the changes between two arbitrary <commit>." +msgstr "" + +#. type: Labeled list +#: en/git-diff.txt:64 +#, no-wrap +msgid "'git diff' [--options] <commit>..<commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-init.txt:52 +#: en/git-diff.txt:69 msgid "" -"Create a bare repository. If `GIT_DIR` environment is not set, it is set to " -"the current working directory." +"This is synonymous to the previous form. If <commit> on one side is " +"omitted, it will have the same effect as using HEAD instead." +msgstr "" + +#. type: Labeled list +#: en/git-diff.txt:70 +#, no-wrap +msgid "'git diff' [--options] <commit>\\...<commit> [--] [<path>...]" msgstr "" #. type: Plain text -#: en/git-init.txt:57 +#: en/git-diff.txt:77 msgid "" -"Specify the directory from which templates will be used. (See the " -"\"TEMPLATE DIRECTORY\" section below.)" +"This form is to view the changes on the branch containing and up to the " +"second <commit>, starting at a common ancestor of both <commit>. \"git diff " +"A\\...B\" is equivalent to \"git diff $(git-merge-base A B) B\". You can " +"omit any one of <commit>, which has the same effect as using HEAD instead." msgstr "" #. type: Plain text -#: en/git-init.txt:64 +#: en/git-diff.txt:82 msgid "" -"Instead of initializing the repository as a directory to either `$GIT_DIR` " -"or `./.git/`, create a text file there containing the path to the actual " -"repository. This file acts as filesystem-agnostic Git symbolic link to the " -"repository." +"Just in case if you are doing something exotic, it should be noted that all " +"of the <commit> in the above description, except in the last two forms that " +"use \"..\" notations, can be any <tree>." msgstr "" #. type: Plain text -#: en/git-init.txt:66 +#: en/git-diff.txt:89 msgid "" -"If this is reinitialization, the repository will be moved to the specified " -"path." +"For a more complete list of ways to spell <commit>, see \"SPECIFYING " +"REVISIONS\" section in linkgit:gitrevisions[7]. However, \"diff\" is about " +"comparing two _endpoints_, not ranges, and the range notations " +"(\"<commit>..<commit>\" and \"<commit>\\...<commit>\") do not mean a range " +"as defined in the \"SPECIFYING RANGES\" section in linkgit:gitrevisions[7]." msgstr "" #. type: Labeled list -#: en/git-init.txt:67 +#: en/git-diff.txt:90 #, no-wrap -msgid "--shared[=(false|true|umask|group|all|world|everybody|0xxx)]" +msgid "'git diff' [options] <blob> <blob>" msgstr "" #. type: Plain text -#: en/git-init.txt:75 +#: en/git-diff.txt:94 msgid "" -"Specify that the Git repository is to be shared amongst several users. This " -"allows users belonging to the same group to push into that repository. When " -"specified, the config variable \"core.sharedRepository\" is set so that " -"files and directories under `$GIT_DIR` are created with the requested " -"permissions. When not specified, Git will use permissions reported by " -"umask(2)." +"This form is to view the differences between the raw contents of two blob " +"objects." msgstr "" #. type: Plain text -#: en/git-init.txt:78 +#: en/git-diff.txt:104 msgid "" -"The option can have the following values, defaulting to 'group' if no value " -"is given:" +"The <paths> parameters, when given, are used to limit the diff to the named " +"paths (you can give directory names and get diff for all files under them)." msgstr "" #. type: Labeled list -#: en/git-init.txt:80 +#: en/git-diff.txt:111 #, no-wrap -msgid "'umask' (or 'false')" +msgid "Various ways to check your working tree" msgstr "" -#. type: Plain text -#: en/git-init.txt:84 +#. type: delimited block - +#: en/git-diff.txt:117 +#, no-wrap msgid "" -"Use permissions reported by umask(2). The default, when `--shared` is not " -"specified." +"$ git diff <1>\n" +"$ git diff --cached <2>\n" +"$ git diff HEAD <3>\n" msgstr "" -#. type: Labeled list -#: en/git-init.txt:85 -#, no-wrap -msgid "'group' (or 'true')" +#. type: Plain text +#: en/git-diff.txt:120 +msgid "Changes in the working tree not yet staged for the next commit." msgstr "" #. type: Plain text -#: en/git-init.txt:93 +#: en/git-diff.txt:122 msgid "" -"Make the repository group-writable, (and g+sx, since the git group may be " -"not the primary group of all users). This is used to loosen the permissions " -"of an otherwise safe umask(2) value. Note that the umask still applies to " -"the other permission bits (e.g. if umask is '0022', using 'group' will not " -"remove read privileges from other (non-group) users). See '0xxx' for how to " -"exactly specify the repository permissions." -msgstr "" - -#. type: Labeled list -#: en/git-init.txt:94 -#, no-wrap -msgid "'all' (or 'world' or 'everybody')" +"Changes between the index and your last commit; what you would be committing " +"if you run \"git commit\" without \"-a\" option." msgstr "" #. type: Plain text -#: en/git-init.txt:97 -msgid "Same as 'group', but make the repository readable by all users." +#: en/git-diff.txt:124 +msgid "" +"Changes in the working tree since your last commit; what you would be " +"committing if you run \"git commit -a\"" msgstr "" #. type: Labeled list -#: en/git-init.txt:98 +#: en/git-diff.txt:125 #, no-wrap -msgid "'0xxx'" +msgid "Comparing with arbitrary commits" msgstr "" -#. type: Plain text -#: en/git-init.txt:105 +#. type: delimited block - +#: en/git-diff.txt:131 +#, no-wrap msgid "" -"'0xxx' is an octal number and each file will have mode '0xxx'. '0xxx' will " -"override users' umask(2) value (and not only loosen permissions as 'group' " -"and 'all' does). '0640' will create a repository which is group-readable, " -"but not group-writable or accessible to others. '0660' will create a repo " -"that is readable and writable to the current user and group, but " -"inaccessible to others." +"$ git diff test <1>\n" +"$ git diff HEAD -- ./test <2>\n" +"$ git diff HEAD^ HEAD <3>\n" msgstr "" #. type: Plain text -#: en/git-init.txt:110 +#: en/git-diff.txt:135 msgid "" -"By default, the configuration flag `receive.denyNonFastForwards` is enabled " -"in shared repositories, so that you cannot force a non fast-forwarding push " -"into it." +"Instead of using the tip of the current branch, compare with the tip of " +"\"test\" branch." msgstr "" #. type: Plain text -#: en/git-init.txt:113 +#: en/git-diff.txt:138 msgid "" -"If you provide a 'directory', the command is run inside it. If this " -"directory does not exist, it will be created." +"Instead of comparing with the tip of \"test\" branch, compare with the tip " +"of the current branch, but limit the comparison to the file \"test\"." msgstr "" -#. type: Title - -#: en/git-init.txt:117 +#. type: Plain text +#: en/git-diff.txt:139 +msgid "Compare the version before the last commit and the last commit." +msgstr "" + +#. type: Labeled list +#: en/git-diff.txt:140 #, no-wrap -msgid "TEMPLATE DIRECTORY" +msgid "Comparing branches" msgstr "" -#. type: Plain text -#: en/git-init.txt:121 +#. type: delimited block - +#: en/git-diff.txt:146 +#, no-wrap msgid "" -"Files and directories in the template directory whose name do not start with " -"a dot will be copied to the `$GIT_DIR` after it is created." +"$ git diff topic master <1>\n" +"$ git diff topic..master <2>\n" +"$ git diff topic...master <3>\n" msgstr "" #. type: Plain text -#: en/git-init.txt:123 -msgid "The template directory will be one of the following (in order):" +#: en/git-diff.txt:149 +msgid "Changes between the tips of the topic and the master branches." msgstr "" #. type: Plain text -#: en/git-init.txt:125 -msgid "the argument given with the `--template` option;" +#: en/git-diff.txt:150 en/git-remote-fd.txt:44 en/git-remote-fd.txt:52 en/git-web--browse.txt:52 +msgid "Same as above." msgstr "" #. type: Plain text -#: en/git-init.txt:127 -msgid "the contents of the `$GIT_TEMPLATE_DIR` environment variable;" +#: en/git-diff.txt:152 +msgid "" +"Changes that occurred on the master branch since when the topic branch was " +"started off it." msgstr "" -#. type: Plain text -#: en/git-init.txt:129 -msgid "the `init.templateDir` configuration variable; or" +#. type: Labeled list +#: en/git-diff.txt:153 +#, no-wrap +msgid "Limiting the diff output" msgstr "" -#. type: Plain text -#: en/git-init.txt:131 -msgid "the default template directory: `/usr/share/git-core/templates`." +#. type: delimited block - +#: en/git-diff.txt:159 +#, no-wrap +msgid "" +"$ git diff --diff-filter=MRC <1>\n" +"$ git diff --name-status <2>\n" +"$ git diff arch/i386 include/asm-i386 <3>\n" msgstr "" #. type: Plain text -#: en/git-init.txt:134 -msgid "" -"The default template directory includes some directory structure, suggested " -"\"exclude patterns\" (see linkgit:gitignore[5]), and sample hook files." +#: en/git-diff.txt:163 +msgid "Show only modification, rename, and copy, but not addition or deletion." msgstr "" #. type: Plain text -#: en/git-init.txt:137 -msgid "" -"The sample hooks are all disabled by default, To enable one of the sample " -"hooks rename it by removing its `.sample` suffix." +#: en/git-diff.txt:165 +msgid "Show only names and the nature of change, but not actual diff output." msgstr "" #. type: Plain text -#: en/git-init.txt:139 -msgid "See linkgit:githooks[5] for more general info on hook execution." +#: en/git-diff.txt:166 +msgid "Limit diff output to named subtrees." msgstr "" #. type: Labeled list -#: en/git-init.txt:143 +#: en/git-diff.txt:167 #, no-wrap -msgid "Start a new Git repository for an existing code base" +msgid "Munging the diff output" msgstr "" #. type: delimited block - -#: en/git-init.txt:150 +#: en/git-diff.txt:172 #, no-wrap msgid "" -"$ cd /path/to/my/codebase\n" -"$ git init <1>\n" -"$ git add . <2>\n" -"$ git commit <3>\n" +"$ git diff --find-copies-harder -B -C <1>\n" +"$ git diff -R <2>\n" msgstr "" #. type: Plain text -#: en/git-init.txt:153 -msgid "Create a /path/to/my/codebase/.git directory." +#: en/git-diff.txt:176 +msgid "" +"Spend extra cycles to find renames, copies and complete rewrites (very " +"expensive)." msgstr "" #. type: Plain text -#: en/git-init.txt:154 -msgid "Add all existing files to the index." +#: en/git-diff.txt:177 +msgid "Output diff in reverse." msgstr "" #. type: Plain text -#: en/git-init.txt:155 -msgid "Record the pristine state as the first commit in the history." +#: en/git-diff.txt:186 +msgid "" +"diff(1), linkgit:git-difftool[1], linkgit:git-log[1], " +"linkgit:gitdiffcore[7], linkgit:git-format-patch[1], linkgit:git-apply[1]" msgstr "" #. type: Title = -#: en/git-instaweb.txt:2 +#: en/git-fast-export.txt:2 #, no-wrap -msgid "git-instaweb(1)" +msgid "git-fast-export(1)" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:7 -msgid "git-instaweb - Instantly browse your working repository in gitweb" +#: en/git-fast-export.txt:7 +msgid "git-fast-export - Git data exporter" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:14 +#: en/git-fast-export.txt:13 #, no-wrap -msgid "" -"'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]\n" -" [--browser=<browser>]\n" -"'git instaweb' [--start] [--stop] [--restart]\n" +msgid "'git fast-export [options]' | 'git fast-import'\n" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:19 +#: en/git-fast-export.txt:18 msgid "" -"A simple script to set up `gitweb` and a web server for browsing the local " -"repository." +"This program dumps the given revisions in a form suitable to be piped into " +"'git fast-import'." msgstr "" #. type: Plain text -#: en/git-instaweb.txt:26 -msgid "Only bind the web server to the local IP (127.0.0.1)." +#: en/git-fast-export.txt:22 +msgid "" +"You can use it as a human-readable bundle replacement (see " +"linkgit:git-bundle[1]), or as a kind of an interactive 'git filter-branch'." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:28 +#: en/git-fast-export.txt:26 #, no-wrap -msgid "--httpd" +msgid "--progress=<n>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:34 +#: en/git-fast-export.txt:29 msgid "" -"The HTTP daemon command-line that will be executed. Command-line options " -"may be specified here, and the configuration file will be added at the end " -"of the command-line. Currently apache2, lighttpd, mongoose, plackup and " -"webrick are supported. (Default: lighttpd)" +"Insert 'progress' statements every <n> objects, to be shown by 'git " +"fast-import' during import." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:36 +#: en/git-fast-export.txt:30 #, no-wrap -msgid "--module-path" +msgid "--signed-tags=(verbatim|warn|warn-strip|strip|abort)" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:39 +#: en/git-fast-export.txt:34 msgid "" -"The module path (only needed if httpd is Apache). (Default: " -"/usr/lib/apache2/modules)" -msgstr "" - -#. type: Labeled list -#: en/git-instaweb.txt:41 -#, no-wrap -msgid "--port" +"Specify how to handle signed tags. Since any transformation after the " +"export can change the tag names (which can also happen when excluding " +"revisions) the signatures will not match." msgstr "" #. type: Plain text -#: en/git-instaweb.txt:43 -msgid "The port number to bind the httpd to. (Default: 1234)" -msgstr "" - -#. type: Labeled list -#: en/git-instaweb.txt:44 en/git-mailinfo.txt:47 en/git-mailsplit.txt:35 en/git-repack.txt:116 en/git-status.txt:31 en/git-submodule.txt:279 en/blame-options.txt:1 en/diff-options.txt:525 -#, no-wrap -msgid "-b" +#: en/git-fast-export.txt:41 +msgid "" +"When asking to 'abort' (which is the default), this program will die when " +"encountering a signed tag. With 'strip', the tags will silently be made " +"unsigned, with 'warn-strip' they will be made unsigned but a warning will be " +"displayed, with 'verbatim', they will be silently exported and with 'warn', " +"they will be exported, but you will see a warning." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:45 +#: en/git-fast-export.txt:42 #, no-wrap -msgid "--browser" +msgid "--tag-of-filtered-object=(abort|drop|rewrite)" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:51 +#: en/git-fast-export.txt:46 msgid "" -"The web browser that should be used to view the gitweb page. This will be " -"passed to the 'git web{litdd}browse' helper script along with the URL of the " -"gitweb instance. See linkgit:git-web{litdd}browse[1] for more information " -"about this. If the script fails, the URL will be printed to stdout." +"Specify how to handle tags whose tagged object is filtered out. Since " +"revisions and files to export can be limited by path, tagged objects may be " +"filtered completely." msgstr "" -#. type: Labeled list -#: en/git-instaweb.txt:52 -#, no-wrap -msgid "start" +#. type: Plain text +#: en/git-fast-export.txt:52 +msgid "" +"When asking to 'abort' (which is the default), this program will die when " +"encountering such a tag. With 'drop' it will omit such tags from the " +"output. With 'rewrite', if the tagged object is a commit, it will rewrite " +"the tag to tag an ancestor commit (via parent rewriting; see " +"linkgit:git-rev-list[1])" msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:53 +#: en/git-fast-export.txt:54 #, no-wrap -msgid "--start" +msgid "-C" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:56 +#: en/git-fast-export.txt:58 msgid "" -"Start the httpd instance and exit. Regenerate configuration files as " -"necessary for spawning a new instance." +"Perform move and/or copy detection, as described in the linkgit:git-diff[1] " +"manual page, and use it to generate rename and copy commands in the output " +"dump." msgstr "" -#. type: Labeled list -#: en/git-instaweb.txt:57 -#, no-wrap -msgid "stop" +#. type: Plain text +#: en/git-fast-export.txt:61 +msgid "" +"Note that earlier versions of this command did not complain and produced " +"incorrect results if you gave these options." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:58 +#: en/git-fast-export.txt:62 en/git-fast-import.txt:77 #, no-wrap -msgid "--stop" +msgid "--export-marks=<file>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:62 +#: en/git-fast-export.txt:73 msgid "" -"Stop the httpd instance and exit. This does not generate any of the " -"configuration files for spawning a new instance, nor does it close the " -"browser." -msgstr "" - -#. type: Labeled list -#: en/git-instaweb.txt:63 -#, no-wrap -msgid "restart" +"Dumps the internal marks table to <file> when complete. Marks are written " +"one per line as `:markid SHA-1`. Only marks for revisions are dumped; marks " +"for blobs are ignored. Backends can use this file to validate imports after " +"they have been completed, or to save the marks table across incremental " +"runs. As <file> is only opened and truncated at completion, the same path " +"can also be safely given to --import-marks. The file will not be written if " +"no new object has been marked/exported." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:64 +#: en/git-fast-export.txt:74 en/git-fast-import.txt:86 #, no-wrap -msgid "--restart" +msgid "--import-marks=<file>" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:67 +#: en/git-fast-export.txt:78 msgid "" -"Restart the httpd instance and exit. Regenerate configuration files as " -"necessary for spawning a new instance." +"Before processing any input, load the marks specified in <file>. The input " +"file must exist, must be readable, and must use the same format as produced " +"by --export-marks." msgstr "" #. type: Plain text -#: en/git-instaweb.txt:72 -msgid "You may specify configuration in your .git/config" +#: en/git-fast-export.txt:83 +msgid "" +"Any commits that have already been marked will not be exported again. If " +"the backend uses a similar --import-marks file, this allows for incremental " +"bidirectional exporting of the repository by keeping the marks the same " +"across runs." msgstr "" -#. type: delimited block - -#: en/git-instaweb.txt:80 +#. type: Labeled list +#: en/git-fast-export.txt:84 #, no-wrap -msgid "" -"[instaweb]\n" -"\tlocal = true\n" -"\thttpd = apache2 -f\n" -"\tport = 4321\n" -"\tbrowser = konqueror\n" -"\tmodulePath = /usr/lib/apache2/modules\n" +msgid "--fake-missing-tagger" msgstr "" #. type: Plain text -#: en/git-instaweb.txt:86 +#: en/git-fast-export.txt:89 msgid "" -"If the configuration variable `instaweb.browser` is not set, `web.browser` " -"will be used instead if it is defined. See linkgit:git-web{litdd}browse[1] " -"for more information about this." +"Some old repositories have tags without a tagger. The fast-import protocol " +"was pretty strict about that, and did not allow that. So fake a tagger to " +"be able to fast-import the output." msgstr "" #. type: Labeled list -#: en/git-instaweb.txt:90 en/cmds-ancillaryinterrogators.txt:49 +#: en/git-fast-export.txt:90 #, no-wrap -msgid "linkgit:gitweb[1]" +msgid "--use-done-feature" msgstr "" -#. type: Title = -#: en/git-interpret-trailers.txt:2 -#, no-wrap -msgid "git-interpret-trailers(1)" +#. type: Plain text +#: en/git-fast-export.txt:93 +msgid "" +"Start the stream with a 'feature done' stanza, and terminate it with a " +"'done' command." +msgstr "" + +#. type: Labeled list +#: en/git-fast-export.txt:94 +#, no-wrap +msgid "--no-data" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:7 +#: en/git-fast-export.txt:101 msgid "" -"git-interpret-trailers - help add structured information into commit " -"messages" +"Skip output of blob objects and instead refer to blobs via their original " +"SHA-1 hash. This is useful when rewriting the directory structure or " +"history of a repository without touching the contents of individual files. " +"Note that the resulting stream can only be used by a repository which " +"already contains the necessary objects." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:12 +#. type: Labeled list +#: en/git-fast-export.txt:102 en/git-ls-tree.txt:72 #, no-wrap -msgid "" -"'git interpret-trailers' [--in-place] [--trim-empty] [(--trailer " -"<token>[(=|:)<value>])...] [<file>...]\n" +msgid "--full-tree" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:18 +#: en/git-fast-export.txt:107 msgid "" -"Help adding 'trailers' lines, that look similar to RFC 822 e-mail headers, " -"at the end of the otherwise free-form part of a commit message." +"This option will cause fast-export to issue a \"deleteall\" directive for " +"each commit followed by a full list of all files in the commit (as opposed " +"to just listing the files which are different from the commit's first " +"parent)." +msgstr "" + +#. type: Labeled list +#: en/git-fast-export.txt:108 +#, no-wrap +msgid "--anonymize" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:24 +#: en/git-fast-export.txt:112 msgid "" -"This command reads some patches or commit messages from either the <file> " -"arguments or the standard input if no <file> is specified. Then this command " -"applies the arguments passed using the `--trailer` option, if any, to the " -"commit message part of each input file. The result is emitted on the " -"standard output." +"Anonymize the contents of the repository while still retaining the shape of " +"the history and stored tree. See the section on `ANONYMIZING` below." +msgstr "" + +#. type: Labeled list +#: en/git-fast-export.txt:113 +#, no-wrap +msgid "--refspec" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:29 +#: en/git-fast-export.txt:116 msgid "" -"Some configuration variables control the way the `--trailer` arguments are " -"applied to each commit message and the way any existing trailer in the " -"commit message is changed. They also make it possible to automatically add " -"some trailers." +"Apply the specified refspec to each ref exported. Multiple of them can be " +"specified." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:36 +#: en/git-fast-export.txt:123 +#, no-wrap msgid "" -"By default, a '<token>=<value>' or '<token>:<value>' argument given using " -"`--trailer` will be appended after the existing trailers only if the last " -"trailer has a different (<token>, <value>) pair (or if there is no existing " -"trailer). The <token> and <value> parts will be trimmed to remove starting " -"and trailing whitespace, and the resulting trimmed <token> and <value> will " -"appear in the message like this:" +"[<git-rev-list-args>...]::\n" +"\tA list of arguments, acceptable to 'git rev-parse' and\n" +"\t'git rev-list', that specifies the specific objects and references\n" +"\tto export. For example, `master~10..master` causes the\n" +"\tcurrent master reference to be exported along with all objects\n" +"\tadded since its 10th ancestor commit.\n" msgstr "" #. type: delimited block - -#: en/git-interpret-trailers.txt:39 +#: en/git-fast-export.txt:129 #, no-wrap -msgid "token: value\n" +msgid "$ git fast-export --all | (cd /empty/repository && git fast-import)\n" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:43 +#: en/git-fast-export.txt:134 msgid "" -"This means that the trimmed <token> and <value> will be separated by `': '` " -"(one colon followed by one space)." +"This will export the whole repository and import it into the existing empty " +"repository. Except for reencoding commits that are not in UTF-8, it would " +"be a one-to-one mirror." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:49 +#. type: delimited block - +#: en/git-fast-export.txt:139 +#, no-wrap msgid "" -"By default the new trailer will appear at the end of all the existing " -"trailers. If there is no existing trailer, the new trailer will appear after " -"the commit message part of the output, and, if there is no line with only " -"spaces at the end of the commit message part, one blank line will be added " -"before the new trailer." +"$ git fast-export master~5..master |\n" +"\tsed \"s|refs/heads/master|refs/heads/other|\" |\n" +"\tgit fast-import\n" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:58 +#: en/git-fast-export.txt:143 msgid "" -"Existing trailers are extracted from the input message by looking for a " -"group of one or more lines that (i) are all trailers, or (ii) contains at " -"least one Git-generated or user-configured trailer and consists of at least " -"25% trailers. The group must be preceded by one or more empty (or " -"whitespace-only) lines. The group must either be at the end of the message " -"or be the last non-whitespace lines before a line that starts with " -"'---'. Such three minus signs start the patch part of the message." +"This makes a new branch called 'other' from 'master~5..master' (i.e. if " +"'master' has linear history, it will take the last 5 commits)." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:63 +#: en/git-fast-export.txt:147 msgid "" -"When reading trailers, there can be whitespaces after the token, the " -"separator and the value. There can also be whitespaces inside the token and " -"the value. The value may be split over multiple lines with each subsequent " -"line starting with whitespace, like the \"folding\" in RFC 822." +"Note that this assumes that none of the blobs and commit messages referenced " +"by that revision range contains the string 'refs/heads/master'." +msgstr "" + +#. type: Title - +#: en/git-fast-export.txt:150 +#, no-wrap +msgid "ANONYMIZING" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:67 +#: en/git-fast-export.txt:158 msgid "" -"Note that 'trailers' do not follow and are not intended to follow many rules " -"for RFC 822 headers. For example they do not follow the encoding rules and " -"probably many other rules." +"If the `--anonymize` option is given, git will attempt to remove all " +"identifying information from the repository while still retaining enough of " +"the original tree and history patterns to reproduce some bugs. The goal is " +"that a git bug which is found on a private repository will persist in the " +"anonymized repository, and the latter can be shared with git developers to " +"help solve the bug." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:70 -#, no-wrap -msgid "--in-place" +#. type: Plain text +#: en/git-fast-export.txt:170 +msgid "" +"With this option, git will replace all refnames, paths, blob contents, " +"commit and tag messages, names, and email addresses in the output with " +"anonymized data. Two instances of the same string will be replaced " +"equivalently (e.g., two commits with the same author will have the same " +"anonymized author in the output, but bear no resemblance to the original " +"author string). The relationship between commits, branches, and tags is " +"retained, as well as the commit timestamps (but the commit messages and " +"refnames bear no resemblance to the originals). The relative makeup of the " +"tree is retained (e.g., if you have a root tree with 10 files and 3 trees, " +"so will the output), but their names and the contents of the files will be " +"replaced." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:72 -msgid "Edit the files in place." +#: en/git-fast-export.txt:173 +msgid "" +"If you think you have found a git bug, you can start by exporting an " +"anonymized stream of the whole repository:" msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:73 +#. type: delimited block - +#: en/git-fast-export.txt:176 #, no-wrap -msgid "--trim-empty" +msgid "$ git fast-export --anonymize --all >anon-stream\n" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:77 +#: en/git-fast-export.txt:181 msgid "" -"If the <value> part of any trailer contains only whitespace, the whole " -"trailer will be removed from the resulting message. This applies to " -"existing trailers as well as new trailers." +"Then confirm that the bug persists in a repository created from that stream " +"(many bugs will not, as they really do depend on the exact repository " +"contents):" msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:78 +#. type: delimited block - +#: en/git-fast-export.txt:187 #, no-wrap -msgid "--trailer <token>[(=|:)<value>]" +msgid "" +"$ git init anon-repo\n" +"$ cd anon-repo\n" +"$ git fast-import <../anon-stream\n" +"$ ... test your bug ...\n" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:82 +#: en/git-fast-export.txt:194 msgid "" -"Specify a (<token>, <value>) pair that should be applied as a trailer to the " -"input messages. See the description of this command." +"If the anonymized repository shows the bug, it may be worth sharing " +"`anon-stream` along with a regular bug report. Note that the anonymized " +"stream compresses very well, so gzipping it is encouraged. If you want to " +"examine the stream to see that it does not contain any private data, you can " +"peruse it directly before sending. You may also want to try:" msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:86 +#. type: delimited block - +#: en/git-fast-export.txt:197 #, no-wrap -msgid "trailer.separators" +msgid "$ perl -pe 's/\\d+/X/g' <anon-stream | sort -u | less\n" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:91 +#: en/git-fast-export.txt:203 msgid "" -"This option tells which characters are recognized as trailer separators. By " -"default only ':' is recognized as a trailer separator, except that '=' is " -"always accepted on the command line for compatibility with other git " -"commands." +"which shows all of the unique lines (with numbers converted to \"X\", to " +"collapse \"User 0\", \"User 1\", etc into \"User X\"). This produces a much " +"smaller output, and it is usually easy to quickly confirm that there is no " +"private data in the stream." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:95 -msgid "" -"The first character given by this option will be the default character used " -"when another separator is not specified in the config for this trailer." +#. type: Title - +#: en/git-fast-export.txt:206 +#, no-wrap +msgid "Limitations" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:102 +#: en/git-fast-export.txt:211 msgid "" -"For example, if the value for this option is \"%=$\", then only lines using " -"the format '<token><sep><value>' with <sep> containing '%', '=' or '$' and " -"then spaces will be considered trailers. And '%' will be the default " -"separator used, so by default trailers will appear like: '<token>% <value>' " -"(one percent sign and one space will appear between the token and the " -"value)." +"Since 'git fast-import' cannot tag trees, you will not be able to export the " +"linux.git repository completely, as it contains a tag referencing a tree " +"instead of a commit." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:103 +#. type: Title = +#: en/git-fast-import.txt:2 #, no-wrap -msgid "trailer.where" +msgid "git-fast-import(1)" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:105 -msgid "This option tells where a new trailer will be added." +#: en/git-fast-import.txt:7 +msgid "git-fast-import - Backend for fast Git data importers" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:107 -msgid "This can be `end`, which is the default, `start`, `after` or `before`." +#: en/git-fast-import.txt:13 +#, no-wrap +msgid "frontend | 'git fast-import' [options]\n" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:110 +#: en/git-fast-import.txt:20 msgid "" -"If it is `end`, then each new trailer will appear at the end of the existing " -"trailers." +"This program is usually not what the end user wants to run directly. Most " +"end users want to use one of the existing frontend programs, which parses a " +"specific type of foreign source and feeds the contents stored there to 'git " +"fast-import'." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:113 +#: en/git-fast-import.txt:26 msgid "" -"If it is `start`, then each new trailer will appear at the start, instead of " -"the end, of the existing trailers." +"fast-import reads a mixed command/data stream from standard input and writes " +"one or more packfiles directly into the current repository. When EOF is " +"received on standard input, fast import writes out updated branch and tag " +"refs, fully updating the current repository with the newly imported data." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:116 +#: en/git-fast-import.txt:32 msgid "" -"If it is `after`, then each new trailer will appear just after the last " -"trailer with the same <token>." +"The fast-import backend itself can import into an empty repository (one that " +"has already been initialized by 'git init') or incrementally update an " +"existing populated repository. Whether or not incremental imports are " +"supported from a particular foreign source depends on the frontend program " +"in use." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:119 +#: en/git-fast-import.txt:41 msgid "" -"If it is `before`, then each new trailer will appear just before the first " -"trailer with the same <token>." +"Force updating modified existing branches, even if doing so would cause " +"commits to be lost (as the new commit does not contain the old commit)." +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:46 +msgid "" +"Disable all non-fatal output, making fast-import silent when it is " +"successful. This option disables the output shown by --stats." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:120 +#: en/git-fast-import.txt:47 #, no-wrap -msgid "trailer.ifexists" +msgid "--stats" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:124 +#: en/git-fast-import.txt:52 msgid "" -"This option makes it possible to choose what action will be performed when " -"there is already at least one trailer with the same <token> in the message." +"Display some basic statistics about the objects fast-import has created, the " +"packfiles they were stored into, and the memory used by fast-import during " +"this run. Showing this output is currently the default, but can be disabled " +"with --quiet." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:127 -msgid "" -"The valid values for this option are: `addIfDifferentNeighbor` (this is the " -"default), `addIfDifferent`, `add`, `overwrite` or `doNothing`." +#. type: Title ~ +#: en/git-fast-import.txt:54 +#, no-wrap +msgid "Options for Frontends" msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:131 -msgid "" -"With `addIfDifferentNeighbor`, a new trailer will be added only if no " -"trailer with the same (<token>, <value>) pair is above or below the line " -"where the new trailer will be added." +#. type: Labeled list +#: en/git-fast-import.txt:56 +#, no-wrap +msgid "--cat-blob-fd=<fd>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:134 +#: en/git-fast-import.txt:61 msgid "" -"With `addIfDifferent`, a new trailer will be added only if no trailer with " -"the same (<token>, <value>) pair is already in the message." +"Write responses to `get-mark`, `cat-blob`, and `ls` queries to the file " +"descriptor <fd> instead of `stdout`. Allows `progress` output intended for " +"the end-user to be separated from other output." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:137 -msgid "" -"With `add`, a new trailer will be added, even if some trailers with the same " -"(<token>, <value>) pair are already in the message." +#. type: Labeled list +#: en/git-fast-import.txt:62 +#, no-wrap +msgid "--date-format=<fmt>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:142 +#: en/git-fast-import.txt:67 msgid "" -"With `replace`, an existing trailer with the same <token> will be deleted " -"and the new trailer will be added. The deleted trailer will be the closest " -"one (with the same <token>) to the place where the new one will be added." +"Specify the type of dates the frontend will supply to fast-import within " +"`author`, `committer` and `tagger` commands. See ``Date Formats'' below for " +"details about which formats are supported, and their syntax." +msgstr "" + +#. type: Labeled list +#: en/git-fast-import.txt:68 +#, no-wrap +msgid "--done" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:145 +#: en/git-fast-import.txt:73 msgid "" -"With `doNothing`, nothing will be done; that is no new trailer will be added " -"if there is already one with the same <token> in the message." +"Terminate with error if there is no `done` command at the end of the " +"stream. This option might be useful for detecting errors that cause the " +"frontend to terminate before it has started to write a stream." msgstr "" -#. type: Labeled list -#: en/git-interpret-trailers.txt:146 +#. type: Title ~ +#: en/git-fast-import.txt:75 #, no-wrap -msgid "trailer.ifmissing" +msgid "Locations of Marks Files" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:150 +#: en/git-fast-import.txt:85 msgid "" -"This option makes it possible to choose what action will be performed when " -"there is not yet any trailer with the same <token> in the message." +"Dumps the internal marks table to <file> when complete. Marks are written " +"one per line as `:markid SHA-1`. Frontends can use this file to validate " +"imports after they have been completed, or to save the marks table across " +"incremental runs. As <file> is only opened and truncated at checkpoint (or " +"completion) the same path can also be safely given to --import-marks." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:153 +#: en/git-fast-import.txt:93 msgid "" -"The valid values for this option are: `add` (this is the default) and " -"`doNothing`." +"Before processing any input, load the marks specified in <file>. The input " +"file must exist, must be readable, and must use the same format as produced " +"by --export-marks. Multiple options may be supplied to import more than one " +"set of marks. If a mark is defined to different values, the last file wins." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:155 -msgid "With `add`, a new trailer will be added." +#. type: Labeled list +#: en/git-fast-import.txt:94 +#, no-wrap +msgid "--import-marks-if-exists=<file>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:157 -msgid "With `doNothing`, nothing will be done." +#: en/git-fast-import.txt:97 +msgid "" +"Like --import-marks but instead of erroring out, silently skips the file if " +"it does not exist." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:158 +#: en/git-fast-import.txt:98 #, no-wrap -msgid "trailer.<token>.key" +msgid "--[no-]relative-marks" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:164 +#: en/git-fast-import.txt:105 msgid "" -"This `key` will be used instead of <token> in the trailer. At the end of " -"this key, a separator can appear and then some space characters. By default " -"the only valid separator is ':', but this can be changed using the " -"`trailer.separators` config variable." +"After specifying --relative-marks the paths specified with --import-marks= " +"and --export-marks= are relative to an internal directory in the current " +"repository. In git-fast-import this means that the paths are relative to " +"the .git/info/fast-import directory. However, other importers may use a " +"different location." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:167 +#: en/git-fast-import.txt:108 msgid "" -"If there is a separator, then the key will be used instead of both the " -"<token> and the default separator when adding the trailer." +"Relative and non-relative marks may be combined by interweaving " +"--(no-)-relative-marks with the --(import|export)-marks= options." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:110 +#, no-wrap +msgid "Performance and Compression Tuning" msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:168 +#: en/git-fast-import.txt:112 #, no-wrap -msgid "trailer.<token>.where" +msgid "--active-branches=<n>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:172 +#: en/git-fast-import.txt:115 msgid "" -"This option takes the same values as the 'trailer.where' configuration " -"variable and it overrides what is specified by that option for trailers with " -"the specified <token>." +"Maximum number of branches to maintain active at once. See ``Memory " +"Utilization'' below for details. Default is 5." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:173 +#: en/git-fast-import.txt:116 #, no-wrap -msgid "trailer.<token>.ifexist" +msgid "--big-file-threshold=<n>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:177 +#: en/git-fast-import.txt:121 msgid "" -"This option takes the same values as the 'trailer.ifexist' configuration " -"variable and it overrides what is specified by that option for trailers with " -"the specified <token>." +"Maximum size of a blob that fast-import will attempt to create a delta for, " +"expressed in bytes. The default is 512m (512 MiB). Some importers may wish " +"to lower this on systems with constrained memory." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:178 +#: en/git-fast-import.txt:122 en/git-fetch-pack.txt:85 en/git-pack-objects.txt:87 en/git-repack.txt:85 #, no-wrap -msgid "trailer.<token>.ifmissing" +msgid "--depth=<n>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:182 -msgid "" -"This option takes the same values as the 'trailer.ifmissing' configuration " -"variable and it overrides what is specified by that option for trailers with " -"the specified <token>." +#: en/git-fast-import.txt:125 +msgid "Maximum delta depth, for blob and tree deltification. Default is 10." msgstr "" #. type: Labeled list -#: en/git-interpret-trailers.txt:183 +#: en/git-fast-import.txt:126 #, no-wrap -msgid "trailer.<token>.command" +msgid "--export-pack-edges=<file>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:187 +#: en/git-fast-import.txt:134 msgid "" -"This option can be used to specify a shell command that will be called to " -"automatically add or modify a trailer with the specified <token>." +"After creating a packfile, print a line of data to <file> listing the " +"filename of the packfile and the last commit on each branch that was written " +"to that packfile. This information may be useful after importing projects " +"whose total object set exceeds the 4 GiB packfile limit, as these commits " +"can be used as edge points during calls to 'git pack-objects'." msgstr "" -#. type: Plain text -#: en/git-interpret-trailers.txt:193 -msgid "" -"When this option is specified, the behavior is as if a special " -"'<token>=<value>' argument were added at the beginning of the command line, " -"where <value> is taken to be the standard output of the specified command " -"with any leading and trailing whitespace trimmed off." +#. type: Labeled list +#: en/git-fast-import.txt:135 en/git-pack-objects.txt:110 en/git-repack.txt:108 +#, no-wrap +msgid "--max-pack-size=<n>" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:197 -msgid "" -"If the command contains the `$ARG` string, this string will be replaced with " -"the <value> part of an existing trailer with the same <token>, if any, " -"before the command is launched." +#: en/git-fast-import.txt:138 +msgid "Maximum size of each output packfile. The default is unlimited." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:203 -msgid "" -"If some '<token>=<value>' arguments are also passed on the command line, " -"when a 'trailer.<token>.command' is configured, the command will also be " -"executed for each of these arguments. And the <value> part of these " -"arguments, if any, will be used to replace the `$ARG` string in the command." +#: en/git-fast-import.txt:141 +msgid "See linkgit:git-config[1]" +msgstr "" + +#. type: Title - +#: en/git-fast-import.txt:143 +#, no-wrap +msgid "Performance" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:209 +#: en/git-fast-import.txt:150 msgid "" -"Configure a 'sign' trailer with a 'Signed-off-by' key, and then add two of " -"these trailers to a message:" +"The design of fast-import allows it to import large projects in a minimum " +"amount of memory usage and processing time. Assuming the frontend is able " +"to keep up with fast-import and feed it a constant stream of data, import " +"times for projects holding 10+ years of history and containing 100,000+ " +"individual commits are generally completed in just 1-2 hours on quite modest " +"(~$2,000 USD) hardware." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:214 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:156 msgid "" -"$ git config trailer.sign.key \"Signed-off-by\"\n" -"$ cat msg.txt\n" -"subject\n" +"Most bottlenecks appear to be in foreign source data access (the source just " +"cannot extract revisions fast enough) or disk IO (fast-import writes as fast " +"as the disk will take the data). Imports will run faster if the source data " +"is stored on a different drive than the destination Git repository (due to " +"less IO contention)." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:218 +#. type: Title - +#: en/git-fast-import.txt:159 #, no-wrap +msgid "Development Cost" +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:166 msgid "" -"message\n" -"$ cat msg.txt | git interpret-trailers --trailer 'sign: Alice " -"<alice@example.com>' --trailer 'sign: Bob <bob@example.com>'\n" -"subject\n" +"A typical frontend for fast-import tends to weigh in at approximately 200 " +"lines of Perl/Python/Ruby code. Most developers have been able to create " +"working importers in just a couple of hours, even though it is their first " +"exposure to fast-import, and sometimes even to Git. This is an ideal " +"situation, given that most conversion tools are throw-away (use once, and " +"never look back)." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:220 en/git-interpret-trailers.txt:232 en/git-interpret-trailers.txt:239 en/git-interpret-trailers.txt:303 +#. type: Title - +#: en/git-fast-import.txt:169 #, no-wrap -msgid "message\n" +msgid "Parallel Operation" msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:223 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:174 msgid "" -"Signed-off-by: Alice <alice@example.com>\n" -"Signed-off-by: Bob <bob@example.com>\n" +"Like 'git push' or 'git fetch', imports handled by fast-import are safe to " +"run alongside parallel `git repack -a -d` or `git gc` invocations, or any " +"other Git operation (including 'git prune', as loose objects are never used " +"by fast-import)." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:226 -msgid "Use the `--in-place` option to edit a message file in place:" +#: en/git-fast-import.txt:183 +msgid "" +"fast-import does not lock the branch or tag refs it is actively importing. " +"After the import, during its ref update phase, fast-import tests each " +"existing branch ref to verify the update will be a fast-forward update (the " +"commit stored in the ref is contained in the new history of the commit to be " +"written). If the update is not a fast-forward update, fast-import will skip " +"updating that ref and instead prints a warning message. fast-import will " +"always attempt to update all branch refs, and does not stop on the first " +"failure." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:230 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:187 msgid "" -"$ cat msg.txt\n" -"subject\n" +"Branch updates can be forced with --force, but it's recommended that this " +"only be used on an otherwise quiet repository. Using --force is not " +"necessary for an initial import into an empty repository." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:237 +#. type: Title - +#: en/git-fast-import.txt:190 #, no-wrap -msgid "" -"Signed-off-by: Bob <bob@example.com>\n" -"$ git interpret-trailers --trailer 'Acked-by: Alice <alice@example.com>' " -"--in-place msg.txt\n" -"$ cat msg.txt\n" -"subject\n" +msgid "Technical Discussion" msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:242 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:197 msgid "" -"Signed-off-by: Bob <bob@example.com>\n" -"Acked-by: Alice <alice@example.com>\n" +"fast-import tracks a set of branches in memory. Any branch can be created " +"or modified at any point during the import process by sending a `commit` " +"command on the input stream. This design allows a frontend program to " +"process an unlimited number of branches simultaneously, generating commits " +"in the order they are available from the source data. It also simplifies " +"the frontend programs considerably." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:246 +#: en/git-fast-import.txt:206 msgid "" -"Extract the last commit as a patch, and add a 'Cc' and a 'Reviewed-by' " -"trailer to it:" +"fast-import does not use or alter the current working directory, or any file " +"within it. (It does however update the current Git repository, as " +"referenced by `GIT_DIR`.) Therefore an import frontend may use the working " +"directory for its own purposes, such as extracting file revisions from the " +"foreign source. This ignorance of the working directory also allows " +"fast-import to run very quickly, as it does not need to perform any costly " +"file update operations when switching between branches." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:251 +#. type: Title ~ +#: en/git-fast-import.txt:208 en/git-rev-parse.txt:309 #, no-wrap -msgid "" -"$ git format-patch -1\n" -"0001-foo.patch\n" -"$ git interpret-trailers --trailer 'Cc: Alice <alice@example.com>' --trailer " -"'Reviewed-by: Bob <bob@example.com>' 0001-foo.patch >0001-bar.patch\n" +msgid "Input Format" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:256 -msgid "" -"Configure a 'sign' trailer with a command to automatically add a " -"'Signed-off-by: ' with the author information only if there is no " -"'Signed-off-by: ' already, and show how it works:" -msgstr "" - -#. type: delimited block - -#: en/git-interpret-trailers.txt:264 -#, no-wrap +#: en/git-fast-import.txt:214 msgid "" -"$ git config trailer.sign.key \"Signed-off-by: \"\n" -"$ git config trailer.sign.ifmissing add\n" -"$ git config trailer.sign.ifexists doNothing\n" -"$ git config trailer.sign.command 'echo \"$(git config user.name) <$(git " -"config user.email)>\"'\n" -"$ git interpret-trailers <<EOF\n" -"> EOF\n" +"With the exception of raw file data (which Git does not interpret) the " +"fast-import input format is text (ASCII) based. This text based format " +"simplifies development and debugging of frontend programs, especially when a " +"higher level language such as Perl, Python or Ruby is being used." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:269 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:222 msgid "" -"Signed-off-by: Bob <bob@example.com>\n" -"$ git interpret-trailers <<EOF\n" -"> Signed-off-by: Alice <alice@example.com>\n" -"> EOF\n" +"fast-import is very strict about its input. Where we say SP below we mean " +"*exactly* one space. Likewise LF means one (and only one) linefeed and HT " +"one (and only one) horizontal tab. Supplying additional whitespace " +"characters will cause unexpected results, such as branch names or file names " +"with leading or trailing spaces in their name, or early termination of " +"fast-import when it encounters unexpected input." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:271 +#. type: Title ~ +#: en/git-fast-import.txt:224 #, no-wrap -msgid "Signed-off-by: Alice <alice@example.com>\n" +msgid "Stream Comments" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:275 +#: en/git-fast-import.txt:231 msgid "" -"Configure a 'fix' trailer with a key that contains a '#' and no space after " -"this character, and show how it works:" +"To aid in debugging frontends fast-import ignores any line that begins with " +"`#` (ASCII pound/hash) up to and including the line ending `LF`. A comment " +"line may contain any sequence of bytes that does not contain an LF and " +"therefore may be used to include any detailed debugging information that " +"might be specific to the frontend and useful when inspecting a fast-import " +"data stream." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:281 +#. type: Title ~ +#: en/git-fast-import.txt:233 #, no-wrap +msgid "Date Formats" +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:237 msgid "" -"$ git config trailer.separators \":#\"\n" -"$ git config trailer.fix.key \"Fix #\"\n" -"$ echo \"subject\" | git interpret-trailers --trailer fix=42\n" -"subject\n" +"The following date formats are supported. A frontend should select the " +"format it will use for this import by passing the format name in the " +"--date-format=<fmt> command-line option." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:283 +#. type: Labeled list +#: en/git-fast-import.txt:238 #, no-wrap -msgid "Fix #42\n" +msgid "`raw`" msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:287 +#: en/git-fast-import.txt:242 msgid "" -"Configure a 'see' trailer with a command to show the subject of a commit " -"that is related, and show how it works:" +"This is the Git native format and is `<time> SP <offutc>`. It is also " +"fast-import's default format, if --date-format was not specified." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:301 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:246 msgid "" -"$ git config trailer.see.key \"See-also: \"\n" -"$ git config trailer.see.ifExists \"replace\"\n" -"$ git config trailer.see.ifMissing \"doNothing\"\n" -"$ git config trailer.see.command \"git log -1 --oneline --format=\\\"%h " -"(%s)\\\" --abbrev-commit --abbrev=14 \\$ARG\"\n" -"$ git interpret-trailers <<EOF\n" -"> subject\n" -"> \n" -"> message\n" -"> \n" -"> see: HEAD~2\n" -"> EOF\n" -"subject\n" -msgstr "" - -#. type: delimited block - -#: en/git-interpret-trailers.txt:305 -#, no-wrap -msgid "See-also: fe3187489d69c4 (subject of related commit)\n" +"The time of the event is specified by `<time>` as the number of seconds " +"since the UNIX epoch (midnight, Jan 1, 1970, UTC) and is written as an ASCII " +"decimal integer." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:312 +#: en/git-fast-import.txt:252 msgid "" -"Configure a commit template with some trailers with empty values (using sed " -"to show and keep the trailing spaces at the end of the trailers), then " -"configure a commit-msg hook that uses 'git interpret-trailers' to remove " -"trailers with empty values and to add a 'git-version' trailer:" +"The local offset is specified by `<offutc>` as a positive or negative offset " +"from UTC. For example EST (which is 5 hours behind UTC) would be expressed " +"in `<tz>` by ``-0500'' while UTC is ``+0000''. The local offset does not " +"affect `<time>`; it is used only as an advisement to help formatting " +"routines display the timestamp." msgstr "" -#. type: delimited block - -#: en/git-interpret-trailers.txt:331 -#, no-wrap +#. type: Plain text +#: en/git-fast-import.txt:258 msgid "" -"$ sed -e 's/ Z$/ /' >commit_template.txt <<EOF\n" -"> ***subject***\n" -"> \n" -"> ***message***\n" -"> \n" -"> Fixes: Z\n" -"> Cc: Z\n" -"> Reviewed-by: Z\n" -"> Signed-off-by: Z\n" -"> EOF\n" -"$ git config commit.template commit_template.txt\n" -"$ cat >.git/hooks/commit-msg <<EOF\n" -"> #!/bin/sh\n" -"> git interpret-trailers --trim-empty --trailer \"git-version: \\$(git " -"describe)\" \"\\$1\" > \"\\$1.new\"\n" -"> mv \"\\$1.new\" \"\\$1\"\n" -"> EOF\n" -"$ chmod +x .git/hooks/commit-msg\n" +"If the local offset is not available in the source material, use ``+0000'', " +"or the most common local offset. For example many organizations have a CVS " +"repository which has only ever been accessed by users who are located in the " +"same location and time zone. In this case a reasonable offset from UTC " +"could be assumed." msgstr "" #. type: Plain text -#: en/git-interpret-trailers.txt:336 -msgid "linkgit:git-commit[1], linkgit:git-format-patch[1], linkgit:git-config[1]" +#: en/git-fast-import.txt:261 +msgid "" +"Unlike the `rfc2822` format, this format is very strict. Any variation in " +"formatting will cause fast-import to reject the value." msgstr "" -#. type: Title = -#: en/git-log.txt:2 +#. type: Labeled list +#: en/git-fast-import.txt:262 #, no-wrap -msgid "git-log(1)" +msgid "`rfc2822`" msgstr "" #. type: Plain text -#: en/git-log.txt:7 -msgid "git-log - Show commit logs" +#: en/git-fast-import.txt:264 +msgid "This is the standard email format as described by RFC 2822." msgstr "" #. type: Plain text -#: en/git-log.txt:13 -#, no-wrap -msgid "'git log' [<options>] [<revision range>] [[\\--] <path>...]\n" +#: en/git-fast-import.txt:269 +msgid "" +"An example value is ``Tue Feb 6 11:22:18 2007 -0500''. The Git parser is " +"accurate, but a little on the lenient side. It is the same parser used by " +"'git am' when applying patches received from email." msgstr "" #. type: Plain text -#: en/git-log.txt:17 -msgid "Shows the commit logs." +#: en/git-fast-import.txt:275 +msgid "" +"Some malformed strings may be accepted as valid dates. In some of these " +"cases Git will still be able to obtain the correct date from the malformed " +"string. There are also some types of malformed strings which Git will parse " +"wrong, and yet consider valid. Seriously malformed strings will be " +"rejected." msgstr "" #. type: Plain text -#: en/git-log.txt:22 +#: en/git-fast-import.txt:280 msgid "" -"The command takes options applicable to the `git rev-list` command to " -"control what is shown and how, and options applicable to the `git diff-*` " -"commands to control how the changes each commit introduces are shown." +"Unlike the `raw` format above, the time zone/UTC offset information " +"contained in an RFC 2822 date string is used to adjust the date value to UTC " +"prior to storage. Therefore it is important that this information be as " +"accurate as possible." msgstr "" -#. type: Labeled list -#: en/git-log.txt:27 -#, no-wrap -msgid "--follow" +#. type: Plain text +#: en/git-fast-import.txt:285 +msgid "" +"If the source material uses RFC 2822 style dates, the frontend should let " +"fast-import handle the parsing and conversion (rather than attempting to do " +"it itself) as the Git parser has been well tested in the wild." msgstr "" #. type: Plain text -#: en/git-log.txt:30 +#: en/git-fast-import.txt:290 msgid "" -"Continue listing the history of a file beyond renames (works only for a " -"single file)." +"Frontends should prefer the `raw` format if the source material already uses " +"UNIX-epoch format, can be coaxed to give dates in that format, or its format " +"is easily convertible to it, as there is no ambiguity in parsing." msgstr "" #. type: Labeled list -#: en/git-log.txt:31 +#: en/git-fast-import.txt:291 #, no-wrap -msgid "--no-decorate" +msgid "`now`" msgstr "" -#. type: Labeled list -#: en/git-log.txt:32 -#, no-wrap -msgid "--decorate[=short|full|auto|no]" +#. type: Plain text +#: en/git-fast-import.txt:294 +msgid "" +"Always use the current time and time zone. The literal `now` must always be " +"supplied for `<when>`." msgstr "" #. type: Plain text -#: en/git-log.txt:40 +#: en/git-fast-import.txt:299 msgid "" -"Print out the ref names of any commits that are shown. If 'short' is " -"specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and " -"'refs/remotes/' will not be printed. If 'full' is specified, the full ref " -"name (including prefix) will be printed. If 'auto' is specified, then if the " -"output is going to a terminal, the ref names are shown as if 'short' were " -"given, otherwise no ref names are shown. The default option is 'short'." +"This is a toy format. The current time and time zone of this system is " +"always copied into the identity string at the time it is being created by " +"fast-import. There is no way to specify a different time or time zone." msgstr "" -#. type: Labeled list -#: en/git-log.txt:41 -#, no-wrap -msgid "--source" +#. type: Plain text +#: en/git-fast-import.txt:304 +msgid "" +"This particular format is supplied as it's short to implement and may be " +"useful to a process that wants to create a new commit right now, without " +"needing to use a working directory or 'git update-index'." msgstr "" #. type: Plain text -#: en/git-log.txt:44 +#: en/git-fast-import.txt:311 msgid "" -"Print out the ref name given on the command line by which each commit was " -"reached." +"If separate `author` and `committer` commands are used in a `commit` the " +"timestamps may not match, as the system clock will be polled twice (once for " +"each command). The only way to ensure that both author and committer " +"identity information has the same timestamp is to omit `author` (thus " +"copying from `committer`) or to use a date format other than `now`." msgstr "" -#. type: Labeled list -#: en/git-log.txt:45 +#. type: Title ~ +#: en/git-fast-import.txt:313 #, no-wrap -msgid "--use-mailmap" +msgid "Commands" msgstr "" #. type: Plain text -#: en/git-log.txt:49 +#: en/git-fast-import.txt:317 msgid "" -"Use mailmap file to map author and committer names and email addresses to " -"canonical real names and email addresses. See linkgit:git-shortlog[1]." +"fast-import accepts several commands to update the current repository and " +"control the current import process. More detailed discussion (with " +"examples) of each command follows later." msgstr "" -#. type: Labeled list -#: en/git-log.txt:50 +#. type: Title ~ +#: en/git-fast-import.txt:318 en/git-fast-import.txt:380 #, no-wrap -msgid "--full-diff" +msgid "`commit`" msgstr "" #. type: Plain text -#: en/git-log.txt:56 +#: en/git-fast-import.txt:322 msgid "" -"Without this flag, `git log -p <path>...` shows commits that touch the " -"specified paths, and diffs about the same specified paths. With this, the " -"full diff is shown for commits that touch the specified paths; this means " -"that \"<path>...\" limits only commits, and doesn't limit diff for those " -"commits." +"Creates a new branch or updates an existing branch by creating a new commit " +"and updating the branch to point at the newly created commit." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:323 en/git-fast-import.txt:744 +#, no-wrap +msgid "`tag`" msgstr "" #. type: Plain text -#: en/git-log.txt:59 +#: en/git-fast-import.txt:328 msgid "" -"Note that this affects all diff-based output types, e.g. those produced by " -"`--stat`, etc." +"Creates an annotated tag object from an existing commit or branch. " +"Lightweight tags are not supported by this command, as they are not " +"recommended for recording meaningful points in time." msgstr "" -#. type: Labeled list -#: en/git-log.txt:60 +#. type: Title ~ +#: en/git-fast-import.txt:329 en/git-fast-import.txt:787 #, no-wrap -msgid "--log-size" +msgid "`reset`" msgstr "" #. type: Plain text -#: en/git-log.txt:65 +#: en/git-fast-import.txt:333 msgid "" -"Include a line ``log size <number>'' in the output for each commit, where " -"<number> is the length of that commit's message in bytes. Intended to speed " -"up tools that read log messages from `git log` output by allowing them to " -"allocate space in advance." -msgstr "" - -#. type: Labeled list -#: en/git-log.txt:66 -#, no-wrap -msgid "-L <start>,<end>:<file>" +"Reset an existing branch (or a new branch) to a specific revision. This " +"command must be used to change a branch to a specific revision without " +"making a commit on it." msgstr "" -#. type: Labeled list -#: en/git-log.txt:67 +#. type: Title ~ +#: en/git-fast-import.txt:334 en/git-fast-import.txt:816 #, no-wrap -msgid "-L :<funcname>:<file>" +msgid "`blob`" msgstr "" #. type: Plain text -#: en/git-log.txt:74 +#: en/git-fast-import.txt:338 msgid "" -"Trace the evolution of the line range given by \"<start>,<end>\" (or the " -"function name regex <funcname>) within the <file>. You may not give any " -"pathspec limiters. This is currently limited to a walk starting from a " -"single revision, i.e., you may only give zero or one positive revision " -"arguments. You can specify this option more than once." +"Convert raw file data into a blob, for future use in a `commit` command. " +"This command is optional and is not needed to perform an import." msgstr "" -#. type: Labeled list -#: en/git-log.txt:77 en/git-shortlog.txt:63 +#. type: Title ~ +#: en/git-fast-import.txt:339 en/git-fast-import.txt:888 #, no-wrap -msgid "<revision range>" +msgid "`checkpoint`" msgstr "" #. type: Plain text -#: en/git-log.txt:85 +#: en/git-fast-import.txt:344 msgid "" -"Show only commits in the specified revision range. When no <revision range> " -"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " -"current commit). `origin..HEAD` specifies all the commits reachable from " -"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " -"of ways to spell <revision range>, see the 'Specifying Ranges' section of " -"linkgit:gitrevisions[7]." +"Forces fast-import to close the current packfile, generate its unique SHA-1 " +"checksum and index, and start a new packfile. This command is optional and " +"is not needed to perform an import." msgstr "" -#. type: Plain text -#: en/git-log.txt:91 +#. type: Title ~ +#: en/git-fast-import.txt:345 en/git-fast-import.txt:916 #, no-wrap -msgid "" -"[\\--] <path>...::\n" -"\tShow only commits that are enough to explain how the files\n" -"\tthat match the specified paths came to be. See 'History\n" -"\tSimplification' below for details and other simplification\n" -"\tmodes.\n" +msgid "`progress`" msgstr "" #. type: Plain text -#: en/git-log.txt:94 +#: en/git-fast-import.txt:349 msgid "" -"Paths may need to be prefixed with ``\\-- '' to separate them from options " -"or the revision range, when confusion arises." -msgstr "" - -#. type: Title - -#: en/git-log.txt:100 en/git-show.txt:49 -#, no-wrap -msgid "COMMON DIFF OPTIONS" +"Causes fast-import to echo the entire line to its own standard output. This " +"command is optional and is not needed to perform an import." msgstr "" -#. type: Labeled list -#: en/git-log.txt:109 +#. type: Title ~ +#: en/git-fast-import.txt:350 en/git-fast-import.txt:1126 #, no-wrap -msgid "`git log --no-merges`" +msgid "`done`" msgstr "" #. type: Plain text -#: en/git-log.txt:112 -msgid "Show the whole commit history, but skip any merges" +#: en/git-fast-import.txt:354 +msgid "" +"Marks the end of the stream. This command is optional unless the `done` " +"feature was requested using the `--done` command-line option or `feature " +"done` command." msgstr "" -#. type: Labeled list -#: en/git-log.txt:113 +#. type: Title ~ +#: en/git-fast-import.txt:355 en/git-fast-import.txt:941 #, no-wrap -msgid "`git log v2.6.12.. include/scsi drivers/scsi`" +msgid "`get-mark`" msgstr "" #. type: Plain text -#: en/git-log.txt:117 +#: en/git-fast-import.txt:359 msgid "" -"Show all commits since version 'v2.6.12' that changed any file in the " -"`include/scsi` or `drivers/scsi` subdirectories" +"Causes fast-import to print the SHA-1 corresponding to a mark to the file " +"descriptor set with `--cat-blob-fd`, or `stdout` if unspecified." msgstr "" -#. type: Labeled list -#: en/git-log.txt:118 +#. type: Title ~ +#: en/git-fast-import.txt:360 en/git-fast-import.txt:960 #, no-wrap -msgid "`git log --since=\"2 weeks ago\" -- gitk`" +msgid "`cat-blob`" msgstr "" #. type: Plain text -#: en/git-log.txt:123 +#: en/git-fast-import.txt:364 msgid "" -"Show the changes during the last two weeks to the file 'gitk'. The ``--'' " -"is necessary to avoid confusion with the *branch* named 'gitk'" +"Causes fast-import to print a blob in 'cat-file --batch' format to the file " +"descriptor set with `--cat-blob-fd` or `stdout` if unspecified." msgstr "" -#. type: Labeled list -#: en/git-log.txt:124 +#. type: Title ~ +#: en/git-fast-import.txt:365 en/git-fast-import.txt:990 #, no-wrap -msgid "`git log --name-status release..test`" +msgid "`ls`" msgstr "" #. type: Plain text -#: en/git-log.txt:129 +#: en/git-fast-import.txt:369 msgid "" -"Show the commits that are in the \"test\" branch but not yet in the " -"\"release\" branch, along with the list of paths each commit modifies." +"Causes fast-import to print a line describing a directory entry in 'ls-tree' " +"format to the file descriptor set with `--cat-blob-fd` or `stdout` if " +"unspecified." msgstr "" -#. type: Labeled list -#: en/git-log.txt:130 +#. type: Title ~ +#: en/git-fast-import.txt:370 en/git-fast-import.txt:1043 #, no-wrap -msgid "`git log --follow builtin/rev-list.c`" +msgid "`feature`" msgstr "" #. type: Plain text -#: en/git-log.txt:135 +#: en/git-fast-import.txt:373 msgid "" -"Shows the commits that changed `builtin/rev-list.c`, including those commits " -"that occurred before the file was given its present name." +"Enable the specified feature. This requires that fast-import supports the " +"specified feature, and aborts if it does not." msgstr "" -#. type: Labeled list -#: en/git-log.txt:136 +#. type: Title ~ +#: en/git-fast-import.txt:374 en/git-fast-import.txt:1098 #, no-wrap -msgid "`git log --branches --not --remotes=origin`" +msgid "`option`" msgstr "" #. type: Plain text -#: en/git-log.txt:141 +#: en/git-fast-import.txt:378 msgid "" -"Shows all commits that are in any of local branches but not in any of " -"remote-tracking branches for 'origin' (what you have that origin doesn't)." -msgstr "" - -#. type: Labeled list -#: en/git-log.txt:142 -#, no-wrap -msgid "`git log master --not --remotes=*/master`" +"Specify any of the options listed under OPTIONS that do not change stream " +"semantic to suit the frontend's needs. This command is optional and is not " +"needed to perform an import." msgstr "" #. type: Plain text -#: en/git-log.txt:146 +#: en/git-fast-import.txt:383 msgid "" -"Shows all commits that are in local master but not in any remote repository " -"master branches." +"Create or update a branch with a new commit, recording one logical change to " +"the project." msgstr "" -#. type: Labeled list -#: en/git-log.txt:147 +#. type: delimited block . +#: en/git-fast-import.txt:394 #, no-wrap -msgid "`git log -p -m --first-parent`" +msgid "" +"\t'commit' SP <ref> LF\n" +"\tmark?\n" +"\t('author' (SP <name>)? SP LT <email> GT SP <when> LF)?\n" +"\t'committer' (SP <name>)? SP LT <email> GT SP <when> LF\n" +"\tdata\n" +"\t('from' SP <commit-ish> LF)?\n" +"\t('merge' SP <commit-ish> LF)?\n" +"\t(filemodify | filedelete | filecopy | filerename | filedeleteall | " +"notemodify)*\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-log.txt:154 +#: en/git-fast-import.txt:402 msgid "" -"Shows the history including change diffs, but only from the ``main branch'' " -"perspective, skipping commits that come from merged branches, and showing " -"full diffs of changes introduced by the merges. This makes sense only when " -"following a strict policy of merging all topic branches when staying on a " -"single integration branch." -msgstr "" - -#. type: Labeled list -#: en/git-log.txt:155 -#, no-wrap -msgid "`git log -L '/int main/',/^}/:main.c`" +"where `<ref>` is the name of the branch to make the commit on. Typically " +"branch names are prefixed with `refs/heads/` in Git, so importing the CVS " +"branch symbol `RELENG-1_0` would use `refs/heads/RELENG-1_0` for the value " +"of `<ref>`. The value of `<ref>` must be a valid refname in Git. As `LF` " +"is not valid in a Git refname, no quoting or escaping syntax is supported " +"here." msgstr "" #. type: Plain text -#: en/git-log.txt:159 -msgid "Shows how the function `main()` in the file `main.c` evolved over time." +#: en/git-fast-import.txt:408 +msgid "" +"A `mark` command may optionally appear, requesting fast-import to save a " +"reference to the newly created commit for future use by the frontend (see " +"below for format). It is very common for frontends to mark every commit " +"they create, thereby allowing future branch creation from any imported " +"commit." msgstr "" -#. type: Labeled list -#: en/git-log.txt:160 -#, no-wrap -msgid "`git log -3`" +#. type: Plain text +#: en/git-fast-import.txt:414 +msgid "" +"The `data` command following `committer` must supply the commit message (see " +"below for `data` command syntax). To import an empty commit message use a 0 " +"length data. Commit messages are free-form and are not interpreted by Git. " +"Currently they must be encoded in UTF-8, as fast-import does not permit " +"other encodings to be specified." msgstr "" #. type: Plain text -#: en/git-log.txt:163 -msgid "Limits the number of commits to show to 3." +#: en/git-fast-import.txt:422 +msgid "" +"Zero or more `filemodify`, `filedelete`, `filecopy`, `filerename`, " +"`filedeleteall` and `notemodify` commands may be included to update the " +"contents of the branch prior to creating the commit. These commands may be " +"supplied in any order. However it is recommended that a `filedeleteall` " +"command precede all `filemodify`, `filecopy`, `filerename` and `notemodify` " +"commands in the same commit, as `filedeleteall` wipes the branch clean (see " +"below)." msgstr "" #. type: Plain text -#: en/git-log.txt:174 -msgid "" -"See linkgit:git-config[1] for core variables and linkgit:git-diff[1] for " -"settings related to diff generation." +#: en/git-fast-import.txt:424 en/git-fast-import.txt:803 en/git-fast-import.txt:914 +msgid "The `LF` after the command is optional (it used to be required)." msgstr "" -#. type: Labeled list -#: en/git-log.txt:175 en/config.txt:1383 +#. type: Title ^ +#: en/git-fast-import.txt:426 #, no-wrap -msgid "format.pretty" +msgid "`author`" msgstr "" #. type: Plain text -#: en/git-log.txt:178 +#: en/git-fast-import.txt:432 msgid "" -"Default for the `--format` option. (See 'Pretty Formats' above.) Defaults " -"to `medium`." +"An `author` command may optionally appear, if the author information might " +"differ from the committer information. If `author` is omitted then " +"fast-import will automatically use the committer's information for the " +"author portion of the commit. See below for a description of the fields in " +"`author`, as they are identical to `committer`." msgstr "" -#. type: Labeled list -#: en/git-log.txt:179 en/config.txt:2053 +#. type: Title ^ +#: en/git-fast-import.txt:434 #, no-wrap -msgid "i18n.logOutputEncoding" +msgid "`committer`" msgstr "" #. type: Plain text -#: en/git-log.txt:183 +#: en/git-fast-import.txt:437 msgid "" -"Encoding to use when displaying logs. (See 'Discussion' above.) Defaults " -"to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise." +"The `committer` command indicates who made this commit, and when they made " +"it." msgstr "" -#. type: Labeled list -#: en/git-log.txt:184 en/config.txt:2112 -#, no-wrap -msgid "log.date" +#. type: Plain text +#: en/git-fast-import.txt:445 +msgid "" +"Here `<name>` is the person's display name (for example ``Com M Itter'') and " +"`<email>` is the person's email address (``\\cm@example.com''). `LT` and " +"`GT` are the literal less-than (\\x3c) and greater-than (\\x3e) symbols. " +"These are required to delimit the email address from the other fields in the " +"line. Note that `<name>` and `<email>` are free-form and may contain any " +"sequence of bytes, except `LT`, `GT` and `LF`. `<name>` is typically UTF-8 " +"encoded." msgstr "" #. type: Plain text -#: en/git-log.txt:188 +#: en/git-fast-import.txt:450 msgid "" -"Default format for human-readable dates. (Compare the `--date` option.) " -"Defaults to \"default\", which means to write dates like `Sat May 8 19:35:34 " -"2010 -0500`." +"The time of the change is specified by `<when>` using the date format that " +"was selected by the --date-format=<fmt> command-line option. See ``Date " +"Formats'' above for the set of supported formats, and their syntax." msgstr "" -#. type: Labeled list -#: en/git-log.txt:189 en/config.txt:2127 +#. type: Title ^ +#: en/git-fast-import.txt:452 #, no-wrap -msgid "log.follow" +msgid "`from`" msgstr "" #. type: Plain text -#: en/git-log.txt:194 en/config.txt:2132 +#: en/git-fast-import.txt:458 msgid "" -"If `true`, `git log` will act as if the `--follow` option was used when a " -"single <path> is given. This has the same limitations as `--follow`, " -"i.e. it cannot be used to follow multiple files and does not work well on " -"non-linear history." +"The `from` command is used to specify the commit to initialize this branch " +"from. This revision will be the first ancestor of the new commit. The " +"state of the tree built at this commit will begin with the state at the " +"`from` commit, and be altered by the content modifications in this commit." msgstr "" -#. type: Labeled list -#: en/git-log.txt:195 en/config.txt:2137 -#, no-wrap -msgid "log.showRoot" +#. type: Plain text +#: en/git-fast-import.txt:468 +msgid "" +"Omitting the `from` command in the first commit of a new branch will cause " +"fast-import to create that commit with no ancestor. This tends to be desired " +"only for the initial commit of a project. If the frontend creates all files " +"from scratch when making a new branch, a `merge` command may be used instead " +"of `from` to start the commit with an empty tree. Omitting the `from` " +"command on existing branches is usually desired, as the current commit on " +"that branch is automatically assumed to be the first ancestor of the new " +"commit." msgstr "" #. type: Plain text -#: en/git-log.txt:200 +#: en/git-fast-import.txt:471 msgid "" -"If `false`, `git log` and related commands will not treat the initial commit " -"as a big creation event. Any root commits in `git log -p` output would be " -"shown without a diff attached. The default is `true`." +"As `LF` is not valid in a Git refname or SHA-1 expression, no quoting or " +"escaping syntax is supported within `<commit-ish>`." msgstr "" -#. type: Labeled list -#: en/git-log.txt:201 -#, no-wrap -msgid "log.showSignature" +#. type: Plain text +#: en/git-fast-import.txt:473 +msgid "Here `<commit-ish>` is any of the following:" msgstr "" #. type: Plain text -#: en/git-log.txt:204 +#: en/git-fast-import.txt:477 msgid "" -"If `true`, `git log` and related commands will act as if the " -"`--show-signature` option was passed to them." +"The name of an existing branch already in fast-import's internal branch " +"table. If fast-import doesn't know the name, it's treated as a SHA-1 " +"expression." msgstr "" -#. type: Labeled list -#: en/git-log.txt:205 -#, no-wrap -msgid "mailmap.*" +#. type: Plain text +#: en/git-fast-import.txt:479 +msgid "A mark reference, `:<idnum>`, where `<idnum>` is the mark number." msgstr "" #. type: Plain text -#: en/git-log.txt:207 -msgid "See linkgit:git-shortlog[1]." +#: en/git-fast-import.txt:485 +msgid "" +"The reason fast-import uses `:` to denote a mark reference is this character " +"is not legal in a Git branch name. The leading `:` makes it easy to " +"distinguish between the mark 42 (`:42`) and the branch 42 (`42` or " +"`refs/heads/42`), or an abbreviated SHA-1 which happened to consist only of " +"base-10 digits." msgstr "" -#. type: Labeled list -#: en/git-log.txt:208 en/git-notes.txt:333 en/config.txt:2251 -#, no-wrap -msgid "notes.displayRef" +#. type: Plain text +#: en/git-fast-import.txt:487 +msgid "Marks must be declared (via `mark`) before they can be used." msgstr "" #. type: Plain text -#: en/git-log.txt:213 +#: en/git-fast-import.txt:489 +msgid "A complete 40 byte or abbreviated commit SHA-1 in hex." +msgstr "" + +#. type: Plain text +#: en/git-fast-import.txt:492 msgid "" -"Which refs, in addition to the default set by `core.notesRef` or " -"`GIT_NOTES_REF`, to read notes from when showing commit messages with the " -"`log` family of commands. See linkgit:git-notes[1]." +"Any valid Git SHA-1 expression that resolves to a commit. See ``SPECIFYING " +"REVISIONS'' in linkgit:gitrevisions[7] for details." msgstr "" #. type: Plain text -#: en/git-log.txt:217 +#: en/git-fast-import.txt:495 msgid "" -"May be an unabbreviated ref name or a glob and may be specified multiple " -"times. A warning will be issued for refs that do not exist, but a glob that " -"does not match any refs is silently ignored." +"The special null SHA-1 (40 zeros) specifies that the branch is to be " +"removed." msgstr "" #. type: Plain text -#: en/git-log.txt:221 +#: en/git-fast-import.txt:498 msgid "" -"This setting can be disabled by the `--no-notes` option, overridden by the " -"`GIT_NOTES_DISPLAY_REF` environment variable, and overridden by the " -"`--notes=<ref>` option." +"The special case of restarting an incremental import from the current branch " +"value should be written as:" msgstr "" -#. type: Title = -#: en/git-ls-files.txt:2 +#. type: delimited block - +#: en/git-fast-import.txt:500 #, no-wrap -msgid "git-ls-files(1)" +msgid "\tfrom refs/heads/branch^0\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:7 +#: en/git-fast-import.txt:507 msgid "" -"git-ls-files - Show information about files in the index and the working " -"tree" +"The `^0` suffix is necessary as fast-import does not permit a branch to " +"start from itself, and the branch is created in memory before the `from` " +"command is even read from the input. Adding `^0` will force fast-import to " +"resolve the commit through Git's revision parsing library, rather than its " +"internal branch table, thereby loading in the existing value of the branch." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:23 +#. type: Title ^ +#: en/git-fast-import.txt:509 #, no-wrap -msgid "" -"'git ls-files' [-z] [-t] [-v]\n" -"\t\t(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])*\n" -"\t\t(-[c|d|o|i|s|u|k|m])*\n" -"\t\t[--eol]\n" -"\t\t[-x <pattern>|--exclude=<pattern>]\n" -"\t\t[-X <file>|--exclude-from=<file>]\n" -"\t\t[--exclude-per-directory=<file>]\n" -"\t\t[--exclude-standard]\n" -"\t\t[--error-unmatch] [--with-tree=<tree-ish>]\n" -"\t\t[--full-name] [--recurse-submodules]\n" -"\t\t[--abbrev] [--] [<file>...]\n" +msgid "`merge`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:29 +#: en/git-fast-import.txt:517 msgid "" -"This merges the file listing in the directory cache index with the actual " -"working directory list, and shows different combinations of the two." -msgstr "" - -#. type: Plain text -#: en/git-ls-files.txt:32 -msgid "One or more of the options below may be used to determine the files shown:" +"Includes one additional ancestor commit. The additional ancestry link does " +"not change the way the tree state is built at this commit. If the `from` " +"command is omitted when creating a new branch, the first `merge` commit will " +"be the first ancestor of the current commit, and the branch will start out " +"with no files. An unlimited number of `merge` commands per commit are " +"permitted by fast-import, thereby establishing an n-way merge." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:38 -msgid "Show cached files in the output (default)" +#: en/git-fast-import.txt:520 +msgid "" +"Here `<commit-ish>` is any of the commit specification expressions also " +"accepted by `from` (see above)." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:40 +#. type: Title ^ +#: en/git-fast-import.txt:522 #, no-wrap -msgid "--deleted" +msgid "`filemodify`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:42 -msgid "Show deleted files in the output" +#: en/git-fast-import.txt:526 +msgid "" +"Included in a `commit` command to add a new file or change the content of an " +"existing file. This command has two different means of specifying the " +"content of the file." msgstr "" #. type: Labeled list -#: en/git-ls-files.txt:44 +#: en/git-fast-import.txt:527 en/git-fast-import.txt:694 #, no-wrap -msgid "--modified" +msgid "External data format" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:46 -msgid "Show modified files in the output" +#: en/git-fast-import.txt:530 +msgid "" +"The data content for the file was already supplied by a prior `blob` " +"command. The frontend just needs to connect it." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:48 +#. type: delimited block . +#: en/git-fast-import.txt:533 #, no-wrap -msgid "--others" +msgid "\t'M' SP <mode> SP <dataref> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:50 -msgid "Show other (i.e. untracked) files in the output" +#: en/git-fast-import.txt:540 +msgid "" +"Here usually `<dataref>` must be either a mark reference (`:<idnum>`) set " +"by a prior `blob` command, or a full 40-byte SHA-1 of an existing Git blob " +"object. If `<mode>` is `040000`` then `<dataref>` must be the full 40-byte " +"SHA-1 of an existing Git tree object or a mark reference set with " +"`--import-marks`." msgstr "" #. type: Labeled list -#: en/git-ls-files.txt:52 en/git-status.txt:97 +#: en/git-fast-import.txt:541 en/git-fast-import.txt:707 #, no-wrap -msgid "--ignored" +msgid "Inline data format" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:57 +#: en/git-fast-import.txt:545 msgid "" -"Show only ignored files in the output. When showing files in the index, " -"print only those matched by an exclude pattern. When showing \"other\" " -"files, show only those matched by an exclude pattern." +"The data content for the file has not been supplied yet. The frontend wants " +"to supply it as part of this modify command." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:59 +#. type: delimited block . +#: en/git-fast-import.txt:549 #, no-wrap -msgid "--stage" +msgid "" +"\t'M' SP <mode> SP 'inline' SP <path> LF\n" +"\tdata\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:61 -msgid "Show staged contents' object name, mode bits and stage number in the output." -msgstr "" - -#. type: Labeled list -#: en/git-ls-files.txt:62 -#, no-wrap -msgid "--directory" +#: en/git-fast-import.txt:552 en/git-fast-import.txt:718 +msgid "See below for a detailed description of the `data` command." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:65 +#: en/git-fast-import.txt:555 msgid "" -"If a whole directory is classified as \"other\", show just its name (with a " -"trailing slash) and not its whole contents." -msgstr "" - -#. type: Labeled list -#: en/git-ls-files.txt:66 -#, no-wrap -msgid "--no-empty-directory" +"In both formats `<mode>` is the type of file entry, specified in octal. Git " +"only supports the following modes:" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:68 -msgid "Do not list empty directories. Has no effect without --directory." +#: en/git-fast-import.txt:559 +msgid "" +"`100644` or `644`: A normal (not-executable) file. The majority of files in " +"most projects use this mode. If in doubt, this is what you want." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:70 en/git-update-index.txt:65 -#, no-wrap -msgid "--unmerged" +#. type: Plain text +#: en/git-fast-import.txt:560 +msgid "`100755` or `755`: A normal, but executable, file." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:72 -msgid "Show unmerged files in the output (forces --stage)" +#: en/git-fast-import.txt:561 +msgid "`120000`: A symlink, the content of the file will be the link target." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:74 -#, no-wrap -msgid "--killed" +#. type: Plain text +#: en/git-fast-import.txt:564 +msgid "" +"`160000`: A gitlink, SHA-1 of the object refers to a commit in another " +"repository. Git links can only be specified by SHA or through a commit " +"mark. They are used to implement submodules." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:78 +#: en/git-fast-import.txt:566 msgid "" -"Show files on the filesystem that need to be removed due to file/directory " -"conflicts for checkout-index to succeed." +"`040000`: A subdirectory. Subdirectories can only be specified by SHA or " +"through a tree mark set with `--import-marks`." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:82 +#: en/git-fast-import.txt:569 msgid "" -"\\0 line termination on output and do not quote filenames. See OUTPUT below " -"for more information." +"In both formats `<path>` is the complete path of the file to be added (if " +"not already existing) or modified (if already existing)." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:83 -#, no-wrap -msgid "-x <pattern>" +#. type: Plain text +#: en/git-fast-import.txt:573 +msgid "" +"A `<path>` string must use UNIX-style directory separators (forward slash " +"`/`), may contain any byte other than `LF`, and must not start with double " +"quote (`\"`)." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:88 +#: en/git-fast-import.txt:580 msgid "" -"Skip untracked files matching pattern. Note that pattern is a shell " -"wildcard pattern. See EXCLUDE PATTERNS below for more information." +"A path can use C-style string quoting; this is accepted in all cases and " +"mandatory if the filename starts with double quote or contains `LF`. In " +"C-style quoting, the complete name should be surrounded with double quotes, " +"and any `LF`, backslash, or double quote characters must be escaped by " +"preceding them with a backslash (e.g., `\"path/with\\n, \\\\ and \\\" in " +"it\"`)." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:89 -#, no-wrap -msgid "-X <file>" +#. type: Plain text +#: en/git-fast-import.txt:582 +msgid "The value of `<path>` must be in canonical form. That is it must not:" msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:90 -#, no-wrap -msgid "--exclude-from=<file>" +#. type: Plain text +#: en/git-fast-import.txt:584 +msgid "contain an empty directory component (e.g. `foo//bar` is invalid)," msgstr "" #. type: Plain text -#: en/git-ls-files.txt:92 -msgid "Read exclude patterns from <file>; 1 per line." +#: en/git-fast-import.txt:585 +msgid "end with a directory separator (e.g. `foo/` is invalid)," msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:93 -#, no-wrap -msgid "--exclude-per-directory=<file>" +#. type: Plain text +#: en/git-fast-import.txt:586 +msgid "start with a directory separator (e.g. `/foo` is invalid)," msgstr "" #. type: Plain text -#: en/git-ls-files.txt:96 +#: en/git-fast-import.txt:588 msgid "" -"Read additional exclude patterns that apply only to the directory and its " -"subdirectories in <file>." +"contain the special component `.` or `..` (e.g. `foo/./bar` and `foo/../bar` " +"are invalid)." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:100 -msgid "" -"Add the standard Git exclusions: .git/info/exclude, .gitignore in each " -"directory, and the user's global exclusion file." +#: en/git-fast-import.txt:590 +msgid "The root of the tree can be represented by an empty string as `<path>`." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:101 +#. type: Plain text +#: en/git-fast-import.txt:592 +msgid "It is recommended that `<path>` always be encoded using UTF-8." +msgstr "" + +#. type: Title ^ +#: en/git-fast-import.txt:594 #, no-wrap -msgid "--error-unmatch" +msgid "`filedelete`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:104 +#: en/git-fast-import.txt:600 msgid "" -"If any <file> does not appear in the index, treat this as an error (return " -"1)." -msgstr "" +"Included in a `commit` command to remove a file or recursively delete an " +"entire directory from the branch. If the file or directory removal makes " +"its parent directory empty, the parent directory will be automatically " +"removed too. This cascades up the tree until the first non-empty directory " +"or the root is reached." +msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:105 +#. type: delimited block . +#: en/git-fast-import.txt:603 #, no-wrap -msgid "--with-tree=<tree-ish>" +msgid "\t'D' SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:111 +#: en/git-fast-import.txt:608 msgid "" -"When using --error-unmatch to expand the user supplied <file> (i.e. path " -"pattern) arguments to paths, pretend that paths which were removed in the " -"index since the named <tree-ish> are still present. Using this option with " -"`-s` or `-u` options does not make any sense." +"here `<path>` is the complete path of the file or subdirectory to be removed " +"from the branch. See `filemodify` above for a detailed description of " +"`<path>`." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:119 -msgid "" -"This feature is semi-deprecated. For scripting purpose, " -"linkgit:git-status[1] `--porcelain` and linkgit:git-diff-files[1] " -"`--name-status` are almost always superior alternatives, and users should " -"look at linkgit:git-status[1] `--short` or linkgit:git-diff[1] " -"`--name-status` for more user-friendly alternatives." +#. type: Title ^ +#: en/git-fast-import.txt:610 +#, no-wrap +msgid "`filecopy`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:122 +#: en/git-fast-import.txt:615 msgid "" -"This option identifies the file status with the following tags (followed by " -"a space) at the start of each line:" +"Recursively copies an existing file or subdirectory to a different location " +"within the branch. The existing file or directory must exist. If the " +"destination exists it will be completely replaced by the content copied from " +"the source." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:123 +#. type: delimited block . +#: en/git-fast-import.txt:618 #, no-wrap -msgid "H" +msgid "\t'C' SP <path> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:124 -msgid "cached" -msgstr "" - -#. type: Labeled list -#: en/git-ls-files.txt:124 -#, no-wrap -msgid "S" +#: en/git-fast-import.txt:624 en/git-fast-import.txt:644 +msgid "" +"here the first `<path>` is the source location and the second `<path>` is " +"the destination. See `filemodify` above for a detailed description of what " +"`<path>` may look like. To use a source path that contains SP the path must " +"be quoted." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:125 -msgid "skip-worktree" +#: en/git-fast-import.txt:629 +msgid "" +"A `filecopy` command takes effect immediately. Once the source location has " +"been copied to the destination any future commands applied to the source " +"location will not impact the destination of the copy." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:125 +#. type: Title ^ +#: en/git-fast-import.txt:631 #, no-wrap -msgid "M" +msgid "`filerename`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:126 -msgid "unmerged" +#: en/git-fast-import.txt:635 +msgid "" +"Renames an existing file or subdirectory to a different location within the " +"branch. The existing file or directory must exist. If the destination " +"exists it will be replaced by the source directory." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:126 +#. type: delimited block . +#: en/git-fast-import.txt:638 #, no-wrap -msgid "R" +msgid "\t'R' SP <path> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:127 -msgid "removed/deleted" -msgstr "" - -#. type: Labeled list -#: en/git-ls-files.txt:127 -#, no-wrap -msgid "C" +#: en/git-fast-import.txt:649 +msgid "" +"A `filerename` command takes effect immediately. Once the source location " +"has been renamed to the destination any future commands applied to the " +"source location will create new files there and not impact the destination " +"of the rename." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:128 -msgid "modified/changed" +#: en/git-fast-import.txt:658 +msgid "" +"Note that a `filerename` is the same as a `filecopy` followed by a " +"`filedelete` of the source location. There is a slight performance " +"advantage to using `filerename`, but the advantage is so small that it is " +"never worth trying to convert a delete/add pair in source material into a " +"rename for fast-import. This `filerename` command is provided just to " +"simplify frontends that already have rename information and don't want " +"bother with decomposing it into a `filecopy` followed by a `filedelete`." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:128 +#. type: Title ^ +#: en/git-fast-import.txt:660 #, no-wrap -msgid "K" +msgid "`filedeleteall`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:129 -msgid "to be killed" +#: en/git-fast-import.txt:665 +msgid "" +"Included in a `commit` command to remove all files (and also all " +"directories) from the branch. This command resets the internal branch " +"structure to have no files in it, allowing the frontend to subsequently add " +"all interesting files from scratch." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:129 +#. type: delimited block . +#: en/git-fast-import.txt:668 #, no-wrap -msgid "?" +msgid "\t'deleteall' LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:135 +#: en/git-fast-import.txt:674 msgid "" -"Similar to `-t`, but use lowercase letters for files that are marked as " -"'assume unchanged' (see linkgit:git-update-index[1])." +"This command is extremely useful if the frontend does not know (or does not " +"care to know) what files are currently on the branch, and therefore cannot " +"generate the proper `filedelete` commands to update the content." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:145 +#: en/git-fast-import.txt:682 msgid "" -"Recursively calls ls-files on each submodule in the repository. Currently " -"there is only support for the --cached mode." +"Issuing a `filedeleteall` followed by the needed `filemodify` commands to " +"set the correct content will produce the same results as sending only the " +"needed `filemodify` and `filedelete` commands. The `filedeleteall` approach " +"may however require fast-import to use slightly more memory per active " +"branch (less than 1 MiB for even most large projects); so frontends that can " +"easily obtain only the affected paths for a commit are encouraged to do so." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:146 en/git-ls-tree.txt:63 en/git-show-ref.txt:65 en/diff-options.txt:324 +#. type: Title ^ +#: en/git-fast-import.txt:684 #, no-wrap -msgid "--abbrev[=<n>]" +msgid "`notemodify`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:150 en/git-ls-tree.txt:67 +#: en/git-fast-import.txt:693 msgid "" -"Instead of showing the full 40-byte hexadecimal object lines, show only a " -"partial prefix. Non default number of digits can be specified with " -"--abbrev=<n>." +"Included in a `commit` `<notes_ref>` command to add a new note annotating a " +"`<commit-ish>` or change this annotation contents. Internally it is similar " +"to filemodify 100644 on `<commit-ish>` path (maybe split into " +"subdirectories). It's not advised to use any other commands to write to the " +"`<notes_ref>` tree except `filedeleteall` to delete all existing notes in " +"this tree. This command has two different means of specifying the content " +"of the note." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:156 +#: en/git-fast-import.txt:698 msgid "" -"After each line that describes a file, add more data about its cache entry. " -"This is intended to show as much information as possible for manual " -"inspection; the exact format may change at any time." +"The data content for the note was already supplied by a prior `blob` " +"command. The frontend just needs to connect it to the commit that is to be " +"annotated." msgstr "" -#. type: Labeled list -#: en/git-ls-files.txt:157 +#. type: delimited block . +#: en/git-fast-import.txt:701 #, no-wrap -msgid "--eol" -msgstr "" - -#. type: Plain text -#: en/git-ls-files.txt:162 -msgid "" -"Show <eolinfo> and <eolattr> of files. <eolinfo> is the file content " -"identification used by Git when the \"text\" attribute is \"auto\" (or not " -"set and core.autocrlf is not false). <eolinfo> is either \"-text\", " -"\"none\", \"lf\", \"crlf\", \"mixed\" or \"\"." +msgid "\t'N' SP <dataref> SP <commit-ish> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:165 +#: en/git-fast-import.txt:706 msgid "" -"\"\" means the file is not a regular file, it is not in the index or not " -"accessible in the working tree." +"Here `<dataref>` can be either a mark reference (`:<idnum>`) set by a prior " +"`blob` command, or a full 40-byte SHA-1 of an existing Git blob object." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:169 +#: en/git-fast-import.txt:711 msgid "" -"<eolattr> is the attribute that is used when checking out or committing, it " -"is either \"\", \"-text\", \"text\", \"text=auto\", \"text eol=lf\", \"text " -"eol=crlf\". Since Git 2.10 \"text=auto eol=lf\" and \"text=auto eol=crlf\" " -"are supported." +"The data content for the note has not been supplied yet. The frontend wants " +"to supply it as part of this modify command." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:173 +#. type: delimited block . +#: en/git-fast-import.txt:715 +#, no-wrap msgid "" -"Both the <eolinfo> in the index (\"i/<eolinfo>\") and in the working tree " -"(\"w/<eolinfo>\") are shown for regular files, followed by the " -"(\"attr/<eolattr>\")." +"\t'N' SP 'inline' SP <commit-ish> LF\n" +"\tdata\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:180 +#: en/git-fast-import.txt:721 msgid "" -"Files to show. If no files are given all files which match the other " -"specified criteria are shown." +"In both formats `<commit-ish>` is any of the commit specification " +"expressions also accepted by `from` (see above)." msgstr "" -#. type: Title - -#: en/git-ls-files.txt:182 +#. type: Title ~ +#: en/git-fast-import.txt:723 #, no-wrap -msgid "Output" +msgid "`mark`" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:185 +#: en/git-fast-import.txt:729 msgid "" -"'git ls-files' just outputs the filenames unless `--stage` is specified in " -"which case it outputs:" +"Arranges for fast-import to save a reference to the current object, allowing " +"the frontend to recall this object at a future point in time, without " +"knowing its SHA-1. Here the current object is the object creation command " +"the `mark` command appears within. This can be `commit`, `tag`, and `blob`, " +"but `commit` is the most common usage." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:187 +#. type: delimited block . +#: en/git-fast-import.txt:732 #, no-wrap -msgid " [<tag> ]<mode> <object> <stage> <file>\n" +msgid "\t'mark' SP ':' <idnum> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-files.txt:190 -#, no-wrap +#: en/git-fast-import.txt:738 msgid "" -"'git ls-files --eol' will show\n" -"\ti/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><file>\n" +"where `<idnum>` is the number assigned by the frontend to this mark. The " +"value of `<idnum>` is expressed as an ASCII decimal integer. The value 0 is " +"reserved and cannot be used as a mark. Only values greater than or equal to " +"1 may be used as marks." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:193 +#: en/git-fast-import.txt:742 msgid "" -"'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine " -"detailed information on unmerged paths." +"New marks are created automatically. Existing marks can be moved to another " +"object simply by reusing the same `<idnum>` in another `mark` command." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:199 +#: en/git-fast-import.txt:747 msgid "" -"For an unmerged path, instead of recording a single mode/SHA-1 pair, the " -"index records up to three such pairs; one from tree O in stage 1, A in stage " -"2, and B in stage 3. This information can be used by the user (or the " -"porcelain) to see what should eventually be recorded at the path. (see " -"linkgit:git-read-tree[1] for more information on state)" +"Creates an annotated tag referring to a specific commit. To create " +"lightweight (non-annotated) tags see the `reset` command below." msgstr "" -#. type: Plain text -#: en/git-ls-files.txt:204 en/git-ls-tree.txt:101 en/diff-format.txt:85 +#. type: delimited block . +#: en/git-fast-import.txt:753 +#, no-wrap msgid "" -"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " -"explained for the configuration variable `core.quotePath` (see " -"linkgit:git-config[1]). Using `-z` the filename is output verbatim and the " -"line is terminated by a NUL byte." +"\t'tag' SP <name> LF\n" +"\t'from' SP <commit-ish> LF\n" +"\t'tagger' (SP <name>)? SP LT <email> GT SP <when> LF\n" +"\tdata\n" msgstr "" -#. type: Title - -#: en/git-ls-files.txt:207 -#, no-wrap -msgid "Exclude Patterns" +#. type: Plain text +#: en/git-fast-import.txt:756 +msgid "where `<name>` is the name of the tag to create." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:213 +#: en/git-fast-import.txt:761 msgid "" -"'git ls-files' can use a list of \"exclude patterns\" when traversing the " -"directory tree and finding files to show when the flags --others or " -"--ignored are specified. linkgit:gitignore[5] specifies the format of " -"exclude patterns." +"Tag names are automatically prefixed with `refs/tags/` when stored in Git, " +"so importing the CVS branch symbol `RELENG-1_0-FINAL` would use just " +"`RELENG-1_0-FINAL` for `<name>`, and fast-import will write the " +"corresponding ref as `refs/tags/RELENG-1_0-FINAL`." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:215 -msgid "These exclude patterns come from these places, in order:" +#: en/git-fast-import.txt:765 +msgid "" +"The value of `<name>` must be a valid refname in Git and therefore may " +"contain forward slashes. As `LF` is not valid in a Git refname, no quoting " +"or escaping syntax is supported here." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:219 +#: en/git-fast-import.txt:768 msgid "" -"The command-line flag --exclude=<pattern> specifies a single pattern. " -"Patterns are ordered in the same order they appear in the command line." +"The `from` command is the same as in the `commit` command; see above for " +"details." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:223 +#: en/git-fast-import.txt:771 msgid "" -"The command-line flag --exclude-from=<file> specifies a file containing a " -"list of patterns. Patterns are ordered in the same order they appear in the " -"file." +"The `tagger` command uses the same format as `committer` within `commit`; " +"again see above for details." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:229 +#: en/git-fast-import.txt:777 msgid "" -"The command-line flag --exclude-per-directory=<name> specifies a name of the " -"file in each directory 'git ls-files' examines, normally `.gitignore`. " -"Files in deeper directories take precedence. Patterns are ordered in the " -"same order they appear in the files." +"The `data` command following `tagger` must supply the annotated tag message " +"(see below for `data` command syntax). To import an empty tag message use a " +"0 length data. Tag messages are free-form and are not interpreted by Git. " +"Currently they must be encoded in UTF-8, as fast-import does not permit " +"other encodings to be specified." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:235 +#: en/git-fast-import.txt:785 msgid "" -"A pattern specified on the command line with --exclude or read from the file " -"specified with --exclude-from is relative to the top of the directory tree. " -"A pattern read from a file specified by --exclude-per-directory is relative " -"to the directory that the pattern file appears in." +"Signing annotated tags during import from within fast-import is not " +"supported. Trying to include your own PGP/GPG signature is not recommended, " +"as the frontend does not (easily) have access to the complete set of bytes " +"which normally goes into such a signature. If signing is required, create " +"lightweight tags from within fast-import with `reset`, then create the " +"annotated versions of those tags offline with the standard 'git tag' " +"process." msgstr "" #. type: Plain text -#: en/git-ls-files.txt:239 -msgid "linkgit:git-read-tree[1], linkgit:gitignore[5]" +#: en/git-fast-import.txt:792 +msgid "" +"Creates (or recreates) the named branch, optionally starting from a specific " +"revision. The reset command allows a frontend to issue a new `from` command " +"for an existing branch, or to create a new branch from an existing commit " +"without creating a new commit." msgstr "" -#. type: Title = -#: en/git-ls-remote.txt:2 +#. type: delimited block . +#: en/git-fast-import.txt:797 #, no-wrap -msgid "git-ls-remote(1)" +msgid "" +"\t'reset' SP <ref> LF\n" +"\t('from' SP <commit-ish> LF)?\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:7 -msgid "git-ls-remote - List references in a remote repository" +#: en/git-fast-import.txt:801 +msgid "" +"For a detailed description of `<ref>` and `<commit-ish>` see above under " +"`commit` and `from`." msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:15 +#: en/git-fast-import.txt:806 +msgid "" +"The `reset` command can also be used to create lightweight (non-annotated) " +"tags. For example:" +msgstr "" + +#. type: delimited block = +#: en/git-fast-import.txt:810 #, no-wrap msgid "" -"'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" -"\t [-q | --quiet] [--exit-code] [--get-url]\n" -"\t [--symref] [<repository> [<refs>...]]\n" +"\treset refs/tags/938\n" +"\tfrom :938\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:20 +#: en/git-fast-import.txt:814 msgid "" -"Displays references available in a remote repository along with the " -"associated commit IDs." +"would create the lightweight tag `refs/tags/938` referring to whatever " +"commit mark `:938` references." msgstr "" -#. type: Labeled list -#: en/git-ls-remote.txt:25 en/git-show-ref.txt:41 +#. type: Plain text +#: en/git-fast-import.txt:821 +msgid "" +"Requests writing one file revision to the packfile. The revision is not " +"connected to any commit; this connection must be formed in a subsequent " +"`commit` command by referencing the blob through an assigned mark." +msgstr "" + +#. type: delimited block . +#: en/git-fast-import.txt:826 #, no-wrap -msgid "--heads" +msgid "" +"\t'blob' LF\n" +"\tmark?\n" +"\tdata\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:32 +#: en/git-fast-import.txt:832 msgid "" -"Limit to only refs/heads and refs/tags, respectively. These options are " -"_not_ mutually exclusive; when given both, references stored in refs/heads " -"and refs/tags are displayed." +"The mark command is optional here as some frontends have chosen to generate " +"the Git SHA-1 for the blob on their own, and feed that directly to " +"`commit`. This is typically more work than it's worth however, as marks are " +"inexpensive to store and easy to use." msgstr "" -#. type: Labeled list -#: en/git-ls-remote.txt:33 +#. type: Title ~ +#: en/git-fast-import.txt:834 #, no-wrap -msgid "--refs" +msgid "`data`" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:35 -msgid "Do not show peeled tags or pseudorefs like HEAD\tin the output." +#: en/git-fast-import.txt:841 +msgid "" +"Supplies raw data (for use as blob/file content, commit messages, or " +"annotated tag messages) to fast-import. Data can be supplied using an exact " +"byte count or delimited with a terminating line. Real frontends intended " +"for production-quality conversions should always use the exact byte count " +"format, as it is more robust and performs better. The delimited format is " +"intended primarily for testing fast-import." msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:39 -msgid "Do not print remote URL to stderr." +#: en/git-fast-import.txt:846 +msgid "" +"Comment lines appearing within the `<raw>` part of `data` commands are " +"always taken to be part of the body of the data and are therefore never " +"ignored by fast-import. This makes it safe to import any file/message " +"content whose lines might start with `#`." msgstr "" #. type: Labeled list -#: en/git-ls-remote.txt:40 +#: en/git-fast-import.txt:847 #, no-wrap -msgid "--upload-pack=<exec>" +msgid "Exact byte count format" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:45 -msgid "" -"Specify the full path of 'git-upload-pack' on the remote host. This allows " -"listing references from repositories accessed via SSH and where the SSH " -"daemon does not use the PATH configured by the user." +#: en/git-fast-import.txt:849 +msgid "The frontend must specify the number of bytes of data." msgstr "" -#. type: Labeled list -#: en/git-ls-remote.txt:46 en/diff-options.txt:552 +#. type: delimited block . +#: en/git-fast-import.txt:853 #, no-wrap -msgid "--exit-code" +msgid "" +"\t'data' SP <count> LF\n" +"\t<raw> LF?\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:51 +#: en/git-fast-import.txt:859 msgid "" -"Exit with status \"2\" when no matching refs are found in the remote " -"repository. Usually the command exits with status \"0\" to indicate it " -"successfully talked with the remote repository, whether it found any " -"matching refs." -msgstr "" - -#. type: Labeled list -#: en/git-ls-remote.txt:52 -#, no-wrap -msgid "--get-url" +"where `<count>` is the exact number of bytes appearing within `<raw>`. The " +"value of `<count>` is expressed as an ASCII decimal integer. The `LF` on " +"either side of `<raw>` is not included in `<count>` and will not be included " +"in the imported data." msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:56 +#: en/git-fast-import.txt:864 msgid "" -"Expand the URL of the given remote repository taking into account any " -"\"url.<base>.insteadOf\" config setting (See linkgit:git-config[1]) and exit " -"without talking to the remote." +"The `LF` after `<raw>` is optional (it used to be required) but " +"recommended. Always including it makes debugging a fast-import stream " +"easier as the next command always starts in column 0 of the next line, even " +"if `<raw>` did not end with an `LF`." msgstr "" #. type: Labeled list -#: en/git-ls-remote.txt:57 +#: en/git-fast-import.txt:865 #, no-wrap -msgid "--symref" +msgid "Delimited format" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:62 +#: en/git-fast-import.txt:870 msgid "" -"In addition to the object pointed by it, show the underlying ref pointed by " -"it when showing a symbolic ref. Currently, upload-pack only shows the " -"symref HEAD, so it will be the only one shown by ls-remote." +"A delimiter string is used to mark the end of the data. fast-import will " +"compute the length by searching for the delimiter. This format is primarily " +"useful for testing and is not recommended for real data." msgstr "" -#. type: Plain text -#: en/git-ls-remote.txt:67 +#. type: delimited block . +#: en/git-fast-import.txt:876 +#, no-wrap msgid "" -"The \"remote\" repository to query. This parameter can be either a URL or " -"the name of a remote (see the GIT URLS and REMOTES sections of " -"linkgit:git-fetch[1])." +"\t'data' SP '<<' <delim> LF\n" +"\t<raw> LF\n" +"\t<delim> LF\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:73 +#: en/git-fast-import.txt:884 msgid "" -"When unspecified, all references, after filtering done with --heads and " -"--tags, are shown. When <refs>... are specified, only references matching " -"the given patterns are displayed." +"where `<delim>` is the chosen delimiter string. The string `<delim>` must " +"not appear on a line by itself within `<raw>`, as otherwise fast-import will " +"think the data ends earlier than it really does. The `LF` immediately " +"trailing `<raw>` is part of `<raw>`. This is one of the limitations of the " +"delimited format, it is impossible to supply a data chunk which does not " +"have an LF as its last byte." msgstr "" #. type: Plain text -#: en/git-ls-remote.txt:92 -#, no-wrap -msgid "" -"\t$ git ls-remote --tags ./.\n" -"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" -"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" -"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" -"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" -"\t0918385dbd9656cab0d1d81ba7453d49bbc16250\trefs/tags/junio-gpg-pub\n" -"\t$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master pu rc\n" -"\t5fe978a5381f1fbad26a80e682ddd2a401966740\trefs/heads/master\n" -"\tc781a84b5204fb294c9ccc79f8b3baceeb32c061\trefs/heads/pu\n" -"\t$ git remote add korg http://www.kernel.org/pub/scm/git/git.git\n" -"\t$ git ls-remote --tags korg v\\*\n" -"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" -"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" -"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" -"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" -msgstr "" - -#. type: Title = -#: en/git-ls-tree.txt:2 -#, no-wrap -msgid "git-ls-tree(1)" +#: en/git-fast-import.txt:886 +msgid "The `LF` after `<delim> LF` is optional (it used to be required)." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:7 -msgid "git-ls-tree - List the contents of a tree object" +#: en/git-fast-import.txt:891 +msgid "" +"Forces fast-import to close the current packfile, start a new one, and to " +"save out all current branch refs, tags and marks." msgstr "" -#. type: Plain text -#: en/git-ls-tree.txt:15 +#. type: delimited block . +#: en/git-fast-import.txt:895 #, no-wrap msgid "" -"'git ls-tree' [-d] [-r] [-t] [-l] [-z]\n" -"\t [--name-only] [--name-status] [--full-name] [--full-tree] " -"[--abbrev[=<n>]]\n" -"\t <tree-ish> [<path>...]\n" +"\t'checkpoint' LF\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:20 +#: en/git-fast-import.txt:901 msgid "" -"Lists the contents of a given tree object, like what \"/bin/ls -a\" does in " -"the current working directory. Note that:" +"Note that fast-import automatically switches packfiles when the current " +"packfile reaches --max-pack-size, or 4 GiB, whichever limit is smaller. " +"During an automatic packfile switch fast-import does not update the branch " +"refs, tags or marks." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:25 +#: en/git-fast-import.txt:906 msgid "" -"the behaviour is slightly different from that of \"/bin/ls\" in that the " -"'<path>' denotes just a list of patterns to match, e.g. so specifying " -"directory name (without `-r`) will behave differently, and order of the " -"arguments does not matter." +"As a `checkpoint` can require a significant amount of CPU time and disk IO " +"(to compute the overall pack SHA-1 checksum, generate the corresponding " +"index file, and update the refs) it can easily take several minutes for a " +"single `checkpoint` command to complete." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:35 +#: en/git-fast-import.txt:912 msgid "" -"the behaviour is similar to that of \"/bin/ls\" in that the '<path>' is " -"taken as relative to the current working directory. E.g. when you are in a " -"directory 'sub' that has a directory 'dir', you can run 'git ls-tree -r HEAD " -"dir' to list the contents of the tree (that is 'sub/dir' in `HEAD`). You " -"don't want to give a tree that is not at the root level (e.g. `git ls-tree " -"-r HEAD:sub dir`) in this case, as that would result in asking for " -"'sub/sub/dir' in the `HEAD` commit. However, the current working directory " -"can be ignored by passing --full-tree option." -msgstr "" - -#. type: Plain text -#: en/git-ls-tree.txt:40 -msgid "Id of a tree-ish." -msgstr "" - -#. type: Plain text -#: en/git-ls-tree.txt:43 -msgid "Show only the named tree entry itself, not its children." -msgstr "" - -#. type: Plain text -#: en/git-ls-tree.txt:46 -msgid "Recurse into sub-trees." +"Frontends may choose to issue checkpoints during extremely large and long " +"running imports, or when they need to allow another Git process access to a " +"branch. However given that a 30 GiB Subversion repository can be loaded " +"into Git through fast-import in about 3 hours, explicit checkpointing may " +"not be necessary." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:50 +#: en/git-fast-import.txt:921 msgid "" -"Show tree entries even when going to recurse them. Has no effect if `-r` was " -"not passed. `-d` implies `-t`." +"Causes fast-import to print the entire `progress` line unmodified to its " +"standard output channel (file descriptor 1) when the command is processed " +"from the input stream. The command otherwise has no impact on the current " +"import, or on any of fast-import's internal state." msgstr "" -#. type: Plain text -#: en/git-ls-tree.txt:54 -msgid "Show object size of blob (file) entries." +#. type: delimited block . +#: en/git-fast-import.txt:925 +#, no-wrap +msgid "" +"\t'progress' SP <any> LF\n" +"\tLF?\n" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:58 +#: en/git-fast-import.txt:931 msgid "" -"\\0 line termination on output and do not quote filenames. See OUTPUT " -"FORMAT below for more information." +"The `<any>` part of the command may contain any sequence of bytes that does " +"not contain `LF`. The `LF` after the command is optional. Callers may wish " +"to process the output through a tool such as sed to remove the leading part " +"of the line, for example:" msgstr "" -#. type: Labeled list -#: en/git-ls-tree.txt:60 en/diff-options.txt:202 +#. type: delimited block = +#: en/git-fast-import.txt:934 #, no-wrap -msgid "--name-status" -msgstr "" - -#. type: Plain text -#: en/git-ls-tree.txt:62 -msgid "List only filenames (instead of the \"long\" output), one per line." -msgstr "" - -#. type: Plain text -#: en/git-ls-tree.txt:71 -msgid "" -"Instead of showing the path names relative to the current working directory, " -"show the full path names." +msgid "\tfrontend | git fast-import | sed 's/^progress //'\n" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:75 +#: en/git-fast-import.txt:939 msgid "" -"Do not limit the listing to the current working directory. Implies " -"--full-name." +"Placing a `progress` command immediately after a `checkpoint` will inform " +"the reader when the `checkpoint` has been completed and it can safely access " +"the refs that fast-import updated." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:80 -#, no-wrap +#: en/git-fast-import.txt:947 msgid "" -"[<path>...]::\n" -"\tWhen paths are given, show them (note that this isn't really raw\n" -"\tpathnames, but rather a list of patterns to match). Otherwise\n" -"\timplicitly uses the root level of the tree as the sole path argument.\n" +"Causes fast-import to print the SHA-1 corresponding to a mark to stdout or " +"to the file descriptor previously arranged with the `--cat-blob-fd` " +"argument. The command otherwise has no impact on the current import; its " +"purpose is to retrieve SHA-1s that later commits might want to refer to in " +"their commit messages." msgstr "" -#. type: Title - -#: en/git-ls-tree.txt:83 +#. type: delimited block . +#: en/git-fast-import.txt:950 #, no-wrap -msgid "Output Format" +msgid "\t'get-mark' SP ':' <idnum> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:85 -#, no-wrap -msgid " <mode> SP <type> SP <object> TAB <file>\n" +#: en/git-fast-import.txt:955 +msgid "" +"This command can be used anywhere in the stream that comments are accepted. " +"In particular, the `get-mark` command can be used in the middle of a commit " +"but not in the middle of a `data` command." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:88 +#: en/git-fast-import.txt:958 en/git-fast-import.txt:988 en/git-fast-import.txt:1041 msgid "" -"This output format is compatible with what `--index-info --stdin` of 'git " -"update-index' expects." +"See ``Responses To Commands'' below for details about how to read this " +"output safely." msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:90 -msgid "When the `-l` option is used, format changes to" +#: en/git-fast-import.txt:966 +msgid "" +"Causes fast-import to print a blob to a file descriptor previously arranged " +"with the `--cat-blob-fd` argument. The command otherwise has no impact on " +"the current import; its main purpose is to retrieve blobs that may be in " +"fast-import's memory but not accessible from the target repository." msgstr "" -#. type: Plain text -#: en/git-ls-tree.txt:92 +#. type: delimited block . +#: en/git-fast-import.txt:969 #, no-wrap -msgid " <mode> SP <type> SP <object> SP <object size> TAB <file>\n" +msgid "\t'cat-blob' SP <dataref> LF\n" msgstr "" #. type: Plain text -#: en/git-ls-tree.txt:96 +#: en/git-fast-import.txt:974 msgid "" -"Object size identified by <object> is given in bytes, and right-justified " -"with minimum width of 7 characters. Object size is given only for blobs " -"(file) entries; for other entries `-` character is used in place of size." -msgstr "" - -#. type: Title = -#: en/git-mailinfo.txt:2 -#, no-wrap -msgid "git-mailinfo(1)" +"The `<dataref>` can be either a mark reference (`:<idnum>`) set previously " +"or a full 40-byte SHA-1 of a Git blob, preexisting or ready to be written." msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:7 -msgid "git-mailinfo - Extracts patch and authorship from a single e-mail message" +#: en/git-fast-import.txt:976 +msgid "Output uses the same format as `git cat-file --batch`:" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:13 +#. type: delimited block = +#: en/git-fast-import.txt:980 #, no-wrap msgid "" -"'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] " -"<msg> <patch>\n" +"\t<sha1> SP 'blob' SP <size> LF\n" +"\t<contents> LF\n" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:23 +#: en/git-fast-import.txt:985 msgid "" -"Reads a single e-mail message from the standard input, and writes the commit " -"log message in <msg> file, and the patches in <patch> file. The author " -"name, e-mail and e-mail subject are written out to the standard output to be " -"used by 'git am' to create a commit. It is usually not necessary to use " -"this command directly. See linkgit:git-am[1] instead." +"This command can be used anywhere in the stream that comments are accepted. " +"In particular, the `cat-blob` command can be used in the middle of a commit " +"but not in the middle of a `data` command." msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:32 +#: en/git-fast-import.txt:996 msgid "" -"Usually the program removes email cruft from the Subject: header line to " -"extract the title line for the commit log message. This option prevents " -"this munging, and is most useful when used to read back 'git format-patch " -"-k' output." +"Prints information about the object at a path to a file descriptor " +"previously arranged with the `--cat-blob-fd` argument. This allows printing " +"a blob from the active commit (with `cat-blob`) or copying a blob or tree " +"from a previous commit for use in the current one (with `filemodify`)." msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:34 -msgid "Specifically, the following are removed until none of them remain:" +#: en/git-fast-import.txt:999 +msgid "" +"The `ls` command can be used anywhere in the stream that comments are " +"accepted, including the middle of a commit." msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:37 -msgid "Leading and trailing whitespace." +#. type: Labeled list +#: en/git-fast-import.txt:1000 +#, no-wrap +msgid "Reading from the active commit" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:39 -msgid "Leading `Re:`, `re:`, and `:`." +#: en/git-fast-import.txt:1004 +msgid "" +"This form can only be used in the middle of a `commit`. The path names a " +"directory entry within fast-import's active commit. The path must be quoted " +"in this case." msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:41 -msgid "Leading bracketed strings (between `[` and `]`, usually" +#. type: delimited block . +#: en/git-fast-import.txt:1007 +#, no-wrap +msgid "\t'ls' SP <path> LF\n" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:42 -msgid "`[PATCH]`)." +#. type: Labeled list +#: en/git-fast-import.txt:1009 +#, no-wrap +msgid "Reading from a named tree" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:46 +#: en/git-fast-import.txt:1015 msgid "" -"Finally, runs of whitespace are normalized to a single ASCII space " -"character." +"The `<dataref>` can be a mark reference (`:<idnum>`) or the full 40-byte " +"SHA-1 of a Git tag, commit, or tree object, preexisting or waiting to be " +"written. The path is relative to the top level of the tree named by " +"`<dataref>`." msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:51 -msgid "" -"When -k is not in effect, all leading strings bracketed with '[' and ']' " -"pairs are stripped. This option limits the stripping to only the pairs " -"whose bracketed string contains the word \"PATCH\"." +#. type: delimited block . +#: en/git-fast-import.txt:1018 +#, no-wrap +msgid "\t'ls' SP <dataref> SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:58 -msgid "" -"The commit log message, author name and author email are taken from the " -"e-mail, and after minimally decoding MIME transfer encoding, re-coded in the " -"charset specified by i18n.commitencoding (defaulting to UTF-8) by " -"transliterating them. This used to be optional but now it is the default." +#: en/git-fast-import.txt:1021 +msgid "See `filemodify` above for a detailed description of `<path>`." msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:61 -msgid "" -"Note that the patch is always used as-is without charset conversion, even " -"with this flag." +#: en/git-fast-import.txt:1023 +msgid "Output uses the same format as `git ls-tree <tree> -- <path>`:" msgstr "" -#. type: Labeled list -#: en/git-mailinfo.txt:62 en/blame-options.txt:52 en/pretty-options.txt:35 +#. type: delimited block = +#: en/git-fast-import.txt:1026 #, no-wrap -msgid "--encoding=<encoding>" +msgid "\t<mode> SP ('blob' | 'tree' | 'commit') SP <dataref> HT <path> LF\n" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:65 +#: en/git-fast-import.txt:1031 msgid "" -"Similar to -u. But when re-coding, the charset specified here is used " -"instead of the one specified by i18n.commitencoding or UTF-8." -msgstr "" - -#. type: Plain text -#: en/git-mailinfo.txt:68 -msgid "Disable all charset re-coding of the metadata." +"The <dataref> represents the blob, tree, or commit object at <path> and can " +"be used in later 'get-mark', 'cat-blob', 'filemodify', or 'ls' commands." msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:73 +#: en/git-fast-import.txt:1034 msgid "" -"Copy the Message-ID header at the end of the commit message. This is useful " -"in order to associate commits with mailing list discussions." +"If there is no file or subtree at that path, 'git fast-import' will instead " +"report" msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:82 -msgid "" -"Remove everything in body before a scissors line. A line that mainly " -"consists of scissors (either \">8\" or \"8<\") and perforation (dash \"-\") " -"marks is called a scissors line, and is used to request the reader to cut " -"the message at that line. If such a line appears in the body of the message " -"before the patch, everything before it (including the scissors line itself) " -"is ignored when this option is used." +#. type: delimited block = +#: en/git-fast-import.txt:1037 +#, no-wrap +msgid "\tmissing SP <path> LF\n" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:87 +#: en/git-fast-import.txt:1046 msgid "" -"This is useful if you want to begin your message in a discussion thread with " -"comments and suggestions on the message you are responding to, and to " -"conclude it with a patch submission, separating the discussion and the " -"beginning of the proposed commit log message with a scissors line." +"Require that fast-import supports the specified feature, or abort if it does " +"not." msgstr "" -#. type: Plain text -#: en/git-mailinfo.txt:89 -msgid "" -"This can be enabled by default with the configuration option " -"mailinfo.scissors." +#. type: delimited block . +#: en/git-fast-import.txt:1049 +#, no-wrap +msgid "\t'feature' SP <feature> ('=' <argument>)? LF\n" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:92 -msgid "Ignore scissors lines. Useful for overriding mailinfo.scissors settings." +#: en/git-fast-import.txt:1052 +msgid "The <feature> part of the command may be any one of the following:" msgstr "" -#. type: Labeled list -#: en/git-mailinfo.txt:93 +#. type: Plain text +#: en/git-fast-import.txt:1053 en/git-fast-import.txt:1120 #, no-wrap -msgid "<msg>" +msgid "date-format" msgstr "" #. type: Plain text -#: en/git-mailinfo.txt:96 -msgid "" -"The commit log message extracted from e-mail, usually except the title line " -"which comes from e-mail Subject." +#: en/git-fast-import.txt:1054 en/git-fast-import.txt:1122 +#, no-wrap +msgid "export-marks" msgstr "" #. type: Labeled list -#: en/git-mailinfo.txt:97 en/git-patch-id.txt:59 +#: en/git-fast-import.txt:1055 #, no-wrap -msgid "<patch>" -msgstr "" - -#. type: Plain text -#: en/git-mailinfo.txt:99 -msgid "The patch extracted from e-mail." +msgid "relative-marks" msgstr "" -#. type: Title = -#: en/git-mailsplit.txt:2 +#. type: Labeled list +#: en/git-fast-import.txt:1056 #, no-wrap -msgid "git-mailsplit(1)" -msgstr "" - -#. type: Plain text -#: en/git-mailsplit.txt:7 -msgid "git-mailsplit - Simple UNIX mbox splitter program" +msgid "no-relative-marks" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:13 +#: en/git-fast-import.txt:1057 en/git-fast-import.txt:1124 #, no-wrap -msgid "" -"'git mailsplit' [-b] [-f<nn>] [-d<prec>] [--keep-cr] [--mboxrd]\n" -"\t\t-o<directory> [--] [(<mbox>|<Maildir>)...]\n" +msgid "force" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:18 +#: en/git-fast-import.txt:1061 msgid "" -"Splits a mbox file or a Maildir into a list of files: \"0001\" \"0002\" .. " -"in the specified directory so you can process them further from there." +"Act as though the corresponding command-line option with a leading `--` was " +"passed on the command line (see OPTIONS, above)." msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:21 -msgid "" -"Maildir splitting relies upon filenames being sorted to output patches in " -"the correct order." +#: en/git-fast-import.txt:1062 en/git-fast-import.txt:1121 +#, no-wrap +msgid "import-marks" msgstr "" #. type: Labeled list -#: en/git-mailsplit.txt:24 +#: en/git-fast-import.txt:1063 #, no-wrap -msgid "<mbox>" +msgid "import-marks-if-exists" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:27 -msgid "Mbox file to split. If not given, the mbox is read from the standard input." +#: en/git-fast-import.txt:1071 +msgid "" +"Like --import-marks except in two respects: first, only one \"feature " +"import-marks\" or \"feature import-marks-if-exists\" command is allowed per " +"stream; second, an --import-marks= or --import-marks-if-exists command-line " +"option overrides any of these \"feature\" commands in the stream; third, " +"\"feature import-marks-if-exists\" like a corresponding command-line option " +"silently skips a nonexistent file." msgstr "" #. type: Labeled list -#: en/git-mailsplit.txt:28 +#: en/git-fast-import.txt:1072 #, no-wrap -msgid "<Maildir>" -msgstr "" - -#. type: Plain text -#: en/git-mailsplit.txt:31 -msgid "" -"Root of the Maildir to split. This directory should contain the cur, tmp and " -"new subdirectories." +msgid "get-mark" msgstr "" #. type: Labeled list -#: en/git-mailsplit.txt:32 +#: en/git-fast-import.txt:1073 #, no-wrap -msgid "-o<directory>" +msgid "cat-blob" msgstr "" -#. type: Plain text -#: en/git-mailsplit.txt:34 -msgid "Directory in which to place the individual messages." +#. type: Labeled list +#: en/git-fast-import.txt:1074 +#, no-wrap +msgid "ls" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:38 +#: en/git-fast-import.txt:1082 msgid "" -"If any file doesn't begin with a From line, assume it is a single mail " -"message instead of signaling error." +"Require that the backend support the 'get-mark', 'cat-blob', or 'ls' command " +"respectively. Versions of fast-import not supporting the specified command " +"will exit with a message indicating so. This lets the import error out " +"early with a clear message, rather than wasting time on the early part of an " +"import before the unsupported command is detected." msgstr "" #. type: Labeled list -#: en/git-mailsplit.txt:39 +#: en/git-fast-import.txt:1083 #, no-wrap -msgid "-d<prec>" +msgid "notes" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:43 +#: en/git-fast-import.txt:1088 msgid "" -"Instead of the default 4 digits with leading zeros, different precision can " -"be specified for the generated filenames." +"Require that the backend support the 'notemodify' (N) subcommand to the " +"'commit' command. Versions of fast-import not supporting notes will exit " +"with a message indicating so." msgstr "" #. type: Labeled list -#: en/git-mailsplit.txt:44 +#: en/git-fast-import.txt:1089 #, no-wrap -msgid "-f<nn>" +msgid "done" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:47 +#: en/git-fast-import.txt:1096 msgid "" -"Skip the first <nn> numbers, for example if -f3 is specified, start the " -"numbering with 0004." -msgstr "" - -#. type: Labeled list -#: en/git-mailsplit.txt:48 -#, no-wrap -msgid "--keep-cr" +"Error out if the stream ends without a 'done' command. Without this " +"feature, errors causing the frontend to end abruptly at a convenient point " +"in the stream can go undetected. This may occur, for example, if an import " +"front end dies in mid-operation without emitting SIGTERM or SIGKILL at its " +"subordinate git fast-import instance." msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:50 -msgid "Do not remove `\\r` from lines ending with `\\r\\n`." +#: en/git-fast-import.txt:1103 +msgid "" +"Processes the specified option so that git fast-import behaves in a way that " +"suits the frontend's needs. Note that options specified by the frontend are " +"overridden by any options the user may specify to git fast-import itself." msgstr "" -#. type: Labeled list -#: en/git-mailsplit.txt:51 +#. type: delimited block . +#: en/git-fast-import.txt:1106 #, no-wrap -msgid "--mboxrd" +msgid " 'option' SP <option> LF\n" msgstr "" #. type: Plain text -#: en/git-mailsplit.txt:54 +#: en/git-fast-import.txt:1111 msgid "" -"Input is of the \"mboxrd\" format and \"^>+From \" line escaping is " -"reversed." +"The `<option>` part of the command may contain any of the options listed in " +"the OPTIONS section that do not change import semantics, without the leading " +"`--` and is treated in the same way." msgstr "" -#. type: Title = -#: en/git-merge-base.txt:2 -#, no-wrap -msgid "git-merge-base(1)" +#. type: Plain text +#: en/git-fast-import.txt:1115 +msgid "" +"Option commands must be the first commands on the input (not counting " +"feature commands), to give an option command after any non-option command is " +"an error." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:7 -msgid "git-merge-base - Find as good common ancestors as possible for a merge" +#: en/git-fast-import.txt:1118 +msgid "" +"The following command-line options change import semantics and may therefore " +"not be passed as option:" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:17 -#, no-wrap -msgid "" -"'git merge-base' [-a|--all] <commit> <commit>...\n" -"'git merge-base' [-a|--all] --octopus <commit>...\n" -"'git merge-base' --is-ancestor <commit> <commit>\n" -"'git merge-base' --independent <commit>...\n" -"'git merge-base' --fork-point <ref> [<commit>]\n" +#: en/git-fast-import.txt:1123 +msgid "cat-blob-fd" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:27 +#: en/git-fast-import.txt:1129 msgid "" -"'git merge-base' finds best common ancestor(s) between two commits to use in " -"a three-way merge. One common ancestor is 'better' than another common " -"ancestor if the latter is an ancestor of the former. A common ancestor that " -"does not have any better common ancestor is a 'best common ancestor', i.e. a " -"'merge base'. Note that there can be more than one merge base for a pair of " -"commits." -msgstr "" - -#. type: Title - -#: en/git-merge-base.txt:29 -#, no-wrap -msgid "OPERATION MODES" +"If the `done` feature is not in use, treated as if EOF was read. This can " +"be used to tell fast-import to finish early." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:33 +#: en/git-fast-import.txt:1133 msgid "" -"As the most common special case, specifying only two commits on the command " -"line means computing the merge base between the given two commits." +"If the `--done` command-line option or `feature done` command is in use, the " +"`done` command is mandatory and marks the end of the stream." msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:38 -msgid "" -"More generally, among the two commits to compute the merge base from, one is " -"specified by the first commit argument on the command line; the other commit " -"is a (possibly hypothetical) commit that is a merge across all the remaining " -"commits on the command line." +#. type: Title - +#: en/git-fast-import.txt:1135 +#, no-wrap +msgid "Responses To Commands" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:42 +#: en/git-fast-import.txt:1142 msgid "" -"As a consequence, the 'merge base' is not necessarily contained in each of " -"the commit arguments if more than two commits are specified. This is " -"different from linkgit:git-show-branch[1] when used with the `--merge-base` " -"option." -msgstr "" - -#. type: Labeled list -#: en/git-merge-base.txt:43 -#, no-wrap -msgid "--octopus" +"New objects written by fast-import are not available immediately. Most " +"fast-import commands have no visible effect until the next checkpoint (or " +"completion). The frontend can send commands to fill fast-import's input " +"pipe without worrying about how quickly they will take effect, which " +"improves performance by simplifying scheduling." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:47 +#: en/git-fast-import.txt:1149 msgid "" -"Compute the best common ancestors of all supplied commits, in preparation " -"for an n-way merge. This mimics the behavior of 'git show-branch " -"--merge-base'." +"For some frontends, though, it is useful to be able to read back data from " +"the current repository as it is being updated (for example when the source " +"material describes objects in terms of patches to be applied to previously " +"imported objects). This can be accomplished by connecting the frontend and " +"fast-import via bidirectional pipes:" msgstr "" -#. type: Labeled list -#: en/git-merge-base.txt:48 en/git-show-branch.txt:90 +#. type: delimited block = +#: en/git-fast-import.txt:1154 #, no-wrap -msgid "--independent" +msgid "" +"\tmkfifo fast-import-output\n" +"\tfrontend <fast-import-output |\n" +"\tgit fast-import >fast-import-output\n" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:54 +#: en/git-fast-import.txt:1158 msgid "" -"Instead of printing merge bases, print a minimal subset of the supplied " -"commits with the same ancestors. In other words, among the commits given, " -"list those which cannot be reached from any other. This mimics the behavior " -"of 'git show-branch --independent'." -msgstr "" - -#. type: Labeled list -#: en/git-merge-base.txt:55 -#, no-wrap -msgid "--is-ancestor" +"A frontend set up this way can use `progress`, `get-mark`, `ls`, and " +"`cat-blob` commands to read information from the import in progress." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:59 +#: en/git-fast-import.txt:1162 msgid "" -"Check if the first <commit> is an ancestor of the second <commit>, and exit " -"with status 0 if true, or with status 1 if not. Errors are signaled by a " -"non-zero status that is not 1." +"To avoid deadlock, such frontends must completely consume any pending output " +"from `progress`, `ls`, `get-mark`, and `cat-blob` before performing writes " +"to fast-import that might block." msgstr "" -#. type: Labeled list -#: en/git-merge-base.txt:60 en/git-rebase.txt:346 +#. type: Title - +#: en/git-fast-import.txt:1164 #, no-wrap -msgid "--fork-point" +msgid "Crash Reports" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:68 +#: en/git-fast-import.txt:1170 msgid "" -"Find the point at which a branch (or any history that leads to <commit>) " -"forked from another branch (or any reference) <ref>. This does not just " -"look for the common ancestor of the two commits, but also takes into account " -"the reflog of <ref> to see if the history leading to <commit> forked from an " -"earlier incarnation of the branch <ref> (see discussion on this mode below)." -msgstr "" - -#. type: Plain text -#: en/git-merge-base.txt:74 -msgid "Output all merge bases for the commits, instead of just one." +"If fast-import is supplied invalid input it will terminate with a non-zero " +"exit status and create a crash report in the top level of the Git repository " +"it was importing into. Crash reports contain a snapshot of the internal " +"fast-import state as well as the most recent commands that lead up to the " +"crash." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:80 +#: en/git-fast-import.txt:1177 msgid "" -"Given two commits 'A' and 'B', `git merge-base A B` will output a commit " -"which is reachable from both 'A' and 'B' through the parent relationship." -msgstr "" - -#. type: Plain text -#: en/git-merge-base.txt:82 -msgid "For example, with this topology:" +"All recent commands (including stream comments, file changes and progress " +"commands) are shown in the command history within the crash report, but raw " +"file data and commit messages are excluded from the crash report. This " +"exclusion saves space within the report file and reduces the amount of " +"buffering that fast-import must perform during execution." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:86 -#, no-wrap +#: en/git-fast-import.txt:1185 msgid "" -"\t o---o---o---B\n" -"\t /\n" -"\t---o---1---o---o---o---A\n" +"After writing a crash report fast-import will close the current packfile and " +"export the marks table. This allows the frontend developer to inspect the " +"repository state and resume the import from the point where it crashed. The " +"modified branches and tags are not updated during a crash, as the import did " +"not complete successfully. Branch and tag information can be found in the " +"crash report and must be applied manually if the update is needed." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:88 -msgid "the merge base between 'A' and 'B' is '1'." +#: en/git-fast-import.txt:1187 +msgid "An example crash:" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:92 +#. type: delimited block = +#: en/git-fast-import.txt:1203 +#, no-wrap msgid "" -"Given three commits 'A', 'B' and 'C', `git merge-base A B C` will compute " -"the merge base between 'A' and a hypothetical commit 'M', which is a merge " -"between 'B' and 'C'. For example, with this topology:" +"\t$ cat >in <<END_OF_INPUT\n" +"\t# my very first test commit\n" +"\tcommit refs/heads/master\n" +"\tcommitter Shawn O. Pearce <spearce> 19283 -0400\n" +"\t# who is that guy anyway?\n" +"\tdata <<EOF\n" +"\tthis is my commit\n" +"\tEOF\n" +"\tM 644 inline .gitignore\n" +"\tdata <<EOF\n" +"\t.gitignore\n" +"\tEOF\n" +"\tM 777 inline bob\n" +"\tEND_OF_INPUT\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:98 +#. type: delimited block = +#: en/git-fast-import.txt:1207 #, no-wrap msgid "" -"\t o---o---o---o---C\n" -"\t /\n" -"\t / o---o---o---B\n" -"\t / /\n" -"\t---2---1---o---o---o---A\n" +"\t$ git fast-import <in\n" +"\tfatal: Corrupt mode: M 777 inline bob\n" +"\tfast-import: dumping crash report to .git/fast_import_crash_8434\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:101 +#. type: delimited block = +#: en/git-fast-import.txt:1213 +#, no-wrap msgid "" -"the result of `git merge-base A B C` is '1'. This is because the equivalent " -"topology with a merge commit 'M' between 'B' and 'C' is:" +"\t$ cat .git/fast_import_crash_8434\n" +"\tfast-import crash report:\n" +"\t fast-import process: 8434\n" +"\t parent process : 1391\n" +"\t at Sat Sep 1 00:58:12 2007\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:108 +#. type: delimited block = +#: en/git-fast-import.txt:1215 #, no-wrap -msgid "" -"\t o---o---o---o---o\n" -"\t / \\\n" -"\t / o---o---o---o---M\n" -"\t / /\n" -"\t---2---1---o---o---o---A\n" +msgid "\tfatal: Corrupt mode: M 777 inline bob\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:112 +#. type: delimited block = +#: en/git-fast-import.txt:1225 +#, no-wrap msgid "" -"and the result of `git merge-base A M` is '1'. Commit '2' is also a common " -"ancestor between 'A' and 'M', but '1' is a better common ancestor, because " -"'2' is an ancestor of '1'. Hence, '2' is not a merge base." +"\tMost Recent Commands Before Crash\n" +"\t---------------------------------\n" +"\t # my very first test commit\n" +"\t commit refs/heads/master\n" +"\t committer Shawn O. Pearce <spearce> 19283 -0400\n" +"\t # who is that guy anyway?\n" +"\t data <<EOF\n" +"\t M 644 inline .gitignore\n" +"\t data <<EOF\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:115 -msgid "" -"The result of `git merge-base --octopus A B C` is '2', because '2' is the " -"best common ancestor of all commits." +#. type: delimited block = +#: en/git-fast-import.txt:1226 +#, no-wrap +msgid "M 777 inline bob\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:118 +#. type: delimited block = +#: en/git-fast-import.txt:1229 +#, no-wrap msgid "" -"When the history involves criss-cross merges, there can be more than one " -"'best' common ancestor for two commits. For example, with this topology:" +"Active Branch LRU\n" +"-----------------\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:124 +#. type: delimited block = +#: en/git-fast-import.txt:1230 #, no-wrap -msgid "" -"\t---1---o---A\n" -"\t \\ /\n" -"\t X\n" -"\t / \\\n" -"\t---2---o---o---B\n" +msgid "active_branches = 1 cur, 5 max\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:128 -msgid "" -"both '1' and '2' are merge-bases of A and B. Neither one is better than the " -"other (both are 'best' merge bases). When the `--all` option is not given, " -"it is unspecified which best one is output." +#. type: delimited block = +#: en/git-fast-import.txt:1233 +msgid "pos clock name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:133 -msgid "" -"A common idiom to check \"fast-forward-ness\" between two commits A and B is " -"(or at least used to be) to compute the merge base between A and B, and " -"check if it is the same as A, in which case, A is an ancestor of B. You " -"will see this idiom used often in older scripts." +#. type: delimited block = +#: en/git-fast-import.txt:1234 +msgid "0 refs/heads/master" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:139 +#. type: delimited block = +#: en/git-fast-import.txt:1238 #, no-wrap msgid "" -"\tA=$(git rev-parse --verify A)\n" -"\tif test \"$A\" = \"$(git merge-base A B)\"\n" -"\tthen\n" -"\t\t... A is an ancestor of B ...\n" -"\tfi\n" -msgstr "" - -#. type: Plain text -#: en/git-merge-base.txt:141 -msgid "In modern git, you can say this in a more direct way:" +"Inactive Branches\n" +"-----------------\n" +"refs/heads/master:\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:146 +#. type: delimited block = +#: en/git-fast-import.txt:1244 #, no-wrap msgid "" -"\tif git merge-base --is-ancestor A B\n" -"\tthen\n" -"\t\t... A is an ancestor of B ...\n" -"\tfi\n" +"status : active loaded dirty\n" +"tip commit : 0000000000000000000000000000000000000000\n" +"old tree : 0000000000000000000000000000000000000000\n" +"cur tree : 0000000000000000000000000000000000000000\n" +"commit clock: 0\n" +"last pack :\n" msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:148 -msgid "instead." +#. type: delimited block = +#: en/git-fast-import.txt:1248 +msgid "------------------- END OF CRASH REPORT" msgstr "" #. type: Title - -#: en/git-merge-base.txt:150 +#: en/git-fast-import.txt:1251 #, no-wrap -msgid "Discussion on fork-point mode" +msgid "Tips and Tricks" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:156 +#: en/git-fast-import.txt:1254 msgid "" -"After working on the `topic` branch created with `git checkout -b topic " -"origin/master`, the history of remote-tracking branch `origin/master` may " -"have been rewound and rebuilt, leading to a history of this shape:" +"The following tips and tricks have been collected from various users of " +"fast-import, and are offered here as suggestions." msgstr "" -#. type: Plain text -#: en/git-merge-base.txt:164 +#. type: Title ~ +#: en/git-fast-import.txt:1256 #, no-wrap -msgid "" -"\t o---B1\n" -"\t /\n" -"\t---o---o---B2--o---o---o---B (origin/master)\n" -"\t \\\n" -"\t B3\n" -"\t \\\n" -"\t Derived (topic)\n" +msgid "Use One Mark Per Commit" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:170 +#: en/git-fast-import.txt:1264 msgid "" -"where `origin/master` used to point at commits B3, B2, B1 and now it points " -"at B, and your `topic` branch was started on top of it back when " -"`origin/master` was at B3. This mode uses the reflog of `origin/master` to " -"find B3 as the fork point, so that the `topic` can be rebased on top of the " -"updated `origin/master` by:" +"When doing a repository conversion, use a unique mark per commit (`mark " +":<n>`) and supply the --export-marks option on the command line. " +"fast-import will dump a file which lists every mark and the Git object SHA-1 " +"that corresponds to it. If the frontend can tie the marks back to the " +"source repository, it is easy to verify the accuracy and completeness of the " +"import by comparing each Git commit to the corresponding source revision." msgstr "" #. type: Plain text -#: en/git-merge-base.txt:173 -#, no-wrap +#: en/git-fast-import.txt:1268 msgid "" -" $ fork_point=$(git merge-base --fork-point origin/master topic)\n" -" $ git rebase --onto origin/master $fork_point topic\n" +"Coming from a system such as Perforce or Subversion this should be quite " +"simple, as the fast-import mark can also be the Perforce changeset number or " +"the Subversion revision number." msgstr "" -#. type: Title - -#: en/git-merge-base.txt:176 +#. type: Title ~ +#: en/git-fast-import.txt:1270 #, no-wrap -msgid "See also" +msgid "Freely Skip Around Branches" msgstr "" #. type: Plain text -#: en/git-merge-base.txt:180 -msgid "linkgit:git-rev-list[1], linkgit:git-show-branch[1], linkgit:git-merge[1]" -msgstr "" - -#. type: Title = -#: en/git-merge-file.txt:2 -#, no-wrap -msgid "git-merge-file(1)" +#: en/git-fast-import.txt:1275 +msgid "" +"Don't bother trying to optimize the frontend to stick to one branch at a " +"time during an import. Although doing so might be slightly faster for " +"fast-import, it tends to increase the complexity of the frontend code " +"considerably." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:7 -msgid "git-merge-file - Run a three-way file merge" +#: en/git-fast-import.txt:1279 +msgid "" +"The branch LRU builtin to fast-import tends to behave very well, and the " +"cost of activating an inactive branch is so low that bouncing around between " +"branches has virtually no impact on import performance." msgstr "" -#. type: Plain text -#: en/git-merge-file.txt:15 +#. type: Title ~ +#: en/git-fast-import.txt:1281 #, no-wrap -msgid "" -"'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]\n" -"\t[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]\n" -"\t[--[no-]diff3] <current-file> <base-file> <other-file>\n" +msgid "Handling Renames" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:25 +#: en/git-fast-import.txt:1286 msgid "" -"'git merge-file' incorporates all changes that lead from the `<base-file>` " -"to `<other-file>` into `<current-file>`. The result ordinarily goes into " -"`<current-file>`. 'git merge-file' is useful for combining separate changes " -"to an original. Suppose `<base-file>` is the original, and both " -"`<current-file>` and `<other-file>` are modifications of `<base-file>`, then " -"'git merge-file' combines both changes." +"When importing a renamed file or directory, simply delete the old name(s) " +"and modify the new name(s) during the corresponding commit. Git performs " +"rename detection after-the-fact, rather than explicitly during a commit." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:1288 +#, no-wrap +msgid "Use Tag Fixup Branches" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:30 +#: en/git-fast-import.txt:1292 msgid "" -"A conflict occurs if both `<current-file>` and `<other-file>` have changes " -"in a common segment of lines. If a conflict is found, 'git merge-file' " -"normally outputs a warning and brackets the conflict with lines containing " -"<<<<<<< and >>>>>>> markers. A typical conflict will look like this:" +"Some other SCM systems let the user create a tag from multiple files which " +"are not from the same commit/changeset. Or to create tags which are a " +"subset of the files available in the repository." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:36 -#, no-wrap +#: en/git-fast-import.txt:1299 msgid "" -"\t<<<<<<< A\n" -"\tlines in file A\n" -"\t=======\n" -"\tlines in file B\n" -"\t>>>>>>> B\n" +"Importing these tags as-is in Git is impossible without making at least one " +"commit which ``fixes up'' the files to match the content of the tag. Use " +"fast-import's `reset` command to reset a dummy branch outside of your normal " +"branch space to the base commit for the tag, then commit one or more file " +"fixup commits, and finally tag the dummy branch." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:42 +#: en/git-fast-import.txt:1305 msgid "" -"If there are conflicts, the user should edit the result and delete one of " -"the alternatives. When `--ours`, `--theirs`, or `--union` option is in " -"effect, however, these conflicts are resolved favouring lines from " -"`<current-file>`, lines from `<other-file>`, or lines from both " -"respectively. The length of the conflict markers can be given with the " -"`--marker-size` option." +"For example since all normal branches are stored under `refs/heads/` name " +"the tag fixup branch `TAG_FIXUP`. This way it is impossible for the fixup " +"branch used by the importer to have namespace conflicts with real branches " +"imported from the source (the name `TAG_FIXUP` is not " +"`refs/heads/TAG_FIXUP`)." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:46 +#: en/git-fast-import.txt:1311 msgid "" -"The exit value of this program is negative on error, and the number of " -"conflicts otherwise (truncated to 127 if there are more than that many " -"conflicts). If the merge was clean, the exit value is 0." +"When committing fixups, consider using `merge` to connect the commit(s) " +"which are supplying file revisions to the fixup branch. Doing so will allow " +"tools such as 'git blame' to track through the real commit history and " +"properly annotate the source files." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:50 +#: en/git-fast-import.txt:1314 msgid "" -"'git merge-file' is designed to be a minimal clone of RCS 'merge'; that is, " -"it implements all of RCS 'merge''s functionality which is needed by " -"linkgit:git[1]." +"After fast-import terminates the frontend will need to do `rm " +".git/TAG_FIXUP` to remove the dummy branch." msgstr "" -#. type: Labeled list -#: en/git-merge-file.txt:55 +#. type: Title ~ +#: en/git-fast-import.txt:1316 #, no-wrap -msgid "-L <label>" +msgid "Import Now, Repack Later" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:62 +#: en/git-fast-import.txt:1320 msgid "" -"This option may be given up to three times, and specifies labels to be used " -"in place of the corresponding file names in conflict reports. That is, `git " -"merge-file -L x -L y -L z a b c` generates output that looks like it came " -"from files x, y and z instead of from files a, b and c." +"As soon as fast-import completes the Git repository is completely valid and " +"ready for use. Typically this takes only a very short time, even for " +"considerably large projects (100,000+ commits)." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:66 -msgid "Send results to standard output instead of overwriting `<current-file>`." +#: en/git-fast-import.txt:1327 +msgid "" +"However repacking the repository is necessary to improve data locality and " +"access performance. It can also take hours on extremely large projects " +"(especially if -f and a large --window parameter is used). Since repacking " +"is safe to run alongside readers and writers, run the repack in the " +"background and let it finish when it finishes. There is no reason to wait " +"to explore your new Git project!" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:69 -msgid "Quiet; do not warn about conflicts." +#: en/git-fast-import.txt:1332 +msgid "" +"If you choose to wait for the repack, don't try to run benchmarks or " +"performance tests until repacking is completed. fast-import outputs " +"suboptimal packfiles that are simply never seen in real use situations." msgstr "" -#. type: Labeled list -#: en/git-merge-file.txt:70 +#. type: Title ~ +#: en/git-fast-import.txt:1334 #, no-wrap -msgid "--diff3" +msgid "Repacking Historical Data" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:72 -msgid "Show conflicts in \"diff3\" style." +#: en/git-fast-import.txt:1341 +msgid "" +"If you are repacking very old imported data (e.g. older than the last year), " +"consider expending some extra CPU time and supplying --window=50 (or higher) " +"when you run 'git repack'. This will take longer, but will also produce a " +"smaller packfile. You only need to expend the effort once, and everyone " +"using your project will benefit from the smaller repository." msgstr "" -#. type: Labeled list -#: en/git-merge-file.txt:75 +#. type: Title ~ +#: en/git-fast-import.txt:1343 #, no-wrap -msgid "--union" +msgid "Include Some Progress Messages" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:78 +#: en/git-fast-import.txt:1350 msgid "" -"Instead of leaving conflicts in the file, resolve conflicts favouring our " -"(or their or both) side of the lines." +"Every once in a while have your frontend emit a `progress` message to " +"fast-import. The contents of the messages are entirely free-form, so one " +"suggestion would be to output the current month and year each time the " +"current commit date moves into the next month. Your users will feel better " +"knowing how much of the data stream has been processed." msgstr "" -#. type: Labeled list -#: en/git-merge-file.txt:83 +#. type: Title - +#: en/git-fast-import.txt:1353 #, no-wrap -msgid "`git merge-file README.my README README.upstream`" +msgid "Packfile Optimization" msgstr "" #. type: Plain text -#: en/git-merge-file.txt:87 +#: en/git-fast-import.txt:1359 msgid "" -"combines the changes of README.my and README.upstream since README, tries to " -"merge them and writes the result into README.my." -msgstr "" - -#. type: Labeled list -#: en/git-merge-file.txt:88 -#, no-wrap -msgid "`git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345`" +"When packing a blob fast-import always attempts to deltify against the last " +"blob written. Unless specifically arranged for by the frontend, this will " +"probably not be a prior version of the same file, so the generated delta " +"will not be the smallest possible. The resulting packfile will be " +"compressed, but will not be optimal." msgstr "" #. type: Plain text -#: en/git-merge-file.txt:92 +#: en/git-fast-import.txt:1367 msgid "" -"merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels `a` and " -"`c` instead of `tmp/a123` and `tmp/c345`." +"Frontends which have efficient access to all revisions of a single file (for " +"example reading an RCS/CVS ,v file) can choose to supply all revisions of " +"that file as a sequence of consecutive `blob` commands. This allows " +"fast-import to deltify the different file revisions against each other, " +"saving space in the final packfile. Marks can be used to later identify " +"individual file revisions during a sequence of `commit` commands." msgstr "" -#. type: Title = -#: en/git-merge-index.txt:2 -#, no-wrap -msgid "git-merge-index(1)" +#. type: Plain text +#: en/git-fast-import.txt:1374 +msgid "" +"The packfile(s) created by fast-import do not encourage good disk access " +"patterns. This is caused by fast-import writing the data in the order it is " +"received on standard input, while Git typically organizes data within " +"packfiles to make the most recent (current tip) data appear before " +"historical data. Git also clusters commits together, speeding up revision " +"traversal through better cache locality." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:7 -msgid "git-merge-index - Run a merge for files needing merging" +#: en/git-fast-import.txt:1381 +msgid "" +"For this reason it is strongly recommended that users repack the repository " +"with `git repack -a -d` after fast-import completes, allowing Git to " +"reorganize the packfiles for faster data access. If blob deltas are " +"suboptimal (see above) then also adding the `-f` option to force " +"recomputation of all deltas can significantly reduce the final packfile size " +"(30-50% smaller can be quite typical)." msgstr "" -#. type: Plain text -#: en/git-merge-index.txt:13 +#. type: Title - +#: en/git-fast-import.txt:1384 #, no-wrap -msgid "'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>*)\n" +msgid "Memory Utilization" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:20 +#: en/git-fast-import.txt:1390 msgid "" -"This looks up the <file>(s) in the index and, if there are any merge " -"entries, passes the SHA-1 hash for those files as arguments 1, 2, 3 (empty " -"argument if no file), and <file> as argument 4. File modes for the three " -"files are passed as arguments 5, 6 and 7." +"There are a number of factors which affect how much memory fast-import " +"requires to perform an import. Like critical sections of core Git, " +"fast-import uses its own memory allocators to amortize any overheads " +"associated with malloc. In practice fast-import tends to amortize any " +"malloc overheads to 0, due to its use of large block allocations." msgstr "" -#. type: Plain text -#: en/git-merge-index.txt:28 -msgid "Run merge against all files in the index that need merging." +#. type: Title ~ +#: en/git-fast-import.txt:1392 +#, no-wrap +msgid "per object" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:34 +#: en/git-fast-import.txt:1399 msgid "" -"Instead of stopping at the first failed merge, do all of them in one shot - " -"continue with merging even when previous merges returned errors, and only " -"return the error code after all the merges." +"fast-import maintains an in-memory structure for every object written in " +"this execution. On a 32 bit system the structure is 32 bytes, on a 64 bit " +"system the structure is 40 bytes (due to the larger pointer sizes). Objects " +"in the table are not deallocated until fast-import terminates. Importing 2 " +"million objects on a 32 bit system will require approximately 64 MiB of " +"memory." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:39 +#: en/git-fast-import.txt:1405 msgid "" -"Do not complain about a failed merge program (a merge program failure " -"usually indicates conflicts during the merge). This is for porcelains which " -"might want to emit custom messages." +"The object table is actually a hashtable keyed on the object name (the " +"unique SHA-1). This storage configuration allows fast-import to reuse an " +"existing or already written object and avoid writing duplicates to the " +"output packfile. Duplicate blobs are surprisingly common in an import, " +"typically due to branch merges in the source." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:1407 +#, no-wrap +msgid "per mark" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:43 +#: en/git-fast-import.txt:1413 msgid "" -"If 'git merge-index' is called with multiple <file>s (or -a) then it " -"processes them in turn only stopping if merge returns a non-zero exit code." +"Marks are stored in a sparse array, using 1 pointer (4 bytes or 8 bytes, " +"depending on pointer size) per mark. Although the array is sparse, " +"frontends are still strongly encouraged to use marks between 1 and n, where " +"n is the total number of marks required for this import." +msgstr "" + +#. type: Title ~ +#: en/git-fast-import.txt:1415 +#, no-wrap +msgid "per branch" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:46 +#: en/git-fast-import.txt:1418 msgid "" -"Typically this is run with a script calling Git's imitation of the 'merge' " -"command from the RCS package." +"Branches are classified as active and inactive. The memory usage of the two " +"classes is significantly different." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:49 -msgid "A sample script called 'git merge-one-file' is included in the distribution." +#: en/git-fast-import.txt:1424 +msgid "" +"Inactive branches are stored in a structure which uses 96 or 120 bytes (32 " +"bit or 64 bit systems, respectively), plus the length of the branch name " +"(typically under 200 bytes), per branch. fast-import will easily handle as " +"many as 10,000 inactive branches in under 2 MiB of memory." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:54 +#: en/git-fast-import.txt:1431 msgid "" -"ALERT ALERT ALERT! The Git \"merge object order\" is different from the RCS " -"'merge' program merge object order. In the above ordering, the original is " -"first. But the argument order to the 3-way merge program 'merge' is to have " -"the original in the middle. Don't ask me why." +"Active branches have the same overhead as inactive branches, but also " +"contain copies of every tree that has been recently modified on that " +"branch. If subtree `include` has not been modified since the branch became " +"active, its contents will not be loaded into memory, but if subtree `src` " +"has been modified by a commit since the branch became active, then its " +"contents will be loaded in memory." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:56 en/git-svn.txt:155 -msgid "Examples:" +#: en/git-fast-import.txt:1435 +msgid "" +"As active branches store metadata about the files contained on that branch, " +"their in-memory storage size can grow to a considerable size (see below)." msgstr "" #. type: Plain text -#: en/git-merge-index.txt:62 -#, no-wrap +#: en/git-fast-import.txt:1440 msgid "" -" torvalds@ppc970:~/merge-test> git merge-index cat MM\n" -" This is MM from the original tree.\t\t\t# original\n" -" This is modified MM in the branch A.\t\t\t# merge1\n" -" This is modified MM in the branch B.\t\t\t# merge2\n" -" This is modified MM in the branch B.\t\t\t# current contents\n" +"fast-import automatically moves active branches to inactive status based on " +"a simple least-recently-used algorithm. The LRU chain is updated on each " +"`commit` command. The maximum number of active branches can be increased or " +"decreased on the command line with --active-branches=." msgstr "" -#. type: Plain text -#: en/git-merge-index.txt:71 +#. type: Title ~ +#: en/git-fast-import.txt:1442 #, no-wrap -msgid "" -" torvalds@ppc970:~/merge-test> git merge-index cat AA MM\n" -" cat: : No such file or directory\n" -" This is added AA in the branch A.\n" -" This is added AA in the branch B.\n" -" This is added AA in the branch B.\n" -" fatal: merge program failed\n" +msgid "per active tree" msgstr "" #. type: Plain text -#: en/git-merge-index.txt:76 +#: en/git-fast-import.txt:1447 msgid "" -"where the latter example shows how 'git merge-index' will stop trying to " -"merge once anything has returned an error (i.e., `cat` returned an error for " -"the AA file, because it didn't exist in the original, and thus 'git " -"merge-index' didn't even try to merge the MM thing)." +"Trees (aka directories) use just 12 bytes of memory on top of the memory " +"required for their entries (see ``per active file'' below). The cost of a " +"tree is virtually 0, as its overhead amortizes out over the individual file " +"entries." msgstr "" -#. type: Title = -#: en/git-merge-one-file.txt:2 +#. type: Title ~ +#: en/git-fast-import.txt:1449 #, no-wrap -msgid "git-merge-one-file(1)" +msgid "per active file entry" msgstr "" #. type: Plain text -#: en/git-merge-one-file.txt:7 -msgid "git-merge-one-file - The standard helper program to use with git-merge-index" +#: en/git-fast-import.txt:1455 +msgid "" +"Files (and pointers to subtrees) within active trees require 52 or 64 bytes " +"(32/64 bit platforms) per entry. To conserve space, file and tree names are " +"pooled in a common string table, allowing the filename ``Makefile'' to use " +"just 16 bytes (after including the string header overhead) no matter how " +"many times it occurs within the project." msgstr "" #. type: Plain text -#: en/git-merge-one-file.txt:13 +#: en/git-fast-import.txt:1460 +msgid "" +"The active branch LRU, when coupled with the filename string pool and lazy " +"loading of subtrees, allows fast-import to efficiently import projects with " +"2,000+ branches and 45,114+ files in a very limited memory footprint (less " +"than 2.7 MiB per active branch)." +msgstr "" + +#. type: Title - +#: en/git-fast-import.txt:1462 #, no-wrap -msgid "'git merge-one-file'\n" +msgid "Signals" msgstr "" #. type: Plain text -#: en/git-merge-one-file.txt:18 +#: en/git-fast-import.txt:1468 msgid "" -"This is the standard helper program to use with 'git merge-index' to resolve " -"a merge after the trivial merge done with 'git read-tree -m'." +"Sending *SIGUSR1* to the 'git fast-import' process ends the current packfile " +"early, simulating a `checkpoint` command. The impatient operator can use " +"this facility to peek at the objects and refs from an import in progress, at " +"the cost of some added running time and worse compression." msgstr "" #. type: Title = -#: en/git-mergetool--lib.txt:2 +#: en/git-fetch-pack.txt:2 #, no-wrap -msgid "git-mergetool{litdd}lib(1)" +msgid "git-fetch-pack(1)" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:7 -msgid "git-mergetool--lib - Common Git merge tool shell scriptlets" +#: en/git-fetch-pack.txt:7 +msgid "git-fetch-pack - Receive missing objects from another repository" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:12 +#: en/git-fetch-pack.txt:16 #, no-wrap -msgid "'TOOL_MODE=(diff|merge) . \"$(git --exec-path)/git-mergetool{litdd}lib\"'\n" +msgid "" +"'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]\n" +"\t[--upload-pack=<git-upload-pack>]\n" +"\t[--depth=<n>] [--no-progress]\n" +"\t[-v] <repository> [<refs>...]\n" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:19 en/git-sh-i18n.txt:19 en/git-sh-setup.txt:19 +#: en/git-fetch-pack.txt:21 msgid "" -"This is not a command the end user would want to run. Ever. This " -"documentation is meant for people who are studying the Porcelain-ish scripts " -"and/or are writing new ones." +"Usually you would want to use 'git fetch', which is a higher level wrapper " +"of this command, instead." msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:23 +#: en/git-fetch-pack.txt:27 msgid "" -"The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using " -"`.`) by other shell scripts to set up functions for working with Git merge " -"tools." +"Invokes 'git-upload-pack' on a possibly remote repository and asks it to " +"send objects missing from this repository, to update the named heads. The " +"list of commits available locally is found out by scanning the local refs/ " +"hierarchy and sent to 'git-upload-pack' running on the other end." msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:27 +#: en/git-fetch-pack.txt:31 msgid "" -"Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE` " -"to define the operation mode for the functions listed below. 'diff' and " -"'merge' are valid values." +"This command degenerates to download everything to complete the asked refs " +"from the remote side when the local side does not have a common ancestor " +"commit." msgstr "" -#. type: Title - -#: en/git-mergetool--lib.txt:29 en/git-sh-i18n.txt:28 en/git-sh-setup.txt:34 -#, no-wrap -msgid "FUNCTIONS" +#. type: Plain text +#: en/git-fetch-pack.txt:37 +msgid "Fetch all remote refs." msgstr "" -#. type: Labeled list -#: en/git-mergetool--lib.txt:30 -#, no-wrap -msgid "get_merge_tool" +#. type: Plain text +#: en/git-fetch-pack.txt:43 en/git-send-pack.txt:46 +msgid "" +"Take the list of refs from stdin, one per line. If there are refs specified " +"on the command line in addition to this option, then the refs from stdin are " +"processed after those on the command line." msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:32 -msgid "returns a merge tool." +#: en/git-fetch-pack.txt:47 en/git-send-pack.txt:50 +msgid "" +"If `--stateless-rpc` is specified together with this option then the list of " +"refs must be in packet format (pkt-line). Each ref must be in a separate " +"packet, and the list must end with a flush packet." msgstr "" -#. type: Labeled list -#: en/git-mergetool--lib.txt:33 -#, no-wrap -msgid "get_merge_tool_cmd" +#. type: Plain text +#: en/git-fetch-pack.txt:52 +msgid "" +"Pass `-q` flag to 'git unpack-objects'; this makes the cloning process less " +"verbose." msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:35 -msgid "returns the custom command for a merge tool." +#: en/git-fetch-pack.txt:59 +msgid "" +"Do not invoke 'git unpack-objects' on received data, but create a single " +"packfile out of it instead, and store it in the object database. If provided " +"twice then the pack is locked against repacking." msgstr "" #. type: Labeled list -#: en/git-mergetool--lib.txt:36 +#: en/git-fetch-pack.txt:60 en/git-pack-objects.txt:184 en/git-send-pack.txt:64 #, no-wrap -msgid "get_merge_tool_path" +msgid "--thin" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:38 -msgid "returns the custom path for a merge tool." +#: en/git-fetch-pack.txt:63 +msgid "" +"Fetch a \"thin\" pack, which records objects in deltified form based on " +"objects not included in the pack to reduce network traffic." msgstr "" #. type: Labeled list -#: en/git-mergetool--lib.txt:39 +#: en/git-fetch-pack.txt:64 en/git-pack-objects.txt:81 #, no-wrap -msgid "run_merge_tool" +msgid "--include-tag" msgstr "" #. type: Plain text -#: en/git-mergetool--lib.txt:44 +#: en/git-fetch-pack.txt:69 msgid "" -"launches a merge tool given the tool name and a true/false flag to indicate " -"whether a merge base is present. '$MERGED', '$LOCAL', '$REMOTE', and " -"'$BASE' must be defined for use by the merge tool." +"If the remote side supports it, annotated tags objects will be downloaded on " +"the same connection as the other objects if the object the tag references is " +"downloaded. The caller must otherwise determine the tags this option made " +"available." msgstr "" -#. type: Title = -#: en/git-mergetool.txt:2 +#. type: Labeled list +#: en/git-fetch-pack.txt:70 #, no-wrap -msgid "git-mergetool(1)" +msgid "--upload-pack=<git-upload-pack>" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:7 +#: en/git-fetch-pack.txt:81 msgid "" -"git-mergetool - Run merge conflict resolution tools to resolve merge " -"conflicts" +"Use this to specify the path to 'git-upload-pack' on the remote side, if is " +"not found on your $PATH. Installations of sshd ignores the user's " +"environment setup scripts for login shells (e.g. .bash_profile) and your " +"privately installed git may not be found on the system default $PATH. " +"Another workaround suggested is to set up your $PATH in \".bashrc\", but " +"this flag is for people who do not want to pay the overhead for " +"non-interactive shells by having a lean .bashrc file (they set most of the " +"things up in .bash_profile)." msgstr "" -#. type: Plain text -#: en/git-mergetool.txt:12 +#. type: Labeled list +#: en/git-fetch-pack.txt:82 #, no-wrap -msgid "'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...]\n" -msgstr "" - -#. type: Plain text -#: en/git-mergetool.txt:18 -msgid "" -"Use `git mergetool` to run one of several merge utilities to resolve merge " -"conflicts. It is typically run after 'git merge'." +msgid "--exec=<git-upload-pack>" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:24 -msgid "" -"If one or more <file> parameters are given, the merge tool program will be " -"run to resolve differences on each file (skipping those without conflicts). " -"Specifying a directory will include all unresolved files in that path. If " -"no <file> names are specified, 'git mergetool' will run the merge tool " -"program on every file with merge conflicts." +#: en/git-fetch-pack.txt:84 +msgid "Same as --upload-pack=<git-upload-pack>." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:33 +#: en/git-fetch-pack.txt:89 msgid "" -"Use the merge resolution program specified by <tool>. Valid values include " -"emerge, gvimdiff, kdiff3, meld, vimdiff, and tortoisemerge. Run `git " -"mergetool --tool-help` for the list of valid <tool> settings." +"Limit fetching to ancestor-chains not longer than n. 'git-upload-pack' " +"treats the special depth 2147483647 as infinite even if there is an " +"ancestor-chain that long." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:38 +#: en/git-fetch-pack.txt:93 msgid "" -"If a merge resolution program is not specified, 'git mergetool' will use the " -"configuration variable `merge.tool`. If the configuration variable " -"`merge.tool` is not set, 'git mergetool' will pick a suitable default." +"Deepen or shorten the history of a shallow'repository to include all " +"reachable commits after <date>." msgstr "" -#. type: Plain text -#: en/git-mergetool.txt:44 -msgid "" -"You can explicitly provide a full path to the tool by setting the " -"configuration variable `mergetool.<tool>.path`. For example, you can " -"configure the absolute path to kdiff3 by setting " -"`mergetool.kdiff3.path`. Otherwise, 'git mergetool' assumes the tool is " -"available in PATH." +#. type: Labeled list +#: en/git-fetch-pack.txt:99 +#, no-wrap +msgid "--deepen-relative" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:49 +#: en/git-fetch-pack.txt:103 msgid "" -"Instead of running one of the known merge tool programs, 'git mergetool' can " -"be customized to run an alternative program by specifying the command line " -"to invoke in a configuration variable `mergetool.<tool>.cmd`." +"Argument --depth specifies the number of commits from the current shallow " +"boundary instead of from the tip of each remote branch history." msgstr "" -#. type: Plain text -#: en/git-mergetool.txt:60 -msgid "" -"When 'git mergetool' is invoked with this tool (either through the `-t` or " -"`--tool` option or the `merge.tool` configuration variable) the configured " -"command line will be invoked with `$BASE` set to the name of a temporary " -"file containing the common base for the merge, if available; `$LOCAL` set to " -"the name of a temporary file containing the contents of the file on the " -"current branch; `$REMOTE` set to the name of a temporary file containing the " -"contents of the file to be merged, and `$MERGED` set to the name of the file " -"to which the merge tool should write the result of the merge resolution." +#. type: Labeled list +#: en/git-fetch-pack.txt:104 en/merge-options.txt:113 +#, no-wrap +msgid "--no-progress" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:66 -msgid "" -"If the custom merge tool correctly indicates the success of a merge " -"resolution with its exit code, then the configuration variable " -"`mergetool.<tool>.trustExitCode` can be set to `true`. Otherwise, 'git " -"mergetool' will prompt the user to indicate the success of the resolution " -"after the custom tool has exited." +#: en/git-fetch-pack.txt:106 +msgid "Do not show the progress." msgstr "" -#. type: Plain text -#: en/git-mergetool.txt:69 -msgid "Print a list of merge tools that may be used with `--tool`." +#. type: Labeled list +#: en/git-fetch-pack.txt:107 en/git-index-pack.txt:77 +#, no-wrap +msgid "--check-self-contained-and-connected" msgstr "" #. type: Plain text -#: en/git-mergetool.txt:77 +#: en/git-fetch-pack.txt:110 msgid "" -"Don't prompt before each invocation of the merge resolution program. This " -"is the default if the merge resolution program is explicitly specified with " -"the `--tool` option or with the `merge.tool` configuration variable." +"Output \"connectivity-ok\" if the received pack is self-contained and " +"connected." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:81 -msgid "" -"Prompt before each invocation of the merge resolution program to give the " -"user a chance to skip the path." -msgstr "" - -#. type: Labeled list -#: en/git-mergetool.txt:82 en/diff-options.txt:467 -#, no-wrap -msgid "-O<orderfile>" +#: en/git-fetch-pack.txt:113 en/git-push.txt:267 en/git-send-pack.txt:63 +msgid "Run verbosely." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:88 -msgid "" -"Process files in the order specified in the <orderfile>, which has one shell " -"glob pattern per line. This overrides the `diff.orderFile` configuration " -"variable (see linkgit:git-config[1]). To cancel `diff.orderFile`, use " -"`-O/dev/null`." +#: en/git-fetch-pack.txt:116 +msgid "The URL to the remote repository." msgstr "" -#. type: Title - -#: en/git-mergetool.txt:90 +#. type: Labeled list +#: en/git-fetch-pack.txt:117 en/git-ls-remote.txt:68 #, no-wrap -msgid "TEMPORARY FILES" +msgid "<refs>..." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:94 +#: en/git-fetch-pack.txt:121 msgid "" -"`git mergetool` creates `*.orig` backup files while resolving merges. These " -"are safe to remove once a file has been merged and its `git mergetool` " -"session has completed." +"The remote heads to update from. This is relative to $GIT_DIR " +"(e.g. \"HEAD\", \"refs/heads/master\"). When unspecified, update from all " +"heads the remote side has." msgstr "" #. type: Plain text -#: en/git-mergetool.txt:98 +#: en/git-fetch-pack.txt:125 msgid "" -"Setting the `mergetool.keepBackup` configuration variable to `false` causes " -"`git mergetool` to automatically remove the backup as files are successfully " -"merged." +"If the remote has enabled the options `uploadpack.allowTipSHA1InWant`, " +"`uploadpack.allowReachableSHA1InWant`, or `uploadpack.allowAnySHA1InWant`, " +"they may alternatively be 40-hex sha1s present on the remote." msgstr "" #. type: Title = -#: en/git-merge-tree.txt:2 +#: en/git-fetch.txt:2 #, no-wrap -msgid "git-merge-tree(1)" +msgid "git-fetch(1)" msgstr "" #. type: Plain text -#: en/git-merge-tree.txt:7 -msgid "git-merge-tree - Show three-way merge without touching index" +#: en/git-fetch.txt:7 +msgid "git-fetch - Download objects and refs from another repository" msgstr "" #. type: Plain text -#: en/git-merge-tree.txt:13 +#: en/git-fetch.txt:16 #, no-wrap -msgid "'git merge-tree' <base-tree> <branch1> <branch2>\n" -msgstr "" - -#. type: Plain text -#: en/git-merge-tree.txt:21 msgid "" -"Reads three tree-ish, and output trivial merge results and conflicting " -"stages to the standard output. This is similar to what three-way 'git " -"read-tree -m' does, but instead of storing the results in the index, the " -"command outputs the entries to the standard output." +"'git fetch' [<options>] [<repository> [<refspec>...]]\n" +"'git fetch' [<options>] <group>\n" +"'git fetch' --multiple [<options>] [(<repository> | <group>)...]\n" +"'git fetch' --all [<options>]\n" msgstr "" #. type: Plain text -#: en/git-merge-tree.txt:26 +#: en/git-fetch.txt:24 msgid "" -"This is meant to be used by higher level scripts to compute merge results " -"outside of the index, and stuff the results back into the index. For this " -"reason, the output from the command omits entries that match the <branch1> " -"tree." -msgstr "" - -#. type: Title = -#: en/git-merge.txt:2 -#, no-wrap -msgid "git-merge(1)" +"Fetch branches and/or tags (collectively, \"refs\") from one or more other " +"repositories, along with the objects necessary to complete their histories. " +"Remote-tracking branches are updated (see the description of <refspec> below " +"for ways to control this behavior)." msgstr "" #. type: Plain text -#: en/git-merge.txt:7 -msgid "git-merge - Join two or more development histories together" +#: en/git-fetch.txt:32 +msgid "" +"By default, any tag that points into the histories being fetched is also " +"fetched; the effect is to fetch tags that point at branches that you are " +"interested in. This default behavior can be changed by using the --tags or " +"--no-tags options or by configuring remote.<name>.tagOpt. By using a " +"refspec that fetches tags explicitly, you can fetch tags that do not point " +"into branches you are interested in as well." msgstr "" #. type: Plain text -#: en/git-merge.txt:19 -#, no-wrap +#: en/git-fetch.txt:37 msgid "" -"'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]\n" -"\t[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]\n" -"\t[--[no-]allow-unrelated-histories]\n" -"\t[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]\n" -"'git merge' <msg> HEAD <commit>...\n" -"'git merge' --abort\n" -"'git merge' --continue\n" +"'git fetch' can fetch from either a single named repository or URL, or from " +"several repositories at once if <group> is given and there is a " +"remotes.<group> entry in the configuration file. (See " +"linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-merge.txt:27 +#: en/git-fetch.txt:40 msgid "" -"Incorporates changes from the named commits (since the time their histories " -"diverged from the current branch) into the current branch. This command is " -"used by 'git pull' to incorporate changes from another repository and can be " -"used by hand to merge changes from one branch into another." +"When no remote is specified, by default the `origin` remote will be used, " +"unless there's an upstream branch configured for the current branch." msgstr "" #. type: Plain text -#: en/git-merge.txt:30 en/git-pull.txt:40 -msgid "Assume the following history exists and the current branch is \"`master`\":" +#: en/git-fetch.txt:44 +msgid "" +"The names of refs that are fetched, together with the object names they " +"point at, are written to `.git/FETCH_HEAD`. This information may be used by " +"scripts or other git commands, such as linkgit:git-pull[1]." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:35 +#. type: Title - +#: en/git-fetch.txt:55 #, no-wrap -msgid "" -"\t A---B---C topic\n" -"\t /\n" -" D---E---F---G master\n" +msgid "CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]" msgstr "" #. type: Plain text -#: en/git-merge.txt:42 +#: en/git-fetch.txt:61 msgid "" -"Then \"`git merge topic`\" will replay the changes made on the `topic` " -"branch since it diverged from `master` (i.e., `E`) until its current commit " -"(`C`) on top of `master`, and record the result in a new commit along with " -"the names of the two parent commits and a log message from the user " -"describing the changes." +"You often interact with the same remote repository by regularly and " +"repeatedly fetching from it. In order to keep track of the progress of such " +"a remote repository, `git fetch` allows you to configure " +"`remote.<repository>.fetch` configuration variables." +msgstr "" + +#. type: Plain text +#: en/git-fetch.txt:63 +msgid "Typically such a variable may look like this:" msgstr "" #. type: delimited block - -#: en/git-merge.txt:47 +#: en/git-fetch.txt:67 #, no-wrap msgid "" -"\t A---B---C topic\n" -"\t / \\\n" -" D---E---F---G---H master\n" +"[remote \"origin\"]\n" +"\tfetch = +refs/heads/*:refs/remotes/origin/*\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:52 -msgid "" -"The second syntax (<msg> `HEAD` <commit>...) is supported for historical " -"reasons. Do not use it from the command line or in new scripts. It is the " -"same as `git merge -m <msg> <commit>...`." +#: en/git-fetch.txt:70 +msgid "This configuration is used in two ways:" msgstr "" #. type: Plain text -#: en/git-merge.txt:60 +#: en/git-fetch.txt:80 msgid "" -"The third syntax (\"`git merge --abort`\") can only be run after the merge " -"has resulted in conflicts. 'git merge --abort' will abort the merge process " -"and try to reconstruct the pre-merge state. However, if there were " -"uncommitted changes when the merge started (and especially if those changes " -"were further modified after the merge was started), 'git merge --abort' will " -"in some cases be unable to reconstruct the original (pre-merge) " -"changes. Therefore:" +"When `git fetch` is run without specifying what branches and/or tags to " +"fetch on the command line, e.g. `git fetch origin` or `git fetch`, " +"`remote.<repository>.fetch` values are used as the refspecs--they specify " +"which refs to fetch and which local refs to update. The example above will " +"fetch all branches that exist in the `origin` (i.e. any ref that matches the " +"left-hand side of the value, `refs/heads/*`) and update the corresponding " +"remote-tracking branches in the `refs/remotes/origin/*` hierarchy." msgstr "" #. type: Plain text -#: en/git-merge.txt:64 -#, no-wrap +#: en/git-fetch.txt:97 msgid "" -"*Warning*: Running 'git merge' with non-trivial uncommitted changes is\n" -"discouraged: while possible, it may leave you in a state that is hard to\n" -"back out of in the case of a conflict.\n" +"When `git fetch` is run with explicit branches and/or tags to fetch on the " +"command line, e.g. `git fetch origin master`, the <refspec>s given on the " +"command line determine what are to be fetched (e.g. `master` in the example, " +"which is a short-hand for `master:`, which in turn means \"fetch the " +"'master' branch but I do not explicitly say what remote-tracking branch to " +"update with it from the command line\"), and the example command will fetch " +"_only_ the 'master' branch. The `remote.<repository>.fetch` values " +"determine which remote-tracking branch, if any, is updated. When used in " +"this way, the `remote.<repository>.fetch` values do not have any effect in " +"deciding _what_ gets fetched (i.e. the values are not used as refspecs when " +"the command-line lists refspecs); they are only used to decide _where_ the " +"refs that are fetched are stored by acting as a mapping." msgstr "" #. type: Plain text -#: en/git-merge.txt:67 +#: en/git-fetch.txt:101 msgid "" -"The fourth syntax (\"`git merge --continue`\") can only be run after the " -"merge has resulted in conflicts." +"The latter use of the `remote.<repository>.fetch` values can be overridden " +"by giving the `--refmap=<refspec>` parameter(s) on the command line." msgstr "" #. type: Plain text -#: en/git-merge.txt:77 +#: en/git-fetch.txt:108 msgid "" -"GPG-sign the resulting merge commit. The `keyid` argument is optional and " -"defaults to the committer identity; if specified, it must be stuck to the " -"option without a space." +"The output of \"git fetch\" depends on the transport method used; this " +"section describes the output when fetching over the Git protocol (either " +"locally or via ssh) and Smart HTTP protocol." msgstr "" #. type: Plain text -#: en/git-merge.txt:81 +#: en/git-fetch.txt:111 msgid "" -"Set the commit message to be used for the merge commit (in case one is " -"created)." +"The status of the fetch is output in tabular form, with each line " +"representing the status of a single ref. Each line is of the form:" +msgstr "" + +#. type: delimited block - +#: en/git-fetch.txt:114 +#, no-wrap +msgid " <flag> <summary> <from> -> <to> [<reason>]\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:84 -msgid "" -"If `--log` is specified, a shortlog of the commits being merged will be " -"appended to the specified message." +#: en/git-fetch.txt:118 +msgid "The status of up-to-date refs is shown only if the --verbose option is used." msgstr "" #. type: Plain text -#: en/git-merge.txt:88 +#: en/git-fetch.txt:123 msgid "" -"The 'git fmt-merge-msg' command can be used to give a good default for " -"automated 'git merge' invocations. The automated message can include the " -"branch description." +"In compact output mode, specified with configuration variable fetch.output, " +"if either entire `<from>` or `<to>` is found in the other string, it will be " +"substituted with `*` in the other string. For example, `master -> " +"origin/master` becomes `master -> origin/*`." msgstr "" #. type: Labeled list -#: en/git-merge.txt:89 +#: en/git-fetch.txt:124 en/git-push.txt:328 #, no-wrap -msgid "--[no-]rerere-autoupdate" -msgstr "" - -#. type: Plain text -#: en/git-merge.txt:92 -msgid "" -"Allow the rerere mechanism to update the index with the result of " -"auto-conflict resolution if possible." +msgid "flag" msgstr "" #. type: Plain text -#: en/git-merge.txt:96 -msgid "" -"Abort the current conflict resolution process, and try to reconstruct the " -"pre-merge state." +#: en/git-fetch.txt:126 en/git-push.txt:330 +msgid "A single character indicating the status of the ref:" msgstr "" -#. type: Plain text -#: en/git-merge.txt:101 -msgid "" -"If there were uncommitted worktree changes present when the merge started, " -"'git merge --abort' will in some cases be unable to reconstruct these " -"changes. It is therefore recommended to always commit or stash your changes " -"before running 'git merge'." +#. type: Labeled list +#: en/git-fetch.txt:126 en/git-push.txt:330 +#, no-wrap +msgid "(space)" msgstr "" #. type: Plain text -#: en/git-merge.txt:104 -msgid "" -"'git merge --abort' is equivalent to 'git reset --merge' when `MERGE_HEAD` " -"is present." +#: en/git-fetch.txt:127 +msgid "for a successfully fetched fast-forward;" msgstr "" -#. type: Plain text -#: en/git-merge.txt:109 -msgid "" -"After a 'git merge' stops due to conflicts you can conclude the merge by " -"running 'git merge --continue' (see \"HOW TO RESOLVE CONFLICTS\" section " -"below)." +#. type: Labeled list +#: en/git-fetch.txt:127 en/git-push.txt:331 +#, no-wrap +msgid "`+`" msgstr "" #. type: Plain text -#: en/git-merge.txt:114 -msgid "" -"Commits, usually other branch heads, to merge into our branch. Specifying " -"more than one commit will create a merge with more than two parents " -"(affectionately called an Octopus merge)." +#: en/git-fetch.txt:128 en/git-push.txt:332 +msgid "for a successful forced update;" msgstr "" -#. type: Plain text -#: en/git-merge.txt:118 -msgid "" -"If no commit is given from the command line, merge the remote-tracking " -"branches that the current branch is configured to use as its upstream. See " -"also the configuration section of this manual page." +#. type: Labeled list +#: en/git-fetch.txt:128 en/git-push.txt:332 +#, no-wrap +msgid "`-`" msgstr "" #. type: Plain text -#: en/git-merge.txt:122 -msgid "" -"When `FETCH_HEAD` (and no other commit) is specified, the branches recorded " -"in the `.git/FETCH_HEAD` file by the previous invocation of `git fetch` for " -"merging are merged to the current branch." +#: en/git-fetch.txt:129 +msgid "for a successfully pruned ref;" msgstr "" -#. type: Title - -#: en/git-merge.txt:125 +#. type: Labeled list +#: en/git-fetch.txt:129 #, no-wrap -msgid "PRE-MERGE CHECKS" +msgid "`t`" msgstr "" #. type: Plain text -#: en/git-merge.txt:133 -msgid "" -"Before applying outside changes, you should get your own work in good shape " -"and committed locally, so it will not be clobbered if there are conflicts. " -"See also linkgit:git-stash[1]. 'git pull' and 'git merge' will stop without " -"doing anything when local uncommitted changes overlap with files that 'git " -"pull'/'git merge' may need to update." +#: en/git-fetch.txt:130 +msgid "for a successful tag update;" msgstr "" -#. type: Plain text -#: en/git-merge.txt:139 -msgid "" -"To avoid recording unrelated changes in the merge commit, 'git pull' and " -"'git merge' will also abort if there are any changes registered in the index " -"relative to the `HEAD` commit. (One exception is when the changed index " -"entries are in the state that would result from the merge already.)" +#. type: Labeled list +#: en/git-fetch.txt:130 en/git-push.txt:333 +#, no-wrap +msgid "`*`" msgstr "" #. type: Plain text -#: en/git-merge.txt:142 -msgid "" -"If all named commits are already ancestors of `HEAD`, 'git merge' will exit " -"early with the message \"Already up-to-date.\"" +#: en/git-fetch.txt:131 +msgid "for a successfully fetched new ref;" msgstr "" -#. type: Title - -#: en/git-merge.txt:144 +#. type: Labeled list +#: en/git-fetch.txt:131 en/git-push.txt:334 #, no-wrap -msgid "FAST-FORWARD MERGE" +msgid "`!`" msgstr "" #. type: Plain text -#: en/git-merge.txt:154 -msgid "" -"Often the current branch head is an ancestor of the named commit. This is " -"the most common case especially when invoked from 'git pull': you are " -"tracking an upstream repository, you have committed no local changes, and " -"now you want to update to a newer upstream revision. In this case, a new " -"commit is not needed to store the combined history; instead, the `HEAD` " -"(along with the index) is updated to point at the named commit, without " -"creating an extra merge commit." +#: en/git-fetch.txt:132 +msgid "for a ref that was rejected or failed to update; and" +msgstr "" + +#. type: Labeled list +#: en/git-fetch.txt:132 en/git-push.txt:335 +#, no-wrap +msgid "`=`" msgstr "" #. type: Plain text -#: en/git-merge.txt:156 -msgid "This behavior can be suppressed with the `--no-ff` option." +#: en/git-fetch.txt:133 +msgid "for a ref that was up to date and did not need fetching." msgstr "" -#. type: Title - -#: en/git-merge.txt:158 +#. type: Labeled list +#: en/git-fetch.txt:134 en/git-push.txt:337 #, no-wrap -msgid "TRUE MERGE" +msgid "summary" msgstr "" #. type: Plain text -#: en/git-merge.txt:163 +#: en/git-fetch.txt:139 msgid "" -"Except in a fast-forward merge (see above), the branches to be merged must " -"be tied together by a merge commit that has both of them as its parents." +"For a successfully fetched ref, the summary shows the old and new values of " +"the ref in a form suitable for using as an argument to `git log` (this is " +"`<old>..<new>` in most cases, and `<old>...<new>` for forced " +"non-fast-forward updates)." +msgstr "" + +#. type: Labeled list +#: en/git-fetch.txt:140 en/git-push.txt:365 +#, no-wrap +msgid "from" msgstr "" #. type: Plain text -#: en/git-merge.txt:168 +#: en/git-fetch.txt:144 msgid "" -"A merged version reconciling the changes from all branches to be merged is " -"committed, and your `HEAD`, index, and working tree are updated to it. It " -"is possible to have modifications in the working tree as long as they do not " -"overlap; the update will preserve them." +"The name of the remote ref being fetched from, minus its `refs/<type>/` " +"prefix. In the case of deletion, the name of the remote ref is \"(none)\"." msgstr "" #. type: Plain text -#: en/git-merge.txt:171 -msgid "When it is not obvious how to reconcile the changes, the following happens:" +#: en/git-fetch.txt:145 en/git-push.txt:370 en/git-rebase.txt:790 +#, no-wrap +msgid "to" msgstr "" #. type: Plain text -#: en/git-merge.txt:173 -msgid "The `HEAD` pointer stays the same." +#: en/git-fetch.txt:148 +msgid "The name of the local ref being updated, minus its `refs/<type>/` prefix." msgstr "" -#. type: Plain text -#: en/git-merge.txt:174 -msgid "The `MERGE_HEAD` ref is set to point to the other branch head." +#. type: Labeled list +#: en/git-fetch.txt:149 en/git-push.txt:374 +#, no-wrap +msgid "reason" msgstr "" #. type: Plain text -#: en/git-merge.txt:176 +#: en/git-fetch.txt:153 msgid "" -"Paths that merged cleanly are updated both in the index file and in your " -"working tree." +"A human-readable explanation. In the case of successfully fetched refs, no " +"explanation is needed. For a failed ref, the reason for failure is " +"described." msgstr "" #. type: Plain text -#: en/git-merge.txt:182 -msgid "" -"For conflicting paths, the index file records up to three versions: stage 1 " -"stores the version from the common ancestor, stage 2 from `HEAD`, and stage " -"3 from `MERGE_HEAD` (you can inspect the stages with `git ls-files -u`). " -"The working tree files contain the result of the \"merge\" program; " -"i.e. 3-way merge results with familiar conflict markers `<<<` `===` `>>>`." +#: en/git-fetch.txt:158 +msgid "Update the remote-tracking branches:" +msgstr "" + +#. type: delimited block - +#: en/git-fetch.txt:161 +#, no-wrap +msgid "$ git fetch origin\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:186 +#: en/git-fetch.txt:167 msgid "" -"No other changes are made. In particular, the local modifications you had " -"before you started merge will stay the same and the index entries for them " -"stay as they were, i.e. matching `HEAD`." +"The above command copies all branches from the remote refs/heads/ namespace " +"and stores them to the local refs/remotes/origin/ namespace, unless the " +"branch.<name>.fetch option is used to specify a non-default refspec." msgstr "" #. type: Plain text -#: en/git-merge.txt:189 -msgid "" -"If you tried a merge which resulted in complex conflicts and want to start " -"over, you can recover with `git merge --abort`." +#: en/git-fetch.txt:169 +msgid "Using refspecs explicitly:" msgstr "" -#. type: Title - -#: en/git-merge.txt:191 +#. type: delimited block - +#: en/git-fetch.txt:172 #, no-wrap -msgid "MERGING TAG" +msgid "$ git fetch origin +pu:pu maint:tmp\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:198 +#: en/git-fetch.txt:177 msgid "" -"When merging an annotated (and possibly signed) tag, Git always creates a " -"merge commit even if a fast-forward merge is possible, and the commit " -"message template is prepared with the tag message. Additionally, if the tag " -"is signed, the signature check is reported as a comment in the message " -"template. See also linkgit:git-tag[1]." +"This updates (or creates, as necessary) branches `pu` and `tmp` in the local " +"repository by fetching from the branches (respectively) `pu` and `maint` " +"from the remote repository." msgstr "" #. type: Plain text -#: en/git-merge.txt:202 +#: en/git-fetch.txt:180 msgid "" -"When you want to just integrate with the work leading to the commit that " -"happens to be tagged, e.g. synchronizing with an upstream release point, you " -"may not want to make an unnecessary merge commit." +"The `pu` branch will be updated even if it is does not fast-forward, because " +"it is prefixed with a plus sign; `tmp` will not be." msgstr "" #. type: Plain text -#: en/git-merge.txt:206 +#: en/git-fetch.txt:183 msgid "" -"In such a case, you can \"unwrap\" the tag yourself before feeding it to " -"`git merge`, or pass `--ff-only` when you do not have any work on your " -"own. e.g." +"Peek at a remote's branch, without configuring the remote in your local " +"repository:" msgstr "" #. type: delimited block - -#: en/git-merge.txt:211 +#: en/git-fetch.txt:187 #, no-wrap msgid "" -"git fetch origin\n" -"git merge v1.2.3^0\n" -"git merge --ff-only v1.2.3\n" +"$ git fetch git://git.kernel.org/pub/scm/git/git.git maint\n" +"$ git log FETCH_HEAD\n" +msgstr "" + +#. type: Plain text +#: en/git-fetch.txt:194 +msgid "" +"The first command fetches the `maint` branch from the repository at " +"`git://git.kernel.org/pub/scm/git/git.git` and the second command uses " +"`FETCH_HEAD` to examine the branch with linkgit:git-log[1]. The fetched " +"objects will eventually be removed by git's built-in housekeeping (see " +"linkgit:git-gc[1])." msgstr "" #. type: Title - -#: en/git-merge.txt:215 +#: en/git-fetch.txt:198 en/git-mv.txt:56 en/git-pack-refs.txt:64 en/git-pull.txt:243 en/git-rebase.txt:779 en/git-replace.txt:134 en/git-rm.txt:174 en/git-svn.txt:1026 en/git-worktree.txt:245 #, no-wrap -msgid "HOW CONFLICTS ARE PRESENTED" +msgid "BUGS" msgstr "" #. type: Plain text -#: en/git-merge.txt:224 +#: en/git-fetch.txt:205 en/git-pull.txt:250 msgid "" -"During a merge, the working tree files are updated to reflect the result of " -"the merge. Among the changes made to the common ancestor's version, " -"non-overlapping ones (that is, you changed an area of the file while the " -"other side left that area intact, or vice versa) are incorporated in the " -"final result verbatim. When both sides made changes to the same area, " -"however, Git cannot randomly pick one side over the other, and asks you to " -"resolve it by leaving what both sides did to that area." +"Using --recurse-submodules can only fetch new commits in already checked out " +"submodules right now. When e.g. upstream added a new submodule in the just " +"fetched commits of the superproject the submodule itself can not be fetched, " +"making it impossible to check out that submodule later without having to do " +"a fetch again. This is expected to be fixed in a future Git version." +msgstr "" + +#. type: Title = +#: en/git-filter-branch.txt:2 +#, no-wrap +msgid "git-filter-branch(1)" msgstr "" #. type: Plain text -#: en/git-merge.txt:227 -msgid "" -"By default, Git uses the same style as the one used by the \"merge\" program " -"from the RCS suite to present such a conflicted hunk, like this:" +#: en/git-filter-branch.txt:7 +msgid "git-filter-branch - Rewrite branches" msgstr "" -#. type: delimited block - -#: en/git-merge.txt:238 +#. type: Plain text +#: en/git-filter-branch.txt:18 #, no-wrap msgid "" -"Here are lines that are either unchanged from the common\n" -"ancestor, or cleanly resolved because only one side changed.\n" -"<<<<<<< yours:sample.txt\n" -"Conflict resolution is hard;\n" -"let's go shopping.\n" -"=======\n" -"Git makes conflict resolution easy.\n" -">>>>>>> theirs:sample.txt\n" -"And here is another line that is cleanly resolved or unmodified.\n" +"'git filter-branch' [--env-filter <command>] [--tree-filter <command>]\n" +"\t[--index-filter <command>] [--parent-filter <command>]\n" +"\t[--msg-filter <command>] [--commit-filter <command>]\n" +"\t[--tag-name-filter <command>] [--subdirectory-filter <directory>]\n" +"\t[--prune-empty]\n" +"\t[--original <namespace>] [-d <directory>] [-f | --force]\n" +"\t[--] [<rev-list options>...]\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:243 +#: en/git-filter-branch.txt:27 msgid "" -"The area where a pair of conflicting changes happened is marked with markers " -"`<<<<<<<`, `=======`, and `>>>>>>>`. The part before the `=======` is " -"typically your side, and the part afterwards is typically their side." +"Lets you rewrite Git revision history by rewriting the branches mentioned in " +"the <rev-list options>, applying custom filters on each revision. Those " +"filters can modify each tree (e.g. removing a file or running a perl rewrite " +"on all files) or information about each commit. Otherwise, all information " +"(including original commit times or merge information) will be preserved." msgstr "" #. type: Plain text -#: en/git-merge.txt:249 +#: en/git-filter-branch.txt:34 msgid "" -"The default format does not show what the original said in the conflicting " -"area. You cannot tell how many lines are deleted and replaced with Barbie's " -"remark on your side. The only thing you can tell is that your side wants to " -"say it is hard and you'd prefer to go shopping, while the other side wants " -"to claim it is easy." +"The command will only rewrite the _positive_ refs mentioned in the command " +"line (e.g. if you pass 'a..b', only 'b' will be rewritten). If you specify " +"no filters, the commits will be recommitted without any changes, which would " +"normally have no effect. Nevertheless, this may be useful in the future for " +"compensating for some Git bugs or such, therefore such a usage is permitted." msgstr "" #. type: Plain text -#: en/git-merge.txt:253 +#: en/git-filter-branch.txt:39 +#, no-wrap msgid "" -"An alternative style can be used by setting the \"merge.conflictStyle\" " -"configuration variable to \"diff3\". In \"diff3\" style, the above conflict " -"may look like this:" +"*NOTE*: This command honors `.git/info/grafts` file and refs in\n" +"the `refs/replace/` namespace.\n" +"If you have any grafts or replacement refs defined, running this command\n" +"will make them permanent.\n" msgstr "" -#. type: delimited block - -#: en/git-merge.txt:266 +#. type: Plain text +#: en/git-filter-branch.txt:48 #, no-wrap msgid "" -"Here are lines that are either unchanged from the common\n" -"ancestor, or cleanly resolved because only one side changed.\n" -"<<<<<<< yours:sample.txt\n" -"Conflict resolution is hard;\n" -"let's go shopping.\n" -"|||||||\n" -"Conflict resolution is hard.\n" -"=======\n" -"Git makes conflict resolution easy.\n" -">>>>>>> theirs:sample.txt\n" -"And here is another line that is cleanly resolved or unmodified.\n" -msgstr "" - -#. type: Plain text -#: en/git-merge.txt:274 -msgid "" -"In addition to the `<<<<<<<`, `=======`, and `>>>>>>>` markers, it uses " -"another `|||||||` marker that is followed by the original text. You can " -"tell that the original just stated a fact, and your side simply gave in to " -"that statement and gave up, while the other side tried to have a more " -"positive attitude. You can sometimes come up with a better resolution by " -"viewing the original." -msgstr "" - -#. type: Title - -#: en/git-merge.txt:277 -#, no-wrap -msgid "HOW TO RESOLVE CONFLICTS" -msgstr "" - -#. type: Plain text -#: en/git-merge.txt:280 -msgid "After seeing a conflict, you can do two things:" +"*WARNING*! The rewritten history will have different object names for all\n" +"the objects and will not converge with the original branch. You will not\n" +"be able to easily push and distribute the rewritten branch on top of the\n" +"original branch. Please do not use this command if you do not know the\n" +"full implications, and avoid using it anyway, if a simple single commit\n" +"would suffice to fix your problem. (See the \"RECOVERING FROM UPSTREAM\n" +"REBASE\" section in linkgit:git-rebase[1] for further information about\n" +"rewriting published history.)\n" msgstr "" #. type: Plain text -#: en/git-merge.txt:285 +#: en/git-filter-branch.txt:52 msgid "" -"Decide not to merge. The only clean-ups you need are to reset the index " -"file to the `HEAD` commit to reverse 2. and to clean up working tree changes " -"made by 2. and 3.; `git merge --abort` can be used for this." +"Always verify that the rewritten version is correct: The original refs, if " +"different from the rewritten ones, will be stored in the namespace " +"'refs/original/'." msgstr "" #. type: Plain text -#: en/git-merge.txt:289 +#: en/git-filter-branch.txt:56 msgid "" -"Resolve the conflicts. Git will mark the conflicts in the working tree. " -"Edit the files into shape and 'git add' them to the index. Use 'git commit' " -"to seal the deal." +"Note that since this operation is very I/O expensive, it might be a good " +"idea to redirect the temporary directory off-disk with the `-d` option, " +"e.g. on tmpfs. Reportedly the speedup is very noticeable." msgstr "" -#. type: Plain text -#: en/git-merge.txt:291 -msgid "You can work through the conflict with a number of tools:" +#. type: Title ~ +#: en/git-filter-branch.txt:59 +#, no-wrap +msgid "Filters" msgstr "" #. type: Plain text -#: en/git-merge.txt:294 +#: en/git-filter-branch.txt:71 msgid "" -"Use a mergetool. `git mergetool` to launch a graphical mergetool which will " -"work you through the merge." +"The filters are applied in the order as listed below. The <command> " +"argument is always evaluated in the shell context using the 'eval' command " +"(with the notable exception of the commit filter, for technical reasons). " +"Prior to that, the `$GIT_COMMIT` environment variable will be set to contain " +"the id of the commit being rewritten. Also, GIT_AUTHOR_NAME, " +"GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, " +"and GIT_COMMITTER_DATE are taken from the current commit and exported to the " +"environment, in order to affect the author and committer identities of the " +"replacement commit created by linkgit:git-commit-tree[1] after the filters " +"have run." msgstr "" #. type: Plain text -#: en/git-merge.txt:298 +#: en/git-filter-branch.txt:74 msgid "" -"Look at the diffs. `git diff` will show a three-way diff, highlighting " -"changes from both the `HEAD` and `MERGE_HEAD` versions." +"If any evaluation of <command> returns a non-zero exit status, the whole " +"operation will be aborted." msgstr "" #. type: Plain text -#: en/git-merge.txt:302 +#: en/git-filter-branch.txt:80 msgid "" -"Look at the diffs from each branch. `git log --merge -p <path>` will show " -"diffs first for the `HEAD` version and then the `MERGE_HEAD` version." +"A 'map' function is available that takes an \"original sha1 id\" argument " +"and outputs a \"rewritten sha1 id\" if the commit has been already " +"rewritten, and \"original sha1 id\" otherwise; the 'map' function can return " +"several ids on separate lines if your commit filter emitted multiple " +"commits." msgstr "" -#. type: Plain text -#: en/git-merge.txt:307 -msgid "" -"Look at the originals. `git show :1:filename` shows the common ancestor, " -"`git show :2:filename` shows the `HEAD` version, and `git show :3:filename` " -"shows the `MERGE_HEAD` version." +#. type: Labeled list +#: en/git-filter-branch.txt:85 +#, no-wrap +msgid "--env-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:314 +#: en/git-filter-branch.txt:91 msgid "" -"Merge branches `fixes` and `enhancements` on top of the current branch, " -"making an octopus merge:" +"This filter may be used if you only need to modify the environment in which " +"the commit will be performed. Specifically, you might want to rewrite the " +"author/committer name/email/time environment variables (see " +"linkgit:git-commit-tree[1] for details). Do not forget to re-export the " +"variables." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:317 +#. type: Labeled list +#: en/git-filter-branch.txt:92 #, no-wrap -msgid "$ git merge fixes enhancements\n" +msgid "--tree-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:321 +#: en/git-filter-branch.txt:99 msgid "" -"Merge branch `obsolete` into the current branch, using `ours` merge " -"strategy:" +"This is the filter for rewriting the tree and its contents. The argument is " +"evaluated in shell with the working directory set to the root of the checked " +"out tree. The new tree is then used as-is (new files are auto-added, " +"disappeared files are auto-removed - neither .gitignore files nor any other " +"ignore rules *HAVE ANY EFFECT*!)." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:324 +#. type: Labeled list +#: en/git-filter-branch.txt:100 #, no-wrap -msgid "$ git merge -s ours obsolete\n" +msgid "--index-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:328 +#: en/git-filter-branch.txt:106 msgid "" -"Merge branch `maint` into the current branch, but do not make a new commit " -"automatically:" +"This is the filter for rewriting the index. It is similar to the tree " +"filter but does not check out the tree, which makes it much faster. " +"Frequently used with `git rm --cached --ignore-unmatch ...`, see EXAMPLES " +"below. For hairy cases, see linkgit:git-update-index[1]." msgstr "" -#. type: delimited block - -#: en/git-merge.txt:331 +#. type: Labeled list +#: en/git-filter-branch.txt:107 #, no-wrap -msgid "$ git merge --no-commit maint\n" -msgstr "" - -#. type: Plain text -#: en/git-merge.txt:335 -msgid "" -"This can be used when you want to include further changes to the merge, or " -"want to write your own merge commit message." +msgid "--parent-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:339 +#: en/git-filter-branch.txt:114 msgid "" -"You should refrain from abusing this option to sneak substantial changes " -"into a merge commit. Small fixups like bumping release/version name would " -"be acceptable." +"This is the filter for rewriting the commit's parent list. It will receive " +"the parent string on stdin and shall output the new parent string on " +"stdout. The parent string is in the format described in " +"linkgit:git-commit-tree[1]: empty for the initial commit, \"-p parent\" for " +"a normal commit and \"-p parent1 -p parent2 -p parent3 ...\" for a merge " +"commit." msgstr "" #. type: Labeled list -#: en/git-merge.txt:347 en/config.txt:985 +#: en/git-filter-branch.txt:115 #, no-wrap -msgid "branch.<name>.mergeOptions" -msgstr "" - -#. type: Plain text -#: en/git-merge.txt:351 -msgid "" -"Sets default options for merging into branch <name>. The syntax and " -"supported options are the same as those of 'git merge', but option values " -"containing whitespace characters are currently not supported." +msgid "--msg-filter <command>" msgstr "" #. type: Plain text -#: en/git-merge.txt:360 +#: en/git-filter-branch.txt:120 msgid "" -"linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1], linkgit:gitattributes[5], " -"linkgit:git-reset[1], linkgit:git-diff[1], linkgit:git-ls-files[1], " -"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mergetool[1]" +"This is the filter for rewriting the commit messages. The argument is " +"evaluated in the shell with the original commit message on standard input; " +"its standard output is used as the new commit message." msgstr "" -#. type: Title = -#: en/git-mktag.txt:2 +#. type: Labeled list +#: en/git-filter-branch.txt:121 #, no-wrap -msgid "git-mktag(1)" +msgid "--commit-filter <command>" msgstr "" #. type: Plain text -#: en/git-mktag.txt:7 -msgid "git-mktag - Creates a tag object" +#: en/git-filter-branch.txt:127 +msgid "" +"This is the filter for performing the commit. If this filter is specified, " +"it will be called instead of the 'git commit-tree' command, with arguments " +"of the form \"<TREE_ID> [(-p <PARENT_COMMIT_ID>)...]\" and the log message " +"on stdin. The commit id is expected on stdout." msgstr "" #. type: Plain text -#: en/git-mktag.txt:13 -#, no-wrap -msgid "'git mktag'\n" +#: en/git-filter-branch.txt:131 +msgid "" +"As a special extension, the commit filter may emit multiple commit ids; in " +"that case, the rewritten children of the original commit will have all of " +"them as parents." msgstr "" #. type: Plain text -#: en/git-mktag.txt:18 +#: en/git-filter-branch.txt:136 msgid "" -"Reads a tag contents on standard input and creates a tag object that can " -"also be used to sign other objects." +"You can use the 'map' convenience function in this filter, and other " +"convenience functions, too. For example, calling 'skip_commit \"$@\"' will " +"leave out the current commit (but not its changes! If you want that, use " +"'git rebase' instead)." msgstr "" #. type: Plain text -#: en/git-mktag.txt:20 -msgid "The output is the new tag's <object> identifier." +#: en/git-filter-branch.txt:140 +msgid "" +"You can also use the `git_commit_non_empty_tree \"$@\"` instead of `git " +"commit-tree \"$@\"` if you don't wish to keep commits with a single parent " +"and that makes no change to the tree." msgstr "" -#. type: Title - -#: en/git-mktag.txt:22 +#. type: Labeled list +#: en/git-filter-branch.txt:141 #, no-wrap -msgid "Tag Format" +msgid "--tag-name-filter <command>" msgstr "" #. type: Plain text -#: en/git-mktag.txt:25 +#: en/git-filter-branch.txt:147 msgid "" -"A tag signature file, to be fed to this command's standard input, has a very " -"simple fixed format: four lines of" +"This is the filter for rewriting tag names. When passed, it will be called " +"for every tag ref that points to a rewritten object (or to a tag object " +"which points to a rewritten object). The original tag name is passed via " +"standard input, and the new tag name is expected on standard output." msgstr "" #. type: Plain text -#: en/git-mktag.txt:30 -#, no-wrap +#: en/git-filter-branch.txt:152 msgid "" -" object <sha1>\n" -" type <typename>\n" -" tag <tagname>\n" -" tagger <tagger>\n" +"The original tags are not deleted, but can be overwritten; use " +"\"--tag-name-filter cat\" to simply update the tags. In this case, be very " +"careful and make sure you have the old tags backed up in case the conversion " +"has run afoul." msgstr "" #. type: Plain text -#: en/git-mktag.txt:36 +#: en/git-filter-branch.txt:163 msgid "" -"followed by some 'optional' free-form message (some tags created by older " -"Git may not have `tagger` line). The message, when exists, is separated by " -"a blank line from the header. The message part may contain a signature that " -"Git itself doesn't care about, but that can be verified with gpg." +"Nearly proper rewriting of tag objects is supported. If the tag has a " +"message attached, a new tag object will be created with the same message, " +"author, and timestamp. If the tag has a signature attached, the signature " +"will be stripped. It is by definition impossible to preserve signatures. The " +"reason this is \"nearly\" proper, is because ideally if the tag did not " +"change (points to the same object, has the same name, etc.) it should " +"retain any signature. That is not the case, signatures will always be " +"removed, buyer beware. There is also no support for changing the author or " +"timestamp (or the tag message for that matter). Tags which point to other " +"tags will be rewritten to point to the underlying commit." msgstr "" -#. type: Title = -#: en/git-mktree.txt:2 +#. type: Labeled list +#: en/git-filter-branch.txt:164 #, no-wrap -msgid "git-mktree(1)" +msgid "--subdirectory-filter <directory>" msgstr "" #. type: Plain text -#: en/git-mktree.txt:7 -msgid "git-mktree - Build a tree-object from ls-tree formatted text" +#: en/git-filter-branch.txt:168 +msgid "" +"Only look at the history which touches the given subdirectory. The result " +"will contain that directory (and only that) as its project root. Implies " +"<<Remap_to_ancestor>>." msgstr "" -#. type: Plain text -#: en/git-mktree.txt:13 +#. type: Labeled list +#: en/git-filter-branch.txt:169 #, no-wrap -msgid "'git mktree' [-z] [--missing] [--batch]\n" +msgid "--prune-empty" msgstr "" #. type: Plain text -#: en/git-mktree.txt:20 +#: en/git-filter-branch.txt:176 msgid "" -"Reads standard input in non-recursive `ls-tree` output format, and creates a " -"tree object. The order of the tree entries is normalised by mktree so " -"pre-sorting the input is not required. The object name of the tree object " -"built is written to the standard output." +"Some filters will generate empty commits that leave the tree untouched. " +"This option instructs git-filter-branch to remove such commits if they have " +"exactly one or zero non-pruned parents; merge commits will therefore remain " +"intact. This option cannot be used together with `--commit-filter`, though " +"the same effect can be achieved by using the provided " +"`git_commit_non_empty_tree` function in a commit filter." +msgstr "" + +#. type: Labeled list +#: en/git-filter-branch.txt:177 +#, no-wrap +msgid "--original <namespace>" msgstr "" #. type: Plain text -#: en/git-mktree.txt:25 -msgid "Read the NUL-terminated `ls-tree -z` output instead." +#: en/git-filter-branch.txt:180 +msgid "" +"Use this option to set the namespace where the original commits will be " +"stored. The default value is 'refs/original'." msgstr "" #. type: Labeled list -#: en/git-mktree.txt:26 +#: en/git-filter-branch.txt:181 #, no-wrap -msgid "--missing" +msgid "-d <directory>" msgstr "" #. type: Plain text -#: en/git-mktree.txt:31 +#: en/git-filter-branch.txt:188 msgid "" -"Allow missing objects. The default behaviour (without this option) is to " -"verify that each tree entry's sha1 identifies an existing object. This " -"option has no effect on the treatment of gitlink entries (aka " -"\"submodules\") which are always allowed to be missing." +"Use this option to set the path to the temporary directory used for " +"rewriting. When applying a tree filter, the command needs to temporarily " +"check out the tree to some directory, which may consume considerable space " +"in case of large projects. By default it does this in the '.git-rewrite/' " +"directory but you can override that choice by this parameter." msgstr "" #. type: Plain text -#: en/git-mktree.txt:37 +#: en/git-filter-branch.txt:194 msgid "" -"Allow building of more than one tree object before exiting. Each tree is " -"separated by as single blank line. The final new-line is optional. Note - " -"if the `-z` option is used, lines are terminated with NUL." +"'git filter-branch' refuses to start with an existing temporary directory or " +"when there are already refs starting with 'refs/original/', unless forced." msgstr "" -#. type: Title = -#: en/git-mv.txt:2 +#. type: Labeled list +#: en/git-filter-branch.txt:195 #, no-wrap -msgid "git-mv(1)" +msgid "<rev-list options>..." msgstr "" #. type: Plain text -#: en/git-mv.txt:7 -msgid "git-mv - Move or rename a file, a directory, or a symlink" +#: en/git-filter-branch.txt:200 +msgid "" +"Arguments for 'git rev-list'. All positive refs included by these options " +"are rewritten. You may also specify options such as `--all`, but you must " +"use `--` to separate them from the 'git filter-branch' options. Implies " +"<<Remap_to_ancestor>>." msgstr "" -#. type: Plain text -#: en/git-mv.txt:13 +#. type: Title ~ +#: en/git-filter-branch.txt:204 #, no-wrap -msgid "'git mv' <options>... <args>...\n" +msgid "Remap to ancestor" msgstr "" #. type: Plain text -#: en/git-mv.txt:17 -msgid "Move or rename a file, directory or symlink." +#: en/git-filter-branch.txt:211 +msgid "" +"By using linkgit:git-rev-list[1] arguments, e.g., path limiters, you can " +"limit the set of revisions which get rewritten. However, positive refs on " +"the command line are distinguished: we don't let them be excluded by such " +"limiters. For this purpose, they are instead rewritten to point at the " +"nearest ancestor that was not excluded." msgstr "" #. type: Plain text -#: en/git-mv.txt:20 -#, no-wrap +#: en/git-filter-branch.txt:218 msgid "" -" git mv [-v] [-f] [-n] [-k] <source> <destination>\n" -" git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>\n" +"Suppose you want to remove a file (containing confidential information or " +"copyright violation) from all commits:" msgstr "" -#. type: Plain text -#: en/git-mv.txt:25 -msgid "" -"In the first form, it renames <source>, which must exist and be either a " -"file, symlink or directory, to <destination>. In the second form, the last " -"argument has to be an existing directory; the given sources will be moved " -"into this directory." +#. type: delimited block - +#: en/git-filter-branch.txt:221 +#, no-wrap +msgid "git filter-branch --tree-filter 'rm filename' HEAD\n" msgstr "" #. type: Plain text -#: en/git-mv.txt:28 +#: en/git-filter-branch.txt:226 msgid "" -"The index is updated after successful completion, but the change must still " -"be committed." +"However, if the file is absent from the tree of some commit, a simple `rm " +"filename` will fail for that tree and commit. Thus you may instead want to " +"use `rm -f filename` as the script." msgstr "" #. type: Plain text -#: en/git-mv.txt:34 -msgid "Force renaming or moving of a file even if the target exists" +#: en/git-filter-branch.txt:232 +msgid "" +"Using `--index-filter` with 'git rm' yields a significantly faster version. " +"Like with using `rm filename`, `git rm --cached filename` will fail if the " +"file is absent from the tree of a commit. If you want to \"completely " +"forget\" a file, it does not matter when it entered history, so we also add " +"`--ignore-unmatch`:" msgstr "" -#. type: Plain text -#: en/git-mv.txt:39 +#. type: delimited block - +#: en/git-filter-branch.txt:235 +#, no-wrap msgid "" -"Skip move or rename actions which would lead to an error condition. An error " -"happens when a source is neither existing nor controlled by Git, or when it " -"would overwrite an existing file unless `-f` is given." +"git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' " +"HEAD\n" msgstr "" #. type: Plain text -#: en/git-mv.txt:42 -msgid "Do nothing; only show what would happen" +#: en/git-filter-branch.txt:238 +msgid "Now, you will get the rewritten history saved in HEAD." msgstr "" #. type: Plain text -#: en/git-mv.txt:46 -msgid "Report the names of files as they are moved." +#: en/git-filter-branch.txt:241 +msgid "" +"To rewrite the repository to look as if `foodir/` had been its project root, " +"and discard all other history:" msgstr "" -#. type: Title - -#: en/git-mv.txt:48 en/git-rm.txt:138 +#. type: delimited block - +#: en/git-filter-branch.txt:244 #, no-wrap -msgid "SUBMODULES" +msgid "git filter-branch --subdirectory-filter foodir -- --all\n" msgstr "" #. type: Plain text -#: en/git-mv.txt:54 +#: en/git-filter-branch.txt:249 msgid "" -"Moving a submodule using a gitfile (which means they were cloned with a Git " -"version 1.7.8 or newer) will update the gitfile and core.worktree setting to " -"make the submodule work in the new location. It also will attempt to update " -"the submodule.<name>.path setting in the linkgit:gitmodules[5] file and " -"stage that file (unless -n is used)." +"Thus you can, e.g., turn a library subdirectory into a repository of its " +"own. Note the `--` that separates 'filter-branch' options from revision " +"options, and the `--all` to rewrite all branches and tags." msgstr "" #. type: Plain text -#: en/git-mv.txt:66 +#: en/git-filter-branch.txt:253 msgid "" -"Each time a superproject update moves a populated submodule (e.g. when " -"switching between commits before and after the move) a stale submodule " -"checkout will remain in the old location and an empty directory will appear " -"in the new location. To populate the submodule again in the new location the " -"user will have to run \"git submodule update\" afterwards. Removing the old " -"directory is only safe when it uses a gitfile, as otherwise the history of " -"the submodule will be deleted too. Both steps will be obsolete when " -"recursive submodule update has been implemented." +"To set a commit (which typically is at the tip of another history) to be the " +"parent of the current initial commit, in order to paste the other history " +"behind the current history:" msgstr "" -#. type: Title = -#: en/git-name-rev.txt:2 +#. type: delimited block - +#: en/git-filter-branch.txt:256 #, no-wrap -msgid "git-name-rev(1)" -msgstr "" - -#. type: Plain text -#: en/git-name-rev.txt:7 -msgid "git-name-rev - Find symbolic names for given revs" +msgid "git filter-branch --parent-filter 'sed \"s/^\\$/-p <graft-id>/\"' HEAD\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:14 -#, no-wrap +#: en/git-filter-branch.txt:262 msgid "" -"'git name-rev' [--tags] [--refs=<pattern>]\n" -"\t ( --all | --stdin | <commit-ish>... )\n" +"(if the parent string is empty - which happens when we are dealing with the " +"initial commit - add graftcommit as a parent). Note that this assumes " +"history with a single root (that is, no merge without common ancestors " +"happened). If this is not the case, use:" msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:19 +#. type: delimited block - +#: en/git-filter-branch.txt:266 +#, no-wrap msgid "" -"Finds symbolic names suitable for human digestion for revisions given in any " -"format parsable by 'git rev-parse'." +"git filter-branch --parent-filter \\\n" +"\t'test $GIT_COMMIT = <commit-id> && echo \"-p <graft-id>\" || cat' HEAD\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:26 -msgid "Do not use branch names, but only tags to name the commits" +#: en/git-filter-branch.txt:269 +msgid "or even simpler:" msgstr "" -#. type: Labeled list -#: en/git-name-rev.txt:27 +#. type: delimited block - +#: en/git-filter-branch.txt:273 #, no-wrap -msgid "--refs=<pattern>" +msgid "" +"echo \"$commit-id $graft-id\" >> .git/info/grafts\n" +"git filter-branch $graft-id..HEAD\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:32 -msgid "" -"Only use refs whose names match a given shell pattern. The pattern can be " -"one of branch name, tag name or fully qualified ref name. If given multiple " -"times, use refs whose names match any of the given shell patterns. Use " -"`--no-refs` to clear any previous ref patterns given." +#: en/git-filter-branch.txt:276 +msgid "To remove commits authored by \"Darl McBribe\" from the history:" msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:41 +#. type: delimited block - +#: en/git-filter-branch.txt:285 +#, no-wrap msgid "" -"Do not use any ref whose name matches a given shell pattern. The pattern can " -"be one of branch name, tag name or fully qualified ref name. If given " -"multiple times, a ref will be excluded when it matches any of the given " -"patterns. When used together with --refs, a ref will be used as a match only " -"when it matches at least one --refs pattern and does not match any --exclude " -"patterns. Use `--no-exclude` to clear the list of exclude patterns." +"git filter-branch --commit-filter '\n" +"\tif [ \"$GIT_AUTHOR_NAME\" = \"Darl McBribe\" ];\n" +"\tthen\n" +"\t\tskip_commit \"$@\";\n" +"\telse\n" +"\t\tgit commit-tree \"$@\";\n" +"\tfi' HEAD\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:44 -msgid "List all commits reachable from all refs" +#: en/git-filter-branch.txt:288 +msgid "The function 'skip_commit' is defined as follows:" msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:50 +#. type: delimited block - +#: en/git-filter-branch.txt:300 +#, no-wrap msgid "" -"Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) " -"with \"$hex ($rev_name)\". When used with --name-only, substitute with " -"\"$rev_name\", omitting $hex altogether. Intended for the scripter's use." +"skip_commit()\n" +"{\n" +"\tshift;\n" +"\twhile [ -n \"$1\" ];\n" +"\tdo\n" +"\t\tshift;\n" +"\t\tmap \"$1\";\n" +"\t\tshift;\n" +"\tdone;\n" +"}\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:56 +#: en/git-filter-branch.txt:307 msgid "" -"Instead of printing both the SHA-1 and the name, print only the name. If " -"given with --tags the usual tag prefix of \"tags/\" is also omitted from the " -"name, matching the output of `git-describe` more closely." +"The shift magic first throws away the tree id and then the -p parameters. " +"Note that this handles merges properly! In case Darl committed a merge " +"between P1 and P2, it will be propagated properly and all children of the " +"merge will become merge commits with P1,P2 as their parents instead of the " +"merge commit." msgstr "" -#. type: Labeled list -#: en/git-name-rev.txt:57 +#. type: Plain text +#: en/git-filter-branch.txt:312 #, no-wrap -msgid "--no-undefined" +msgid "" +"*NOTE* the changes introduced by the commits, and which are not reverted\n" +"by subsequent commits, will still be in the rewritten branch. If you want\n" +"to throw out _changes_ together with the commits, you should use the\n" +"interactive mode of 'git rebase'.\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:60 +#: en/git-filter-branch.txt:316 msgid "" -"Die with error code != 0 when a reference is undefined, instead of printing " -"`undefined`." +"You can rewrite the commit log messages using `--msg-filter`. For example, " +"'git svn-id' strings in a repository created by 'git svn' can be removed " +"this way:" msgstr "" -#. type: Plain text -#: en/git-name-rev.txt:71 +#. type: delimited block - +#: en/git-filter-branch.txt:321 +#, no-wrap msgid "" -"Given a commit, find out where it is relative to the local refs. Say " -"somebody wrote you about that fantastic commit " -"33db5f4d9027a10e477ccf054b2c1ab94f74c85a. Of course, you look into the " -"commit, but that only tells you what happened, but not the context." +"git filter-branch --msg-filter '\n" +"\tsed -e \"/^git-svn-id:/d\"\n" +"'\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:73 -msgid "Enter 'git name-rev':" +#: en/git-filter-branch.txt:325 +msgid "" +"If you need to add 'Acked-by' lines to, say, the last 10 commits (none of " +"which is a merge), use this command:" msgstr "" #. type: delimited block - -#: en/git-name-rev.txt:77 +#: en/git-filter-branch.txt:331 #, no-wrap msgid "" -"% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a\n" -"33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940\n" +"git filter-branch --msg-filter '\n" +"\tcat &&\n" +"\techo \"Acked-by: Bugs Bunny <bunny@bugzilla.org>\"\n" +"' HEAD~10..HEAD\n" msgstr "" #. type: Plain text -#: en/git-name-rev.txt:80 +#: en/git-filter-branch.txt:337 msgid "" -"Now you are wiser, because you know that it happened 940 revisions before " -"v0.99." -msgstr "" - -#. type: Plain text -#: en/git-name-rev.txt:82 -msgid "Another nice thing you can do is:" +"The `--env-filter` option can be used to modify committer and/or author " +"identity. For example, if you found out that your commits have the wrong " +"identity due to a misconfigured user.email, you can make a correction, " +"before publishing the project, like this:" msgstr "" #. type: delimited block - -#: en/git-name-rev.txt:85 +#: en/git-filter-branch.txt:351 #, no-wrap -msgid "% git log | git name-rev --stdin\n" +msgid "" +"git filter-branch --env-filter '\n" +"\tif test \"$GIT_AUTHOR_EMAIL\" = \"root@localhost\"\n" +"\tthen\n" +"\t\tGIT_AUTHOR_EMAIL=john@example.com\n" +"\t\texport GIT_AUTHOR_EMAIL\n" +"\tfi\n" +"\tif test \"$GIT_COMMITTER_EMAIL\" = \"root@localhost\"\n" +"\tthen\n" +"\t\tGIT_COMMITTER_EMAIL=john@example.com\n" +"\t\texport GIT_COMMITTER_EMAIL\n" +"\tfi\n" +"' -- --all\n" msgstr "" -#. type: Title = -#: en/git-notes.txt:2 -#, no-wrap -msgid "git-notes(1)" +#. type: Plain text +#: en/git-filter-branch.txt:357 +msgid "" +"To restrict rewriting to only part of the history, specify a revision range " +"in addition to the new branch name. The new branch name will point to the " +"top-most revision that a 'git rev-list' of this range will print." msgstr "" #. type: Plain text -#: en/git-notes.txt:7 -msgid "git-notes - Add or inspect object notes" +#: en/git-filter-branch.txt:359 +msgid "Consider this history:" msgstr "" -#. type: Plain text -#: en/git-notes.txt:23 +#. type: delimited block - +#: en/git-filter-branch.txt:364 #, no-wrap msgid "" -"'git notes' [list [<object>]]\n" -"'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) " -"<object>] [<object>]\n" -"'git notes' copy [-f] ( --stdin | <from-object> <to-object> )\n" -"'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) " -"<object>] [<object>]\n" -"'git notes' edit [--allow-empty] [<object>]\n" -"'git notes' show [<object>]\n" -"'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>\n" -"'git notes' merge --commit [-v | -q]\n" -"'git notes' merge --abort [-v | -q]\n" -"'git notes' remove [--ignore-missing] [--stdin] [<object>...]\n" -"'git notes' prune [-n | -v]\n" -"'git notes' get-ref\n" +" D--E--F--G--H\n" +" / /\n" +"A--B-----C\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:29 -msgid "" -"Adds, removes, or reads notes attached to objects, without touching the " -"objects themselves." +#: en/git-filter-branch.txt:367 +msgid "To rewrite only commits D,E,F,G,H, but leave A, B and C alone, use:" msgstr "" -#. type: Plain text -#: en/git-notes.txt:34 -msgid "" -"By default, notes are saved to and read from `refs/notes/commits`, but this " -"default can be overridden. See the OPTIONS, CONFIGURATION, and ENVIRONMENT " -"sections below. If this ref does not exist, it will be quietly created when " -"it is first needed to store a note." +#. type: delimited block - +#: en/git-filter-branch.txt:370 +#, no-wrap +msgid "git filter-branch ... C..H\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:41 -msgid "" -"A typical use of notes is to supplement a commit message without changing " -"the commit itself. Notes can be shown by 'git log' along with the original " -"commit message. To distinguish these notes from the message stored in the " -"commit object, the notes are indented like the message, after an unindented " -"line saying \"Notes (<refname>):\" (or \"Notes:\" for `refs/notes/commits`)." +#: en/git-filter-branch.txt:373 +msgid "To rewrite commits E,F,G,H, use one of these:" msgstr "" -#. type: Plain text -#: en/git-notes.txt:45 +#. type: delimited block - +#: en/git-filter-branch.txt:377 +#, no-wrap msgid "" -"Notes can also be added to patches prepared with `git format-patch` by using " -"the `--notes` option. Such notes are added as a patch commentary after a " -"three dash separator line." +"git filter-branch ... C..H --not D\n" +"git filter-branch ... D..H --not C\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:48 -msgid "" -"To change which notes are shown by 'git log', see the \"notes.displayRef\" " -"configuration in linkgit:git-log[1]." +#: en/git-filter-branch.txt:380 +msgid "To move the whole tree into a subdirectory, or remove it from there:" msgstr "" -#. type: Plain text -#: en/git-notes.txt:51 +#. type: delimited block - +#: en/git-filter-branch.txt:387 +#, no-wrap msgid "" -"See the \"notes.rewrite.<command>\" configuration for a way to carry notes " -"across commands that rewrite commits." +"git filter-branch --index-filter \\\n" +"\t'git ls-files -s | sed \"s-\\t\\\"*-&newsubdir/-\" |\n" +"\t\tGIT_INDEX_FILE=$GIT_INDEX_FILE.new \\\n" +"\t\t\tgit update-index --index-info &&\n" +"\t mv \"$GIT_INDEX_FILE.new\" \"$GIT_INDEX_FILE\"' HEAD\n" msgstr "" #. type: Title - -#: en/git-notes.txt:54 +#: en/git-filter-branch.txt:392 #, no-wrap -msgid "SUBCOMMANDS" +msgid "Checklist for Shrinking a Repository" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:56 en/git-worktree.txt:59 -#, no-wrap -msgid "list" +#. type: Plain text +#: en/git-filter-branch.txt:400 +msgid "" +"git-filter-branch can be used to get rid of a subset of files, usually with " +"some combination of `--index-filter` and `--subdirectory-filter`. People " +"expect the resulting repository to be smaller than the original, but you " +"need a few more steps to actually make it smaller, because Git tries hard " +"not to lose your objects until you tell it to. First make sure that:" msgstr "" #. type: Plain text -#: en/git-notes.txt:61 +#: en/git-filter-branch.txt:404 msgid "" -"List the notes object for a given object. If no object is given, show a list " -"of all note objects and the objects they annotate (in the format \"<note " -"object> <annotated object>\"). This is the default subcommand if no " -"subcommand is given." +"You really removed all variants of a filename, if a blob was moved over its " +"lifetime. `git log --name-only --follow --all -- filename` can help you " +"find renames." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:62 -#, no-wrap -msgid "add" +#. type: Plain text +#: en/git-filter-branch.txt:407 +msgid "" +"You really filtered all refs: use `--tag-name-filter cat -- --all` when " +"calling git-filter-branch." msgstr "" #. type: Plain text -#: en/git-notes.txt:69 +#: en/git-filter-branch.txt:410 msgid "" -"Add notes for a given object (defaults to HEAD). Abort if the object already " -"has notes (use `-f` to overwrite existing notes). However, if you're using " -"`add` interactively (using an editor to supply the notes contents), then - " -"instead of aborting - the existing notes will be opened in the editor (like " -"the `edit` subcommand)." +"Then there are two ways to get a smaller repository. A safer way is to " +"clone, that keeps your original intact." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:70 -#, no-wrap -msgid "copy" +#. type: Plain text +#: en/git-filter-branch.txt:414 +msgid "" +"Clone it with `git clone file:///path/to/repo`. The clone will not have the " +"removed objects. See linkgit:git-clone[1]. (Note that cloning with a plain " +"path just hardlinks everything!)" msgstr "" #. type: Plain text -#: en/git-notes.txt:76 +#: en/git-filter-branch.txt:419 msgid "" -"Copy the notes for the first object onto the second object. Abort if the " -"second object already has notes, or if the first object has none (use -f to " -"overwrite existing notes to the second object). This subcommand is " -"equivalent to: `git notes add [-f] -C $(git notes list <from-object>) " -"<to-object>`" +"If you really don't want to clone it, for whatever reasons, check the " +"following points instead (in this order). This is a very destructive " +"approach, so *make a backup* or go back to cloning it. You have been " +"warned." msgstr "" #. type: Plain text -#: en/git-notes.txt:78 -msgid "In `--stdin` mode, take lines in the format" +#: en/git-filter-branch.txt:423 +msgid "" +"Remove the original refs backed up by git-filter-branch: say `git " +"for-each-ref --format=\"%(refname)\" refs/original/ | xargs -n 1 git " +"update-ref -d`." msgstr "" -#. type: delimited block - -#: en/git-notes.txt:81 -#, no-wrap -msgid "<from-object> SP <to-object> [ SP <rest> ] LF\n" +#. type: Plain text +#: en/git-filter-branch.txt:425 +msgid "Expire all reflogs with `git reflog expire --expire=now --all`." msgstr "" #. type: Plain text -#: en/git-notes.txt:86 +#: en/git-filter-branch.txt:429 msgid "" -"on standard input, and copy the notes from each <from-object> to its " -"corresponding <to-object>. (The optional `<rest>` is ignored so that the " -"command can read the input given to the `post-rewrite` hook.)" +"Garbage collect all unreferenced objects with `git gc --prune=now` (or if " +"your git-gc is not new enough to support arguments to `--prune`, use `git " +"repack -ad; git prune` instead)." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:87 -#, no-wrap -msgid "append" +#. type: Plain text +#: en/git-filter-branch.txt:441 +msgid "" +"git-filter-branch allows you to make complex shell-scripted rewrites of your " +"Git history, but you probably don't need this flexibility if you're simply " +"_removing unwanted data_ like large files or passwords. For those " +"operations you may want to consider " +"http://rtyley.github.io/bfg-repo-cleaner/[The BFG Repo-Cleaner], a JVM-based " +"alternative to git-filter-branch, typically at least 10-50x faster for those " +"use-cases, and with quite different characteristics:" msgstr "" #. type: Plain text -#: en/git-notes.txt:90 +#: en/git-filter-branch.txt:449 msgid "" -"Append to the notes of an existing object (defaults to HEAD). Creates a new " -"notes object if needed." +"Any particular version of a file is cleaned exactly _once_. The BFG, unlike " +"git-filter-branch, does not give you the opportunity to handle a file " +"differently based on where or when it was committed within your " +"history. This constraint gives the core performance benefit of The BFG, and " +"is well-suited to the task of cleansing bad data - you don't care _where_ " +"the bad data is, you just want it _gone_." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:91 -#, no-wrap -msgid "edit" +#. type: Plain text +#: en/git-filter-branch.txt:455 +msgid "" +"By default The BFG takes full advantage of multi-core machines, cleansing " +"commit file-trees in parallel. git-filter-branch cleans commits sequentially " +"(i.e. in a single-threaded manner), though it _is_ possible to write filters " +"that include their own parallelism, in the scripts executed against each " +"commit." msgstr "" #. type: Plain text -#: en/git-notes.txt:93 -msgid "Edit the notes for a given object (defaults to HEAD)." +#: en/git-filter-branch.txt:460 +msgid "" +"The http://rtyley.github.io/bfg-repo-cleaner/#examples[command options] are " +"much more restrictive than git-filter branch, and dedicated just to the " +"tasks of removing unwanted data- e.g: `--strip-blobs-bigger-than 1M`." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:94 +#. type: Title = +#: en/git-fmt-merge-msg.txt:2 #, no-wrap -msgid "show" +msgid "git-fmt-merge-msg(1)" msgstr "" #. type: Plain text -#: en/git-notes.txt:96 -msgid "Show the notes for a given object (defaults to HEAD)." +#: en/git-fmt-merge-msg.txt:7 +msgid "git-fmt-merge-msg - Produce a merge commit message" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:97 en/git-submodule.txt:183 +#. type: Plain text +#: en/git-fmt-merge-msg.txt:14 #, no-wrap -msgid "merge" +msgid "" +"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log]\n" +"'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log] -F <file>\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:102 +#: en/git-fmt-merge-msg.txt:20 msgid "" -"Merge the given notes ref into the current notes ref. This will try to " -"merge the changes made by the given notes ref (called \"remote\") since the " -"merge-base (if any) into the current notes ref (called \"local\")." +"Takes the list of merged objects on stdin and produces a suitable commit " +"message to be used for the merge commit, usually to be passed as the " +"'<merge-message>' argument of 'git merge'." msgstr "" #. type: Plain text -#: en/git-notes.txt:111 +#: en/git-fmt-merge-msg.txt:23 msgid "" -"If conflicts arise and a strategy for automatically resolving conflicting " -"notes (see the \"NOTES MERGE STRATEGIES\" section) is not given, the " -"\"manual\" resolver is used. This resolver checks out the conflicting notes " -"in a special worktree (`.git/NOTES_MERGE_WORKTREE`), and instructs the user " -"to manually resolve the conflicts there. When done, the user can either " -"finalize the merge with 'git notes merge --commit', or abort the merge with " -"'git notes merge --abort'." +"This command is intended mostly for internal use by scripts automatically " +"invoking 'git merge'." msgstr "" #. type: Labeled list -#: en/git-notes.txt:112 +#: en/git-fmt-merge-msg.txt:27 en/merge-options.txt:45 #, no-wrap -msgid "remove" +msgid "--log[=<n>]" msgstr "" #. type: Plain text -#: en/git-notes.txt:117 +#: en/git-fmt-merge-msg.txt:33 msgid "" -"Remove the notes for given objects (defaults to HEAD). When giving zero or " -"one object from the command line, this is equivalent to specifying an empty " -"note message to the `edit` subcommand." +"In addition to branch names, populate the log message with one-line " +"descriptions from the actual commits that are being merged. At most <n> " +"commits from each merge parent will be used (20 if <n> is omitted). This " +"overrides the `merge.log` configuration variable." msgstr "" #. type: Labeled list -#: en/git-notes.txt:118 en/git-worktree.txt:74 +#: en/git-fmt-merge-msg.txt:34 en/merge-options.txt:46 #, no-wrap -msgid "prune" +msgid "--no-log" msgstr "" #. type: Plain text -#: en/git-notes.txt:120 -msgid "Remove all notes for non-existing/unreachable objects." +#: en/git-fmt-merge-msg.txt:37 +msgid "Do not list one-line descriptions from the actual commits being merged." msgstr "" #. type: Labeled list -#: en/git-notes.txt:121 +#: en/git-fmt-merge-msg.txt:38 #, no-wrap -msgid "get-ref" -msgstr "" - -#. type: Plain text -#: en/git-notes.txt:124 -msgid "" -"Print the current notes ref. This provides an easy way to retrieve the " -"current notes ref (e.g. from scripts)." +msgid "--[no-]summary" msgstr "" #. type: Plain text -#: en/git-notes.txt:131 +#: en/git-fmt-merge-msg.txt:41 msgid "" -"When adding notes to an object that already has notes, overwrite the " -"existing notes (instead of aborting)." +"Synonyms to --log and --no-log; these are deprecated and will be removed in " +"the future." msgstr "" -#. type: Plain text -#: en/git-notes.txt:139 -msgid "" -"Use the given note message (instead of prompting). If multiple `-m` options " -"are given, their values are concatenated as separate paragraphs. Lines " -"starting with `#` and empty lines other than a single line between " -"paragraphs will be stripped out." +#. type: Labeled list +#: en/git-fmt-merge-msg.txt:43 +#, no-wrap +msgid "--message <message>" msgstr "" #. type: Plain text -#: en/git-notes.txt:146 +#: en/git-fmt-merge-msg.txt:46 msgid "" -"Take the note message from the given file. Use '-' to read the note message " -"from the standard input. Lines starting with `#` and empty lines other than " -"a single line between paragraphs will be stripped out." -msgstr "" - -#. type: Labeled list -#: en/git-notes.txt:147 -#, no-wrap -msgid "-C <object>" +"Use <message> instead of the branch names for the first line of the log " +"message. For use with `--log`." msgstr "" #. type: Labeled list -#: en/git-notes.txt:148 +#: en/git-fmt-merge-msg.txt:48 #, no-wrap -msgid "--reuse-message=<object>" +msgid "--file <file>" msgstr "" #. type: Plain text -#: en/git-notes.txt:152 -msgid "" -"Take the given blob object (for\texample, another note) as the note " -"message. (Use `git notes copy <object>` instead to copy notes between " -"objects.)" +#: en/git-fmt-merge-msg.txt:51 +msgid "Take the list of merged objects from <file> instead of stdin." msgstr "" #. type: Labeled list -#: en/git-notes.txt:153 +#: en/git-fmt-merge-msg.txt:56 #, no-wrap -msgid "-c <object>" +msgid "merge.summary" msgstr "" -#. type: Labeled list -#: en/git-notes.txt:154 -#, no-wrap -msgid "--reedit-message=<object>" +#. type: Plain text +#: en/git-fmt-merge-msg.txt:59 +msgid "" +"Synonym to `merge.log`; this is deprecated and will be removed in the " +"future." msgstr "" -#. type: Plain text -#: en/git-notes.txt:157 +#. type: delimited block - +#: en/git-fmt-merge-msg.txt:66 +#, no-wrap msgid "" -"Like '-C', but with `-c` the editor is invoked, so that the user can further " -"edit the note message." +"$ git fetch origin master\n" +"$ git fmt-merge-msg --log <$GIT_DIR/FETCH_HEAD\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:161 +#: en/git-fmt-merge-msg.txt:70 msgid "" -"Allow an empty note object to be stored. The default behavior is to " -"automatically remove empty notes." +"Print a log message describing a merge of the \"master\" branch from the " +"\"origin\" remote." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:162 +#. type: Title = +#: en/git-for-each-ref.txt:2 #, no-wrap -msgid "--ref <ref>" -msgstr "" - -#. type: Plain text -#: en/git-notes.txt:168 -msgid "" -"Manipulate the notes tree in <ref>. This overrides `GIT_NOTES_REF` and the " -"\"core.notesRef\" configuration. The ref specifies the full refname when it " -"begins with `refs/notes/`; when it begins with `notes/`, `refs/` and " -"otherwise `refs/notes/` is prefixed to form a full name of the ref." +msgid "git-for-each-ref(1)" msgstr "" #. type: Plain text -#: en/git-notes.txt:172 -msgid "" -"Do not consider it an error to request removing notes from an object that " -"does not have notes attached to it." +#: en/git-for-each-ref.txt:7 +msgid "git-for-each-ref - Output information on each ref" msgstr "" #. type: Plain text -#: en/git-notes.txt:177 +#: en/git-for-each-ref.txt:15 +#, no-wrap msgid "" -"Also read the object names to remove notes from from the standard input " -"(there is no reason you cannot combine this with object names from the " -"command line)." +"'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]\n" +"\t\t [(--sort=<key>)...] [--format=<format>] [<pattern>...]\n" +"\t\t [--points-at <object>] [(--merged | --no-merged) [<object>]]\n" +"\t\t [--contains [<object>]]\n" msgstr "" #. type: Plain text -#: en/git-notes.txt:182 +#: en/git-for-each-ref.txt:25 msgid "" -"Do not remove anything; just report the object names whose notes would be " -"removed." +"Iterate over all refs that match `<pattern>` and show them according to the " +"given `<format>`, after sorting them according to the given set of `<key>`. " +"If `<count>` is given, stop after showing that many refs. The interpolated " +"values in `<format>` can optionally be quoted as string literals in the " +"specified host language allowing their direct evaluation in that language." msgstr "" #. type: Labeled list -#: en/git-notes.txt:183 en/git-rebase.txt:282 en/merge-options.txt:77 +#: en/git-for-each-ref.txt:28 #, no-wrap -msgid "-s <strategy>" +msgid "<count>" msgstr "" #. type: Plain text -#: en/git-notes.txt:191 +#: en/git-for-each-ref.txt:32 msgid "" -"When merging notes, resolve notes conflicts using the given strategy. The " -"following strategies are recognized: \"manual\" (default), \"ours\", " -"\"theirs\", \"union\" and \"cat_sort_uniq\". This option overrides the " -"\"notes.mergeStrategy\" configuration setting. See the \"NOTES MERGE " -"STRATEGIES\" section below for more information on each notes merge " -"strategy." +"By default the command shows all refs that match `<pattern>`. This option " +"makes it stop after showing that many refs." msgstr "" #. type: Labeled list -#: en/git-notes.txt:192 en/merge-options.txt:1 +#: en/git-for-each-ref.txt:33 #, no-wrap -msgid "--commit" +msgid "<key>" msgstr "" #. type: Plain text -#: en/git-notes.txt:200 +#: en/git-for-each-ref.txt:39 msgid "" -"Finalize an in-progress 'git notes merge'. Use this option when you have " -"resolved the conflicts that 'git notes merge' stored in " -".git/NOTES_MERGE_WORKTREE. This amends the partial merge commit created by " -"'git notes merge' (stored in .git/NOTES_MERGE_PARTIAL) by adding the notes " -"in .git/NOTES_MERGE_WORKTREE. The notes ref stored in the " -".git/NOTES_MERGE_REF symref is updated to the resulting commit." +"A field name to sort on. Prefix `-` to sort in descending order of the " +"value. When unspecified, `refname` is used. You may use the --sort=<key> " +"option multiple times, in which case the last key becomes the primary key." msgstr "" -#. type: Plain text -#: en/git-notes.txt:205 -msgid "" -"Abort/reset a in-progress 'git notes merge', i.e. a notes merge with " -"conflicts. This simply removes all files related to the notes merge." +#. type: Labeled list +#: en/git-for-each-ref.txt:40 en/git-tag.txt:170 +#, no-wrap +msgid "<format>" msgstr "" #. type: Plain text -#: en/git-notes.txt:209 -msgid "When merging notes, operate quietly." +#: en/git-for-each-ref.txt:51 +msgid "" +"A string that interpolates `%(fieldname)` from the object pointed at by a " +"ref being shown. If `fieldname` is prefixed with an asterisk (`*`) and the " +"ref points at a tag object, the value for the field in the object tag refers " +"is used. When unspecified, defaults to `%(objectname) SPC %(objecttype) TAB " +"%(refname)`. It also interpolates `%%` to `%`, and `%xx` where `xx` are hex " +"digits interpolates to character with hex code `xx`; for example `%00` " +"interpolates to `\\0` (NUL), `%09` to `\\t` (TAB) and `%0a` to `\\n` (LF)." msgstr "" -#. type: Plain text -#: en/git-notes.txt:215 -msgid "" -"When merging notes, be more verbose. When pruning notes, report all object " -"names whose notes are removed." +#. type: Labeled list +#: en/git-for-each-ref.txt:52 en/git-show-ref.txt:88 +#, no-wrap +msgid "<pattern>..." msgstr "" #. type: Plain text -#: en/git-notes.txt:229 +#: en/git-for-each-ref.txt:57 msgid "" -"Commit notes are blobs containing extra information about an object (usually " -"information to supplement a commit's message). These blobs are taken from " -"notes refs. A notes ref is usually a branch which contains \"files\" whose " -"paths are the object names for the objects they describe, with some " -"directory separators included for performance reasons footnote:[Permitted " -"pathnames have the form 'ab'`/`'cd'`/`'ef'`/`'...'`/`'abcdef...': a sequence " -"of directory names of two hexadecimal digits each followed by a filename " -"with the rest of the object ID.]." +"If one or more patterns are given, only refs are shown that match against at " +"least one pattern, either using fnmatch(3) or literally, in the latter case " +"matching completely or from the beginning up to a slash." msgstr "" -#. type: Plain text -#: en/git-notes.txt:236 -msgid "" -"Every notes change creates a new commit at the specified notes ref. You can " -"therefore inspect the history of the notes by invoking, e.g., `git log -p " -"notes/commits`. Currently the commit message only records which operation " -"triggered the update, and the commit authorship is determined according to " -"the usual rules (see linkgit:git-commit[1]). These details may change in " -"the future." +#. type: Labeled list +#: en/git-for-each-ref.txt:58 +#, no-wrap +msgid "--shell" msgstr "" -#. type: Plain text -#: en/git-notes.txt:240 -msgid "" -"It is also permitted for a notes ref to point directly to a tree object, in " -"which case the history of the notes can be read with `git log -p -g " -"<refname>`." +#. type: Labeled list +#: en/git-for-each-ref.txt:59 +#, no-wrap +msgid "--perl" msgstr "" -#. type: Title - -#: en/git-notes.txt:243 +#. type: Labeled list +#: en/git-for-each-ref.txt:60 #, no-wrap -msgid "NOTES MERGE STRATEGIES" +msgid "--python" msgstr "" -#. type: Plain text -#: en/git-notes.txt:252 -msgid "" -"The default notes merge strategy is \"manual\", which checks out conflicting " -"notes in a special work tree for resolving notes conflicts " -"(`.git/NOTES_MERGE_WORKTREE`), and instructs the user to resolve the " -"conflicts in that work tree. When done, the user can either finalize the " -"merge with 'git notes merge --commit', or abort the merge with 'git notes " -"merge --abort'." +#. type: Labeled list +#: en/git-for-each-ref.txt:61 +#, no-wrap +msgid "--tcl" msgstr "" #. type: Plain text -#: en/git-notes.txt:255 +#: en/git-for-each-ref.txt:66 msgid "" -"Users may select an automated merge strategy from among the following using " -"either -s/--strategy option or configuring notes.mergeStrategy accordingly:" +"If given, strings that substitute `%(fieldname)` placeholders are quoted as " +"string literals suitable for the specified host language. This is meant to " +"produce a scriptlet that can directly be `eval`ed." msgstr "" #. type: Plain text -#: en/git-notes.txt:258 -msgid "" -"\"ours\" automatically resolves conflicting notes in favor of the local " -"version (i.e. the current notes ref)." +#: en/git-for-each-ref.txt:69 +msgid "Only list refs which points at the given object." msgstr "" -#. type: Plain text -#: en/git-notes.txt:262 -msgid "" -"\"theirs\" automatically resolves notes conflicts in favor of the remote " -"version (i.e. the given notes ref being merged into the current notes ref)." +#. type: Labeled list +#: en/git-for-each-ref.txt:70 +#, no-wrap +msgid "--merged [<object>]" msgstr "" #. type: Plain text -#: en/git-notes.txt:265 +#: en/git-for-each-ref.txt:73 msgid "" -"\"union\" automatically resolves notes conflicts by concatenating the local " -"and remote versions." +"Only list refs whose tips are reachable from the specified commit (HEAD if " +"not specified)." msgstr "" -#. type: Plain text -#: en/git-notes.txt:275 -msgid "" -"\"cat_sort_uniq\" is similar to \"union\", but in addition to concatenating " -"the local and remote versions, this strategy also sorts the resulting lines, " -"and removes duplicate lines from the result. This is equivalent to applying " -"the \"cat | sort | uniq\" shell pipeline to the local and remote " -"versions. This strategy is useful if the notes follow a line-based format " -"where one wants to avoid duplicated lines in the merge result. Note that if " -"either the local or remote version contain duplicate lines prior to the " -"merge, these will also be removed by this notes merge strategy." +#. type: Labeled list +#: en/git-for-each-ref.txt:74 +#, no-wrap +msgid "--no-merged [<object>]" msgstr "" #. type: Plain text -#: en/git-notes.txt:282 +#: en/git-for-each-ref.txt:77 msgid "" -"You can use notes to add annotations with information that was not available " -"at the time a commit was written." +"Only list refs whose tips are not reachable from the specified commit (HEAD " +"if not specified)." msgstr "" -#. type: delimited block - -#: en/git-notes.txt:288 +#. type: Labeled list +#: en/git-for-each-ref.txt:78 #, no-wrap -msgid "" -"$ git notes add -m 'Tested-by: Johannes Sixt <j6t@kdbg.org>' 72a144e2\n" -"$ git show -s 72a144e\n" -"[...]\n" -" Signed-off-by: Junio C Hamano <gitster@pobox.com>\n" +msgid "--contains [<object>]" msgstr "" -#. type: delimited block - -#: en/git-notes.txt:291 -#, no-wrap -msgid "" -"Notes:\n" -" Tested-by: Johannes Sixt <j6t@kdbg.org>\n" +#. type: Plain text +#: en/git-for-each-ref.txt:81 +msgid "Only list refs which contain the specified commit (HEAD if not specified)." msgstr "" #. type: Plain text -#: en/git-notes.txt:296 -msgid "" -"In principle, a note is a regular Git blob, and any kind of (non-)format is " -"accepted. You can binary-safely create notes from arbitrary files using " -"'git hash-object':" +#: en/git-for-each-ref.txt:84 +msgid "Sorting and filtering refs are case insensitive." msgstr "" -#. type: delimited block - -#: en/git-notes.txt:301 +#. type: Title - +#: en/git-for-each-ref.txt:86 #, no-wrap -msgid "" -"$ cc *.c\n" -"$ blob=$(git hash-object -w a.out)\n" -"$ git notes --ref=built add --allow-empty -C \"$blob\" HEAD\n" +msgid "FIELD NAMES" msgstr "" #. type: Plain text -#: en/git-notes.txt:308 +#: en/git-for-each-ref.txt:91 msgid "" -"(You cannot simply use `git notes --ref=built add -F a.out HEAD` because " -"that is not binary-safe.) Of course, it doesn't make much sense to display " -"non-text-format notes with 'git log', so if you use such notes, you'll " -"probably need to write some special-purpose tools to do something useful " -"with them." -msgstr "" - -#. type: Labeled list -#: en/git-notes.txt:313 en/config.txt:846 -#, no-wrap -msgid "core.notesRef" +"Various values from structured fields in referenced objects can be used to " +"interpolate into the resulting output, or as sort keys." msgstr "" #. type: Plain text -#: en/git-notes.txt:318 -msgid "" -"Notes ref to read and manipulate instead of `refs/notes/commits`. Must be " -"an unabbreviated ref name. This setting can be overridden through the " -"environment and command line." +#: en/git-for-each-ref.txt:93 +msgid "For all objects, the following names can be used:" msgstr "" #. type: Labeled list -#: en/git-notes.txt:319 en/config.txt:2239 +#: en/git-for-each-ref.txt:94 #, no-wrap -msgid "notes.mergeStrategy" +msgid "refname" msgstr "" #. type: Plain text -#: en/git-notes.txt:324 +#: en/git-for-each-ref.txt:110 msgid "" -"Which merge strategy to choose by default when resolving notes conflicts. " -"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " -"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section above for more " -"information on each strategy." +"The name of the ref (the part after $GIT_DIR/). For a non-ambiguous short " +"name of the ref append `:short`. The option core.warnAmbiguousRefs is used " +"to select the strict abbreviation mode. If `lstrip=<N>` (`rstrip=<N>`) is " +"appended, strips `<N>` slash-separated path components from the front (back) " +"of the refname (e.g. `%(refname:lstrip=2)` turns `refs/tags/foo` into `foo` " +"and `%(refname:rstrip=2)` turns `refs/tags/foo` into `refs`). If `<N>` is a " +"negative number, strip as many path components as necessary from the " +"specified end to leave `-<N>` path components (e.g. `%(refname:lstrip=-2)` " +"turns `refs/tags/foo` into `tags/foo` and `%(refname:rstrip=-1)` turns " +"`refs/tags/foo` into `refs`). When the ref does not have enough components, " +"the result becomes an empty string if stripping with positive <N>, or it " +"becomes the full refname if stripping with negative <N>. Neither is an " +"error." msgstr "" #. type: Plain text -#: en/git-notes.txt:326 -msgid "This setting can be overridden by passing the `--strategy` option." +#: en/git-for-each-ref.txt:112 +msgid "`strip` can be used as a synomym to `lstrip`." msgstr "" #. type: Labeled list -#: en/git-notes.txt:327 en/config.txt:2245 +#: en/git-for-each-ref.txt:113 #, no-wrap -msgid "notes.<name>.mergeStrategy" -msgstr "" - -#. type: Plain text -#: en/git-notes.txt:332 -msgid "" -"Which merge strategy to choose when doing a notes merge into " -"refs/notes/<name>. This overrides the more general " -"\"notes.mergeStrategy\". See the \"NOTES MERGE STRATEGIES\" section above " -"for more information on each available strategy." +msgid "objecttype" msgstr "" #. type: Plain text -#: en/git-notes.txt:341 -msgid "" -"Which ref (or refs, if a glob or specified more than once), in addition to " -"the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from " -"when showing commit messages with the 'git log' family of commands. This " -"setting can be overridden on the command line or by the " -"`GIT_NOTES_DISPLAY_REF` environment variable. See linkgit:git-log[1]." +#: en/git-for-each-ref.txt:115 +msgid "The type of the object (`blob`, `tree`, `commit`, `tag`)." msgstr "" #. type: Labeled list -#: en/git-notes.txt:342 en/config.txt:2268 +#: en/git-for-each-ref.txt:116 #, no-wrap -msgid "notes.rewrite.<command>" +msgid "objectsize" msgstr "" #. type: Plain text -#: en/git-notes.txt:347 -msgid "" -"When rewriting commits with <command> (currently `amend` or `rebase`), if " -"this variable is `false`, git will not copy notes from the original to the " -"rewritten commit. Defaults to `true`. See also \"`notes.rewriteRef`\" " -"below." +#: en/git-for-each-ref.txt:118 +msgid "The size of the object (the same as 'git cat-file -s' reports)." +msgstr "" + +#. type: Labeled list +#: en/git-for-each-ref.txt:119 +#, no-wrap +msgid "objectname" msgstr "" #. type: Plain text -#: en/git-notes.txt:350 +#: en/git-for-each-ref.txt:125 msgid "" -"This setting can be overridden by the `GIT_NOTES_REWRITE_REF` environment " -"variable." +"The object name (aka SHA-1). For a non-ambiguous abbreviation of the object " +"name append `:short`. For an abbreviation of the object name with desired " +"length append `:short=<length>`, where the minimum length is " +"MINIMUM_ABBREV. The length may be exceeded to ensure unique object names." msgstr "" #. type: Labeled list -#: en/git-notes.txt:351 en/config.txt:2275 +#: en/git-for-each-ref.txt:126 #, no-wrap -msgid "notes.rewriteMode" +msgid "upstream" msgstr "" #. type: Plain text -#: en/git-notes.txt:356 +#: en/git-for-each-ref.txt:140 msgid "" -"When copying notes during a rewrite, what to do if the target commit already " -"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " -"`ignore`. Defaults to `concatenate`." +"The name of a local ref which can be considered ``upstream'' from the " +"displayed ref. Respects `:short`, `:lstrip` and `:rstrip` in the same way as " +"`refname` above. Additionally respects `:track` to show \"[ahead N, behind " +"M]\" and `:trackshort` to show the terse version: \">\" (ahead), \"<\" " +"(behind), \"<>\" (ahead and behind), or \"=\" (in sync). `:track` also " +"prints \"[gone]\" whenever unknown upstream ref is encountered. Append " +"`:track,nobracket` to show tracking information without brackets (i.e " +"\"ahead N, behind M\"). Has no effect if the ref does not have tracking " +"information associated with it. All the options apart from `nobracket` are " +"mutually exclusive, but if used together the last option is selected." +msgstr "" + +#. type: Labeled list +#: en/git-for-each-ref.txt:141 +#, no-wrap +msgid "push" msgstr "" #. type: Plain text -#: en/git-notes.txt:359 en/config.txt:2284 +#: en/git-for-each-ref.txt:147 msgid "" -"This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` environment " -"variable." +"The name of a local ref which represents the `@{push}` location for the " +"displayed ref. Respects `:short`, `:lstrip`, `:rstrip`, `:track`, and " +"`:trackshort` options as `upstream` does. Produces an empty string if no " +"`@{push}` ref is configured." msgstr "" #. type: Labeled list -#: en/git-notes.txt:360 en/config.txt:2285 +#: en/git-for-each-ref.txt:148 en/git.txt:817 #, no-wrap -msgid "notes.rewriteRef" +msgid "HEAD" msgstr "" #. type: Plain text -#: en/git-notes.txt:365 -msgid "" -"When copying notes during a rewrite, specifies the (fully qualified) ref " -"whose notes should be copied. May be a glob, in which case notes in all " -"matching refs will be copied. You may also specify this configuration " -"several times." +#: en/git-for-each-ref.txt:151 +msgid "'*' if HEAD matches current ref (the checked out branch), ' ' otherwise." msgstr "" #. type: Plain text -#: en/git-notes.txt:368 +#: en/git-for-each-ref.txt:155 msgid "" -"Does not have a default value; you must configure this variable to enable " -"note rewriting." +"Change output color. Followed by `:<colorname>`, where names are described " +"in `color.branch.*`." +msgstr "" + +#. type: Labeled list +#: en/git-for-each-ref.txt:156 +#, no-wrap +msgid "align" msgstr "" #. type: Plain text -#: en/git-notes.txt:370 -msgid "Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable." +#: en/git-for-each-ref.txt:170 +msgid "" +"Left-, middle-, or right-align the content between %(align:...) and " +"%(end). The \"align:\" is followed by `width=<width>` and " +"`position=<position>` in any order separated by a comma, where the " +"`<position>` is either left, right or middle, default being left and " +"`<width>` is the total length of the content with alignment. For brevity, " +"the \"width=\" and/or \"position=\" prefixes may be omitted, and bare " +"<width> and <position> used instead. For instance, " +"`%(align:<width>,<position>)`. If the contents length is more than the width " +"then no alignment is performed. If used with `--quote` everything in between " +"%(align:...) and %(end) is quoted, but if nested then only the topmost level " +"performs quoting." msgstr "" #. type: Labeled list -#: en/git-notes.txt:375 +#: en/git-for-each-ref.txt:171 #, no-wrap -msgid "`GIT_NOTES_REF`" +msgid "if" msgstr "" #. type: Plain text -#: en/git-notes.txt:378 +#: en/git-for-each-ref.txt:183 msgid "" -"Which ref to manipulate notes from, instead of `refs/notes/commits`. This " -"overrides the `core.notesRef` setting." +"Used as %(if)...%(then)...%(end) or %(if)...%(then)...%(else)...%(end). If " +"there is an atom with value or string literal after the %(if) then " +"everything after the %(then) is printed, else if the %(else) atom is used, " +"then everything after %(else) is printed. We ignore space when evaluating " +"the string before %(then), this is useful when we use the %(HEAD) atom which " +"prints either \"*\" or \" \" and we want to apply the 'if' condition only on " +"the 'HEAD' ref. Append \":equals=<string>\" or \":notequals=<string>\" to " +"compare the value between the %(if:...) and %(then) atoms with the given " +"string." msgstr "" #. type: Labeled list -#: en/git-notes.txt:379 +#: en/git-for-each-ref.txt:184 #, no-wrap -msgid "`GIT_NOTES_DISPLAY_REF`" +msgid "symref" msgstr "" #. type: Plain text -#: en/git-notes.txt:385 +#: en/git-for-each-ref.txt:189 msgid "" -"Colon-delimited list of refs or globs indicating which refs, in addition to " -"the default from `core.notesRef` or `GIT_NOTES_REF`, to read notes from when " -"showing commit messages. This overrides the `notes.displayRef` setting." +"The ref which the given symbolic ref refers to. If not a symbolic ref, " +"nothing is printed. Respects the `:short`, `:lstrip` and `:rstrip` options " +"in the same way as `refname` above." msgstr "" #. type: Plain text -#: en/git-notes.txt:388 +#: en/git-for-each-ref.txt:193 msgid "" -"A warning will be issued for refs that do not exist, but a glob that does " -"not match any refs is silently ignored." -msgstr "" - -#. type: Labeled list -#: en/git-notes.txt:389 -#, no-wrap -msgid "`GIT_NOTES_REWRITE_MODE`" +"In addition to the above, for commit and tag objects, the header field names " +"(`tree`, `parent`, `object`, `type`, and `tag`) can be used to specify the " +"value in the header field." msgstr "" #. type: Plain text -#: en/git-notes.txt:394 +#: en/git-for-each-ref.txt:198 msgid "" -"When copying notes during a rewrite, what to do if the target commit already " -"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " -"`ignore`. This overrides the `core.rewriteMode` setting." +"For commit and tag objects, the special `creatordate` and `creator` fields " +"will correspond to the appropriate date or name-email-date tuple from the " +"`committer` or `tagger` fields depending on the object type. These are " +"intended for working on a mix of annotated and lightweight tags." msgstr "" -#. type: Labeled list -#: en/git-notes.txt:395 -#, no-wrap -msgid "`GIT_NOTES_REWRITE_REF`" +#. type: Plain text +#: en/git-for-each-ref.txt:202 +msgid "" +"Fields that have name-email-date tuple as its value (`author`, `committer`, " +"and `tagger`) can be suffixed with `name`, `email`, and `date` to extract " +"the named component." msgstr "" #. type: Plain text -#: en/git-notes.txt:399 +#: en/git-for-each-ref.txt:211 msgid "" -"When rewriting commits, which notes to copy from the original to the " -"rewritten commit. Must be a colon-delimited list of refs or globs." +"The complete message in a commit and tag object is `contents`. Its first " +"line is `contents:subject`, where subject is the concatenation of all lines " +"of the commit message up to the first blank line. The next line is " +"'contents:body', where body is all of the lines after the first blank line. " +"The optional GPG signature is `contents:signature`. The first `N` lines of " +"the message is obtained using `contents:lines=N`. Additionally, the " +"trailers as interpreted by linkgit:git-interpret-trailers[1] are obtained as " +"'contents:trailers'." msgstr "" #. type: Plain text -#: en/git-notes.txt:402 +#: en/git-for-each-ref.txt:215 msgid "" -"If not set in the environment, the list of notes to copy depends on the " -"`notes.rewrite.<command>` and `notes.rewriteRef` settings." +"For sorting purposes, fields with numeric values sort in numeric order " +"(`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`). " +"All other fields are used to sort in their byte-value order." msgstr "" -#. type: Title = -#: en/git-p4.txt:2 -#, no-wrap -msgid "git-p4(1)" +#. type: Plain text +#: en/git-for-each-ref.txt:218 +msgid "" +"There is also an option to sort by versions, this can be done by using the " +"fieldname `version:refname` or its alias `v:refname`." msgstr "" #. type: Plain text -#: en/git-p4.txt:7 -msgid "git-p4 - Import from and submit to Perforce repositories" +#: en/git-for-each-ref.txt:222 +msgid "" +"In any case, a field name that refers to a field inapplicable to the object " +"referred by the ref does not cause an error. It returns an empty string " +"instead." msgstr "" #. type: Plain text -#: en/git-p4.txt:16 -#, no-wrap +#: en/git-for-each-ref.txt:226 msgid "" -"'git p4 clone' [<sync options>] [<clone options>] <p4 depot path>...\n" -"'git p4 sync' [<sync options>] [<p4 depot path>...]\n" -"'git p4 rebase'\n" -"'git p4 submit' [<submit options>] [<master branch name>]\n" +"As a special case for the date-type fields, you may specify a format for the " +"date by adding `:` followed by date format name (see the values the `--date` " +"option to linkgit:git-rev-list[1] takes)." msgstr "" #. type: Plain text -#: en/git-p4.txt:22 -msgid "This command provides a way to interact with p4 repositories using Git." +#: en/git-for-each-ref.txt:229 +msgid "" +"Some atoms like %(align) and %(if) always require a matching %(end). We " +"call them \"opening atoms\" and sometimes denote them as %($open)." msgstr "" #. type: Plain text -#: en/git-p4.txt:30 +#: en/git-for-each-ref.txt:234 msgid "" -"Create a new Git repository from an existing p4 repository using 'git p4 " -"clone', giving it one or more p4 depot paths. Incorporate new commits from " -"p4 changes with 'git p4 sync'. The 'sync' command is also used to include " -"new branches from other p4 depot paths. Submit Git changes back to p4 using " -"'git p4 submit'. The command 'git p4 rebase' does a sync plus rebases the " -"current branch onto the updated p4 remote branch." +"When a scripting language specific quoting is in effect, everything between " +"a top-level opening atom and its matching %(end) is evaluated according to " +"the semantics of the opening atom and only its result from the top-level is " +"quoted." msgstr "" #. type: Plain text -#: en/git-p4.txt:35 -msgid "Clone a repository:" +#: en/git-for-each-ref.txt:241 +msgid "" +"An example directly producing formatted text. Show the most recent 3 tagged " +"commits:" msgstr "" #. type: delimited block - -#: en/git-p4.txt:38 en/git-p4.txt:71 +#: en/git-for-each-ref.txt:244 en/git-for-each-ref.txt:260 en/git-for-each-ref.txt:274 #, no-wrap -msgid "$ git p4 clone //depot/path/project\n" +msgid "#!/bin/sh\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:41 -msgid "Do some work in the newly created Git repository:" +#. type: delimited block - +#: en/git-for-each-ref.txt:250 +#, no-wrap +msgid "" +"git for-each-ref --count=3 --sort='-*authordate' \\\n" +"--format='From: %(*authorname) %(*authoremail)\n" +"Subject: %(*subject)\n" +"Date: %(*authordate)\n" +"Ref: %(*refname)\n" msgstr "" #. type: delimited block - -#: en/git-p4.txt:46 +#: en/git-for-each-ref.txt:253 #, no-wrap msgid "" -"$ cd project\n" -"$ vi foo.h\n" -"$ git commit -a -m \"edited foo.h\"\n" +"%(*body)\n" +"' 'refs/tags'\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:50 +#: en/git-for-each-ref.txt:258 msgid "" -"Update the Git repository with recent changes from p4, rebasing your work on " -"top:" +"A simple example showing the use of shell eval on the output, demonstrating " +"the use of --shell. List the prefixes of all heads:" msgstr "" #. type: delimited block - -#: en/git-p4.txt:53 en/git-p4.txt:130 +#: en/git-for-each-ref.txt:267 #, no-wrap -msgid "$ git p4 rebase\n" +msgid "" +"git for-each-ref --shell --format=\"ref=%(refname)\" refs/heads | \\\n" +"while read entry\n" +"do\n" +"\teval \"$entry\"\n" +"\techo `dirname $ref`\n" +"done\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:56 -msgid "Submit your commits back to p4:" +#: en/git-for-each-ref.txt:272 +msgid "" +"A bit more elaborate report on tags, demonstrating that the format may be an " +"entire script:" msgstr "" #. type: delimited block - -#: en/git-p4.txt:59 en/git-p4.txt:145 +#: en/git-for-each-ref.txt:279 #, no-wrap -msgid "$ git p4 submit\n" +msgid "" +"fmt='\n" +"\tr=%(refname)\n" +"\tt=%(*objecttype)\n" +"\tT=${r#refs/tags/}\n" msgstr "" -#. type: Title ~ -#: en/git-p4.txt:66 +#. type: delimited block - +#: en/git-for-each-ref.txt:286 #, no-wrap -msgid "Clone" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:69 msgid "" -"Generally, 'git p4 clone' is used to create a new Git directory from an " -"existing p4 repository:" +"\to=%(*objectname)\n" +"\tn=%(*authorname)\n" +"\te=%(*authoremail)\n" +"\ts=%(*subject)\n" +"\td=%(*authordate)\n" +"\tb=%(*body)\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:73 -msgid "This:" +#. type: delimited block - +#: en/git-for-each-ref.txt:305 +#, no-wrap +msgid "" +"\tkind=Tag\n" +"\tif test \"z$t\" = z\n" +"\tthen\n" +"\t\t# could be a lightweight tag\n" +"\t\tt=%(objecttype)\n" +"\t\tkind=\"Lightweight tag\"\n" +"\t\to=%(objectname)\n" +"\t\tn=%(authorname)\n" +"\t\te=%(authoremail)\n" +"\t\ts=%(subject)\n" +"\t\td=%(authordate)\n" +"\t\tb=%(body)\n" +"\tfi\n" +"\techo \"$kind $T points at a $t object $o\"\n" +"\tif test \"z$t\" = zcommit\n" +"\tthen\n" +"\t\techo \"The commit was authored by $n $e\n" +"at $d, and titled\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:75 -msgid "Creates an empty Git repository in a subdirectory called 'project'." +#. type: delimited block - +#: en/git-for-each-ref.txt:307 +#, no-wrap +msgid " $s\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:78 +#. type: delimited block - +#: en/git-for-each-ref.txt:314 +#, no-wrap msgid "" -"Imports the full contents of the head revision from the given p4 depot path " -"into a single commit in the Git branch 'refs/remotes/p4/master'." +"Its message reads as:\n" +"\"\n" +"\t\techo \"$b\" | sed -e \"s/^/ /\"\n" +"\t\techo\n" +"\tfi\n" +"'\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:80 -msgid "Creates a local branch, 'master' from this remote and checks it out." +#. type: delimited block - +#: en/git-for-each-ref.txt:320 +#, no-wrap +msgid "" +"eval=`git for-each-ref --shell --format=\"$fmt\" \\\n" +"\t--sort='*objecttype' \\\n" +"\t--sort=-taggerdate \\\n" +"\trefs/tags`\n" +"eval \"$eval\"\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:83 +#: en/git-for-each-ref.txt:325 msgid "" -"To reproduce the entire p4 history in Git, use the '@all' modifier on the " -"depot path:" +"An example to show the usage of %(if)...%(then)...%(else)...%(end). This " +"prefixes the current branch with a star." msgstr "" #. type: delimited block - -#: en/git-p4.txt:85 -#, no-wrap -msgid "$ git p4 clone //depot/path/project@all\n" -msgstr "" - -#. type: Title ~ -#: en/git-p4.txt:89 +#: en/git-for-each-ref.txt:328 #, no-wrap -msgid "Sync" +msgid "" +"git for-each-ref --format=\"%(if)%(HEAD)%(then)* %(else) " +"%(end)%(refname:short)\" refs/heads/\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:92 +#: en/git-for-each-ref.txt:333 msgid "" -"As development continues in the p4 repository, those changes can be included " -"in the Git repository using:" +"An example to show the usage of %(if)...%(then)...%(end). This prints the " +"authorname, if present." msgstr "" #. type: delimited block - -#: en/git-p4.txt:94 +#: en/git-for-each-ref.txt:336 #, no-wrap -msgid "$ git p4 sync\n" +msgid "" +"git for-each-ref --format=\"%(refname)%(if)%(authorname)%(then) Authored by: " +"%(authorname)%(end)\"\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:96 -msgid "This command finds new changes in p4 and imports them as Git commits." +#. type: Title = +#: en/git-format-patch.txt:2 +#, no-wrap +msgid "git-format-patch(1)" msgstr "" #. type: Plain text -#: en/git-p4.txt:99 -msgid "" -"P4 repositories can be added to an existing Git repository using 'git p4 " -"sync' too:" +#: en/git-format-patch.txt:7 +msgid "git-format-patch - Prepare patches for e-mail submission" msgstr "" -#. type: delimited block - -#: en/git-p4.txt:104 +#. type: Plain text +#: en/git-format-patch.txt:28 #, no-wrap msgid "" -"$ mkdir repo-git\n" -"$ cd repo-git\n" -"$ git init\n" -"$ git p4 sync //path/in/your/perforce/depot\n" +"'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout]\n" +"\t\t [--no-thread | --thread[=<style>]]\n" +"\t\t [(--attach|--inline)[=<boundary>] | --no-attach]\n" +"\t\t [-s | --signoff]\n" +"\t\t [--signature=<signature> | --no-signature]\n" +"\t\t [--signature-file=<file>]\n" +"\t\t [-n | --numbered | -N | --no-numbered]\n" +"\t\t [--start-number <n>] [--numbered-files]\n" +"\t\t [--in-reply-to=Message-Id] [--suffix=.<sfx>]\n" +"\t\t [--ignore-if-in-upstream]\n" +"\t\t [--rfc] [--subject-prefix=Subject-Prefix]\n" +"\t\t [(--reroll-count|-v) <n>]\n" +"\t\t [--to=<email>] [--cc=<email>]\n" +"\t\t [--[no-]cover-letter] [--quiet] [--notes[=<ref>]]\n" +"\t\t [<common diff options>]\n" +"\t\t [ <since> | <revision range> ]\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:109 +#: en/git-format-patch.txt:36 msgid "" -"This imports the specified depot into 'refs/remotes/p4/master' in an " -"existing Git repository. The `--branch` option can be used to specify a " -"different branch to be used for the p4 content." +"Prepare each commit with its patch in one file per commit, formatted to " +"resemble UNIX mailbox format. The output of this command is convenient for " +"e-mail submission or for use with 'git am'." msgstr "" #. type: Plain text -#: en/git-p4.txt:114 +#: en/git-format-patch.txt:38 +msgid "There are two ways to specify which commits to operate on." +msgstr "" + +#. type: Plain text +#: en/git-format-patch.txt:42 msgid "" -"If a Git repository includes branches 'refs/remotes/origin/p4', these will " -"be fetched and consulted first during a 'git p4 sync'. Since importing " -"directly from p4 is considerably slower than pulling changes from a Git " -"remote, this can be useful in a multi-developer environment." +"A single commit, <since>, specifies that the commits leading to the tip of " +"the current branch that are not in the history that leads to the <since> to " +"be output." msgstr "" #. type: Plain text -#: en/git-p4.txt:119 +#: en/git-format-patch.txt:46 msgid "" -"If there are multiple branches, doing 'git p4 sync' will automatically use " -"the \"BRANCH DETECTION\" algorithm to try to partition new changes into the " -"right branch. This can be overridden with the `--branch` option to specify " -"just a single branch to update." +"Generic <revision range> expression (see \"SPECIFYING REVISIONS\" section in " +"linkgit:gitrevisions[7]) means the commits in the specified range." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:122 -#, no-wrap -msgid "Rebase" +#. type: Plain text +#: en/git-format-patch.txt:52 +msgid "" +"The first rule takes precedence in the case of a single <commit>. To apply " +"the second rule, i.e., format everything since the beginning of history up " +"until <commit>, use the '\\--root' option: `git format-patch --root " +"<commit>`. If you want to format only <commit> itself, you can do this with " +"`git format-patch -1 <commit>`." msgstr "" #. type: Plain text -#: en/git-p4.txt:128 +#: en/git-format-patch.txt:59 msgid "" -"A common working pattern is to fetch the latest changes from the p4 depot " -"and merge them with local uncommitted changes. Often, the p4 repository is " -"the ultimate location for all code, thus a rebase workflow makes sense. " -"This command does 'git p4 sync' followed by 'git rebase' to move local " -"commits on top of updated p4 changes." +"By default, each output file is numbered sequentially from 1, and uses the " +"first line of the commit message (massaged for pathname safety) as the " +"filename. With the `--numbered-files` option, the output file names will " +"only be numbers, without the first line of the commit appended. The names " +"of the output files are printed to standard output, unless the `--stdout` " +"option is specified." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:134 -#, no-wrap -msgid "Submit" +#. type: Plain text +#: en/git-format-patch.txt:66 +msgid "" +"If `-o` is specified, output files are created in <dir>. Otherwise they are " +"created in the current working directory. The default path can be set with " +"the `format.outputDirectory` configuration option. The `-o` option takes " +"precedence over `format.outputDirectory`. To store patches in the current " +"working directory even when `format.outputDirectory` points elsewhere, use " +"`-o .`." msgstr "" #. type: Plain text -#: en/git-p4.txt:140 +#: en/git-format-patch.txt:70 msgid "" -"Submitting changes from a Git repository back to the p4 repository requires " -"a separate p4 client workspace. This should be specified using the " -"`P4CLIENT` environment variable or the Git configuration variable " -"'git-p4.client'. The p4 client must exist, but the client root will be " -"created and populated if it does not already exist." +"By default, the subject of a single patch is \"[PATCH] \" followed by the " +"concatenation of lines from the commit message up to the first blank line " +"(see the DISCUSSION section of linkgit:git-commit[1])." msgstr "" #. type: Plain text -#: en/git-p4.txt:143 +#: en/git-format-patch.txt:74 msgid "" -"To submit all changes that are in the current Git branch but not in the " -"'p4/master' branch, use:" +"When multiple patches are output, the subject prefix will instead be " +"\"[PATCH n/m] \". To force 1/1 to be added for a single patch, use `-n`. " +"To omit patch numbers from the subject, use `-N`." msgstr "" #. type: Plain text -#: en/git-p4.txt:148 -msgid "To specify a branch other than the current one, use:" +#: en/git-format-patch.txt:79 +msgid "" +"If given `--thread`, `git-format-patch` will generate `In-Reply-To` and " +"`References` headers to make the second and subsequent patch mails appear as " +"replies to the first mail; this also generates a `Message-Id` header to " +"reference." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:150 +#. type: Labeled list +#: en/git-format-patch.txt:85 #, no-wrap -msgid "$ git p4 submit topicbranch\n" +msgid "-<n>" msgstr "" #. type: Plain text -#: en/git-p4.txt:154 -msgid "" -"The upstream reference is generally 'refs/remotes/p4/master', but can be " -"overridden using the `--origin=` command-line option." +#: en/git-format-patch.txt:87 +msgid "Prepare patches from the topmost <n> commits." msgstr "" -#. type: Plain text -#: en/git-p4.txt:159 -msgid "" -"The p4 changes will be created as the user invoking 'git p4 submit'. The " -"`--preserve-user` option will cause ownership to be modified according to " -"the author of the Git commit. This option requires admin privileges in p4, " -"which can be granted using 'p4 protect'." +#. type: Labeled list +#: en/git-format-patch.txt:88 +#, no-wrap +msgid "-o <dir>" msgstr "" -#. type: Title ~ -#: en/git-p4.txt:165 +#. type: Labeled list +#: en/git-format-patch.txt:89 #, no-wrap -msgid "General options" +msgid "--output-directory <dir>" msgstr "" #. type: Plain text -#: en/git-p4.txt:167 -msgid "All commands except clone accept these options." +#: en/git-format-patch.txt:92 +msgid "" +"Use <dir> to store the resulting files, instead of the current working " +"directory." msgstr "" #. type: Labeled list -#: en/git-p4.txt:168 +#: en/git-format-patch.txt:94 en/git-shortlog.txt:30 #, no-wrap -msgid "--git-dir <dir>" +msgid "--numbered" msgstr "" #. type: Plain text -#: en/git-p4.txt:170 -msgid "Set the `GIT_DIR` environment variable. See linkgit:git[1]." +#: en/git-format-patch.txt:96 +msgid "Name output in '[PATCH n/m]' format, even with a single patch." +msgstr "" + +#. type: Labeled list +#: en/git-format-patch.txt:98 +#, no-wrap +msgid "--no-numbered" msgstr "" #. type: Plain text -#: en/git-p4.txt:174 -msgid "Provide more progress information." +#: en/git-format-patch.txt:100 +msgid "Name output in '[PATCH]' format." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:176 +#. type: Labeled list +#: en/git-format-patch.txt:101 #, no-wrap -msgid "Sync options" +msgid "--start-number <n>" msgstr "" #. type: Plain text -#: en/git-p4.txt:179 -msgid "" -"These options can be used in the initial 'clone' as well as in subsequent " -"'sync' operations." +#: en/git-format-patch.txt:103 +msgid "Start numbering the patches at <n> instead of 1." msgstr "" #. type: Labeled list -#: en/git-p4.txt:180 +#: en/git-format-patch.txt:104 #, no-wrap -msgid "--branch <ref>" +msgid "--numbered-files" msgstr "" #. type: Plain text -#: en/git-p4.txt:184 +#: en/git-format-patch.txt:107 msgid "" -"Import changes into <ref> instead of refs/remotes/p4/master. If <ref> " -"starts with refs/, it is used as is. Otherwise, if it does not start with " -"p4/, that prefix is added." +"Output file names will be a simple number sequence without the default first " +"line of the commit appended." msgstr "" -#. type: Plain text -#: en/git-p4.txt:188 -msgid "" -"By default a <ref> not starting with refs/ is treated as the name of a " -"remote-tracking branch (under refs/remotes/). This behavior can be modified " -"using the --import-local option." +#. type: Labeled list +#: en/git-format-patch.txt:109 +#, no-wrap +msgid "--keep-subject" msgstr "" #. type: Plain text -#: en/git-p4.txt:190 -msgid "The default <ref> is \"master\"." +#: en/git-format-patch.txt:112 +msgid "Do not strip/add '[PATCH]' from the first line of the commit log message." msgstr "" #. type: Plain text -#: en/git-p4.txt:193 -msgid "" -"This example imports a new remote \"p4/proj2\" into an existing Git " -"repository:" -msgstr "" - -#. type: delimited block - -#: en/git-p4.txt:197 -#, no-wrap +#: en/git-format-patch.txt:118 msgid "" -" $ git init\n" -" $ git p4 sync --branch=refs/remotes/p4/proj2 //depot/proj2\n" +"Add `Signed-off-by:` line to the commit message, using the committer " +"identity of yourself. See the signoff option in linkgit:git-commit[1] for " +"more information." msgstr "" #. type: Labeled list -#: en/git-p4.txt:199 +#: en/git-format-patch.txt:119 en/git-pack-objects.txt:57 #, no-wrap -msgid "--detect-branches" +msgid "--stdout" msgstr "" #. type: Plain text -#: en/git-p4.txt:202 +#: en/git-format-patch.txt:122 msgid "" -"Use the branch detection algorithm to find new paths in p4. It is " -"documented below in \"BRANCH DETECTION\"." +"Print all commits to the standard output in mbox format, instead of creating " +"a file for each one." msgstr "" #. type: Labeled list -#: en/git-p4.txt:203 +#: en/git-format-patch.txt:123 #, no-wrap -msgid "--changesfile <file>" +msgid "--attach[=<boundary>]" msgstr "" #. type: Plain text -#: en/git-p4.txt:207 +#: en/git-format-patch.txt:127 msgid "" -"Import exactly the p4 change numbers listed in 'file', one per line. " -"Normally, 'git p4' inspects the current p4 repository state and detects the " -"changes it should import." +"Create multipart/mixed attachment, the first part of which is the commit " +"message and the patch itself in the second part, with `Content-Disposition: " +"attachment`." msgstr "" #. type: Labeled list -#: en/git-p4.txt:208 +#: en/git-format-patch.txt:128 #, no-wrap -msgid "--silent" +msgid "--no-attach" msgstr "" #. type: Plain text -#: en/git-p4.txt:210 -msgid "Do not print any progress information." +#: en/git-format-patch.txt:131 +msgid "Disable the creation of an attachment, overriding the configuration setting." msgstr "" #. type: Labeled list -#: en/git-p4.txt:211 +#: en/git-format-patch.txt:132 #, no-wrap -msgid "--detect-labels" +msgid "--inline[=<boundary>]" msgstr "" #. type: Plain text -#: en/git-p4.txt:215 +#: en/git-format-patch.txt:136 msgid "" -"Query p4 for labels associated with the depot paths, and add them as tags in " -"Git. Limited usefulness as only imports labels associated with new " -"changelists. Deprecated." +"Create multipart/mixed attachment, the first part of which is the commit " +"message and the patch itself in the second part, with `Content-Disposition: " +"inline`." msgstr "" #. type: Labeled list -#: en/git-p4.txt:216 en/git-p4.txt:331 +#: en/git-format-patch.txt:137 #, no-wrap -msgid "--import-labels" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:218 -msgid "Import labels from p4 into Git." +msgid "--thread[=<style>]" msgstr "" #. type: Labeled list -#: en/git-p4.txt:219 +#: en/git-format-patch.txt:138 #, no-wrap -msgid "--import-local" +msgid "--no-thread" msgstr "" #. type: Plain text -#: en/git-p4.txt:226 +#: en/git-format-patch.txt:143 msgid "" -"By default, p4 branches are stored in 'refs/remotes/p4/', where they will be " -"treated as remote-tracking branches by linkgit:git-branch[1] and other " -"commands. This option instead puts p4 branches in 'refs/heads/p4/'. Note " -"that future sync operations must specify `--import-local` as well so that " -"they can find the p4 branches in refs/heads." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:227 -#, no-wrap -msgid "--max-changes <n>" +"Controls addition of `In-Reply-To` and `References` headers to make the " +"second and subsequent mails appear as replies to the first. Also controls " +"generation of the `Message-Id` header to reference." msgstr "" #. type: Plain text -#: en/git-p4.txt:233 +#: en/git-format-patch.txt:149 msgid "" -"Import at most 'n' changes, rather than the entire range of changes included " -"in the given revision specifier. A typical usage would be use '@all' as the " -"revision specifier, but then to use '--max-changes 1000' to import only the " -"last 1000 revisions rather than the entire revision history." +"The optional <style> argument can be either `shallow` or `deep`. 'shallow' " +"threading makes every mail a reply to the head of the series, where the head " +"is chosen from the cover letter, the `--in-reply-to`, and the first patch " +"mail, in this order. 'deep' threading makes every mail a reply to the " +"previous one." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:234 -#, no-wrap -msgid "--changes-block-size <n>" +#. type: Plain text +#: en/git-format-patch.txt:153 +msgid "" +"The default is `--no-thread`, unless the `format.thread` configuration is " +"set. If `--thread` is specified without a style, it defaults to the style " +"specified by `format.thread` if any, or else `shallow`." msgstr "" #. type: Plain text -#: en/git-p4.txt:242 +#: en/git-format-patch.txt:157 msgid "" -"The internal block size to use when converting a revision specifier such as " -"'@all' into a list of specific change numbers. Instead of using a single " -"call to 'p4 changes' to find the full list of changes for the conversion, " -"there are a sequence of calls to 'p4 changes -m', each of which requests one " -"block of changes of the given size. The default block size is 500, which " -"should usually be suitable." +"Beware that the default for 'git send-email' is to thread emails itself. If " +"you want `git format-patch` to take care of threading, you will want to " +"ensure that threading is disabled for `git send-email`." msgstr "" #. type: Labeled list -#: en/git-p4.txt:243 +#: en/git-format-patch.txt:158 #, no-wrap -msgid "--keep-path" +msgid "--in-reply-to=Message-Id" msgstr "" #. type: Plain text -#: en/git-p4.txt:250 +#: en/git-format-patch.txt:162 msgid "" -"The mapping of file names from the p4 depot path to Git, by default, " -"involves removing the entire depot path. With this option, the full p4 " -"depot path is retained in Git. For example, path '//depot/main/foo/bar.c', " -"when imported from '//depot/main/', becomes 'foo/bar.c'. With " -"`--keep-path`, the Git path is instead 'depot/main/foo/bar.c'." +"Make the first mail (or all the mails with `--no-thread`) appear as a reply " +"to the given Message-Id, which avoids breaking threads to provide a new " +"patch series." msgstr "" #. type: Labeled list -#: en/git-p4.txt:251 +#: en/git-format-patch.txt:163 #, no-wrap -msgid "--use-client-spec" +msgid "--ignore-if-in-upstream" msgstr "" #. type: Plain text -#: en/git-p4.txt:254 +#: en/git-format-patch.txt:169 msgid "" -"Use a client spec to find the list of interesting files in p4. See the " -"\"CLIENT SPEC\" section below." +"Do not include a patch that matches a commit in <until>..<since>. This will " +"examine all patches reachable from <since> but not from <until> and compare " +"them with the patches being generated, and any patch that matches is " +"ignored." msgstr "" #. type: Labeled list -#: en/git-p4.txt:255 +#: en/git-format-patch.txt:170 #, no-wrap -msgid "-/ <path>" +msgid "--subject-prefix=<Subject-Prefix>" msgstr "" #. type: Plain text -#: en/git-p4.txt:257 -msgid "Exclude selected depot paths when cloning or syncing." +#: en/git-format-patch.txt:175 +msgid "" +"Instead of the standard '[PATCH]' prefix in the subject line, instead use " +"'[<Subject-Prefix>]'. This allows for useful naming of a patch series, and " +"can be combined with the `--numbered` option." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:259 +#. type: Labeled list +#: en/git-format-patch.txt:176 #, no-wrap -msgid "Clone options" +msgid "--rfc" msgstr "" #. type: Plain text -#: en/git-p4.txt:262 +#: en/git-format-patch.txt:180 msgid "" -"These options can be used in an initial 'clone', along with the 'sync' " -"options described above." +"Alias for `--subject-prefix=\"RFC PATCH\"`. RFC means \"Request For " +"Comments\"; use this when sending an experimental patch for discussion " +"rather than application." msgstr "" #. type: Labeled list -#: en/git-p4.txt:263 +#: en/git-format-patch.txt:181 #, no-wrap -msgid "--destination <directory>" +msgid "-v <n>" msgstr "" -#. type: Plain text -#: en/git-p4.txt:267 -msgid "" -"Where to create the Git repository. If not provided, the last component in " -"the p4 depot path is used to create a new directory." +#. type: Labeled list +#: en/git-format-patch.txt:182 +#, no-wrap +msgid "--reroll-count=<n>" msgstr "" #. type: Plain text -#: en/git-p4.txt:270 -msgid "Perform a bare clone. See linkgit:git-clone[1]." +#: en/git-format-patch.txt:189 +msgid "" +"Mark the series as the <n>-th iteration of the topic. The output filenames " +"have `v<n>` prepended to them, and the subject prefix (\"PATCH\" by default, " +"but configurable via the `--subject-prefix` option) has ` v<n>` appended to " +"it. E.g. `--reroll-count=4` may produce `v4-0001-add-makefile.patch` file " +"that has \"Subject: [PATCH v4 1/20] Add makefile\" in it." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:272 +#. type: Labeled list +#: en/git-format-patch.txt:190 #, no-wrap -msgid "Submit options" +msgid "--to=<email>" msgstr "" #. type: Plain text -#: en/git-p4.txt:274 -msgid "These options can be used to modify 'git p4 submit' behavior." +#: en/git-format-patch.txt:195 +msgid "" +"Add a `To:` header to the email headers. This is in addition to any " +"configured headers, and may be used multiple times. The negated form " +"`--no-to` discards all `To:` headers added so far (from config or command " +"line)." msgstr "" #. type: Labeled list -#: en/git-p4.txt:275 +#: en/git-format-patch.txt:196 #, no-wrap -msgid "--origin <commit>" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:279 -msgid "" -"Upstream location from which commits are identified to submit to p4. By " -"default, this is the most recent p4 commit reachable from `HEAD`." +msgid "--cc=<email>" msgstr "" #. type: Plain text -#: en/git-p4.txt:285 +#: en/git-format-patch.txt:201 msgid "" -"Detect renames. See linkgit:git-diff[1]. Renames will be represented in p4 " -"using explicit 'move' operations. There is no corresponding option to " -"detect copies, but there are variables for both moves and copies." +"Add a `Cc:` header to the email headers. This is in addition to any " +"configured headers, and may be used multiple times. The negated form " +"`--no-cc` discards all `Cc:` headers added so far (from config or command " +"line)." msgstr "" #. type: Labeled list -#: en/git-p4.txt:286 +#: en/git-format-patch.txt:202 #, no-wrap -msgid "--preserve-user" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:289 -msgid "" -"Re-author p4 changes before submitting to p4. This option requires p4 admin " -"privileges." +msgid "--from" msgstr "" #. type: Labeled list -#: en/git-p4.txt:290 +#: en/git-format-patch.txt:203 #, no-wrap -msgid "--export-labels" +msgid "--from=<ident>" msgstr "" #. type: Plain text -#: en/git-p4.txt:293 +#: en/git-format-patch.txt:209 msgid "" -"Export tags from Git as p4 labels. Tags found in Git are applied to the " -"perforce working directory." +"Use `ident` in the `From:` header of each commit email. If the author ident " +"of the commit is not textually identical to the provided `ident`, place a " +"`From:` header in the body of the message with the original author. If no " +"`ident` is given, use the committer ident." msgstr "" #. type: Plain text -#: en/git-p4.txt:298 +#: en/git-format-patch.txt:216 msgid "" -"Show just what commits would be submitted to p4; do not change state in Git " -"or p4." +"Note that this option is only useful if you are actually sending the emails " +"and want to identify yourself as the sender, but retain the original author " +"(and `git am` will correctly pick up the in-body header). Note also that " +"`git send-email` already handles this transformation for you, and this " +"option should not be used if you are feeding the result to `git send-email`." msgstr "" #. type: Labeled list -#: en/git-p4.txt:299 +#: en/git-format-patch.txt:217 #, no-wrap -msgid "--prepare-p4-only" +msgid "--add-header=<header>" msgstr "" #. type: Plain text -#: en/git-p4.txt:305 +#: en/git-format-patch.txt:224 msgid "" -"Apply a commit to the p4 workspace, opening, adding and deleting files in p4 " -"as for a normal submit operation. Do not issue the final \"p4 submit\", but " -"instead print a message about how to submit manually or revert. This option " -"always stops after the first (oldest) commit. Git tags are not exported to " -"p4." +"Add an arbitrary header to the email headers. This is in addition to any " +"configured headers, and may be used multiple times. For example, " +"`--add-header=\"Organization: git-foo\"`. The negated form " +"`--no-add-header` discards *all* (`To:`, `Cc:`, and custom) headers added so " +"far from config or command line." msgstr "" #. type: Labeled list -#: en/git-p4.txt:306 +#: en/git-format-patch.txt:225 #, no-wrap -msgid "--shelve" +msgid "--[no-]cover-letter" msgstr "" #. type: Plain text -#: en/git-p4.txt:310 +#: en/git-format-patch.txt:229 msgid "" -"Instead of submitting create a series of shelved changelists. After " -"creating each shelve, the relevant files are reverted/deleted. If you have " -"multiple commits pending multiple shelves will be created." +"In addition to the patches, generate a cover letter file containing the " +"branch description, shortlog and the overall diffstat. You can fill in a " +"description in the file before sending it out." msgstr "" #. type: Labeled list -#: en/git-p4.txt:311 +#: en/git-format-patch.txt:230 #, no-wrap -msgid "--update-shelve CHANGELIST" +msgid "--notes[=<ref>]" msgstr "" #. type: Plain text -#: en/git-p4.txt:314 -msgid "Update an existing shelved changelist with this commit. Implies --shelve." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:315 -#, no-wrap -msgid "--conflict=(ask|skip|quit)" +#: en/git-format-patch.txt:233 +msgid "" +"Append the notes (see linkgit:git-notes[1]) for the commit after the " +"three-dash line." msgstr "" #. type: Plain text -#: en/git-p4.txt:321 +#: en/git-format-patch.txt:241 msgid "" -"Conflicts can occur when applying a commit to p4. When this happens, the " -"default behavior (\"ask\") is to prompt whether to skip this commit and " -"continue, or quit. This option can be used to bypass the prompt, causing " -"conflicting commits to be automatically skipped, or to quit trying to apply " -"commits, without prompting." +"The expected use case of this is to write supporting explanation for the " +"commit that does not belong to the commit log message proper, and include it " +"with the patch submission. While one can simply write these explanations " +"after `format-patch` has run but before sending, keeping them as Git notes " +"allows them to be maintained between versions of the patch series (but see " +"the discussion of the `notes.rewrite` configuration options in " +"linkgit:git-notes[1] to use this workflow)." msgstr "" #. type: Labeled list -#: en/git-p4.txt:322 +#: en/git-format-patch.txt:242 #, no-wrap -msgid "--branch <branch>" +msgid "--[no-]signature=<signature>" msgstr "" #. type: Plain text -#: en/git-p4.txt:326 +#: en/git-format-patch.txt:247 msgid "" -"After submitting, sync this named branch instead of the default p4/master. " -"See the \"Sync options\" section above for more information." +"Add a signature to each message produced. Per RFC 3676 the signature is " +"separated from the body by a line with '-- ' on it. If the signature option " +"is omitted the signature defaults to the Git version number." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:328 +#. type: Labeled list +#: en/git-format-patch.txt:248 #, no-wrap -msgid "Rebase options" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:330 -msgid "These options can be used to modify 'git p4 rebase' behavior." +msgid "--signature-file=<file>" msgstr "" #. type: Plain text -#: en/git-p4.txt:333 -msgid "Import p4 labels." +#: en/git-format-patch.txt:250 +msgid "Works just like --signature except the signature is read from a file." msgstr "" -#. type: Title - -#: en/git-p4.txt:335 +#. type: Labeled list +#: en/git-format-patch.txt:251 #, no-wrap -msgid "DEPOT PATH SYNTAX" +msgid "--suffix=.<sfx>" msgstr "" #. type: Plain text -#: en/git-p4.txt:339 +#: en/git-format-patch.txt:256 msgid "" -"The p4 depot path argument to 'git p4 sync' and 'git p4 clone' can be one or " -"more space-separated p4 depot paths, with an optional p4 revision specifier " -"on the end:" +"Instead of using `.patch` as the suffix for generated filenames, use " +"specified suffix. A common alternative is `--suffix=.txt`. Leaving this " +"empty will remove the `.patch` suffix." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:340 -#, no-wrap -msgid "\"//depot/my/project\"" +#. type: Plain text +#: en/git-format-patch.txt:259 +msgid "" +"Note that the leading character does not have to be a dot; for example, you " +"can use `--suffix=-patch` to get `0001-description-of-my-change-patch`." msgstr "" #. type: Plain text -#: en/git-p4.txt:342 -msgid "Import one commit with all files in the '#head' change under that tree." +#: en/git-format-patch.txt:263 +msgid "Do not print the names of the generated files to standard output." msgstr "" #. type: Labeled list -#: en/git-p4.txt:343 +#: en/git-format-patch.txt:264 #, no-wrap -msgid "\"//depot/my/project@all\"" +msgid "--no-binary" msgstr "" #. type: Plain text -#: en/git-p4.txt:345 -msgid "Import one commit for each change in the history of that depot path." +#: en/git-format-patch.txt:269 +msgid "" +"Do not output contents of changes in binary files, instead display a notice " +"that those files changed. Patches generated using this option cannot be " +"applied properly, but they are still useful for code review." msgstr "" #. type: Labeled list -#: en/git-p4.txt:346 +#: en/git-format-patch.txt:270 #, no-wrap -msgid "\"//depot/my/project@1,6\"" +msgid "--zero-commit" msgstr "" #. type: Plain text -#: en/git-p4.txt:348 -msgid "Import only changes 1 through 6." +#: en/git-format-patch.txt:273 +msgid "" +"Output an all-zero hash in each patch's From header instead of the hash of " +"the commit." msgstr "" #. type: Labeled list -#: en/git-p4.txt:349 +#: en/git-format-patch.txt:274 #, no-wrap -msgid "\"//depot/proj1@all //depot/proj2@all\"" +msgid "--base=<commit>" msgstr "" #. type: Plain text -#: en/git-p4.txt:358 +#: en/git-format-patch.txt:278 msgid "" -"Import all changes from both named depot paths into a single repository. " -"Only files below these directories are included. There is not a " -"subdirectory in Git for each \"proj1\" and \"proj2\". You must use the " -"`--destination` option when specifying more than one depot path. The " -"revision specifier must be specified identically on each depot path. If " -"there are files in the depot paths with the same name, the path with the " -"most recently updated version of the file is the one that appears in Git." +"Record the base tree information to identify the state the patch series " +"applies to. See the BASE TREE INFORMATION section below for details." msgstr "" #. type: Plain text -#: en/git-p4.txt:360 -msgid "See 'p4 help revisions' for the full syntax of p4 revision specifiers." -msgstr "" - -#. type: Title - -#: en/git-p4.txt:363 -#, no-wrap -msgid "CLIENT SPEC" +#: en/git-format-patch.txt:285 +msgid "" +"Treat the revision argument as a <revision range>, even if it is just a " +"single commit (that would normally be treated as a <since>). Note that root " +"commits included in the specified range are always formatted as creation " +"patches, independently of this flag." msgstr "" #. type: Plain text -#: en/git-p4.txt:373 +#: en/git-format-patch.txt:292 msgid "" -"The p4 client specification is maintained with the 'p4 client' command and " -"contains among other fields, a View that specifies how the depot is mapped " -"into the client repository. The 'clone' and 'sync' commands can consult the " -"client spec when given the `--use-client-spec` option or when the " -"useClientSpec variable is true. After 'git p4 clone', the useClientSpec " -"variable is automatically set in the repository configuration file. This " -"allows future 'git p4 submit' commands to work properly; the submit command " -"looks only at the variable and does not have a command-line option." +"You can specify extra mail header lines to be added to each message, " +"defaults for the subject prefix and file suffix, number patches when " +"outputting more than one patch, add \"To\" or \"Cc:\" headers, configure " +"attachments, and sign off patches with configuration variables." msgstr "" -#. type: Plain text -#: en/git-p4.txt:380 +#. type: delimited block - +#: en/git-format-patch.txt:304 +#, no-wrap msgid "" -"The full syntax for a p4 view is documented in 'p4 help views'. 'git p4' " -"knows only a subset of the view syntax. It understands multi-line mappings, " -"overlays with '+', exclusions with '-' and double-quotes around whitespace. " -"Of the possible wildcards, 'git p4' only handles '...', and only when it is " -"at the end of the path. 'git p4' will complain if it encounters an " -"unhandled wildcard." +"[format]\n" +"\theaders = \"Organization: git-foo\\n\"\n" +"\tsubjectPrefix = CHANGE\n" +"\tsuffix = .txt\n" +"\tnumbered = auto\n" +"\tto = <email>\n" +"\tcc = <email>\n" +"\tattach [ = mime-boundary-string ]\n" +"\tsignOff = true\n" +"\tcoverletter = auto\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:385 +#: en/git-format-patch.txt:313 msgid "" -"Bugs in the implementation of overlap mappings exist. If multiple depot " -"paths map through overlays to the same location in the repository, 'git p4' " -"can choose the wrong one. This is hard to solve without dedicating a client " -"spec just for 'git p4'." +"The patch produced by 'git format-patch' is in UNIX mailbox format, with a " +"fixed \"magic\" time stamp to indicate that the file is output from " +"format-patch rather than a real mailbox, like so:" msgstr "" -#. type: Plain text -#: en/git-p4.txt:390 +#. type: delimited block - +#: en/git-format-patch.txt:323 +#, no-wrap msgid "" -"The name of the client can be given to 'git p4' in multiple ways. The " -"variable 'git-p4.client' takes precedence if it exists. Otherwise, normal " -"p4 mechanisms of determining the client are used: environment variable " -"P4CLIENT, a file referenced by P4CONFIG, or the local host name." +"From 8f72bad1baf19a53459661343e21d6491c3908d3 Mon Sep 17 00:00:00 2001\n" +"From: Tony Luck <tony.luck@intel.com>\n" +"Date: Tue, 13 Jul 2010 11:42:54 -0700\n" +"Subject: [PATCH] " +"=?UTF-8?q?[IA64]=20Put=20ia64=20config=20files=20on=20the=20?=\n" +" =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20diet?=\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" msgstr "" -#. type: Title - -#: en/git-p4.txt:393 +#. type: delimited block - +#: en/git-format-patch.txt:326 #, no-wrap -msgid "BRANCH DETECTION" +msgid "" +"arch/arm config files were slimmed down using a python script\n" +"(See commit c2330e286f68f1c408b4aa6515ba49d57f05beae comment)\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:400 +#. type: delimited block - +#: en/git-format-patch.txt:329 +#, no-wrap msgid "" -"P4 does not have the same concept of a branch as Git. Instead, p4 organizes " -"its content as a directory tree, where by convention different logical " -"branches are in different locations in the tree. The 'p4 branch' command is " -"used to maintain mappings between different areas in the tree, and indicate " -"related content. 'git p4' can use these mappings to determine branch " -"relationships." +"Do the same for ia64 so we can have sleek & trim looking\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:405 +#: en/git-format-patch.txt:337 msgid "" -"If you have a repository where all the branches of interest exist as " -"subdirectories of a single depot path, you can use `--detect-branches` when " -"cloning or syncing to have 'git p4' automatically find subdirectories in p4, " -"and to generate these as branches in Git." +"Typically it will be placed in a MUA's drafts folder, edited to add timely " +"commentary that should not go in the changelog after the three dashes, and " +"then sent as a message whose body, in our example, starts with \"arch/arm " +"config files were...\". On the receiving end, readers can save interesting " +"patches in a UNIX mailbox and apply them with linkgit:git-am[1]." msgstr "" #. type: Plain text -#: en/git-p4.txt:407 -msgid "For example, if the P4 repository structure is:" +#: en/git-format-patch.txt:343 +msgid "" +"When a patch is part of an ongoing discussion, the patch generated by 'git " +"format-patch' can be tweaked to take advantage of the 'git am --scissors' " +"feature. After your response to the discussion comes a line that consists " +"solely of \"`-- >8 --`\" (scissors and perforation), followed by the patch " +"with unnecessary header fields removed:" msgstr "" #. type: delimited block - -#: en/git-p4.txt:410 +#: en/git-format-patch.txt:347 #, no-wrap msgid "" -"//depot/main/...\n" -"//depot/branch1/...\n" -msgstr "" - -#. type: Plain text -#: en/git-p4.txt:413 -msgid "And \"p4 branch -o branch1\" shows a View line that looks like:" +"...\n" +"> So we should do such-and-such.\n" msgstr "" #. type: delimited block - -#: en/git-p4.txt:415 +#: en/git-format-patch.txt:349 #, no-wrap -msgid "//depot/main/... //depot/branch1/...\n" +msgid "Makes sense to me. How about this patch?\n" msgstr "" -#. type: Plain text -#: en/git-p4.txt:418 -msgid "Then this 'git p4 clone' command:" +#. type: delimited block - +#: en/git-format-patch.txt:352 +#, no-wrap +msgid "" +"-- >8 --\n" +"Subject: [IA64] Put ia64 config files on the Uwe Kleine-K철nig diet\n" msgstr "" #. type: delimited block - -#: en/git-p4.txt:420 +#: en/git-format-patch.txt:355 #, no-wrap -msgid "git p4 clone --detect-branches //depot@all\n" +msgid "" +"arch/arm config files were slimmed down using a python script\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:423 +#: en/git-format-patch.txt:363 msgid "" -"produces a separate branch in 'refs/remotes/p4/' for //depot/main, called " -"'master', and one for //depot/branch1 called 'depot/branch1'." +"When sending a patch this way, most often you are sending your own patch, so " +"in addition to the \"`From $SHA1 $magic_timestamp`\" marker you should omit " +"`From:` and `Date:` lines from the patch file. The patch title is likely to " +"be different from the subject of the discussion the patch is in response to, " +"so it is likely that you would want to keep the Subject: line, like the " +"example above." +msgstr "" + +#. type: Title ~ +#: en/git-format-patch.txt:365 +#, no-wrap +msgid "Checking for patch corruption" msgstr "" #. type: Plain text -#: en/git-p4.txt:433 +#: en/git-format-patch.txt:368 msgid "" -"However, it is not necessary to create branches in p4 to be able to use them " -"like branches. Because it is difficult to infer branch relationships " -"automatically, a Git configuration setting 'git-p4.branchList' can be used " -"to explicitly identify branch relationships. It is a list of " -"\"source:destination\" pairs, like a simple p4 branch specification, where " -"the \"source\" and \"destination\" are the path elements in the p4 " -"repository. The example above relied on the presence of the p4 branch. " -"Without p4 branches, the same result will occur with:" +"Many mailers if not set up properly will corrupt whitespace. Here are two " +"common types of corruption:" msgstr "" -#. type: delimited block - -#: en/git-p4.txt:438 -#, no-wrap -msgid "" -"git init depot\n" -"cd depot\n" -"git config git-p4.branchList main:branch1\n" -"git p4 clone --detect-branches //depot@all .\n" +#. type: Plain text +#: en/git-format-patch.txt:370 +msgid "Empty context lines that do not have _any_ whitespace." msgstr "" -#. type: Title - -#: en/git-p4.txt:442 -#, no-wrap -msgid "PERFORMANCE" +#. type: Plain text +#: en/git-format-patch.txt:373 +msgid "Non-empty context lines that have one extra whitespace at the beginning." msgstr "" #. type: Plain text -#: en/git-p4.txt:447 -msgid "" -"The fast-import mechanism used by 'git p4' creates one pack file for each " -"invocation of 'git p4 sync'. Normally, Git garbage compression " -"(linkgit:git-gc[1]) automatically compresses these to fewer pack files, but " -"explicit invocation of 'git repack -adf' may improve performance." +#: en/git-format-patch.txt:375 +msgid "One way to test if your MUA is set up correctly is:" msgstr "" #. type: Plain text -#: en/git-p4.txt:453 +#: en/git-format-patch.txt:379 msgid "" -"The following config settings can be used to modify 'git p4' behavior. They " -"all are in the 'git-p4' section." +"Send the patch to yourself, exactly the way you would, except with To: and " +"Cc: lines that do not contain the list and maintainer address." msgstr "" -#. type: Title ~ -#: en/git-p4.txt:455 -#, no-wrap -msgid "General variables" +#. type: Plain text +#: en/git-format-patch.txt:382 +msgid "Save that patch to a file in UNIX mailbox format. Call it a.patch, say." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:456 -#, no-wrap -msgid "git-p4.user" +#. type: Plain text +#: en/git-format-patch.txt:384 +msgid "Apply it:" msgstr "" #. type: Plain text -#: en/git-p4.txt:459 +#: en/git-format-patch.txt:389 +#, no-wrap msgid "" -"User specified as an option to all p4 commands, with '-u <user>'. The " -"environment variable 'P4USER' can be used instead." +"$ git fetch <project> master:test-apply\n" +"$ git checkout test-apply\n" +"$ git reset --hard\n" +"$ git am a.patch\n" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:460 -#, no-wrap -msgid "git-p4.password" +#. type: Plain text +#: en/git-format-patch.txt:391 +msgid "If it does not apply correctly, there can be various reasons." msgstr "" #. type: Plain text -#: en/git-p4.txt:464 +#: en/git-format-patch.txt:396 msgid "" -"Password specified as an option to all p4 commands, with '-P <password>'. " -"The environment variable 'P4PASS' can be used instead." +"The patch itself does not apply cleanly. That is _bad_ but does not have " +"much to do with your MUA. You might want to rebase the patch with " +"linkgit:git-rebase[1] before regenerating it in this case." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:465 -#, no-wrap -msgid "git-p4.port" +#. type: Plain text +#: en/git-format-patch.txt:401 +msgid "" +"The MUA corrupted your patch; \"am\" would complain that the patch does not " +"apply. Look in the .git/rebase-apply/ subdirectory and see what 'patch' " +"file contains and check for the common corruption patterns mentioned above." msgstr "" #. type: Plain text -#: en/git-p4.txt:469 +#: en/git-format-patch.txt:409 msgid "" -"Port specified as an option to all p4 commands, with '-p <port>'. The " -"environment variable 'P4PORT' can be used instead." +"While at it, check the 'info' and 'final-commit' files as well. If what is " +"in 'final-commit' is not exactly what you would want to see in the commit " +"log message, it is very likely that the receiver would end up hand editing " +"the log message when applying your patch. Things like \"Hi, this is my " +"first patch.\\n\" in the patch e-mail should come after the three-dash line " +"that signals the end of the commit message." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:470 +#. type: Title - +#: en/git-format-patch.txt:411 #, no-wrap -msgid "git-p4.host" +msgid "MUA-SPECIFIC HINTS" msgstr "" #. type: Plain text -#: en/git-p4.txt:474 +#: en/git-format-patch.txt:414 msgid "" -"Host specified as an option to all p4 commands, with '-h <host>'. The " -"environment variable 'P4HOST' can be used instead." +"Here are some hints on how to successfully submit patches inline using " +"various mailers." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:475 +#. type: Title ~ +#: en/git-format-patch.txt:416 #, no-wrap -msgid "git-p4.client" +msgid "GMail" msgstr "" #. type: Plain text -#: en/git-p4.txt:478 +#: en/git-format-patch.txt:422 msgid "" -"Client specified as an option to all p4 commands, with '-c <client>', " -"including the client spec." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:479 -#, no-wrap -msgid "git-p4.retries" +"GMail does not have any way to turn off line wrapping in the web interface, " +"so it will mangle any emails that you send. You can however use \"git " +"send-email\" and send your patches through the GMail SMTP server, or use any " +"IMAP email client to connect to the google IMAP server and forward the " +"emails through that." msgstr "" #. type: Plain text -#: en/git-p4.txt:484 +#: en/git-format-patch.txt:425 msgid "" -"Specifies the number of times to retry a p4 command (notably, 'p4 sync') if " -"the network times out. The default value is 3. Set the value to 0 to " -"disable retries or if your p4 version does not support retries (pre 2012.2)." +"For hints on using 'git send-email' to send your patches through the GMail " +"SMTP server, see the EXAMPLE section of linkgit:git-send-email[1]." +msgstr "" + +#. type: Plain text +#: en/git-format-patch.txt:428 +msgid "" +"For hints on submission using the IMAP interface, see the EXAMPLE section of " +"linkgit:git-imap-send[1]." msgstr "" #. type: Title ~ -#: en/git-p4.txt:486 +#: en/git-format-patch.txt:430 #, no-wrap -msgid "Clone and sync variables" +msgid "Thunderbird" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:487 -#, no-wrap -msgid "git-p4.syncFromOrigin" +#. type: Plain text +#: en/git-format-patch.txt:434 +msgid "" +"By default, Thunderbird will both wrap emails as well as flag them as being " +"'format=flowed', both of which will make the resulting email unusable by " +"Git." msgstr "" #. type: Plain text -#: en/git-p4.txt:493 +#: en/git-format-patch.txt:438 msgid "" -"Because importing commits from other Git repositories is much faster than " -"importing them from p4, a mechanism exists to find p4 changes first in Git " -"remotes. If branches exist under 'refs/remote/origin/p4', those will be " -"fetched and used when syncing from p4. This variable can be set to 'false' " -"to disable this behavior." +"There are three different approaches: use an add-on to turn off line wraps, " +"configure Thunderbird to not mangle patches, or use an external editor to " +"keep Thunderbird from mangling the patches." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:494 +#. type: Title ^ +#: en/git-format-patch.txt:440 #, no-wrap -msgid "git-p4.branchUser" +msgid "Approach #1 (add-on)" msgstr "" #. type: Plain text -#: en/git-p4.txt:499 +#: en/git-format-patch.txt:448 msgid "" -"One phase in branch detection involves looking at p4 branches to find new " -"ones to import. By default, all branches are inspected. This option limits " -"the search to just those owned by the single user named in the variable." +"Install the Toggle Word Wrap add-on that is available from " +"https://addons.mozilla.org/thunderbird/addon/toggle-word-wrap/ It adds a " +"menu entry \"Enable Word Wrap\" in the composer's \"Options\" menu that you " +"can tick off. Now you can compose the message as you otherwise do (cut + " +"paste, 'git format-patch' | 'git imap-send', etc), but you have to insert " +"line breaks manually in any text that you type." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:500 +#. type: Title ^ +#: en/git-format-patch.txt:450 #, no-wrap -msgid "git-p4.branchList" +msgid "Approach #2 (configuration)" msgstr "" #. type: Plain text -#: en/git-p4.txt:505 -msgid "" -"List of branches to be imported when branch detection is enabled. Each " -"entry should be a pair of branch names separated by a colon (:). This " -"example declares that both branchA and branchB were created from main:" +#: en/git-format-patch.txt:452 +msgid "Three steps:" msgstr "" -#. type: delimited block - -#: en/git-p4.txt:509 -#, no-wrap +#. type: Plain text +#: en/git-format-patch.txt:456 msgid "" -"git config git-p4.branchList main:branchA\n" -"git config --add git-p4.branchList main:branchB\n" +"Configure your mail server composition as plain text: Edit...Account " +"Settings...Composition & Addressing, uncheck \"Compose Messages in HTML\"." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:511 -#, no-wrap -msgid "git-p4.ignoredP4Labels" +#. type: Plain text +#: en/git-format-patch.txt:458 +msgid "Configure your general composition window to not wrap." msgstr "" #. type: Plain text -#: en/git-p4.txt:514 +#: en/git-format-patch.txt:461 msgid "" -"List of p4 labels to ignore. This is built automatically as unimportable " -"labels are discovered." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:515 -#, no-wrap -msgid "git-p4.importLabels" +"In Thunderbird 2: Edit..Preferences..Composition, wrap plain text messages " +"at 0" msgstr "" #. type: Plain text -#: en/git-p4.txt:517 -msgid "Import p4 labels into git, as per --import-labels." +#: en/git-format-patch.txt:467 +msgid "" +"In Thunderbird 3: Edit..Preferences..Advanced..Config Editor. Search for " +"\"mail.wrap_long_lines\". Toggle it to make sure it is set to " +"`false`. Also, search for \"mailnews.wraplength\" and set the value to 0." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:518 -#, no-wrap -msgid "git-p4.labelImportRegexp" +#. type: Plain text +#: en/git-format-patch.txt:472 +msgid "" +"Disable the use of format=flowed: Edit..Preferences..Advanced..Config " +"Editor. Search for \"mailnews.send_plaintext_flowed\". Toggle it to make " +"sure it is set to `false`." msgstr "" #. type: Plain text -#: en/git-p4.txt:521 +#: en/git-format-patch.txt:476 msgid "" -"Only p4 labels matching this regular expression will be imported. The " -"default value is '[a-zA-Z0-9_\\-.]+$'." +"After that is done, you should be able to compose email as you otherwise " +"would (cut + paste, 'git format-patch' | 'git imap-send', etc), and the " +"patches will not be mangled." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:522 +#. type: Title ^ +#: en/git-format-patch.txt:478 #, no-wrap -msgid "git-p4.useClientSpec" +msgid "Approach #3 (external editor)" msgstr "" #. type: Plain text -#: en/git-p4.txt:527 +#: en/git-format-patch.txt:483 msgid "" -"Specify that the p4 client spec should be used to identify p4 depot paths of " -"interest. This is equivalent to specifying the option `--use-client-spec`. " -"See the \"CLIENT SPEC\" section above. This variable is a boolean, not the " -"name of a p4 client." +"The following Thunderbird extensions are needed: AboutConfig from " +"http://aboutconfig.mozdev.org/ and External Editor from " +"http://globs.org/articles.php?lng=en&pg=8" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:528 -#, no-wrap -msgid "git-p4.pathEncoding" +#. type: Plain text +#: en/git-format-patch.txt:485 +msgid "Prepare the patch as a text file using your method of choice." msgstr "" #. type: Plain text -#: en/git-p4.txt:534 +#: en/git-format-patch.txt:490 msgid "" -"Perforce keeps the encoding of a path as given by the originating OS. Git " -"expects paths encoded as UTF-8. Use this config to tell git-p4 what encoding " -"Perforce had used for the paths. This encoding is used to transcode the " -"paths to UTF-8. As an example, Perforce on Windows often uses \"cp1252\" to " -"encode path names." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:535 -#, no-wrap -msgid "git-p4.largeFileSystem" +"Before opening a compose window, use Edit->Account Settings to uncheck the " +"\"Compose messages in HTML format\" setting in the \"Composition & " +"Addressing\" panel of the account to be used to send the patch." msgstr "" #. type: Plain text -#: en/git-p4.txt:541 +#: en/git-format-patch.txt:494 msgid "" -"Specify the system that is used for large (binary) files. Please note that " -"large file systems do not support the 'git p4 submit' command. Only Git LFS " -"is implemented right now (see https://git-lfs.github.com/ for more " -"information). Download and install the Git LFS command line extension to use " -"this option and configure it like this:" +"In the main Thunderbird window, 'before' you open the compose window for the " +"patch, use Tools->about:config to set the following to the indicated values:" msgstr "" #. type: delimited block - -#: en/git-p4.txt:544 +#: en/git-format-patch.txt:498 #, no-wrap -msgid "git config git-p4.largeFileSystem GitLFS\n" +msgid "" +"\tmailnews.send_plaintext_flowed => false\n" +"\tmailnews.wraplength => 0\n" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:546 -#, no-wrap -msgid "git-p4.largeFileExtensions" +#. type: Plain text +#: en/git-format-patch.txt:501 +msgid "Open a compose window and click the external editor icon." msgstr "" #. type: Plain text -#: en/git-p4.txt:549 +#: en/git-format-patch.txt:504 msgid "" -"All files matching a file extension in the list will be processed by the " -"large file system. Do not prefix the extensions with '.'." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:550 -#, no-wrap -msgid "git-p4.largeFileThreshold" +"In the external editor window, read in the patch file and exit the editor " +"normally." msgstr "" #. type: Plain text -#: en/git-p4.txt:554 +#: en/git-format-patch.txt:507 msgid "" -"All files with an uncompressed size exceeding the threshold will be " -"processed by the large file system. By default the threshold is defined in " -"bytes. Add the suffix k, m, or g to change the unit." +"Side note: it may be possible to do step 2 with about:config and the " +"following settings but no one's tried yet." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:555 +#. type: delimited block - +#: en/git-format-patch.txt:512 #, no-wrap -msgid "git-p4.largeFileCompressedThreshold" +msgid "" +"\tmail.html_compose => false\n" +"\tmail.identity.default.compose_html => false\n" +"\tmail.identity.id?.compose_html => false\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:560 +#: en/git-format-patch.txt:517 msgid "" -"All files with a compressed size exceeding the threshold will be processed " -"by the large file system. This option might slow down your clone/sync " -"process. By default the threshold is defined in bytes. Add the suffix k, m, " -"or g to change the unit." +"There is a script in contrib/thunderbird-patch-inline which can help you " +"include patches with Thunderbird in an easy way. To use it, do the steps " +"above and then use the script as the external editor." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:561 +#. type: Title ~ +#: en/git-format-patch.txt:519 #, no-wrap -msgid "git-p4.largeFilePush" +msgid "KMail" msgstr "" #. type: Plain text -#: en/git-p4.txt:564 -msgid "" -"Boolean variable which defines if large files are automatically pushed to a " -"server." +#: en/git-format-patch.txt:521 +msgid "This should help you to submit patches inline using KMail." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:565 -#, no-wrap -msgid "git-p4.keepEmptyCommits" +#. type: Plain text +#: en/git-format-patch.txt:523 +msgid "Prepare the patch as a text file." msgstr "" #. type: Plain text -#: en/git-p4.txt:568 +#: en/git-format-patch.txt:525 +msgid "Click on New Mail." +msgstr "" + +#. type: Plain text +#: en/git-format-patch.txt:528 msgid "" -"A changelist that contains only excluded files will be imported as an empty " -"commit if this boolean option is set to true." +"Go under \"Options\" in the Composer window and be sure that \"Word wrap\" " +"is not set." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:569 -#, no-wrap -msgid "git-p4.mapUser" +#. type: Plain text +#: en/git-format-patch.txt:530 +msgid "Use Message -> Insert file... and insert the patch." msgstr "" #. type: Plain text -#: en/git-p4.txt:572 +#: en/git-format-patch.txt:533 msgid "" -"Map a P4 user to a name and email address in Git. Use a string with the " -"following format to create a mapping:" +"Back in the compose window: add whatever other text you wish to the message, " +"complete the addressing and subject fields, and press send." msgstr "" -#. type: delimited block - -#: en/git-p4.txt:575 +#. type: Title - +#: en/git-format-patch.txt:535 #, no-wrap -msgid "git config --add git-p4.mapUser \"p4user = First Last <mail@address.com>\"\n" +msgid "BASE TREE INFORMATION" msgstr "" #. type: Plain text -#: en/git-p4.txt:579 +#: en/git-format-patch.txt:544 msgid "" -"A mapping will override any user information from P4. Mappings for multiple " -"P4 user can be defined." -msgstr "" - -#. type: Title ~ -#: en/git-p4.txt:581 -#, no-wrap -msgid "Submit variables" +"The base tree information block is used for maintainers or third party " +"testers to know the exact state the patch series applies to. It consists of " +"the 'base commit', which is a well-known commit that is part of the stable " +"part of the project history everybody else works off of, and zero or more " +"'prerequisite patches', which are well-known patches in flight that is not " +"yet part of the 'base commit' that need to be applied on top of 'base " +"commit' in topological order before the patches can be applied." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:582 -#, no-wrap -msgid "git-p4.detectRenames" +#. type: Plain text +#: en/git-format-patch.txt:550 +msgid "" +"The 'base commit' is shown as \"base-commit: \" followed by the 40-hex of " +"the commit object name. A 'prerequisite patch' is shown as " +"\"prerequisite-patch-id: \" followed by the 40-hex 'patch id', which can be " +"obtained by passing the patch through the `git patch-id --stable` command." msgstr "" #. type: Plain text -#: en/git-p4.txt:585 +#: en/git-format-patch.txt:554 msgid "" -"Detect renames. See linkgit:git-diff[1]. This can be true, false, or a " -"score as expected by 'git diff -M'." +"Imagine that on top of the public commit P, you applied well-known patches " +"X, Y and Z from somebody else, and then built your three-patch series A, B, " +"C, the history would be like:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:586 +#. type: delimited block . +#: en/git-format-patch.txt:557 #, no-wrap -msgid "git-p4.detectCopies" +msgid "---P---X---Y---Z---A---B---C\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:589 +#: en/git-format-patch.txt:564 msgid "" -"Detect copies. See linkgit:git-diff[1]. This can be true, false, or a " -"score as expected by 'git diff -C'." +"With `git format-patch --base=P -3 C` (or variants thereof, e.g. with " +"`--cover-letter` of using `Z..C` instead of `-3 C` to specify the range), " +"the base tree information block is shown at the end of the first message the " +"command outputs (either the first patch, or the cover letter), like this:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:590 +#. type: delimited block - +#: en/git-format-patch.txt:570 #, no-wrap -msgid "git-p4.detectCopiesHarder" +msgid "" +"base-commit: P\n" +"prerequisite-patch-id: X\n" +"prerequisite-patch-id: Y\n" +"prerequisite-patch-id: Z\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:592 -msgid "Detect copies harder. See linkgit:git-diff[1]. A boolean." +#: en/git-format-patch.txt:573 +msgid "For non-linear topology, such as" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:593 +#. type: delimited block . +#: en/git-format-patch.txt:578 #, no-wrap -msgid "git-p4.preserveUser" +msgid "" +"---P---X---A---M---C\n" +" \\ /\n" +" Y---Z---B\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:596 +#: en/git-format-patch.txt:583 msgid "" -"On submit, re-author changes to reflect the Git author, regardless of who " -"invokes 'git p4 submit'." +"You can also use `git format-patch --base=P -3 C` to generate patches for A, " +"B and C, and the identifiers for P, X, Y, Z are appended at the end of the " +"first message." msgstr "" -#. type: Labeled list -#: en/git-p4.txt:597 -#, no-wrap -msgid "git-p4.allowMissingP4Users" +#. type: Plain text +#: en/git-format-patch.txt:589 +msgid "" +"If set `--base=auto` in cmdline, it will track base commit automatically, " +"the base commit will be the merge base of tip commit of the remote-tracking " +"branch and revision-range specified in cmdline. For a local branch, you " +"need to track a remote branch by `git branch --set-upstream-to` before using " +"this option." msgstr "" #. type: Plain text -#: en/git-p4.txt:601 +#: en/git-format-patch.txt:595 msgid "" -"When 'preserveUser' is true, 'git p4' normally dies if it cannot find an " -"author in the p4 user map. This setting submits the change regardless." +"Extract commits between revisions R1 and R2, and apply them on top of the " +"current branch using 'git am' to cherry-pick them:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:602 +#. type: delimited block - +#: en/git-format-patch.txt:598 #, no-wrap -msgid "git-p4.skipSubmitEdit" +msgid "$ git format-patch -k --stdout R1..R2 | git am -3 -k\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:606 +#: en/git-format-patch.txt:602 msgid "" -"The submit process invokes the editor before each p4 change is submitted. " -"If this setting is true, though, the editing step is skipped." +"Extract all commits which are in the current branch but not in the origin " +"branch:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:607 +#. type: delimited block - +#: en/git-format-patch.txt:605 #, no-wrap -msgid "git-p4.skipSubmitEditCheck" +msgid "$ git format-patch origin\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:611 +#: en/git-format-patch.txt:608 +msgid "For each commit a separate file is created in the current directory." +msgstr "" + +#. type: Plain text +#: en/git-format-patch.txt:611 msgid "" -"After editing the p4 change message, 'git p4' makes sure that the " -"description really was changed by looking at the file modification time. " -"This option disables that test." +"Extract all commits that lead to 'origin' since the inception of the " +"project:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:612 +#. type: delimited block - +#: en/git-format-patch.txt:614 #, no-wrap -msgid "git-p4.allowSubmit" +msgid "$ git format-patch --root origin\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:618 -msgid "" -"By default, any branch can be used as the source for a 'git p4 submit' " -"operation. This configuration variable, if set, permits only the named " -"branches to be used as submit sources. Branch names must be the short names " -"(no \"refs/heads/\"), and should be separated by commas (\",\"), with no " -"spaces." +#: en/git-format-patch.txt:617 +msgid "The same as the previous one:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:619 +#. type: delimited block - +#: en/git-format-patch.txt:620 #, no-wrap -msgid "git-p4.skipUserNameCheck" +msgid "$ git format-patch -M -B origin\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:623 +#: en/git-format-patch.txt:627 msgid "" -"If the user running 'git p4 submit' does not exist in the p4 user map, 'git " -"p4' exits. This option can be used to force submission regardless." -msgstr "" - -#. type: Labeled list -#: en/git-p4.txt:624 -#, no-wrap -msgid "git-p4.attemptRCSCleanup" +"Additionally, it detects and handles renames and complete rewrites " +"intelligently to produce a renaming patch. A renaming patch reduces the " +"amount of text output, and generally makes it easier to review. Note that " +"non-Git \"patch\" programs won't understand renaming patches, so use it only " +"when you know the recipient uses Git to apply your patch." msgstr "" #. type: Plain text -#: en/git-p4.txt:629 +#: en/git-format-patch.txt:630 msgid "" -"If enabled, 'git p4 submit' will attempt to cleanup RCS keywords ($Header$, " -"etc). These would otherwise cause merge conflicts and prevent the submit " -"going ahead. This option should be considered experimental at present." +"Extract three topmost commits from the current branch and format them as " +"e-mailable patches:" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:630 +#. type: delimited block - +#: en/git-format-patch.txt:633 #, no-wrap -msgid "git-p4.exportLabels" +msgid "$ git format-patch -3\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:632 -msgid "Export Git tags to p4 labels, as per --export-labels." +#: en/git-format-patch.txt:638 +msgid "linkgit:git-am[1], linkgit:git-send-email[1]" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:633 +#. type: Title = +#: en/git-fsck-objects.txt:2 #, no-wrap -msgid "git-p4.labelExportRegexp" +msgid "git-fsck-objects(1)" msgstr "" #. type: Plain text -#: en/git-p4.txt:636 +#: en/git-fsck-objects.txt:7 msgid "" -"Only p4 labels matching this regular expression will be exported. The " -"default value is '[a-zA-Z0-9_\\-.]+$'." +"git-fsck-objects - Verifies the connectivity and validity of the objects in " +"the database" msgstr "" -#. type: Labeled list -#: en/git-p4.txt:637 +#. type: Plain text +#: en/git-fsck-objects.txt:13 #, no-wrap -msgid "git-p4.conflict" +msgid "'git fsck-objects' ...\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:640 +#: en/git-fsck-objects.txt:19 msgid "" -"Specify submit behavior when a conflict with p4 is found, as per " -"--conflict. The default behavior is 'ask'." +"This is a synonym for linkgit:git-fsck[1]. Please refer to the " +"documentation of that command." msgstr "" -#. type: Title - -#: en/git-p4.txt:642 +#. type: Title = +#: en/git-fsck.txt:2 #, no-wrap -msgid "IMPLEMENTATION DETAILS" +msgid "git-fsck(1)" msgstr "" #. type: Plain text -#: en/git-p4.txt:644 -msgid "Changesets from p4 are imported using Git fast-import." +#: en/git-fsck.txt:7 +msgid "" +"git-fsck - Verifies the connectivity and validity of the objects in the " +"database" msgstr "" #. type: Plain text -#: en/git-p4.txt:646 +#: en/git-fsck.txt:16 +#, no-wrap msgid "" -"Cloning or syncing does not require a p4 client; file contents are collected " -"using 'p4 print'." +"'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n" +"\t [--[no-]full] [--strict] [--verbose] [--lost-found]\n" +"\t [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n" +"\t [--[no-]name-objects] [<object>*]\n" msgstr "" #. type: Plain text -#: en/git-p4.txt:649 -msgid "" -"Submitting requires a p4 client, which is not in the same location as the " -"Git repository. Patches are applied, one at a time, to this p4 client and " -"submitted from there." +#: en/git-fsck.txt:25 +msgid "An object to treat as the head of an unreachability trace." msgstr "" #. type: Plain text -#: en/git-p4.txt:652 +#: en/git-fsck.txt:29 msgid "" -"Each commit imported by 'git p4' has a line at the end of the log message " -"indicating the p4 depot location and change number. This line is used by " -"later 'git p4 sync' operations to know which p4 changes are new." -msgstr "" - -#. type: Title = -#: en/git-pack-objects.txt:2 -#, no-wrap -msgid "git-pack-objects(1)" -msgstr "" - -#. type: Plain text -#: en/git-pack-objects.txt:7 -msgid "git-pack-objects - Create a packed archive of objects" +"If no objects are given, 'git fsck' defaults to using the index file, all " +"SHA-1 references in `refs` namespace, and all reflogs (unless --no-reflogs " +"is given) as heads." msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:17 +#. type: Labeled list +#: en/git-fsck.txt:30 #, no-wrap -msgid "" -"'git pack-objects' [-q | --progress | --all-progress] " -"[--all-progress-implied]\n" -"\t[--no-reuse-delta] [--delta-base-offset] [--non-empty]\n" -"\t[--local] [--incremental] [--window=<n>] [--depth=<n>]\n" -"\t[--revs [--unpacked | --all]] [--stdout | base-name]\n" -"\t[--shallow] [--keep-true-parents] < object-list\n" +msgid "--unreachable" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:23 +#: en/git-fsck.txt:33 msgid "" -"Reads list of objects from the standard input, and writes a packed archive " -"with specified base-name, or to the standard output." +"Print out objects that exist but that aren't reachable from any of the " +"reference nodes." msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:29 -msgid "" -"A packed archive is an efficient way to transfer a set of objects between " -"two repositories as well as an access efficient archival format. In a " -"packed archive, an object is either stored as a compressed whole or as a " -"difference from some other object. The latter is often called a delta." +#. type: Labeled list +#: en/git-fsck.txt:34 +#, no-wrap +msgid "--[no-]dangling" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:33 +#: en/git-fsck.txt:37 msgid "" -"The packed archive format (.pack) is designed to be self-contained so that " -"it can be unpacked without any further information. Therefore, each object " -"that a delta depends upon must be present within the pack." +"Print objects that exist but that are never 'directly' used (default). " +"`--no-dangling` can be used to omit this information from the output." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:39 -msgid "" -"A pack index file (.idx) is generated for fast, random access to the objects " -"in the pack. Placing both the index file (.idx) and the packed archive " -"(.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or any of the " -"directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES) enables Git to read from " -"the pack archive." +#: en/git-fsck.txt:40 +msgid "Report root nodes." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:45 -msgid "" -"The 'git unpack-objects' command can read the packed archive and expand the " -"objects contained in the pack into \"one-file one-object\" format; this is " -"typically done by the smart-pull commands when a pack is created on-the-fly " -"for efficient network transport by their peers." +#: en/git-fsck.txt:43 +msgid "Report tags." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:49 +#: en/git-fsck.txt:44 #, no-wrap -msgid "base-name" -msgstr "" - -#. type: Plain text -#: en/git-pack-objects.txt:56 -msgid "" -"Write into a pair of files (.pack and .idx), using <base-name> to determine " -"the name of the created file. When this option is used, the two files are " -"written in <base-name>-<SHA-1>.{pack,idx} files. <SHA-1> is a hash based on " -"the pack content and is written to the standard output of the command." +msgid "--cache" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:60 +#: en/git-fsck.txt:47 msgid "" -"Write the pack contents (what would have been written to .pack file) out to " -"the standard output." +"Consider any object recorded in the index also as a head node for an " +"unreachability trace." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:61 +#: en/git-fsck.txt:48 #, no-wrap -msgid "--revs" +msgid "--no-reflogs" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:69 +#: en/git-fsck.txt:53 msgid "" -"Read the revision arguments from the standard input, instead of individual " -"object names. The revision arguments are processed the same way as 'git " -"rev-list' with the `--objects` flag uses its `commit` arguments to build the " -"list of objects it outputs. The objects on the resulting list are packed. " -"Besides revisions, `--not` or `--shallow <SHA-1>` lines are also accepted." +"Do not consider commits that are referenced only by an entry in a reflog to " +"be reachable. This option is meant only to search for commits that used to " +"be in a ref, but now aren't, but are still in that corresponding reflog." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:70 en/rev-list-options.txt:693 +#: en/git-fsck.txt:54 #, no-wrap -msgid "--unpacked" -msgstr "" - -#. type: Plain text -#: en/git-pack-objects.txt:74 -msgid "" -"This implies `--revs`. When processing the list of revision arguments read " -"from the standard input, limit the objects packed to those that are not " -"already packed." -msgstr "" - -#. type: Plain text -#: en/git-pack-objects.txt:80 -msgid "" -"This implies `--revs`. In addition to the list of revision arguments read " -"from the standard input, pretend as if all refs under `refs/` are specified " -"to be included." +msgid "--full" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:85 +#: en/git-fsck.txt:63 msgid "" -"Include unasked-for annotated tags if the object they reference was included " -"in the resulting packfile. This can be useful to send new tags to native " -"Git clients." +"Check not just objects in GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), but also " +"the ones found in alternate object pools listed in " +"GIT_ALTERNATE_OBJECT_DIRECTORIES or $GIT_DIR/objects/info/alternates, and in " +"packed Git archives found in $GIT_DIR/objects/pack and corresponding pack " +"subdirectories in alternate object pools. This is now default; you can turn " +"it off with --no-full." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:86 en/git-repack.txt:84 +#: en/git-fsck.txt:64 #, no-wrap -msgid "--window=<n>" +msgid "--connectivity-only" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:98 +#: en/git-fsck.txt:68 msgid "" -"These two options affect how the objects contained in the pack are stored " -"using delta compression. The objects are first internally sorted by type, " -"size and optionally names and compared against the other objects within " -"--window to see if using delta compression saves space. --depth limits the " -"maximum delta depth; making it too deep affects the performance on the " -"unpacker side, because delta data needs to be applied that many times to get " -"to the necessary object. The default value for --window is 10 and --depth " -"is 50." +"Check only the connectivity of tags, commits and tree objects. By avoiding " +"to unpack blobs, this speeds up the operation, at the expense of missing " +"corrupt objects or other problematic issues." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:99 en/git-repack.txt:95 +#: en/git-fsck.txt:69 en/git-index-pack.txt:74 en/git-unpack-objects.txt:44 #, no-wrap -msgid "--window-memory=<n>" +msgid "--strict" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:109 +#: en/git-fsck.txt:76 msgid "" -"This option provides an additional limit on top of `--window`; the window " -"size will dynamically scale down so as to not take up more than '<n>' bytes " -"in memory. This is useful in repositories with a mix of large and small " -"objects to not run out of memory with a large window, but still be able to " -"take advantage of the large window for the smaller objects. The size can be " -"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " -"usage unlimited. The default is taken from the `pack.windowMemory` " -"configuration variable." +"Enable more strict checking, namely to catch a file mode recorded with g+w " +"bit set, which was created by older versions of Git. Existing repositories, " +"including the Linux kernel, Git itself, and sparse repository have old " +"objects that triggers this check, but it is recommended to check new " +"projects with this flag." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:117 en/git-repack.txt:115 -msgid "" -"Maximum size of each output pack file. The size can be suffixed with \"k\", " -"\"m\", or \"g\". The minimum size allowed is limited to 1 MiB. If " -"specified, multiple packfiles may be created, which also prevents the " -"creation of a bitmap index. The default is unlimited, unless the config " -"variable `pack.packSizeLimit` is set." +#: en/git-fsck.txt:79 +msgid "Be chatty." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:118 +#: en/git-fsck.txt:80 #, no-wrap -msgid "--honor-pack-keep" +msgid "--lost-found" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:122 +#: en/git-fsck.txt:85 msgid "" -"This flag causes an object already in a local pack that has a .keep file to " -"be ignored, even if it would have otherwise been packed." +"Write dangling objects into .git/lost-found/commit/ or " +".git/lost-found/other/, depending on type. If the object is a blob, the " +"contents are written into the file, rather than its object name." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:123 en/git-svn.txt:357 en/blame-options.txt:48 +#: en/git-fsck.txt:86 #, no-wrap -msgid "--incremental" +msgid "--name-objects" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:126 +#: en/git-fsck.txt:91 msgid "" -"This flag causes an object already in a pack to be ignored even if it would " -"have otherwise been packed." +"When displaying names of reachable objects, in addition to the SHA-1 also " +"display a name that describes *how* they are reachable, compatible with " +"linkgit:git-rev-parse[1], e.g. `HEAD@{1234567890}~25^2:src/`." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:131 +#: en/git-fsck.txt:98 msgid "" -"This flag causes an object that is borrowed from an alternate object store " -"to be ignored even if it would have otherwise been packed." -msgstr "" - -#. type: Labeled list -#: en/git-pack-objects.txt:132 -#, no-wrap -msgid "--non-empty" +"Progress status is reported on the standard error stream by default when it " +"is attached to a terminal, unless --no-progress or --verbose is " +"specified. --progress forces progress status even if the standard error " +"stream is not directed to a terminal." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:135 -msgid "Only create a packed archive if it would contain at least one object." -msgstr "" - -#. type: Labeled list -#: en/git-pack-objects.txt:142 -#, no-wrap -msgid "--all-progress" +#: en/git-fsck.txt:108 +msgid "" +"git-fsck tests SHA-1 and general object sanity, and it does full tracking of " +"the resulting reachability and everything else. It prints out any corruption " +"it finds (missing or bad objects), and if you use the `--unreachable` flag " +"it will also print out objects that exist but that aren't reachable from any " +"of the specified head nodes (or the default set, as mentioned above)." msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:152 +#: en/git-fsck.txt:112 msgid "" -"When --stdout is specified then progress report is displayed during the " -"object count and compression phases but inhibited during the write-out " -"phase. The reason is that in some cases the output stream is directly linked " -"to another command which may wish to display progress status of its own as " -"it processes incoming pack data. This flag is like --progress except that " -"it forces progress report for the write-out phase as well even if --stdout " -"is used." +"Any corrupt objects you will have to find in backups or other archives " +"(i.e., you can just remove them and do an 'rsync' with some other site in " +"the hopes that somebody else has the object you have corrupted)." msgstr "" -#. type: Labeled list -#: en/git-pack-objects.txt:153 +#. type: Title - +#: en/git-fsck.txt:114 #, no-wrap -msgid "--all-progress-implied" +msgid "Extracted Diagnostics" msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:157 -msgid "" -"This is used to imply --all-progress whenever progress display is " -"activated. Unlike --all-progress this flag doesn't actually force any " -"progress display by itself." +#. type: Labeled list +#: en/git-fsck.txt:116 +#, no-wrap +msgid "expect dangling commits - potential heads - due to lack of head information" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:161 +#: en/git-fsck.txt:120 msgid "" -"This flag makes the command not to report its progress on the standard error " -"stream." +"You haven't specified any nodes as heads so it won't be possible to " +"differentiate between un-parented commits and root nodes." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:162 +#: en/git-fsck.txt:121 #, no-wrap -msgid "--no-reuse-delta" +msgid "missing sha1 directory '<dir>'" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:168 -msgid "" -"When creating a packed archive in a repository that has existing packs, the " -"command reuses existing deltas. This sometimes results in a slightly " -"suboptimal pack. This flag tells the command not to reuse existing deltas " -"but compute them from scratch." +#: en/git-fsck.txt:123 +msgid "The directory holding the sha1 objects is missing." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:169 +#: en/git-fsck.txt:124 #, no-wrap -msgid "--no-reuse-object" +msgid "unreachable <type> <object>" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:175 +#: en/git-fsck.txt:131 msgid "" -"This flag tells the command not to reuse existing object data at all, " -"including non deltified object, forcing recompression of everything. This " -"implies --no-reuse-delta. Useful only in the obscure case where wholesale " -"enforcement of a different compression level on the packed data is desired." +"The <type> object <object>, isn't actually referred to directly or " +"indirectly in any of the trees or commits seen. This can mean that there's " +"another root node that you're not specifying or that the tree is corrupt. If " +"you haven't missed a root node then you might as well delete unreachable " +"nodes since they can't be used." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:176 +#: en/git-fsck.txt:132 #, no-wrap -msgid "--compression=<n>" +msgid "missing <type> <object>" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:183 +#: en/git-fsck.txt:135 msgid "" -"Specifies compression level for newly-compressed data in the generated " -"pack. If not specified, pack compression level is determined first by " -"pack.compression, then by core.compression, and defaults to -1, the zlib " -"default, if neither is set. Add --no-reuse-object if you want to force a " -"uniform compression level on all data no matter the source." +"The <type> object <object>, is referred to but isn't present in the " +"database." msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:188 -msgid "" -"Create a \"thin\" pack by omitting the common objects between a sender and a " -"receiver in order to reduce network transfer. This option only makes sense " -"in conjunction with --stdout." +#. type: Labeled list +#: en/git-fsck.txt:136 +#, no-wrap +msgid "dangling <type> <object>" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:193 +#: en/git-fsck.txt:139 msgid "" -"Note: A thin pack violates the packed archive format by omitting required " -"objects and is thus unusable by Git without making it self-contained. Use " -"`git index-pack --fix-thin` (see linkgit:git-index-pack[1]) to restore the " -"self-contained property." +"The <type> object <object>, is present in the database but never 'directly' " +"used. A dangling commit could be a root node." msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:194 +#: en/git-fsck.txt:140 #, no-wrap -msgid "--shallow" +msgid "sha1 mismatch <object>" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:198 +#: en/git-fsck.txt:144 msgid "" -"Optimize a pack that will be provided to a client with a shallow " -"repository. This option, combined with --thin, can result in a smaller pack " -"at the cost of speed." +"The database has an object who's sha1 doesn't match the database value. " +"This indicates a serious data integrity problem." +msgstr "" + +#. type: Title - +#: en/git-fsck.txt:146 en/git.txt:849 +#, no-wrap +msgid "Environment Variables" msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:199 +#: en/git-fsck.txt:148 #, no-wrap -msgid "--delta-base-offset" +msgid "GIT_OBJECT_DIRECTORY" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:209 -msgid "" -"A packed archive can express the base object of a delta as either a 20-byte " -"object name or as an offset in the stream, but ancient versions of Git don't " -"understand the latter. By default, 'git pack-objects' only uses the former " -"format for better compatibility. This option allows the command to use the " -"latter format for compactness. Depending on the average delta chain length, " -"this option typically shrinks the resulting packfile by 3-5 per-cent." +#: en/git-fsck.txt:150 +msgid "used to specify the object database root (usually $GIT_DIR/objects)" msgstr "" -#. type: Plain text -#: en/git-pack-objects.txt:214 -msgid "" -"Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]), `git " -"repack` (see linkgit:git-repack[1]) pass this option by default in modern " -"Git when they put objects in your repository into pack files. So does `git " -"bundle` (see linkgit:git-bundle[1]) when it creates a bundle." +#. type: Labeled list +#: en/git-fsck.txt:151 +#, no-wrap +msgid "GIT_INDEX_FILE" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:224 -msgid "" -"Specifies the number of threads to spawn when searching for best delta " -"matches. This requires that pack-objects be compiled with pthreads " -"otherwise this option is ignored with a warning. This is meant to reduce " -"packing time on multiprocessor machines. The required amount of memory for " -"the delta search window is however multiplied by the number of threads. " -"Specifying 0 will cause Git to auto-detect the number of CPU's and set the " -"number of threads accordingly." +#: en/git-fsck.txt:153 +msgid "used to specify the index file of the index" msgstr "" #. type: Labeled list -#: en/git-pack-objects.txt:230 +#: en/git-fsck.txt:154 #, no-wrap -msgid "--keep-true-parents" -msgstr "" - -#. type: Plain text -#: en/git-pack-objects.txt:233 -msgid "With this option, parents that are hidden by grafts are packed nevertheless." +msgid "GIT_ALTERNATE_OBJECT_DIRECTORIES" msgstr "" #. type: Plain text -#: en/git-pack-objects.txt:239 -msgid "linkgit:git-rev-list[1] linkgit:git-repack[1] linkgit:git-prune-packed[1]" +#: en/git-fsck.txt:156 +msgid "used to specify additional object database roots (usually unset)" msgstr "" #. type: Title = -#: en/git-pack-redundant.txt:2 +#: en/git-gc.txt:2 #, no-wrap -msgid "git-pack-redundant(1)" +msgid "git-gc(1)" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:7 -msgid "git-pack-redundant - Find redundant pack files" +#: en/git-gc.txt:7 +msgid "git-gc - Cleanup unnecessary files and optimize the local repository" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:13 +#: en/git-gc.txt:13 #, no-wrap msgid "" -"'git pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename " -"... >\n" +"'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune] " +"[--force]\n" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:19 +#: en/git-gc.txt:20 msgid "" -"This program computes which packs in your repository are redundant. The " -"output is suitable for piping to `xargs rm` if you are in the root of the " -"repository." +"Runs a number of housekeeping tasks within the current repository, such as " +"compressing file revisions (to reduce disk space and increase performance) " +"and removing unreachable objects which may have been created from prior " +"invocations of 'git add'." msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:24 +#: en/git-gc.txt:24 msgid "" -"'git pack-redundant' accepts a list of objects on standard input. Any " -"objects given will be ignored when checking which packs are required. This " -"makes the following command useful when wanting to remove packs which " -"contain unreachable objects." +"Users are encouraged to run this task on a regular basis within each " +"repository to maintain good disk space utilization and good operating " +"performance." msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:27 +#: en/git-gc.txt:28 msgid "" -"git fsck --full --unreachable | cut -d ' ' -f3 | \\ git pack-redundant --all " -"| xargs rm" +"Some git commands may automatically run 'git gc'; see the `--auto` flag " +"below for details. If you know what you're doing and all you want is to " +"disable this behavior permanently without further considerations, just do:" +msgstr "" + +#. type: delimited block - +#: en/git-gc.txt:31 +#, no-wrap +msgid "$ git config --global gc.auto 0\n" +msgstr "" + +#. type: Labeled list +#: en/git-gc.txt:36 en/git-read-tree.txt:71 +#, no-wrap +msgid "--aggressive" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:34 -msgid "Processes all packs. Any filenames on the command line are ignored." +#: en/git-gc.txt:43 +msgid "" +"Usually 'git gc' runs very quickly while providing good disk space " +"utilization and performance. This option will cause 'git gc' to more " +"aggressively optimize the repository at the expense of taking much more " +"time. The effects of this optimization are persistent, so this option only " +"needs to be used occasionally; every few hundred changesets or so." msgstr "" #. type: Labeled list -#: en/git-pack-redundant.txt:35 +#: en/git-gc.txt:44 #, no-wrap -msgid "--alt-odb" +msgid "--auto" msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:38 +#: en/git-gc.txt:49 msgid "" -"Don't require objects present in packs from alternate object directories to " -"be present in local packs." +"With this option, 'git gc' checks whether any housekeeping is required; if " +"not, it exits without performing any work. Some git commands run `git gc " +"--auto` after performing operations that could create many loose objects." msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:41 -msgid "Outputs some statistics to stderr. Has a small performance penalty." +#: en/git-gc.txt:56 +msgid "" +"Housekeeping is required if there are too many loose objects or too many " +"packs in the repository. If the number of loose objects exceeds the value of " +"the `gc.auto` configuration variable, then all loose objects are combined " +"into a single pack using `git repack -d -l`. Setting the value of `gc.auto` " +"to 0 disables automatic packing of loose objects." msgstr "" #. type: Plain text -#: en/git-pack-redundant.txt:47 +#: en/git-gc.txt:62 msgid "" -"linkgit:git-pack-objects[1] linkgit:git-repack[1] " -"linkgit:git-prune-packed[1]" +"If the number of packs exceeds the value of `gc.autoPackLimit`, then " +"existing packs (except those marked with a `.keep` file) are consolidated " +"into a single pack by using the `-A` option of 'git repack'. Setting " +"`gc.autoPackLimit` to 0 disables automatic consolidation of packs." msgstr "" -#. type: Title = -#: en/git-pack-refs.txt:2 +#. type: Labeled list +#: en/git-gc.txt:63 #, no-wrap -msgid "git-pack-refs(1)" +msgid "--prune=<date>" msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:7 -msgid "git-pack-refs - Pack heads and tags for efficient repository access" +#: en/git-gc.txt:70 +msgid "" +"Prune loose objects older than date (default is 2 weeks ago, overridable by " +"the config variable `gc.pruneExpire`). --prune=all prunes loose objects " +"regardless of their age and increases the risk of corruption if another " +"process is writing to the repository concurrently; see \"NOTES\" " +"below. --prune is on by default." msgstr "" -#. type: Plain text -#: en/git-pack-refs.txt:12 +#. type: Labeled list +#: en/git-gc.txt:71 en/git-pack-refs.txt:57 #, no-wrap -msgid "'git pack-refs' [--all] [--no-prune]\n" +msgid "--no-prune" msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:24 -msgid "" -"Traditionally, tips of branches and tags (collectively known as 'refs') were " -"stored one file per ref in a (sub)directory under `$GIT_DIR/refs` " -"directory. While many branch tips tend to be updated often, most tags and " -"some branch tips are never updated. When a repository has hundreds or " -"thousands of tags, this one-file-per-ref format both wastes storage and " -"hurts performance." +#: en/git-gc.txt:73 +msgid "Do not prune any loose objects." msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:31 -msgid "" -"This command is used to solve the storage and performance problem by storing " -"the refs in a single file, `$GIT_DIR/packed-refs`. When a ref is missing " -"from the traditional `$GIT_DIR/refs` directory hierarchy, it is looked up in " -"this file and used if found." +#: en/git-gc.txt:76 +msgid "Suppress all progress reports." msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:34 +#: en/git-gc.txt:80 msgid "" -"Subsequent updates to branches always create new files under `$GIT_DIR/refs` " -"directory hierarchy." -msgstr "" - -#. type: Plain text -#: en/git-pack-refs.txt:43 -msgid "" -"A recommended practice to deal with a repository with too many refs is to " -"pack its refs with `--all` once, and occasionally run `git pack-refs`. Tags " -"are by definition stationary and are not expected to change. Branch heads " -"will be packed with the initial `pack-refs --all`, but only the currently " -"active branch heads will become unpacked, and the next `pack-refs` (without " -"`--all`) will leave them unpacked." +"Force `git gc` to run even if there may be another `git gc` instance running " +"on this repository." msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:56 +#: en/git-gc.txt:89 msgid "" -"The command by default packs all tags and refs that are already packed, and " -"leaves other refs alone. This is because branches are expected to be " -"actively developed and packing their tips does not help performance. This " -"option causes branch tips to be packed as well. Useful for a repository " -"with many branches of historical interests." +"The optional configuration variable `gc.reflogExpire` can be set to indicate " +"how long historical entries within each branch's reflog should remain " +"available in this repository. The setting is expressed as a length of time, " +"for example '90 days' or '3 months'. It defaults to '90 days'." msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:61 +#: en/git-gc.txt:98 msgid "" -"The command usually removes loose refs under `$GIT_DIR/refs` hierarchy after " -"packing them. This option tells it not to." +"The optional configuration variable `gc.reflogExpireUnreachable` can be set " +"to indicate how long historical reflog entries which are not part of the " +"current branch should remain available in this repository. These types of " +"entries are generally created as a result of using `git commit --amend` or " +"`git rebase` and are the commits prior to the amend or rebase occurring. " +"Since these changes are not part of the current project most users will want " +"to expire them sooner. This option defaults to '30 days'." msgstr "" #. type: Plain text -#: en/git-pack-refs.txt:69 +#: en/git-gc.txt:102 msgid "" -"Older documentation written before the packed-refs mechanism was introduced " -"may still say things like \".git/refs/heads/<branch> file exists\" when it " -"means \"branch <branch> exists\"." +"The above two configuration variables can be given to a pattern. For " +"example, this sets non-default expiry values only to remote-tracking " +"branches:" msgstr "" -#. type: Title = -#: en/git-parse-remote.txt:2 +#. type: delimited block - +#: en/git-gc.txt:107 #, no-wrap -msgid "git-parse-remote(1)" +msgid "" +"[gc \"refs/remotes/*\"]\n" +"\treflogExpire = never\n" +"\treflogExpireUnreachable = 3 days\n" msgstr "" #. type: Plain text -#: en/git-parse-remote.txt:7 +#: en/git-gc.txt:112 msgid "" -"git-parse-remote - Routines to help parsing remote repository access " -"parameters" +"The optional configuration variable `gc.rerereResolved` indicates how long " +"records of conflicted merge you resolved earlier are kept. This defaults to " +"60 days." msgstr "" #. type: Plain text -#: en/git-parse-remote.txt:13 -#, no-wrap -msgid "'. \"$(git --exec-path)/git-parse-remote\"'\n" +#: en/git-gc.txt:116 +msgid "" +"The optional configuration variable `gc.rerereUnresolved` indicates how long " +"records of conflicted merge you have not resolved are kept. This defaults " +"to 15 days." msgstr "" #. type: Plain text -#: en/git-parse-remote.txt:20 +#: en/git-gc.txt:121 msgid "" -"This script is included in various scripts to supply routines to parse files " -"under $GIT_DIR/remotes/ and $GIT_DIR/branches/ and configuration variables " -"that are related to fetching, pulling and pushing." -msgstr "" - -#. type: Title = -#: en/git-patch-id.txt:2 -#, no-wrap -msgid "git-patch-id(1)" +"The optional configuration variable `gc.packRefs` determines if 'git gc' " +"runs 'git pack-refs'. This can be set to \"notbare\" to enable it within all " +"non-bare repos or it can be set to a boolean value. This defaults to true." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:7 -msgid "git-patch-id - Compute unique ID for a patch" +#: en/git-gc.txt:128 +msgid "" +"The optional configuration variable `gc.aggressiveWindow` controls how much " +"time is spent optimizing the delta compression of the objects in the " +"repository when the --aggressive option is specified. The larger the value, " +"the more time is spent optimizing the delta compression. See the " +"documentation for the --window' option in linkgit:git-repack[1] for more " +"details. This defaults to 250." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:12 -#, no-wrap -msgid "'git patch-id' [--stable | --unstable]\n" +#: en/git-gc.txt:131 +msgid "" +"Similarly, the optional configuration variable `gc.aggressiveDepth` controls " +"--depth option in linkgit:git-repack[1]. This defaults to 50." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:16 -msgid "Read a patch from the standard input and compute the patch ID for it." +#: en/git-gc.txt:135 +msgid "" +"The optional configuration variable `gc.pruneExpire` controls how old the " +"unreferenced loose objects have to be before they are pruned. The default " +"is \"2 weeks ago\"." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:21 +#: en/git-gc.txt:150 msgid "" -"A \"patch ID\" is nothing but a sum of SHA-1 of the file diffs associated " -"with a patch, with whitespace and line numbers ignored. As such, it's " -"\"reasonably stable\", but at the same time also reasonably unique, i.e., " -"two patches that have the same \"patch ID\" are almost guaranteed to be the " -"same thing." +"'git gc' tries very hard not to delete objects that are referenced anywhere " +"in your repository. In particular, it will keep not only objects referenced " +"by your current set of branches and tags, but also objects referenced by the " +"index, remote-tracking branches, refs saved by 'git filter-branch' in " +"refs/original/, or reflogs (which may reference commits in branches that " +"were later amended or rewound). If you are expecting some objects to be " +"deleted and they aren't, check all of those locations and decide whether it " +"makes sense in your case to remove those references." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:23 -msgid "IOW, you can use this thing to look for likely duplicate commits." +#: en/git-gc.txt:157 +msgid "" +"On the other hand, when 'git gc' runs concurrently with another process, " +"there is a risk of it deleting an object that the other process is using but " +"hasn't created a reference to. This may just cause the other process to fail " +"or may corrupt the repository if the other process later adds a reference to " +"the deleted object. Git has two features that significantly mitigate this " +"problem:" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:29 +#: en/git-gc.txt:160 msgid "" -"When dealing with 'git diff-tree' output, it takes advantage of the fact " -"that the patch is prefixed with the object name of the commit, and outputs " -"two 40-byte hexadecimal strings. The first string is the patch ID, and the " -"second string is the commit ID. This can be used to make a mapping from " -"patch ID to commit ID." -msgstr "" - -#. type: Labeled list -#: en/git-patch-id.txt:33 -#, no-wrap -msgid "--stable" +"Any object with modification time newer than the `--prune` date is kept, " +"along with everything reachable from it." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:35 -msgid "Use a \"stable\" sum of hashes as the patch ID. With this option:" +#: en/git-gc.txt:164 +msgid "" +"Most operations that add an object to the database update the modification " +"time of the object if it is already present so that #1 applies." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:41 +#: en/git-gc.txt:169 msgid "" -"Reordering file diffs that make up a patch does not affect the ID. In " -"particular, two patches produced by comparing the same two trees with two " -"different settings for \"-O<orderfile>\" result in the same patch ID " -"signature, thereby allowing the computed result to be used as a key to index " -"some meta-information about the change between the two trees;" +"However, these features fall short of a complete solution, so users who run " +"commands concurrently have to live with some risk of corruption (which seems " +"to be low in practice) unless they turn off automatic garbage collection " +"with 'git config gc.auto 0'." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:47 +#: en/git-gc.txt:175 msgid "" -"Result is different from the value produced by git 1.9 and older or produced " -"when an \"unstable\" hash (see --unstable below) is configured - even when " -"used on a diff output taken without any use of \"-O<orderfile>\", thereby " -"making existing databases storing such \"unstable\" or historical patch-ids " -"unusable." +"The 'git gc --auto' command will run the 'pre-auto-gc' hook. See " +"linkgit:githooks[5] for more information." msgstr "" #. type: Plain text -#: en/git-patch-id.txt:49 -#, no-wrap -msgid "This is the default if patchid.stable is set to true.\n" +#: en/git-gc.txt:183 +msgid "" +"linkgit:git-prune[1] linkgit:git-reflog[1] linkgit:git-repack[1] " +"linkgit:git-rerere[1]" msgstr "" -#. type: Labeled list -#: en/git-patch-id.txt:50 +#. type: Title = +#: en/git-get-tar-commit-id.txt:2 #, no-wrap -msgid "--unstable" +msgid "git-get-tar-commit-id(1)" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:56 +#: en/git-get-tar-commit-id.txt:7 msgid "" -"Use an \"unstable\" hash as the patch ID. With this option, the result " -"produced is compatible with the patch-id value produced by git 1.9 and " -"older. Users with pre-existing databases storing patch-ids produced by git " -"1.9 and older (who do not deal with reordered patches) may want to use this " -"option." +"git-get-tar-commit-id - Extract commit ID from an archive created using " +"git-archive" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:58 -msgid "This is the default." +#: en/git-get-tar-commit-id.txt:13 +#, no-wrap +msgid "'git get-tar-commit-id'\n" msgstr "" #. type: Plain text -#: en/git-patch-id.txt:61 -msgid "The diff to create the ID of." +#: en/git-get-tar-commit-id.txt:22 +msgid "" +"Read a tar archive created by 'git archive' from the standard input and " +"extract the commit ID stored in it. It reads only the first 1024 bytes of " +"input, thus its runtime is not influenced by the size of the tar archive " +"very much." +msgstr "" + +#. type: Plain text +#: en/git-get-tar-commit-id.txt:27 +msgid "" +"If no commit ID is found, 'git get-tar-commit-id' quietly exists with a " +"return code of 1. This can happen if the archive had not been created using " +"'git archive' or if the first parameter of 'git archive' had been a tree ID " +"instead of a commit ID or tag." msgstr "" #. type: Title = -#: en/git-prune-packed.txt:2 +#: en/git-grep.txt:2 #, no-wrap -msgid "git-prune-packed(1)" +msgid "git-grep(1)" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:7 -msgid "git-prune-packed - Remove extra objects that are already in pack files" +#: en/git-grep.txt:7 +msgid "git-grep - Print lines matching a pattern" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:13 +#: en/git-grep.txt:32 #, no-wrap -msgid "'git prune-packed' [-n|--dry-run] [-q|--quiet]\n" +msgid "" +"'git grep' [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | " +"--word-regexp]\n" +"\t [-v | --invert-match] [-h|-H] [--full-name]\n" +"\t [-E | --extended-regexp] [-G | --basic-regexp]\n" +"\t [-P | --perl-regexp]\n" +"\t [-F | --fixed-strings] [-n | --line-number]\n" +"\t [-l | --files-with-matches] [-L | --files-without-match]\n" +"\t [(-O | --open-files-in-pager) [<pager>]]\n" +"\t [-z | --null]\n" +"\t [-c | --count] [--all-match] [-q | --quiet]\n" +"\t [--max-depth <depth>]\n" +"\t [--color[=<when>] | --no-color]\n" +"\t [--break] [--heading] [-p | --show-function]\n" +"\t [-A <post-context>] [-B <pre-context>] [-C <context>]\n" +"\t [-W | --function-context]\n" +"\t [--threads <num>]\n" +"\t [-f <file>] [-e] <pattern>\n" +"\t [--and|--or|--not|(|)|-e <pattern>...]\n" +"\t [--recurse-submodules] [--parent-basename <basename>]\n" +"\t [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | " +"<tree>...]\n" +"\t [--] [<pathspec>...]\n" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:19 +#: en/git-grep.txt:39 msgid "" -"This program searches the `$GIT_OBJECT_DIRECTORY` for all objects that " -"currently exist in a pack file as well as the independent object " -"directories." +"Look for specified patterns in the tracked files in the work tree, blobs " +"registered in the index file, or blobs in given tree objects. Patterns are " +"lists of one or more search expressions separated by newline characters. An " +"empty string as search expression matches all lines." msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:21 -msgid "All such extra objects are removed." +#: en/git-grep.txt:61 +msgid "" +"Number of grep worker threads to use. If unset (or set to 0), 8 threads are " +"used by default (for now)." msgstr "" -#. type: Plain text -#: en/git-prune-packed.txt:24 en/git-repack.txt:24 -msgid "" -"A pack is a collection of objects, individually compressed, with delta " -"compression applied, stored in a single file, with an associated index file." +#. type: Labeled list +#: en/git-grep.txt:62 +#, no-wrap +msgid "grep.fullName" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:27 en/git-repack.txt:27 -msgid "" -"Packs are used to reduce the load on mirror systems, backup engines, disk " -"storage, etc." +#: en/git-grep.txt:64 +msgid "If set to true, enable `--full-name` option by default." msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:35 +#: en/git-grep.txt:75 msgid "" -"Don't actually remove any objects, only show those that would have been " -"removed." +"Instead of searching tracked files in the working tree, search blobs " +"registered in the index file." msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:39 -msgid "Squelch the progress indicator." +#: en/git-grep.txt:78 +msgid "Search files in the current directory that is not managed by Git." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:79 +#, no-wrap +msgid "--untracked" msgstr "" #. type: Plain text -#: en/git-prune-packed.txt:44 -msgid "linkgit:git-pack-objects[1] linkgit:git-repack[1]" +#: en/git-grep.txt:82 +msgid "" +"In addition to searching in the tracked files in the working tree, search " +"also in untracked files." msgstr "" -#. type: Title = -#: en/git-prune.txt:2 +#. type: Labeled list +#: en/git-grep.txt:83 #, no-wrap -msgid "git-prune(1)" +msgid "--no-exclude-standard" msgstr "" #. type: Plain text -#: en/git-prune.txt:7 -msgid "git-prune - Prune all unreachable objects from the object database" +#: en/git-grep.txt:86 +msgid "" +"Also search in ignored files by not honoring the `.gitignore` " +"mechanism. Only useful with `--untracked`." msgstr "" -#. type: Plain text -#: en/git-prune.txt:13 +#. type: Labeled list +#: en/git-grep.txt:87 en/git-ls-files.txt:97 #, no-wrap -msgid "'git prune' [-n] [-v] [--expire <expire>] [--] [<head>...]\n" +msgid "--exclude-standard" msgstr "" #. type: Plain text -#: en/git-prune.txt:19 +#: en/git-grep.txt:91 msgid "" -"In most cases, users should run 'git gc', which calls 'git prune'. See the " -"section \"NOTES\", below." +"Do not pay attention to ignored files specified via the\t`.gitignore` " +"mechanism. Only useful when searching files in the current directory with " +"`--no-index`." msgstr "" #. type: Plain text -#: en/git-prune.txt:29 +#: en/git-grep.txt:97 msgid "" -"This runs 'git fsck --unreachable' using all the refs available in `refs/`, " -"optionally with additional set of objects specified on the command line, and " -"prunes all unpacked objects unreachable from any of these head objects from " -"the object database. In addition, it prunes the unpacked objects that are " -"also found in packs by running 'git prune-packed'. It also removes entries " -"from .git/shallow that are not reachable by any ref." +"Recursively search in each submodule that has been initialized and checked " +"out in the repository. When used in combination with the <tree> option the " +"prefix of all submodule output will be the name of the parent project's " +"<tree> object." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:98 +#, no-wrap +msgid "--parent-basename <basename>" msgstr "" #. type: Plain text -#: en/git-prune.txt:32 +#: en/git-grep.txt:104 msgid "" -"Note that unreachable, packed objects will remain. If this is not desired, " -"see linkgit:git-repack[1]." +"For internal use only. In order to produce uniform output with the " +"--recurse-submodules option, this option can be used to provide the basename " +"of a parent's <tree> object to a submodule so the submodule can prefix its " +"output with the parent's name rather than the SHA1 of the submodule." msgstr "" #. type: Plain text -#: en/git-prune.txt:40 -msgid "Do not remove anything; just report what it would remove." +#: en/git-grep.txt:108 +msgid "Process binary files as if they were text." msgstr "" #. type: Plain text -#: en/git-prune.txt:44 -msgid "Report all removed objects." +#: en/git-grep.txt:111 +msgid "Honor textconv filter settings." msgstr "" -#. type: Labeled list -#: en/git-prune.txt:48 en/git-worktree.txt:124 -#, no-wrap -msgid "--expire <time>" +#. type: Plain text +#: en/git-grep.txt:115 +msgid "Do not honor textconv filter settings. This is the default." msgstr "" #. type: Plain text -#: en/git-prune.txt:50 -msgid "Only expire loose objects older than <time>." +#: en/git-grep.txt:120 +msgid "Ignore case differences between the patterns and the files." msgstr "" #. type: Labeled list -#: en/git-prune.txt:51 +#: en/git-grep.txt:121 #, no-wrap -msgid "<head>..." +msgid "-I" msgstr "" #. type: Plain text -#: en/git-prune.txt:55 -msgid "" -"In addition to objects reachable from any of our references, keep objects " -"reachable from listed <head>s." +#: en/git-grep.txt:123 +msgid "Don't match the pattern in binary files." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:124 +#, no-wrap +msgid "--max-depth <depth>" msgstr "" #. type: Plain text -#: en/git-prune.txt:62 +#: en/git-grep.txt:130 msgid "" -"To prune objects not used by your repository or another that borrows from " -"your repository via its `.git/objects/info/alternates`:" +"For each <pathspec> given on command line, descend at most <depth> levels of " +"directories. A negative value means no limit. This option is ignored if " +"<pathspec> contains active wildcards. In other words if \"a*\" matches a " +"directory named \"a*\", \"*\" is matched literally so --max-depth is still " +"effective." msgstr "" -#. type: delimited block - -#: en/git-prune.txt:65 +#. type: Labeled list +#: en/git-grep.txt:132 #, no-wrap -msgid "$ git prune $(cd ../another && git rev-parse --all)\n" +msgid "--word-regexp" msgstr "" #. type: Plain text -#: en/git-prune.txt:73 +#: en/git-grep.txt:136 msgid "" -"In most cases, users will not need to call 'git prune' directly, but should " -"instead call 'git gc', which handles pruning along with many other " -"housekeeping tasks." +"Match the pattern only at word boundary (either begin at the beginning of a " +"line, or preceded by a non-word character; end at the end of a line or " +"followed by a non-word character)." msgstr "" -#. type: Plain text -#: en/git-prune.txt:76 -msgid "" -"For a description of which objects are considered for pruning, see 'git " -"fsck''s --unreachable option." +#. type: Labeled list +#: en/git-grep.txt:138 +#, no-wrap +msgid "--invert-match" msgstr "" #. type: Plain text -#: en/git-prune.txt:83 -msgid "linkgit:git-fsck[1], linkgit:git-gc[1], linkgit:git-reflog[1]" -msgstr "" - -#. type: Title = -#: en/git-pull.txt:2 -#, no-wrap -msgid "git-pull(1)" +#: en/git-grep.txt:140 +msgid "Select non-matching lines." msgstr "" #. type: Plain text -#: en/git-pull.txt:7 +#: en/git-grep.txt:148 msgid "" -"git-pull - Fetch from and integrate with another repository or a local " -"branch" +"By default, the command shows the filename for each match. `-h` option is " +"used to suppress this output. `-H` is there for completeness and does not " +"do anything except it overrides `-h` given earlier on the command line." msgstr "" -#. type: Plain text -#: en/git-pull.txt:13 +#. type: Labeled list +#: en/git-grep.txt:149 en/git-ls-files.txt:136 en/git-ls-tree.txt:68 #, no-wrap -msgid "'git pull' [options] [<repository> [<refspec>...]]\n" +msgid "--full-name" msgstr "" #. type: Plain text -#: en/git-pull.txt:21 +#: en/git-grep.txt:154 en/git-ls-files.txt:141 msgid "" -"Incorporates changes from a remote repository into the current branch. In " -"its default mode, `git pull` is shorthand for `git fetch` followed by `git " -"merge FETCH_HEAD`." +"When run from a subdirectory, the command usually outputs paths relative to " +"the current directory. This option forces paths to be output relative to " +"the project top directory." msgstr "" -#. type: Plain text -#: en/git-pull.txt:26 -msgid "" -"More precisely, 'git pull' runs 'git fetch' with the given parameters and " -"calls 'git merge' to merge the retrieved branch heads into the current " -"branch. With `--rebase`, it runs 'git rebase' instead of 'git merge'." +#. type: Labeled list +#: en/git-grep.txt:155 en/rev-list-options.txt:84 +#, no-wrap +msgid "-E" msgstr "" -#. type: Plain text -#: en/git-pull.txt:33 -msgid "" -"<repository> should be the name of a remote repository as passed to " -"linkgit:git-fetch[1]. <refspec> can name an arbitrary remote ref (for " -"example, the name of a tag) or even a collection of refs with corresponding " -"remote-tracking branches (e.g., " -"refs/heads/{asterisk}:refs/remotes/origin/{asterisk}), but usually it is the " -"name of a branch in the remote repository." +#. type: Labeled list +#: en/git-grep.txt:156 en/rev-list-options.txt:85 +#, no-wrap +msgid "--extended-regexp" msgstr "" -#. type: Plain text -#: en/git-pull.txt:37 -msgid "" -"Default values for <repository> and <branch> are read from the \"remote\" " -"and \"merge\" configuration for the current branch as set by " -"linkgit:git-branch[1] `--track`." +#. type: Labeled list +#: en/git-grep.txt:157 +#, no-wrap +msgid "-G" msgstr "" -#. type: delimited block - -#: en/git-pull.txt:47 +#. type: Labeled list +#: en/git-grep.txt:158 en/rev-list-options.txt:80 #, no-wrap -msgid "" -"\t A---B---C master on origin\n" -"\t /\n" -" D---E---F---G master\n" -"\t^\n" -"\torigin/master in your repository\n" +msgid "--basic-regexp" msgstr "" #. type: Plain text -#: en/git-pull.txt:54 +#: en/git-grep.txt:161 msgid "" -"Then \"`git pull`\" will fetch and replay the changes from the remote " -"`master` branch since it diverged from the local `master` (i.e., `E`) until " -"its current commit (`C`) on top of `master` and record the result in a new " -"commit along with the names of the two parent commits and a log message from " -"the user describing the changes." +"Use POSIX extended/basic regexp for patterns. Default is to use basic " +"regexp." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:59 +#. type: Labeled list +#: en/git-grep.txt:163 en/rev-list-options.txt:94 #, no-wrap -msgid "" -"\t A---B---C origin/master\n" -"\t / \\\n" -" D---E---F---G---H master\n" +msgid "--perl-regexp" msgstr "" #. type: Plain text -#: en/git-pull.txt:63 -msgid "" -"See linkgit:git-merge[1] for details, including how conflicts are presented " -"and handled." +#: en/git-grep.txt:166 +msgid "Use Perl-compatible regexp for patterns. Requires libpcre to be compiled in." msgstr "" -#. type: Plain text -#: en/git-pull.txt:68 -msgid "" -"In Git 1.7.0 or later, to cancel a conflicting merge, use `git reset " -"--merge`. *Warning*: In older versions of Git, running 'git pull' with " -"uncommitted changes is discouraged: while possible, it leaves you in a state " -"that may be hard to back out of in the case of a conflict." +#. type: Labeled list +#: en/git-grep.txt:167 en/git-repack.txt:69 en/rev-list-options.txt:89 +#, no-wrap +msgid "-F" msgstr "" -#. type: Plain text -#: en/git-pull.txt:73 -msgid "" -"If any of the remote changes overlap with local uncommitted changes, the " -"merge will be automatically cancelled and the work tree untouched. It is " -"generally best to get any local changes in working order before pulling or " -"stash them away with linkgit:git-stash[1]." +#. type: Labeled list +#: en/git-grep.txt:168 en/rev-list-options.txt:90 +#, no-wrap +msgid "--fixed-strings" msgstr "" #. type: Plain text -#: en/git-pull.txt:82 -msgid "" -"This is passed to both underlying git-fetch to squelch reporting of during " -"transfer, and underlying git-merge to squelch output during merging." +#: en/git-grep.txt:171 +msgid "Use fixed strings for patterns (don't interpret pattern as a regex)." +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:173 +#, no-wrap +msgid "--line-number" msgstr "" #. type: Plain text -#: en/git-pull.txt:86 -msgid "Pass --verbose to git-fetch and git-merge." +#: en/git-grep.txt:175 +msgid "Prefix the line number to matching lines." msgstr "" #. type: Labeled list -#: en/git-pull.txt:87 +#: en/git-grep.txt:177 #, no-wrap -msgid "--[no-]recurse-submodules[=yes|on-demand|no]" +msgid "--files-with-matches" +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:179 +#, no-wrap +msgid "-L" +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:180 +#, no-wrap +msgid "--files-without-match" msgstr "" #. type: Plain text -#: en/git-pull.txt:95 +#: en/git-grep.txt:185 msgid "" -"This option controls if new commits of all populated submodules should be " -"fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]). That " -"might be necessary to get the data needed for merging submodule commits, a " -"feature Git learned in 1.7.3. Notice that the result of a merge will not be " -"checked out in the submodule, \"git submodule update\" has to be called " -"afterwards to bring the work tree up to date with the merge result." +"Instead of showing every matched line, show only the names of files that " +"contain (or do not contain) matches. For better compatibility with 'git " +"diff', `--name-only` is a synonym for `--files-with-matches`." msgstr "" -#. type: Title ~ -#: en/git-pull.txt:97 +#. type: Labeled list +#: en/git-grep.txt:186 #, no-wrap -msgid "Options related to merging" +msgid "-O[<pager>]" msgstr "" #. type: Labeled list -#: en/git-pull.txt:104 +#: en/git-grep.txt:187 #, no-wrap -msgid "--rebase[=false|true|preserve|interactive]" +msgid "--open-files-in-pager[=<pager>]" msgstr "" #. type: Plain text -#: en/git-pull.txt:110 +#: en/git-grep.txt:195 msgid "" -"When true, rebase the current branch on top of the upstream branch after " -"fetching. If there is a remote-tracking branch corresponding to the upstream " -"branch and the upstream branch was rebased since last fetched, the rebase " -"uses that information to avoid rebasing non-local changes." +"Open the matching files in the pager (not the output of 'grep'). If the " +"pager happens to be \"less\" or \"vi\", and the user specified only one " +"pattern, the first file is positioned at the first match automatically. The " +"`pager` argument is optional; if specified, it must be stuck to the option " +"without a space. If `pager` is unspecified, the default pager will be used " +"(see `core.pager` in linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-pull.txt:113 -msgid "" -"When set to preserve, rebase with the `--preserve-merges` option passed to " -"`git rebase` so that locally created merge commits will not be flattened." +#: en/git-grep.txt:200 +msgid "Output \\0 instead of the character that normally follows a file name." msgstr "" -#. type: Plain text -#: en/git-pull.txt:115 -msgid "When false, merge the current branch into the upstream branch." +#. type: Labeled list +#: en/git-grep.txt:202 en/rev-list-options.txt:848 +#, no-wrap +msgid "--count" msgstr "" #. type: Plain text -#: en/git-pull.txt:117 -msgid "When `interactive`, enable the interactive mode of rebase." +#: en/git-grep.txt:205 +msgid "Instead of showing every matched line, show the number of lines that match." msgstr "" #. type: Plain text -#: en/git-pull.txt:121 +#: en/git-grep.txt:209 msgid "" -"See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in " -"linkgit:git-config[1] if you want to make `git pull` always use `--rebase` " -"instead of merging." +"Show colored matches. The value must be always (the default), never, or " +"auto." msgstr "" #. type: Plain text -#: en/git-pull.txt:127 +#: en/git-grep.txt:214 msgid "" -"This is a potentially _dangerous_ mode of operation. It rewrites history, " -"which does not bode well when you published that history already. Do *not* " -"use this option unless you have read linkgit:git-rebase[1] carefully." +"Turn off match highlighting, even when the configuration file gives the " +"default to color output. Same as `--color=never`." msgstr "" #. type: Labeled list -#: en/git-pull.txt:128 en/git-svn.txt:245 +#: en/git-grep.txt:215 #, no-wrap -msgid "--no-rebase" +msgid "--break" msgstr "" #. type: Plain text -#: en/git-pull.txt:130 -msgid "Override earlier --rebase." +#: en/git-grep.txt:217 +msgid "Print an empty line between matches from different files." msgstr "" #. type: Labeled list -#: en/git-pull.txt:131 en/git-rebase.txt:442 +#: en/git-grep.txt:218 #, no-wrap -msgid "--autostash" +msgid "--heading" +msgstr "" + +#. type: Plain text +#: en/git-grep.txt:221 +msgid "" +"Show the filename above the matches in that file instead of at the start of " +"each shown line." msgstr "" #. type: Labeled list -#: en/git-pull.txt:132 en/git-rebase.txt:443 +#: en/git-grep.txt:223 #, no-wrap -msgid "--no-autostash" +msgid "--show-function" msgstr "" #. type: Plain text -#: en/git-pull.txt:137 +#: en/git-grep.txt:229 msgid "" -"Before starting rebase, stash local modifications away (see " -"linkgit:git-stash[1]) if needed, and apply the stash when " -"done. `--no-autostash` is useful to override the `rebase.autoStash` " -"configuration variable (see linkgit:git-config[1])." +"Show the preceding line that contains the function name of the match, unless " +"the matching line is a function name itself. The name is determined in the " +"same way as 'git diff' works out patch hunk headers (see 'Defining a custom " +"hunk-header' in linkgit:gitattributes[5])." msgstr "" -#. type: Plain text -#: en/git-pull.txt:139 -msgid "This option is only valid when \"--rebase\" is used." +#. type: Labeled list +#: en/git-grep.txt:230 +#, no-wrap +msgid "-<num>" msgstr "" -#. type: Title ~ -#: en/git-pull.txt:141 +#. type: Labeled list +#: en/git-grep.txt:231 #, no-wrap -msgid "Options related to fetching" +msgid "-C <num>" msgstr "" -#. type: Title - -#: en/git-pull.txt:152 +#. type: Labeled list +#: en/git-grep.txt:232 #, no-wrap -msgid "DEFAULT BEHAVIOUR" +msgid "--context <num>" msgstr "" #. type: Plain text -#: en/git-pull.txt:159 +#: en/git-grep.txt:235 msgid "" -"Often people use `git pull` without giving any parameter. Traditionally, " -"this has been equivalent to saying `git pull origin`. However, when " -"configuration `branch.<name>.remote` is present while on branch `<name>`, " -"that value is used instead of `origin`." +"Show <num> leading and trailing lines, and place a line containing `--` " +"between contiguous groups of matches." msgstr "" -#. type: Plain text -#: en/git-pull.txt:164 -msgid "" -"In order to determine what URL to use to fetch from, the value of the " -"configuration `remote.<origin>.url` is consulted and if there is not any " -"such variable, the value on `URL: ` line in `$GIT_DIR/remotes/<origin>` file " -"is used." +#. type: Labeled list +#: en/git-grep.txt:236 +#, no-wrap +msgid "-A <num>" +msgstr "" + +#. type: Labeled list +#: en/git-grep.txt:237 +#, no-wrap +msgid "--after-context <num>" msgstr "" #. type: Plain text -#: en/git-pull.txt:173 +#: en/git-grep.txt:240 msgid "" -"In order to determine what remote branches to fetch (and optionally store in " -"the remote-tracking branches) when the command is run without any refspec " -"parameters on the command line, values of the configuration variable " -"`remote.<origin>.fetch` are consulted, and if there aren't any, " -"`$GIT_DIR/remotes/<origin>` file is consulted and its `Pull: ` lines are " -"used. In addition to the refspec formats described in the OPTIONS section, " -"you can have a globbing refspec that looks like this:" +"Show <num> trailing lines, and place a line containing `--` between " +"contiguous groups of matches." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:176 +#. type: Labeled list +#: en/git-grep.txt:241 #, no-wrap -msgid "refs/heads/*:refs/remotes/origin/*\n" +msgid "-B <num>" msgstr "" -#. type: Plain text -#: en/git-pull.txt:183 -msgid "" -"A globbing refspec must have a non-empty RHS (i.e. must store what were " -"fetched in remote-tracking branches), and its LHS and RHS must end with " -"`/*`. The above specifies that all remote branches are tracked using " -"remote-tracking branches in `refs/remotes/origin/` hierarchy under the same " -"name." +#. type: Labeled list +#: en/git-grep.txt:242 +#, no-wrap +msgid "--before-context <num>" msgstr "" #. type: Plain text -#: en/git-pull.txt:187 +#: en/git-grep.txt:245 msgid "" -"The rule to determine which remote branch to merge after fetching is a bit " -"involved, in order not to break backward compatibility." +"Show <num> leading lines, and place a line containing `--` between " +"contiguous groups of matches." msgstr "" #. type: Plain text -#: en/git-pull.txt:190 +#: en/git-grep.txt:252 msgid "" -"If explicit refspecs were given on the command line of `git pull`, they are " -"all merged." +"Show the surrounding text from the previous line containing a function name " +"up to the one before the next function name, effectively showing the whole " +"function in which the match was found." msgstr "" -#. type: Plain text -#: en/git-pull.txt:195 -msgid "" -"When no refspec was given on the command line, then `git pull` uses the " -"refspec from the configuration or `$GIT_DIR/remotes/<origin>`. In such " -"cases, the following rules apply:" +#. type: Labeled list +#: en/git-grep.txt:253 +#, no-wrap +msgid "--threads <num>" msgstr "" #. type: Plain text -#: en/git-pull.txt:199 +#: en/git-grep.txt:256 msgid "" -"If `branch.<name>.merge` configuration for the current branch `<name>` " -"exists, that is the name of the branch at the remote site that is merged." +"Number of grep worker threads to use. See `grep.threads` in 'CONFIGURATION' " +"for more information." msgstr "" -#. type: Plain text -#: en/git-pull.txt:201 -msgid "If the refspec is a globbing one, nothing is merged." +#. type: Labeled list +#: en/git-grep.txt:257 +#, no-wrap +msgid "-f <file>" msgstr "" #. type: Plain text -#: en/git-pull.txt:203 -msgid "Otherwise the remote branch of the first refspec is merged." +#: en/git-grep.txt:259 +msgid "Read patterns from <file>, one per line." msgstr "" #. type: Plain text -#: en/git-pull.txt:211 +#: en/git-grep.txt:265 msgid "" -"Update the remote-tracking branches for the repository you cloned from, then " -"merge one of them into your current branch:" +"The next parameter is the pattern. This option has to be used for patterns " +"starting with `-` and should be used in scripts passing user input to grep. " +"Multiple patterns are combined by 'or'." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:214 +#. type: Labeled list +#: en/git-grep.txt:266 #, no-wrap -msgid "$ git pull, git pull origin\n" +msgid "--and" msgstr "" -#. type: Plain text -#: en/git-pull.txt:219 -msgid "" -"Normally the branch merged in is the HEAD of the remote repository, but the " -"choice is determined by the branch.<name>.remote and branch.<name>.merge " -"options; see linkgit:git-config[1] for details." +#. type: Labeled list +#: en/git-grep.txt:267 +#, no-wrap +msgid "--or" msgstr "" -#. type: Plain text -#: en/git-pull.txt:221 -msgid "Merge into the current branch the remote branch `next`:" +#. type: Labeled list +#: en/git-grep.txt:268 en/git-rev-parse.txt:129 en/rev-list-options.txt:131 +#, no-wrap +msgid "--not" msgstr "" -#. type: delimited block - -#: en/git-pull.txt:224 +#. type: Labeled list +#: en/git-grep.txt:269 #, no-wrap -msgid "$ git pull origin next\n" +msgid "( ... )" msgstr "" #. type: Plain text -#: en/git-pull.txt:229 +#: en/git-grep.txt:274 msgid "" -"This leaves a copy of `next` temporarily in FETCH_HEAD, but does not update " -"any remote-tracking branches. Using remote-tracking branches, the same can " -"be done by invoking fetch and merge:" +"Specify how multiple patterns are combined using Boolean expressions. " +"`--or` is the default operator. `--and` has higher precedence than `--or`. " +"`-e` has to be used for all patterns." msgstr "" -#. type: delimited block - -#: en/git-pull.txt:233 +#. type: Labeled list +#: en/git-grep.txt:275 en/rev-list-options.txt:67 #, no-wrap -msgid "" -"$ git fetch origin\n" -"$ git merge origin/next\n" +msgid "--all-match" msgstr "" #. type: Plain text -#: en/git-pull.txt:238 +#: en/git-grep.txt:279 msgid "" -"If you tried a pull which resulted in complex conflicts and would want to " -"start over, you can recover with 'git reset'." +"When giving multiple pattern expressions combined with `--or`, this flag is " +"specified to limit the match to files that have lines to match all of them." msgstr "" #. type: Plain text -#: en/git-pull.txt:254 -msgid "linkgit:git-fetch[1], linkgit:git-merge[1], linkgit:git-config[1]" +#: en/git-grep.txt:284 +msgid "" +"Do not output matched lines; instead, exit with status 0 when there is a " +"match and with non-zero status when there isn't." msgstr "" -#. type: Title = -#: en/git-push.txt:2 +#. type: Labeled list +#: en/git-grep.txt:285 #, no-wrap -msgid "git-push(1)" +msgid "<tree>..." msgstr "" #. type: Plain text -#: en/git-push.txt:7 -msgid "git-push - Update remote refs along with associated objects" +#: en/git-grep.txt:288 +msgid "" +"Instead of searching tracked files in the working tree, search blobs in the " +"given trees." msgstr "" #. type: Plain text -#: en/git-push.txt:18 -#, no-wrap +#: en/git-grep.txt:292 msgid "" -"'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | " -"--dry-run] [--receive-pack=<git-receive-pack>]\n" -"\t [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | " -"--verbose]\n" -"\t [-u | --set-upstream] [--push-option=<string>]\n" -"\t [--[no-]signed|--sign=(true|false|if-asked)]\n" -"\t [--force-with-lease[=<refname>[:<expect>]]]\n" -"\t [--no-verify] [<repository> [<refspec>...]]\n" +"Signals the end of options; the rest of the parameters are <pathspec> " +"limiters." msgstr "" #. type: Plain text -#: en/git-push.txt:24 +#: en/git-grep.txt:296 msgid "" -"Updates remote refs using local refs, while sending objects necessary to " -"complete the given refs." +"If given, limit the search to paths matching at least one pattern. Both " +"leading paths match and glob(7) patterns are supported." msgstr "" -#. type: Plain text -#: en/git-push.txt:28 -msgid "" -"You can make interesting things happen to a repository every time you push " -"into it, by setting up 'hooks' there. See documentation for " -"linkgit:git-receive-pack[1]." +#. type: Labeled list +#: en/git-grep.txt:300 +#, no-wrap +msgid "`git grep 'time_t' -- '*.[ch]'`" msgstr "" #. type: Plain text -#: en/git-push.txt:33 +#: en/git-grep.txt:303 msgid "" -"When the command line does not specify where to push with the `<repository>` " -"argument, `branch.*.remote` configuration for the current branch is " -"consulted to determine where to push. If the configuration is missing, it " -"defaults to 'origin'." +"Looks for `time_t` in all tracked .c and .h files in the working directory " +"and its subdirectories." msgstr "" -#. type: Plain text -#: en/git-push.txt:39 -msgid "" -"When the command line does not specify what to push with `<refspec>...` " -"arguments or `--all`, `--mirror`, `--tags` options, the command finds the " -"default `<refspec>` by consulting `remote.*.push` configuration, and if it " -"is not found, honors `push.default` configuration to decide what to push " -"(See linkgit:git-config[1] for the meaning of `push.default`)." +#. type: Labeled list +#: en/git-grep.txt:304 +#, no-wrap +msgid "`git grep -e '#define' --and \\( -e MAX_PATH -e PATH_MAX \\)`" msgstr "" #. type: Plain text -#: en/git-push.txt:46 -msgid "" -"When neither the command-line nor the configuration specify what to push, " -"the default behavior is used, which corresponds to the `simple` value for " -"`push.default`: the current branch is pushed to the corresponding upstream " -"branch, but as a safety measure, the push is aborted if the upstream branch " -"does not have the same name as the local one." +#: en/git-grep.txt:307 +msgid "Looks for a line that has `#define` and either `MAX_PATH` or `PATH_MAX`." msgstr "" -#. type: Title - -#: en/git-push.txt:49 +#. type: Labeled list +#: en/git-grep.txt:308 #, no-wrap -msgid "OPTIONS[[OPTIONS]]" +msgid "`git grep --all-match -e NODE -e Unexpected`" msgstr "" #. type: Plain text -#: en/git-push.txt:55 +#: en/git-grep.txt:311 msgid "" -"The \"remote\" repository that is destination of a push operation. This " -"parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or " -"the name of a remote (see the section <<REMOTES,REMOTES>> below)." +"Looks for a line that has `NODE` or `Unexpected` in files that have lines " +"that match both." msgstr "" -#. type: Labeled list -#: en/git-push.txt:56 +#. type: Title = +#: en/git-gui.txt:2 #, no-wrap -msgid "<refspec>..." +msgid "git-gui(1)" msgstr "" #. type: Plain text -#: en/git-push.txt:61 -msgid "" -"Specify what destination ref to update with what source object. The format " -"of a <refspec> parameter is an optional plus `+`, followed by the source " -"object <src>, followed by a colon `:`, followed by the destination ref " -"<dst>." +#: en/git-gui.txt:7 +msgid "git-gui - A portable graphical interface to Git" msgstr "" #. type: Plain text -#: en/git-push.txt:65 -msgid "" -"The <src> is often the name of the branch you would want to push, but it can " -"be any arbitrary \"SHA-1 expression\", such as `master~4` or `HEAD` (see " -"linkgit:gitrevisions[7])." +#: en/git-gui.txt:12 +#, no-wrap +msgid "'git gui' [<command>] [arguments]\n" msgstr "" #. type: Plain text -#: en/git-push.txt:75 +#: en/git-gui.txt:19 msgid "" -"The <dst> tells which ref on the remote side is updated with this " -"push. Arbitrary expressions cannot be used here, an actual ref must be " -"named. If `git push [<repository>]` without any `<refspec>` argument is set " -"to update some ref at the destination with `<src>` with " -"`remote.<repository>.push` configuration variable, `:<dst>` part can be " -"omitted--such a push will update a ref that `<src>` normally updates without " -"any `<refspec>` on the command line. Otherwise, missing `:<dst>` means to " -"update the same ref as the `<src>`." +"A Tcl/Tk based graphical user interface to Git. 'git gui' focuses on " +"allowing users to make changes to their repository by making new commits, " +"amending existing ones, creating branches, performing local merges, and " +"fetching/pushing to remote repositories." msgstr "" #. type: Plain text -#: en/git-push.txt:83 +#: en/git-gui.txt:24 msgid "" -"The object referenced by <src> is used to update the <dst> reference on the " -"remote side. By default this is only allowed if <dst> is not a tag " -"(annotated or lightweight), and then only if it can fast-forward <dst>. By " -"having the optional leading `+`, you can tell Git to update the <dst> ref " -"even if it is not allowed by default (e.g., it is not a fast-forward.) This " -"does *not* attempt to merge <src> into <dst>. See EXAMPLES below for " -"details." +"Unlike 'gitk', 'git gui' focuses on commit generation and single file " +"annotation and does not show project history. It does however supply menu " +"actions to start a 'gitk' session from within 'git gui'." msgstr "" #. type: Plain text -#: en/git-push.txt:85 -msgid "`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`." +#: en/git-gui.txt:29 +msgid "" +"'git gui' is known to work on all popular UNIX systems, Mac OS X, and " +"Windows (under both Cygwin and MSYS). To the extent possible OS specific " +"user interface guidelines are followed, making 'git gui' a fairly native " +"interface for users." msgstr "" -#. type: Plain text -#: en/git-push.txt:88 -msgid "" -"Pushing an empty <src> allows you to delete the <dst> ref from the remote " -"repository." +#. type: Title - +#: en/git-gui.txt:31 en/git-p4.txt:63 en/git-remote.txt:42 en/git-rerere.txt:32 en/git-shell.txt:25 en/git-submodule.txt:60 en/git-svn.txt:29 en/git-worktree.txt:47 +#, no-wrap +msgid "COMMANDS" msgstr "" -#. type: Plain text -#: en/git-push.txt:93 -msgid "" -"The special refspec `:` (or `+:` to allow non-fast-forward updates) directs " -"Git to push \"matching\" branches: for every branch that exists on the local " -"side, the remote side is updated if a branch of the same name already exists " -"on the remote side." +#. type: Labeled list +#: en/git-gui.txt:32 +#, no-wrap +msgid "blame" msgstr "" #. type: Plain text -#: en/git-push.txt:97 +#: en/git-gui.txt:35 msgid "" -"Push all branches (i.e. refs under `refs/heads/`); cannot be used with other " -"<refspec>." +"Start a blame viewer on the specified file on the given version (or working " +"directory if not specified)." msgstr "" #. type: Labeled list -#: en/git-push.txt:98 en/fetch-options.txt:68 +#: en/git-gui.txt:36 #, no-wrap -msgid "--prune" +msgid "browser" msgstr "" #. type: Plain text -#: en/git-push.txt:105 +#: en/git-gui.txt:40 msgid "" -"Remove remote branches that don't have a local counterpart. For example a " -"remote branch `tmp` will be removed if a local branch with the same name " -"doesn't exist any more. This also respects refspecs, e.g. `git push --prune " -"remote refs/heads/*:refs/tmp/*` would make sure that remote `refs/tmp/foo` " -"will be removed if `refs/heads/foo` doesn't exist." +"Start a tree browser showing all files in the specified commit. Files " +"selected through the browser are opened in the blame viewer." msgstr "" -#. type: Plain text -#: en/git-push.txt:116 -msgid "" -"Instead of naming each ref to push, specifies that all refs under `refs/` " -"(which includes but is not limited to `refs/heads/`, `refs/remotes/`, and " -"`refs/tags/`) be mirrored to the remote repository. Newly created local " -"refs will be pushed to the remote end, locally updated refs will be force " -"updated on the remote end, and deleted refs will be removed from the remote " -"end. This is the default if the configuration option " -"`remote.<remote>.mirror` is set." +#. type: Labeled list +#: en/git-gui.txt:41 +#, no-wrap +msgid "citool" msgstr "" #. type: Plain text -#: en/git-push.txt:125 +#: en/git-gui.txt:46 msgid "" -"Produce machine-readable output. The output status line for each ref will " -"be tab-separated and sent to stdout instead of stderr. The full symbolic " -"names of the refs will be given." +"Start 'git gui' and arrange to make exactly one commit before exiting and " +"returning to the shell. The interface is limited to only commit actions, " +"slightly reducing the application's startup time and simplifying the " +"menubar." msgstr "" -#. type: Plain text -#: en/git-push.txt:129 -msgid "" -"All listed refs are deleted from the remote repository. This is the same as " -"prefixing all refs with a colon." +#. type: Labeled list +#: en/git-gui.txt:47 +#, no-wrap +msgid "version" msgstr "" #. type: Plain text -#: en/git-push.txt:134 -msgid "" -"All refs under `refs/tags` are pushed, in addition to refspecs explicitly " -"listed on the command line." +#: en/git-gui.txt:49 +msgid "Display the currently running version of 'git gui'." msgstr "" #. type: Labeled list -#: en/git-push.txt:135 +#: en/git-gui.txt:53 #, no-wrap -msgid "--follow-tags" +msgid "`git gui blame Makefile`" msgstr "" #. type: Plain text -#: en/git-push.txt:142 +#: en/git-gui.txt:61 msgid "" -"Push all the refs that would be pushed without this option, and also push " -"annotated tags in `refs/tags` that are missing from the remote but are " -"pointing at commit-ish that are reachable from the refs being pushed. This " -"can also be specified with configuration variable `push.followTags`. For " -"more information, see `push.followTags` in linkgit:git-config[1]." -msgstr "" - -#. type: Labeled list -#: en/git-push.txt:143 en/git-send-pack.txt:73 -#, no-wrap -msgid "--[no-]signed" +"Show the contents of the file 'Makefile' in the current working directory, " +"and provide annotations for both the original author of each line, and who " +"moved the line to its current location. The uncommitted file is annotated, " +"and uncommitted changes (if any) are explicitly attributed to 'Not Yet " +"Committed'." msgstr "" #. type: Labeled list -#: en/git-push.txt:144 en/git-send-pack.txt:74 +#: en/git-gui.txt:62 #, no-wrap -msgid "--sign=(true|false|if-asked)" +msgid "`git gui blame v0.99.8 Makefile`" msgstr "" #. type: Plain text -#: en/git-push.txt:153 en/git-send-pack.txt:83 +#: en/git-gui.txt:68 msgid "" -"GPG-sign the push request to update refs on the receiving side, to allow it " -"to be checked by the hooks and/or be logged. If `false` or `--no-signed`, " -"no signing will be attempted. If `true` or `--signed`, the push will fail " -"if the server does not support signed pushes. If set to `if-asked`, sign if " -"and only if the server supports signed pushes. The push will also fail if " -"the actual call to `gpg --sign` fails. See linkgit:git-receive-pack[1] for " -"the details on the receiving end." +"Show the contents of 'Makefile' in revision 'v0.99.8' and provide " +"annotations for each line. Unlike the above example the file is read from " +"the object database and not the working directory." msgstr "" #. type: Labeled list -#: en/git-push.txt:154 +#: en/git-gui.txt:69 #, no-wrap -msgid "--[no-]atomic" +msgid "`git gui blame --line=100 Makefile`" msgstr "" #. type: Plain text -#: en/git-push.txt:158 +#: en/git-gui.txt:73 msgid "" -"Use an atomic transaction on the remote side if available. Either all refs " -"are updated, or on error, no refs are updated. If the server does not " -"support atomic pushes the push will fail." +"Loads annotations as described above and automatically scrolls the view to " +"center on line '100'." msgstr "" #. type: Labeled list -#: en/git-push.txt:160 +#: en/git-gui.txt:74 #, no-wrap -msgid "--push-option" +msgid "`git gui citool`" msgstr "" #. type: Plain text -#: en/git-push.txt:164 +#: en/git-gui.txt:79 msgid "" -"Transmit the given string to the server, which passes them to the " -"pre-receive as well as the post-receive hook. The given string must not " -"contain a NUL or LF character." +"Make one commit and return to the shell when it is complete. This command " +"returns a non-zero exit code if the window was closed in any way other than " +"by making a commit." msgstr "" #. type: Labeled list -#: en/git-push.txt:165 en/git-send-pack.txt:28 +#: en/git-gui.txt:80 #, no-wrap -msgid "--receive-pack=<git-receive-pack>" +msgid "`git gui citool --amend`" +msgstr "" + +#. type: Plain text +#: en/git-gui.txt:84 +msgid "Automatically enter the 'Amend Last Commit' mode of the interface." msgstr "" #. type: Labeled list -#: en/git-push.txt:166 en/git-send-pack.txt:34 +#: en/git-gui.txt:85 #, no-wrap -msgid "--exec=<git-receive-pack>" +msgid "`git gui citool --nocommit`" msgstr "" #. type: Plain text -#: en/git-push.txt:171 en/git-send-pack.txt:33 +#: en/git-gui.txt:91 msgid "" -"Path to the 'git-receive-pack' program on the remote end. Sometimes useful " -"when pushing to a remote repository over ssh, and you do not have the " -"program in a directory on the default $PATH." +"Behave as normal citool, but instead of making a commit simply terminate " +"with a zero exit code. It still checks that the index does not contain any " +"unmerged entries, so you can use it as a GUI version of " +"linkgit:git-mergetool[1]" msgstr "" #. type: Labeled list -#: en/git-push.txt:172 +#: en/git-gui.txt:92 #, no-wrap -msgid "--[no-]force-with-lease" +msgid "`git citool`" msgstr "" -#. type: Labeled list -#: en/git-push.txt:173 -#, no-wrap -msgid "--force-with-lease=<refname>" +#. type: Plain text +#: en/git-gui.txt:95 +msgid "Same as `git gui citool` (above)." msgstr "" #. type: Labeled list -#: en/git-push.txt:174 +#: en/git-gui.txt:96 #, no-wrap -msgid "--force-with-lease=<refname>:<expect>" +msgid "`git gui browser maint`" msgstr "" #. type: Plain text -#: en/git-push.txt:177 +#: en/git-gui.txt:101 msgid "" -"Usually, \"git push\" refuses to update a remote ref that is not an ancestor " -"of the local ref used to overwrite it." +"Show a browser for the tree of the 'maint' branch. Files selected in the " +"browser can be viewed with the internal blame viewer." msgstr "" #. type: Plain text -#: en/git-push.txt:180 +#: en/git-gui.txt:108 msgid "" -"This option overrides this restriction if the current value of the remote " -"ref is the expected value. \"git push\" fails otherwise." +"The Git repository browser. Shows branches, commit history and file " +"differences. gitk is the utility started by 'git gui''s Repository " +"Visualize actions." msgstr "" -#. type: Plain text -#: en/git-push.txt:187 -msgid "" -"Imagine that you have to rebase what you have already published. You will " -"have to bypass the \"must fast-forward\" rule in order to replace the " -"history you originally published with the rebased history. If somebody else " -"built on top of your original history while you are rebasing, the tip of the " -"branch at the remote may advance with her commit, and blindly pushing with " -"`--force` will lose her work." +#. type: Title - +#: en/git-gui.txt:110 +#, no-wrap +msgid "Other" msgstr "" #. type: Plain text -#: en/git-push.txt:194 +#: en/git-gui.txt:114 msgid "" -"This option allows you to say that you expect the history you are updating " -"is what you rebased and want to replace. If the remote ref still points at " -"the commit you specified, you can be sure that no other people did anything " -"to the ref. It is like taking a \"lease\" on the ref without explicitly " -"locking it, and the remote ref is updated only if the \"lease\" is still " -"valid." +"'git gui' is actually maintained as an independent project, but stable " +"versions are distributed as part of the Git suite for the convenience of end " +"users." msgstr "" #. type: Plain text -#: en/git-push.txt:199 -msgid "" -"`--force-with-lease` alone, without specifying the details, will protect all " -"remote refs that are going to be updated by requiring their current value to " -"be the same as the remote-tracking branch we have for them." +#: en/git-gui.txt:116 +msgid "A 'git gui' development repository can be obtained from:" msgstr "" #. type: Plain text -#: en/git-push.txt:204 -msgid "" -"`--force-with-lease=<refname>`, without specifying the expected value, will " -"protect the named ref (alone), if it is going to be updated, by requiring " -"its current value to be the same as the remote-tracking branch we have for " -"it." +#: en/git-gui.txt:118 +#, no-wrap +msgid " git clone git://repo.or.cz/git-gui.git\n" msgstr "" #. type: Plain text -#: en/git-push.txt:212 -msgid "" -"`--force-with-lease=<refname>:<expect>` will protect the named ref (alone), " -"if it is going to be updated, by requiring its current value to be the same " -"as the specified value `<expect>` (which is allowed to be different from the " -"remote-tracking branch we have for the refname, or we do not even have to " -"have such a remote-tracking branch when this form is used). If `<expect>` " -"is the empty string, then the named ref must not already exist." +#: en/git-gui.txt:122 +#, no-wrap +msgid " git clone http://repo.or.cz/r/git-gui.git\n" msgstr "" #. type: Plain text -#: en/git-push.txt:217 -msgid "" -"Note that all forms other than `--force-with-lease=<refname>:<expect>` that " -"specifies the expected current value of the ref explicitly are still " -"experimental and their semantics may change as we gain experience with this " -"feature." +#: en/git-gui.txt:124 +msgid "or browsed online at http://repo.or.cz/w/git-gui.git/[]." msgstr "" -#. type: Plain text -#: en/git-push.txt:220 -msgid "" -"\"--no-force-with-lease\" will cancel all the previous --force-with-lease on " -"the command line." +#. type: Title = +#: en/git-hash-object.txt:2 +#, no-wrap +msgid "git-hash-object(1)" msgstr "" #. type: Plain text -#: en/git-push.txt:228 +#: en/git-hash-object.txt:7 msgid "" -"Usually, the command refuses to update a remote ref that is not an ancestor " -"of the local ref used to overwrite it. Also, when `--force-with-lease` " -"option is used, the command refuses to update a remote ref whose current " -"value does not match what is expected." +"git-hash-object - Compute object ID and optionally creates a blob from a " +"file" msgstr "" #. type: Plain text -#: en/git-push.txt:231 +#: en/git-hash-object.txt:14 +#, no-wrap msgid "" -"This flag disables these checks, and can cause the remote repository to lose " -"commits; use it with care." +"'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin " +"[--literally]] [--] <file>...\n" +"'git hash-object' [-t <type>] [-w] --stdin-paths [--no-filters]\n" msgstr "" #. type: Plain text -#: en/git-push.txt:240 +#: en/git-hash-object.txt:24 msgid "" -"Note that `--force` applies to all the refs that are pushed, hence using it " -"with `push.default` set to `matching` or with multiple push destinations " -"configured with `remote.*.push` may overwrite refs other than the current " -"branch (including local refs that are strictly behind their remote " -"counterpart). To force a push to only one branch, use a `+` in front of the " -"refspec to push (e.g `git push origin +master` to force a push to the " -"`master` branch). See the `<refspec>...` section above for details." +"Computes the object ID value for an object with specified type with the " +"contents of the named file (which can be outside of the work tree), and " +"optionally writes the resulting object into the object database. Reports " +"its object ID to its standard output. This is used by 'git cvsimport' to " +"update the index without modifying files in the work tree. When <type> is " +"not specified, it defaults to \"blob\"." msgstr "" #. type: Labeled list -#: en/git-push.txt:241 +#: en/git-hash-object.txt:28 #, no-wrap -msgid "--repo=<repository>" -msgstr "" - -#. type: Plain text -#: en/git-push.txt:244 -msgid "" -"This option is equivalent to the <repository> argument. If both are " -"specified, the command-line argument takes precedence." +msgid "-t <type>" msgstr "" #. type: Plain text -#: en/git-push.txt:251 -msgid "" -"For every branch that is up to date or successfully pushed, add upstream " -"(tracking) reference, used by argument-less linkgit:git-pull[1] and other " -"commands. For more information, see `branch.<name>.merge` in " -"linkgit:git-config[1]." -msgstr "" - -#. type: Labeled list -#: en/git-push.txt:252 -#, no-wrap -msgid "--[no-]thin" +#: en/git-hash-object.txt:30 +msgid "Specify the type (default: \"blob\")." msgstr "" #. type: Plain text -#: en/git-push.txt:257 -msgid "" -"These options are passed to linkgit:git-send-pack[1]. A thin transfer " -"significantly reduces the amount of sent data when the sender and receiver " -"share many of the same objects in common. The default is \\--thin." +#: en/git-hash-object.txt:33 +msgid "Actually write the object into the object database." msgstr "" #. type: Plain text -#: en/git-push.txt:263 -msgid "" -"Suppress all output, including the listing of updated refs, unless an error " -"occurs. Progress is not reported to the standard error stream." +#: en/git-hash-object.txt:36 +msgid "Read the object from standard input instead of from a file." msgstr "" #. type: Labeled list -#: en/git-push.txt:274 en/fetch-options.txt:125 +#: en/git-hash-object.txt:37 #, no-wrap -msgid "--no-recurse-submodules" +msgid "--stdin-paths" msgstr "" -#. type: Labeled list -#: en/git-push.txt:275 -#, no-wrap -msgid "--recurse-submodules=check|on-demand|only|no" +#. type: Plain text +#: en/git-hash-object.txt:40 +msgid "" +"Read file names from the standard input, one per line, instead of from the " +"command-line." msgstr "" #. type: Plain text -#: en/git-push.txt:289 +#: en/git-hash-object.txt:50 msgid "" -"May be used to make sure all submodule commits used by the revisions to be " -"pushed are available on a remote-tracking branch. If 'check' is used Git " -"will verify that all submodule commits that changed in the revisions to be " -"pushed are available on at least one remote of the submodule. If any commits " -"are missing the push will be aborted and exit with non-zero status. If " -"'on-demand' is used all submodules that changed in the revisions to be " -"pushed will be pushed. If on-demand was not able to push all necessary " -"revisions it will also be aborted and exit with non-zero status. If 'only' " -"is used all submodules will be recursively pushed while the superproject is " -"left unpushed. A value of 'no' or using `--no-recurse-submodules` can be " -"used to override the push.recurseSubmodules configuration variable when no " -"submodule recursion is required." +"Hash object as it were located at the given path. The location of file does " +"not directly influence on the hash value, but path is used to determine what " +"Git filters should be applied to the object before it can be placed to the " +"object database, and, as result of applying filters, the actual blob put " +"into the object database may differ from the given file. This option is " +"mainly useful for hashing temporary files located outside of the working " +"directory or files read from stdin." msgstr "" #. type: Labeled list -#: en/git-push.txt:290 +#: en/git-hash-object.txt:51 #, no-wrap -msgid "--[no-]verify" +msgid "--no-filters" msgstr "" #. type: Plain text -#: en/git-push.txt:294 +#: en/git-hash-object.txt:56 msgid "" -"Toggle the pre-push hook (see linkgit:githooks[5]). The default is " -"--verify, giving the hook a chance to prevent the push. With --no-verify, " -"the hook is bypassed completely." -msgstr "" - -#. type: Labeled list -#: en/git-push.txt:295 en/fetch-options.txt:176 -#, no-wrap -msgid "-4" +"Hash the contents as is, ignoring any input filter that would have been " +"chosen by the attributes mechanism, including the end-of-line conversion. If " +"the file is read from standard input then this is always implied, unless the " +"`--path` option is given." msgstr "" #. type: Labeled list -#: en/git-push.txt:296 en/fetch-options.txt:177 +#: en/git-hash-object.txt:57 #, no-wrap -msgid "--ipv4" +msgid "--literally" msgstr "" #. type: Plain text -#: en/git-push.txt:298 en/fetch-options.txt:179 -msgid "Use IPv4 addresses only, ignoring IPv6 addresses." -msgstr "" - -#. type: Labeled list -#: en/git-push.txt:299 en/fetch-options.txt:180 -#, no-wrap -msgid "-6" +#: en/git-hash-object.txt:62 +msgid "" +"Allow `--stdin` to hash any garbage into a loose object which might not " +"otherwise pass standard object parsing or git-fsck checks. Useful for " +"stress-testing Git itself or reproducing characteristics of corrupt or bogus " +"objects encountered in the wild." msgstr "" -#. type: Labeled list -#: en/git-push.txt:300 en/fetch-options.txt:181 +#. type: Title = +#: en/git-help.txt:2 #, no-wrap -msgid "--ipv6" +msgid "git-help(1)" msgstr "" #. type: Plain text -#: en/git-push.txt:302 en/fetch-options.txt:182 -msgid "Use IPv6 addresses only, ignoring IPv4 addresses." +#: en/git-help.txt:7 +msgid "git-help - Display help information about Git" msgstr "" #. type: Plain text -#: en/git-push.txt:311 +#: en/git-help.txt:13 +#, no-wrap msgid "" -"The output of \"git push\" depends on the transport method used; this " -"section describes the output when pushing over the Git protocol (either " -"locally or via ssh)." +"'git help' [-a|--all] [-g|--guide]\n" +"\t [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]\n" msgstr "" #. type: Plain text -#: en/git-push.txt:314 +#: en/git-help.txt:20 msgid "" -"The status of the push is output in tabular form, with each line " -"representing the status of a single ref. Each line is of the form:" -msgstr "" - -#. type: delimited block - -#: en/git-push.txt:317 -#, no-wrap -msgid " <flag> <summary> <from> -> <to> (<reason>)\n" -msgstr "" - -#. type: Plain text -#: en/git-push.txt:320 -msgid "If --porcelain is used, then each line of the output is of the form:" -msgstr "" - -#. type: delimited block - -#: en/git-push.txt:323 -#, no-wrap -msgid " <flag> \\t <from>:<to> \\t <summary> (<reason>)\n" +"With no options and no COMMAND or GUIDE given, the synopsis of the 'git' " +"command and a list of the most commonly used Git commands are printed on the " +"standard output." msgstr "" #. type: Plain text -#: en/git-push.txt:327 +#: en/git-help.txt:23 msgid "" -"The status of up-to-date refs is shown only if --porcelain or --verbose " -"option is used." +"If the option `--all` or `-a` is given, all available commands are printed " +"on the standard output." msgstr "" #. type: Plain text -#: en/git-push.txt:331 -msgid "for a successfully pushed fast-forward;" +#: en/git-help.txt:26 +msgid "" +"If the option `--guide` or `-g` is given, a list of the useful Git guides is " +"also printed on the standard output." msgstr "" #. type: Plain text -#: en/git-push.txt:333 -msgid "for a successfully deleted ref;" +#: en/git-help.txt:31 +msgid "" +"If a command, or a guide, is given, a manual page for that command or guide " +"is brought up. The 'man' program is used by default for this purpose, but " +"this can be overridden by other options or configuration variables." msgstr "" #. type: Plain text -#: en/git-push.txt:334 -msgid "for a successfully pushed new ref;" +#: en/git-help.txt:34 +msgid "" +"Note that `git --help ...` is identical to `git help ...` because the former " +"is internally converted into the latter." msgstr "" #. type: Plain text -#: en/git-push.txt:335 -msgid "for a ref that was rejected or failed to push; and" +#: en/git-help.txt:36 +msgid "To display the linkgit:git[1] man page, use `git help git`." msgstr "" #. type: Plain text -#: en/git-push.txt:336 -msgid "for a ref that was up to date and did not need pushing." +#: en/git-help.txt:38 +msgid "This page can be displayed with 'git help help' or `git help --help`" msgstr "" #. type: Plain text -#: en/git-push.txt:342 +#: en/git-help.txt:45 msgid "" -"For a successfully pushed ref, the summary shows the old and new values of " -"the ref in a form suitable for using as an argument to `git log` (this is " -"`<old>..<new>` in most cases, and `<old>...<new>` for forced " -"non-fast-forward updates)." -msgstr "" - -#. type: Plain text -#: en/git-push.txt:344 -msgid "For a failed update, more details are given:" +"Prints all the available commands on the standard output. This option " +"overrides any given command or guide name." msgstr "" #. type: Labeled list -#: en/git-push.txt:346 +#: en/git-help.txt:47 #, no-wrap -msgid "rejected" +msgid "--guides" msgstr "" #. type: Plain text -#: en/git-push.txt:349 +#: en/git-help.txt:50 msgid "" -"Git did not try to send the ref at all, typically because it is not a " -"fast-forward and you did not force the update." +"Prints a list of useful guides on the standard output. This option overrides " +"any given command or guide name." msgstr "" #. type: Labeled list -#: en/git-push.txt:350 +#: en/git-help.txt:52 #, no-wrap -msgid "remote rejected" +msgid "--info" msgstr "" #. type: Plain text -#: en/git-push.txt:358 +#: en/git-help.txt:55 msgid "" -"The remote end refused the update. Usually caused by a hook on the remote " -"side, or because the remote repository has one of the following safety " -"options in effect: `receive.denyCurrentBranch` (for pushes to the checked " -"out branch), `receive.denyNonFastForwards` (for forced non-fast-forward " -"updates), `receive.denyDeletes` or `receive.denyDeleteCurrent`. See " -"linkgit:git-config[1]." +"Display manual page for the command in the 'info' format. The 'info' program " +"will be used for that purpose." msgstr "" #. type: Labeled list -#: en/git-push.txt:359 +#: en/git-help.txt:57 #, no-wrap -msgid "remote failure" +msgid "--man" msgstr "" #. type: Plain text -#: en/git-push.txt:363 +#: en/git-help.txt:61 msgid "" -"The remote end did not report the successful update of the ref, perhaps " -"because of a temporary error on the remote side, a break in the network " -"connection, or other transient error." +"Display manual page for the command in the 'man' format. This option may be " +"used to override a value set in the `help.format` configuration variable." msgstr "" #. type: Plain text -#: en/git-push.txt:369 +#: en/git-help.txt:65 msgid "" -"The name of the local ref being pushed, minus its `refs/<type>/` prefix. In " -"the case of deletion, the name of the local ref is omitted." +"By default the 'man' program will be used to display the manual page, but " +"the `man.viewer` configuration variable may be used to choose other display " +"programs (see below)." +msgstr "" + +#. type: Labeled list +#: en/git-help.txt:67 +#, no-wrap +msgid "--web" msgstr "" #. type: Plain text -#: en/git-push.txt:373 -msgid "The name of the remote ref being updated, minus its `refs/<type>/` prefix." +#: en/git-help.txt:70 +msgid "" +"Display manual page for the command in the 'web' (HTML) format. A web " +"browser will be used for that purpose." msgstr "" #. type: Plain text -#: en/git-push.txt:378 +#: en/git-help.txt:76 msgid "" -"A human-readable explanation. In the case of successfully pushed refs, no " -"explanation is needed. For a failed ref, the reason for failure is " -"described." +"The web browser can be specified using the configuration variable " +"`help.browser`, or `web.browser` if the former is not set. If none of these " +"config variables is set, the 'git web{litdd}browse' helper script (called by " +"'git help') will pick a suitable default. See " +"linkgit:git-web{litdd}browse[1] for more information about this." msgstr "" #. type: Title - -#: en/git-push.txt:380 +#: en/git-help.txt:78 en/git-interpret-trailers.txt:84 en/git-p4.txt:450 en/git-web--browse.txt:59 #, no-wrap -msgid "Note about fast-forwards" +msgid "CONFIGURATION VARIABLES" msgstr "" #. type: Plain text -#: en/git-push.txt:385 +#: en/git-help.txt:87 msgid "" -"When an update changes a branch (or more in general, a ref) that used to " -"point at commit A to point at another commit B, it is called a fast-forward " -"update if and only if B is a descendant of A." -msgstr "" - -#. type: Plain text -#: en/git-push.txt:389 -msgid "" -"In a fast-forward update from A to B, the set of commits that the original " -"commit A built on top of is a subset of the commits the new commit B builds " -"on top of. Hence, it does not lose any history." +"If no command-line option is passed, the `help.format` configuration " +"variable will be checked. The following values are supported for this " +"variable; they make 'git help' behave as their corresponding command- line " +"option:" msgstr "" #. type: Plain text -#: en/git-push.txt:394 -msgid "" -"In contrast, a non-fast-forward update will lose history. For example, " -"suppose you and somebody else started at the same commit X, and you built a " -"history leading to commit B while the other person built a history leading " -"to commit A. The history looks like this:" +#: en/git-help.txt:89 +msgid "\"man\" corresponds to '-m|--man'," msgstr "" -#. type: delimited block - -#: en/git-push.txt:400 -#, no-wrap -msgid "" -" B\n" -" /\n" -" ---X---A\n" +#. type: Plain text +#: en/git-help.txt:90 +msgid "\"info\" corresponds to '-i|--info'," msgstr "" #. type: Plain text -#: en/git-push.txt:406 -msgid "" -"Further suppose that the other person already pushed changes leading to A " -"back to the original repository from which you two obtained the original " -"commit X." +#: en/git-help.txt:91 +msgid "\"web\" or \"html\" correspond to '-w|--web'." +msgstr "" + +#. type: Title ~ +#: en/git-help.txt:93 +#, no-wrap +msgid "help.browser, web.browser and browser.<tool>.path" msgstr "" #. type: Plain text -#: en/git-push.txt:409 +#: en/git-help.txt:99 msgid "" -"The push done by the other person updated the branch that used to point at " -"commit X to point at commit A. It is a fast-forward." +"The `help.browser`, `web.browser` and `browser.<tool>.path` will also be " +"checked if the 'web' format is chosen (either by command-line option or " +"configuration variable). See '-w|--web' in the OPTIONS section above and " +"linkgit:git-web{litdd}browse[1]." msgstr "" #. type: Plain text -#: en/git-push.txt:414 +#: en/git-help.txt:105 msgid "" -"But if you try to push, you will attempt to update the branch (that now " -"points at A) with commit B. This does _not_ fast-forward. If you did so, " -"the changes introduced by commit A will be lost, because everybody will now " -"start building on top of B." +"The `man.viewer` configuration variable will be checked if the 'man' format " +"is chosen. The following values are currently supported:" msgstr "" #. type: Plain text -#: en/git-push.txt:417 -msgid "" -"The command by default does not allow an update that is not a fast-forward " -"to prevent such loss of history." +#: en/git-help.txt:107 +msgid "\"man\": use the 'man' program as usual," msgstr "" #. type: Plain text -#: en/git-push.txt:422 +#: en/git-help.txt:109 msgid "" -"If you do not want to lose your work (history from X to B) or the work by " -"the other person (history from X to A), you would need to first fetch the " -"history from the repository, create a history that contains changes done by " -"both parties, and push the result back." +"\"woman\": use 'emacsclient' to launch the \"woman\" mode in emacs (this " +"only works starting with emacsclient versions 22)," msgstr "" #. type: Plain text -#: en/git-push.txt:426 +#: en/git-help.txt:111 msgid "" -"You can perform \"git pull\", resolve potential conflicts, and \"git push\" " -"the result. A \"git pull\" will create a merge commit C between commits A " -"and B." +"\"konqueror\": use 'kfmclient' to open the man page in a new konqueror tab " +"(see 'Note about konqueror' below)." msgstr "" -#. type: delimited block - -#: en/git-push.txt:432 -#, no-wrap +#. type: Plain text +#: en/git-help.txt:114 msgid "" -" B---C\n" -" / /\n" -" ---X---A\n" +"Values for other tools can be used if there is a corresponding " +"`man.<tool>.cmd` configuration entry (see below)." msgstr "" #. type: Plain text -#: en/git-push.txt:437 +#: en/git-help.txt:118 msgid "" -"Updating A with the resulting merge commit will fast-forward and your push " -"will be accepted." +"Multiple values may be given to the `man.viewer` configuration " +"variable. Their corresponding programs will be tried in the order listed in " +"the configuration file." msgstr "" #. type: Plain text -#: en/git-push.txt:442 -msgid "" -"Alternatively, you can rebase your change between X and B on top of A, with " -"\"git pull --rebase\", and push the result back. The rebase will create a " -"new commit D that builds the change between X and B on top of A." +#: en/git-help.txt:120 +msgid "For example, this configuration:" msgstr "" #. type: delimited block - -#: en/git-push.txt:448 +#: en/git-help.txt:125 #, no-wrap msgid "" -" B D\n" -" / /\n" -" ---X---A\n" +"\t[man]\n" +"\t\tviewer = konqueror\n" +"\t\tviewer = woman\n" msgstr "" #. type: Plain text -#: en/git-push.txt:453 +#: en/git-help.txt:129 msgid "" -"Again, updating A with this commit will fast-forward and your push will be " -"accepted." +"will try to use konqueror first. But this may fail (for example, if DISPLAY " +"is not set) and in that case emacs' woman mode will be tried." msgstr "" #. type: Plain text -#: en/git-push.txt:464 +#: en/git-help.txt:133 msgid "" -"There is another common situation where you may encounter non-fast-forward " -"rejection when you try to push, and it is possible even when you are pushing " -"into a repository nobody else pushes into. After you push commit A yourself " -"(in the first picture in this section), replace it with \"git commit " -"--amend\" to produce commit B, and you try to push it out, because forgot " -"that you have pushed A out already. In such a case, and only if you are " -"certain that nobody in the meantime fetched your earlier commit A (and " -"started building on top of it), you can run \"git push --force\" to " -"overwrite it. In other words, \"git push --force\" is a method reserved for " -"a case where you do mean to lose history." +"If everything fails, or if no viewer is configured, the viewer specified in " +"the `GIT_MAN_VIEWER` environment variable will be tried. If that fails too, " +"the 'man' program will be tried anyway." msgstr "" -#. type: Labeled list -#: en/git-push.txt:469 -#, no-wrap -msgid "`git push`" +#. type: Plain text +#: en/git-help.txt:142 +msgid "" +"You can explicitly provide a full path to your preferred man viewer by " +"setting the configuration variable `man.<tool>.path`. For example, you can " +"configure the absolute path to konqueror by setting " +"'man.konqueror.path'. Otherwise, 'git help' assumes the tool is available in " +"PATH." msgstr "" #. type: Plain text -#: en/git-push.txt:473 +#: en/git-help.txt:152 msgid "" -"Works like `git push <remote>`, where <remote> is the current branch's " -"remote (or `origin`, if no remote is configured for the current branch)." +"When the man viewer, specified by the `man.viewer` configuration variables, " +"is not among the supported ones, then the corresponding `man.<tool>.cmd` " +"configuration variable will be looked up. If this variable exists then the " +"specified tool will be treated as a custom command and a shell eval will be " +"used to run the command with the man page passed as arguments." msgstr "" -#. type: Labeled list -#: en/git-push.txt:474 +#. type: Title - +#: en/git-help.txt:154 en/git-web--browse.txt:88 #, no-wrap -msgid "`git push origin`" +msgid "Note about konqueror" msgstr "" #. type: Plain text -#: en/git-push.txt:479 +#: en/git-help.txt:159 msgid "" -"Without additional configuration, pushes the current branch to the " -"configured upstream (`remote.origin.merge` configuration variable) if it has " -"the same name as the current branch, and errors out without pushing " -"otherwise." +"When 'konqueror' is specified in the `man.viewer` configuration variable, we " +"launch 'kfmclient' to try to open the man page on an already opened " +"konqueror in a new tab if possible." msgstr "" #. type: Plain text -#: en/git-push.txt:483 +#: en/git-help.txt:163 msgid "" -"The default behavior of this command when no <refspec> is given can be " -"configured by setting the `push` option of the remote, or the `push.default` " -"configuration variable." +"For consistency, we also try such a trick if 'man.konqueror.path' is set to " +"something like 'A_PATH_TO/konqueror'. That means we will try to launch " +"'A_PATH_TO/kfmclient' instead." msgstr "" #. type: Plain text -#: en/git-push.txt:488 +#: en/git-help.txt:166 en/git-web--browse.txt:100 msgid "" -"For example, to default to pushing only the current branch to `origin` use " -"`git config remote.origin.push HEAD`. Any valid <refspec> (like the ones in " -"the examples below) can be configured as the default for `git push origin`." +"If you really want to use 'konqueror', then you can use something like the " +"following:" msgstr "" -#. type: Labeled list -#: en/git-push.txt:489 +#. type: delimited block - +#: en/git-help.txt:170 #, no-wrap -msgid "`git push origin :`" +msgid "" +"\t[man]\n" +"\t\tviewer = konq\n" +msgstr "" + +#. type: delimited block - +#: en/git-help.txt:173 +#, no-wrap +msgid "" +"\t[man \"konq\"]\n" +"\t\tcmd = A_PATH_TO/konqueror\n" +msgstr "" + +#. type: Title ~ +#: en/git-help.txt:176 +#, no-wrap +msgid "Note about git config --global" msgstr "" #. type: Plain text -#: en/git-push.txt:493 +#: en/git-help.txt:180 msgid "" -"Push \"matching\" branches to `origin`. See <refspec> in the " -"<<OPTIONS,OPTIONS>> section above for a description of \"matching\" " -"branches." +"Note that all these configuration variables should probably be set using the " +"`--global` flag, for example like this:" msgstr "" -#. type: Labeled list -#: en/git-push.txt:494 +#. type: delimited block - +#: en/git-help.txt:184 #, no-wrap -msgid "`git push origin master`" +msgid "" +"$ git config --global help.format web\n" +"$ git config --global web.browser firefox\n" msgstr "" #. type: Plain text -#: en/git-push.txt:500 +#: en/git-help.txt:188 en/git-web--browse.txt:121 msgid "" -"Find a ref that matches `master` in the source repository (most likely, it " -"would find `refs/heads/master`), and update the same ref " -"(e.g. `refs/heads/master`) in `origin` repository with it. If `master` did " -"not exist remotely, it would be created." +"as they are probably more user specific than repository specific. See " +"linkgit:git-config[1] for more information about this." msgstr "" -#. type: Labeled list -#: en/git-push.txt:501 +#. type: Title = +#: en/git-http-backend.txt:2 #, no-wrap -msgid "`git push origin HEAD`" +msgid "git-http-backend(1)" msgstr "" #. type: Plain text -#: en/git-push.txt:504 -msgid "A handy way to push the current branch to the same name on the remote." +#: en/git-http-backend.txt:7 +msgid "git-http-backend - Server side implementation of Git over HTTP" msgstr "" -#. type: Labeled list -#: en/git-push.txt:505 +#. type: Plain text +#: en/git-http-backend.txt:12 #, no-wrap -msgid "`git push mothership master:satellite/master dev:satellite/dev`" +msgid "'git http-backend'\n" msgstr "" #. type: Plain text -#: en/git-push.txt:510 +#: en/git-http-backend.txt:20 msgid "" -"Use the source ref that matches `master` (e.g. `refs/heads/master`) to " -"update the ref that matches `satellite/master` (most probably " -"`refs/remotes/satellite/master`) in the `mothership` repository; do the same " -"for `dev` and `satellite/dev`." +"A simple CGI program to serve the contents of a Git repository to Git " +"clients accessing the repository over http:// and https:// protocols. The " +"program supports clients fetching using both the smart HTTP protocol and the " +"backwards-compatible dumb HTTP protocol, as well as clients pushing using " +"the smart HTTP protocol." msgstr "" #. type: Plain text -#: en/git-push.txt:517 +#: en/git-http-backend.txt:25 msgid "" -"This is to emulate `git fetch` run on the `mothership` using `git push` that " -"is run in the opposite direction in order to integrate the work done on " -"`satellite`, and is often necessary when you can only make connection in one " -"way (i.e. satellite can ssh into mothership but mothership cannot initiate " -"connection to satellite because the latter is behind a firewall or does not " -"run sshd)." +"It verifies that the directory has the magic file \"git-daemon-export-ok\", " +"and it will refuse to export any Git directory that hasn't explicitly been " +"marked for export this way (unless the `GIT_HTTP_EXPORT_ALL` environmental " +"variable is set)." msgstr "" #. type: Plain text -#: en/git-push.txt:522 +#: en/git-http-backend.txt:31 msgid "" -"After running this `git push` on the `satellite` machine, you would ssh into " -"the `mothership` and run `git merge` there to complete the emulation of `git " -"pull` that were run on `mothership` to pull changes made on `satellite`." +"By default, only the `upload-pack` service is enabled, which serves 'git " +"fetch-pack' and 'git ls-remote' clients, which are invoked from 'git fetch', " +"'git pull', and 'git clone'. If the client is authenticated, the " +"`receive-pack` service is enabled, which serves 'git send-pack' clients, " +"which is invoked from 'git push'." +msgstr "" + +#. type: Plain text +#: en/git-http-backend.txt:36 +msgid "" +"These services can be enabled/disabled using the per-repository " +"configuration file:" msgstr "" #. type: Labeled list -#: en/git-push.txt:523 +#: en/git-http-backend.txt:37 #, no-wrap -msgid "`git push origin HEAD:master`" +msgid "http.getanyfile" msgstr "" #. type: Plain text -#: en/git-push.txt:527 +#: en/git-http-backend.txt:44 msgid "" -"Push the current branch to the remote ref matching `master` in the `origin` " -"repository. This form is convenient to push the current branch without " -"thinking about its local name." +"This serves Git clients older than version 1.6.6 that are unable to use the " +"upload pack service. When enabled, clients are able to read any file within " +"the repository, including objects that are no longer reachable from a branch " +"but are still present. It is enabled by default, but a repository can " +"disable it by setting this configuration item to `false`." msgstr "" #. type: Labeled list -#: en/git-push.txt:528 +#: en/git-http-backend.txt:45 #, no-wrap -msgid "`git push origin master:refs/heads/experimental`" +msgid "http.uploadpack" msgstr "" #. type: Plain text -#: en/git-push.txt:534 +#: en/git-http-backend.txt:49 msgid "" -"Create the branch `experimental` in the `origin` repository by copying the " -"current `master` branch. This form is only needed to create a new branch or " -"tag in the remote repository when the local name and the remote name are " -"different; otherwise, the ref name on its own will work." +"This serves 'git fetch-pack' and 'git ls-remote' clients. It is enabled by " +"default, but a repository can disable it by setting this configuration item " +"to `false`." msgstr "" #. type: Labeled list -#: en/git-push.txt:535 +#: en/git-http-backend.txt:50 #, no-wrap -msgid "`git push origin :experimental`" +msgid "http.receivepack" msgstr "" #. type: Plain text -#: en/git-push.txt:538 +#: en/git-http-backend.txt:56 msgid "" -"Find a ref that matches `experimental` in the `origin` repository " -"(e.g. `refs/heads/experimental`), and delete it." +"This serves 'git send-pack' clients, allowing push. It is disabled by " +"default for anonymous users, and enabled by default for users authenticated " +"by the web server. It can be disabled by setting this item to `false`, or " +"enabled for all users, including anonymous users, by setting it to `true`." msgstr "" -#. type: Labeled list -#: en/git-push.txt:539 +#. type: Title - +#: en/git-http-backend.txt:58 #, no-wrap -msgid "`git push origin +dev:master`" +msgid "URL TRANSLATION" msgstr "" #. type: Plain text -#: en/git-push.txt:544 +#: en/git-http-backend.txt:65 msgid "" -"Update the origin repository's master branch with the dev branch, allowing " -"non-fast-forward updates. *This can leave unreferenced commits dangling in " -"the origin repository.* Consider the following situation, where a " -"fast-forward is not possible:" +"To determine the location of the repository on disk, 'git http-backend' " +"concatenates the environment variables PATH_INFO, which is set automatically " +"by the web server, and GIT_PROJECT_ROOT, which must be set manually in the " +"web server configuration. If GIT_PROJECT_ROOT is not set, 'git " +"http-backend' reads PATH_TRANSLATED, which is also set automatically by the " +"web server." msgstr "" -#. type: delimited block - -#: en/git-push.txt:549 -#, no-wrap +#. type: Plain text +#: en/git-http-backend.txt:70 msgid "" -"\t o---o---o---A---B origin/master\n" -"\t\t \\\n" -"\t\t X---Y---Z dev\n" +"All of the following examples map `http://$hostname/git/foo/bar.git` to " +"`/var/www/git/foo/bar.git`." +msgstr "" + +#. type: Labeled list +#: en/git-http-backend.txt:71 +#, no-wrap +msgid "Apache 2.x" msgstr "" #. type: Plain text -#: en/git-push.txt:552 -msgid "The above command would change the origin repository to" +#: en/git-http-backend.txt:75 +msgid "" +"Ensure mod_cgi, mod_alias, and mod_env are enabled, set GIT_PROJECT_ROOT (or " +"DocumentRoot) appropriately, and create a ScriptAlias to the CGI:" msgstr "" #. type: delimited block - -#: en/git-push.txt:557 +#: en/git-http-backend.txt:80 #, no-wrap msgid "" -"\t\t A---B (unnamed branch)\n" -"\t\t /\n" -"\t o---o---o---X---Y---Z master\n" +"SetEnv GIT_PROJECT_ROOT /var/www/git\n" +"SetEnv GIT_HTTP_EXPORT_ALL\n" +"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" msgstr "" #. type: Plain text -#: en/git-push.txt:562 +#: en/git-http-backend.txt:86 msgid "" -"Commits A and B would no longer belong to a branch with a symbolic name, and " -"so would be unreachable. As such, these commits would be removed by a `git " -"gc` command on the origin repository." +"To enable anonymous read access but authenticated write access, require " +"authorization for both the initial ref advertisement (which we detect as a " +"push via the service parameter in the query string), and the receive-pack " +"invocation itself:" msgstr "" -#. type: Title = -#: en/git-quiltimport.txt:2 +#. type: delimited block - +#: en/git-http-backend.txt:91 #, no-wrap -msgid "git-quiltimport(1)" +msgid "" +"RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]\n" +"RewriteCond %{REQUEST_URI} /git-receive-pack$\n" +"RewriteRule ^/git/ - [E=AUTHREQUIRED:yes]\n" msgstr "" -#. type: Plain text -#: en/git-quiltimport.txt:7 -msgid "git-quiltimport - Applies a quilt patchset onto the current branch" +#. type: delimited block - +#: en/git-http-backend.txt:95 +#, no-wrap +msgid "" +"<LocationMatch \"^/git/\">\n" +"\tOrder Deny,Allow\n" +"\tDeny from env=AUTHREQUIRED\n" msgstr "" -#. type: Plain text -#: en/git-quiltimport.txt:14 +#. type: delimited block - +#: en/git-http-backend.txt:102 #, no-wrap msgid "" -"'git quiltimport' [--dry-run | -n] [--author <author>] [--patches <dir>]\n" -"\t\t[--series <file>]\n" +"\tAuthType Basic\n" +"\tAuthName \"Git Access\"\n" +"\tRequire group committers\n" +"\tSatisfy Any\n" +"\t...\n" +"</LocationMatch>\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:21 +#: en/git-http-backend.txt:107 msgid "" -"Applies a quilt patchset onto the current Git branch, preserving the patch " -"boundaries, patch order, and patch descriptions present in the quilt " -"patchset." +"If you do not have `mod_rewrite` available to match against the query " +"string, it is sufficient to just protect `git-receive-pack` itself, like:" msgstr "" -#. type: Plain text -#: en/git-quiltimport.txt:27 +#. type: delimited block - +#: en/git-http-backend.txt:115 +#, no-wrap msgid "" -"For each patch the code attempts to extract the author from the patch " -"description. If that fails it falls back to the author specified with " -"--author. If the --author flag was not given the patch description is " -"displayed and the user is asked to interactively enter the author of the " -"patch." +"<LocationMatch \"^/git/.*/git-receive-pack$\">\n" +"\tAuthType Basic\n" +"\tAuthName \"Git Access\"\n" +"\tRequire group committers\n" +"\t...\n" +"</LocationMatch>\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:30 +#: en/git-http-backend.txt:125 msgid "" -"If a subject is not found in the patch description the patch name is " -"preserved as the 1 line subject in the Git description." +"In this mode, the server will not request authentication until the client " +"actually starts the object negotiation phase of the push, rather than during " +"the initial contact. For this reason, you must also enable the " +"`http.receivepack` config option in any repositories that should accept a " +"push. The default behavior, if `http.receivepack` is not set, is to reject " +"any pushes by unauthenticated users; the initial request will therefore " +"report `403 Forbidden` to the client, without even giving an opportunity for " +"authentication." msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:40 +#: en/git-http-backend.txt:128 msgid "" -"Walk through the patches in the series and warn if we cannot find all of the " -"necessary information to commit a patch. At the time of this writing only " -"missing author information is warned about." +"To require authentication for both reads and writes, use a Location " +"directive around the repository, or one of its parent directories:" msgstr "" -#. type: Labeled list -#: en/git-quiltimport.txt:41 +#. type: delimited block - +#: en/git-http-backend.txt:136 #, no-wrap -msgid "--author Author Name <Author Email>" +msgid "" +"<Location /git/private>\n" +"\tAuthType Basic\n" +"\tAuthName \"Private Git Access\"\n" +"\tRequire group committers\n" +"\t...\n" +"</Location>\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:44 +#: en/git-http-backend.txt:141 msgid "" -"The author name and email address to use when no author information can be " -"found in the patch description." +"To serve gitweb at the same url, use a ScriptAliasMatch to only those URLs " +"that 'git http-backend' can handle, and forward the rest to gitweb:" msgstr "" -#. type: Labeled list -#: en/git-quiltimport.txt:45 +#. type: delimited block - +#: en/git-http-backend.txt:151 #, no-wrap -msgid "--patches <dir>" +msgid "" +"ScriptAliasMatch \\\n" +"\t\"(?x)^/git/(.*/(HEAD | \\\n" +"\t\t\tinfo/refs | \\\n" +"\t\t\tobjects/(info/[^/]+ | \\\n" +"\t\t\t\t [0-9a-f]{2}/[0-9a-f]{38} | \\\n" +"\t\t\t\t pack/pack-[0-9a-f]{40}\\.(pack|idx)) | \\\n" +"\t\t\tgit-(upload|receive)-pack))$\" \\\n" +"\t/usr/libexec/git-core/git-http-backend/$1\n" msgstr "" -#. type: Plain text -#: en/git-quiltimport.txt:47 -msgid "The directory to find the quilt patches." +#. type: delimited block - +#: en/git-http-backend.txt:153 +#, no-wrap +msgid "ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:51 +#: en/git-http-backend.txt:157 msgid "" -"The default for the patch directory is patches or the value of the " -"`$QUILT_PATCHES` environment variable." +"To serve multiple repositories from different linkgit:gitnamespaces[7] in a " +"single repository:" +msgstr "" + +#. type: delimited block - +#: en/git-http-backend.txt:161 +#, no-wrap +msgid "" +"SetEnvIf Request_URI \"^/git/([^/]*)\" GIT_NAMESPACE=$1\n" +"ScriptAliasMatch ^/git/[^/]*(.*) " +"/usr/libexec/git-core/git-http-backend/storage.git$1\n" msgstr "" #. type: Labeled list -#: en/git-quiltimport.txt:52 +#: en/git-http-backend.txt:163 #, no-wrap -msgid "--series <file>" +msgid "Accelerated static Apache 2.x" msgstr "" #. type: Plain text -#: en/git-quiltimport.txt:54 -msgid "The quilt series file." +#: en/git-http-backend.txt:168 +msgid "" +"Similar to the above, but Apache can be used to return static files that are " +"stored on disk.\tOn many systems this may be more efficient as Apache can " +"ask the kernel to copy the file contents from the file system directly to " +"the network:" msgstr "" -#. type: Plain text -#: en/git-quiltimport.txt:58 -msgid "" -"The default for the series file is <patches>/series or the value of the " -"`$QUILT_SERIES` environment variable." +#. type: delimited block - +#: en/git-http-backend.txt:171 en/git-http-backend.txt:181 +#, no-wrap +msgid "SetEnv GIT_PROJECT_ROOT /var/www/git\n" msgstr "" -#. type: Title = -#: en/git-read-tree.txt:2 +#. type: delimited block - +#: en/git-http-backend.txt:175 #, no-wrap -msgid "git-read-tree(1)" +msgid "" +"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ " +"/var/www/git/$1\n" +"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ " +"/var/www/git/$1\n" +"ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:7 -msgid "git-read-tree - Reads tree information into the index" +#: en/git-http-backend.txt:178 +msgid "This can be combined with the gitweb configuration:" msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:16 +#. type: delimited block - +#: en/git-http-backend.txt:191 #, no-wrap msgid "" -"'git read-tree' [[-m [--trivial] [--aggressive] | --reset | " -"--prefix=<prefix>]\n" -"\t\t[-u [--exclude-per-directory=<gitignore>] | -i]]\n" -"\t\t[--index-output=<file>] [--no-sparse-checkout]\n" -"\t\t(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\n" +"AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ " +"/var/www/git/$1\n" +"AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ " +"/var/www/git/$1\n" +"ScriptAliasMatch \\\n" +"\t\"(?x)^/git/(.*/(HEAD | \\\n" +"\t\t\tinfo/refs | \\\n" +"\t\t\tobjects/info/[^/]+ | \\\n" +"\t\t\tgit-(upload|receive)-pack))$\" \\\n" +"\t/usr/libexec/git-core/git-http-backend/$1\n" +"ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/\n" msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:23 -msgid "" -"Reads the tree information given by <tree-ish> into the index, but does not " -"actually *update* any of the files it \"caches\". (see: " -"linkgit:git-checkout-index[1])" +#. type: Labeled list +#: en/git-http-backend.txt:193 +#, no-wrap +msgid "Lighttpd" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:28 +#: en/git-http-backend.txt:197 msgid "" -"Optionally, it can merge a tree into the index, perform a fast-forward " -"(i.e. 2-way) merge, or a 3-way merge, with the `-m` flag. When used with " -"`-m`, the `-u` flag causes it to also update the files in the work tree with " -"the result of the merge." +"Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are loaded, " +"then set `GIT_PROJECT_ROOT` appropriately and redirect all requests to the " +"CGI:" msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:31 +#. type: delimited block - +#: en/git-http-backend.txt:207 +#, no-wrap msgid "" -"Trivial merges are done by 'git read-tree' itself. Only conflicting paths " -"will be in unmerged state when 'git read-tree' returns." +"alias.url += ( \"/git\" => \"/usr/lib/git-core/git-http-backend\" )\n" +"$HTTP[\"url\"] =~ \"^/git\" {\n" +"\tcgi.assign = (\"\" => \"\")\n" +"\tsetenv.add-environment = (\n" +"\t\t\"GIT_PROJECT_ROOT\" => \"/var/www/git\",\n" +"\t\t\"GIT_HTTP_EXPORT_ALL\" => \"\"\n" +"\t)\n" +"}\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:39 -msgid "" -"Perform a merge, not just a read. The command will refuse to run if your " -"index file has unmerged entries, indicating that you have not finished " -"previous merge you started." +#: en/git-http-backend.txt:210 +msgid "To enable anonymous read access but authenticated write access:" msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:40 +#. type: delimited block - +#: en/git-http-backend.txt:218 #, no-wrap -msgid "--reset" +msgid "" +"$HTTP[\"querystring\"] =~ \"service=git-receive-pack\" {\n" +"\tinclude \"git-auth.conf\"\n" +"}\n" +"$HTTP[\"url\"] =~ \"^/git/.*/git-receive-pack$\" {\n" +"\tinclude \"git-auth.conf\"\n" +"}\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:43 -msgid "Same as -m, except that unmerged entries are discarded instead of failing." +#: en/git-http-backend.txt:221 +msgid "where `git-auth.conf` looks something like:" msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:47 +#. type: delimited block - +#: en/git-http-backend.txt:231 +#, no-wrap msgid "" -"After a successful merge, update the files in the work tree with the result " -"of the merge." +"auth.require = (\n" +"\t\"/\" => (\n" +"\t\t\"method\" => \"basic\",\n" +"\t\t\"realm\" => \"Git Access\",\n" +"\t\t\"require\" => \"valid-user\"\n" +"\t )\n" +")\n" +"# ...and set up auth.backend here\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:56 +#: en/git-http-backend.txt:234 +msgid "To require authentication for both reads and writes:" +msgstr "" + +#. type: delimited block - +#: en/git-http-backend.txt:239 +#, no-wrap msgid "" -"Usually a merge requires the index file as well as the files in the working " -"tree to be up to date with the current head commit, in order not to lose " -"local changes. This flag disables the check with the working tree and is " -"meant to be used when creating a merge of trees that are not directly " -"related to the current working tree status into a temporary index file." +"$HTTP[\"url\"] =~ \"^/git/private\" {\n" +"\tinclude \"git-auth.conf\"\n" +"}\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:61 +#: en/git-http-backend.txt:246 msgid "" -"Check if the command would error out, without updating the index or the " -"files in the working tree for real." +"'git http-backend' relies upon the `CGI` environment variables set by the " +"invoking web server, including:" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:64 -msgid "Show the progress of checking files out." +#: en/git-http-backend.txt:248 +msgid "PATH_INFO (if GIT_PROJECT_ROOT is set, otherwise PATH_TRANSLATED)" msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:65 -#, no-wrap -msgid "--trivial" +#. type: Plain text +#: en/git-http-backend.txt:249 +msgid "REMOTE_USER" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:70 -msgid "" -"Restrict three-way merge by 'git read-tree' to happen only if there is no " -"file-level merging required, instead of resolving merge for trivial cases " -"and leaving conflicting files unresolved in the index." +#: en/git-http-backend.txt:250 +msgid "REMOTE_ADDR" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:77 -msgid "" -"Usually a three-way merge by 'git read-tree' resolves the merge for really " -"trivial cases and leaves other cases unresolved in the index, so that " -"porcelains can implement different merge policies. This flag makes the " -"command resolve a few more cases internally:" +#: en/git-http-backend.txt:251 +msgid "CONTENT_TYPE" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:80 -msgid "" -"when one side removes a path and the other side leaves the path unmodified. " -"The resolution is to remove that path." +#: en/git-http-backend.txt:252 +msgid "QUERY_STRING" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:81 -msgid "when both sides remove a path. The resolution is to remove that path." +#: en/git-http-backend.txt:253 +msgid "REQUEST_METHOD" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:83 -msgid "when both sides add a path identically. The resolution is to add that path." +#: en/git-http-backend.txt:257 +msgid "" +"The `GIT_HTTP_EXPORT_ALL` environmental variable may be passed to " +"'git-http-backend' to bypass the check for the \"git-daemon-export-ok\" file " +"in each repository before allowing export of that repository." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:90 +#: en/git-http-backend.txt:266 msgid "" -"Keep the current index contents, and read the contents of the named tree-ish " -"under the directory at `<prefix>`. The command will refuse to overwrite " -"entries that already existed in the original index file. Note that the " -"`<prefix>/` value must end with a slash." +"The `GIT_HTTP_MAX_REQUEST_BUFFER` environment variable (or the " +"`http.maxRequestBuffer` config variable) may be set to change the largest " +"ref negotiation request that git will handle during a fetch; any fetch " +"requiring a larger buffer will not succeed. This value should not normally " +"need to be changed, but may be helpful if you are fetching from a repository " +"with an extremely large number of refs. The value can be specified with a " +"unit (e.g., `100M` for 100 megabytes). The default is 10 megabytes." msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:91 -#, no-wrap -msgid "--exclude-per-directory=<gitignore>" +#. type: Plain text +#: en/git-http-backend.txt:271 +msgid "" +"The backend process sets GIT_COMMITTER_NAME to '$REMOTE_USER' and " +"GIT_COMMITTER_EMAIL to '$\\{REMOTE_USER}@http.$\\{REMOTE_ADDR\\}', ensuring " +"that any reflogs created by 'git-receive-pack' contain some identifying " +"information of the remote user who performed the push." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:105 +#: en/git-http-backend.txt:274 msgid "" -"When running the command with `-u` and `-m` options, the merge result may " -"need to overwrite paths that are not tracked in the current branch. The " -"command usually refuses to proceed with the merge to avoid losing such a " -"path. However this safety valve sometimes gets in the way. For example, it " -"often happens that the other branch added a file that used to be a generated " -"file in your branch, and the safety valve triggers when you try to switch to " -"that branch after you ran `make` but before running `make clean` to remove " -"the generated file. This option tells the command to read per-directory " -"exclude file (usually '.gitignore') and allows such an untracked but " -"explicitly ignored file to be overwritten." +"All `CGI` environment variables are available to each of the hooks invoked " +"by the 'git-receive-pack'." msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:106 +#. type: Title = +#: en/git-http-fetch.txt:2 #, no-wrap -msgid "--index-output=<file>" +msgid "git-http-fetch(1)" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:117 -msgid "" -"Instead of writing the results out to `$GIT_INDEX_FILE`, write the resulting " -"index in the named file. While the command is operating, the original index " -"file is locked with the same mechanism as usual. The file must allow to be " -"rename(2)ed into from a temporary file that is created next to the usual " -"index file; typically this means it needs to be on the same filesystem as " -"the index file itself, and you need write permission to the directories the " -"index file and index output file are located in." +#: en/git-http-fetch.txt:7 +msgid "git-http-fetch - Download from a remote Git repository via HTTP" msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:118 +#. type: Plain text +#: en/git-http-fetch.txt:13 #, no-wrap -msgid "--no-sparse-checkout" +msgid "" +"'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] " +"[--stdin] <commit> <url>\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:121 -msgid "Disable sparse checkout support even if `core.sparseCheckout` is true." +#: en/git-http-fetch.txt:17 +msgid "Downloads a remote Git repository via HTTP." +msgstr "" + +#. type: Plain text +#: en/git-http-fetch.txt:20 +#, no-wrap +msgid "" +"*NOTE*: use of this command without -a is deprecated. The -a\n" +"behaviour will become the default in a future release.\n" msgstr "" #. type: Labeled list -#: en/git-read-tree.txt:122 +#: en/git-http-fetch.txt:23 #, no-wrap -msgid "--empty" +msgid "commit-id" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:125 -msgid "Instead of reading tree object(s) into the index, just empty it." +#: en/git-http-fetch.txt:26 +msgid "Either the hash or the filename under [URL]/refs/ to pull." msgstr "" -#. type: Labeled list -#: en/git-read-tree.txt:126 -#, no-wrap -msgid "<tree-ish#>" +#. type: Plain text +#: en/git-http-fetch.txt:29 +msgid "Get the commit objects." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:128 -msgid "The id of the tree object(s) to be read/merged." +#: en/git-http-fetch.txt:31 +msgid "Get trees associated with the commit objects." msgstr "" -#. type: Title - -#: en/git-read-tree.txt:131 -#, no-wrap -msgid "Merging" +#. type: Plain text +#: en/git-http-fetch.txt:33 +msgid "Get all the objects." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:136 -msgid "" -"If `-m` is specified, 'git read-tree' can perform 3 kinds of merge, a single " -"tree merge if only 1 tree is given, a fast-forward merge with 2 trees, or a " -"3-way merge if 3 trees are provided." +#: en/git-http-fetch.txt:35 +msgid "Report what is downloaded." msgstr "" -#. type: Title ~ -#: en/git-read-tree.txt:139 +#. type: Labeled list +#: en/git-http-fetch.txt:36 #, no-wrap -msgid "Single Tree Merge" +msgid "-w <filename>" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:145 +#: en/git-http-fetch.txt:39 msgid "" -"If only 1 tree is specified, 'git read-tree' operates as if the user did not " -"specify `-m`, except that if the original index has an entry for a given " -"pathname, and the contents of the path match with the tree being read, the " -"stat info from the index is used. (In other words, the index's stat()s take " -"precedence over the merged tree's)." +"Writes the commit-id into the filename under $GIT_DIR/refs/<filename> on the " +"local end after the transfer is complete." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:149 +#: en/git-http-fetch.txt:43 msgid "" -"That means that if you do a `git read-tree -m <newtree>` followed by a `git " -"checkout-index -f -u -a`, the 'git checkout-index' only checks out the stuff " -"that really changed." +"Instead of a commit id on the command line (which is not expected in this " +"case), 'git http-fetch' expects lines on stdin in the format" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:152 -msgid "" -"This is used to avoid unnecessary false hits when 'git diff-files' is run " -"after 'git read-tree'." +#: en/git-http-fetch.txt:45 +#, no-wrap +msgid "<commit-id>['\\t'<filename-as-in--w>]\n" msgstr "" -#. type: Title ~ -#: en/git-read-tree.txt:155 +#. type: Labeled list +#: en/git-http-fetch.txt:46 #, no-wrap -msgid "Two Tree Merge" +msgid "--recover" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:161 +#: en/git-http-fetch.txt:49 msgid "" -"Typically, this is invoked as `git read-tree -m $H $M`, where $H is the head " -"commit of the current repository, and $M is the head of a foreign tree, " -"which is simply ahead of $H (i.e. we are in a fast-forward situation)." +"Verify that everything reachable from target is fetched. Used after an " +"earlier fetch is interrupted." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:164 -msgid "" -"When two trees are specified, the user is telling 'git read-tree' the " -"following:" +#. type: Title = +#: en/git-http-push.txt:2 +#, no-wrap +msgid "git-http-push(1)" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:166 -msgid "The current index and work tree is derived from $H, but" +#: en/git-http-push.txt:7 +msgid "git-http-push - Push objects over HTTP/DAV to another repository" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:167 -msgid "the user may have local changes in them since $H." +#: en/git-http-push.txt:13 +#, no-wrap +msgid "" +"'git http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> " +"[<ref>...]\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:169 -msgid "The user wants to fast-forward to $M." +#: en/git-http-push.txt:18 +msgid "Sends missing objects to remote repository, and updates the remote branch." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:175 +#: en/git-http-push.txt:22 +#, no-wrap msgid "" -"In this case, the `git read-tree -m $H $M` command makes sure that no local " -"change is lost as the result of this \"merge\". Here are the \"carry " -"forward\" rules, where \"I\" denotes the index, \"clean\" means that index " -"and work tree coincide, and \"exists\"/\"nothing\" refer to the presence of " -"a path in the specified commit:" +"*NOTE*: This command is temporarily disabled if your libcurl\n" +"is older than 7.16, as the combination has been reported\n" +"not to work and sometimes corrupts repository.\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:185 -#, no-wrap +#: en/git-http-push.txt:29 msgid "" -"\tI H M Result\n" -" -------------------------------------------------------\n" -" 0 nothing nothing nothing (does not happen)\n" -" 1 nothing nothing exists use M\n" -" 2 nothing exists nothing remove path from index\n" -" 3 nothing exists exists, use M if \"initial " -"checkout\",\n" -"\t\t\t\t H == M keep index otherwise\n" -"\t\t\t\t exists, fail\n" -"\t\t\t\t H != M\n" +"Do not assume that the remote repository is complete in its current state, " +"and verify all objects in the entire local ref's history exist in the remote " +"repository." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:190 -#, no-wrap +#: en/git-http-push.txt:36 en/git-send-pack.txt:60 msgid "" -" clean I==H I==M\n" -" ------------------\n" -" 4 yes N/A N/A nothing nothing keep index\n" -" 5 no N/A N/A nothing nothing keep index\n" +"Usually, the command refuses to update a remote ref that is not an ancestor " +"of the local ref used to overwrite it. This flag disables the check. What " +"this means is that the remote repository can lose commits; use it with care." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:195 -#, no-wrap -msgid "" -" 6 yes N/A yes nothing exists keep index\n" -" 7 no N/A yes nothing exists keep index\n" -" 8 yes N/A no nothing exists fail\n" -" 9 no N/A no nothing exists fail\n" +#: en/git-http-push.txt:39 en/git-push.txt:120 en/git-send-pack.txt:53 +msgid "Do everything except actually send the updates." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:200 -#, no-wrap +#: en/git-http-push.txt:43 msgid "" -" 10 yes yes N/A exists nothing remove path from index\n" -" 11 no yes N/A exists nothing fail\n" -" 12 yes no N/A exists nothing fail\n" -" 13 no no N/A exists nothing fail\n" +"Report the list of objects being walked locally and the list of objects " +"successfully sent to the remote repository." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:205 -#, no-wrap +#: en/git-http-push.txt:49 msgid "" -"\tclean (H==M)\n" -" ------\n" -" 14 yes exists exists keep index\n" -" 15 no exists exists keep index\n" +"Remove <ref> from remote repository. The specified branch cannot be the " +"remote HEAD. If -d is specified the following other conditions must also be " +"met:" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:214 -#, no-wrap -msgid "" -" clean I==H I==M (H!=M)\n" -" ------------------\n" -" 16 yes no no exists exists fail\n" -" 17 no no no exists exists fail\n" -" 18 yes no yes exists exists keep index\n" -" 19 no no yes exists exists keep index\n" -" 20 yes yes no exists exists use M\n" -" 21 no yes no exists exists fail\n" +#: en/git-http-push.txt:51 +msgid "Remote HEAD must resolve to an object that exists locally" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:219 -msgid "" -"In all \"keep index\" cases, the index entry stays as in the original index " -"file. If the entry is not up to date, 'git read-tree' keeps the copy in the " -"work tree intact when operating under the -u flag." +#: en/git-http-push.txt:52 +msgid "Specified branch resolves to an object that exists locally" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:230 -msgid "" -"When this form of 'git read-tree' returns successfully, you can see which of " -"the \"local changes\" that you made were carried forward by running `git " -"diff-index --cached $M`. Note that this does not necessarily match what " -"`git diff-index --cached $H` would have produced before such a two tree " -"merge. This is because of cases 18 and 19 --- if you already had the " -"changes in $M (e.g. maybe you picked it up via e-mail in a patch form), `git " -"diff-index --cached $H` would have told you about the change before this " -"merge, but it would not show in `git diff-index --cached $M` output after " -"the two-tree merge." +#: en/git-http-push.txt:53 +msgid "Specified branch is an ancestor of the remote HEAD" +msgstr "" + +#. type: Labeled list +#: en/git-http-push.txt:54 en/git-send-pack.txt:92 +#, no-wrap +msgid "<ref>..." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:237 -msgid "" -"Case 3 is slightly tricky and needs explanation. The result from this rule " -"logically should be to remove the path if the user staged the removal of the " -"path and then switching to a new branch. That however will prevent the " -"initial checkout from happening, so the rule is modified to use M (new tree) " -"only when the content of the index is empty. Otherwise the removal of the " -"path is kept as long as $H and $M are the same." +#: en/git-http-push.txt:56 en/git-send-pack.txt:94 +msgid "The remote refs to update." msgstr "" -#. type: Title ~ -#: en/git-read-tree.txt:239 +#. type: Title - +#: en/git-http-push.txt:59 en/git-send-pack.txt:97 #, no-wrap -msgid "3-Way Merge" +msgid "Specifying the Refs" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:242 +#: en/git-http-push.txt:65 msgid "" -"Each \"index\" entry has two bits worth of \"stage\" state. stage 0 is the " -"normal one, and is the only one you'd see in any kind of normal use." +"A '<ref>' specification can be either a single pattern, or a pair of such " +"patterns separated by a colon \":\" (this means that a ref name cannot have " +"a colon in it). A single pattern '<name>' is just a shorthand for " +"'<name>:<name>'." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:245 +#: en/git-http-push.txt:71 msgid "" -"However, when you do 'git read-tree' with three trees, the \"stage\" starts " -"out at 1." +"Each pattern pair consists of the source side (before the colon) and the " +"destination side (after the colon). The ref to be pushed is determined by " +"finding a match that matches the source side, and where it is pushed is " +"determined by using the destination side." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:247 -msgid "This means that you can do" +#: en/git-http-push.txt:74 en/git-send-pack.txt:125 +msgid "It is an error if <src> does not match exactly one of the local refs." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:250 -#, no-wrap -msgid "$ git read-tree -m <tree1> <tree2> <tree3>\n" +#. type: Plain text +#: en/git-http-push.txt:76 en/git-send-pack.txt:129 +msgid "If <dst> does not match any remote ref, either" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:258 +#: en/git-http-push.txt:79 en/git-send-pack.txt:132 msgid "" -"and you will end up with an index with all of the <tree1> entries in " -"\"stage1\", all of the <tree2> entries in \"stage2\" and all of the <tree3> " -"entries in \"stage3\". When performing a merge of another branch into the " -"current branch, we use the common ancestor tree as <tree1>, the current " -"branch head as <tree2>, and the other branch head as <tree3>." +"it has to start with \"refs/\"; <dst> is used as the destination literally " +"in this case." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:262 +#: en/git-http-push.txt:83 en/git-send-pack.txt:136 msgid "" -"Furthermore, 'git read-tree' has special-case logic that says: if you see a " -"file that matches in all respects in the following states, it \"collapses\" " -"back to \"stage0\":" +"<src> == <dst> and the ref that matched the <src> must not exist in the set " +"of remote refs; the ref matched <src> locally is used as the name of the " +"destination." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:266 +#: en/git-http-push.txt:89 en/git-send-pack.txt:142 msgid "" -"stage 2 and 3 are the same; take one or the other (it makes no difference - " -"the same work has been done on our branch in stage 2 and their branch in " -"stage 3)" +"Without `--force`, the <src> ref is stored at the remote only if <dst> does " +"not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>. This " +"check, known as \"fast-forward check\", is performed in order to avoid " +"accidentally overwriting the remote ref and lose other peoples' commits from " +"there." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:271 -msgid "" -"stage 1 and stage 2 are the same and stage 3 is different; take stage 3 (our " -"branch in stage 2 did not do anything since the ancestor in stage 1 while " -"their branch in stage 3 worked on it)" +#: en/git-http-push.txt:91 en/git-send-pack.txt:144 +msgid "With `--force`, the fast-forward check is disabled for all refs." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:274 +#: en/git-http-push.txt:94 en/git-send-pack.txt:147 msgid "" -"stage 1 and stage 3 are the same and stage 2 is different take stage 2 (we " -"did something while they did nothing)" +"Optionally, a <ref> parameter can be prefixed with a plus '+' sign to " +"disable the fast-forward check only on that ref." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:278 -msgid "" -"The 'git write-tree' command refuses to write a nonsensical tree, and it " -"will complain about unmerged entries if it sees a single entry that is not " -"stage 0." +#. type: Title = +#: en/git-imap-send.txt:2 +#, no-wrap +msgid "git-imap-send(1)" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:284 -msgid "" -"OK, this all sounds like a collection of totally nonsensical rules, but it's " -"actually exactly what you want in order to do a fast merge. The different " -"stages represent the \"result tree\" (stage 0, aka \"merged\"), the original " -"tree (stage 1, aka \"orig\"), and the two trees you are trying to merge " -"(stage 2 and 3 respectively)." +#: en/git-imap-send.txt:7 +msgid "git-imap-send - Send a collection of patches from stdin to an IMAP folder" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:289 -msgid "" -"The order of stages 1, 2 and 3 (hence the order of three <tree-ish> " -"command-line arguments) are significant when you start a 3-way merge with an " -"index file that is already populated. Here is an outline of how the " -"algorithm works:" +#: en/git-imap-send.txt:13 +#, no-wrap +msgid "'git imap-send' [-v] [-q] [--[no-]curl]\n" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:292 +#: en/git-imap-send.txt:23 msgid "" -"if a file exists in identical format in all three trees, it will " -"automatically collapse to \"merged\" state by 'git read-tree'." +"This command uploads a mailbox generated with 'git format-patch' into an " +"IMAP drafts folder. This allows patches to be sent as other email is when " +"using mail clients that cannot read mailbox files directly. The command also " +"works with any general mailbox in which emails have the fields \"From\", " +"\"Date\", and \"Subject\" in that order." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:297 -msgid "" -"a file that has _any_ difference what-so-ever in the three trees will stay " -"as separate entries in the index. It's up to \"porcelain policy\" to " -"determine how to remove the non-0 stages, and insert a merged version." +#: en/git-imap-send.txt:25 +msgid "Typical usage is something like:" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:302 -msgid "" -"the index file saves and restores with all this information, so you can " -"merge things incrementally, but as long as it has entries in stages 1/2/3 " -"(i.e., \"unmerged entries\") you can't write the result. So now the merge " -"algorithm ends up being really simple:" +#: en/git-imap-send.txt:27 +msgid "git format-patch --signoff --stdout --attach origin | git imap-send" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:305 -msgid "" -"you walk the index in order, and ignore all entries of stage 0, since " -"they've already been done." +#: en/git-imap-send.txt:39 +msgid "Be quiet." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:309 -msgid "" -"if you find a \"stage1\", but no matching \"stage2\" or \"stage3\", you know " -"it's been removed from both trees (it only existed in the original tree), " -"and you remove that entry." +#. type: Labeled list +#: en/git-imap-send.txt:40 +#, no-wrap +msgid "--curl" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:314 +#: en/git-imap-send.txt:44 msgid "" -"if you find a matching \"stage2\" and \"stage3\" tree, you remove one of " -"them, and turn the other into a \"stage0\" entry. Remove any matching " -"\"stage1\" entry if it exists too. .. all the normal trivial rules .." +"Use libcurl to communicate with the IMAP server, unless tunneling into it. " +"Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND option set." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:319 -msgid "" -"You would normally use 'git merge-index' with supplied 'git merge-one-file' " -"to do this last step. The script updates the files in the working tree as " -"it merges each path and at the end of a successful merge." +#. type: Labeled list +#: en/git-imap-send.txt:45 +#, no-wrap +msgid "--no-curl" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:327 +#: en/git-imap-send.txt:49 msgid "" -"When you start a 3-way merge with an index file that is already populated, " -"it is assumed that it represents the state of the files in your work tree, " -"and you can even have files with changes unrecorded in the index file. It " -"is further assumed that this state is \"derived\" from the stage 2 tree. " -"The 3-way merge refuses to run if it finds an entry in the original index " -"file that does not match stage 2." +"Talk to the IMAP server using git's own IMAP routines instead of using " +"libcurl. Ignored if Git was built with the NO_OPENSSL option set." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:332 +#: en/git-imap-send.txt:56 msgid "" -"This is done to prevent you from losing your work-in-progress changes, and " -"mixing your random changes in an unrelated merge commit. To illustrate, " -"suppose you start from what has been committed last to your repository:" +"To use the tool, imap.folder and either imap.tunnel or imap.host must be set " +"to appropriate values." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:336 +#. type: Labeled list +#: en/git-imap-send.txt:60 #, no-wrap -msgid "" -"$ JC=`git rev-parse --verify \"HEAD^0\"`\n" -"$ git checkout-index -f -u -a $JC\n" +msgid "imap.folder" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:341 +#: en/git-imap-send.txt:64 msgid "" -"You do random edits, without running 'git update-index'. And then you " -"notice that the tip of your \"upstream\" tree has advanced since you pulled " -"from him:" +"The folder to drop the mails into, which is typically the Drafts folder. For " +"example: \"INBOX.Drafts\", \"INBOX/Drafts\" or \"[Gmail]/Drafts\". Required." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:345 +#. type: Labeled list +#: en/git-imap-send.txt:65 #, no-wrap -msgid "" -"$ git fetch git://.... linus\n" -"$ LT=`git rev-parse FETCH_HEAD`\n" +msgid "imap.tunnel" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:351 +#: en/git-imap-send.txt:69 msgid "" -"Your work tree is still based on your HEAD ($JC), but you have some edits " -"since. Three-way merge makes sure that you have not added or modified index " -"entries since $JC, and if you haven't, then does the right thing. So with " -"the following sequence:" +"Command used to setup a tunnel to the IMAP server through which commands " +"will be piped instead of using a direct network connection to the " +"server. Required when imap.host is not set." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:357 +#. type: Labeled list +#: en/git-imap-send.txt:70 #, no-wrap -msgid "" -"$ git read-tree -m -u `git merge-base $JC $LT` $JC $LT\n" -"$ git merge-index git-merge-one-file -a\n" -"$ echo \"Merge with Linus\" | \\\n" -" git commit-tree `git write-tree` -p $JC -p $LT\n" +msgid "imap.host" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:362 +#: en/git-imap-send.txt:74 msgid "" -"what you would commit is a pure merge between $JC and $LT without your " -"work-in-progress changes, and your work tree would be updated to the result " -"of the merge." +"A URL identifying the server. Use a `imap://` prefix for non-secure " +"connections and a `imaps://` prefix for secure connections. Ignored when " +"imap.tunnel is set, but required otherwise." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:366 -msgid "" -"However, if you have local changes in the working tree that would be " -"overwritten by this merge, 'git read-tree' will refuse to run to prevent " -"your changes from being lost." +#. type: Labeled list +#: en/git-imap-send.txt:75 +#, no-wrap +msgid "imap.user" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:376 -msgid "" -"In other words, there is no need to worry about what exists only in the " -"working tree. When you have local changes in a part of the project that is " -"not involved in the merge, your changes do not interfere with the merge, and " -"are kept intact. When they *do* interfere, the merge does not even start " -"('git read-tree' complains loudly and fails without modifying anything). In " -"such a case, you can simply continue doing what you were in the middle of " -"doing, and when your working tree is ready (i.e. you have finished your " -"work-in-progress), attempt the merge again." +#: en/git-imap-send.txt:77 +msgid "The username to use when logging in to the server." msgstr "" -#. type: Title - -#: en/git-read-tree.txt:379 +#. type: Labeled list +#: en/git-imap-send.txt:78 #, no-wrap -msgid "Sparse checkout" +msgid "imap.pass" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:384 -msgid "" -"\"Sparse checkout\" allows populating the working directory sparsely. It " -"uses the skip-worktree bit (see linkgit:git-update-index[1]) to tell Git " -"whether a file in the working directory is worth looking at." +#: en/git-imap-send.txt:80 +msgid "The password to use when logging in to the server." msgstr "" -#. type: Plain text -#: en/git-read-tree.txt:393 -msgid "" -"'git read-tree' and other merge-based commands ('git merge', 'git " -"checkout'...) can help maintaining the skip-worktree bitmap and working " -"directory update. `$GIT_DIR/info/sparse-checkout` is used to define the " -"skip-worktree reference bitmap. When 'git read-tree' needs to update the " -"working directory, it resets the skip-worktree bit in the index based on " -"this file, which uses the same syntax as .gitignore files. If an entry " -"matches a pattern in this file, skip-worktree will not be set on that " -"entry. Otherwise, skip-worktree will be set." +#. type: Labeled list +#: en/git-imap-send.txt:81 +#, no-wrap +msgid "imap.port" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:397 +#: en/git-imap-send.txt:85 msgid "" -"Then it compares the new skip-worktree value with the previous one. If " -"skip-worktree turns from set to unset, it will add the corresponding file " -"back. If it turns from unset to set, that file will be removed." +"An integer port number to connect to on the server. Defaults to 143 for " +"imap:// hosts and 993 for imaps:// hosts. Ignored when imap.tunnel is set." +msgstr "" + +#. type: Labeled list +#: en/git-imap-send.txt:86 +#, no-wrap +msgid "imap.sslverify" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:401 +#: en/git-imap-send.txt:90 msgid "" -"While `$GIT_DIR/info/sparse-checkout` is usually used to specify what files " -"are in, you can also specify what files are _not_ in, using negate " -"patterns. For example, to remove the file `unwanted`:" +"A boolean to enable/disable verification of the server certificate used by " +"the SSL/TLS connection. Default is `true`. Ignored when imap.tunnel is set." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:405 +#. type: Labeled list +#: en/git-imap-send.txt:91 #, no-wrap -msgid "" -"/*\n" -"!unwanted\n" +msgid "imap.preformattedHTML" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:413 +#: en/git-imap-send.txt:97 msgid "" -"Another tricky thing is fully repopulating the working directory when you no " -"longer want sparse checkout. You cannot just disable \"sparse checkout\" " -"because skip-worktree bits are still in the index and your working directory " -"is still sparsely populated. You should re-populate the working directory " -"with the `$GIT_DIR/info/sparse-checkout` file content as follows:" +"A boolean to enable/disable the use of html encoding when sending a patch. " +"An html encoded patch will be bracketed with <pre> and have a content type " +"of text/html. Ironically, enabling this option causes Thunderbird to send " +"the patch as a plain/text, format=fixed email. Default is `false`." msgstr "" -#. type: delimited block - -#: en/git-read-tree.txt:416 +#. type: Labeled list +#: en/git-imap-send.txt:98 #, no-wrap -msgid "/*\n" +msgid "imap.authMethod" msgstr "" #. type: Plain text -#: en/git-read-tree.txt:422 +#: en/git-imap-send.txt:104 msgid "" -"Then you can disable sparse checkout. Sparse checkout support in 'git " -"read-tree' and similar commands is disabled by default. You need to turn " -"`core.sparseCheckout` on in order to have sparse checkout support." +"Specify authenticate method for authentication with IMAP server. If Git was " +"built with the NO_CURL option, or if your curl version is older than 7.34.0, " +"or if you're running git-imap-send with the `--no-curl` option, the only " +"supported method is 'CRAM-MD5'. If this is not set then 'git imap-send' uses " +"the basic IMAP plaintext LOGIN command." msgstr "" #. type: Plain text -#: en/git-read-tree.txt:428 -msgid "linkgit:git-write-tree[1]; linkgit:git-ls-files[1]; linkgit:gitignore[5]" +#: en/git-imap-send.txt:109 +msgid "Using tunnel mode:" msgstr "" -#. type: Title = -#: en/git-rebase.txt:2 +#. type: delimited block . +#: en/git-imap-send.txt:114 #, no-wrap -msgid "git-rebase(1)" +msgid "" +"[imap]\n" +" folder = \"INBOX.Drafts\"\n" +" tunnel = \"ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> " +"/dev/null\"\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:7 -msgid "git-rebase - Reapply commits on top of another base tip" +#: en/git-imap-send.txt:117 +msgid "Using direct mode:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:16 +#. type: delimited block . +#: en/git-imap-send.txt:124 #, no-wrap msgid "" -"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto " -"<newbase>]\n" -"\t[<upstream> [<branch>]]\n" -"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto " -"<newbase>]\n" -"\t--root [<branch>]\n" -"'git rebase' --continue | --skip | --abort | --quit | --edit-todo\n" +"[imap]\n" +" folder = \"INBOX.Drafts\"\n" +" host = imap://imap.example.com\n" +" user = bob\n" +" pass = p4ssw0rd\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:22 +#: en/git-imap-send.txt:127 +msgid "Using direct mode with SSL:" +msgstr "" + +#. type: delimited block . +#: en/git-imap-send.txt:136 +#, no-wrap msgid "" -"If <branch> is specified, 'git rebase' will perform an automatic `git " -"checkout <branch>` before doing anything else. Otherwise it remains on the " -"current branch." +"[imap]\n" +" folder = \"INBOX.Drafts\"\n" +" host = imaps://imap.example.com\n" +" user = bob\n" +" pass = p4ssw0rd\n" +" port = 123\n" +" sslverify = false\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:28 +#: en/git-imap-send.txt:143 msgid "" -"If <upstream> is not specified, the upstream configured in " -"branch.<name>.remote and branch.<name>.merge options will be used (see " -"linkgit:git-config[1] for details) and the `--fork-point` option is " -"assumed. If you are currently not on any branch or if the current branch " -"does not have a configured upstream, the rebase will abort." +"To submit patches using GMail's IMAP interface, first, edit your " +"~/.gitconfig to specify your account settings:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:35 +#. type: delimited block - +#: en/git-imap-send.txt:151 +#, no-wrap msgid "" -"All changes made by commits in the current branch but that are not in " -"<upstream> are saved to a temporary area. This is the same set of commits " -"that would be shown by `git log <upstream>..HEAD`; or by `git log " -"'fork_point'..HEAD`, if `--fork-point` is active (see the description on " -"`--fork-point` below); or by `git log HEAD`, if the `--root` option is " -"specified." +"[imap]\n" +"\tfolder = \"[Gmail]/Drafts\"\n" +"\thost = imaps://imap.gmail.com\n" +"\tuser = user@gmail.com\n" +"\tport = 993\n" +"\tsslverify = false\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:40 +#: en/git-imap-send.txt:155 msgid "" -"The current branch is reset to <upstream>, or <newbase> if the --onto option " -"was supplied. This has the exact same effect as `git reset --hard " -"<upstream>` (or <newbase>). ORIG_HEAD is set to point at the tip of the " -"branch before the reset." +"You might need to instead use: folder = \"[Google Mail]/Drafts\" if you get " +"an error that the \"Folder doesn't exist\"." msgstr "" #. type: Plain text -#: en/git-rebase.txt:46 -msgid "" -"The commits that were previously saved into the temporary area are then " -"reapplied to the current branch, one by one, in order. Note that any commits " -"in HEAD which introduce the same textual changes as a commit in " -"HEAD..<upstream> are omitted (i.e., a patch already accepted upstream with a " -"different commit message or timestamp will be skipped)." +#: en/git-imap-send.txt:157 +msgid "Once the commits are ready to be sent, run the following command:" msgstr "" #. type: Plain text -#: en/git-rebase.txt:53 +#: en/git-imap-send.txt:159 +#, no-wrap msgid "" -"It is possible that a merge failure will prevent this process from being " -"completely automatic. You will have to resolve any such merge failure and " -"run `git rebase --continue`. Another option is to bypass the commit that " -"caused the merge failure with `git rebase --skip`. To check out the " -"original <branch> and remove the .git/rebase-apply working files, use the " -"command `git rebase --abort` instead." +" $ git format-patch --cover-letter -M --stdout origin/master | git " +"imap-send\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:55 -msgid "Assume the following history exists and the current branch is \"topic\":" +#: en/git-imap-send.txt:163 +msgid "" +"Just make sure to disable line wrapping in the email client (GMail's web " +"interface will wrap lines no matter what, so you need to use a real IMAP " +"client)." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:60 +#. type: Title - +#: en/git-imap-send.txt:165 #, no-wrap -msgid "" -" A---B---C topic\n" -" /\n" -" D---E---F---G master\n" +msgid "CAUTION" msgstr "" #. type: Plain text -#: en/git-rebase.txt:63 -msgid "From this point, the result of either of the following commands:" +#: en/git-imap-send.txt:172 +msgid "" +"It is still your responsibility to make sure that the email message sent by " +"your email program meets the standards of your project. Many projects do " +"not like patches to be attached. Some mail agents will transform patches " +"(e.g. wrap lines, send them as format=flowed) in ways that make them fail. " +"You will get angry flames ridiculing you if you don't check this." msgstr "" #. type: Plain text -#: en/git-rebase.txt:67 +#: en/git-imap-send.txt:176 #, no-wrap msgid "" -" git rebase master\n" -" git rebase master topic\n" +"Thunderbird in particular is known to be problematic. Thunderbird\n" +"users may wish to visit this web page for more information:\n" +" " +"http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:69 -msgid "would be:" +#: en/git-imap-send.txt:180 +msgid "linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:74 +#. type: Title = +#: en/git-index-pack.txt:2 #, no-wrap -msgid "" -" A'--B'--C' topic\n" -" /\n" -" D---E---F---G master\n" +msgid "git-index-pack(1)" msgstr "" #. type: Plain text -#: en/git-rebase.txt:79 -#, no-wrap -msgid "" -"*NOTE:* The latter form is just a short-hand of `git checkout topic`\n" -"followed by `git rebase master`. When rebase exits `topic` will\n" -"remain the checked-out branch.\n" +#: en/git-index-pack.txt:7 +msgid "git-index-pack - Build pack index file for an existing packed archive" msgstr "" #. type: Plain text -#: en/git-rebase.txt:85 +#: en/git-index-pack.txt:15 +#, no-wrap msgid "" -"If the upstream branch already contains a change you have made (e.g., " -"because you mailed a patch which was applied upstream), then that commit " -"will be skipped. For example, running `git rebase master` on the following " -"history (in which `A'` and `A` introduce the same set of changes, but have " -"different committer information):" +"'git index-pack' [-v] [-o <index-file>] <pack-file>\n" +"'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]\n" +" [<pack-file>]\n" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:90 -#, no-wrap +#. type: Plain text +#: en/git-index-pack.txt:23 msgid "" -" A---B---C topic\n" -" /\n" -" D---E---A'---F master\n" +"Reads a packed archive (.pack) from the specified file, and builds a pack " +"index file (.idx) for it. The packed archive together with the pack index " +"can then be placed in the objects/pack/ directory of a Git repository." msgstr "" #. type: Plain text -#: en/git-rebase.txt:93 -msgid "will result in:" +#: en/git-index-pack.txt:29 +msgid "Be verbose about what is going on, including progress status." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:98 +#. type: Labeled list +#: en/git-index-pack.txt:30 #, no-wrap -msgid "" -" B'---C' topic\n" -" /\n" -" D---E---A'---F master\n" +msgid "-o <index-file>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:103 +#: en/git-index-pack.txt:37 msgid "" -"Here is how you would transplant a topic branch based on one branch to " -"another, to pretend that you forked the topic branch from the latter branch, " -"using `rebase --onto`." +"Write the generated pack index into the specified file. Without this option " +"the name of pack index file is constructed from the name of packed archive " +"file by replacing .pack with .idx (and the program fails if the name of " +"packed archive does not end with .pack)." msgstr "" #. type: Plain text -#: en/git-rebase.txt:107 +#: en/git-index-pack.txt:47 msgid "" -"First let's assume your 'topic' is based on branch 'next'. For example, a " -"feature developed in 'topic' depends on some functionality which is found in " -"'next'." +"When this flag is provided, the pack is read from stdin instead and a copy " +"is then written to <pack-file>. If <pack-file> is not specified, the pack is " +"written to objects/pack/ directory of the current Git repository with a " +"default name determined from the pack content. If <pack-file> is not " +"specified consider using --keep to prevent a race condition between this " +"process and 'git repack'." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:114 +#. type: Labeled list +#: en/git-index-pack.txt:48 #, no-wrap +msgid "--fix-thin" +msgstr "" + +#. type: Plain text +#: en/git-index-pack.txt:53 msgid "" -" o---o---o---o---o master\n" -" \\\n" -" o---o---o---o---o next\n" -" \\\n" -" o---o---o topic\n" +"Fix a \"thin\" pack produced by `git pack-objects --thin` (see " +"linkgit:git-pack-objects[1] for details) by adding the excluded objects the " +"deltified objects are based on to the pack. This option only makes sense in " +"conjunction with --stdin." msgstr "" #. type: Plain text -#: en/git-rebase.txt:119 +#: en/git-index-pack.txt:61 msgid "" -"We want to make 'topic' forked from branch 'master'; for example, because " -"the functionality on which 'topic' depends was merged into the more stable " -"'master' branch. We want our tree to look like this:" +"Before moving the index into its final destination create an empty .keep " +"file for the associated pack file. This option is usually necessary with " +"--stdin to prevent a simultaneous 'git repack' process from deleting the " +"newly constructed pack and index before refs can be updated to use objects " +"contained in the pack." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:126 +#. type: Labeled list +#: en/git-index-pack.txt:62 #, no-wrap -msgid "" -" o---o---o---o---o master\n" -" | \\\n" -" | o'--o'--o' topic\n" -" \\\n" -" o---o---o---o---o next\n" +msgid "--keep=<msg>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:129 -msgid "We can get this using the following command:" +#: en/git-index-pack.txt:68 +msgid "" +"Like --keep create a .keep file before moving the index into its final " +"destination, but rather than creating an empty file place '<msg>' followed " +"by an LF into the .keep file. The '<msg>' message can later be searched for " +"within all .keep files to locate any which have outlived their usefulness." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:131 +#. type: Labeled list +#: en/git-index-pack.txt:69 en/git-pack-objects.txt:225 #, no-wrap -msgid " git rebase --onto master next topic\n" +msgid "--index-version=<version>[,<offset>]" msgstr "" #. type: Plain text -#: en/git-rebase.txt:135 +#: en/git-index-pack.txt:73 en/git-pack-objects.txt:229 msgid "" -"Another example of --onto option is to rebase part of a branch. If we have " -"the following situation:" +"This is intended to be used by the test suite only. It allows to force the " +"version for the generated pack index, and to force 64-bit index entries on " +"objects located above the given offset." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:142 -#, no-wrap -msgid "" -" H---I---J topicB\n" -" /\n" -" E---F---G topicA\n" -" /\n" -" A---B---C---D master\n" +#. type: Plain text +#: en/git-index-pack.txt:76 +msgid "Die, if the pack contains broken objects or links." msgstr "" #. type: Plain text -#: en/git-rebase.txt:145 en/git-rebase.txt:168 -msgid "then the command" +#: en/git-index-pack.txt:79 +msgid "Die if the pack contains broken links. For internal use only." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:147 +#. type: Labeled list +#: en/git-index-pack.txt:80 en/git-pack-objects.txt:215 #, no-wrap -msgid " git rebase --onto master topicA topicB\n" +msgid "--threads=<n>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:149 -msgid "would result in:" +#: en/git-index-pack.txt:89 +msgid "" +"Specifies the number of threads to spawn when resolving deltas. This " +"requires that index-pack be compiled with pthreads otherwise this option is " +"ignored with a warning. This is meant to reduce packing time on " +"multiprocessor machines. The required amount of memory for the delta search " +"window is however multiplied by the number of threads. Specifying 0 will " +"cause Git to auto-detect the number of CPU's and use maximum 3 threads." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:156 +#. type: Labeled list +#: en/git-index-pack.txt:90 en/git-unpack-objects.txt:47 #, no-wrap -msgid "" -" H'--I'--J' topicB\n" -" /\n" -" | E---F---G topicA\n" -" |/\n" -" A---B---C---D master\n" +msgid "--max-input-size=<size>" msgstr "" #. type: Plain text -#: en/git-rebase.txt:159 -msgid "This is useful when topicB does not depend on topicA." +#: en/git-index-pack.txt:92 en/git-unpack-objects.txt:49 +msgid "Die, if the pack is larger than <size>." +msgstr "" + +#. type: Title - +#: en/git-index-pack.txt:94 +#, no-wrap +msgid "Note" msgstr "" #. type: Plain text -#: en/git-rebase.txt:162 +#: en/git-index-pack.txt:100 msgid "" -"A range of commits could also be removed with rebase. If we have the " -"following situation:" +"Once the index has been created, the list of object names is sorted and the " +"SHA-1 hash of that list is printed to stdout. If --stdin was also used then " +"this is prefixed by either \"pack\\t\", or \"keep\\t\" if a new .keep file " +"was successfully created. This is useful to remove a" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:165 +#. type: Block title +#: en/git-index-pack.txt:100 #, no-wrap -msgid " E---F---G---H---I---J topicA\n" +msgid "keep file used as a lock to prevent the race with 'git repack'" msgstr "" #. type: Plain text -#: en/git-rebase.txt:170 +#: en/git-index-pack.txt:102 +msgid "mentioned above." +msgstr "" + +#. type: Title = +#: en/git-init-db.txt:2 #, no-wrap -msgid " git rebase --onto topicA~5 topicA~3 topicA\n" +msgid "git-init-db(1)" msgstr "" #. type: Plain text -#: en/git-rebase.txt:172 -msgid "would result in the removal of commits F and G:" +#: en/git-init-db.txt:7 +msgid "git-init-db - Creates an empty Git repository" msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:175 +#. type: Plain text +#: en/git-init-db.txt:13 #, no-wrap -msgid " E---H'---I'---J' topicA\n" +msgid "" +"'git init-db' [-q | --quiet] [--bare] [--template=<template_directory>] " +"[--separate-git-dir <git dir>] [--shared[=<permissions>]]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:180 +#: en/git-init-db.txt:20 msgid "" -"This is useful if F and G were flawed in some way, or should not be part of " -"topicA. Note that the argument to --onto and the <upstream> parameter can " -"be any valid commit-ish." +"This is a synonym for linkgit:git-init[1]. Please refer to the " +"documentation of that command." +msgstr "" + +#. type: Title = +#: en/git-init.txt:2 +#, no-wrap +msgid "git-init(1)" msgstr "" #. type: Plain text -#: en/git-rebase.txt:186 -msgid "" -"In case of conflict, 'git rebase' will stop at the first problematic commit " -"and leave conflict markers in the tree. You can use 'git diff' to locate " -"the markers (<<<<<<) and make edits to resolve the conflict. For each file " -"you edit, you need to tell Git that the conflict has been resolved, " -"typically this would be done with" +#: en/git-init.txt:7 +msgid "git-init - Create an empty Git repository or reinitialize an existing one" msgstr "" #. type: Plain text -#: en/git-rebase.txt:189 +#: en/git-init.txt:15 #, no-wrap -msgid " git add <filename>\n" +msgid "" +"'git init' [-q | --quiet] [--bare] [--template=<template_directory>]\n" +"\t [--separate-git-dir <git dir>]\n" +"\t [--shared[=<permissions>]] [directory]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:193 +#: en/git-init.txt:24 msgid "" -"After resolving the conflict manually and updating the index with the " -"desired resolution, you can continue the rebasing process with" +"This command creates an empty Git repository - basically a `.git` directory " +"with subdirectories for `objects`, `refs/heads`, `refs/tags`, and template " +"files. An initial `HEAD` file that references the HEAD of the master branch " +"is also created." msgstr "" #. type: Plain text -#: en/git-rebase.txt:196 -#, no-wrap -msgid " git rebase --continue\n" +#: en/git-init.txt:27 +msgid "" +"If the `$GIT_DIR` environment variable is set then it specifies a path to " +"use instead of `./.git` for the base of the repository." msgstr "" #. type: Plain text -#: en/git-rebase.txt:199 -msgid "Alternatively, you can undo the 'git rebase' with" +#: en/git-init.txt:32 +msgid "" +"If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` " +"environment variable then the sha1 directories are created underneath - " +"otherwise the default `$GIT_DIR/objects` directory is used." msgstr "" #. type: Plain text -#: en/git-rebase.txt:202 -#, no-wrap -msgid " git rebase --abort\n" +#: en/git-init.txt:37 +msgid "" +"Running 'git init' in an existing repository is safe. It will not overwrite " +"things that are already there. The primary reason for rerunning 'git init' " +"is to pick up newly added templates (or to move the repository to another " +"place if --separate-git-dir is given)." msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:206 en/config.txt:2586 -#, no-wrap -msgid "rebase.stat" +#. type: Plain text +#: en/git-init.txt:47 +msgid "Only print error and warning messages; all other output will be suppressed." msgstr "" #. type: Plain text -#: en/git-rebase.txt:209 en/config.txt:2589 +#: en/git-init.txt:52 msgid "" -"Whether to show a diffstat of what changed upstream since the last " -"rebase. False by default." +"Create a bare repository. If `GIT_DIR` environment is not set, it is set to " +"the current working directory." msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:210 en/config.txt:2590 -#, no-wrap -msgid "rebase.autoSquash" +#. type: Plain text +#: en/git-init.txt:57 +msgid "" +"Specify the directory from which templates will be used. (See the " +"\"TEMPLATE DIRECTORY\" section below.)" msgstr "" #. type: Plain text -#: en/git-rebase.txt:212 en/config.txt:2592 -msgid "If set to true enable `--autosquash` option by default." +#: en/git-init.txt:64 +msgid "" +"Instead of initializing the repository as a directory to either `$GIT_DIR` " +"or `./.git/`, create a text file there containing the path to the actual " +"repository. This file acts as filesystem-agnostic Git symbolic link to the " +"repository." +msgstr "" + +#. type: Plain text +#: en/git-init.txt:66 +msgid "" +"If this is reinitialization, the repository will be moved to the specified " +"path." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:213 en/config.txt:2593 +#: en/git-init.txt:67 #, no-wrap -msgid "rebase.autoStash" +msgid "--shared[=(false|true|umask|group|all|world|everybody|0xxx)]" msgstr "" #. type: Plain text -#: en/git-rebase.txt:215 -msgid "If set to true enable `--autostash` option by default." +#: en/git-init.txt:75 +msgid "" +"Specify that the Git repository is to be shared amongst several users. This " +"allows users belonging to the same group to push into that repository. When " +"specified, the config variable \"core.sharedRepository\" is set so that " +"files and directories under `$GIT_DIR` are created with the requested " +"permissions. When not specified, Git will use permissions reported by " +"umask(2)." +msgstr "" + +#. type: Plain text +#: en/git-init.txt:78 +msgid "" +"The option can have the following values, defaulting to 'group' if no value " +"is given:" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:216 en/config.txt:2601 +#: en/git-init.txt:80 #, no-wrap -msgid "rebase.missingCommitsCheck" +msgid "'umask' (or 'false')" msgstr "" #. type: Plain text -#: en/git-rebase.txt:221 +#: en/git-init.txt:84 msgid "" -"If set to \"warn\", print warnings about removed commits in interactive " -"mode. If set to \"error\", print the warnings and stop the rebase. If set to " -"\"ignore\", no checking is done. \"ignore\" by default." +"Use permissions reported by umask(2). The default, when `--shared` is not " +"specified." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:222 en/config.txt:2612 +#: en/git-init.txt:85 #, no-wrap -msgid "rebase.instructionFormat" +msgid "'group' (or 'true')" msgstr "" #. type: Plain text -#: en/git-rebase.txt:224 -msgid "Custom commit list format to use during an `--interactive` rebase." +#: en/git-init.txt:93 +msgid "" +"Make the repository group-writable, (and g+sx, since the git group may be " +"not the primary group of all users). This is used to loosen the permissions " +"of an otherwise safe umask(2) value. Note that the umask still applies to " +"the other permission bits (e.g. if umask is '0022', using 'group' will not " +"remove read privileges from other (non-group) users). See '0xxx' for how to " +"exactly specify the repository permissions." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:227 +#: en/git-init.txt:94 #, no-wrap -msgid "--onto <newbase>" +msgid "'all' (or 'world' or 'everybody')" msgstr "" #. type: Plain text -#: en/git-rebase.txt:232 -msgid "" -"Starting point at which to create the new commits. If the --onto option is " -"not specified, the starting point is <upstream>. May be any valid commit, " -"and not just an existing branch name." +#: en/git-init.txt:97 +msgid "Same as 'group', but make the repository readable by all users." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:236 -msgid "" -"As a special case, you may use \"A\\...B\" as a shortcut for the merge base " -"of A and B if there is exactly one merge base. You can leave out at most one " -"of A and B, in which case it defaults to HEAD." +#. type: Labeled list +#: en/git-init.txt:98 +#, no-wrap +msgid "'0xxx'" msgstr "" #. type: Plain text -#: en/git-rebase.txt:241 +#: en/git-init.txt:105 msgid "" -"Upstream branch to compare against. May be any valid commit, not just an " -"existing branch name. Defaults to the configured upstream for the current " -"branch." +"'0xxx' is an octal number and each file will have mode '0xxx'. '0xxx' will " +"override users' umask(2) value (and not only loosen permissions as 'group' " +"and 'all' does). '0640' will create a repository which is group-readable, " +"but not group-writable or accessible to others. '0660' will create a repo " +"that is readable and writable to the current user and group, but " +"inaccessible to others." msgstr "" #. type: Plain text -#: en/git-rebase.txt:247 -msgid "Restart the rebasing process after having resolved a merge conflict." +#: en/git-init.txt:110 +msgid "" +"By default, the configuration flag `receive.denyNonFastForwards` is enabled " +"in shared repositories, so that you cannot force a non fast-forwarding push " +"into it." msgstr "" #. type: Plain text -#: en/git-rebase.txt:254 +#: en/git-init.txt:113 msgid "" -"Abort the rebase operation and reset HEAD to the original branch. If " -"<branch> was provided when the rebase operation was started, then HEAD will " -"be reset to <branch>. Otherwise HEAD will be reset to where it was when the " -"rebase operation was started." +"If you provide a 'directory', the command is run inside it. If this " +"directory does not exist, it will be created." msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:255 en/sequencer.txt:6 +#. type: Title - +#: en/git-init.txt:117 #, no-wrap -msgid "--quit" +msgid "TEMPLATE DIRECTORY" msgstr "" #. type: Plain text -#: en/git-rebase.txt:259 +#: en/git-init.txt:121 msgid "" -"Abort the rebase operation but HEAD is not reset back to the original " -"branch. The index and working tree are also left unchanged as a result." -msgstr "" - -#. type: Labeled list -#: en/git-rebase.txt:260 -#, no-wrap -msgid "--keep-empty" +"Files and directories in the template directory whose name do not start with " +"a dot will be copied to the `$GIT_DIR` after it is created." msgstr "" #. type: Plain text -#: en/git-rebase.txt:263 -msgid "Keep the commits that do not change anything from its parents in the result." +#: en/git-init.txt:123 +msgid "The template directory will be one of the following (in order):" msgstr "" #. type: Plain text -#: en/git-rebase.txt:266 -msgid "Restart the rebasing process by skipping the current patch." +#: en/git-init.txt:125 +msgid "the argument given with the `--template` option;" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:267 -#, no-wrap -msgid "--edit-todo" +#. type: Plain text +#: en/git-init.txt:127 +msgid "the contents of the `$GIT_TEMPLATE_DIR` environment variable;" msgstr "" #. type: Plain text -#: en/git-rebase.txt:269 -msgid "Edit the todo list during an interactive rebase." +#: en/git-init.txt:129 +msgid "the `init.templateDir` configuration variable; or" msgstr "" #. type: Plain text -#: en/git-rebase.txt:275 -msgid "" -"Use merging strategies to rebase. When the recursive (default) merge " -"strategy is used, this allows rebase to be aware of renames on the upstream " -"side." +#: en/git-init.txt:131 +msgid "the default template directory: `/usr/share/git-core/templates`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:281 +#: en/git-init.txt:134 msgid "" -"Note that a rebase merge works by replaying each commit from the working " -"branch on top of the <upstream> branch. Because of this, when a merge " -"conflict happens, the side reported as 'ours' is the so-far rebased series, " -"starting with <upstream>, and 'theirs' is the working branch. In other " -"words, the sides are swapped." +"The default template directory includes some directory structure, suggested " +"\"exclude patterns\" (see linkgit:gitignore[5]), and sample hook files." msgstr "" #. type: Plain text -#: en/git-rebase.txt:287 +#: en/git-init.txt:137 msgid "" -"Use the given merge strategy. If there is no `-s` option 'git " -"merge-recursive' is used instead. This implies --merge." +"The sample hooks are all disabled by default, To enable one of the sample " +"hooks rename it by removing its `.sample` suffix." msgstr "" #. type: Plain text -#: en/git-rebase.txt:292 -msgid "" -"Because 'git rebase' replays each commit from the working branch on top of " -"the <upstream> branch using the given strategy, using the 'ours' strategy " -"simply discards all patches from the <branch>, which makes little sense." +#: en/git-init.txt:139 +msgid "See linkgit:githooks[5] for more general info on hook execution." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:293 +#: en/git-init.txt:143 #, no-wrap -msgid "-X <strategy-option>" +msgid "Start a new Git repository for an existing code base" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:294 +#. type: delimited block - +#: en/git-init.txt:150 #, no-wrap -msgid "--strategy-option=<strategy-option>" +msgid "" +"$ cd /path/to/my/codebase\n" +"$ git init <1>\n" +"$ git add . <2>\n" +"$ git commit <3>\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:299 -msgid "" -"Pass the <strategy-option> through to the merge strategy. This implies " -"`--merge` and, if no strategy has been specified, `-s recursive`. Note the " -"reversal of 'ours' and 'theirs' as noted above for the `-m` option." +#: en/git-init.txt:153 +msgid "Create a /path/to/my/codebase/.git directory." msgstr "" #. type: Plain text -#: en/git-rebase.txt:309 -msgid "Be quiet. Implies --no-stat." +#: en/git-init.txt:154 +msgid "Add all existing files to the index." msgstr "" #. type: Plain text -#: en/git-rebase.txt:313 -msgid "Be verbose. Implies --stat." +#: en/git-init.txt:155 +msgid "Record the pristine state as the first commit in the history." +msgstr "" + +#. type: Title = +#: en/git-instaweb.txt:2 +#, no-wrap +msgid "git-instaweb(1)" msgstr "" #. type: Plain text -#: en/git-rebase.txt:317 -msgid "" -"Show a diffstat of what changed upstream since the last rebase. The diffstat " -"is also controlled by the configuration option rebase.stat." +#: en/git-instaweb.txt:7 +msgid "git-instaweb - Instantly browse your working repository in gitweb" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:319 en/diff-options.txt:17 en/merge-options.txt:57 +#. type: Plain text +#: en/git-instaweb.txt:14 #, no-wrap -msgid "--no-stat" +msgid "" +"'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]\n" +" [--browser=<browser>]\n" +"'git instaweb' [--start] [--stop] [--restart]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:321 -msgid "Do not show a diffstat as part of the rebase process." +#: en/git-instaweb.txt:19 +msgid "" +"A simple script to set up `gitweb` and a web server for browsing the local " +"repository." msgstr "" #. type: Plain text -#: en/git-rebase.txt:324 -msgid "This option bypasses the pre-rebase hook. See also linkgit:githooks[5]." +#: en/git-instaweb.txt:26 +msgid "Only bind the web server to the local IP (127.0.0.1)." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:325 en/git-rev-parse.txt:98 en/git-show-ref.txt:59 en/git-tag.txt:80 +#: en/git-instaweb.txt:28 #, no-wrap -msgid "--verify" +msgid "--httpd" msgstr "" #. type: Plain text -#: en/git-rebase.txt:328 +#: en/git-instaweb.txt:34 msgid "" -"Allows the pre-rebase hook to run, which is the default. This option can be " -"used to override --no-verify. See also linkgit:githooks[5]." +"The HTTP daemon command-line that will be executed. Command-line options " +"may be specified here, and the configuration file will be added at the end " +"of the command-line. Currently apache2, lighttpd, mongoose, plackup and " +"webrick are supported. (Default: lighttpd)" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:336 +#: en/git-instaweb.txt:36 #, no-wrap -msgid "--force-rebase" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:339 -msgid "" -"Force a rebase even if the current branch is up-to-date and the command " -"without `--force` would return without doing anything." +msgid "--module-path" msgstr "" #. type: Plain text -#: en/git-rebase.txt:345 +#: en/git-instaweb.txt:39 msgid "" -"You may find this (or --no-ff with an interactive rebase) helpful after " -"reverting a topic branch merge, as this option recreates the topic branch " -"with fresh commits so it can be remerged successfully without needing to " -"\"revert the reversion\" (see the " -"link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for " -"details)." +"The module path (only needed if httpd is Apache). (Default: " +"/usr/lib/apache2/modules)" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:347 +#: en/git-instaweb.txt:41 #, no-wrap -msgid "--no-fork-point" +msgid "--port" msgstr "" #. type: Plain text -#: en/git-rebase.txt:351 -msgid "" -"Use reflog to find a better common ancestor between <upstream> and <branch> " -"when calculating which commits have been introduced by <branch>." +#: en/git-instaweb.txt:43 +msgid "The port number to bind the httpd to. (Default: 1234)" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:357 -msgid "" -"When --fork-point is active, 'fork_point' will be used instead of <upstream> " -"to calculate the set of commits to rebase, where 'fork_point' is the result " -"of `git merge-base --fork-point <upstream> <branch>` command (see " -"linkgit:git-merge-base[1]). If 'fork_point' ends up being empty, the " -"<upstream> will be used as a fallback." +#. type: Labeled list +#: en/git-instaweb.txt:45 +#, no-wrap +msgid "--browser" msgstr "" #. type: Plain text -#: en/git-rebase.txt:360 +#: en/git-instaweb.txt:51 msgid "" -"If either <upstream> or --root is given on the command line, then the " -"default is `--no-fork-point`, otherwise the default is `--fork-point`." -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:366 -msgid "" -"These flag are passed to the 'git apply' program (see linkgit:git-apply[1]) " -"that applies the patch. Incompatible with the --interactive option." +"The web browser that should be used to view the gitweb page. This will be " +"passed to the 'git web{litdd}browse' helper script along with the URL of the " +"gitweb instance. See linkgit:git-web{litdd}browse[1] for more information " +"about this. If the script fails, the URL will be printed to stdout." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:372 -msgid "" -"These flags are passed to 'git am' to easily change the dates of the rebased " -"commits (see linkgit:git-am[1]). Incompatible with the --interactive " -"option." +#. type: Labeled list +#: en/git-instaweb.txt:52 +#, no-wrap +msgid "start" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:378 -msgid "" -"Make a list of the commits which are about to be rebased. Let the user edit " -"that list before rebasing. This mode can also be used to split commits (see " -"SPLITTING COMMITS below)." +#. type: Labeled list +#: en/git-instaweb.txt:53 +#, no-wrap +msgid "--start" msgstr "" #. type: Plain text -#: en/git-rebase.txt:382 +#: en/git-instaweb.txt:56 msgid "" -"The commit list format can be changed by setting the configuration option " -"rebase.instructionFormat. A customized instruction format will " -"automatically have the long commit hash prepended to the format." +"Start the httpd instance and exit. Regenerate configuration files as " +"necessary for spawning a new instance." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:384 en/git-svn.txt:642 +#: en/git-instaweb.txt:57 #, no-wrap -msgid "--preserve-merges" +msgid "stop" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:388 -msgid "" -"Recreate merge commits instead of flattening the history by replaying " -"commits a merge commit introduces. Merge conflict resolutions or manual " -"amendments to merge commits are not preserved." +#. type: Labeled list +#: en/git-instaweb.txt:58 +#, no-wrap +msgid "--stop" msgstr "" #. type: Plain text -#: en/git-rebase.txt:392 +#: en/git-instaweb.txt:62 msgid "" -"This uses the `--interactive` machinery internally, but combining it with " -"the `--interactive` option explicitly is generally not a good idea unless " -"you know what you are doing (see BUGS below)." +"Stop the httpd instance and exit. This does not generate any of the " +"configuration files for spawning a new instance, nor does it close the " +"browser." msgstr "" #. type: Labeled list -#: en/git-rebase.txt:393 +#: en/git-instaweb.txt:63 #, no-wrap -msgid "-x <cmd>" +msgid "restart" msgstr "" #. type: Labeled list -#: en/git-rebase.txt:394 +#: en/git-instaweb.txt:64 #, no-wrap -msgid "--exec <cmd>" +msgid "--restart" msgstr "" #. type: Plain text -#: en/git-rebase.txt:398 +#: en/git-instaweb.txt:67 msgid "" -"Append \"exec <cmd>\" after each line creating a commit in the final " -"history. <cmd> will be interpreted as one or more shell commands." +"Restart the httpd instance and exit. Regenerate configuration files as " +"necessary for spawning a new instance." msgstr "" #. type: Plain text -#: en/git-rebase.txt:401 +#: en/git-instaweb.txt:72 +msgid "You may specify configuration in your .git/config" +msgstr "" + +#. type: delimited block - +#: en/git-instaweb.txt:80 +#, no-wrap msgid "" -"You may execute several commands by either using one instance of `--exec` " -"with several commands:" +"[instaweb]\n" +"\tlocal = true\n" +"\thttpd = apache2 -f\n" +"\tport = 4321\n" +"\tbrowser = konqueror\n" +"\tmodulePath = /usr/lib/apache2/modules\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:403 +#: en/git-instaweb.txt:86 +msgid "" +"If the configuration variable `instaweb.browser` is not set, `web.browser` " +"will be used instead if it is defined. See linkgit:git-web{litdd}browse[1] " +"for more information about this." +msgstr "" + +#. type: Title = +#: en/git-interpret-trailers.txt:2 #, no-wrap -msgid "\tgit rebase -i --exec \"cmd1 && cmd2 && ...\"\n" +msgid "git-interpret-trailers(1)" msgstr "" #. type: Plain text -#: en/git-rebase.txt:405 -msgid "or by giving more than one `--exec`:" +#: en/git-interpret-trailers.txt:7 +msgid "" +"git-interpret-trailers - help add structured information into commit " +"messages" msgstr "" #. type: Plain text -#: en/git-rebase.txt:407 +#: en/git-interpret-trailers.txt:12 #, no-wrap -msgid "\tgit rebase -i --exec \"cmd1\" --exec \"cmd2\" --exec ...\n" +msgid "" +"'git interpret-trailers' [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:411 +#: en/git-interpret-trailers.txt:18 msgid "" -"If `--autosquash` is used, \"exec\" lines will not be appended for the " -"intermediate commits, and will only appear at the end of each squash/fixup " -"series." +"Help adding 'trailers' lines, that look similar to RFC 822 e-mail headers, " +"at the end of the otherwise free-form part of a commit message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:414 +#: en/git-interpret-trailers.txt:24 msgid "" -"This uses the `--interactive` machinery internally, but it can be run " -"without an explicit `--interactive`." +"This command reads some patches or commit messages from either the <file> " +"arguments or the standard input if no <file> is specified. Then this command " +"applies the arguments passed using the `--trailer` option, if any, to the " +"commit message part of each input file. The result is emitted on the " +"standard output." msgstr "" #. type: Plain text -#: en/git-rebase.txt:424 +#: en/git-interpret-trailers.txt:29 msgid "" -"Rebase all commits reachable from <branch>, instead of limiting them with an " -"<upstream>. This allows you to rebase the root commit(s) on a branch. When " -"used with --onto, it will skip changes already contained in <newbase> " -"(instead of <upstream>) whereas without --onto it will operate on every " -"change. When used together with both --onto and --preserve-merges, 'all' " -"root commits will be rewritten to have <newbase> as parent instead." +"Some configuration variables control the way the `--trailer` arguments are " +"applied to each commit message and the way any existing trailer in the " +"commit message is changed. They also make it possible to automatically add " +"some trailers." msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:425 -#, no-wrap -msgid "--autosquash" +#. type: Plain text +#: en/git-interpret-trailers.txt:36 +msgid "" +"By default, a '<token>=<value>' or '<token>:<value>' argument given using " +"`--trailer` will be appended after the existing trailers only if the last " +"trailer has a different (<token>, <value>) pair (or if there is no existing " +"trailer). The <token> and <value> parts will be trimmed to remove starting " +"and trailing whitespace, and the resulting trimmed <token> and <value> will " +"appear in the message like this:" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:426 +#. type: delimited block - +#: en/git-interpret-trailers.txt:39 #, no-wrap -msgid "--no-autosquash" +msgid "token: value\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:435 +#: en/git-interpret-trailers.txt:43 msgid "" -"When the commit log message begins with \"squash! ...\" (or \"fixup! ...\"), " -"and there is a commit whose title begins with the same ..., automatically " -"modify the todo list of rebase -i so that the commit marked for squashing " -"comes right after the commit to be modified, and change the action of the " -"moved commit from `pick` to `squash` (or `fixup`). Ignores subsequent " -"\"fixup! \" or \"squash! \" after the first, in case you referred to an " -"earlier fixup/squash with `git commit --fixup/--squash`." +"This means that the trimmed <token> and <value> will be separated by `': '` " +"(one colon followed by one space)." msgstr "" #. type: Plain text -#: en/git-rebase.txt:437 -msgid "This option is only valid when the `--interactive` option is used." +#: en/git-interpret-trailers.txt:49 +msgid "" +"By default the new trailer will appear at the end of all the existing " +"trailers. If there is no existing trailer, the new trailer will appear after " +"the commit message part of the output, and, if there is no line with only " +"spaces at the end of the commit message part, one blank line will be added " +"before the new trailer." msgstr "" #. type: Plain text -#: en/git-rebase.txt:441 +#: en/git-interpret-trailers.txt:58 msgid "" -"If the `--autosquash` option is enabled by default using the configuration " -"variable `rebase.autoSquash`, this option can be used to override and " -"disable this setting." +"Existing trailers are extracted from the input message by looking for a " +"group of one or more lines that (i) are all trailers, or (ii) contains at " +"least one Git-generated or user-configured trailer and consists of at least " +"25% trailers. The group must be preceded by one or more empty (or " +"whitespace-only) lines. The group must either be at the end of the message " +"or be the last non-whitespace lines before a line that starts with " +"'---'. Such three minus signs start the patch part of the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:449 +#: en/git-interpret-trailers.txt:63 msgid "" -"Automatically create a temporary stash before the operation begins, and " -"apply it after the operation ends. This means that you can run rebase on a " -"dirty worktree. However, use with care: the final stash application after a " -"successful rebase might result in non-trivial conflicts." -msgstr "" - -#. type: Labeled list -#: en/git-rebase.txt:450 en/merge-options.txt:35 -#, no-wrap -msgid "--no-ff" +"When reading trailers, there can be whitespaces after the token, the " +"separator and the value. There can also be whitespaces inside the token and " +"the value. The value may be split over multiple lines with each subsequent " +"line starting with whitespace, like the \"folding\" in RFC 822." msgstr "" #. type: Plain text -#: en/git-rebase.txt:454 +#: en/git-interpret-trailers.txt:67 msgid "" -"With --interactive, cherry-pick all rebased commits instead of " -"fast-forwarding over the unchanged ones. This ensures that the entire " -"history of the rebased branch is composed of new commits." +"Note that 'trailers' do not follow and are not intended to follow many rules " +"for RFC 822 headers. For example they do not follow the encoding rules and " +"probably many other rules." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:456 -msgid "Without --interactive, this is a synonym for --force-rebase." +#. type: Labeled list +#: en/git-interpret-trailers.txt:70 +#, no-wrap +msgid "--in-place" msgstr "" #. type: Plain text -#: en/git-rebase.txt:461 -msgid "" -"You may find this helpful after reverting a topic branch merge, as this " -"option recreates the topic branch with fresh commits so it can be remerged " -"successfully without needing to \"revert the reversion\" (see the " -"link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for " -"details)." +#: en/git-interpret-trailers.txt:72 +msgid "Edit the files in place." msgstr "" -#. type: Title - -#: en/git-rebase.txt:465 en/git-symbolic-ref.txt:54 +#. type: Labeled list +#: en/git-interpret-trailers.txt:73 #, no-wrap -msgid "NOTES" +msgid "--trim-empty" msgstr "" #. type: Plain text -#: en/git-rebase.txt:470 +#: en/git-interpret-trailers.txt:77 msgid "" -"You should understand the implications of using 'git rebase' on a repository " -"that you share. See also RECOVERING FROM UPSTREAM REBASE below." +"If the <value> part of any trailer contains only whitespace, the whole " +"trailer will be removed from the resulting message. This applies to " +"existing trailers as well as new trailers." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:475 -msgid "" -"When the git-rebase command is run, it will first execute a \"pre-rebase\" " -"hook if one exists. You can use this hook to do sanity checks and reject " -"the rebase if it isn't appropriate. Please see the template pre-rebase hook " -"script for an example." +#. type: Labeled list +#: en/git-interpret-trailers.txt:78 +#, no-wrap +msgid "--trailer <token>[(=|:)<value>]" msgstr "" #. type: Plain text -#: en/git-rebase.txt:477 -msgid "Upon completion, <branch> will be the current branch." +#: en/git-interpret-trailers.txt:82 +msgid "" +"Specify a (<token>, <value>) pair that should be applied as a trailer to the " +"input messages. See the description of this command." msgstr "" -#. type: Title - -#: en/git-rebase.txt:479 +#. type: Labeled list +#: en/git-interpret-trailers.txt:86 #, no-wrap -msgid "INTERACTIVE MODE" +msgid "trailer.separators" msgstr "" #. type: Plain text -#: en/git-rebase.txt:484 +#: en/git-interpret-trailers.txt:91 msgid "" -"Rebasing interactively means that you have a chance to edit the commits " -"which are rebased. You can reorder the commits, and you can remove them " -"(weeding out bad or otherwise unwanted patches)." +"This option tells which characters are recognized as trailer separators. By " +"default only ':' is recognized as a trailer separator, except that '=' is " +"always accepted on the command line for compatibility with other git " +"commands." msgstr "" #. type: Plain text -#: en/git-rebase.txt:486 -msgid "The interactive mode is meant for this type of workflow:" +#: en/git-interpret-trailers.txt:95 +msgid "" +"The first character given by this option will be the default character used " +"when another separator is not specified in the config for this trailer." msgstr "" #. type: Plain text -#: en/git-rebase.txt:488 -msgid "have a wonderful idea" +#: en/git-interpret-trailers.txt:102 +msgid "" +"For example, if the value for this option is \"%=$\", then only lines using " +"the format '<token><sep><value>' with <sep> containing '%', '=' or '$' and " +"then spaces will be considered trailers. And '%' will be the default " +"separator used, so by default trailers will appear like: '<token>% <value>' " +"(one percent sign and one space will appear between the token and the " +"value)." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:489 -msgid "hack on the code" +#. type: Labeled list +#: en/git-interpret-trailers.txt:103 +#, no-wrap +msgid "trailer.where" msgstr "" #. type: Plain text -#: en/git-rebase.txt:490 -msgid "prepare a series for submission" +#: en/git-interpret-trailers.txt:105 +msgid "This option tells where a new trailer will be added." msgstr "" #. type: Plain text -#: en/git-rebase.txt:491 -msgid "submit" +#: en/git-interpret-trailers.txt:107 +msgid "This can be `end`, which is the default, `start`, `after` or `before`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:493 -msgid "where point 2. consists of several instances of" +#: en/git-interpret-trailers.txt:110 +msgid "" +"If it is `end`, then each new trailer will appear at the end of the existing " +"trailers." msgstr "" #. type: Plain text -#: en/git-rebase.txt:495 -msgid "regular use" +#: en/git-interpret-trailers.txt:113 +msgid "" +"If it is `start`, then each new trailer will appear at the start, instead of " +"the end, of the existing trailers." msgstr "" #. type: Plain text -#: en/git-rebase.txt:497 -msgid "finish something worthy of a commit" +#: en/git-interpret-trailers.txt:116 +msgid "" +"If it is `after`, then each new trailer will appear just after the last " +"trailer with the same <token>." msgstr "" #. type: Plain text -#: en/git-rebase.txt:498 -msgid "commit" +#: en/git-interpret-trailers.txt:119 +msgid "" +"If it is `before`, then each new trailer will appear just before the first " +"trailer with the same <token>." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:500 -msgid "independent fixup" +#. type: Labeled list +#: en/git-interpret-trailers.txt:120 +#, no-wrap +msgid "trailer.ifexists" msgstr "" #. type: Plain text -#: en/git-rebase.txt:502 -msgid "realize that something does not work" +#: en/git-interpret-trailers.txt:124 +msgid "" +"This option makes it possible to choose what action will be performed when " +"there is already at least one trailer with the same <token> in the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:503 -msgid "fix that" +#: en/git-interpret-trailers.txt:127 +msgid "" +"The valid values for this option are: `addIfDifferentNeighbor` (this is the " +"default), `addIfDifferent`, `add`, `overwrite` or `doNothing`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:504 -msgid "commit it" +#: en/git-interpret-trailers.txt:131 +msgid "" +"With `addIfDifferentNeighbor`, a new trailer will be added only if no " +"trailer with the same (<token>, <value>) pair is above or below the line " +"where the new trailer will be added." msgstr "" #. type: Plain text -#: en/git-rebase.txt:510 +#: en/git-interpret-trailers.txt:134 msgid "" -"Sometimes the thing fixed in b.2. cannot be amended to the not-quite perfect " -"commit it fixes, because that commit is buried deeply in a patch series. " -"That is exactly what interactive rebase is for: use it after plenty of " -"\"a\"s and \"b\"s, by rearranging and editing commits, and squashing " -"multiple commits into one." +"With `addIfDifferent`, a new trailer will be added only if no trailer with " +"the same (<token>, <value>) pair is already in the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:512 -msgid "Start it with the last commit you want to retain as-is:" +#: en/git-interpret-trailers.txt:137 +msgid "" +"With `add`, a new trailer will be added, even if some trailers with the same " +"(<token>, <value>) pair are already in the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:514 -#, no-wrap -msgid "\tgit rebase -i <after-this-commit>\n" +#: en/git-interpret-trailers.txt:142 +msgid "" +"With `replace`, an existing trailer with the same <token> will be deleted " +"and the new trailer will be added. The deleted trailer will be the closest " +"one (with the same <token>) to the place where the new one will be added." msgstr "" #. type: Plain text -#: en/git-rebase.txt:519 +#: en/git-interpret-trailers.txt:145 msgid "" -"An editor will be fired up with all the commits in your current branch " -"(ignoring merge commits), which come after the given commit. You can " -"reorder the commits in this list to your heart's content, and you can remove " -"them. The list looks more or less like this:" +"With `doNothing`, nothing will be done; that is no new trailer will be added " +"if there is already one with the same <token> in the message." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:524 +#. type: Labeled list +#: en/git-interpret-trailers.txt:146 #, no-wrap -msgid "" -"pick deadbee The oneline of this commit\n" -"pick fa1afe1 The oneline of the next commit\n" -"...\n" +msgid "trailer.ifmissing" msgstr "" #. type: Plain text -#: en/git-rebase.txt:529 +#: en/git-interpret-trailers.txt:150 msgid "" -"The oneline descriptions are purely for your pleasure; 'git rebase' will not " -"look at them but at the commit names (\"deadbee\" and \"fa1afe1\" in this " -"example), so do not delete or edit the names." +"This option makes it possible to choose what action will be performed when " +"there is not yet any trailer with the same <token> in the message." msgstr "" #. type: Plain text -#: en/git-rebase.txt:534 +#: en/git-interpret-trailers.txt:153 msgid "" -"By replacing the command \"pick\" with the command \"edit\", you can tell " -"'git rebase' to stop after applying that commit, so that you can edit the " -"files and/or the commit message, amend the commit, and continue rebasing." +"The valid values for this option are: `add` (this is the default) and " +"`doNothing`." msgstr "" #. type: Plain text -#: en/git-rebase.txt:537 -msgid "" -"If you just want to edit the commit message for a commit, replace the " -"command \"pick\" with the command \"reword\"." +#: en/git-interpret-trailers.txt:155 +msgid "With `add`, a new trailer will be added." msgstr "" #. type: Plain text -#: en/git-rebase.txt:540 -msgid "" -"To drop a commit, replace the command \"pick\" with \"drop\", or just delete " -"the matching line." +#: en/git-interpret-trailers.txt:157 +msgid "With `doNothing`, nothing will be done." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:548 -msgid "" -"If you want to fold two or more commits into one, replace the command " -"\"pick\" for the second and subsequent commits with \"squash\" or " -"\"fixup\". If the commits had different authors, the folded commit will be " -"attributed to the author of the first commit. The suggested commit message " -"for the folded commit is the concatenation of the commit messages of the " -"first commit and of those with the \"squash\" command, but omits the commit " -"messages of commits with the \"fixup\" command." +#. type: Labeled list +#: en/git-interpret-trailers.txt:158 +#, no-wrap +msgid "trailer.<token>.key" msgstr "" #. type: Plain text -#: en/git-rebase.txt:552 +#: en/git-interpret-trailers.txt:164 msgid "" -"'git rebase' will stop when \"pick\" has been replaced with \"edit\" or when " -"a command fails due to merge errors. When you are done editing and/or " -"resolving conflicts you can continue with `git rebase --continue`." +"This `key` will be used instead of <token> in the trailer. At the end of " +"this key, a separator can appear and then some space characters. By default " +"the only valid separator is ':', but this can be changed using the " +"`trailer.separators` config variable." msgstr "" #. type: Plain text -#: en/git-rebase.txt:556 +#: en/git-interpret-trailers.txt:167 msgid "" -"For example, if you want to reorder the last 5 commits, such that what was " -"HEAD~4 becomes the new HEAD. To achieve that, you would call 'git rebase' " -"like this:" +"If there is a separator, then the key will be used instead of both the " +"<token> and the default separator when adding the trailer." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:559 +#. type: Labeled list +#: en/git-interpret-trailers.txt:168 #, no-wrap -msgid "$ git rebase -i HEAD~5\n" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:562 -msgid "And move the first patch to the end of the list." +msgid "trailer.<token>.where" msgstr "" #. type: Plain text -#: en/git-rebase.txt:564 -msgid "You might want to preserve merges, if you have a history like this:" +#: en/git-interpret-trailers.txt:172 +msgid "" +"This option takes the same values as the 'trailer.where' configuration " +"variable and it overrides what is specified by that option for trailers with " +"the specified <token>." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:571 +#. type: Labeled list +#: en/git-interpret-trailers.txt:173 #, no-wrap -msgid "" -" X\n" -" \\\n" -" A---M---B\n" -" /\n" -"---o---O---P---Q\n" +msgid "trailer.<token>.ifexist" msgstr "" #. type: Plain text -#: en/git-rebase.txt:575 +#: en/git-interpret-trailers.txt:177 msgid "" -"Suppose you want to rebase the side branch starting at \"A\" to \"Q\". Make " -"sure that the current HEAD is \"B\", and call" +"This option takes the same values as the 'trailer.ifexist' configuration " +"variable and it overrides what is specified by that option for trailers with " +"the specified <token>." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:578 +#. type: Labeled list +#: en/git-interpret-trailers.txt:178 #, no-wrap -msgid "$ git rebase -i -p --onto Q O\n" +msgid "trailer.<token>.ifmissing" msgstr "" #. type: Plain text -#: en/git-rebase.txt:585 +#: en/git-interpret-trailers.txt:182 msgid "" -"Reordering and editing commits usually creates untested intermediate steps. " -"You may want to check that your history editing did not break anything by " -"running a test, or at least recompiling at intermediate points in history by " -"using the \"exec\" command (shortcut \"x\"). You may do so by creating a " -"todo list like this one:" +"This option takes the same values as the 'trailer.ifmissing' configuration " +"variable and it overrides what is specified by that option for trailers with " +"the specified <token>." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:594 +#. type: Labeled list +#: en/git-interpret-trailers.txt:183 #, no-wrap -msgid "" -"pick deadbee Implement feature XXX\n" -"fixup f1a5c00 Fix to feature XXX\n" -"exec make\n" -"pick c0ffeee The oneline of the next commit\n" -"edit deadbab The oneline of the commit after\n" -"exec cd subdir; make test\n" -"...\n" +msgid "trailer.<token>.command" msgstr "" #. type: Plain text -#: en/git-rebase.txt:599 +#: en/git-interpret-trailers.txt:187 msgid "" -"The interactive rebase will stop when a command fails (i.e. exits with non-0 " -"status) to give you an opportunity to fix the problem. You can continue with " -"`git rebase --continue`." +"This option can be used to specify a shell command that will be called to " +"automatically add or modify a trailer with the specified <token>." msgstr "" #. type: Plain text -#: en/git-rebase.txt:604 +#: en/git-interpret-trailers.txt:193 msgid "" -"The \"exec\" command launches the command in a shell (the one specified in " -"`$SHELL`, or the default shell if `$SHELL` is not set), so you can use shell " -"features (like \"cd\", \">\", \";\" ...). The command is run from the root " -"of the working tree." +"When this option is specified, the behavior is as if a special " +"'<token>=<value>' argument were added at the beginning of the command line, " +"where <value> is taken to be the standard output of the specified command " +"with any leading and trailing whitespace trimmed off." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:607 -#, no-wrap -msgid "$ git rebase -i --exec \"make test\"\n" +#. type: Plain text +#: en/git-interpret-trailers.txt:197 +msgid "" +"If the command contains the `$ARG` string, this string will be replaced with " +"the <value> part of an existing trailer with the same <token>, if any, " +"before the command is launched." msgstr "" #. type: Plain text -#: en/git-rebase.txt:611 +#: en/git-interpret-trailers.txt:203 msgid "" -"This command lets you check that intermediate commits are compilable. The " -"todo list becomes like that:" +"If some '<token>=<value>' arguments are also passed on the command line, " +"when a 'trailer.<token>.command' is configured, the command will also be " +"executed for each of these arguments. And the <value> part of these " +"arguments, if any, will be used to replace the `$ARG` string in the command." +msgstr "" + +#. type: Plain text +#: en/git-interpret-trailers.txt:209 +msgid "" +"Configure a 'sign' trailer with a 'Signed-off-by' key, and then add two of " +"these trailers to a message:" msgstr "" #. type: delimited block - -#: en/git-rebase.txt:621 +#: en/git-interpret-trailers.txt:214 #, no-wrap msgid "" -"pick 5928aea one\n" -"exec make test\n" -"pick 04d0fda two\n" -"exec make test\n" -"pick ba46169 three\n" -"exec make test\n" -"pick f4593f9 four\n" -"exec make test\n" +"$ git config trailer.sign.key \"Signed-off-by\"\n" +"$ cat msg.txt\n" +"subject\n" msgstr "" -#. type: Title - -#: en/git-rebase.txt:624 +#. type: delimited block - +#: en/git-interpret-trailers.txt:218 #, no-wrap -msgid "SPLITTING COMMITS" +msgid "" +"message\n" +"$ cat msg.txt | git interpret-trailers --trailer 'sign: Alice " +"<alice@example.com>' --trailer 'sign: Bob <bob@example.com>'\n" +"subject\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:630 -msgid "" -"In interactive mode, you can mark commits with the action \"edit\". " -"However, this does not necessarily mean that 'git rebase' expects the result " -"of this edit to be exactly one commit. Indeed, you can undo the commit, or " -"you can add other commits. This can be used to split a commit into two:" +#. type: delimited block - +#: en/git-interpret-trailers.txt:220 en/git-interpret-trailers.txt:232 en/git-interpret-trailers.txt:239 en/git-interpret-trailers.txt:303 +#, no-wrap +msgid "message\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:634 +#. type: delimited block - +#: en/git-interpret-trailers.txt:223 +#, no-wrap msgid "" -"Start an interactive rebase with `git rebase -i <commit>^`, where <commit> " -"is the commit you want to split. In fact, any commit range will do, as long " -"as it contains that commit." +"Signed-off-by: Alice <alice@example.com>\n" +"Signed-off-by: Bob <bob@example.com>\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:636 -msgid "Mark the commit you want to split with the action \"edit\"." +#: en/git-interpret-trailers.txt:226 +msgid "Use the `--in-place` option to edit a message file in place:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:640 +#. type: delimited block - +#: en/git-interpret-trailers.txt:230 +#, no-wrap msgid "" -"When it comes to editing that commit, execute `git reset HEAD^`. The effect " -"is that the HEAD is rewound by one, and the index follows suit. However, " -"the working tree stays the same." +"$ cat msg.txt\n" +"subject\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:644 +#. type: delimited block - +#: en/git-interpret-trailers.txt:237 +#, no-wrap msgid "" -"Now add the changes to the index that you want to have in the first commit. " -"You can use `git add` (possibly interactively) or 'git gui' (or both) to do " -"that." +"Signed-off-by: Bob <bob@example.com>\n" +"$ git interpret-trailers --trailer 'Acked-by: Alice <alice@example.com>' " +"--in-place msg.txt\n" +"$ cat msg.txt\n" +"subject\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:647 +#. type: delimited block - +#: en/git-interpret-trailers.txt:242 +#, no-wrap msgid "" -"Commit the now-current index with whatever commit message is appropriate " -"now." +"Signed-off-by: Bob <bob@example.com>\n" +"Acked-by: Alice <alice@example.com>\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:649 -msgid "Repeat the last two steps until your working tree is clean." +#: en/git-interpret-trailers.txt:246 +msgid "" +"Extract the last commit as a patch, and add a 'Cc' and a 'Reviewed-by' " +"trailer to it:" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:651 -msgid "Continue the rebase with `git rebase --continue`." +#. type: delimited block - +#: en/git-interpret-trailers.txt:251 +#, no-wrap +msgid "" +"$ git format-patch -1\n" +"0001-foo.patch\n" +"$ git interpret-trailers --trailer 'Cc: Alice <alice@example.com>' --trailer " +"'Reviewed-by: Bob <bob@example.com>' 0001-foo.patch >0001-bar.patch\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:656 +#: en/git-interpret-trailers.txt:256 msgid "" -"If you are not absolutely sure that the intermediate revisions are " -"consistent (they compile, pass the testsuite, etc.) you should use 'git " -"stash' to stash away the not-yet-committed changes after each commit, test, " -"and amend the commit if fixes are necessary." +"Configure a 'sign' trailer with a command to automatically add a " +"'Signed-off-by: ' with the author information only if there is no " +"'Signed-off-by: ' already, and show how it works:" msgstr "" -#. type: Title - -#: en/git-rebase.txt:659 +#. type: delimited block - +#: en/git-interpret-trailers.txt:264 #, no-wrap -msgid "RECOVERING FROM UPSTREAM REBASE" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:666 msgid "" -"Rebasing (or any other form of rewriting) a branch that others have based " -"work on is a bad idea: anyone downstream of it is forced to manually fix " -"their history. This section explains how to do the fix from the " -"downstream's point of view. The real fix, however, would be to avoid " -"rebasing the upstream in the first place." +"$ git config trailer.sign.key \"Signed-off-by: \"\n" +"$ git config trailer.sign.ifmissing add\n" +"$ git config trailer.sign.ifexists doNothing\n" +"$ git config trailer.sign.command 'echo \"$(git config user.name) <$(git " +"config user.email)>\"'\n" +"$ git interpret-trailers <<EOF\n" +"> EOF\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:671 +#. type: delimited block - +#: en/git-interpret-trailers.txt:269 +#, no-wrap msgid "" -"To illustrate, suppose you are in a situation where someone develops a " -"'subsystem' branch, and you are working on a 'topic' that is dependent on " -"this 'subsystem'. You might end up with a history like the following:" +"Signed-off-by: Bob <bob@example.com>\n" +"$ git interpret-trailers <<EOF\n" +"> Signed-off-by: Alice <alice@example.com>\n" +"> EOF\n" msgstr "" #. type: delimited block - -#: en/git-rebase.txt:678 +#: en/git-interpret-trailers.txt:271 #, no-wrap -msgid "" -" o---o---o---o---o---o---o---o---o master\n" -"\t \\\n" -"\t o---o---o---o---o subsystem\n" -"\t\t\t \\\n" -"\t\t\t *---*---* topic\n" +msgid "Signed-off-by: Alice <alice@example.com>\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:681 -msgid "If 'subsystem' is rebased against 'master', the following happens:" +#: en/git-interpret-trailers.txt:275 +msgid "" +"Configure a 'fix' trailer with a key that contains a '#' and no space after " +"this character, and show how it works:" msgstr "" #. type: delimited block - -#: en/git-rebase.txt:688 +#: en/git-interpret-trailers.txt:281 #, no-wrap msgid "" -" o---o---o---o---o---o---o---o master\n" -"\t \\\t\t\t \\\n" -"\t o---o---o---o---o\t o'--o'--o'--o'--o' subsystem\n" -"\t\t\t \\\n" -"\t\t\t *---*---* topic\n" +"$ git config trailer.separators \":#\"\n" +"$ git config trailer.fix.key \"Fix #\"\n" +"$ echo \"subject\" | git interpret-trailers --trailer fix=42\n" +"subject\n" +msgstr "" + +#. type: delimited block - +#: en/git-interpret-trailers.txt:283 +#, no-wrap +msgid "Fix #42\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:692 +#: en/git-interpret-trailers.txt:287 msgid "" -"If you now continue development as usual, and eventually merge 'topic' to " -"'subsystem', the commits from 'subsystem' will remain duplicated forever:" +"Configure a 'see' trailer with a command to show the subject of a commit " +"that is related, and show how it works:" msgstr "" #. type: delimited block - -#: en/git-rebase.txt:699 +#: en/git-interpret-trailers.txt:301 #, no-wrap msgid "" -" o---o---o---o---o---o---o---o master\n" -"\t \\\t\t\t \\\n" -"\t o---o---o---o---o\t o'--o'--o'--o'--o'--M\t subsystem\n" -"\t\t\t \\\t\t\t /\n" -"\t\t\t *---*---*-..........-*--* topic\n" +"$ git config trailer.see.key \"See-also: \"\n" +"$ git config trailer.see.ifExists \"replace\"\n" +"$ git config trailer.see.ifMissing \"doNothing\"\n" +"$ git config trailer.see.command \"git log -1 --oneline --format=\\\"%h " +"(%s)\\\" --abbrev-commit --abbrev=14 \\$ARG\"\n" +"$ git interpret-trailers <<EOF\n" +"> subject\n" +"> \n" +"> message\n" +"> \n" +"> see: HEAD~2\n" +"> EOF\n" +"subject\n" msgstr "" -#. type: Plain text -#: en/git-rebase.txt:706 -msgid "" -"Such duplicates are generally frowned upon because they clutter up history, " -"making it harder to follow. To clean things up, you need to transplant the " -"commits on 'topic' to the new 'subsystem' tip, i.e., rebase 'topic'. This " -"becomes a ripple effect: anyone downstream from 'topic' is forced to rebase " -"too, and so on!" +#. type: delimited block - +#: en/git-interpret-trailers.txt:305 +#, no-wrap +msgid "See-also: fe3187489d69c4 (subject of related commit)\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:708 -msgid "There are two kinds of fixes, discussed in the following subsections:" +#: en/git-interpret-trailers.txt:312 +msgid "" +"Configure a commit template with some trailers with empty values (using sed " +"to show and keep the trailing spaces at the end of the trailers), then " +"configure a commit-msg hook that uses 'git interpret-trailers' to remove " +"trailers with empty values and to add a 'git-version' trailer:" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:709 +#. type: delimited block - +#: en/git-interpret-trailers.txt:331 #, no-wrap -msgid "Easy case: The changes are literally the same." +msgid "" +"$ sed -e 's/ Z$/ /' >commit_template.txt <<EOF\n" +"> ***subject***\n" +"> \n" +"> ***message***\n" +"> \n" +"> Fixes: Z\n" +"> Cc: Z\n" +"> Reviewed-by: Z\n" +"> Signed-off-by: Z\n" +"> EOF\n" +"$ git config commit.template commit_template.txt\n" +"$ cat >.git/hooks/commit-msg <<EOF\n" +"> #!/bin/sh\n" +"> git interpret-trailers --trim-empty --trailer \"git-version: \\$(git " +"describe)\" \"\\$1\" > \"\\$1.new\"\n" +"> mv \"\\$1.new\" \"\\$1\"\n" +"> EOF\n" +"$ chmod +x .git/hooks/commit-msg\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:713 -msgid "" -"This happens if the 'subsystem' rebase was a simple rebase and had no " -"conflicts." +#: en/git-interpret-trailers.txt:336 +msgid "linkgit:git-commit[1], linkgit:git-format-patch[1], linkgit:git-config[1]" msgstr "" -#. type: Labeled list -#: en/git-rebase.txt:714 +#. type: Title = +#: en/git-log.txt:2 #, no-wrap -msgid "Hard case: The changes are not the same." +msgid "git-log(1)" msgstr "" #. type: Plain text -#: en/git-rebase.txt:720 -msgid "" -"This happens if the 'subsystem' rebase had conflicts, or used " -"`--interactive` to omit, edit, squash, or fixup commits; or if the upstream " -"used one of `commit --amend`, `reset`, or `filter-branch`." +#: en/git-log.txt:7 +msgid "git-log - Show commit logs" msgstr "" -#. type: Title ~ -#: en/git-rebase.txt:723 +#. type: Plain text +#: en/git-log.txt:13 #, no-wrap -msgid "The easy case" +msgid "'git log' [<options>] [<revision range>] [[\\--] <path>...]\n" msgstr "" #. type: Plain text -#: en/git-rebase.txt:728 -msgid "" -"Only works if the changes (patch IDs based on the diff contents) on " -"'subsystem' are literally the same before and after the rebase 'subsystem' " -"did." +#: en/git-log.txt:17 +msgid "Shows the commit logs." msgstr "" #. type: Plain text -#: en/git-rebase.txt:732 +#: en/git-log.txt:22 msgid "" -"In that case, the fix is easy because 'git rebase' knows to skip changes " -"that are already present in the new upstream. So if you say (assuming " -"you're on 'topic')" +"The command takes options applicable to the `git rev-list` command to " +"control what is shown and how, and options applicable to the `git diff-*` " +"commands to control how the changes each commit introduces are shown." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:734 +#. type: Labeled list +#: en/git-log.txt:27 #, no-wrap -msgid " $ git rebase subsystem\n" +msgid "--follow" msgstr "" #. type: Plain text -#: en/git-rebase.txt:736 -msgid "you will end up with the fixed history" +#: en/git-log.txt:30 +msgid "" +"Continue listing the history of a file beyond renames (works only for a " +"single file)." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:742 +#. type: Labeled list +#: en/git-log.txt:31 #, no-wrap -msgid "" -" o---o---o---o---o---o---o---o master\n" -"\t\t\t\t \\\n" -"\t\t\t\t o'--o'--o'--o'--o' subsystem\n" -"\t\t\t\t\t\t \\\n" -"\t\t\t\t\t\t *---*---* topic\n" +msgid "--no-decorate" msgstr "" -#. type: Title ~ -#: en/git-rebase.txt:746 +#. type: Labeled list +#: en/git-log.txt:32 #, no-wrap -msgid "The hard case" +msgid "--decorate[=short|full|auto|no]" msgstr "" #. type: Plain text -#: en/git-rebase.txt:750 +#: en/git-log.txt:40 msgid "" -"Things get more complicated if the 'subsystem' changes do not exactly " -"correspond to the ones before the rebase." +"Print out the ref names of any commits that are shown. If 'short' is " +"specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and " +"'refs/remotes/' will not be printed. If 'full' is specified, the full ref " +"name (including prefix) will be printed. If 'auto' is specified, then if the " +"output is going to a terminal, the ref names are shown as if 'short' were " +"given, otherwise no ref names are shown. The default option is 'short'." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:755 +#. type: Labeled list +#: en/git-log.txt:41 #, no-wrap -msgid "" -"While an \"easy case recovery\" sometimes appears to be successful\n" -" even in the hard case, it may have unintended consequences. For\n" -" example, a commit that was removed via `git rebase\n" -" --interactive` will be **resurrected**!\n" -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:760 -msgid "" -"The idea is to manually tell 'git rebase' \"where the old 'subsystem' ended " -"and your 'topic' began\", that is, what the old merge-base between them " -"was. You will have to find a way to name the last commit of the old " -"'subsystem', for example:" +msgid "--source" msgstr "" #. type: Plain text -#: en/git-rebase.txt:764 +#: en/git-log.txt:44 msgid "" -"With the 'subsystem' reflog: after 'git fetch', the old tip of 'subsystem' " -"is at `subsystem@{1}`. Subsequent fetches will increase the number. (See " -"linkgit:git-reflog[1].)" +"Print out the ref name given on the command line by which each commit was " +"reached." msgstr "" -#. type: Plain text -#: en/git-rebase.txt:767 -msgid "" -"Relative to the tip of 'topic': knowing that your 'topic' has three commits, " -"the old tip of 'subsystem' must be `topic~3`." +#. type: Labeled list +#: en/git-log.txt:45 +#, no-wrap +msgid "--use-mailmap" msgstr "" #. type: Plain text -#: en/git-rebase.txt:770 +#: en/git-log.txt:49 msgid "" -"You can then transplant the old `subsystem..topic` to the new tip by saying " -"(for the reflog case, and assuming you are on 'topic' already):" +"Use mailmap file to map author and committer names and email addresses to " +"canonical real names and email addresses. See linkgit:git-shortlog[1]." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:772 +#. type: Labeled list +#: en/git-log.txt:50 #, no-wrap -msgid " $ git rebase --onto subsystem subsystem@{1}\n" +msgid "--full-diff" msgstr "" #. type: Plain text -#: en/git-rebase.txt:777 +#: en/git-log.txt:56 msgid "" -"The ripple effect of a \"hard case\" recovery is especially bad: 'everyone' " -"downstream from 'topic' will now have to perform a \"hard case\" recovery " -"too!" +"Without this flag, `git log -p <path>...` shows commits that touch the " +"specified paths, and diffs about the same specified paths. With this, the " +"full diff is shown for commits that touch the specified paths; this means " +"that \"<path>...\" limits only commits, and doesn't limit diff for those " +"commits." msgstr "" #. type: Plain text -#: en/git-rebase.txt:784 +#: en/git-log.txt:59 msgid "" -"The todo list presented by `--preserve-merges --interactive` does not " -"represent the topology of the revision graph. Editing commits and rewording " -"their commit messages should work fine, but attempts to reorder commits tend " -"to produce counterintuitive results." -msgstr "" - -#. type: Plain text -#: en/git-rebase.txt:786 -msgid "For example, an attempt to rearrange" -msgstr "" - -#. type: delimited block - -#: en/git-rebase.txt:788 -#, no-wrap -msgid "1 --- 2 --- 3 --- 4 --- 5\n" +"Note that this affects all diff-based output types, e.g. those produced by " +"`--stat`, etc." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:792 +#. type: Labeled list +#: en/git-log.txt:60 #, no-wrap -msgid "1 --- 2 --- 4 --- 3 --- 5\n" +msgid "--log-size" msgstr "" #. type: Plain text -#: en/git-rebase.txt:794 -msgid "by moving the \"pick 4\" line will result in the following history:" +#: en/git-log.txt:65 +msgid "" +"Include a line ``log size <number>'' in the output for each commit, where " +"<number> is the length of that commit's message in bytes. Intended to speed " +"up tools that read log messages from `git log` output by allowing them to " +"allocate space in advance." msgstr "" -#. type: delimited block - -#: en/git-rebase.txt:798 +#. type: Labeled list +#: en/git-log.txt:66 #, no-wrap -msgid "" -"\t3\n" -" /\n" -"1 --- 2 --- 4 --- 5\n" +msgid "-L <start>,<end>:<file>" msgstr "" -#. type: Title = -#: en/git-receive-pack.txt:2 +#. type: Labeled list +#: en/git-log.txt:67 #, no-wrap -msgid "git-receive-pack(1)" +msgid "-L :<funcname>:<file>" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:7 -msgid "git-receive-pack - Receive what is pushed into the repository" +#: en/git-log.txt:74 +msgid "" +"Trace the evolution of the line range given by \"<start>,<end>\" (or the " +"function name regex <funcname>) within the <file>. You may not give any " +"pathspec limiters. This is currently limited to a walk starting from a " +"single revision, i.e., you may only give zero or one positive revision " +"arguments. You can specify this option more than once." msgstr "" -#. type: Plain text -#: en/git-receive-pack.txt:13 +#. type: Labeled list +#: en/git-log.txt:77 en/git-shortlog.txt:63 #, no-wrap -msgid "'git-receive-pack' <directory>\n" +msgid "<revision range>" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:18 +#: en/git-log.txt:85 msgid "" -"Invoked by 'git send-pack' and updates the repository with the information " -"fed from the remote end." +"Show only commits in the specified revision range. When no <revision range> " +"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " +"current commit). `origin..HEAD` specifies all the commits reachable from " +"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " +"of ways to spell <revision range>, see the 'Specifying Ranges' section of " +"linkgit:gitrevisions[7]." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:23 +#: en/git-log.txt:91 +#, no-wrap msgid "" -"This command is usually not invoked directly by the end user. The UI for " -"the protocol is on the 'git send-pack' side, and the program pair is meant " -"to be used to push updates to remote repository. For pull operations, see " -"linkgit:git-fetch-pack[1]." +"[\\--] <path>...::\n" +"\tShow only commits that are enough to explain how the files\n" +"\tthat match the specified paths came to be. See 'History\n" +"\tSimplification' below for details and other simplification\n" +"\tmodes.\n" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:28 -msgid "" -"The command allows for creation and fast-forwarding of sha1 refs " -"(heads/tags) on the remote end (strictly speaking, it is the local end " -"'git-receive-pack' runs, but to the user who is sitting at the send-pack " -"end, it is updating the remote. Confused?)" -msgstr "" - -#. type: Plain text -#: en/git-receive-pack.txt:31 -msgid "" -"There are other real-world examples of using update and post-update hooks " -"found in the Documentation/howto directory." -msgstr "" - -#. type: Plain text -#: en/git-receive-pack.txt:35 -msgid "" -"'git-receive-pack' honours the receive.denyNonFastForwards config option, " -"which tells it if updates to a ref should be denied if they are not " -"fast-forwards." -msgstr "" - -#. type: Plain text -#: en/git-receive-pack.txt:38 +#: en/git-log.txt:94 msgid "" -"A number of other receive.* config options are available to tweak its " -"behavior, see linkgit:git-config[1]." -msgstr "" - -#. type: Plain text -#: en/git-receive-pack.txt:43 -msgid "The repository to sync into." +"Paths may need to be prefixed with ``\\-- '' to separate them from options " +"or the revision range, when confusion arises." msgstr "" #. type: Title - -#: en/git-receive-pack.txt:45 +#: en/git-log.txt:100 en/git-show.txt:49 #, no-wrap -msgid "pre-receive Hook" +msgid "COMMON DIFF OPTIONS" msgstr "" -#. type: Plain text -#: en/git-receive-pack.txt:49 -msgid "" -"Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists and is " -"executable, it will be invoked once with no parameters. The standard input " -"of the hook will be one line per ref to be updated:" +#. type: Labeled list +#: en/git-log.txt:109 +#, no-wrap +msgid "`git log --no-merges`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:51 en/git-receive-pack.txt:148 -#, no-wrap -msgid " sha1-old SP sha1-new SP refname LF\n" +#: en/git-log.txt:112 +msgid "Show the whole commit history, but skip any merges" msgstr "" -#. type: Plain text -#: en/git-receive-pack.txt:58 -msgid "" -"The refname value is relative to $GIT_DIR; e.g. for the master head this is " -"\"refs/heads/master\". The two sha1 values before each refname are the " -"object names for the refname before and after the update. Refs to be " -"created will have sha1-old equal to 0\\{40}, while refs to be deleted will " -"have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should be " -"valid objects in the repository." +#. type: Labeled list +#: en/git-log.txt:113 +#, no-wrap +msgid "`git log v2.6.12.. include/scsi drivers/scsi`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:65 +#: en/git-log.txt:117 msgid "" -"When accepting a signed push (see linkgit:git-push[1]), the signed push " -"certificate is stored in a blob and an environment variable `GIT_PUSH_CERT` " -"can be consulted for its object name. See the description of `post-receive` " -"hook for an example. In addition, the certificate is verified using GPG and " -"the result is exported with the following environment variables:" +"Show all commits since version 'v2.6.12' that changed any file in the " +"`include/scsi` or `drivers/scsi` subdirectories" msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:66 +#: en/git-log.txt:118 #, no-wrap -msgid "`GIT_PUSH_CERT_SIGNER`" +msgid "`git log --since=\"2 weeks ago\" -- gitk`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:69 +#: en/git-log.txt:123 msgid "" -"The name and the e-mail address of the owner of the key that signed the push " -"certificate." +"Show the changes during the last two weeks to the file 'gitk'. The ``--'' " +"is necessary to avoid confusion with the *branch* named 'gitk'" msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:70 +#: en/git-log.txt:124 #, no-wrap -msgid "`GIT_PUSH_CERT_KEY`" +msgid "`git log --name-status release..test`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:72 -msgid "The GPG key ID of the key that signed the push certificate." +#: en/git-log.txt:129 +msgid "" +"Show the commits that are in the \"test\" branch but not yet in the " +"\"release\" branch, along with the list of paths each commit modifies." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:73 +#: en/git-log.txt:130 #, no-wrap -msgid "`GIT_PUSH_CERT_STATUS`" +msgid "`git log --follow builtin/rev-list.c`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:77 +#: en/git-log.txt:135 msgid "" -"The status of GPG verification of the push certificate, using the same " -"mnemonic as used in `%G?` format of `git log` family of commands (see " -"linkgit:git-log[1])." +"Shows the commits that changed `builtin/rev-list.c`, including those commits " +"that occurred before the file was given its present name." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:78 +#: en/git-log.txt:136 #, no-wrap -msgid "`GIT_PUSH_CERT_NONCE`" +msgid "`git log --branches --not --remotes=origin`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:84 +#: en/git-log.txt:141 msgid "" -"The nonce string the process asked the signer to include in the push " -"certificate. If this does not match the value recorded on the \"nonce\" " -"header in the push certificate, it may indicate that the certificate is a " -"valid one that is being replayed from a separate \"git push\" session." -msgstr "" - -#. type: Labeled list -#: en/git-receive-pack.txt:85 -#, no-wrap -msgid "`GIT_PUSH_CERT_NONCE_STATUS`" +"Shows all commits that are in any of local branches but not in any of " +"remote-tracking branches for 'origin' (what you have that origin doesn't)." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:86 +#: en/git-log.txt:142 #, no-wrap -msgid "`UNSOLICITED`" +msgid "`git log master --not --remotes=*/master`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:89 -msgid "\"git push --signed\" sent a nonce when we did not ask it to send one." +#: en/git-log.txt:146 +msgid "" +"Shows all commits that are in local master but not in any remote repository " +"master branches." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:89 +#: en/git-log.txt:147 #, no-wrap -msgid "`MISSING`" +msgid "`git log -p -m --first-parent`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:91 -msgid "\"git push --signed\" did not send any nonce header." +#: en/git-log.txt:154 +msgid "" +"Shows the history including change diffs, but only from the ``main branch'' " +"perspective, skipping commits that come from merged branches, and showing " +"full diffs of changes introduced by the merges. This makes sense only when " +"following a strict policy of merging all topic branches when staying on a " +"single integration branch." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:91 +#: en/git-log.txt:155 #, no-wrap -msgid "`BAD`" +msgid "`git log -L '/int main/',/^}/:main.c`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:93 -msgid "\"git push --signed\" sent a bogus nonce." +#: en/git-log.txt:159 +msgid "Shows how the function `main()` in the file `main.c` evolved over time." msgstr "" #. type: Labeled list -#: en/git-receive-pack.txt:93 +#: en/git-log.txt:160 #, no-wrap -msgid "`OK`" +msgid "`git log -3`" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:95 -msgid "\"git push --signed\" sent the nonce we asked it to send." -msgstr "" - -#. type: Labeled list -#: en/git-receive-pack.txt:95 -#, no-wrap -msgid "`SLOP`" +#: en/git-log.txt:163 +msgid "Limits the number of commits to show to 3." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:99 +#: en/git-log.txt:174 msgid "" -"\"git push --signed\" sent a nonce different from what we asked it to send " -"now, but in a previous session. See `GIT_PUSH_CERT_NONCE_SLOP` environment " -"variable." +"See linkgit:git-config[1] for core variables and linkgit:git-diff[1] for " +"settings related to diff generation." msgstr "" -#. type: Labeled list -#: en/git-receive-pack.txt:100 -#, no-wrap -msgid "`GIT_PUSH_CERT_NONCE_SLOP`" +#. type: Plain text +#: en/git-log.txt:178 +msgid "" +"Default for the `--format` option. (See 'Pretty Formats' above.) Defaults " +"to `medium`." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:108 +#: en/git-log.txt:183 msgid "" -"\"git push --signed\" sent a nonce different from what we asked it to send " -"now, but in a different session whose starting time is different by this " -"many seconds from the current session. Only meaningful when " -"`GIT_PUSH_CERT_NONCE_STATUS` says `SLOP`. Also read about " -"`receive.certNonceSlop` variable in linkgit:git-config[1]." +"Encoding to use when displaying logs. (See 'Discussion' above.) Defaults " +"to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:111 +#: en/git-log.txt:188 msgid "" -"This hook is called before any refname is updated and before any " -"fast-forward checks are performed." +"Default format for human-readable dates. (Compare the `--date` option.) " +"Defaults to \"default\", which means to write dates like `Sat May 8 19:35:34 " +"2010 -0500`." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:116 +#: en/git-log.txt:200 msgid "" -"If the pre-receive hook exits with a non-zero exit status no updates will be " -"performed, and the update, post-receive and post-update hooks will not be " -"invoked either. This can be useful to quickly bail out if the update is not " -"to be supported." +"If `false`, `git log` and related commands will not treat the initial commit " +"as a big creation event. Any root commits in `git log -p` output would be " +"shown without a diff attached. The default is `true`." msgstr "" -#. type: Title - -#: en/git-receive-pack.txt:118 +#. type: Labeled list +#: en/git-log.txt:201 #, no-wrap -msgid "update Hook" +msgid "log.showSignature" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:121 +#: en/git-log.txt:204 msgid "" -"Before each ref is updated, if $GIT_DIR/hooks/update file exists and is " -"executable, it is invoked once per ref, with three parameters:" +"If `true`, `git log` and related commands will act as if the " +"`--show-signature` option was passed to them." msgstr "" -#. type: Plain text -#: en/git-receive-pack.txt:123 +#. type: Labeled list +#: en/git-log.txt:205 #, no-wrap -msgid " $GIT_DIR/hooks/update refname sha1-old sha1-new\n" +msgid "mailmap.*" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:130 +#: en/git-log.txt:207 +msgid "See linkgit:git-shortlog[1]." +msgstr "" + +#. type: Plain text +#: en/git-log.txt:213 msgid "" -"The refname parameter is relative to $GIT_DIR; e.g. for the master head this " -"is \"refs/heads/master\". The two sha1 arguments are the object names for " -"the refname before and after the update. Note that the hook is called " -"before the refname is updated, so either sha1-old is 0\\{40} (meaning there " -"is no such ref yet), or it should match what is recorded in refname." +"Which refs, in addition to the default set by `core.notesRef` or " +"`GIT_NOTES_REF`, to read notes from when showing commit messages with the " +"`log` family of commands. See linkgit:git-notes[1]." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:133 +#: en/git-log.txt:217 msgid "" -"The hook should exit with non-zero status if it wants to disallow updating " -"the named ref. Otherwise it should exit with zero." +"May be an unabbreviated ref name or a glob and may be specified multiple " +"times. A warning will be issued for refs that do not exist, but a glob that " +"does not match any refs is silently ignored." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:138 +#: en/git-log.txt:221 msgid "" -"Successful execution (a zero exit status) of this hook does not ensure the " -"ref will actually be updated, it is only a prerequisite. As such it is not " -"a good idea to send notices (e.g. email) from this hook. Consider using the " -"post-receive hook instead." +"This setting can be disabled by the `--no-notes` option, overridden by the " +"`GIT_NOTES_DISPLAY_REF` environment variable, and overridden by the " +"`--notes=<ref>` option." msgstr "" -#. type: Title - -#: en/git-receive-pack.txt:140 +#. type: Title = +#: en/git-ls-files.txt:2 #, no-wrap -msgid "post-receive Hook" +msgid "git-ls-files(1)" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:146 +#: en/git-ls-files.txt:7 msgid "" -"After all refs were updated (or attempted to be updated), if any ref update " -"was successful, and if $GIT_DIR/hooks/post-receive file exists and is " -"executable, it will be invoked once with no parameters. The standard input " -"of the hook will be one line for each successfully updated ref:" +"git-ls-files - Show information about files in the index and the working " +"tree" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:156 +#: en/git-ls-files.txt:23 +#, no-wrap msgid "" -"The refname value is relative to $GIT_DIR; e.g. for the master head this is " -"\"refs/heads/master\". The two sha1 values before each refname are the " -"object names for the refname before and after the update. Refs that were " -"created will have sha1-old equal to 0\\{40}, while refs that were deleted " -"will have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should " -"be valid objects in the repository." +"'git ls-files' [-z] [-t] [-v]\n" +"\t\t(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])*\n" +"\t\t(-[c|d|o|i|s|u|k|m])*\n" +"\t\t[--eol]\n" +"\t\t[-x <pattern>|--exclude=<pattern>]\n" +"\t\t[-X <file>|--exclude-from=<file>]\n" +"\t\t[--exclude-per-directory=<file>]\n" +"\t\t[--exclude-standard]\n" +"\t\t[--error-unmatch] [--with-tree=<tree-ish>]\n" +"\t\t[--full-name] [--recurse-submodules]\n" +"\t\t[--abbrev] [--] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:159 +#: en/git-ls-files.txt:29 msgid "" -"The `GIT_PUSH_CERT*` environment variables can be inspected, just as in " -"`pre-receive` hook, after accepting a signed push." +"This merges the file listing in the directory cache index with the actual " +"working directory list, and shows different combinations of the two." msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:165 -msgid "" -"Using this hook, it is easy to generate mails describing the updates to the " -"repository. This example script sends one mail message per ref listing the " -"commits pushed to the repository, and logs the push certificates of signed " -"pushes with good signatures to a logger service:" +#: en/git-ls-files.txt:32 +msgid "One or more of the options below may be used to determine the files shown:" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:189 -#, no-wrap -msgid "" -"\t#!/bin/sh\n" -"\t# mail out commit update information.\n" -"\twhile read oval nval ref\n" -"\tdo\n" -"\t\tif expr \"$oval\" : '0*$' >/dev/null\n" -"\t\tthen\n" -"\t\t\techo \"Created a new ref, with the following commits:\"\n" -"\t\t\tgit rev-list --pretty \"$nval\"\n" -"\t\telse\n" -"\t\t\techo \"New commits:\"\n" -"\t\t\tgit rev-list --pretty \"$nval\" \"^$oval\"\n" -"\t\tfi |\n" -"\t\tmail -s \"Changes to ref $ref\" commit-list@mydomain\n" -"\tdone\n" -"\t# log signed push certificate, if any\n" -"\tif test -n \"${GIT_PUSH_CERT-}\" && test ${GIT_PUSH_CERT_STATUS} = G\n" -"\tthen\n" -"\t\t(\n" -"\t\t\techo expected nonce is ${GIT_PUSH_NONCE}\n" -"\t\t\tgit cat-file blob ${GIT_PUSH_CERT}\n" -"\t\t) | mail -s \"push certificate from $GIT_PUSH_CERT_SIGNER\" " -"push-log@mydomain\n" -"\tfi\n" -"\texit 0\n" +#: en/git-ls-files.txt:38 +msgid "Show cached files in the output (default)" msgstr "" -#. type: Plain text -#: en/git-receive-pack.txt:192 -msgid "" -"The exit code from this hook invocation is ignored, however a non-zero exit " -"code will generate an error message." +#. type: Labeled list +#: en/git-ls-files.txt:40 +#, no-wrap +msgid "--deleted" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:198 -msgid "" -"Note that it is possible for refname to not have sha1-new when this hook " -"runs. This can easily occur if another user modifies the ref after it was " -"updated by 'git-receive-pack', but before the hook was able to evaluate it. " -"It is recommended that hooks rely on sha1-new rather than the current value " -"of refname." +#: en/git-ls-files.txt:42 +msgid "Show deleted files in the output" msgstr "" -#. type: Title - -#: en/git-receive-pack.txt:200 +#. type: Labeled list +#: en/git-ls-files.txt:44 #, no-wrap -msgid "post-update Hook" +msgid "--modified" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:205 -msgid "" -"After all other processing, if at least one ref was updated, and if " -"$GIT_DIR/hooks/post-update file exists and is executable, then post-update " -"will be called with the list of refs that have been updated. This can be " -"used to implement any repository wide cleanup tasks." +#: en/git-ls-files.txt:46 +msgid "Show modified files in the output" msgstr "" -#. type: Plain text -#: en/git-receive-pack.txt:209 -msgid "" -"The exit code from this hook invocation is ignored; the only thing left for " -"'git-receive-pack' to do at that point is to exit itself anyway." +#. type: Labeled list +#: en/git-ls-files.txt:48 +#, no-wrap +msgid "--others" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:212 -msgid "" -"This hook can be used, for example, to run `git update-server-info` if the " -"repository is packed and is served via a dumb transport." +#: en/git-ls-files.txt:50 +msgid "Show other (i.e. untracked) files in the output" msgstr "" -#. type: Plain text -#: en/git-receive-pack.txt:215 +#. type: Labeled list +#: en/git-ls-files.txt:52 en/git-status.txt:97 #, no-wrap -msgid "" -"\t#!/bin/sh\n" -"\texec git update-server-info\n" +msgid "--ignored" msgstr "" #. type: Plain text -#: en/git-receive-pack.txt:220 -msgid "linkgit:git-send-pack[1], linkgit:gitnamespaces[7]" +#: en/git-ls-files.txt:57 +msgid "" +"Show only ignored files in the output. When showing files in the index, " +"print only those matched by an exclude pattern. When showing \"other\" " +"files, show only those matched by an exclude pattern." msgstr "" -#. type: Title = -#: en/git-reflog.txt:2 +#. type: Labeled list +#: en/git-ls-files.txt:59 #, no-wrap -msgid "git-reflog(1)" +msgid "--stage" msgstr "" #. type: Plain text -#: en/git-reflog.txt:7 -msgid "git-reflog - Manage reflog information" +#: en/git-ls-files.txt:61 +msgid "Show staged contents' object name, mode bits and stage number in the output." msgstr "" -#. type: Plain text -#: en/git-reflog.txt:13 +#. type: Labeled list +#: en/git-ls-files.txt:62 #, no-wrap -msgid "'git reflog' <subcommand> <options>\n" +msgid "--directory" msgstr "" #. type: Plain text -#: en/git-reflog.txt:27 -#, no-wrap +#: en/git-ls-files.txt:65 msgid "" -"'git reflog' ['show'] [log-options] [<ref>]\n" -"'git reflog expire' [--expire=<time>] [--expire-unreachable=<time>]\n" -"\t[--rewrite] [--updateref] [--stale-fix]\n" -"\t[--dry-run] [--verbose] [--all | <refs>...]\n" -"'git reflog delete' [--rewrite] [--updateref]\n" -"\t[--dry-run] [--verbose] ref@\\{specifier\\}...\n" -"'git reflog exists' <ref>\n" +"If a whole directory is classified as \"other\", show just its name (with a " +"trailing slash) and not its whole contents." msgstr "" -#. type: Plain text -#: en/git-reflog.txt:35 -msgid "" -"Reference logs, or \"reflogs\", record when the tips of branches and other " -"references were updated in the local repository. Reflogs are useful in " -"various Git commands, to specify the old value of a reference. For example, " -"`HEAD@{2}` means \"where HEAD used to be two moves ago\", " -"`master@{one.week.ago}` means \"where master used to point to one week ago " -"in this local repository\", and so on. See linkgit:gitrevisions[7] for more " -"details." +#. type: Labeled list +#: en/git-ls-files.txt:66 +#, no-wrap +msgid "--no-empty-directory" msgstr "" #. type: Plain text -#: en/git-reflog.txt:37 -msgid "This command manages the information recorded in the reflogs." +#: en/git-ls-files.txt:68 +msgid "Do not list empty directories. Has no effect without --directory." msgstr "" -#. type: Plain text -#: en/git-reflog.txt:44 -msgid "" -"The \"show\" subcommand (which is also the default, in the absence of any " -"subcommands) shows the log of the reference provided in the command-line (or " -"`HEAD`, by default). The reflog covers all recent actions, and in addition " -"the `HEAD` reflog records branch switching. `git reflog show` is an alias " -"for `git log -g --abbrev-commit --pretty=oneline`; see linkgit:git-log[1] " -"for more information." +#. type: Labeled list +#: en/git-ls-files.txt:70 en/git-update-index.txt:65 +#, no-wrap +msgid "--unmerged" msgstr "" #. type: Plain text -#: en/git-reflog.txt:50 -msgid "" -"The \"expire\" subcommand prunes older reflog entries. Entries older than " -"`expire` time, or entries older than `expire-unreachable` time and not " -"reachable from the current tip, are removed from the reflog. This is " -"typically not used directly by end users -- instead, see linkgit:git-gc[1]." +#: en/git-ls-files.txt:72 +msgid "Show unmerged files in the output (forces --stage)" +msgstr "" + +#. type: Labeled list +#: en/git-ls-files.txt:74 +#, no-wrap +msgid "--killed" msgstr "" #. type: Plain text -#: en/git-reflog.txt:55 +#: en/git-ls-files.txt:78 msgid "" -"The \"delete\" subcommand deletes single entries from the reflog. Its " -"argument must be an _exact_ entry (e.g. \"`git reflog delete " -"master@{2}`\"). This subcommand is also typically not used directly by end " -"users." +"Show files on the filesystem that need to be removed due to file/directory " +"conflicts for checkout-index to succeed." msgstr "" #. type: Plain text -#: en/git-reflog.txt:59 +#: en/git-ls-files.txt:82 msgid "" -"The \"exists\" subcommand checks whether a ref has a reflog. It exits with " -"zero status if the reflog exists, and non-zero status if it does not." +"\\0 line termination on output and do not quote filenames. See OUTPUT below " +"for more information." msgstr "" -#. type: Title ~ -#: en/git-reflog.txt:64 +#. type: Labeled list +#: en/git-ls-files.txt:83 #, no-wrap -msgid "Options for `show`" +msgid "-x <pattern>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:67 -msgid "`git reflog show` accepts any of the options accepted by `git log`." +#: en/git-ls-files.txt:88 +msgid "" +"Skip untracked files matching pattern. Note that pattern is a shell " +"wildcard pattern. See EXCLUDE PATTERNS below for more information." msgstr "" -#. type: Title ~ -#: en/git-reflog.txt:70 +#. type: Labeled list +#: en/git-ls-files.txt:89 #, no-wrap -msgid "Options for `expire`" -msgstr "" - -#. type: Plain text -#: en/git-reflog.txt:74 -msgid "Process the reflogs of all references." +msgid "-X <file>" msgstr "" #. type: Labeled list -#: en/git-reflog.txt:75 +#: en/git-ls-files.txt:90 #, no-wrap -msgid "--expire=<time>" +msgid "--exclude-from=<file>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:82 -msgid "" -"Prune entries older than the specified time. If this option is not " -"specified, the expiration time is taken from the configuration setting " -"`gc.reflogExpire`, which in turn defaults to 90 days. `--expire=all` prunes " -"entries regardless of their age; `--expire=never` turns off pruning of " -"reachable entries (but see `--expire-unreachable`)." +#: en/git-ls-files.txt:92 +msgid "Read exclude patterns from <file>; 1 per line." msgstr "" #. type: Labeled list -#: en/git-reflog.txt:83 +#: en/git-ls-files.txt:93 #, no-wrap -msgid "--expire-unreachable=<time>" +msgid "--exclude-per-directory=<file>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:92 +#: en/git-ls-files.txt:96 msgid "" -"Prune entries older than `<time>` that are not reachable from the current " -"tip of the branch. If this option is not specified, the expiration time is " -"taken from the configuration setting `gc.reflogExpireUnreachable`, which in " -"turn defaults to 30 days. `--expire-unreachable=all` prunes unreachable " -"entries regardless of their age; `--expire-unreachable=never` turns off " -"early pruning of unreachable entries (but see `--expire`)." -msgstr "" - -#. type: Labeled list -#: en/git-reflog.txt:93 -#, no-wrap -msgid "--updateref" +"Read additional exclude patterns that apply only to the directory and its " +"subdirectories in <file>." msgstr "" #. type: Plain text -#: en/git-reflog.txt:97 +#: en/git-ls-files.txt:100 msgid "" -"Update the reference to the value of the top reflog entry (i.e. " -"<ref>@\\{0\\}) if the previous top entry was pruned. (This option is " -"ignored for symbolic references.)" +"Add the standard Git exclusions: .git/info/exclude, .gitignore in each " +"directory, and the user's global exclusion file." msgstr "" #. type: Labeled list -#: en/git-reflog.txt:98 +#: en/git-ls-files.txt:101 #, no-wrap -msgid "--rewrite" +msgid "--error-unmatch" msgstr "" #. type: Plain text -#: en/git-reflog.txt:102 +#: en/git-ls-files.txt:104 msgid "" -"If a reflog entry's predecessor is pruned, adjust its \"old\" SHA-1 to be " -"equal to the \"new\" SHA-1 field of the entry that now precedes it." +"If any <file> does not appear in the index, treat this as an error (return " +"1)." msgstr "" #. type: Labeled list -#: en/git-reflog.txt:103 +#: en/git-ls-files.txt:105 #, no-wrap -msgid "--stale-fix" +msgid "--with-tree=<tree-ish>" msgstr "" #. type: Plain text -#: en/git-reflog.txt:108 +#: en/git-ls-files.txt:111 msgid "" -"Prune any reflog entries that point to \"broken commits\". A broken commit " -"is a commit that is not reachable from any of the reference tips and that " -"refers, directly or indirectly, to a missing commit, tree, or blob object." +"When using --error-unmatch to expand the user supplied <file> (i.e. path " +"pattern) arguments to paths, pretend that paths which were removed in the " +"index since the named <tree-ish> are still present. Using this option with " +"`-s` or `-u` options does not make any sense." msgstr "" #. type: Plain text -#: en/git-reflog.txt:113 +#: en/git-ls-files.txt:119 msgid "" -"This computation involves traversing all the reachable objects, i.e. it has " -"the same cost as 'git prune'. It is primarily intended to fix corruption " -"caused by garbage collecting using older versions of Git, which didn't " -"protect objects referred to by reflogs." -msgstr "" - -#. type: Plain text -#: en/git-reflog.txt:118 -msgid "Do not actually prune any entries; just show what would have been pruned." -msgstr "" - -#. type: Plain text -#: en/git-reflog.txt:121 -msgid "Print extra information on screen." -msgstr "" - -#. type: Title ~ -#: en/git-reflog.txt:124 -#, no-wrap -msgid "Options for `delete`" +"This feature is semi-deprecated. For scripting purpose, " +"linkgit:git-status[1] `--porcelain` and linkgit:git-diff-files[1] " +"`--name-status` are almost always superior alternatives, and users should " +"look at linkgit:git-status[1] `--short` or linkgit:git-diff[1] " +"`--name-status` for more user-friendly alternatives." msgstr "" #. type: Plain text -#: en/git-reflog.txt:129 +#: en/git-ls-files.txt:122 msgid "" -"`git reflog delete` accepts options `--updateref`, `--rewrite`, `-n`, " -"`--dry-run`, and `--verbose`, with the same meanings as when they are used " -"with `expire`." +"This option identifies the file status with the following tags (followed by " +"a space) at the start of each line:" msgstr "" -#. type: Title = -#: en/git-remote-ext.txt:2 +#. type: Labeled list +#: en/git-ls-files.txt:123 #, no-wrap -msgid "git-remote-ext(1)" +msgid "H" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:7 -msgid "git-remote-ext - Bridge smart transport to external command." +#: en/git-ls-files.txt:124 +msgid "cached" msgstr "" -#. type: Plain text -#: en/git-remote-ext.txt:12 +#. type: Labeled list +#: en/git-ls-files.txt:124 #, no-wrap -msgid "git remote add <nick> \"ext::<command>[ <arguments>...]\"\n" -msgstr "" - -#. type: Plain text -#: en/git-remote-ext.txt:17 -msgid "" -"This remote helper uses the specified '<command>' to connect to a remote Git " -"server." +msgid "S" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:23 -msgid "" -"Data written to stdin of the specified '<command>' is assumed to be sent to " -"a git:// server, git-upload-pack, git-receive-pack or git-upload-archive " -"(depending on situation), and data read from stdout of <command> is assumed " -"to be received from the same service." +#: en/git-ls-files.txt:125 +msgid "skip-worktree" msgstr "" -#. type: Plain text -#: en/git-remote-ext.txt:25 -msgid "Command and arguments are separated by an unescaped space." +#. type: Labeled list +#: en/git-ls-files.txt:125 +#, no-wrap +msgid "M" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:27 -msgid "The following sequences have a special meaning:" +#: en/git-ls-files.txt:126 +msgid "unmerged" msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:28 +#: en/git-ls-files.txt:126 #, no-wrap -msgid "'% '" +msgid "R" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:30 -msgid "Literal space in command or argument." +#: en/git-ls-files.txt:127 +msgid "removed/deleted" msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:31 +#: en/git-ls-files.txt:127 #, no-wrap -msgid "'%%'" +msgid "C" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:33 -msgid "Literal percent sign." +#: en/git-ls-files.txt:128 +msgid "modified/changed" msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:34 +#: en/git-ls-files.txt:128 #, no-wrap -msgid "'%s'" +msgid "K" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:37 -msgid "" -"Replaced with name (receive-pack, upload-pack, or upload-archive) of the " -"service Git wants to invoke." +#: en/git-ls-files.txt:129 +msgid "to be killed" msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:38 +#: en/git-ls-files.txt:129 #, no-wrap -msgid "'%S'" -msgstr "" - -#. type: Plain text -#: en/git-remote-ext.txt:42 -msgid "" -"Replaced with long name (git-receive-pack, git-upload-pack, or " -"git-upload-archive) of the service Git wants to invoke." +msgid "?" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:43 +#. type: Title ~ +#: en/git-ls-files.txt:130 en/git.txt:990 #, no-wrap -msgid "'%G' (must be the first characters in an argument)" +msgid "other" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:49 +#: en/git-ls-files.txt:135 msgid "" -"This argument will not be passed to '<command>'. Instead, it will cause the " -"helper to start by sending git:// service requests to the remote side with " -"the service field set to an appropriate value and the repository field set " -"to rest of the argument. Default is not to send such a request." +"Similar to `-t`, but use lowercase letters for files that are marked as " +"'assume unchanged' (see linkgit:git-update-index[1])." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:52 -msgid "This is useful if remote side is git:// server accessed over some tunnel." -msgstr "" - -#. type: Labeled list -#: en/git-remote-ext.txt:53 -#, no-wrap -msgid "'%V' (must be first characters in argument)" +#: en/git-ls-files.txt:145 +msgid "" +"Recursively calls ls-files on each submodule in the repository. Currently " +"there is only support for the --cached mode." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:57 +#: en/git-ls-files.txt:150 en/git-ls-tree.txt:67 msgid "" -"This argument will not be passed to '<command>'. Instead it sets the vhost " -"field in the git:// service request (to rest of the argument). Default is " -"not to send vhost in such request (if sent)." +"Instead of showing the full 40-byte hexadecimal object lines, show only a " +"partial prefix. Non default number of digits can be specified with " +"--abbrev=<n>." msgstr "" -#. type: Title - -#: en/git-remote-ext.txt:59 -#, no-wrap -msgid "ENVIRONMENT VARIABLES:" +#. type: Plain text +#: en/git-ls-files.txt:156 +msgid "" +"After each line that describes a file, add more data about its cache entry. " +"This is intended to show as much information as possible for manual " +"inspection; the exact format may change at any time." msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:61 en/git-remote-fd.txt:33 +#: en/git-ls-files.txt:157 #, no-wrap -msgid "GIT_TRANSLOOP_DEBUG" +msgid "--eol" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:63 en/git-remote-fd.txt:35 -msgid "If set, prints debugging information about various reads/writes." +#: en/git-ls-files.txt:162 +msgid "" +"Show <eolinfo> and <eolattr> of files. <eolinfo> is the file content " +"identification used by Git when the \"text\" attribute is \"auto\" (or not " +"set and core.autocrlf is not false). <eolinfo> is either \"-text\", " +"\"none\", \"lf\", \"crlf\", \"mixed\" or \"\"." msgstr "" -#. type: Title - -#: en/git-remote-ext.txt:65 -#, no-wrap -msgid "ENVIRONMENT VARIABLES PASSED TO COMMAND:" +#. type: Plain text +#: en/git-ls-files.txt:165 +msgid "" +"\"\" means the file is not a regular file, it is not in the index or not " +"accessible in the working tree." msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:67 -#, no-wrap -msgid "GIT_EXT_SERVICE" +#. type: Plain text +#: en/git-ls-files.txt:169 +msgid "" +"<eolattr> is the attribute that is used when checking out or committing, it " +"is either \"\", \"-text\", \"text\", \"text=auto\", \"text eol=lf\", \"text " +"eol=crlf\". Since Git 2.10 \"text=auto eol=lf\" and \"text=auto eol=crlf\" " +"are supported." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:70 +#: en/git-ls-files.txt:173 msgid "" -"Set to long name (git-upload-pack, etc...) of service helper needs to " -"invoke." +"Both the <eolinfo> in the index (\"i/<eolinfo>\") and in the working tree " +"(\"w/<eolinfo>\") are shown for regular files, followed by the " +"(\"attr/<eolattr>\")." msgstr "" #. type: Labeled list -#: en/git-remote-ext.txt:71 +#: en/git-ls-files.txt:177 en/git.txt:808 en/git-update-index.txt:207 #, no-wrap -msgid "GIT_EXT_SERVICE_NOPREFIX" +msgid "<file>" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:74 -msgid "Set to long name (upload-pack, etc...) of service helper needs to invoke." +#: en/git-ls-files.txt:180 +msgid "" +"Files to show. If no files are given all files which match the other " +"specified criteria are shown." msgstr "" #. type: Title - -#: en/git-remote-ext.txt:77 +#: en/git-ls-files.txt:182 #, no-wrap -msgid "EXAMPLES:" +msgid "Output" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:82 +#: en/git-ls-files.txt:185 msgid "" -"This remote helper is transparently used by Git when you use commands such " -"as \"git fetch <URL>\", \"git clone <URL>\", , \"git push <URL>\" or \"git " -"remote add <nick> <URL>\", where <URL> begins with `ext::`. Examples:" +"'git ls-files' just outputs the filenames unless `--stage` is specified in " +"which case it outputs:" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:83 +#. type: Plain text +#: en/git-ls-files.txt:187 #, no-wrap -msgid "\"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S 'foo/repo'\"" +msgid " [<tag> ]<mode> <object> <stage> <file>\n" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:87 +#: en/git-ls-files.txt:190 +#, no-wrap msgid "" -"Like host.example:foo/repo, but use /home/foo/.ssh/somekey as keypair and " -"user as user on remote side. This avoids needing to edit .ssh/config." +"'git ls-files --eol' will show\n" +"\ti/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><file>\n" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:88 -#, no-wrap -msgid "\"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo\"" +#. type: Plain text +#: en/git-ls-files.txt:193 +msgid "" +"'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine " +"detailed information on unmerged paths." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:91 +#: en/git-ls-files.txt:199 msgid "" -"Represents repository with path /somerepo accessible over git protocol at " -"abstract namespace address /git-server." +"For an unmerged path, instead of recording a single mode/SHA-1 pair, the " +"index records up to three such pairs; one from tree O in stage 1, A in stage " +"2, and B in stage 3. This information can be used by the user (or the " +"porcelain) to see what should eventually be recorded at the path. (see " +"linkgit:git-read-tree[1] for more information on state)" msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:92 +#. type: Title - +#: en/git-ls-files.txt:207 #, no-wrap -msgid "\"ext::git-server-alias foo %G/repo\"" +msgid "Exclude Patterns" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:98 +#: en/git-ls-files.txt:213 msgid "" -"Represents a repository with path /repo accessed using the helper program " -"\"git-server-alias foo\". The path to the repository and type of request " -"are not passed on the command line but as part of the protocol stream, as " -"usual with git:// protocol." +"'git ls-files' can use a list of \"exclude patterns\" when traversing the " +"directory tree and finding files to show when the flags --others or " +"--ignored are specified. linkgit:gitignore[5] specifies the format of " +"exclude patterns." msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:99 -#, no-wrap -msgid "\"ext::git-server-alias foo %G/repo %Vfoo\"" +#. type: Plain text +#: en/git-ls-files.txt:215 +msgid "These exclude patterns come from these places, in order:" msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:105 +#: en/git-ls-files.txt:219 msgid "" -"Represents a repository with path /repo accessed using the helper program " -"\"git-server-alias foo\". The hostname for the remote server passed in the " -"protocol stream will be \"foo\" (this allows multiple virtual Git servers to " -"share a link-level address)." -msgstr "" - -#. type: Labeled list -#: en/git-remote-ext.txt:106 -#, no-wrap -msgid "\"ext::git-server-alias foo %G/repo% with% spaces %Vfoo\"" +"The command-line flag --exclude=<pattern> specifies a single pattern. " +"Patterns are ordered in the same order they appear in the command line." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:112 +#: en/git-ls-files.txt:223 msgid "" -"Represents a repository with path '/repo with spaces' accessed using the " -"helper program \"git-server-alias foo\". The hostname for the remote server " -"passed in the protocol stream will be \"foo\" (this allows multiple virtual " -"Git servers to share a link-level address)." +"The command-line flag --exclude-from=<file> specifies a file containing a " +"list of patterns. Patterns are ordered in the same order they appear in the " +"file." msgstr "" -#. type: Labeled list -#: en/git-remote-ext.txt:113 -#, no-wrap -msgid "\"ext::git-ssl foo.example /bar\"" +#. type: Plain text +#: en/git-ls-files.txt:229 +msgid "" +"The command-line flag --exclude-per-directory=<name> specifies a name of the " +"file in each directory 'git ls-files' examines, normally `.gitignore`. " +"Files in deeper directories take precedence. Patterns are ordered in the " +"same order they appear in the files." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:118 +#: en/git-ls-files.txt:235 msgid "" -"Represents a repository accessed using the helper program \"git-ssl " -"foo.example /bar\". The type of request can be determined by the helper " -"using environment variables (see above)." +"A pattern specified on the command line with --exclude or read from the file " +"specified with --exclude-from is relative to the top of the directory tree. " +"A pattern read from a file specified by --exclude-per-directory is relative " +"to the directory that the pattern file appears in." msgstr "" #. type: Plain text -#: en/git-remote-ext.txt:122 en/git-remote-fd.txt:56 en/git-remote-testgit.txt:27 -msgid "linkgit:gitremote-helpers[1]" +#: en/git-ls-files.txt:239 +msgid "linkgit:git-read-tree[1], linkgit:gitignore[5]" msgstr "" #. type: Title = -#: en/git-remote-fd.txt:2 +#: en/git-ls-remote.txt:2 #, no-wrap -msgid "git-remote-fd(1)" -msgstr "" - -#. type: Plain text -#: en/git-remote-fd.txt:7 -msgid "git-remote-fd - Reflect smart transport stream back to caller" +msgid "git-ls-remote(1)" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:11 -msgid "\"fd::<infd>[,<outfd>][/<anything>]\" (as URL)" +#: en/git-ls-remote.txt:7 +msgid "git-ls-remote - List references in a remote repository" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:17 +#: en/git-ls-remote.txt:15 +#, no-wrap msgid "" -"This helper uses specified file descriptors to connect to a remote Git " -"server. This is not meant for end users but for programs and scripts " -"calling git fetch, push or archive." +"'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +"\t [-q | --quiet] [--exit-code] [--get-url]\n" +"\t [--symref] [<repository> [<refs>...]]\n" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:23 +#: en/git-ls-remote.txt:20 msgid "" -"If only <infd> is given, it is assumed to be a bidirectional socket " -"connected to remote Git server (git-upload-pack, git-receive-pack or " -"git-upload-archive). If both <infd> and <outfd> are given, they are assumed " -"to be pipes connected to a remote Git server (<infd> being the inbound pipe " -"and <outfd> being the outbound pipe." +"Displays references available in a remote repository along with the " +"associated commit IDs." msgstr "" -#. type: Plain text -#: en/git-remote-fd.txt:26 -msgid "" -"It is assumed that any handshaking procedures have already been completed " -"(such as sending service request for git://) before this helper is started." +#. type: Labeled list +#: en/git-ls-remote.txt:25 en/git-show-ref.txt:41 +#, no-wrap +msgid "--heads" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:30 +#: en/git-ls-remote.txt:32 msgid "" -"<anything> can be any string. It is ignored. It is meant for providing " -"information to user in the URL in case that URL is displayed in some " -"context." -msgstr "" - -#. type: Title - -#: en/git-remote-fd.txt:32 -#, no-wrap -msgid "ENVIRONMENT VARIABLES" +"Limit to only refs/heads and refs/tags, respectively. These options are " +"_not_ mutually exclusive; when given both, references stored in refs/heads " +"and refs/tags are displayed." msgstr "" #. type: Labeled list -#: en/git-remote-fd.txt:38 +#: en/git-ls-remote.txt:33 #, no-wrap -msgid "`git fetch fd::17 master`" +msgid "--refs" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:41 -msgid "Fetch master, using file descriptor #17 to communicate with git-upload-pack." +#: en/git-ls-remote.txt:35 +msgid "Do not show peeled tags or pseudorefs like HEAD\tin the output." msgstr "" -#. type: Labeled list -#: en/git-remote-fd.txt:42 -#, no-wrap -msgid "`git fetch fd::17/foo master`" +#. type: Plain text +#: en/git-ls-remote.txt:39 +msgid "Do not print remote URL to stderr." msgstr "" #. type: Labeled list -#: en/git-remote-fd.txt:45 +#: en/git-ls-remote.txt:40 #, no-wrap -msgid "`git push fd::7,8 master (as URL)`" +msgid "--upload-pack=<exec>" msgstr "" #. type: Plain text -#: en/git-remote-fd.txt:49 +#: en/git-ls-remote.txt:45 msgid "" -"Push master, using file descriptor #7 to read data from git-receive-pack and " -"file descriptor #8 to write data to same service." +"Specify the full path of 'git-upload-pack' on the remote host. This allows " +"listing references from repositories accessed via SSH and where the SSH " +"daemon does not use the PATH configured by the user." msgstr "" -#. type: Labeled list -#: en/git-remote-fd.txt:50 -#, no-wrap -msgid "`git push fd::7,8/bar master`" +#. type: Plain text +#: en/git-ls-remote.txt:51 +msgid "" +"Exit with status \"2\" when no matching refs are found in the remote " +"repository. Usually the command exits with status \"0\" to indicate it " +"successfully talked with the remote repository, whether it found any " +"matching refs." msgstr "" -#. type: Title = -#: en/git-remote-testgit.txt:2 +#. type: Labeled list +#: en/git-ls-remote.txt:52 #, no-wrap -msgid "git-remote-testgit(1)" +msgid "--get-url" msgstr "" #. type: Plain text -#: en/git-remote-testgit.txt:7 -msgid "git-remote-testgit - Example remote-helper" +#: en/git-ls-remote.txt:56 +msgid "" +"Expand the URL of the given remote repository taking into account any " +"\"url.<base>.insteadOf\" config setting (See linkgit:git-config[1]) and exit " +"without talking to the remote." msgstr "" -#. type: Plain text -#: en/git-remote-testgit.txt:13 +#. type: Labeled list +#: en/git-ls-remote.txt:57 #, no-wrap -msgid "git clone testgit::<source-repo> [<destination>]\n" +msgid "--symref" msgstr "" #. type: Plain text -#: en/git-remote-testgit.txt:20 +#: en/git-ls-remote.txt:62 msgid "" -"This command is a simple remote-helper, that is used both as a testcase for " -"the remote-helper functionality, and as an example to show remote-helper " -"authors one possible implementation." +"In addition to the object pointed by it, show the underlying ref pointed by " +"it when showing a symbolic ref. Currently, upload-pack only shows the " +"symref HEAD, so it will be the only one shown by ls-remote." msgstr "" #. type: Plain text -#: en/git-remote-testgit.txt:23 +#: en/git-ls-remote.txt:67 msgid "" -"The best way to learn more is to read the comments and source code in " -"'git-remote-testgit'." +"The \"remote\" repository to query. This parameter can be either a URL or " +"the name of a remote (see the GIT URLS and REMOTES sections of " +"linkgit:git-fetch[1])." msgstr "" -#. type: Title = -#: en/git-remote.txt:2 -#, no-wrap -msgid "git-remote(1)" +#. type: Plain text +#: en/git-ls-remote.txt:73 +msgid "" +"When unspecified, all references, after filtering done with --heads and " +"--tags, are shown. When <refs>... are specified, only references matching " +"the given patterns are displayed." msgstr "" #. type: Plain text -#: en/git-remote.txt:7 -msgid "git-remote - Manage set of tracked repositories" +#: en/git-ls-remote.txt:92 +#, no-wrap +msgid "" +"\t$ git ls-remote --tags ./.\n" +"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" +"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" +"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" +"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" +"\t0918385dbd9656cab0d1d81ba7453d49bbc16250\trefs/tags/junio-gpg-pub\n" +"\t$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master pu rc\n" +"\t5fe978a5381f1fbad26a80e682ddd2a401966740\trefs/heads/master\n" +"\tc781a84b5204fb294c9ccc79f8b3baceeb32c061\trefs/heads/pu\n" +"\t$ git remote add korg http://www.kernel.org/pub/scm/git/git.git\n" +"\t$ git ls-remote --tags korg v\\*\n" +"\td6602ec5194c87b0fc87103ca4d67251c76f233a\trefs/tags/v0.99\n" +"\tf25a265a342aed6041ab0cc484224d9ca54b6f41\trefs/tags/v0.99.1\n" +"\tc5db5456ae3b0873fc659c19fafdde22313cc441\trefs/tags/v0.99.2\n" +"\t7ceca275d047c90c0c7d5afb13ab97efdf51bd6e\trefs/tags/v0.99.3\n" +msgstr "" + +#. type: Title = +#: en/git-ls-tree.txt:2 +#, no-wrap +msgid "git-ls-tree(1)" msgstr "" #. type: Plain text -#: en/git-remote.txt:25 +#: en/git-ls-tree.txt:7 +msgid "git-ls-tree - List the contents of a tree object" +msgstr "" + +#. type: Plain text +#: en/git-ls-tree.txt:15 #, no-wrap msgid "" -"'git remote' [-v | --verbose]\n" -"'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] " -"[--mirror=<fetch|push>] <name> <url>\n" -"'git remote rename' <old> <new>\n" -"'git remote remove' <name>\n" -"'git remote set-head' <name> (-a | --auto | -d | --delete | <branch>)\n" -"'git remote set-branches' [--add] <name> <branch>...\n" -"'git remote get-url' [--push] [--all] <name>\n" -"'git remote set-url' [--push] <name> <newurl> [<oldurl>]\n" -"'git remote set-url --add' [--push] <name> <newurl>\n" -"'git remote set-url --delete' [--push] <name> <url>\n" -"'git remote' [-v | --verbose] 'show' [-n] <name>...\n" -"'git remote prune' [-n | --dry-run] <name>...\n" -"'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | " -"<remote>)...]\n" +"'git ls-tree' [-d] [-r] [-t] [-l] [-z]\n" +"\t [--name-only] [--name-status] [--full-name] [--full-tree] " +"[--abbrev[=<n>]]\n" +"\t <tree-ish> [<path>...]\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:30 -msgid "Manage the set of repositories (\"remotes\") whose branches you track." +#: en/git-ls-tree.txt:20 +msgid "" +"Lists the contents of a given tree object, like what \"/bin/ls -a\" does in " +"the current working directory. Note that:" msgstr "" #. type: Plain text -#: en/git-remote.txt:39 +#: en/git-ls-tree.txt:25 msgid "" -"Be a little more verbose and show remote url after name. NOTE: This must be " -"placed between `remote` and `subcommand`." +"the behaviour is slightly different from that of \"/bin/ls\" in that the " +"'<path>' denotes just a list of patterns to match, e.g. so specifying " +"directory name (without `-r`) will behave differently, and order of the " +"arguments does not matter." msgstr "" #. type: Plain text -#: en/git-remote.txt:46 +#: en/git-ls-tree.txt:35 msgid "" -"With no arguments, shows a list of existing remotes. Several subcommands " -"are available to perform operations on the remotes." +"the behaviour is similar to that of \"/bin/ls\" in that the '<path>' is " +"taken as relative to the current working directory. E.g. when you are in a " +"directory 'sub' that has a directory 'dir', you can run 'git ls-tree -r HEAD " +"dir' to list the contents of the tree (that is 'sub/dir' in `HEAD`). You " +"don't want to give a tree that is not at the root level (e.g. `git ls-tree " +"-r HEAD:sub dir`) in this case, as that would result in asking for " +"'sub/sub/dir' in the `HEAD` commit. However, the current working directory " +"can be ignored by passing --full-tree option." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:47 -#, no-wrap -msgid "'add'" +#. type: Plain text +#: en/git-ls-tree.txt:40 +msgid "Id of a tree-ish." msgstr "" #. type: Plain text -#: en/git-remote.txt:52 -msgid "" -"Adds a remote named <name> for the repository at <url>. The command `git " -"fetch <name>` can then be used to create and update remote-tracking branches " -"<name>/<branch>." +#: en/git-ls-tree.txt:43 +msgid "Show only the named tree entry itself, not its children." msgstr "" #. type: Plain text -#: en/git-remote.txt:55 -msgid "" -"With `-f` option, `git fetch <name>` is run immediately after the remote " -"information is set up." +#: en/git-ls-tree.txt:46 +msgid "Recurse into sub-trees." msgstr "" #. type: Plain text -#: en/git-remote.txt:58 +#: en/git-ls-tree.txt:50 msgid "" -"With `--tags` option, `git fetch <name>` imports every tag from the remote " -"repository." +"Show tree entries even when going to recurse them. Has no effect if `-r` was " +"not passed. `-d` implies `-t`." msgstr "" #. type: Plain text -#: en/git-remote.txt:61 -msgid "" -"With `--no-tags` option, `git fetch <name>` does not import tags from the " -"remote repository." +#: en/git-ls-tree.txt:54 +msgid "Show object size of blob (file) entries." msgstr "" #. type: Plain text -#: en/git-remote.txt:64 +#: en/git-ls-tree.txt:58 msgid "" -"By default, only tags on fetched branches are imported (see " -"linkgit:git-fetch[1])." +"\\0 line termination on output and do not quote filenames. See OUTPUT " +"FORMAT below for more information." msgstr "" #. type: Plain text -#: en/git-remote.txt:70 -msgid "" -"With `-t <branch>` option, instead of the default glob refspec for the " -"remote to track all branches under the `refs/remotes/<name>/` namespace, a " -"refspec to track only `<branch>` is created. You can give more than one `-t " -"<branch>` to track multiple branches without grabbing all branches." +#: en/git-ls-tree.txt:62 +msgid "List only filenames (instead of the \"long\" output), one per line." msgstr "" #. type: Plain text -#: en/git-remote.txt:73 +#: en/git-ls-tree.txt:71 msgid "" -"With `-m <master>` option, a symbolic-ref `refs/remotes/<name>/HEAD` is set " -"up to point at remote's `<master>` branch. See also the set-head command." +"Instead of showing the path names relative to the current working directory, " +"show the full path names." msgstr "" #. type: Plain text -#: en/git-remote.txt:79 +#: en/git-ls-tree.txt:75 msgid "" -"When a fetch mirror is created with `--mirror=fetch`, the refs will not be " -"stored in the 'refs/remotes/' namespace, but rather everything in 'refs/' on " -"the remote will be directly mirrored into 'refs/' in the local " -"repository. This option only makes sense in bare repositories, because a " -"fetch would overwrite any local commits." +"Do not limit the listing to the current working directory. Implies " +"--full-name." msgstr "" #. type: Plain text -#: en/git-remote.txt:82 +#: en/git-ls-tree.txt:80 +#, no-wrap msgid "" -"When a push mirror is created with `--mirror=push`, then `git push` will " -"always behave as if `--mirror` was passed." +"[<path>...]::\n" +"\tWhen paths are given, show them (note that this isn't really raw\n" +"\tpathnames, but rather a list of patterns to match). Otherwise\n" +"\timplicitly uses the root level of the tree as the sole path argument.\n" msgstr "" -#. type: Labeled list -#: en/git-remote.txt:83 +#. type: Title - +#: en/git-ls-tree.txt:83 #, no-wrap -msgid "'rename'" +msgid "Output Format" msgstr "" #. type: Plain text -#: en/git-remote.txt:87 -msgid "" -"Rename the remote named <old> to <new>. All remote-tracking branches and " -"configuration settings for the remote are updated." +#: en/git-ls-tree.txt:85 +#, no-wrap +msgid " <mode> SP <type> SP <object> TAB <file>\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:91 +#: en/git-ls-tree.txt:88 msgid "" -"In case <old> and <new> are the same, and <old> is a file under " -"`$GIT_DIR/remotes` or `$GIT_DIR/branches`, the remote is converted to the " -"configuration file format." +"This output format is compatible with what `--index-info --stdin` of 'git " +"update-index' expects." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:92 -#, no-wrap -msgid "'remove'" +#. type: Plain text +#: en/git-ls-tree.txt:90 +msgid "When the `-l` option is used, format changes to" msgstr "" -#. type: Labeled list -#: en/git-remote.txt:93 +#. type: Plain text +#: en/git-ls-tree.txt:92 #, no-wrap -msgid "'rm'" +msgid " <mode> SP <type> SP <object> SP <object size> TAB <file>\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:97 +#: en/git-ls-tree.txt:96 msgid "" -"Remove the remote named <name>. All remote-tracking branches and " -"configuration settings for the remote are removed." +"Object size identified by <object> is given in bytes, and right-justified " +"with minimum width of 7 characters. Object size is given only for blobs " +"(file) entries; for other entries `-` character is used in place of size." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:98 +#. type: Title = +#: en/git-mailinfo.txt:2 #, no-wrap -msgid "'set-head'" +msgid "git-mailinfo(1)" msgstr "" #. type: Plain text -#: en/git-remote.txt:107 -msgid "" -"Sets or deletes the default branch (i.e. the target of the symbolic-ref " -"`refs/remotes/<name>/HEAD`) for the named remote. Having a default branch " -"for a remote is not required, but allows the name of the remote to be " -"specified in lieu of a specific branch. For example, if the default branch " -"for `origin` is set to `master`, then `origin` may be specified wherever you " -"would normally specify `origin/master`." +#: en/git-mailinfo.txt:7 +msgid "git-mailinfo - Extracts patch and authorship from a single e-mail message" msgstr "" #. type: Plain text -#: en/git-remote.txt:109 +#: en/git-mailinfo.txt:13 +#, no-wrap msgid "" -"With `-d` or `--delete`, the symbolic ref `refs/remotes/<name>/HEAD` is " -"deleted." +"'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] " +"<msg> <patch>\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:116 +#: en/git-mailinfo.txt:23 msgid "" -"With `-a` or `--auto`, the remote is queried to determine its `HEAD`, then " -"the symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., " -"if the remote `HEAD` is pointed at `next`, \"`git remote set-head origin " -"-a`\" will set the symbolic-ref `refs/remotes/origin/HEAD` to " -"`refs/remotes/origin/next`. This will only work if " -"`refs/remotes/origin/next` already exists; if not it must be fetched first." +"Reads a single e-mail message from the standard input, and writes the commit " +"log message in <msg> file, and the patches in <patch> file. The author " +"name, e-mail and e-mail subject are written out to the standard output to be " +"used by 'git am' to create a commit. It is usually not necessary to use " +"this command directly. See linkgit:git-am[1] instead." msgstr "" #. type: Plain text -#: en/git-remote.txt:121 +#: en/git-mailinfo.txt:32 msgid "" -"Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` " -"explicitly. e.g., \"git remote set-head origin master\" will set the " -"symbolic-ref `refs/remotes/origin/HEAD` to " -"`refs/remotes/origin/master`. This will only work if " -"`refs/remotes/origin/master` already exists; if not it must be fetched " -"first." +"Usually the program removes email cruft from the Subject: header line to " +"extract the title line for the commit log message. This option prevents " +"this munging, and is most useful when used to read back 'git format-patch " +"-k' output." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:123 -#, no-wrap -msgid "'set-branches'" +#. type: Plain text +#: en/git-mailinfo.txt:34 +msgid "Specifically, the following are removed until none of them remain:" msgstr "" #. type: Plain text -#: en/git-remote.txt:128 -msgid "" -"Changes the list of branches tracked by the named remote. This can be used " -"to track a subset of the available remote branches after the initial setup " -"for a remote." +#: en/git-mailinfo.txt:37 +msgid "Leading and trailing whitespace." msgstr "" #. type: Plain text -#: en/git-remote.txt:131 -msgid "" -"The named branches will be interpreted as if specified with the `-t` option " -"on the 'git remote add' command line." +#: en/git-mailinfo.txt:39 +msgid "Leading `Re:`, `re:`, and `:`." msgstr "" #. type: Plain text -#: en/git-remote.txt:134 -msgid "" -"With `--add`, instead of replacing the list of currently tracked branches, " -"adds to that list." +#: en/git-mailinfo.txt:41 +msgid "Leading bracketed strings (between `[` and `]`, usually" msgstr "" -#. type: Labeled list -#: en/git-remote.txt:135 -#, no-wrap -msgid "'get-url'" +#. type: Plain text +#: en/git-mailinfo.txt:42 +msgid "`[PATCH]`)." msgstr "" #. type: Plain text -#: en/git-remote.txt:139 +#: en/git-mailinfo.txt:46 msgid "" -"Retrieves the URLs for a remote. Configurations for `insteadOf` and " -"`pushInsteadOf` are expanded here. By default, only the first URL is listed." +"Finally, runs of whitespace are normalized to a single ASCII space " +"character." msgstr "" #. type: Plain text -#: en/git-remote.txt:141 -msgid "With `--push`, push URLs are queried rather than fetch URLs." +#: en/git-mailinfo.txt:51 +msgid "" +"When -k is not in effect, all leading strings bracketed with '[' and ']' " +"pairs are stripped. This option limits the stripping to only the pairs " +"whose bracketed string contains the word \"PATCH\"." msgstr "" #. type: Plain text -#: en/git-remote.txt:143 -msgid "With `--all`, all URLs for the remote will be listed." -msgstr "" - -#. type: Labeled list -#: en/git-remote.txt:144 -#, no-wrap -msgid "'set-url'" +#: en/git-mailinfo.txt:58 +msgid "" +"The commit log message, author name and author email are taken from the " +"e-mail, and after minimally decoding MIME transfer encoding, re-coded in the " +"charset specified by i18n.commitencoding (defaulting to UTF-8) by " +"transliterating them. This used to be optional but now it is the default." msgstr "" #. type: Plain text -#: en/git-remote.txt:149 +#: en/git-mailinfo.txt:61 msgid "" -"Changes URLs for the remote. Sets first URL for remote <name> that matches " -"regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> " -"doesn't match any URL, an error occurs and nothing is changed." +"Note that the patch is always used as-is without charset conversion, even " +"with this flag." msgstr "" #. type: Plain text -#: en/git-remote.txt:151 -msgid "With `--push`, push URLs are manipulated instead of fetch URLs." +#: en/git-mailinfo.txt:65 +msgid "" +"Similar to -u. But when re-coding, the charset specified here is used " +"instead of the one specified by i18n.commitencoding or UTF-8." msgstr "" #. type: Plain text -#: en/git-remote.txt:153 -msgid "With `--add`, instead of changing existing URLs, new URL is added." +#: en/git-mailinfo.txt:68 +msgid "Disable all charset re-coding of the metadata." msgstr "" #. type: Plain text -#: en/git-remote.txt:157 +#: en/git-mailinfo.txt:73 msgid "" -"With `--delete`, instead of changing existing URLs, all URLs matching regex " -"<url> are deleted for remote <name>. Trying to delete all non-push URLs is " -"an error." +"Copy the Message-ID header at the end of the commit message. This is useful " +"in order to associate commits with mailing list discussions." msgstr "" #. type: Plain text -#: en/git-remote.txt:164 +#: en/git-mailinfo.txt:82 msgid "" -"Note that the push URL and the fetch URL, even though they can be set " -"differently, must still refer to the same place. What you pushed to the " -"push URL should be what you would see if you immediately fetched from the " -"fetch URL. If you are trying to fetch from one place (e.g. your upstream) " -"and push to another (e.g. your publishing repository), use two separate " -"remotes." +"Remove everything in body before a scissors line. A line that mainly " +"consists of scissors (either \">8\" or \"8<\") and perforation (dash \"-\") " +"marks is called a scissors line, and is used to request the reader to cut " +"the message at that line. If such a line appears in the body of the message " +"before the patch, everything before it (including the scissors line itself) " +"is ignored when this option is used." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:166 -#, no-wrap -msgid "'show'" +#. type: Plain text +#: en/git-mailinfo.txt:87 +msgid "" +"This is useful if you want to begin your message in a discussion thread with " +"comments and suggestions on the message you are responding to, and to " +"conclude it with a patch submission, separating the discussion and the " +"beginning of the proposed commit log message with a scissors line." msgstr "" #. type: Plain text -#: en/git-remote.txt:169 -msgid "Gives some information about the remote <name>." +#: en/git-mailinfo.txt:89 +msgid "" +"This can be enabled by default with the configuration option " +"mailinfo.scissors." msgstr "" #. type: Plain text -#: en/git-remote.txt:172 -msgid "" -"With `-n` option, the remote heads are not queried first with `git ls-remote " -"<name>`; cached information is used instead." +#: en/git-mailinfo.txt:92 +msgid "Ignore scissors lines. Useful for overriding mailinfo.scissors settings." msgstr "" #. type: Labeled list -#: en/git-remote.txt:173 +#: en/git-mailinfo.txt:93 #, no-wrap -msgid "'prune'" +msgid "<msg>" msgstr "" #. type: Plain text -#: en/git-remote.txt:179 +#: en/git-mailinfo.txt:96 msgid "" -"Deletes all stale remote-tracking branches under <name>. These stale " -"branches have already been removed from the remote repository referenced by " -"<name>, but are still locally available in \"remotes/<name>\"." +"The commit log message extracted from e-mail, usually except the title line " +"which comes from e-mail Subject." +msgstr "" + +#. type: Labeled list +#: en/git-mailinfo.txt:97 en/git-patch-id.txt:59 +#, no-wrap +msgid "<patch>" msgstr "" #. type: Plain text -#: en/git-remote.txt:182 -msgid "" -"With `--dry-run` option, report what branches will be pruned, but do not " -"actually prune them." +#: en/git-mailinfo.txt:99 +msgid "The patch extracted from e-mail." msgstr "" -#. type: Labeled list -#: en/git-remote.txt:183 +#. type: Title = +#: en/git-mailsplit.txt:2 #, no-wrap -msgid "'update'" +msgid "git-mailsplit(1)" msgstr "" #. type: Plain text -#: en/git-remote.txt:191 -msgid "" -"Fetch updates for a named set of remotes in the repository as defined by " -"remotes.<group>. If a named group is not specified on the command line, the " -"configuration parameter remotes.default will be used; if remotes.default is " -"not defined, all remotes which do not have the configuration parameter " -"remote.<name>.skipDefaultUpdate set to true will be updated. (See " -"linkgit:git-config[1])." +#: en/git-mailsplit.txt:7 +msgid "git-mailsplit - Simple UNIX mbox splitter program" msgstr "" #. type: Plain text -#: en/git-remote.txt:193 -msgid "With `--prune` option, prune all the remotes that are updated." +#: en/git-mailsplit.txt:13 +#, no-wrap +msgid "" +"'git mailsplit' [-b] [-f<nn>] [-d<prec>] [--keep-cr] [--mboxrd]\n" +"\t\t-o<directory> [--] [(<mbox>|<Maildir>)...]\n" msgstr "" #. type: Plain text -#: en/git-remote.txt:201 +#: en/git-mailsplit.txt:18 msgid "" -"The remote configuration is achieved using the `remote.origin.url` and " -"`remote.origin.fetch` configuration variables. (See linkgit:git-config[1])." +"Splits a mbox file or a Maildir into a list of files: \"0001\" \"0002\" .. " +"in the specified directory so you can process them further from there." msgstr "" #. type: Plain text -#: en/git-remote.txt:206 -msgid "Add a new remote, fetch, and check out a branch from it" +#: en/git-mailsplit.txt:21 +msgid "" +"Maildir splitting relies upon filenames being sorted to output patches in " +"the correct order." msgstr "" -#. type: delimited block - -#: en/git-remote.txt:231 +#. type: Labeled list +#: en/git-mailsplit.txt:24 #, no-wrap -msgid "" -"$ git remote\n" -"origin\n" -"$ git branch -r\n" -" origin/HEAD -> origin/master\n" -" origin/master\n" -"$ git remote add staging git://git.kernel.org/.../gregkh/staging.git\n" -"$ git remote\n" -"origin\n" -"staging\n" -"$ git fetch staging\n" -"...\n" -"From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n" -" * [new branch] master -> staging/master\n" -" * [new branch] staging-linus -> staging/staging-linus\n" -" * [new branch] staging-next -> staging/staging-next\n" -"$ git branch -r\n" -" origin/HEAD -> origin/master\n" -" origin/master\n" -" staging/master\n" -" staging/staging-linus\n" -" staging/staging-next\n" -"$ git checkout -b staging staging/master\n" -"...\n" +msgid "<mbox>" msgstr "" #. type: Plain text -#: en/git-remote.txt:234 -msgid "Imitate 'git clone' but track only selected branches" +#: en/git-mailsplit.txt:27 +msgid "Mbox file to split. If not given, the mbox is read from the standard input." msgstr "" -#. type: delimited block - -#: en/git-remote.txt:241 +#. type: Labeled list +#: en/git-mailsplit.txt:28 #, no-wrap -msgid "" -"$ mkdir project.git\n" -"$ cd project.git\n" -"$ git init\n" -"$ git remote add -f -t master -m master origin git://example.com/git.git/\n" -"$ git merge origin\n" +msgid "<Maildir>" msgstr "" #. type: Plain text -#: en/git-remote.txt:249 -msgid "linkgit:git-fetch[1] linkgit:git-branch[1] linkgit:git-config[1]" +#: en/git-mailsplit.txt:31 +msgid "" +"Root of the Maildir to split. This directory should contain the cur, tmp and " +"new subdirectories." msgstr "" -#. type: Title = -#: en/git-repack.txt:2 +#. type: Labeled list +#: en/git-mailsplit.txt:32 #, no-wrap -msgid "git-repack(1)" +msgid "-o<directory>" msgstr "" #. type: Plain text -#: en/git-repack.txt:7 -msgid "git-repack - Pack unpacked objects in a repository" +#: en/git-mailsplit.txt:34 +msgid "Directory in which to place the individual messages." msgstr "" #. type: Plain text -#: en/git-repack.txt:13 -#, no-wrap +#: en/git-mailsplit.txt:38 msgid "" -"'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] " -"[--depth=<n>]\n" +"If any file doesn't begin with a From line, assume it is a single mail " +"message instead of signaling error." msgstr "" -#. type: Plain text -#: en/git-repack.txt:20 -msgid "" -"This command is used to combine all objects that do not currently reside in " -"a \"pack\", into a pack. It can also be used to re-organize existing packs " -"into a single, more efficient pack." +#. type: Labeled list +#: en/git-mailsplit.txt:39 +#, no-wrap +msgid "-d<prec>" msgstr "" #. type: Plain text -#: en/git-repack.txt:39 +#: en/git-mailsplit.txt:43 msgid "" -"Instead of incrementally packing the unpacked objects, pack everything " -"referenced into a single pack. Especially useful when packing a repository " -"that is used for private development. Use with `-d`. This will clean up the " -"objects that `git prune` leaves behind, but `git fsck --full --dangling` " -"shows as dangling." +"Instead of the default 4 digits with leading zeros, different precision can " +"be specified for the generated filenames." msgstr "" -#. type: Plain text -#: en/git-repack.txt:43 -msgid "" -"Note that users fetching over dumb protocols will have to fetch the whole " -"new pack in order to get any contained object, no matter how many other " -"objects in that pack they already have locally." +#. type: Labeled list +#: en/git-mailsplit.txt:44 +#, no-wrap +msgid "-f<nn>" msgstr "" #. type: Plain text -#: en/git-repack.txt:54 +#: en/git-mailsplit.txt:47 msgid "" -"Same as `-a`, unless `-d` is used. Then any unreachable objects in a " -"previous pack become loose, unpacked objects, instead of being left in the " -"old pack. Unreachable objects are never intentionally added to a pack, even " -"when repacking. This option prevents unreachable objects from being " -"immediately deleted by way of being left in the old pack and then removed. " -"Instead, the loose unreachable objects will be pruned according to normal " -"expiry rules with the next 'git gc' invocation. See linkgit:git-gc[1]." +"Skip the first <nn> numbers, for example if -f3 is specified, start the " +"numbering with 0004." +msgstr "" + +#. type: Labeled list +#: en/git-mailsplit.txt:48 +#, no-wrap +msgid "--keep-cr" msgstr "" #. type: Plain text -#: en/git-repack.txt:60 -msgid "" -"After packing, if the newly created packs make some existing packs " -"redundant, remove the redundant packs. Also run 'git prune-packed' to " -"remove redundant loose object files." +#: en/git-mailsplit.txt:50 +msgid "Do not remove `\\r` from lines ending with `\\r\\n`." +msgstr "" + +#. type: Labeled list +#: en/git-mailsplit.txt:51 +#, no-wrap +msgid "--mboxrd" msgstr "" #. type: Plain text -#: en/git-repack.txt:64 +#: en/git-mailsplit.txt:54 msgid "" -"Pass the `--local` option to 'git pack-objects'. See " -"linkgit:git-pack-objects[1]." +"Input is of the \"mboxrd\" format and \"^>+From \" line escaping is " +"reversed." +msgstr "" + +#. type: Title = +#: en/git-merge-base.txt:2 +#, no-wrap +msgid "git-merge-base(1)" msgstr "" #. type: Plain text -#: en/git-repack.txt:68 -msgid "" -"Pass the `--no-reuse-delta` option to `git-pack-objects`, see " -"linkgit:git-pack-objects[1]." +#: en/git-merge-base.txt:7 +msgid "git-merge-base - Find as good common ancestors as possible for a merge" msgstr "" #. type: Plain text -#: en/git-repack.txt:72 +#: en/git-merge-base.txt:17 +#, no-wrap msgid "" -"Pass the `--no-reuse-object` option to `git-pack-objects`, see " -"linkgit:git-pack-objects[1]." +"'git merge-base' [-a|--all] <commit> <commit>...\n" +"'git merge-base' [-a|--all] --octopus <commit>...\n" +"'git merge-base' --is-ancestor <commit> <commit>\n" +"'git merge-base' --independent <commit>...\n" +"'git merge-base' --fork-point <ref> [<commit>]\n" msgstr "" #. type: Plain text -#: en/git-repack.txt:76 -msgid "Pass the `-q` option to 'git pack-objects'. See linkgit:git-pack-objects[1]." +#: en/git-merge-base.txt:27 +msgid "" +"'git merge-base' finds best common ancestor(s) between two commits to use in " +"a three-way merge. One common ancestor is 'better' than another common " +"ancestor if the latter is an ancestor of the former. A common ancestor that " +"does not have any better common ancestor is a 'best common ancestor', i.e. a " +"'merge base'. Note that there can be more than one merge base for a pair of " +"commits." +msgstr "" + +#. type: Title - +#: en/git-merge-base.txt:29 +#, no-wrap +msgid "OPERATION MODES" msgstr "" #. type: Plain text -#: en/git-repack.txt:83 +#: en/git-merge-base.txt:33 msgid "" -"Do not update the server information with 'git update-server-info'. This " -"option skips updating local catalog files needed to publish this repository " -"(or a direct copy of it) over HTTP or FTP. See " -"linkgit:git-update-server-info[1]." +"As the most common special case, specifying only two commits on the command " +"line means computing the merge base between the given two commits." msgstr "" #. type: Plain text -#: en/git-repack.txt:94 +#: en/git-merge-base.txt:38 msgid "" -"These two options affect how the objects contained in the pack are stored " -"using delta compression. The objects are first internally sorted by type, " -"size and optionally names and compared against the other objects within " -"`--window` to see if using delta compression saves space. `--depth` limits " -"the maximum delta depth; making it too deep affects the performance on the " -"unpacker side, because delta data needs to be applied that many times to get " -"to the necessary object. The default value for --window is 10 and --depth " -"is 50." +"More generally, among the two commits to compute the merge base from, one is " +"specified by the first commit argument on the command line; the other commit " +"is a (possibly hypothetical) commit that is a merge across all the remaining " +"commits on the command line." msgstr "" #. type: Plain text -#: en/git-repack.txt:107 +#: en/git-merge-base.txt:42 msgid "" -"This option provides an additional limit on top of `--window`; the window " -"size will dynamically scale down so as to not take up more than '<n>' bytes " -"in memory. This is useful in repositories with a mix of large and small " -"objects to not run out of memory with a large window, but still be able to " -"take advantage of the large window for the smaller objects. The size can be " -"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " -"usage unlimited. The default is taken from the `pack.windowMemory` " -"configuration variable. Note that the actual memory usage will be the limit " -"multiplied by the number of threads used by linkgit:git-pack-objects[1]." +"As a consequence, the 'merge base' is not necessarily contained in each of " +"the commit arguments if more than two commits are specified. This is " +"different from linkgit:git-show-branch[1] when used with the `--merge-base` " +"option." msgstr "" #. type: Labeled list -#: en/git-repack.txt:117 +#: en/git-merge-base.txt:43 #, no-wrap -msgid "--write-bitmap-index" +msgid "--octopus" msgstr "" #. type: Plain text -#: en/git-repack.txt:123 +#: en/git-merge-base.txt:47 msgid "" -"Write a reachability bitmap index as part of the repack. This only makes " -"sense when used with `-a` or `-A`, as the bitmaps must be able to refer to " -"all reachable objects. This option overrides the setting of " -"`repack.writeBitmaps`. This option has no effect if multiple packfiles are " -"created." +"Compute the best common ancestors of all supplied commits, in preparation " +"for an n-way merge. This mimics the behavior of 'git show-branch " +"--merge-base'." msgstr "" #. type: Labeled list -#: en/git-repack.txt:124 +#: en/git-merge-base.txt:48 en/git-show-branch.txt:90 #, no-wrap -msgid "--pack-kept-objects" +msgid "--independent" msgstr "" #. type: Plain text -#: en/git-repack.txt:132 +#: en/git-merge-base.txt:54 msgid "" -"Include objects in `.keep` files when repacking. Note that we still do not " -"delete `.keep` packs after `pack-objects` finishes. This means that we may " -"duplicate objects, but this makes the option safe to use when there are " -"concurrent pushes or fetches. This option is generally only useful if you " -"are writing bitmaps with `-b` or `repack.writeBitmaps`, as it ensures that " -"the bitmapped packfile has the necessary objects." +"Instead of printing merge bases, print a minimal subset of the supplied " +"commits with the same ancestors. In other words, among the commits given, " +"list those which cannot be reached from any other. This mimics the behavior " +"of 'git show-branch --independent'." msgstr "" #. type: Labeled list -#: en/git-repack.txt:133 +#: en/git-merge-base.txt:55 #, no-wrap -msgid "--unpack-unreachable=<when>" +msgid "--is-ancestor" msgstr "" #. type: Plain text -#: en/git-repack.txt:138 +#: en/git-merge-base.txt:59 msgid "" -"When loosening unreachable objects, do not bother loosening any objects " -"older than `<when>`. This can be used to optimize out the write of any " -"objects that would be immediately pruned by a follow-up `git prune`." +"Check if the first <commit> is an ancestor of the second <commit>, and exit " +"with status 0 if true, or with status 1 if not. Errors are signaled by a " +"non-zero status that is not 1." msgstr "" #. type: Labeled list -#: en/git-repack.txt:140 +#: en/git-merge-base.txt:60 en/git-rebase.txt:346 #, no-wrap -msgid "--keep-unreachable" +msgid "--fork-point" msgstr "" #. type: Plain text -#: en/git-repack.txt:145 +#: en/git-merge-base.txt:68 msgid "" -"When used with `-ad`, any unreachable objects from existing packs will be " -"appended to the end of the packfile instead of being removed. In addition, " -"any unreachable loose objects will be packed (and their loose counterparts " -"removed)." +"Find the point at which a branch (or any history that leads to <commit>) " +"forked from another branch (or any reference) <ref>. This does not just " +"look for the common ancestor of the two commits, but also takes into account " +"the reflog of <ref> to see if the history leading to <commit> forked from an " +"earlier incarnation of the branch <ref> (see discussion on this mode below)." msgstr "" #. type: Plain text -#: en/git-repack.txt:158 -msgid "" -"By default, the command passes `--delta-base-offset` option to 'git " -"pack-objects'; this typically results in slightly smaller packs, but the " -"generated packs are incompatible with versions of Git older than version " -"1.4.4. If you need to share your repository with such ancient Git versions, " -"either directly or via the dumb http protocol, then you need to set the " -"configuration variable `repack.UseDeltaBaseOffset` to \"false\" and " -"repack. Access from old Git versions over the native protocol is unaffected " -"by this option as the conversion is performed on the fly as needed in that " -"case." +#: en/git-merge-base.txt:74 +msgid "Output all merge bases for the commits, instead of just one." msgstr "" #. type: Plain text -#: en/git-repack.txt:163 -msgid "linkgit:git-pack-objects[1] linkgit:git-prune-packed[1]" -msgstr "" - -#. type: Title = -#: en/git-replace.txt:2 -#, no-wrap -msgid "git-replace(1)" +#: en/git-merge-base.txt:80 +msgid "" +"Given two commits 'A' and 'B', `git merge-base A B` will output a commit " +"which is reachable from both 'A' and 'B' through the parent relationship." msgstr "" #. type: Plain text -#: en/git-replace.txt:7 -msgid "git-replace - Create, list, delete refs to replace objects" +#: en/git-merge-base.txt:82 +msgid "For example, with this topology:" msgstr "" #. type: Plain text -#: en/git-replace.txt:16 +#: en/git-merge-base.txt:86 #, no-wrap msgid "" -"'git replace' [-f] <object> <replacement>\n" -"'git replace' [-f] --edit <object>\n" -"'git replace' [-f] --graft <commit> [<parent>...]\n" -"'git replace' -d <object>...\n" -"'git replace' [--format=<format>] [-l [<pattern>]]\n" +"\t o---o---o---B\n" +"\t /\n" +"\t---o---1---o---o---o---A\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:20 -msgid "Adds a 'replace' reference in `refs/replace/` namespace." +#: en/git-merge-base.txt:88 +msgid "the merge base between 'A' and 'B' is '1'." msgstr "" #. type: Plain text -#: en/git-replace.txt:24 +#: en/git-merge-base.txt:92 msgid "" -"The name of the 'replace' reference is the SHA-1 of the object that is " -"replaced. The content of the 'replace' reference is the SHA-1 of the " -"replacement object." +"Given three commits 'A', 'B' and 'C', `git merge-base A B C` will compute " +"the merge base between 'A' and a hypothetical commit 'M', which is a merge " +"between 'B' and 'C'. For example, with this topology:" msgstr "" #. type: Plain text -#: en/git-replace.txt:27 +#: en/git-merge-base.txt:98 +#, no-wrap msgid "" -"The replaced object and the replacement object must be of the same type. " -"This restriction can be bypassed using `-f`." +"\t o---o---o---o---C\n" +"\t /\n" +"\t / o---o---o---B\n" +"\t / /\n" +"\t---2---1---o---o---o---A\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:29 -msgid "Unless `-f` is given, the 'replace' reference must not yet exist." +#: en/git-merge-base.txt:101 +msgid "" +"the result of `git merge-base A B C` is '1'. This is because the equivalent " +"topology with a merge commit 'M' between 'B' and 'C' is:" msgstr "" #. type: Plain text -#: en/git-replace.txt:32 +#: en/git-merge-base.txt:108 +#, no-wrap msgid "" -"There is no other restriction on the replaced and replacement objects. " -"Merge commits can be replaced by non-merge commits and vice versa." +"\t o---o---o---o---o\n" +"\t / \\\n" +"\t / o---o---o---o---M\n" +"\t / /\n" +"\t---2---1---o---o---o---A\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:36 +#: en/git-merge-base.txt:112 msgid "" -"Replacement references will be used by default by all Git commands except " -"those doing reachability traversal (prune, pack transfer and fsck)." +"and the result of `git merge-base A M` is '1'. Commit '2' is also a common " +"ancestor between 'A' and 'M', but '1' is a better common ancestor, because " +"'2' is an ancestor of '1'. Hence, '2' is not a merge base." msgstr "" #. type: Plain text -#: en/git-replace.txt:39 +#: en/git-merge-base.txt:115 msgid "" -"It is possible to disable use of replacement references for any command " -"using the `--no-replace-objects` option just after 'git'." +"The result of `git merge-base --octopus A B C` is '2', because '2' is the " +"best common ancestor of all commits." msgstr "" #. type: Plain text -#: en/git-replace.txt:41 -msgid "For example if commit 'foo' has been replaced by commit 'bar':" -msgstr "" - -#. type: delimited block - -#: en/git-replace.txt:44 -#, no-wrap -msgid "$ git --no-replace-objects cat-file commit foo\n" +#: en/git-merge-base.txt:118 +msgid "" +"When the history involves criss-cross merges, there can be more than one " +"'best' common ancestor for two commits. For example, with this topology:" msgstr "" #. type: Plain text -#: en/git-replace.txt:47 -msgid "shows information about commit 'foo', while:" -msgstr "" - -#. type: delimited block - -#: en/git-replace.txt:50 +#: en/git-merge-base.txt:124 #, no-wrap -msgid "$ git cat-file commit foo\n" +msgid "" +"\t---1---o---A\n" +"\t \\ /\n" +"\t X\n" +"\t / \\\n" +"\t---2---o---o---B\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:53 -msgid "shows information about commit 'bar'." +#: en/git-merge-base.txt:128 +msgid "" +"both '1' and '2' are merge-bases of A and B. Neither one is better than the " +"other (both are 'best' merge bases). When the `--all` option is not given, " +"it is unspecified which best one is output." msgstr "" #. type: Plain text -#: en/git-replace.txt:56 +#: en/git-merge-base.txt:133 msgid "" -"The `GIT_NO_REPLACE_OBJECTS` environment variable can be set to achieve the " -"same effect as the `--no-replace-objects` option." +"A common idiom to check \"fast-forward-ness\" between two commits A and B is " +"(or at least used to be) to compute the merge base between A and B, and " +"check if it is the same as A, in which case, A is an ancestor of B. You " +"will see this idiom used often in older scripts." msgstr "" #. type: Plain text -#: en/git-replace.txt:63 +#: en/git-merge-base.txt:139 +#, no-wrap msgid "" -"If an existing replace ref for the same object exists, it will be " -"overwritten (instead of failing)." +"\tA=$(git rev-parse --verify A)\n" +"\tif test \"$A\" = \"$(git merge-base A B)\"\n" +"\tthen\n" +"\t\t... A is an ancestor of B ...\n" +"\tfi\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:67 -msgid "Delete existing replace refs for the given objects." +#: en/git-merge-base.txt:141 +msgid "In modern git, you can say this in a more direct way:" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:68 +#. type: Plain text +#: en/git-merge-base.txt:146 #, no-wrap -msgid "--edit <object>" +msgid "" +"\tif git merge-base --is-ancestor A B\n" +"\tthen\n" +"\t\t... A is an ancestor of B ...\n" +"\tfi\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:76 -msgid "" -"Edit an object's content interactively. The existing content for <object> is " -"pretty-printed into a temporary file, an editor is launched on the file, and " -"the result is parsed to create a new object of the same type as <object>. A " -"replacement ref is then created to replace <object> with the newly created " -"object. See linkgit:git-var[1] for details about how the editor will be " -"chosen." +#: en/git-merge-base.txt:148 +msgid "instead." msgstr "" -#. type: Labeled list -#: en/git-replace.txt:77 en/git-verify-commit.txt:19 en/git-verify-tag.txt:19 en/diff-options.txt:45 +#. type: Title - +#: en/git-merge-base.txt:150 #, no-wrap -msgid "--raw" +msgid "Discussion on fork-point mode" msgstr "" #. type: Plain text -#: en/git-replace.txt:84 +#: en/git-merge-base.txt:156 msgid "" -"When editing, provide the raw object contents rather than pretty-printed " -"ones. Currently this only affects trees, which will be shown in their binary " -"form. This is harder to work with, but can help when repairing a tree that " -"is so corrupted it cannot be pretty-printed. Note that you may need to " -"configure your editor to cleanly read and write binary data." +"After working on the `topic` branch created with `git checkout -b topic " +"origin/master`, the history of remote-tracking branch `origin/master` may " +"have been rewound and rebuilt, leading to a history of this shape:" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:85 +#. type: Plain text +#: en/git-merge-base.txt:164 #, no-wrap -msgid "--graft <commit> [<parent>...]" +msgid "" +"\t o---B1\n" +"\t /\n" +"\t---o---o---B2--o---o---o---B (origin/master)\n" +"\t \\\n" +"\t B3\n" +"\t \\\n" +"\t Derived (topic)\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:93 +#: en/git-merge-base.txt:170 msgid "" -"Create a graft commit. A new commit is created with the same content as " -"<commit> except that its parents will be [<parent>...] instead of <commit>'s " -"parents. A replacement ref is then created to replace <commit> with the " -"newly created commit. See contrib/convert-grafts-to-replace-refs.sh for an " -"example script based on this option that can convert grafts to replace refs." +"where `origin/master` used to point at commits B3, B2, B1 and now it points " +"at B, and your `topic` branch was started on top of it back when " +"`origin/master` was at B3. This mode uses the reflog of `origin/master` to " +"find B3 as the fork point, so that the `topic` can be rebased on top of the " +"updated `origin/master` by:" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:94 en/git-tag.txt:90 +#. type: Plain text +#: en/git-merge-base.txt:173 #, no-wrap -msgid "-l <pattern>" +msgid "" +" $ fork_point=$(git merge-base --fork-point origin/master topic)\n" +" $ git rebase --onto origin/master $fork_point topic\n" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:95 en/git-tag.txt:91 +#. type: Title - +#: en/git-merge-base.txt:176 #, no-wrap -msgid "--list <pattern>" +msgid "See also" msgstr "" #. type: Plain text -#: en/git-replace.txt:100 -msgid "" -"List replace refs for objects that match the given pattern (or all if no " -"pattern is given). Typing \"git replace\" without arguments, also lists all " -"replace refs." +#: en/git-merge-base.txt:180 +msgid "linkgit:git-rev-list[1], linkgit:git-show-branch[1], linkgit:git-merge[1]" msgstr "" -#. type: Labeled list -#: en/git-replace.txt:101 en/pretty-options.txt:2 +#. type: Title = +#: en/git-merge-file.txt:2 #, no-wrap -msgid "--format=<format>" +msgid "git-merge-file(1)" msgstr "" #. type: Plain text -#: en/git-replace.txt:105 -msgid "" -"When listing, use the specified <format>, which can be one of 'short', " -"'medium' and 'long'. When omitted, the format defaults to 'short'." -msgstr "" - -#. type: Title - -#: en/git-replace.txt:107 -#, no-wrap -msgid "FORMATS" +#: en/git-merge-file.txt:7 +msgid "git-merge-file - Run a three-way file merge" msgstr "" #. type: Plain text -#: en/git-replace.txt:110 -msgid "The following format are available:" +#: en/git-merge-file.txt:15 +#, no-wrap +msgid "" +"'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]\n" +"\t[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]\n" +"\t[--[no-]diff3] <current-file> <base-file> <other-file>\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:112 -msgid "'short':" +#: en/git-merge-file.txt:25 +msgid "" +"'git merge-file' incorporates all changes that lead from the `<base-file>` " +"to `<other-file>` into `<current-file>`. The result ordinarily goes into " +"`<current-file>`. 'git merge-file' is useful for combining separate changes " +"to an original. Suppose `<base-file>` is the original, and both " +"`<current-file>` and `<other-file>` are modifications of `<base-file>`, then " +"'git merge-file' combines both changes." msgstr "" #. type: Plain text -#: en/git-replace.txt:113 -msgid "<replaced sha1>" +#: en/git-merge-file.txt:30 +msgid "" +"A conflict occurs if both `<current-file>` and `<other-file>` have changes " +"in a common segment of lines. If a conflict is found, 'git merge-file' " +"normally outputs a warning and brackets the conflict with lines containing " +"<<<<<<< and >>>>>>> markers. A typical conflict will look like this:" msgstr "" #. type: Plain text -#: en/git-replace.txt:114 -msgid "'medium':" +#: en/git-merge-file.txt:36 +#, no-wrap +msgid "" +"\t<<<<<<< A\n" +"\tlines in file A\n" +"\t=======\n" +"\tlines in file B\n" +"\t>>>>>>> B\n" msgstr "" #. type: Plain text -#: en/git-replace.txt:115 -msgid "<replaced sha1> -> <replacement sha1>" +#: en/git-merge-file.txt:42 +msgid "" +"If there are conflicts, the user should edit the result and delete one of " +"the alternatives. When `--ours`, `--theirs`, or `--union` option is in " +"effect, however, these conflicts are resolved favouring lines from " +"`<current-file>`, lines from `<other-file>`, or lines from both " +"respectively. The length of the conflict markers can be given with the " +"`--marker-size` option." msgstr "" #. type: Plain text -#: en/git-replace.txt:116 -msgid "'long':" +#: en/git-merge-file.txt:46 +msgid "" +"The exit value of this program is negative on error, and the number of " +"conflicts otherwise (truncated to 127 if there are more than that many " +"conflicts). If the merge was clean, the exit value is 0." msgstr "" #. type: Plain text -#: en/git-replace.txt:117 -msgid "<replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)" +#: en/git-merge-file.txt:50 +msgid "" +"'git merge-file' is designed to be a minimal clone of RCS 'merge'; that is, " +"it implements all of RCS 'merge''s functionality which is needed by " +"linkgit:git[1]." msgstr "" -#. type: Title - -#: en/git-replace.txt:119 +#. type: Labeled list +#: en/git-merge-file.txt:55 #, no-wrap -msgid "CREATING REPLACEMENT OBJECTS" +msgid "-L <label>" msgstr "" #. type: Plain text -#: en/git-replace.txt:126 +#: en/git-merge-file.txt:62 msgid "" -"linkgit:git-filter-branch[1], linkgit:git-hash-object[1] and " -"linkgit:git-rebase[1], among other git commands, can be used to create " -"replacement objects from existing objects. The `--edit` option can also be " -"used with 'git replace' to create a replacement object by editing an " -"existing object." +"This option may be given up to three times, and specifies labels to be used " +"in place of the corresponding file names in conflict reports. That is, `git " +"merge-file -L x -L y -L z a b c` generates output that looks like it came " +"from files x, y and z instead of from files a, b and c." msgstr "" #. type: Plain text -#: en/git-replace.txt:132 -msgid "" -"If you want to replace many blobs, trees or commits that are part of a " -"string of commits, you may just want to create a replacement string of " -"commits and then only replace the commit at the tip of the target string of " -"commits with the commit at the tip of the replacement string of commits." +#: en/git-merge-file.txt:66 +msgid "Send results to standard output instead of overwriting `<current-file>`." msgstr "" #. type: Plain text -#: en/git-replace.txt:139 -msgid "" -"Comparing blobs or trees that have been replaced with those that replace " -"them will not work properly. And using `git reset --hard` to go back to a " -"replaced commit will move the branch to the replacement commit instead of " -"the replaced commit." +#: en/git-merge-file.txt:69 +msgid "Quiet; do not warn about conflicts." msgstr "" -#. type: Plain text -#: en/git-replace.txt:142 -msgid "" -"There may be other problems when using 'git rev-list' related to pending " -"objects." +#. type: Labeled list +#: en/git-merge-file.txt:70 +#, no-wrap +msgid "--diff3" msgstr "" #. type: Plain text -#: en/git-replace.txt:153 -msgid "" -"linkgit:git-hash-object[1] linkgit:git-filter-branch[1] " -"linkgit:git-rebase[1] linkgit:git-tag[1] linkgit:git-branch[1] " -"linkgit:git-commit[1] linkgit:git-var[1] linkgit:git[1]" +#: en/git-merge-file.txt:72 +msgid "Show conflicts in \"diff3\" style." msgstr "" -#. type: Title = -#: en/git-request-pull.txt:2 +#. type: Labeled list +#: en/git-merge-file.txt:75 #, no-wrap -msgid "git-request-pull(1)" +msgid "--union" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:7 -msgid "git-request-pull - Generates a summary of pending changes" +#: en/git-merge-file.txt:78 +msgid "" +"Instead of leaving conflicts in the file, resolve conflicts favouring our " +"(or their or both) side of the lines." msgstr "" -#. type: Plain text -#: en/git-request-pull.txt:12 +#. type: Labeled list +#: en/git-merge-file.txt:83 #, no-wrap -msgid "'git request-pull' [-p] <start> <url> [<end>]\n" +msgid "`git merge-file README.my README README.upstream`" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:20 +#: en/git-merge-file.txt:87 msgid "" -"Generate a request asking your upstream project to pull changes into their " -"tree. The request, printed to the standard output, begins with the branch " -"description, summarizes the changes and indicates from where they can be " -"pulled." +"combines the changes of README.my and README.upstream since README, tries to " +"merge them and writes the result into README.my." +msgstr "" + +#. type: Labeled list +#: en/git-merge-file.txt:88 +#, no-wrap +msgid "`git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345`" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:25 +#: en/git-merge-file.txt:92 msgid "" -"The upstream project is expected to have the commit named by `<start>` and " -"the output asks it to integrate the changes you made since that commit, up " -"to the commit named by `<end>`, by visiting the repository named by `<url>`." +"merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels `a` and " +"`c` instead of `tmp/a123` and `tmp/c345`." +msgstr "" + +#. type: Title = +#: en/git-merge-index.txt:2 +#, no-wrap +msgid "git-merge-index(1)" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:31 -msgid "Include patch text in the output." +#: en/git-merge-index.txt:7 +msgid "git-merge-index - Run a merge for files needing merging" msgstr "" -#. type: Labeled list -#: en/git-request-pull.txt:32 +#. type: Plain text +#: en/git-merge-index.txt:13 #, no-wrap -msgid "<start>" +msgid "'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>*)\n" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:35 +#: en/git-merge-index.txt:20 msgid "" -"Commit to start at. This names a commit that is already in the upstream " -"history." +"This looks up the <file>(s) in the index and, if there are any merge " +"entries, passes the SHA-1 hash for those files as arguments 1, 2, 3 (empty " +"argument if no file), and <file> as argument 4. File modes for the three " +"files are passed as arguments 5, 6 and 7." msgstr "" -#. type: Labeled list -#: en/git-request-pull.txt:36 -#, no-wrap -msgid "<url>" +#. type: Plain text +#: en/git-merge-index.txt:28 +msgid "Run merge against all files in the index that need merging." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:38 -msgid "The repository URL to be pulled from." +#: en/git-merge-index.txt:34 +msgid "" +"Instead of stopping at the first failed merge, do all of them in one shot - " +"continue with merging even when previous merges returned errors, and only " +"return the error code after all the merges." msgstr "" -#. type: Labeled list -#: en/git-request-pull.txt:39 -#, no-wrap -msgid "<end>" +#. type: Plain text +#: en/git-merge-index.txt:39 +msgid "" +"Do not complain about a failed merge program (a merge program failure " +"usually indicates conflicts during the merge). This is for porcelains which " +"might want to emit custom messages." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:42 +#: en/git-merge-index.txt:43 msgid "" -"Commit to end at (defaults to HEAD). This names the commit at the tip of " -"the history you are asking to be pulled." +"If 'git merge-index' is called with multiple <file>s (or -a) then it " +"processes them in turn only stopping if merge returns a non-zero exit code." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:47 +#: en/git-merge-index.txt:46 msgid "" -"When the repository named by `<url>` has the commit at a tip of a ref that " -"is different from the ref you have locally, you can use the " -"`<local>:<remote>` syntax, to have its local name, a colon `:`, and its " -"remote name." +"Typically this is run with a script calling Git's imitation of the 'merge' " +"command from the RCS package." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:56 -msgid "" -"Imagine that you built your work on your `master` branch on top of the " -"`v1.0` release, and want it to be integrated to the project. First you push " -"that change to your public repository for others to see:" +#: en/git-merge-index.txt:49 +msgid "A sample script called 'git merge-one-file' is included in the distribution." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:58 -#, no-wrap -msgid "\tgit push https://git.ko.xz/project master\n" +#: en/git-merge-index.txt:54 +msgid "" +"ALERT ALERT ALERT! The Git \"merge object order\" is different from the RCS " +"'merge' program merge object order. In the above ordering, the original is " +"first. But the argument order to the 3-way merge program 'merge' is to have " +"the original in the middle. Don't ask me why." msgstr "" #. type: Plain text -#: en/git-request-pull.txt:60 -msgid "Then, you run this command:" +#: en/git-merge-index.txt:56 en/git-svn.txt:155 +msgid "Examples:" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:62 +#: en/git-merge-index.txt:62 #, no-wrap -msgid "\tgit request-pull v1.0 https://git.ko.xz/project master\n" +msgid "" +" torvalds@ppc970:~/merge-test> git merge-index cat MM\n" +" This is MM from the original tree.\t\t\t# original\n" +" This is modified MM in the branch A.\t\t\t# merge1\n" +" This is modified MM in the branch B.\t\t\t# merge2\n" +" This is modified MM in the branch B.\t\t\t# current contents\n" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:66 +#: en/git-merge-index.txt:71 +#, no-wrap msgid "" -"which will produce a request to the upstream, summarizing the changes " -"between the `v1.0` release and your `master`, to pull it from your public " -"repository." +" torvalds@ppc970:~/merge-test> git merge-index cat AA MM\n" +" cat: : No such file or directory\n" +" This is added AA in the branch A.\n" +" This is added AA in the branch B.\n" +" This is added AA in the branch B.\n" +" fatal: merge program failed\n" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:69 +#: en/git-merge-index.txt:76 msgid "" -"If you pushed your change to a branch whose name is different from the one " -"you have locally, e.g." +"where the latter example shows how 'git merge-index' will stop trying to " +"merge once anything has returned an error (i.e., `cat` returned an error for " +"the AA file, because it didn't exist in the original, and thus 'git " +"merge-index' didn't even try to merge the MM thing)." msgstr "" -#. type: Plain text -#: en/git-request-pull.txt:71 +#. type: Title = +#: en/git-merge-one-file.txt:2 #, no-wrap -msgid "\tgit push https://git.ko.xz/project master:for-linus\n" +msgid "git-merge-one-file(1)" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:73 -msgid "then you can ask that to be pulled with" +#: en/git-merge-one-file.txt:7 +msgid "git-merge-one-file - The standard helper program to use with git-merge-index" msgstr "" #. type: Plain text -#: en/git-request-pull.txt:75 +#: en/git-merge-one-file.txt:13 #, no-wrap -msgid "\tgit request-pull v1.0 https://git.ko.xz/project master:for-linus\n" +msgid "'git merge-one-file'\n" +msgstr "" + +#. type: Plain text +#: en/git-merge-one-file.txt:18 +msgid "" +"This is the standard helper program to use with 'git merge-index' to resolve " +"a merge after the trivial merge done with 'git read-tree -m'." msgstr "" #. type: Title = -#: en/git-rerere.txt:2 +#: en/git-mergetool--lib.txt:2 #, no-wrap -msgid "git-rerere(1)" +msgid "git-mergetool{litdd}lib(1)" msgstr "" #. type: Plain text -#: en/git-rerere.txt:7 -msgid "git-rerere - Reuse recorded resolution of conflicted merges" +#: en/git-mergetool--lib.txt:7 +msgid "git-mergetool--lib - Common Git merge tool shell scriptlets" msgstr "" #. type: Plain text -#: en/git-rerere.txt:12 +#: en/git-mergetool--lib.txt:12 #, no-wrap -msgid "" -"'git rerere' ['clear'|'forget' " -"<pathspec>|'diff'|'remaining'|'status'|'gc']\n" +msgid "'TOOL_MODE=(diff|merge) . \"$(git --exec-path)/git-mergetool{litdd}lib\"'\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:20 +#: en/git-mergetool--lib.txt:19 en/git-sh-i18n.txt:19 en/git-sh-setup.txt:19 msgid "" -"In a workflow employing relatively long lived topic branches, the developer " -"sometimes needs to resolve the same conflicts over and over again until the " -"topic branches are done (either merged to the \"release\" branch, or sent " -"out and accepted upstream)." +"This is not a command the end user would want to run. Ever. This " +"documentation is meant for people who are studying the Porcelain-ish scripts " +"and/or are writing new ones." msgstr "" #. type: Plain text -#: en/git-rerere.txt:25 +#: en/git-mergetool--lib.txt:23 msgid "" -"This command assists the developer in this process by recording conflicted " -"automerge results and corresponding hand resolve results on the initial " -"manual merge, and applying previously recorded hand resolutions to their " -"corresponding automerge results." +"The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using " +"`.`) by other shell scripts to set up functions for working with Git merge " +"tools." msgstr "" #. type: Plain text -#: en/git-rerere.txt:29 +#: en/git-mergetool--lib.txt:27 msgid "" -"You need to set the configuration variable rerere.enabled in order to enable " -"this command." +"Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE` " +"to define the operation mode for the functions listed below. 'diff' and " +"'merge' are valid values." msgstr "" -#. type: Plain text -#: en/git-rerere.txt:37 -msgid "" -"Normally, 'git rerere' is run without arguments or user-intervention. " -"However, it has several commands that allow it to interact with its working " -"state." +#. type: Title - +#: en/git-mergetool--lib.txt:29 en/git-sh-i18n.txt:28 en/git-sh-setup.txt:34 +#, no-wrap +msgid "FUNCTIONS" msgstr "" #. type: Labeled list -#: en/git-rerere.txt:38 +#: en/git-mergetool--lib.txt:30 #, no-wrap -msgid "'clear'" +msgid "get_merge_tool" msgstr "" #. type: Plain text -#: en/git-rerere.txt:43 -msgid "" -"Reset the metadata used by rerere if a merge resolution is to be aborted. " -"Calling 'git am [--skip|--abort]' or 'git rebase [--skip|--abort]' will " -"automatically invoke this command." +#: en/git-mergetool--lib.txt:32 +msgid "returns a merge tool." msgstr "" #. type: Labeled list -#: en/git-rerere.txt:44 +#: en/git-mergetool--lib.txt:33 #, no-wrap -msgid "'forget' <pathspec>" +msgid "get_merge_tool_cmd" msgstr "" #. type: Plain text -#: en/git-rerere.txt:48 -msgid "" -"Reset the conflict resolutions which rerere has recorded for the current " -"conflict in <pathspec>." +#: en/git-mergetool--lib.txt:35 +msgid "returns the custom command for a merge tool." msgstr "" #. type: Labeled list -#: en/git-rerere.txt:49 +#: en/git-mergetool--lib.txt:36 #, no-wrap -msgid "'diff'" +msgid "get_merge_tool_path" msgstr "" #. type: Plain text -#: en/git-rerere.txt:55 -msgid "" -"Display diffs for the current state of the resolution. It is useful for " -"tracking what has changed while the user is resolving conflicts. Additional " -"arguments are passed directly to the system 'diff' command installed in " -"PATH." +#: en/git-mergetool--lib.txt:38 +msgid "returns the custom path for a merge tool." msgstr "" #. type: Labeled list -#: en/git-rerere.txt:56 +#: en/git-mergetool--lib.txt:39 #, no-wrap -msgid "'status'" +msgid "run_merge_tool" msgstr "" #. type: Plain text -#: en/git-rerere.txt:59 -msgid "Print paths with conflicts whose merge resolution rerere will record." +#: en/git-mergetool--lib.txt:44 +msgid "" +"launches a merge tool given the tool name and a true/false flag to indicate " +"whether a merge base is present. '$MERGED', '$LOCAL', '$REMOTE', and " +"'$BASE' must be defined for use by the merge tool." msgstr "" -#. type: Labeled list -#: en/git-rerere.txt:60 +#. type: Title = +#: en/git-mergetool.txt:2 #, no-wrap -msgid "'remaining'" +msgid "git-mergetool(1)" msgstr "" #. type: Plain text -#: en/git-rerere.txt:65 +#: en/git-mergetool.txt:7 msgid "" -"Print paths with conflicts that have not been autoresolved by rerere. This " -"includes paths whose resolutions cannot be tracked by rerere, such as " -"conflicting submodules." +"git-mergetool - Run merge conflict resolution tools to resolve merge " +"conflicts" msgstr "" -#. type: Labeled list -#: en/git-rerere.txt:66 en/git-svn.txt:480 +#. type: Plain text +#: en/git-mergetool.txt:12 #, no-wrap -msgid "'gc'" +msgid "'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...]\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:74 +#: en/git-mergetool.txt:18 msgid "" -"Prune records of conflicted merges that occurred a long time ago. By " -"default, unresolved conflicts older than 15 days and resolved conflicts " -"older than 60 days are pruned. These defaults are controlled via the " -"`gc.rerereUnresolved` and `gc.rerereResolved` configuration variables " -"respectively." +"Use `git mergetool` to run one of several merge utilities to resolve merge " +"conflicts. It is typically run after 'git merge'." msgstr "" #. type: Plain text -#: en/git-rerere.txt:83 +#: en/git-mergetool.txt:24 msgid "" -"When your topic branch modifies an overlapping area that your master branch " -"(or upstream) touched since your topic branch forked from it, you may want " -"to test it with the latest master, even before your topic branch is ready to " -"be pushed upstream:" +"If one or more <file> parameters are given, the merge tool program will be " +"run to resolve differences on each file (skipping those without conflicts). " +"Specifying a directory will include all unresolved files in that path. If " +"no <file> names are specified, 'git mergetool' will run the merge tool " +"program on every file with merge conflicts." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:88 -#, no-wrap +#. type: Plain text +#: en/git-mergetool.txt:33 msgid "" -" o---*---o topic\n" -" /\n" -" o---o---o---*---o---o master\n" +"Use the merge resolution program specified by <tool>. Valid values include " +"emerge, gvimdiff, kdiff3, meld, vimdiff, and tortoisemerge. Run `git " +"mergetool --tool-help` for the list of valid <tool> settings." msgstr "" #. type: Plain text -#: en/git-rerere.txt:92 +#: en/git-mergetool.txt:38 msgid "" -"For such a test, you need to merge master and topic somehow. One way to do " -"it is to pull master into the topic branch:" +"If a merge resolution program is not specified, 'git mergetool' will use the " +"configuration variable `merge.tool`. If the configuration variable " +"`merge.tool` is not set, 'git mergetool' will pick a suitable default." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:96 -#, no-wrap +#. type: Plain text +#: en/git-mergetool.txt:44 msgid "" -"\t$ git checkout topic\n" -"\t$ git merge master\n" +"You can explicitly provide a full path to the tool by setting the " +"configuration variable `mergetool.<tool>.path`. For example, you can " +"configure the absolute path to kdiff3 by setting " +"`mergetool.kdiff3.path`. Otherwise, 'git mergetool' assumes the tool is " +"available in PATH." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:100 -#, no-wrap +#. type: Plain text +#: en/git-mergetool.txt:49 msgid "" -" o---*---o---+ topic\n" -" / /\n" -" o---o---o---*---o---o master\n" +"Instead of running one of the known merge tool programs, 'git mergetool' can " +"be customized to run an alternative program by specifying the command line " +"to invoke in a configuration variable `mergetool.<tool>.cmd`." msgstr "" #. type: Plain text -#: en/git-rerere.txt:106 +#: en/git-mergetool.txt:60 msgid "" -"The commits marked with `*` touch the same area in the same file; you need " -"to resolve the conflicts when creating the commit marked with `+`. Then you " -"can test the result to make sure your work-in-progress still works with what " -"is in the latest master." +"When 'git mergetool' is invoked with this tool (either through the `-t` or " +"`--tool` option or the `merge.tool` configuration variable) the configured " +"command line will be invoked with `$BASE` set to the name of a temporary " +"file containing the common base for the merge, if available; `$LOCAL` set to " +"the name of a temporary file containing the contents of the file on the " +"current branch; `$REMOTE` set to the name of a temporary file containing the " +"contents of the file to be merged, and `$MERGED` set to the name of the file " +"to which the merge tool should write the result of the merge resolution." msgstr "" #. type: Plain text -#: en/git-rerere.txt:114 +#: en/git-mergetool.txt:66 msgid "" -"After this test merge, there are two ways to continue your work on the " -"topic. The easiest is to build on top of the test merge commit `+`, and " -"when your work in the topic branch is finally ready, pull the topic branch " -"into master, and/or ask the upstream to pull from you. By that time, " -"however, the master or the upstream might have been advanced since the test " -"merge `+`, in which case the final commit graph would look like this:" +"If the custom merge tool correctly indicates the success of a merge " +"resolution with its exit code, then the configuration variable " +"`mergetool.<tool>.trustExitCode` can be set to `true`. Otherwise, 'git " +"mergetool' will prompt the user to indicate the success of the resolution " +"after the custom tool has exited." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:121 -#, no-wrap -msgid "" -"\t$ git checkout topic\n" -"\t$ git merge master\n" -"\t$ ... work on both topic and master branches\n" -"\t$ git checkout master\n" -"\t$ git merge topic\n" +#. type: Plain text +#: en/git-mergetool.txt:69 +msgid "Print a list of merge tools that may be used with `--tool`." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:125 -#, no-wrap +#. type: Plain text +#: en/git-mergetool.txt:77 msgid "" -" o---*---o---+---o---o topic\n" -" / / \\\n" -" o---o---o---*---o---o---o---o---+ master\n" +"Don't prompt before each invocation of the merge resolution program. This " +"is the default if the merge resolution program is explicitly specified with " +"the `--tool` option or with the `merge.tool` configuration variable." msgstr "" #. type: Plain text -#: en/git-rerere.txt:133 +#: en/git-mergetool.txt:81 msgid "" -"When your topic branch is long-lived, however, your topic branch would end " -"up having many such \"Merge from master\" commits on it, which would " -"unnecessarily clutter the development history. Readers of the Linux kernel " -"mailing list may remember that Linus complained about such too frequent test " -"merges when a subsystem maintainer asked to pull from a branch full of " -"\"useless merges\"." +"Prompt before each invocation of the merge resolution program to give the " +"user a chance to skip the path." msgstr "" #. type: Plain text -#: en/git-rerere.txt:137 +#: en/git-mergetool.txt:88 msgid "" -"As an alternative, to keep the topic branch clean of test merges, you could " -"blow away the test merge, and keep building on top of the tip before the " -"test merge:" +"Process files in the order specified in the <orderfile>, which has one shell " +"glob pattern per line. This overrides the `diff.orderFile` configuration " +"variable (see linkgit:git-config[1]). To cancel `diff.orderFile`, use " +"`-O/dev/null`." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:145 +#. type: Title - +#: en/git-mergetool.txt:90 #, no-wrap -msgid "" -"\t$ git checkout topic\n" -"\t$ git merge master\n" -"\t$ git reset --hard HEAD^ ;# rewind the test merge\n" -"\t$ ... work on both topic and master branches\n" -"\t$ git checkout master\n" -"\t$ git merge topic\n" +msgid "TEMPORARY FILES" msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:149 -#, no-wrap +#. type: Plain text +#: en/git-mergetool.txt:94 msgid "" -" o---*---o-------o---o topic\n" -" / \\\n" -" o---o---o---*---o---o---o---o---+ master\n" +"`git mergetool` creates `*.orig` backup files while resolving merges. These " +"are safe to remove once a file has been merged and its `git mergetool` " +"session has completed." msgstr "" #. type: Plain text -#: en/git-rerere.txt:159 +#: en/git-mergetool.txt:98 msgid "" -"This would leave only one merge commit when your topic branch is finally " -"ready and merged into the master branch. This merge would require you to " -"resolve the conflict, introduced by the commits marked with `*`. However, " -"this conflict is often the same conflict you resolved when you created the " -"test merge you blew away. 'git rerere' helps you resolve this final " -"conflicted merge using the information from your earlier hand resolve." +"Setting the `mergetool.keepBackup` configuration variable to `false` causes " +"`git mergetool` to automatically remove the backup as files are successfully " +"merged." msgstr "" -#. type: Plain text -#: en/git-rerere.txt:167 -msgid "" -"Running the 'git rerere' command immediately after a conflicted automerge " -"records the conflicted working tree files, with the usual conflict markers " -"`<<<<<<<`, `=======`, and `>>>>>>>` in them. Later, after you are done " -"resolving the conflicts, running 'git rerere' again will record the resolved " -"state of these files. Suppose you did this when you created the test merge " -"of master into the topic branch." +#. type: Title = +#: en/git-merge-tree.txt:2 +#, no-wrap +msgid "git-merge-tree(1)" msgstr "" #. type: Plain text -#: en/git-rerere.txt:177 -msgid "" -"Next time, after seeing the same conflicted automerge, running 'git rerere' " -"will perform a three-way merge between the earlier conflicted automerge, the " -"earlier manual resolution, and the current conflicted automerge. If this " -"three-way merge resolves cleanly, the result is written out to your working " -"tree file, so you do not have to manually resolve it. Note that 'git " -"rerere' leaves the index file alone, so you still need to do the final " -"sanity checks with `git diff` (or `git diff -c`) and 'git add' when you are " -"satisfied." +#: en/git-merge-tree.txt:7 +msgid "git-merge-tree - Show three-way merge without touching index" msgstr "" #. type: Plain text -#: en/git-rerere.txt:185 -msgid "" -"As a convenience measure, 'git merge' automatically invokes 'git rerere' " -"upon exiting with a failed automerge and 'git rerere' records the hand " -"resolve when it is a new conflict, or reuses the earlier hand resolve when " -"it is not. 'git commit' also invokes 'git rerere' when committing a merge " -"result. What this means is that you do not have to do anything special " -"yourself (besides enabling the rerere.enabled config variable)." +#: en/git-merge-tree.txt:13 +#, no-wrap +msgid "'git merge-tree' <base-tree> <branch1> <branch2>\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:190 +#: en/git-merge-tree.txt:21 msgid "" -"In our example, when you do the test merge, the manual resolution is " -"recorded, and it will be reused when you do the actual merge later with the " -"updated master and topic branch, as long as the recorded resolution is still " -"applicable." +"Reads three tree-ish, and output trivial merge results and conflicting " +"stages to the standard output. This is similar to what three-way 'git " +"read-tree -m' does, but instead of storing the results in the index, the " +"command outputs the entries to the standard output." msgstr "" #. type: Plain text -#: en/git-rerere.txt:194 +#: en/git-merge-tree.txt:26 msgid "" -"The information 'git rerere' records is also used when running 'git " -"rebase'. After blowing away the test merge and continuing development on " -"the topic branch:" +"This is meant to be used by higher level scripts to compute merge results " +"outside of the index, and stuff the results back into the index. For this " +"reason, the output from the command omits entries that match the <branch1> " +"tree." msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:199 +#. type: Title = +#: en/git-merge.txt:2 #, no-wrap -msgid "" -" o---*---o-------o---o topic\n" -" /\n" -" o---o---o---*---o---o---o---o master\n" +msgid "git-merge(1)" msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:201 -#, no-wrap -msgid "\t$ git rebase master topic\n" +#. type: Plain text +#: en/git-merge.txt:7 +msgid "git-merge - Join two or more development histories together" msgstr "" -#. type: delimited block - -#: en/git-rerere.txt:205 +#. type: Plain text +#: en/git-merge.txt:19 #, no-wrap msgid "" -"\t\t\t\t o---*---o-------o---o topic\n" -"\t\t\t\t /\n" -" o---o---o---*---o---o---o---o master\n" +"'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]\n" +"\t[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]\n" +"\t[--[no-]allow-unrelated-histories]\n" +"\t[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]\n" +"'git merge' <msg> HEAD <commit>...\n" +"'git merge' --abort\n" +"'git merge' --continue\n" msgstr "" #. type: Plain text -#: en/git-rerere.txt:213 +#: en/git-merge.txt:27 msgid "" -"you could run `git rebase master topic`, to bring yourself up-to-date before " -"your topic is ready to be sent upstream. This would result in falling back " -"to a three-way merge, and it would conflict the same way as the test merge " -"you resolved earlier. 'git rerere' will be run by 'git rebase' to help you " -"resolve this conflict." -msgstr "" - -#. type: Title = -#: en/git-reset.txt:2 -#, no-wrap -msgid "git-reset(1)" +"Incorporates changes from the named commits (since the time their histories " +"diverged from the current branch) into the current branch. This command is " +"used by 'git pull' to incorporate changes from another repository and can be " +"used by hand to merge changes from one branch into another." msgstr "" #. type: Plain text -#: en/git-reset.txt:7 -msgid "git-reset - Reset current HEAD to the specified state" +#: en/git-merge.txt:30 en/git-pull.txt:40 +msgid "Assume the following history exists and the current branch is \"`master`\":" msgstr "" -#. type: Plain text -#: en/git-reset.txt:14 +#. type: delimited block - +#: en/git-merge.txt:35 #, no-wrap msgid "" -"'git reset' [-q] [<tree-ish>] [--] <paths>...\n" -"'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]\n" -"'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] " -"[<commit>]\n" +"\t A---B---C topic\n" +"\t /\n" +" D---E---F---G master\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:21 +#: en/git-merge.txt:42 msgid "" -"In the first and second form, copy entries from <tree-ish> to the index. In " -"the third form, set the current branch head (HEAD) to <commit>, optionally " -"modifying index and working tree to match. The <tree-ish>/<commit> defaults " -"to HEAD in all forms." +"Then \"`git merge topic`\" will replay the changes made on the `topic` " +"branch since it diverged from `master` (i.e., `E`) until its current commit " +"(`C`) on top of `master`, and record the result in a new commit along with " +"the names of the two parent commits and a log message from the user " +"describing the changes." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:22 +#. type: delimited block - +#: en/git-merge.txt:47 #, no-wrap -msgid "'git reset' [-q] [<tree-ish>] [--] <paths>..." -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:26 msgid "" -"This form resets the index entries for all <paths> to their state at " -"<tree-ish>. (It does not affect the working tree or the current branch.)" +"\t A---B---C topic\n" +"\t / \\\n" +" D---E---F---G---H master\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:29 -msgid "This means that `git reset <paths>` is the opposite of `git add <paths>`." +#: en/git-merge.txt:52 +msgid "" +"The second syntax (<msg> `HEAD` <commit>...) is supported for historical " +"reasons. Do not use it from the command line or in new scripts. It is the " +"same as `git merge -m <msg> <commit>...`." msgstr "" #. type: Plain text -#: en/git-reset.txt:36 +#: en/git-merge.txt:60 msgid "" -"After running `git reset <paths>` to update the index entry, you can use " -"linkgit:git-checkout[1] to check the contents out of the index to the " -"working tree. Alternatively, using linkgit:git-checkout[1] and specifying a " -"commit, you can copy the contents of a path out of a commit to the index and " -"to the working tree in one go." +"The third syntax (\"`git merge --abort`\") can only be run after the merge " +"has resulted in conflicts. 'git merge --abort' will abort the merge process " +"and try to reconstruct the pre-merge state. However, if there were " +"uncommitted changes when the merge started (and especially if those changes " +"were further modified after the merge was started), 'git merge --abort' will " +"in some cases be unable to reconstruct the original (pre-merge) " +"changes. Therefore:" msgstr "" -#. type: Labeled list -#: en/git-reset.txt:37 +#. type: Plain text +#: en/git-merge.txt:64 #, no-wrap -msgid "'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]" +msgid "" +"*Warning*: Running 'git merge' with non-trivial uncommitted changes is\n" +"discouraged: while possible, it may leave you in a state that is hard to\n" +"back out of in the case of a conflict.\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:41 +#: en/git-merge.txt:67 msgid "" -"Interactively select hunks in the difference between the index and " -"<tree-ish> (defaults to HEAD). The chosen hunks are applied in reverse to " -"the index." +"The fourth syntax (\"`git merge --continue`\") can only be run after the " +"merge has resulted in conflicts." msgstr "" #. type: Plain text -#: en/git-reset.txt:45 +#: en/git-merge.txt:77 msgid "" -"This means that `git reset -p` is the opposite of `git add -p`, i.e. you " -"can use it to selectively reset hunks. See the ``Interactive Mode'' section " -"of linkgit:git-add[1] to learn how to operate the `--patch` mode." -msgstr "" - -#. type: Labeled list -#: en/git-reset.txt:46 -#, no-wrap -msgid "'git reset' [<mode>] [<commit>]" +"GPG-sign the resulting merge commit. The `keyid` argument is optional and " +"defaults to the committer identity; if specified, it must be stuck to the " +"option without a space." msgstr "" #. type: Plain text -#: en/git-reset.txt:51 +#: en/git-merge.txt:81 msgid "" -"This form resets the current branch head to <commit> and possibly updates " -"the index (resetting it to the tree of <commit>) and the working tree " -"depending on <mode>. If <mode> is omitted, defaults to \"--mixed\". The " -"<mode> must be one of the following:" +"Set the commit message to be used for the merge commit (in case one is " +"created)." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:53 -#, no-wrap -msgid "--soft" +#. type: Plain text +#: en/git-merge.txt:84 +msgid "" +"If `--log` is specified, a shortlog of the commits being merged will be " +"appended to the specified message." msgstr "" #. type: Plain text -#: en/git-reset.txt:58 +#: en/git-merge.txt:88 msgid "" -"Does not touch the index file or the working tree at all (but resets the " -"head to <commit>, just like all modes do). This leaves all your changed " -"files \"Changes to be committed\", as 'git status' would put it." +"The 'git fmt-merge-msg' command can be used to give a good default for " +"automated 'git merge' invocations. The automated message can include the " +"branch description." msgstr "" #. type: Labeled list -#: en/git-reset.txt:59 +#: en/git-merge.txt:89 #, no-wrap -msgid "--mixed" +msgid "--[no-]rerere-autoupdate" msgstr "" #. type: Plain text -#: en/git-reset.txt:63 +#: en/git-merge.txt:92 msgid "" -"Resets the index but not the working tree (i.e., the changed files are " -"preserved but not marked for commit) and reports what has not been " -"updated. This is the default action." +"Allow the rerere mechanism to update the index with the result of " +"auto-conflict resolution if possible." msgstr "" #. type: Plain text -#: en/git-reset.txt:66 +#: en/git-merge.txt:96 msgid "" -"If `-N` is specified, removed paths are marked as intent-to-add (see " -"linkgit:git-add[1])." -msgstr "" - -#. type: Labeled list -#: en/git-reset.txt:67 -#, no-wrap -msgid "--hard" +"Abort the current conflict resolution process, and try to reconstruct the " +"pre-merge state." msgstr "" #. type: Plain text -#: en/git-reset.txt:70 +#: en/git-merge.txt:101 msgid "" -"Resets the index and working tree. Any changes to tracked files in the " -"working tree since <commit> are discarded." +"If there were uncommitted worktree changes present when the merge started, " +"'git merge --abort' will in some cases be unable to reconstruct these " +"changes. It is therefore recommended to always commit or stash your changes " +"before running 'git merge'." msgstr "" #. type: Plain text -#: en/git-reset.txt:78 +#: en/git-merge.txt:104 msgid "" -"Resets the index and updates the files in the working tree that are " -"different between <commit> and HEAD, but keeps those which are different " -"between the index and working tree (i.e. which have changes which have not " -"been added). If a file that is different between <commit> and the index has " -"unstaged changes, reset is aborted." +"'git merge --abort' is equivalent to 'git reset --merge' when `MERGE_HEAD` " +"is present." msgstr "" #. type: Plain text -#: en/git-reset.txt:81 +#: en/git-merge.txt:109 msgid "" -"In other words, --merge does something like a 'git read-tree -u -m " -"<commit>', but carries forward unmerged index entries." +"After a 'git merge' stops due to conflicts you can conclude the merge by " +"running 'git merge --continue' (see \"HOW TO RESOLVE CONFLICTS\" section " +"below)." msgstr "" #. type: Plain text -#: en/git-reset.txt:87 +#: en/git-merge.txt:114 msgid "" -"Resets index entries and updates files in the working tree that are " -"different between <commit> and HEAD. If a file that is different between " -"<commit> and HEAD has local changes, reset is aborted." +"Commits, usually other branch heads, to merge into our branch. Specifying " +"more than one commit will create a merge with more than two parents " +"(affectionately called an Octopus merge)." msgstr "" #. type: Plain text -#: en/git-reset.txt:91 +#: en/git-merge.txt:118 msgid "" -"If you want to undo a commit other than the latest on a branch, " -"linkgit:git-revert[1] is your friend." +"If no commit is given from the command line, merge the remote-tracking " +"branches that the current branch is configured to use as its upstream. See " +"also the configuration section of this manual page." msgstr "" #. type: Plain text -#: en/git-reset.txt:99 -msgid "Be quiet, only report errors." +#: en/git-merge.txt:122 +msgid "" +"When `FETCH_HEAD` (and no other commit) is specified, the branches recorded " +"in the `.git/FETCH_HEAD` file by the previous invocation of `git fetch` for " +"merging are merged to the current branch." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:104 +#. type: Title - +#: en/git-merge.txt:125 #, no-wrap -msgid "Undo add" +msgid "PRE-MERGE CHECKS" msgstr "" -#. type: delimited block - -#: en/git-reset.txt:112 -#, no-wrap +#. type: Plain text +#: en/git-merge.txt:133 msgid "" -"$ edit <1>\n" -"$ git add frotz.c filfre.c\n" -"$ mailx <2>\n" -"$ git reset <3>\n" -"$ git pull git://info.example.com/ nitfol <4>\n" +"Before applying outside changes, you should get your own work in good shape " +"and committed locally, so it will not be clobbered if there are conflicts. " +"See also linkgit:git-stash[1]. 'git pull' and 'git merge' will stop without " +"doing anything when local uncommitted changes overlap with files that 'git " +"pull'/'git merge' may need to update." msgstr "" #. type: Plain text -#: en/git-reset.txt:118 +#: en/git-merge.txt:139 msgid "" -"You are happily working on something, and find the changes in these files " -"are in good order. You do not want to see them when you run \"git diff\", " -"because you plan to work on other files and changes with these files are " -"distracting." +"To avoid recording unrelated changes in the merge commit, 'git pull' and " +"'git merge' will also abort if there are any changes registered in the index " +"relative to the `HEAD` commit. (One exception is when the changed index " +"entries are in the state that would result from the merge already.)" msgstr "" #. type: Plain text -#: en/git-reset.txt:119 -msgid "Somebody asks you to pull, and the changes sounds worthy of merging." +#: en/git-merge.txt:142 +msgid "" +"If all named commits are already ancestors of `HEAD`, 'git merge' will exit " +"early with the message \"Already up-to-date.\"" msgstr "" -#. type: Plain text -#: en/git-reset.txt:124 -msgid "" -"However, you already dirtied the index (i.e. your index does not match the " -"HEAD commit). But you know the pull you are going to make does not affect " -"frotz.c or filfre.c, so you revert the index changes for these two files. " -"Your changes in working tree remain there." +#. type: Title - +#: en/git-merge.txt:144 +#, no-wrap +msgid "FAST-FORWARD MERGE" msgstr "" #. type: Plain text -#: en/git-reset.txt:126 +#: en/git-merge.txt:154 msgid "" -"Then you can pull and merge, leaving frotz.c and filfre.c changes still in " -"the working tree." +"Often the current branch head is an ancestor of the named commit. This is " +"the most common case especially when invoked from 'git pull': you are " +"tracking an upstream repository, you have committed no local changes, and " +"now you want to update to a newer upstream revision. In this case, a new " +"commit is not needed to store the combined history; instead, the `HEAD` " +"(along with the index) is updated to point at the named commit, without " +"creating an extra merge commit." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:127 -#, no-wrap -msgid "Undo a commit and redo" +#. type: Plain text +#: en/git-merge.txt:156 +msgid "This behavior can be suppressed with the `--no-ff` option." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:134 +#. type: Title - +#: en/git-merge.txt:158 #, no-wrap -msgid "" -"$ git commit ...\n" -"$ git reset --soft HEAD^ <1>\n" -"$ edit <2>\n" -"$ git commit -a -c ORIG_HEAD <3>\n" +msgid "TRUE MERGE" msgstr "" #. type: Plain text -#: en/git-reset.txt:139 +#: en/git-merge.txt:163 msgid "" -"This is most often done when you remembered what you just committed is " -"incomplete, or you misspelled your commit message, or both. Leaves working " -"tree as it was before \"reset\"." +"Except in a fast-forward merge (see above), the branches to be merged must " +"be tied together by a merge commit that has both of them as its parents." msgstr "" #. type: Plain text -#: en/git-reset.txt:140 -msgid "Make corrections to working tree files." +#: en/git-merge.txt:168 +msgid "" +"A merged version reconciling the changes from all branches to be merged is " +"committed, and your `HEAD`, index, and working tree are updated to it. It " +"is possible to have modifications in the working tree as long as they do not " +"overlap; the update will preserve them." msgstr "" #. type: Plain text -#: en/git-reset.txt:143 -msgid "" -"\"reset\" copies the old head to .git/ORIG_HEAD; redo the commit by starting " -"with its log message. If you do not need to edit the message further, you " -"can give -C option instead." +#: en/git-merge.txt:171 +msgid "When it is not obvious how to reconcile the changes, the following happens:" msgstr "" #. type: Plain text -#: en/git-reset.txt:145 -msgid "See also the --amend option to linkgit:git-commit[1]." +#: en/git-merge.txt:173 +msgid "The `HEAD` pointer stays the same." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:146 -#, no-wrap -msgid "Undo a commit, making it a topic branch" +#. type: Plain text +#: en/git-merge.txt:174 +msgid "The `MERGE_HEAD` ref is set to point to the other branch head." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:152 -#, no-wrap +#. type: Plain text +#: en/git-merge.txt:176 msgid "" -"$ git branch topic/wip <1>\n" -"$ git reset --hard HEAD~3 <2>\n" -"$ git checkout topic/wip <3>\n" +"Paths that merged cleanly are updated both in the index file and in your " +"working tree." msgstr "" #. type: Plain text -#: en/git-reset.txt:158 +#: en/git-merge.txt:182 msgid "" -"You have made some commits, but realize they were premature to be in the " -"\"master\" branch. You want to continue polishing them in a topic branch, " -"so create \"topic/wip\" branch off of the current HEAD." +"For conflicting paths, the index file records up to three versions: stage 1 " +"stores the version from the common ancestor, stage 2 from `HEAD`, and stage " +"3 from `MERGE_HEAD` (you can inspect the stages with `git ls-files -u`). " +"The working tree files contain the result of the \"merge\" program; " +"i.e. 3-way merge results with familiar conflict markers `<<<` `===` `>>>`." msgstr "" #. type: Plain text -#: en/git-reset.txt:159 -msgid "Rewind the master branch to get rid of those three commits." +#: en/git-merge.txt:186 +msgid "" +"No other changes are made. In particular, the local modifications you had " +"before you started merge will stay the same and the index entries for them " +"stay as they were, i.e. matching `HEAD`." msgstr "" #. type: Plain text -#: en/git-reset.txt:160 -msgid "Switch to \"topic/wip\" branch and keep working." +#: en/git-merge.txt:189 +msgid "" +"If you tried a merge which resulted in complex conflicts and want to start " +"over, you can recover with `git merge --abort`." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:161 +#. type: Title - +#: en/git-merge.txt:191 #, no-wrap -msgid "Undo commits permanently" +msgid "MERGING TAG" msgstr "" -#. type: delimited block - -#: en/git-reset.txt:166 -#, no-wrap +#. type: Plain text +#: en/git-merge.txt:198 msgid "" -"$ git commit ...\n" -"$ git reset --hard HEAD~3 <1>\n" +"When merging an annotated (and possibly signed) tag, Git always creates a " +"merge commit even if a fast-forward merge is possible, and the commit " +"message template is prepared with the tag message. Additionally, if the tag " +"is signed, the signature check is reported as a comment in the message " +"template. See also linkgit:git-tag[1]." msgstr "" #. type: Plain text -#: en/git-reset.txt:173 +#: en/git-merge.txt:202 msgid "" -"The last three commits (HEAD, HEAD^, and HEAD~2) were bad and you do not " -"want to ever see them again. Do *not* do this if you have already given " -"these commits to somebody else. (See the \"RECOVERING FROM UPSTREAM " -"REBASE\" section in linkgit:git-rebase[1] for the implications of doing so.)" +"When you want to just integrate with the work leading to the commit that " +"happens to be tagged, e.g. synchronizing with an upstream release point, you " +"may not want to make an unnecessary merge commit." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:174 -#, no-wrap -msgid "Undo a merge or pull" +#. type: Plain text +#: en/git-merge.txt:206 +msgid "" +"In such a case, you can \"unwrap\" the tag yourself before feeding it to " +"`git merge`, or pass `--ff-only` when you do not have any work on your " +"own. e.g." msgstr "" #. type: delimited block - -#: en/git-reset.txt:186 +#: en/git-merge.txt:211 #, no-wrap msgid "" -"$ git pull <1>\n" -"Auto-merging nitfol\n" -"CONFLICT (content): Merge conflict in nitfol\n" -"Automatic merge failed; fix conflicts and then commit the result.\n" -"$ git reset --hard <2>\n" -"$ git pull . topic/branch <3>\n" -"Updating from 41223... to 13134...\n" -"Fast-forward\n" -"$ git reset --hard ORIG_HEAD <4>\n" -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:191 -msgid "" -"Try to update from the upstream resulted in a lot of conflicts; you were not " -"ready to spend a lot of time merging right now, so you decide to do that " -"later." +"git fetch origin\n" +"git merge v1.2.3^0\n" +"git merge --ff-only v1.2.3\n" msgstr "" -#. type: Plain text -#: en/git-reset.txt:194 -msgid "" -"\"pull\" has not made merge commit, so \"git reset --hard\" which is a " -"synonym for \"git reset --hard HEAD\" clears the mess from the index file " -"and the working tree." +#. type: Title - +#: en/git-merge.txt:215 +#, no-wrap +msgid "HOW CONFLICTS ARE PRESENTED" msgstr "" #. type: Plain text -#: en/git-reset.txt:196 +#: en/git-merge.txt:224 msgid "" -"Merge a topic branch into the current branch, which resulted in a " -"fast-forward." +"During a merge, the working tree files are updated to reflect the result of " +"the merge. Among the changes made to the common ancestor's version, " +"non-overlapping ones (that is, you changed an area of the file while the " +"other side left that area intact, or vice versa) are incorporated in the " +"final result verbatim. When both sides made changes to the same area, " +"however, Git cannot randomly pick one side over the other, and asks you to " +"resolve it by leaving what both sides did to that area." msgstr "" #. type: Plain text -#: en/git-reset.txt:201 +#: en/git-merge.txt:227 msgid "" -"But you decided that the topic branch is not ready for public consumption " -"yet. \"pull\" or \"merge\" always leaves the original tip of the current " -"branch in ORIG_HEAD, so resetting hard to it brings your index file and the " -"working tree back to that state, and resets the tip of the branch to that " -"commit." -msgstr "" - -#. type: Labeled list -#: en/git-reset.txt:202 -#, no-wrap -msgid "Undo a merge or pull inside a dirty working tree" +"By default, Git uses the same style as the one used by the \"merge\" program " +"from the RCS suite to present such a conflicted hunk, like this:" msgstr "" #. type: delimited block - -#: en/git-reset.txt:211 +#: en/git-merge.txt:238 #, no-wrap msgid "" -"$ git pull <1>\n" -"Auto-merging nitfol\n" -"Merge made by recursive.\n" -" nitfol | 20 +++++----\n" -" ...\n" -"$ git reset --merge ORIG_HEAD <2>\n" +"Here are lines that are either unchanged from the common\n" +"ancestor, or cleanly resolved because only one side changed.\n" +"<<<<<<< yours:sample.txt\n" +"Conflict resolution is hard;\n" +"let's go shopping.\n" +"=======\n" +"Git makes conflict resolution easy.\n" +">>>>>>> theirs:sample.txt\n" +"And here is another line that is cleanly resolved or unmodified.\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:217 +#: en/git-merge.txt:243 msgid "" -"Even if you may have local modifications in your working tree, you can " -"safely say \"git pull\" when you know that the change in the other branch " -"does not overlap with them." +"The area where a pair of conflicting changes happened is marked with markers " +"`<<<<<<<`, `=======`, and `>>>>>>>`. The part before the `=======` is " +"typically your side, and the part afterwards is typically their side." msgstr "" #. type: Plain text -#: en/git-reset.txt:222 +#: en/git-merge.txt:249 msgid "" -"After inspecting the result of the merge, you may find that the change in " -"the other branch is unsatisfactory. Running \"git reset --hard ORIG_HEAD\" " -"will let you go back to where you were, but it will discard your local " -"changes, which you do not want. \"git reset --merge\" keeps your local " -"changes." -msgstr "" - -#. type: Labeled list -#: en/git-reset.txt:224 en/git-stash.txt:224 -#, no-wrap -msgid "Interrupted workflow" +"The default format does not show what the original said in the conflicting " +"area. You cannot tell how many lines are deleted and replaced with Barbie's " +"remark on your side. The only thing you can tell is that your side wants to " +"say it is hard and you'd prefer to go shopping, while the other side wants " +"to claim it is easy." msgstr "" #. type: Plain text -#: en/git-reset.txt:230 +#: en/git-merge.txt:253 msgid "" -"Suppose you are interrupted by an urgent fix request while you are in the " -"middle of a large change. The files in your working tree are not in any " -"shape to be committed yet, but you need to get to the other branch for a " -"quick bugfix." +"An alternative style can be used by setting the \"merge.conflictStyle\" " +"configuration variable to \"diff3\". In \"diff3\" style, the above conflict " +"may look like this:" msgstr "" #. type: delimited block - -#: en/git-reset.txt:241 +#: en/git-merge.txt:266 #, no-wrap msgid "" -"$ git checkout feature ;# you were working in \"feature\" branch and\n" -"$ work work work ;# got interrupted\n" -"$ git commit -a -m \"snapshot WIP\" <1>\n" -"$ git checkout master\n" -"$ fix fix fix\n" -"$ git commit ;# commit with real log\n" -"$ git checkout feature\n" -"$ git reset --soft HEAD^ ;# go back to WIP state <2>\n" -"$ git reset <3>\n" -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:244 -msgid "This commit will get blown away so a throw-away log message is OK." -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:246 -msgid "" -"This removes the 'WIP' commit from the commit history, and sets your working " -"tree to the state just before you made that snapshot." +"Here are lines that are either unchanged from the common\n" +"ancestor, or cleanly resolved because only one side changed.\n" +"<<<<<<< yours:sample.txt\n" +"Conflict resolution is hard;\n" +"let's go shopping.\n" +"|||||||\n" +"Conflict resolution is hard.\n" +"=======\n" +"Git makes conflict resolution easy.\n" +">>>>>>> theirs:sample.txt\n" +"And here is another line that is cleanly resolved or unmodified.\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:249 +#: en/git-merge.txt:274 msgid "" -"At this point the index file still has all the WIP changes you committed as " -"'snapshot WIP'. This updates the index to show your WIP files as " -"uncommitted." -msgstr "" - -#. type: Plain text -#: en/git-reset.txt:251 -msgid "See also linkgit:git-stash[1]." +"In addition to the `<<<<<<<`, `=======`, and `>>>>>>>` markers, it uses " +"another `|||||||` marker that is followed by the original text. You can " +"tell that the original just stated a fact, and your side simply gave in to " +"that statement and gave up, while the other side tried to have a more " +"positive attitude. You can sometimes come up with a better resolution by " +"viewing the original." msgstr "" -#. type: Labeled list -#: en/git-reset.txt:252 +#. type: Title - +#: en/git-merge.txt:277 #, no-wrap -msgid "Reset a single file in the index" +msgid "HOW TO RESOLVE CONFLICTS" msgstr "" #. type: Plain text -#: en/git-reset.txt:257 -msgid "" -"Suppose you have added a file to your index, but later decide you do not " -"want to add it to your commit. You can remove the file from the index while " -"keeping your changes with git reset." -msgstr "" - -#. type: delimited block - -#: en/git-reset.txt:262 -#, no-wrap -msgid "" -"$ git reset -- frotz.c <1>\n" -"$ git commit -m \"Commit files in index\" <2>\n" -"$ git add frotz.c <3>\n" +#: en/git-merge.txt:280 +msgid "After seeing a conflict, you can do two things:" msgstr "" #. type: Plain text -#: en/git-reset.txt:266 +#: en/git-merge.txt:285 msgid "" -"This removes the file from the index while keeping it in the working " -"directory." +"Decide not to merge. The only clean-ups you need are to reset the index " +"file to the `HEAD` commit to reverse 2. and to clean up working tree changes " +"made by 2. and 3.; `git merge --abort` can be used for this." msgstr "" #. type: Plain text -#: en/git-reset.txt:267 -msgid "This commits all other changes in the index." +#: en/git-merge.txt:289 +msgid "" +"Resolve the conflicts. Git will mark the conflicts in the working tree. " +"Edit the files into shape and 'git add' them to the index. Use 'git commit' " +"to seal the deal." msgstr "" #. type: Plain text -#: en/git-reset.txt:268 -msgid "Adds the file to the index again." -msgstr "" - -#. type: Labeled list -#: en/git-reset.txt:269 -#, no-wrap -msgid "Keep changes in working tree while discarding some previous commits" +#: en/git-merge.txt:291 +msgid "You can work through the conflict with a number of tools:" msgstr "" #. type: Plain text -#: en/git-reset.txt:276 +#: en/git-merge.txt:294 msgid "" -"Suppose you are working on something and you commit it, and then you " -"continue working a bit more, but now you think that what you have in your " -"working tree should be in another branch that has nothing to do with what " -"you committed previously. You can start a new branch and reset it while " -"keeping the changes in your working tree." +"Use a mergetool. `git mergetool` to launch a graphical mergetool which will " +"work you through the merge." msgstr "" -#. type: delimited block - -#: en/git-reset.txt:285 -#, no-wrap +#. type: Plain text +#: en/git-merge.txt:298 msgid "" -"$ git tag start\n" -"$ git checkout -b branch1\n" -"$ edit\n" -"$ git commit ... <1>\n" -"$ edit\n" -"$ git checkout -b branch2 <2>\n" -"$ git reset --keep start <3>\n" +"Look at the diffs. `git diff` will show a three-way diff, highlighting " +"changes from both the `HEAD` and `MERGE_HEAD` versions." msgstr "" #. type: Plain text -#: en/git-reset.txt:288 -msgid "This commits your first edits in branch1." +#: en/git-merge.txt:302 +msgid "" +"Look at the diffs from each branch. `git log --merge -p <path>` will show " +"diffs first for the `HEAD` version and then the `MERGE_HEAD` version." msgstr "" #. type: Plain text -#: en/git-reset.txt:292 +#: en/git-merge.txt:307 msgid "" -"In the ideal world, you could have realized that the earlier commit did not " -"belong to the new topic when you created and switched to branch2 (i.e. \"git " -"checkout -b branch2 start\"), but nobody is perfect." +"Look at the originals. `git show :1:filename` shows the common ancestor, " +"`git show :2:filename` shows the `HEAD` version, and `git show :3:filename` " +"shows the `MERGE_HEAD` version." msgstr "" #. type: Plain text -#: en/git-reset.txt:294 +#: en/git-merge.txt:314 msgid "" -"But you can use \"reset --keep\" to remove the unwanted commit after you " -"switched to \"branch2\"." +"Merge branches `fixes` and `enhancements` on top of the current branch, " +"making an octopus merge:" msgstr "" -#. type: Labeled list -#: en/git-reset.txt:295 +#. type: delimited block - +#: en/git-merge.txt:317 #, no-wrap -msgid "Split a commit apart into a sequence of commits" +msgid "$ git merge fixes enhancements\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:303 +#: en/git-merge.txt:321 msgid "" -"Suppose that you have created lots of logically separate changes and " -"commited them together. Then, later you decide that it might be better to " -"have each logical chunk associated with its own commit. You can use git " -"reset to rewind history without changing the contents of your local files, " -"and then successively use `git add -p` to interactively select which hunks " -"to include into each commit, using `git commit -c` to pre-populate the " -"commit message." +"Merge branch `obsolete` into the current branch, using `ours` merge " +"strategy:" msgstr "" #. type: delimited block - -#: en/git-reset.txt:313 +#: en/git-merge.txt:324 #, no-wrap -msgid "" -"$ git reset -N HEAD^ <1>\n" -"$ git add -p <2>\n" -"$ git diff --cached <3>\n" -"$ git commit -c HEAD@{1} <4>\n" -"... <5>\n" -"$ git add ... <6>\n" -"$ git diff --cached <7>\n" -"$ git commit ... <8>\n" +msgid "$ git merge -s ours obsolete\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:319 +#: en/git-merge.txt:328 msgid "" -"First, reset the history back one commit so that we remove the original " -"commit, but leave the working tree with all the changes. The -N ensures that " -"any new files added with HEAD are still marked so that git add -p will find " -"them." +"Merge branch `maint` into the current branch, but do not make a new commit " +"automatically:" msgstr "" -#. type: Plain text -#: en/git-reset.txt:323 -msgid "" -"Next, we interactively select diff hunks to add using the git add -p " -"facility. This will ask you about each diff hunk in sequence and you can use " -"simple commands such as \"yes, include this\", \"No don't include this\" or " -"even the very powerful \"edit\" facility." +#. type: delimited block - +#: en/git-merge.txt:331 +#, no-wrap +msgid "$ git merge --no-commit maint\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:327 +#: en/git-merge.txt:335 msgid "" -"Once satisfied with the hunks you want to include, you should verify what " -"has been prepared for the first commit by using git diff --cached. This " -"shows all the changes that have been moved into the index and are about to " -"be committed." +"This can be used when you want to include further changes to the merge, or " +"want to write your own merge commit message." msgstr "" #. type: Plain text -#: en/git-reset.txt:333 +#: en/git-merge.txt:339 msgid "" -"Next, commit the changes stored in the index. The -c option specifies to " -"pre-populate the commit message from the original message that you started " -"with in the first commit. This is helpful to avoid retyping it. The HEAD@{1} " -"is a special notation for the commit that HEAD used to be at prior to the " -"original reset commit (1 change ago). See linkgit:git-reflog[1] for more " -"details. You may also use any other valid commit reference." +"You should refrain from abusing this option to sneak substantial changes " +"into a merge commit. Small fixups like bumping release/version name would " +"be acceptable." msgstr "" #. type: Plain text -#: en/git-reset.txt:335 +#: en/git-merge.txt:351 msgid "" -"You can repeat steps 2-4 multiple times to break the original code into any " -"number of commits." +"Sets default options for merging into branch <name>. The syntax and " +"supported options are the same as those of 'git merge', but option values " +"containing whitespace characters are currently not supported." msgstr "" #. type: Plain text -#: en/git-reset.txt:338 +#: en/git-merge.txt:360 msgid "" -"Now you've split out many of the changes into their own commits, and might " -"no longer use the patch mode of git add, in order to select all remaining " -"uncommitted changes." +"linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1], linkgit:gitattributes[5], " +"linkgit:git-reset[1], linkgit:git-diff[1], linkgit:git-ls-files[1], " +"linkgit:git-add[1], linkgit:git-rm[1], linkgit:git-mergetool[1]" msgstr "" -#. type: Plain text -#: en/git-reset.txt:341 -msgid "" -"Once again, check to verify that you've included what you want to. You may " -"also wish to verify that git diff doesn't show any remaining changes to be " -"committed later." +#. type: Title = +#: en/git-mktag.txt:2 +#, no-wrap +msgid "git-mktag(1)" msgstr "" #. type: Plain text -#: en/git-reset.txt:342 -msgid "And finally create the final commit." +#: en/git-mktag.txt:7 +msgid "git-mktag - Creates a tag object" msgstr "" #. type: Plain text -#: en/git-reset.txt:348 -msgid "The tables below show what happens when running:" -msgstr "" - -#. type: delimited block - -#: en/git-reset.txt:351 +#: en/git-mktag.txt:13 #, no-wrap -msgid "git reset --option target\n" +msgid "'git mktag'\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:355 +#: en/git-mktag.txt:18 msgid "" -"to reset the HEAD to another commit (`target`) with the different reset " -"options depending on the state of the files." +"Reads a tag contents on standard input and creates a tag object that can " +"also be used to sign other objects." msgstr "" #. type: Plain text -#: en/git-reset.txt:364 -msgid "" -"In these tables, A, B, C and D are some different states of a file. For " -"example, the first line of the first table means that if a file is in state " -"A in the working tree, in state B in the index, in state C in HEAD and in " -"state D in the target, then \"git reset --soft target\" will leave the file " -"in the working tree in state A and in the index in state B. It resets " -"(i.e. moves) the HEAD (i.e. the tip of the current branch, if you are on " -"one) to \"target\" (which has the file in state D)." +#: en/git-mktag.txt:20 +msgid "The output is the new tag's <object> identifier." msgstr "" -#. type: Plain text -#: en/git-reset.txt:372 +#. type: Title - +#: en/git-mktag.txt:22 #, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" A B C D --soft A B D\n" -"\t\t\t\t--mixed A D D\n" -"\t\t\t\t--hard D D D\n" -"\t\t\t\t--merge (disallowed)\n" -"\t\t\t\t--keep (disallowed)\n" +msgid "Tag Format" msgstr "" #. type: Plain text -#: en/git-reset.txt:380 -#, no-wrap +#: en/git-mktag.txt:25 msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" A B C C --soft A B C\n" -"\t\t\t\t--mixed A C C\n" -"\t\t\t\t--hard C C C\n" -"\t\t\t\t--merge (disallowed)\n" -"\t\t\t\t--keep A C C\n" +"A tag signature file, to be fed to this command's standard input, has a very " +"simple fixed format: four lines of" msgstr "" #. type: Plain text -#: en/git-reset.txt:388 +#: en/git-mktag.txt:30 #, no-wrap msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B B C D --soft B B D\n" -"\t\t\t\t--mixed B D D\n" -"\t\t\t\t--hard D D D\n" -"\t\t\t\t--merge D D D\n" -"\t\t\t\t--keep (disallowed)\n" +" object <sha1>\n" +" type <typename>\n" +" tag <tagname>\n" +" tagger <tagger>\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:396 -#, no-wrap +#: en/git-mktag.txt:36 msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B B C C --soft B B C\n" -"\t\t\t\t--mixed B C C\n" -"\t\t\t\t--hard C C C\n" -"\t\t\t\t--merge C C C\n" -"\t\t\t\t--keep B C C\n" +"followed by some 'optional' free-form message (some tags created by older " +"Git may not have `tagger` line). The message, when exists, is separated by " +"a blank line from the header. The message part may contain a signature that " +"Git itself doesn't care about, but that can be verified with gpg." msgstr "" -#. type: Plain text -#: en/git-reset.txt:404 +#. type: Title = +#: en/git-mktree.txt:2 #, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B C C D --soft B C D\n" -"\t\t\t\t--mixed B D D\n" -"\t\t\t\t--hard D D D\n" -"\t\t\t\t--merge (disallowed)\n" -"\t\t\t\t--keep (disallowed)\n" +msgid "git-mktree(1)" msgstr "" #. type: Plain text -#: en/git-reset.txt:412 -#, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" B C C C --soft B C C\n" -"\t\t\t\t--mixed B C C\n" -"\t\t\t\t--hard C C C\n" -"\t\t\t\t--merge B C C\n" -"\t\t\t\t--keep B C C\n" +#: en/git-mktree.txt:7 +msgid "git-mktree - Build a tree-object from ls-tree formatted text" msgstr "" #. type: Plain text -#: en/git-reset.txt:421 -msgid "" -"\"reset --merge\" is meant to be used when resetting out of a conflicted " -"merge. Any mergy operation guarantees that the working tree file that is " -"involved in the merge does not have local change wrt the index before it " -"starts, and that it writes the result out to the working tree. So if we see " -"some difference between the index and the target and also between the index " -"and the working tree, then it means that we are not resetting out from a " -"state that a mergy operation left after failing with a conflict. That is why " -"we disallow --merge option in this case." +#: en/git-mktree.txt:13 +#, no-wrap +msgid "'git mktree' [-z] [--missing] [--batch]\n" msgstr "" #. type: Plain text -#: en/git-reset.txt:430 +#: en/git-mktree.txt:20 msgid "" -"\"reset --keep\" is meant to be used when removing some of the last commits " -"in the current branch while keeping changes in the working tree. If there " -"could be conflicts between the changes in the commit we want to remove and " -"the changes in the working tree we want to keep, the reset is " -"disallowed. That's why it is disallowed if there are both changes between " -"the working tree and HEAD, and between HEAD and the target. To be safe, it " -"is also disallowed when there are unmerged entries." +"Reads standard input in non-recursive `ls-tree` output format, and creates a " +"tree object. The order of the tree entries is normalised by mktree so " +"pre-sorting the input is not required. The object name of the tree object " +"built is written to the standard output." msgstr "" #. type: Plain text -#: en/git-reset.txt:433 -msgid "The following tables show what happens when there are unmerged entries:" +#: en/git-mktree.txt:25 +msgid "Read the NUL-terminated `ls-tree -z` output instead." msgstr "" -#. type: Plain text -#: en/git-reset.txt:441 +#. type: Labeled list +#: en/git-mktree.txt:26 #, no-wrap -msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" X U A B --soft (disallowed)\n" -"\t\t\t\t--mixed X B B\n" -"\t\t\t\t--hard B B B\n" -"\t\t\t\t--merge B B B\n" -"\t\t\t\t--keep (disallowed)\n" +msgid "--missing" msgstr "" #. type: Plain text -#: en/git-reset.txt:449 -#, no-wrap +#: en/git-mktree.txt:31 msgid "" -" working index HEAD target working index HEAD\n" -" ----------------------------------------------------\n" -" X U A A --soft (disallowed)\n" -"\t\t\t\t--mixed X A A\n" -"\t\t\t\t--hard A A A\n" -"\t\t\t\t--merge A A A\n" -"\t\t\t\t--keep (disallowed)\n" +"Allow missing objects. The default behaviour (without this option) is to " +"verify that each tree entry's sha1 identifies an existing object. This " +"option has no effect on the treatment of gitlink entries (aka " +"\"submodules\") which are always allowed to be missing." msgstr "" #. type: Plain text -#: en/git-reset.txt:451 -msgid "X means any state and U means an unmerged index." +#: en/git-mktree.txt:37 +msgid "" +"Allow building of more than one tree object before exiting. Each tree is " +"separated by as single blank line. The final new-line is optional. Note - " +"if the `-z` option is used, lines are terminated with NUL." msgstr "" #. type: Title = -#: en/git-revert.txt:2 +#: en/git-mv.txt:2 #, no-wrap -msgid "git-revert(1)" +msgid "git-mv(1)" msgstr "" #. type: Plain text -#: en/git-revert.txt:7 -msgid "git-revert - Revert some existing commits" +#: en/git-mv.txt:7 +msgid "git-mv - Move or rename a file, a directory, or a symlink" msgstr "" #. type: Plain text -#: en/git-revert.txt:15 +#: en/git-mv.txt:13 #, no-wrap -msgid "" -"'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] " -"<commit>...\n" -"'git revert' --continue\n" -"'git revert' --quit\n" -"'git revert' --abort\n" +msgid "'git mv' <options>... <args>...\n" msgstr "" #. type: Plain text -#: en/git-revert.txt:23 -msgid "" -"Given one or more existing commits, revert the changes that the related " -"patches introduce, and record some new commits that record them. This " -"requires your working tree to be clean (no modifications from the HEAD " -"commit)." +#: en/git-mv.txt:17 +msgid "Move or rename a file, directory or symlink." msgstr "" #. type: Plain text -#: en/git-revert.txt:32 +#: en/git-mv.txt:20 +#, no-wrap msgid "" -"Note: 'git revert' is used to record some new commits to reverse the effect " -"of some earlier commits (often only a faulty one). If you want to throw " -"away all uncommitted changes in your working directory, you should see " -"linkgit:git-reset[1], particularly the `--hard` option. If you want to " -"extract specific files as they were in another commit, you should see " -"linkgit:git-checkout[1], specifically the `git checkout <commit> -- " -"<filename>` syntax. Take care with these alternatives as both will discard " -"uncommitted changes in your working directory." +" git mv [-v] [-f] [-n] [-k] <source> <destination>\n" +" git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>\n" msgstr "" #. type: Plain text -#: en/git-revert.txt:42 +#: en/git-mv.txt:25 msgid "" -"Commits to revert. For a more complete list of ways to spell commit names, " -"see linkgit:gitrevisions[7]. Sets of commits can also be given but no " -"traversal is done by default, see linkgit:git-rev-list[1] and its " -"`--no-walk` option." +"In the first form, it renames <source>, which must exist and be either a " +"file, symlink or directory, to <destination>. In the second form, the last " +"argument has to be an existing directory; the given sources will be moved " +"into this directory." msgstr "" #. type: Plain text -#: en/git-revert.txt:48 +#: en/git-mv.txt:28 msgid "" -"With this option, 'git revert' will let you edit the commit message prior to " -"committing the revert. This is the default if you run the command from a " -"terminal." +"The index is updated after successful completion, but the change must still " +"be committed." msgstr "" #. type: Plain text -#: en/git-revert.txt:56 -msgid "" -"Usually you cannot revert a merge because you do not know which side of the " -"merge should be considered the mainline. This option specifies the parent " -"number (starting from 1) of the mainline and allows revert to reverse the " -"change relative to the specified parent." +#: en/git-mv.txt:34 +msgid "Force renaming or moving of a file even if the target exists" msgstr "" #. type: Plain text -#: en/git-revert.txt:61 +#: en/git-mv.txt:39 msgid "" -"Reverting a merge commit declares that you will never want the tree changes " -"brought in by the merge. As a result, later merges will only bring in tree " -"changes introduced by commits that are not ancestors of the previously " -"reverted merge. This may or may not be what you want." +"Skip move or rename actions which would lead to an error condition. An error " +"happens when a source is neither existing nor controlled by Git, or when it " +"would overwrite an existing file unless `-f` is given." msgstr "" #. type: Plain text -#: en/git-revert.txt:64 -msgid "" -"See the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] " -"for more details." +#: en/git-mv.txt:42 +msgid "Do nothing; only show what would happen" msgstr "" #. type: Plain text -#: en/git-revert.txt:68 -msgid "With this option, 'git revert' will not start the commit message editor." +#: en/git-mv.txt:46 +msgid "Report the names of files as they are moved." msgstr "" -#. type: Plain text -#: en/git-revert.txt:79 -msgid "" -"Usually the command automatically creates some commits with commit log " -"messages stating which commits were reverted. This flag applies the changes " -"necessary to revert the named commits to your working tree and the index, " -"but does not make the commits. In addition, when this option is used, your " -"index does not have to match the HEAD commit. The revert is done against " -"the beginning state of your index." +#. type: Title - +#: en/git-mv.txt:48 en/git-rm.txt:138 +#, no-wrap +msgid "SUBMODULES" msgstr "" #. type: Plain text -#: en/git-revert.txt:82 +#: en/git-mv.txt:54 msgid "" -"This is useful when reverting more than one commits' effect to your index in " -"a row." +"Moving a submodule using a gitfile (which means they were cloned with a Git " +"version 1.7.8 or newer) will update the gitfile and core.worktree setting to " +"make the submodule work in the new location. It also will attempt to update " +"the submodule.<name>.path setting in the linkgit:gitmodules[5] file and " +"stage that file (unless -n is used)." msgstr "" -#. type: Labeled list -#: en/git-revert.txt:110 +#. type: Plain text +#: en/git-mv.txt:66 +msgid "" +"Each time a superproject update moves a populated submodule (e.g. when " +"switching between commits before and after the move) a stale submodule " +"checkout will remain in the old location and an empty directory will appear " +"in the new location. To populate the submodule again in the new location the " +"user will have to run \"git submodule update\" afterwards. Removing the old " +"directory is only safe when it uses a gitfile, as otherwise the history of " +"the submodule will be deleted too. Both steps will be obsolete when " +"recursive submodule update has been implemented." +msgstr "" + +#. type: Title = +#: en/git-name-rev.txt:2 #, no-wrap -msgid "`git revert HEAD~3`" +msgid "git-name-rev(1)" msgstr "" #. type: Plain text -#: en/git-revert.txt:114 -msgid "" -"Revert the changes specified by the fourth last commit in HEAD and create a " -"new commit with the reverted changes." +#: en/git-name-rev.txt:7 +msgid "git-name-rev - Find symbolic names for given revs" msgstr "" -#. type: Labeled list -#: en/git-revert.txt:115 +#. type: Plain text +#: en/git-name-rev.txt:14 #, no-wrap -msgid "`git revert -n master~5..master~2`" +msgid "" +"'git name-rev' [--tags] [--refs=<pattern>]\n" +"\t ( --all | --stdin | <commit-ish>... )\n" msgstr "" #. type: Plain text -#: en/git-revert.txt:122 +#: en/git-name-rev.txt:19 msgid "" -"Revert the changes done by commits from the fifth last commit in master " -"(included) to the third last commit in master (included), but do not create " -"any commit with the reverted changes. The revert only modifies the working " -"tree and the index." +"Finds symbolic names suitable for human digestion for revisions given in any " +"format parsable by 'git rev-parse'." msgstr "" -#. type: Labeled list -#: en/git-revert.txt:126 en/cmds-mainporcelain.txt:22 -#, no-wrap -msgid "linkgit:git-cherry-pick[1]" +#. type: Plain text +#: en/git-name-rev.txt:26 +msgid "Do not use branch names, but only tags to name the commits" msgstr "" -#. type: Title = -#: en/git-rev-list.txt:2 +#. type: Labeled list +#: en/git-name-rev.txt:27 #, no-wrap -msgid "git-rev-list(1)" +msgid "--refs=<pattern>" msgstr "" #. type: Plain text -#: en/git-rev-list.txt:7 -msgid "git-rev-list - Lists commit objects in reverse chronological order" +#: en/git-name-rev.txt:32 +msgid "" +"Only use refs whose names match a given shell pattern. The pattern can be " +"one of branch name, tag name or fully qualified ref name. If given multiple " +"times, use refs whose names match any of the given shell patterns. Use " +"`--no-refs` to clear any previous ref patterns given." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:62 -#, no-wrap +#: en/git-name-rev.txt:41 msgid "" -"'git rev-list' [ --max-count=<number> ]\n" -"\t [ --skip=<number> ]\n" -"\t [ --max-age=<timestamp> ]\n" -"\t [ --min-age=<timestamp> ]\n" -"\t [ --sparse ]\n" -"\t [ --merges ]\n" -"\t [ --no-merges ]\n" -"\t [ --min-parents=<number> ]\n" -"\t [ --no-min-parents ]\n" -"\t [ --max-parents=<number> ]\n" -"\t [ --no-max-parents ]\n" -"\t [ --first-parent ]\n" -"\t [ --remove-empty ]\n" -"\t [ --full-history ]\n" -"\t [ --not ]\n" -"\t [ --all ]\n" -"\t [ --branches[=<pattern>] ]\n" -"\t [ --tags[=<pattern>] ]\n" -"\t [ --remotes[=<pattern>] ]\n" -"\t [ --glob=<glob-pattern> ]\n" -"\t [ --ignore-missing ]\n" -"\t [ --stdin ]\n" -"\t [ --quiet ]\n" -"\t [ --topo-order ]\n" -"\t [ --parents ]\n" -"\t [ --timestamp ]\n" -"\t [ --left-right ]\n" -"\t [ --left-only ]\n" -"\t [ --right-only ]\n" -"\t [ --cherry-mark ]\n" -"\t [ --cherry-pick ]\n" -"\t [ --encoding=<encoding> ]\n" -"\t [ --(author|committer|grep)=<pattern> ]\n" -"\t [ --regexp-ignore-case | -i ]\n" -"\t [ --extended-regexp | -E ]\n" -"\t [ --fixed-strings | -F ]\n" -"\t [ --date=<format>]\n" -"\t [ [ --objects | --objects-edge | --objects-edge-aggressive ]\n" -"\t [ --unpacked ] ]\n" -"\t [ --pretty | --header ]\n" -"\t [ --bisect ]\n" -"\t [ --bisect-vars ]\n" -"\t [ --bisect-all ]\n" -"\t [ --merge ]\n" -"\t [ --reverse ]\n" -"\t [ --walk-reflogs ]\n" -"\t [ --no-walk ] [ --do-walk ]\n" -"\t [ --count ]\n" -"\t [ --use-bitmap-index ]\n" -"\t <commit>... [ \\-- <paths>... ]\n" +"Do not use any ref whose name matches a given shell pattern. The pattern can " +"be one of branch name, tag name or fully qualified ref name. If given " +"multiple times, a ref will be excluded when it matches any of the given " +"patterns. When used together with --refs, a ref will be used as a match only " +"when it matches at least one --refs pattern and does not match any --exclude " +"patterns. Use `--no-exclude` to clear the list of exclude patterns." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:70 -msgid "" -"List commits that are reachable by following the `parent` links from the " -"given commit(s), but exclude commits that are reachable from the one(s) " -"given with a '{caret}' in front of them. The output is given in reverse " -"chronological order by default." +#: en/git-name-rev.txt:44 +msgid "List all commits reachable from all refs" msgstr "" #. type: Plain text -#: en/git-rev-list.txt:77 +#: en/git-name-rev.txt:50 msgid "" -"You can think of this as a set operation. Commits given on the command line " -"form a set of commits that are reachable from any of them, and then commits " -"reachable from any of the ones given with '{caret}' in front are subtracted " -"from that set. The remaining commits are what comes out in the command's " -"output. Various other options and paths parameters can be used to further " -"limit the result." +"Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) " +"with \"$hex ($rev_name)\". When used with --name-only, substitute with " +"\"$rev_name\", omitting $hex altogether. Intended for the scripter's use." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:79 -msgid "Thus, the following command:" +#: en/git-name-rev.txt:56 +msgid "" +"Instead of printing both the SHA-1 and the name, print only the name. If " +"given with --tags the usual tag prefix of \"tags/\" is also omitted from the " +"name, matching the output of `git-describe` more closely." msgstr "" -#. type: delimited block - -#: en/git-rev-list.txt:82 +#. type: Labeled list +#: en/git-name-rev.txt:57 #, no-wrap -msgid "\t$ git rev-list foo bar ^baz\n" +msgid "--no-undefined" msgstr "" #. type: Plain text -#: en/git-rev-list.txt:86 +#: en/git-name-rev.txt:60 msgid "" -"means \"list all the commits which are reachable from 'foo' or 'bar', but " -"not from 'baz'\"." +"Die with error code != 0 when a reference is undefined, instead of printing " +"`undefined`." msgstr "" #. type: Plain text -#: en/git-rev-list.txt:90 +#: en/git-name-rev.txt:71 msgid "" -"A special notation \"'<commit1>'..'<commit2>'\" can be used as a short-hand " -"for \"{caret}'<commit1>' '<commit2>'\". For example, either of the following " -"may be used interchangeably:" +"Given a commit, find out where it is relative to the local refs. Say " +"somebody wrote you about that fantastic commit " +"33db5f4d9027a10e477ccf054b2c1ab94f74c85a. Of course, you look into the " +"commit, but that only tells you what happened, but not the context." +msgstr "" + +#. type: Plain text +#: en/git-name-rev.txt:73 +msgid "Enter 'git name-rev':" msgstr "" #. type: delimited block - -#: en/git-rev-list.txt:94 +#: en/git-name-rev.txt:77 #, no-wrap msgid "" -"\t$ git rev-list origin..HEAD\n" -"\t$ git rev-list HEAD ^origin\n" +"% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a\n" +"33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940\n" msgstr "" #. type: Plain text -#: en/git-rev-list.txt:99 +#: en/git-name-rev.txt:80 msgid "" -"Another special notation is \"'<commit1>'...'<commit2>'\" which is useful " -"for merges. The resulting set of commits is the symmetric difference " -"between the two operands. The following two commands are equivalent:" +"Now you are wiser, because you know that it happened 940 revisions before " +"v0.99." msgstr "" -#. type: delimited block - -#: en/git-rev-list.txt:103 -#, no-wrap -msgid "" -"\t$ git rev-list A B --not $(git merge-base --all A B)\n" -"\t$ git rev-list A...B\n" +#. type: Plain text +#: en/git-name-rev.txt:82 +msgid "Another nice thing you can do is:" msgstr "" -#. type: Plain text -#: en/git-rev-list.txt:110 -msgid "" -"'rev-list' is a very essential Git command, since it provides the ability to " -"build and traverse commit ancestry graphs. For this reason, it has a lot of " -"different options that enables it to be used by commands as different as " -"'git bisect' and 'git repack'." +#. type: delimited block - +#: en/git-name-rev.txt:85 +#, no-wrap +msgid "% git log | git name-rev --stdin\n" msgstr "" #. type: Title = -#: en/git-rev-parse.txt:2 +#: en/git-notes.txt:2 #, no-wrap -msgid "git-rev-parse(1)" +msgid "git-notes(1)" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:7 -msgid "git-rev-parse - Pick out and massage parameters" +#: en/git-notes.txt:7 +msgid "git-notes - Add or inspect object notes" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:13 +#: en/git-notes.txt:23 #, no-wrap -msgid "'git rev-parse' [ --option ] <args>...\n" +msgid "" +"'git notes' [list [<object>]]\n" +"'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) " +"<object>] [<object>]\n" +"'git notes' copy [-f] ( --stdin | <from-object> <to-object> )\n" +"'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) " +"<object>] [<object>]\n" +"'git notes' edit [--allow-empty] [<object>]\n" +"'git notes' show [<object>]\n" +"'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>\n" +"'git notes' merge --commit [-v | -q]\n" +"'git notes' merge --abort [-v | -q]\n" +"'git notes' remove [--ignore-missing] [--stdin] [<object>...]\n" +"'git notes' prune [-n | -v]\n" +"'git notes' get-ref\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:23 +#: en/git-notes.txt:29 msgid "" -"Many Git porcelainish commands take mixture of flags (i.e. parameters that " -"begin with a dash '-') and parameters meant for the underlying 'git " -"rev-list' command they use internally and flags and parameters for the other " -"commands they use downstream of 'git rev-list'. This command is used to " -"distinguish between them." -msgstr "" - -#. type: Title ~ -#: en/git-rev-parse.txt:29 -#, no-wrap -msgid "Operation Modes" +"Adds, removes, or reads notes attached to objects, without touching the " +"objects themselves." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:32 -msgid "Each of these options must appear first on the command line." +#: en/git-notes.txt:34 +msgid "" +"By default, notes are saved to and read from `refs/notes/commits`, but this " +"default can be overridden. See the OPTIONS, CONFIGURATION, and ENVIRONMENT " +"sections below. If this ref does not exist, it will be quietly created when " +"it is first needed to store a note." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:33 -#, no-wrap -msgid "--parseopt" +#. type: Plain text +#: en/git-notes.txt:41 +msgid "" +"A typical use of notes is to supplement a commit message without changing " +"the commit itself. Notes can be shown by 'git log' along with the original " +"commit message. To distinguish these notes from the message stored in the " +"commit object, the notes are indented like the message, after an unindented " +"line saying \"Notes (<refname>):\" (or \"Notes:\" for `refs/notes/commits`)." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:35 -msgid "Use 'git rev-parse' in option parsing mode (see PARSEOPT section below)." +#: en/git-notes.txt:45 +msgid "" +"Notes can also be added to patches prepared with `git format-patch` by using " +"the `--notes` option. Such notes are added as a patch commentary after a " +"three dash separator line." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:36 -#, no-wrap -msgid "--sq-quote" +#. type: Plain text +#: en/git-notes.txt:48 +msgid "" +"To change which notes are shown by 'git log', see the \"notes.displayRef\" " +"configuration in linkgit:git-log[1]." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:40 +#: en/git-notes.txt:51 msgid "" -"Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE section below). In " -"contrast to the `--sq` option below, this mode does only quoting. Nothing " -"else is done to command input." +"See the \"notes.rewrite.<command>\" configuration for a way to carry notes " +"across commands that rewrite commits." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:42 +#. type: Title - +#: en/git-notes.txt:54 #, no-wrap -msgid "Options for --parseopt" +msgid "SUBCOMMANDS" msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:44 +#: en/git-notes.txt:56 en/git-worktree.txt:59 #, no-wrap -msgid "--keep-dashdash" +msgid "list" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:47 +#: en/git-notes.txt:61 msgid "" -"Only meaningful in `--parseopt` mode. Tells the option parser to echo out " -"the first `--` met instead of skipping it." +"List the notes object for a given object. If no object is given, show a list " +"of all note objects and the objects they annotate (in the format \"<note " +"object> <annotated object>\"). This is the default subcommand if no " +"subcommand is given." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:48 +#: en/git-notes.txt:62 #, no-wrap -msgid "--stop-at-non-option" +msgid "add" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:52 +#: en/git-notes.txt:69 msgid "" -"Only meaningful in `--parseopt` mode. Lets the option parser stop at the " -"first non-option argument. This can be used to parse sub-commands that take " -"options themselves." +"Add notes for a given object (defaults to HEAD). Abort if the object already " +"has notes (use `-f` to overwrite existing notes). However, if you're using " +"`add` interactively (using an editor to supply the notes contents), then - " +"instead of aborting - the existing notes will be opened in the editor (like " +"the `edit` subcommand)." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:53 +#: en/git-notes.txt:70 #, no-wrap -msgid "--stuck-long" +msgid "copy" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:56 +#: en/git-notes.txt:76 msgid "" -"Only meaningful in `--parseopt` mode. Output the options in their long form " -"if available, and with their arguments stuck." +"Copy the notes for the first object onto the second object. Abort if the " +"second object already has notes, or if the first object has none (use -f to " +"overwrite existing notes to the second object). This subcommand is " +"equivalent to: `git notes add [-f] -C $(git notes list <from-object>) " +"<to-object>`" msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:58 -#, no-wrap -msgid "Options for Filtering" +#. type: Plain text +#: en/git-notes.txt:78 +msgid "In `--stdin` mode, take lines in the format" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:60 +#. type: delimited block - +#: en/git-notes.txt:81 #, no-wrap -msgid "--revs-only" +msgid "<from-object> SP <to-object> [ SP <rest> ] LF\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:63 -msgid "Do not output flags and parameters not meant for 'git rev-list' command." +#: en/git-notes.txt:86 +msgid "" +"on standard input, and copy the notes from each <from-object> to its " +"corresponding <to-object>. (The optional `<rest>` is ignored so that the " +"command can read the input given to the `post-rewrite` hook.)" msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:64 +#: en/git-notes.txt:87 #, no-wrap -msgid "--no-revs" +msgid "append" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:67 -msgid "Do not output flags and parameters meant for 'git rev-list' command." +#: en/git-notes.txt:90 +msgid "" +"Append to the notes of an existing object (defaults to HEAD). Creates a new " +"notes object if needed." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:68 +#: en/git-notes.txt:91 #, no-wrap -msgid "--flags" +msgid "edit" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:70 -msgid "Do not output non-flag parameters." +#: en/git-notes.txt:93 +msgid "Edit the notes for a given object (defaults to HEAD)." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:71 +#: en/git-notes.txt:94 #, no-wrap -msgid "--no-flags" +msgid "show" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:73 -msgid "Do not output flag parameters." +#: en/git-notes.txt:96 +msgid "Show the notes for a given object (defaults to HEAD)." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:75 +#. type: Labeled list +#: en/git-notes.txt:97 en/git-submodule.txt:183 #, no-wrap -msgid "Options for Output" +msgid "merge" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:77 -#, no-wrap -msgid "--default <arg>" +#. type: Plain text +#: en/git-notes.txt:102 +msgid "" +"Merge the given notes ref into the current notes ref. This will try to " +"merge the changes made by the given notes ref (called \"remote\") since the " +"merge-base (if any) into the current notes ref (called \"local\")." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:80 -msgid "If there is no parameter given by the user, use `<arg>` instead." +#: en/git-notes.txt:111 +msgid "" +"If conflicts arise and a strategy for automatically resolving conflicting " +"notes (see the \"NOTES MERGE STRATEGIES\" section) is not given, the " +"\"manual\" resolver is used. This resolver checks out the conflicting notes " +"in a special worktree (`.git/NOTES_MERGE_WORKTREE`), and instructs the user " +"to manually resolve the conflicts there. When done, the user can either " +"finalize the merge with 'git notes merge --commit', or abort the merge with " +"'git notes merge --abort'." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:81 +#: en/git-notes.txt:112 #, no-wrap -msgid "--prefix <arg>" +msgid "remove" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:86 +#: en/git-notes.txt:117 msgid "" -"Behave as if 'git rev-parse' was invoked from the `<arg>` subdirectory of " -"the working tree. Any relative filenames are resolved as if they are " -"prefixed by `<arg>` and will be printed in that form." +"Remove the notes for given objects (defaults to HEAD). When giving zero or " +"one object from the command line, this is equivalent to specifying an empty " +"note message to the `edit` subcommand." +msgstr "" + +#. type: Labeled list +#: en/git-notes.txt:118 en/git-worktree.txt:74 +#, no-wrap +msgid "prune" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:90 -msgid "" -"This can be used to convert arguments to a command run in a subdirectory so " -"that they can still be used after moving to the top-level of the " -"repository. For example:" +#: en/git-notes.txt:120 +msgid "Remove all notes for non-existing/unreachable objects." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:96 +#. type: Labeled list +#: en/git-notes.txt:121 #, no-wrap +msgid "get-ref" +msgstr "" + +#. type: Plain text +#: en/git-notes.txt:124 msgid "" -"prefix=$(git rev-parse --show-prefix)\n" -"cd \"$(git rev-parse --show-toplevel)\"\n" -"# rev-parse provides the -- needed for 'set'\n" -"eval \"set $(git rev-parse --sq --prefix \"$prefix\" -- \"$@\")\"\n" +"Print the current notes ref. This provides an easy way to retrieve the " +"current notes ref (e.g. from scripts)." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:103 +#: en/git-notes.txt:131 msgid "" -"Verify that exactly one parameter is provided, and that it can be turned " -"into a raw 20-byte SHA-1 that can be used to access the object database. If " -"so, emit it to the standard output; otherwise, error out." +"When adding notes to an object that already has notes, overwrite the " +"existing notes (instead of aborting)." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:112 +#: en/git-notes.txt:139 msgid "" -"If you want to make sure that the output actually names an object in your " -"object database and/or can be used as a specific type of object you require, " -"you can add the `^{type}` peeling operator to the parameter. For example, " -"`git rev-parse \"$VAR^{commit}\"` will make sure `$VAR` names an existing " -"object that is a commit-ish (i.e. a commit, or an annotated tag that points " -"at a commit). To make sure that `$VAR` names an existing object of any " -"type, `git rev-parse \"$VAR^{object}\"` can be used." +"Use the given note message (instead of prompting). If multiple `-m` options " +"are given, their values are concatenated as separate paragraphs. Lines " +"starting with `#` and empty lines other than a single line between " +"paragraphs will be stripped out." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:119 +#: en/git-notes.txt:146 msgid "" -"Only meaningful in `--verify` mode. Do not output an error message if the " -"first argument is not a valid object name; instead exit with non-zero status " -"silently. SHA-1s for valid object names are printed to stdout on success." +"Take the note message from the given file. Use '-' to read the note message " +"from the standard input. Lines starting with `#` and empty lines other than " +"a single line between paragraphs will be stripped out." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:120 +#: en/git-notes.txt:147 #, no-wrap -msgid "--sq" +msgid "-C <object>" msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:128 -msgid "" -"Usually the output is made one line per flag and parameter. This option " -"makes output a single line, properly quoted for consumption by shell. " -"Useful when you expect your parameter to contain whitespaces and newlines " -"(e.g. when using pickaxe `-S` with 'git diff-{asterisk}'). In contrast to " -"the `--sq-quote` option, the command input is still interpreted as usual." +#. type: Labeled list +#: en/git-notes.txt:148 +#, no-wrap +msgid "--reuse-message=<object>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:133 +#: en/git-notes.txt:152 msgid "" -"When showing object names, prefix them with '{caret}' and strip '{caret}' " -"prefix from the object names that already have one." +"Take the given blob object (for\texample, another note) as the note " +"message. (Use `git notes copy <object>` instead to copy notes between " +"objects.)" msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:134 +#: en/git-notes.txt:153 #, no-wrap -msgid "--abbrev-ref[=(strict|loose)]" -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:138 -msgid "" -"A non-ambiguous short name of the objects name. The option " -"core.warnAmbiguousRefs is used to select the strict abbreviation mode." +msgid "-c <object>" msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:140 +#: en/git-notes.txt:154 #, no-wrap -msgid "--short=number" +msgid "--reedit-message=<object>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:144 +#: en/git-notes.txt:157 msgid "" -"Instead of outputting the full SHA-1 values of object names try to " -"abbreviate them to a shorter unique name. When no length is specified 7 is " -"used. The minimum length is 4." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:145 -#, no-wrap -msgid "--symbolic" +"Like '-C', but with `-c` the editor is invoked, so that the user can further " +"edit the note message." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:149 +#: en/git-notes.txt:161 msgid "" -"Usually the object names are output in SHA-1 form (with possible '{caret}' " -"prefix); this option makes them output in a form as close to the original " -"input as possible." +"Allow an empty note object to be stored. The default behavior is to " +"automatically remove empty notes." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:150 +#: en/git-notes.txt:162 #, no-wrap -msgid "--symbolic-full-name" +msgid "--ref <ref>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:157 +#: en/git-notes.txt:168 msgid "" -"This is similar to --symbolic, but it omits input that are not refs " -"(i.e. branch or tag names; or more explicitly disambiguating " -"\"heads/master\" form, when you want to name the \"master\" branch when " -"there is an unfortunately named tag \"master\"), and show them as full " -"refnames (e.g. \"refs/heads/master\")." -msgstr "" - -#. type: Title ~ -#: en/git-rev-parse.txt:159 -#, no-wrap -msgid "Options for Objects" +"Manipulate the notes tree in <ref>. This overrides `GIT_NOTES_REF` and the " +"\"core.notesRef\" configuration. The ref specifies the full refname when it " +"begins with `refs/notes/`; when it begins with `notes/`, `refs/` and " +"otherwise `refs/notes/` is prefixed to form a full name of the ref." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:163 -msgid "Show all refs found in `refs/`." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:164 -#, no-wrap -msgid "--branches[=pattern]" -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:165 -#, no-wrap -msgid "--tags[=pattern]" -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:166 -#, no-wrap -msgid "--remotes[=pattern]" +#: en/git-notes.txt:172 +msgid "" +"Do not consider it an error to request removing notes from an object that " +"does not have notes attached to it." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:170 +#: en/git-notes.txt:177 msgid "" -"Show all branches, tags, or remote-tracking branches, respectively (i.e., " -"refs found in `refs/heads`, `refs/tags`, or `refs/remotes`, respectively)." +"Also read the object names to remove notes from from the standard input " +"(there is no reason you cannot combine this with object names from the " +"command line)." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:174 +#: en/git-notes.txt:182 msgid "" -"If a `pattern` is given, only refs matching the given shell glob are shown. " -"If the pattern does not contain a globbing character (`?`, `*`, or `[`), it " -"is turned into a prefix match by appending `/*`." +"Do not remove anything; just report the object names whose notes would be " +"removed." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:175 +#: en/git-notes.txt:183 en/git-rebase.txt:282 en/merge-options.txt:77 #, no-wrap -msgid "--glob=pattern" +msgid "-s <strategy>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:181 +#: en/git-notes.txt:191 msgid "" -"Show all refs matching the shell glob pattern `pattern`. If the pattern does " -"not start with `refs/`, this is automatically prepended. If the pattern " -"does not contain a globbing character (`?`, `*`, or `[`), it is turned into " -"a prefix match by appending `/*`." +"When merging notes, resolve notes conflicts using the given strategy. The " +"following strategies are recognized: \"manual\" (default), \"ours\", " +"\"theirs\", \"union\" and \"cat_sort_uniq\". This option overrides the " +"\"notes.mergeStrategy\" configuration setting. See the \"NOTES MERGE " +"STRATEGIES\" section below for more information on each notes merge " +"strategy." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:182 en/rev-list-options.txt:163 +#: en/git-notes.txt:192 en/merge-options.txt:1 #, no-wrap -msgid "--exclude=<glob-pattern>" +msgid "--commit" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:189 en/rev-list-options.txt:171 +#: en/git-notes.txt:200 msgid "" -"Do not include refs matching '<glob-pattern>' that the next `--all`, " -"`--branches`, `--tags`, `--remotes`, or `--glob` would otherwise " -"consider. Repetitions of this option accumulate exclusion patterns up to the " -"next `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` option (other " -"options or arguments do not clear accumulated patterns)." +"Finalize an in-progress 'git notes merge'. Use this option when you have " +"resolved the conflicts that 'git notes merge' stored in " +".git/NOTES_MERGE_WORKTREE. This amends the partial merge commit created by " +"'git notes merge' (stored in .git/NOTES_MERGE_PARTIAL) by adding the notes " +"in .git/NOTES_MERGE_WORKTREE. The notes ref stored in the " +".git/NOTES_MERGE_REF symref is updated to the resulting commit." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:195 en/rev-list-options.txt:177 +#: en/git-notes.txt:205 msgid "" -"The patterns given should not begin with `refs/heads`, `refs/tags`, or " -"`refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`, " -"respectively, and they must begin with `refs/` when applied to `--glob` or " -"`--all`. If a trailing '/{asterisk}' is intended, it must be given " -"explicitly." +"Abort/reset a in-progress 'git notes merge', i.e. a notes merge with " +"conflicts. This simply removes all files related to the notes merge." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:196 -#, no-wrap -msgid "--disambiguate=<prefix>" +#. type: Plain text +#: en/git-notes.txt:209 +msgid "When merging notes, operate quietly." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:201 +#: en/git-notes.txt:215 msgid "" -"Show every object whose name begins with the given prefix. The <prefix> " -"must be at least 4 hexadecimal digits long to avoid listing each and every " -"object in the repository by mistake." +"When merging notes, be more verbose. When pruning notes, report all object " +"names whose notes are removed." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:203 -#, no-wrap -msgid "Options for Files" +#. type: Plain text +#: en/git-notes.txt:229 +msgid "" +"Commit notes are blobs containing extra information about an object (usually " +"information to supplement a commit's message). These blobs are taken from " +"notes refs. A notes ref is usually a branch which contains \"files\" whose " +"paths are the object names for the objects they describe, with some " +"directory separators included for performance reasons footnote:[Permitted " +"pathnames have the form 'ab'`/`'cd'`/`'ef'`/`'...'`/`'abcdef...': a sequence " +"of directory names of two hexadecimal digits each followed by a filename " +"with the rest of the object ID.]." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:205 -#, no-wrap -msgid "--local-env-vars" +#. type: Plain text +#: en/git-notes.txt:236 +msgid "" +"Every notes change creates a new commit at the specified notes ref. You can " +"therefore inspect the history of the notes by invoking, e.g., `git log -p " +"notes/commits`. Currently the commit message only records which operation " +"triggered the update, and the commit authorship is determined according to " +"the usual rules (see linkgit:git-commit[1]). These details may change in " +"the future." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:210 +#: en/git-notes.txt:240 msgid "" -"List the GIT_* environment variables that are local to the repository " -"(e.g. GIT_DIR or GIT_WORK_TREE, but not GIT_EDITOR). Only the names of the " -"variables are listed, not their value, even if they are set." +"It is also permitted for a notes ref to point directly to a tree object, in " +"which case the history of the notes can be read with `git log -p -g " +"<refname>`." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:211 +#. type: Title - +#: en/git-notes.txt:243 #, no-wrap -msgid "--git-dir" +msgid "NOTES MERGE STRATEGIES" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:215 +#: en/git-notes.txt:252 msgid "" -"Show `$GIT_DIR` if defined. Otherwise show the path to the .git " -"directory. The path shown, when relative, is relative to the current working " -"directory." +"The default notes merge strategy is \"manual\", which checks out conflicting " +"notes in a special work tree for resolving notes conflicts " +"(`.git/NOTES_MERGE_WORKTREE`), and instructs the user to resolve the " +"conflicts in that work tree. When done, the user can either finalize the " +"merge with 'git notes merge --commit', or abort the merge with 'git notes " +"merge --abort'." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:219 +#: en/git-notes.txt:255 msgid "" -"If `$GIT_DIR` is not defined and the current directory is not detected to " -"lie in a Git repository or work tree print a message to stderr and exit with " -"nonzero status." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:220 -#, no-wrap -msgid "--absolute-git-dir" +"Users may select an automated merge strategy from among the following using " +"either -s/--strategy option or configuring notes.mergeStrategy accordingly:" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:223 -msgid "Like `--git-dir`, but its output is always the canonicalized absolute path." +#: en/git-notes.txt:258 +msgid "" +"\"ours\" automatically resolves conflicting notes in favor of the local " +"version (i.e. the current notes ref)." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:224 -#, no-wrap -msgid "--git-common-dir" +#. type: Plain text +#: en/git-notes.txt:262 +msgid "" +"\"theirs\" automatically resolves notes conflicts in favor of the remote " +"version (i.e. the given notes ref being merged into the current notes ref)." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:226 -msgid "Show `$GIT_COMMON_DIR` if defined, else `$GIT_DIR`." +#: en/git-notes.txt:265 +msgid "" +"\"union\" automatically resolves notes conflicts by concatenating the local " +"and remote versions." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:227 -#, no-wrap -msgid "--is-inside-git-dir" +#. type: Plain text +#: en/git-notes.txt:275 +msgid "" +"\"cat_sort_uniq\" is similar to \"union\", but in addition to concatenating " +"the local and remote versions, this strategy also sorts the resulting lines, " +"and removes duplicate lines from the result. This is equivalent to applying " +"the \"cat | sort | uniq\" shell pipeline to the local and remote " +"versions. This strategy is useful if the notes follow a line-based format " +"where one wants to avoid duplicated lines in the merge result. Note that if " +"either the local or remote version contain duplicate lines prior to the " +"merge, these will also be removed by this notes merge strategy." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:230 +#: en/git-notes.txt:282 msgid "" -"When the current working directory is below the repository directory print " -"\"true\", otherwise \"false\"." +"You can use notes to add annotations with information that was not available " +"at the time a commit was written." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:231 +#. type: delimited block - +#: en/git-notes.txt:288 #, no-wrap -msgid "--is-inside-work-tree" -msgstr "" - -#. type: Plain text -#: en/git-rev-parse.txt:234 msgid "" -"When the current working directory is inside the work tree of the repository " -"print \"true\", otherwise \"false\"." +"$ git notes add -m 'Tested-by: Johannes Sixt <j6t@kdbg.org>' 72a144e2\n" +"$ git show -s 72a144e\n" +"[...]\n" +" Signed-off-by: Junio C Hamano <gitster@pobox.com>\n" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:235 +#. type: delimited block - +#: en/git-notes.txt:291 #, no-wrap -msgid "--is-bare-repository" +msgid "" +"Notes:\n" +" Tested-by: Johannes Sixt <j6t@kdbg.org>\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:237 -msgid "When the repository is bare print \"true\", otherwise \"false\"." +#: en/git-notes.txt:296 +msgid "" +"In principle, a note is a regular Git blob, and any kind of (non-)format is " +"accepted. You can binary-safely create notes from arbitrary files using " +"'git hash-object':" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:238 +#. type: delimited block - +#: en/git-notes.txt:301 #, no-wrap -msgid "--resolve-git-dir <path>" +msgid "" +"$ cc *.c\n" +"$ blob=$(git hash-object -w a.out)\n" +"$ git notes --ref=built add --allow-empty -C \"$blob\" HEAD\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:243 +#: en/git-notes.txt:308 msgid "" -"Check if <path> is a valid repository or a gitfile that points at a valid " -"repository, and print the location of the repository. If <path> is a " -"gitfile then the resolved path to the real repository is printed." +"(You cannot simply use `git notes --ref=built add -F a.out HEAD` because " +"that is not binary-safe.) Of course, it doesn't make much sense to display " +"non-text-format notes with 'git log', so if you use such notes, you'll " +"probably need to write some special-purpose tools to do something useful " +"with them." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:244 -#, no-wrap -msgid "--git-path <path>" +#. type: Plain text +#: en/git-notes.txt:318 +msgid "" +"Notes ref to read and manipulate instead of `refs/notes/commits`. Must be " +"an unabbreviated ref name. This setting can be overridden through the " +"environment and command line." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:250 +#: en/git-notes.txt:324 msgid "" -"Resolve \"$GIT_DIR/<path>\" and takes other path relocation variables such " -"as $GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... into account. For example, if " -"$GIT_OBJECT_DIRECTORY is set to /foo/bar then \"git rev-parse --git-path " -"objects/abc\" returns /foo/bar/abc." +"Which merge strategy to choose by default when resolving notes conflicts. " +"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " +"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section above for more " +"information on each strategy." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:251 -#, no-wrap -msgid "--show-cdup" +#. type: Plain text +#: en/git-notes.txt:326 +msgid "This setting can be overridden by passing the `--strategy` option." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:255 +#: en/git-notes.txt:332 msgid "" -"When the command is invoked from a subdirectory, show the path of the " -"top-level directory relative to the current directory (typically a sequence " -"of \"../\", or an empty string)." -msgstr "" - -#. type: Labeled list -#: en/git-rev-parse.txt:256 -#, no-wrap -msgid "--show-prefix" +"Which merge strategy to choose when doing a notes merge into " +"refs/notes/<name>. This overrides the more general " +"\"notes.mergeStrategy\". See the \"NOTES MERGE STRATEGIES\" section above " +"for more information on each available strategy." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:260 +#: en/git-notes.txt:341 msgid "" -"When the command is invoked from a subdirectory, show the path of the " -"current directory relative to the top-level directory." +"Which ref (or refs, if a glob or specified more than once), in addition to " +"the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from " +"when showing commit messages with the 'git log' family of commands. This " +"setting can be overridden on the command line or by the " +"`GIT_NOTES_DISPLAY_REF` environment variable. See linkgit:git-log[1]." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:261 -#, no-wrap -msgid "--show-toplevel" +#. type: Plain text +#: en/git-notes.txt:347 +msgid "" +"When rewriting commits with <command> (currently `amend` or `rebase`), if " +"this variable is `false`, git will not copy notes from the original to the " +"rewritten commit. Defaults to `true`. See also \"`notes.rewriteRef`\" " +"below." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:263 -msgid "Show the absolute path of the top-level directory." +#: en/git-notes.txt:350 +msgid "" +"This setting can be overridden by the `GIT_NOTES_REWRITE_REF` environment " +"variable." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:269 -#, no-wrap +#: en/git-notes.txt:356 msgid "" -"--show-superproject-working-tree\n" -"\tShow the absolute path of the root of the superproject's\n" -"\tworking tree (if exists) that uses the current repository as\n" -"\tits submodule. Outputs nothing if the current repository is\n" -"\tnot used as a submodule by any project.\n" +"When copying notes during a rewrite, what to do if the target commit already " +"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " +"`ignore`. Defaults to `concatenate`." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:270 -#, no-wrap -msgid "--shared-index-path" +#. type: Plain text +#: en/git-notes.txt:365 +msgid "" +"When copying notes during a rewrite, specifies the (fully qualified) ref " +"whose notes should be copied. May be a glob, in which case notes in all " +"matching refs will be copied. You may also specify this configuration " +"several times." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:273 +#: en/git-notes.txt:368 msgid "" -"Show the path to the shared index file in split index mode, or empty if not " -"in split-index mode." +"Does not have a default value; you must configure this variable to enable " +"note rewriting." msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:275 -#, no-wrap -msgid "Other Options" +#. type: Plain text +#: en/git-notes.txt:370 +msgid "Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:277 +#: en/git-notes.txt:375 #, no-wrap -msgid "--since=datestring" +msgid "`GIT_NOTES_REF`" +msgstr "" + +#. type: Plain text +#: en/git-notes.txt:378 +msgid "" +"Which ref to manipulate notes from, instead of `refs/notes/commits`. This " +"overrides the `core.notesRef` setting." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:278 +#: en/git-notes.txt:379 #, no-wrap -msgid "--after=datestring" +msgid "`GIT_NOTES_DISPLAY_REF`" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:281 +#: en/git-notes.txt:385 msgid "" -"Parse the date string, and output the corresponding --max-age= parameter for " -"'git rev-list'." +"Colon-delimited list of refs or globs indicating which refs, in addition to " +"the default from `core.notesRef` or `GIT_NOTES_REF`, to read notes from when " +"showing commit messages. This overrides the `notes.displayRef` setting." msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:282 -#, no-wrap -msgid "--until=datestring" +#. type: Plain text +#: en/git-notes.txt:388 +msgid "" +"A warning will be issued for refs that do not exist, but a glob that does " +"not match any refs is silently ignored." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:283 +#: en/git-notes.txt:389 #, no-wrap -msgid "--before=datestring" +msgid "`GIT_NOTES_REWRITE_MODE`" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:286 +#: en/git-notes.txt:394 msgid "" -"Parse the date string, and output the corresponding --min-age= parameter for " -"'git rev-list'." +"When copying notes during a rewrite, what to do if the target commit already " +"has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or " +"`ignore`. This overrides the `core.rewriteMode` setting." msgstr "" #. type: Labeled list -#: en/git-rev-parse.txt:287 +#: en/git-notes.txt:395 #, no-wrap -msgid "<args>..." +msgid "`GIT_NOTES_REWRITE_REF`" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:289 -msgid "Flags and parameters to be parsed." +#: en/git-notes.txt:399 +msgid "" +"When rewriting commits, which notes to copy from the original to the " +"rewritten commit. Must be a colon-delimited list of refs or globs." msgstr "" -#. type: Title - -#: en/git-rev-parse.txt:294 +#. type: Plain text +#: en/git-notes.txt:402 +msgid "" +"If not set in the environment, the list of notes to copy depends on the " +"`notes.rewrite.<command>` and `notes.rewriteRef` settings." +msgstr "" + +#. type: Title = +#: en/git-p4.txt:2 #, no-wrap -msgid "PARSEOPT" +msgid "git-p4(1)" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:299 -msgid "" -"In `--parseopt` mode, 'git rev-parse' helps massaging options to bring to " -"shell scripts the same facilities C builtins have. It works as an option " -"normalizer (e.g. splits single switches aggregate values), a bit like " -"`getopt(1)` does." +#: en/git-p4.txt:7 +msgid "git-p4 - Import from and submit to Perforce repositories" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:304 +#: en/git-p4.txt:16 +#, no-wrap msgid "" -"It takes on the standard input the specification of the options to parse and " -"understand, and echoes on the standard output a string suitable for `sh(1)` " -"`eval` to replace the arguments with normalized ones. In case of error, it " -"outputs usage on the standard error stream, and exits with code 129." +"'git p4 clone' [<sync options>] [<clone options>] <p4 depot path>...\n" +"'git p4 sync' [<sync options>] [<p4 depot path>...]\n" +"'git p4 rebase'\n" +"'git p4 submit' [<submit options>] [<master branch name>]\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:307 -msgid "" -"Note: Make sure you quote the result when passing it to `eval`. See below " -"for an example." +#: en/git-p4.txt:22 +msgid "This command provides a way to interact with p4 repositories using Git." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:315 +#: en/git-p4.txt:30 msgid "" -"'git rev-parse --parseopt' input format is fully text based. It has two " -"parts, separated by a line that contains only `--`. The lines before the " -"separator (should be one or more) are used for the usage. The lines after " -"the separator describe the options." +"Create a new Git repository from an existing p4 repository using 'git p4 " +"clone', giving it one or more p4 depot paths. Incorporate new commits from " +"p4 changes with 'git p4 sync'. The 'sync' command is also used to include " +"new branches from other p4 depot paths. Submit Git changes back to p4 using " +"'git p4 submit'. The command 'git p4 rebase' does a sync plus rebases the " +"current branch onto the updated p4 remote branch." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:317 -msgid "Each line of options has this format:" +#: en/git-p4.txt:35 +msgid "Clone a repository:" msgstr "" #. type: delimited block - -#: en/git-rev-parse.txt:320 +#: en/git-p4.txt:38 en/git-p4.txt:71 #, no-wrap -msgid "<opt-spec><flags>*<arg-hint>? SP+ help LF\n" +msgid "$ git p4 clone //depot/path/project\n" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:322 -#, no-wrap -msgid "`<opt-spec>`" +#. type: Plain text +#: en/git-p4.txt:41 +msgid "Do some work in the newly created Git repository:" +msgstr "" + +#. type: delimited block - +#: en/git-p4.txt:46 +#, no-wrap +msgid "" +"$ cd project\n" +"$ vi foo.h\n" +"$ git commit -a -m \"edited foo.h\"\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:327 +#: en/git-p4.txt:50 msgid "" -"its format is the short option character, then the long option name " -"separated by a comma. Both parts are not required, though at least one is " -"necessary. May not contain any of the `<flags>` characters. `h,help`, " -"`dry-run` and `f` are examples of correct `<opt-spec>`." +"Update the Git repository with recent changes from p4, rebasing your work on " +"top:" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:328 +#. type: delimited block - +#: en/git-p4.txt:53 en/git-p4.txt:130 #, no-wrap -msgid "`<flags>`" +msgid "$ git p4 rebase\n" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:330 -msgid "`<flags>` are of `*`, `=`, `?` or `!`." +#: en/git-p4.txt:56 +msgid "Submit your commits back to p4:" msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:331 -msgid "Use `=` if the option takes an argument." +#. type: delimited block - +#: en/git-p4.txt:59 en/git-p4.txt:145 +#, no-wrap +msgid "$ git p4 submit\n" msgstr "" -#. type: Plain text -#: en/git-rev-parse.txt:335 -msgid "" -"Use `?` to mean that the option takes an optional argument. You probably " -"want to use the `--stuck-long` mode to be able to unambiguously parse the " -"optional argument." +#. type: Title ~ +#: en/git-p4.txt:66 +#, no-wrap +msgid "Clone" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:339 +#: en/git-p4.txt:69 msgid "" -"Use `*` to mean that this option should not be listed in the usage generated " -"for the `-h` argument. It's shown for `--help-all` as documented in " -"linkgit:gitcli[7]." +"Generally, 'git p4 clone' is used to create a new Git directory from an " +"existing p4 repository:" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:341 -msgid "Use `!` to not make the corresponding negated long option available." +#: en/git-p4.txt:73 +msgid "This:" msgstr "" -#. type: Labeled list -#: en/git-rev-parse.txt:342 -#, no-wrap -msgid "`<arg-hint>`" +#. type: Plain text +#: en/git-p4.txt:75 +msgid "Creates an empty Git repository in a subdirectory called 'project'." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:347 +#: en/git-p4.txt:78 msgid "" -"`<arg-hint>`, if specified, is used as a name of the argument in the help " -"output, for options that take arguments. `<arg-hint>` is terminated by the " -"first whitespace. It is customary to use a dash to separate words in a " -"multi-word argument hint." +"Imports the full contents of the head revision from the given p4 depot path " +"into a single commit in the Git branch 'refs/remotes/p4/master'." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:350 -msgid "" -"The remainder of the line, after stripping the spaces, is used as the help " -"associated to the option." +#: en/git-p4.txt:80 +msgid "Creates a local branch, 'master' from this remote and checks it out." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:354 +#: en/git-p4.txt:83 msgid "" -"Blank lines are ignored, and lines that don't match this specification are " -"used as option group headers (start the line with a space to create such " -"lines on purpose)." +"To reproduce the entire p4 history in Git, use the '@all' modifier on the " +"depot path:" msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:356 en/git-rev-parse.txt:412 en/config.txt:147 +#. type: delimited block - +#: en/git-p4.txt:85 #, no-wrap -msgid "Example" +msgid "$ git p4 clone //depot/path/project@all\n" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:361 +#. type: Title ~ +#: en/git-p4.txt:89 #, no-wrap -msgid "" -"OPTS_SPEC=\"\\\n" -"some-command [options] <args>...\n" +msgid "Sync" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:363 -#, no-wrap +#. type: Plain text +#: en/git-p4.txt:92 msgid "" -"some-command does foo and bar!\n" -"--\n" +"As development continues in the p4 repository, those changes can be included " +"in the Git repository using:" msgstr "" #. type: delimited block - -#: en/git-rev-parse.txt:365 +#: en/git-p4.txt:94 #, no-wrap -msgid "h,help show the help\n" +msgid "$ git p4 sync\n" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:370 -#, no-wrap -msgid "" -"foo some nifty option --foo\n" -"bar= some cool option --bar with an argument\n" -"baz=arg another cool option --baz with a named argument\n" -"qux?path qux may take a path argument but has meaning by itself\n" +#. type: Plain text +#: en/git-p4.txt:96 +msgid "This command finds new changes in p4 and imports them as Git commits." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:373 -#, no-wrap +#. type: Plain text +#: en/git-p4.txt:99 msgid "" -" An option group Header\n" -"C? option C with an optional argument\"\n" +"P4 repositories can be added to an existing Git repository using 'git p4 " +"sync' too:" msgstr "" #. type: delimited block - -#: en/git-rev-parse.txt:375 +#: en/git-p4.txt:104 #, no-wrap msgid "" -"eval \"$(echo \"$OPTS_SPEC\" | git rev-parse --parseopt -- \"$@\" || echo " -"exit $?)\"\n" +"$ mkdir repo-git\n" +"$ cd repo-git\n" +"$ git init\n" +"$ git p4 sync //path/in/your/perforce/depot\n" msgstr "" -#. type: Title ~ -#: en/git-rev-parse.txt:379 -#, no-wrap -msgid "Usage text" +#. type: Plain text +#: en/git-p4.txt:109 +msgid "" +"This imports the specified depot into 'refs/remotes/p4/master' in an " +"existing Git repository. The `--branch` option can be used to specify a " +"different branch to be used for the p4 content." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:383 +#: en/git-p4.txt:114 msgid "" -"When `\"$@\"` is `-h` or `--help` in the above example, the following usage " -"text would be shown:" +"If a Git repository includes branches 'refs/remotes/origin/p4', these will " +"be fetched and consulted first during a 'git p4 sync'. Since importing " +"directly from p4 is considerably slower than pulling changes from a Git " +"remote, this can be useful in a multi-developer environment." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:386 -#, no-wrap -msgid "usage: some-command [options] <args>...\n" +#. type: Plain text +#: en/git-p4.txt:119 +msgid "" +"If there are multiple branches, doing 'git p4 sync' will automatically use " +"the \"BRANCH DETECTION\" algorithm to try to partition new changes into the " +"right branch. This can be overridden with the `--branch` option to specify " +"just a single branch to update." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:388 +#. type: Title ~ +#: en/git-p4.txt:122 #, no-wrap -msgid " some-command does foo and bar!\n" +msgid "Rebase" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:394 -#, no-wrap +#. type: Plain text +#: en/git-p4.txt:128 msgid "" -" -h, --help show the help\n" -" --foo some nifty option --foo\n" -" --bar ... some cool option --bar with an argument\n" -" --baz <arg> another cool option --baz with a named argument\n" -" --qux[=<path>] qux may take a path argument but has meaning by " -"itself\n" +"A common working pattern is to fetch the latest changes from the p4 depot " +"and merge them with local uncommitted changes. Often, the p4 repository is " +"the ultimate location for all code, thus a rebase workflow makes sense. " +"This command does 'git p4 sync' followed by 'git rebase' to move local " +"commits on top of updated p4 changes." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:397 +#. type: Title ~ +#: en/git-p4.txt:134 #, no-wrap -msgid "" -"An option group Header\n" -" -C[...] option C with an optional argument\n" +msgid "Submit" msgstr "" -#. type: Title - -#: en/git-rev-parse.txt:400 -#, no-wrap -msgid "SQ-QUOTE" +#. type: Plain text +#: en/git-p4.txt:140 +msgid "" +"Submitting changes from a Git repository back to the p4 repository requires " +"a separate p4 client workspace. This should be specified using the " +"`P4CLIENT` environment variable or the Git configuration variable " +"'git-p4.client'. The p4 client must exist, but the client root will be " +"created and populated if it does not already exist." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:406 +#: en/git-p4.txt:143 msgid "" -"In `--sq-quote` mode, 'git rev-parse' echoes on the standard output a single " -"line suitable for `sh(1)` `eval`. This line is made by normalizing the " -"arguments following `--sq-quote`. Nothing other than quoting the arguments " -"is done." +"To submit all changes that are in the current Git branch but not in the " +"'p4/master' branch, use:" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:410 -msgid "" -"If you want command input to still be interpreted as usual by 'git " -"rev-parse' before the output is shell quoted, see the `--sq` option." +#: en/git-p4.txt:148 +msgid "To specify a branch other than the current one, use:" msgstr "" #. type: delimited block - -#: en/git-rev-parse.txt:422 +#: en/git-p4.txt:150 #, no-wrap -msgid "" -"$ cat >your-git-script.sh <<\\EOF\n" -"#!/bin/sh\n" -"args=$(git rev-parse --sq-quote \"$@\") # quote user-supplied arguments\n" -"command=\"git frotz -n24 $args\" # and use it inside a " -"handcrafted\n" -"\t\t\t\t\t# command line\n" -"eval \"$command\"\n" -"EOF\n" +msgid "$ git p4 submit topicbranch\n" msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:424 -#, no-wrap -msgid "$ sh your-git-script.sh \"a b'c\"\n" +#. type: Plain text +#: en/git-p4.txt:154 +msgid "" +"The upstream reference is generally 'refs/remotes/p4/master', but can be " +"overridden using the `--origin=` command-line option." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:430 -msgid "Print the object name of the current commit:" +#: en/git-p4.txt:159 +msgid "" +"The p4 changes will be created as the user invoking 'git p4 submit'. The " +"`--preserve-user` option will cause ownership to be modified according to " +"the author of the Git commit. This option requires admin privileges in p4, " +"which can be granted using 'p4 protect'." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:433 +#. type: Title ~ +#: en/git-p4.txt:165 #, no-wrap -msgid "$ git rev-parse --verify HEAD\n" +msgid "General options" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:436 -msgid "Print the commit object name from the revision in the $REV shell variable:" +#: en/git-p4.txt:167 +msgid "All commands except clone accept these options." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:439 +#. type: Labeled list +#: en/git-p4.txt:168 #, no-wrap -msgid "$ git rev-parse --verify $REV^{commit}\n" +msgid "--git-dir <dir>" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:442 -msgid "This will error out if $REV is empty or not a valid revision." +#: en/git-p4.txt:170 +msgid "Set the `GIT_DIR` environment variable. See linkgit:git[1]." msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:444 -msgid "Similar to above:" +#: en/git-p4.txt:174 +msgid "Provide more progress information." msgstr "" -#. type: delimited block - -#: en/git-rev-parse.txt:447 +#. type: Title ~ +#: en/git-p4.txt:176 #, no-wrap -msgid "$ git rev-parse --default master --verify $REV\n" +msgid "Sync options" msgstr "" #. type: Plain text -#: en/git-rev-parse.txt:450 -msgid "but if $REV is empty, the commit object name from master will be printed." +#: en/git-p4.txt:179 +msgid "" +"These options can be used in the initial 'clone' as well as in subsequent " +"'sync' operations." msgstr "" -#. type: Title = -#: en/git-rm.txt:2 +#. type: Labeled list +#: en/git-p4.txt:180 #, no-wrap -msgid "git-rm(1)" -msgstr "" - -#. type: Plain text -#: en/git-rm.txt:7 -msgid "git-rm - Remove files from the working tree and from the index" +msgid "--branch <ref>" msgstr "" #. type: Plain text -#: en/git-rm.txt:12 -#, no-wrap +#: en/git-p4.txt:184 msgid "" -"'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] " -"[--] <file>...\n" +"Import changes into <ref> instead of refs/remotes/p4/master. If <ref> " +"starts with refs/, it is used as is. Otherwise, if it does not start with " +"p4/, that prefix is added." msgstr "" #. type: Plain text -#: en/git-rm.txt:25 +#: en/git-p4.txt:188 msgid "" -"Remove files from the index, or from the working tree and the index. `git " -"rm` will not remove a file from just your working directory. (There is no " -"option to remove a file only from the working tree and yet keep it in the " -"index; use `/bin/rm` if you want to do that.) The files being removed have " -"to be identical to the tip of the branch, and no updates to their contents " -"can be staged in the index, though that default behavior can be overridden " -"with the `-f` option. When `--cached` is given, the staged content has to " -"match either the tip of the branch or the file on disk, allowing the file to " -"be removed from just the index." +"By default a <ref> not starting with refs/ is treated as the name of a " +"remote-tracking branch (under refs/remotes/). This behavior can be modified " +"using the --import-local option." msgstr "" #. type: Plain text -#: en/git-rm.txt:38 -msgid "" -"Files to remove. Fileglobs (e.g. `*.c`) can be given to remove all matching " -"files. If you want Git to expand file glob characters, you may need to " -"shell-escape them. A leading directory name (e.g. `dir` to remove " -"`dir/file1` and `dir/file2`) can be given to remove all files in the " -"directory, and recursively all sub-directories, but this requires the `-r` " -"option to be explicitly given." +#: en/git-p4.txt:190 +msgid "The default <ref> is \"master\"." msgstr "" #. type: Plain text -#: en/git-rm.txt:42 -msgid "Override the up-to-date check." +#: en/git-p4.txt:193 +msgid "" +"This example imports a new remote \"p4/proj2\" into an existing Git " +"repository:" msgstr "" -#. type: Plain text -#: en/git-rm.txt:48 +#. type: delimited block - +#: en/git-p4.txt:197 +#, no-wrap msgid "" -"Don't actually remove any file(s). Instead, just show if they exist in the " -"index and would otherwise be removed by the command." +" $ git init\n" +" $ git p4 sync --branch=refs/remotes/p4/proj2 //depot/proj2\n" msgstr "" -#. type: Plain text -#: en/git-rm.txt:52 -msgid "Allow recursive removal when a leading directory name is given." +#. type: Labeled list +#: en/git-p4.txt:199 +#, no-wrap +msgid "--detect-branches" msgstr "" #. type: Plain text -#: en/git-rm.txt:62 +#: en/git-p4.txt:202 msgid "" -"Use this option to unstage and remove paths only from the index. Working " -"tree files, whether modified or not, will be left alone." +"Use the branch detection algorithm to find new paths in p4. It is " +"documented below in \"BRANCH DETECTION\"." msgstr "" #. type: Labeled list -#: en/git-rm.txt:63 +#: en/git-p4.txt:203 #, no-wrap -msgid "--ignore-unmatch" +msgid "--changesfile <file>" msgstr "" #. type: Plain text -#: en/git-rm.txt:65 -msgid "Exit with a zero status even if no files matched." +#: en/git-p4.txt:207 +msgid "" +"Import exactly the p4 change numbers listed in 'file', one per line. " +"Normally, 'git p4' inspects the current p4 repository state and detects the " +"changes it should import." msgstr "" -#. type: Plain text -#: en/git-rm.txt:70 -msgid "" -"`git rm` normally outputs one line (in the form of an `rm` command) for " -"each file removed. This option suppresses that output." +#. type: Labeled list +#: en/git-p4.txt:208 +#, no-wrap +msgid "--silent" msgstr "" #. type: Plain text -#: en/git-rm.txt:79 -msgid "" -"The <file> list given to the command can be exact pathnames, file glob " -"patterns, or leading directory names. The command removes only the paths " -"that are known to Git. Giving the name of a file that you have not told Git " -"about does not remove that file." +#: en/git-p4.txt:210 +msgid "Do not print any progress information." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:211 +#, no-wrap +msgid "--detect-labels" msgstr "" #. type: Plain text -#: en/git-rm.txt:84 +#: en/git-p4.txt:215 msgid "" -"File globbing matches across directory boundaries. Thus, given two " -"directories `d` and `d2`, there is a difference between using `git rm 'd*'` " -"and `git rm 'd/*'`, as the former will also remove all of directory `d2`." +"Query p4 for labels associated with the depot paths, and add them as tags in " +"Git. Limited usefulness as only imports labels associated with new " +"changelists. Deprecated." msgstr "" -#. type: Title - -#: en/git-rm.txt:86 +#. type: Labeled list +#: en/git-p4.txt:216 en/git-p4.txt:331 #, no-wrap -msgid "REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM" +msgid "--import-labels" msgstr "" #. type: Plain text -#: en/git-rm.txt:91 -msgid "" -"There is no option for `git rm` to remove from the index only the paths that " -"have disappeared from the filesystem. However, depending on the use case, " -"there are several ways that can be done." +#: en/git-p4.txt:218 +msgid "Import labels from p4 into Git." msgstr "" -#. type: Title ~ -#: en/git-rm.txt:93 +#. type: Labeled list +#: en/git-p4.txt:219 #, no-wrap -msgid "Using ``git commit -a''" +msgid "--import-local" msgstr "" #. type: Plain text -#: en/git-rm.txt:100 +#: en/git-p4.txt:226 msgid "" -"If you intend that your next commit should record all modifications of " -"tracked files in the working tree and record all removals of files that have " -"been removed from the working tree with `rm` (as opposed to `git rm`), use " -"`git commit -a`, as it will automatically notice and record all removals. " -"You can also have a similar effect without committing by using `git add -u`." +"By default, p4 branches are stored in 'refs/remotes/p4/', where they will be " +"treated as remote-tracking branches by linkgit:git-branch[1] and other " +"commands. This option instead puts p4 branches in 'refs/heads/p4/'. Note " +"that future sync operations must specify `--import-local` as well so that " +"they can find the p4 branches in refs/heads." msgstr "" -#. type: Title ~ -#: en/git-rm.txt:102 +#. type: Labeled list +#: en/git-p4.txt:227 #, no-wrap -msgid "Using ``git add -A''" +msgid "--max-changes <n>" msgstr "" #. type: Plain text -#: en/git-rm.txt:106 +#: en/git-p4.txt:233 msgid "" -"When accepting a new code drop for a vendor branch, you probably want to " -"record both the removal of paths and additions of new paths as well as " -"modifications of existing paths." +"Import at most 'n' changes, rather than the entire range of changes included " +"in the given revision specifier. A typical usage would be use '@all' as the " +"revision specifier, but then to use '--max-changes 1000' to import only the " +"last 1000 revisions rather than the entire revision history." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:234 +#, no-wrap +msgid "--changes-block-size <n>" msgstr "" #. type: Plain text -#: en/git-rm.txt:109 +#: en/git-p4.txt:242 msgid "" -"Typically you would first remove all tracked files from the working tree " -"using this command:" +"The internal block size to use when converting a revision specifier such as " +"'@all' into a list of specific change numbers. Instead of using a single " +"call to 'p4 changes' to find the full list of changes for the conversion, " +"there are a sequence of calls to 'p4 changes -m', each of which requests one " +"block of changes of the given size. The default block size is 500, which " +"should usually be suitable." msgstr "" -#. type: delimited block - -#: en/git-rm.txt:112 +#. type: Labeled list +#: en/git-p4.txt:243 #, no-wrap -msgid "git ls-files -z | xargs -0 rm -f\n" +msgid "--keep-path" msgstr "" #. type: Plain text -#: en/git-rm.txt:116 +#: en/git-p4.txt:250 msgid "" -"and then untar the new code in the working tree. Alternately you could " -"'rsync' the changes into the working tree." +"The mapping of file names from the p4 depot path to Git, by default, " +"involves removing the entire depot path. With this option, the full p4 " +"depot path is retained in Git. For example, path '//depot/main/foo/bar.c', " +"when imported from '//depot/main/', becomes 'foo/bar.c'. With " +"`--keep-path`, the Git path is instead 'depot/main/foo/bar.c'." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:251 +#, no-wrap +msgid "--use-client-spec" msgstr "" #. type: Plain text -#: en/git-rm.txt:119 +#: en/git-p4.txt:254 msgid "" -"After that, the easiest way to record all removals, additions, and " -"modifications in the working tree is:" +"Use a client spec to find the list of interesting files in p4. See the " +"\"CLIENT SPEC\" section below." msgstr "" -#. type: delimited block - -#: en/git-rm.txt:122 +#. type: Labeled list +#: en/git-p4.txt:255 #, no-wrap -msgid "git add -A\n" +msgid "-/ <path>" msgstr "" #. type: Plain text -#: en/git-rm.txt:125 -msgid "See linkgit:git-add[1]." +#: en/git-p4.txt:257 +msgid "Exclude selected depot paths when cloning or syncing." msgstr "" #. type: Title ~ -#: en/git-rm.txt:127 +#: en/git-p4.txt:259 #, no-wrap -msgid "Other ways" +msgid "Clone options" msgstr "" #. type: Plain text -#: en/git-rm.txt:132 +#: en/git-p4.txt:262 msgid "" -"If all you really want to do is to remove from the index the files that are " -"no longer present in the working tree (perhaps because your working tree is " -"dirty so that you cannot use `git commit -a`), use the following command:" +"These options can be used in an initial 'clone', along with the 'sync' " +"options described above." msgstr "" -#. type: delimited block - -#: en/git-rm.txt:135 +#. type: Labeled list +#: en/git-p4.txt:263 #, no-wrap -msgid "git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached\n" +msgid "--destination <directory>" msgstr "" #. type: Plain text -#: en/git-rm.txt:147 +#: en/git-p4.txt:267 msgid "" -"Only submodules using a gitfile (which means they were cloned with a Git " -"version 1.7.8 or newer) will be removed from the work tree, as their " -"repository lives inside the .git directory of the superproject. If a " -"submodule (or one of those nested inside it) still uses a .git directory, " -"`git rm` will fail - no matter if forced or not - to protect the submodule's " -"history. If it exists the submodule.<name> section in the " -"linkgit:gitmodules[5] file will also be removed and that file will be staged " -"(unless --cached or -n are used)." +"Where to create the Git repository. If not provided, the last component in " +"the p4 depot path is used to create a new directory." msgstr "" #. type: Plain text -#: en/git-rm.txt:153 -msgid "" -"A submodule is considered up-to-date when the HEAD is the same as recorded " -"in the index, no tracked files are modified and no untracked files that " -"aren't ignored are present in the submodules work tree. Ignored files are " -"deemed expendable and won't stop a submodule's work tree from being removed." +#: en/git-p4.txt:270 +msgid "Perform a bare clone. See linkgit:git-clone[1]." +msgstr "" + +#. type: Title ~ +#: en/git-p4.txt:272 +#, no-wrap +msgid "Submit options" msgstr "" #. type: Plain text -#: en/git-rm.txt:157 -msgid "" -"If you only want to remove the local checkout of a submodule from your work " -"tree without committing the removal, use linkgit:git-submodule[1] `deinit` " -"instead." +#: en/git-p4.txt:274 +msgid "These options can be used to modify 'git p4 submit' behavior." msgstr "" #. type: Labeled list -#: en/git-rm.txt:160 +#: en/git-p4.txt:275 #, no-wrap -msgid "`git rm Documentation/\\*.txt`" +msgid "--origin <commit>" msgstr "" #. type: Plain text -#: en/git-rm.txt:163 +#: en/git-p4.txt:279 msgid "" -"Removes all `*.txt` files from the index that are under the `Documentation` " -"directory and any of its subdirectories." +"Upstream location from which commits are identified to submit to p4. By " +"default, this is the most recent p4 commit reachable from `HEAD`." msgstr "" #. type: Plain text -#: en/git-rm.txt:167 +#: en/git-p4.txt:285 msgid "" -"Note that the asterisk `*` is quoted from the shell in this example; this " -"lets Git, and not the shell, expand the pathnames of files and " -"subdirectories under the `Documentation/` directory." +"Detect renames. See linkgit:git-diff[1]. Renames will be represented in p4 " +"using explicit 'move' operations. There is no corresponding option to " +"detect copies, but there are variables for both moves and copies." msgstr "" #. type: Labeled list -#: en/git-rm.txt:168 +#: en/git-p4.txt:286 #, no-wrap -msgid "`git rm -f git-*.sh`" -msgstr "" - -#. type: Plain text -#: en/git-rm.txt:172 -msgid "" -"Because this example lets the shell expand the asterisk (i.e. you are " -"listing the files explicitly), it does not remove `subdir/git-foo.sh`." +msgid "--preserve-user" msgstr "" #. type: Plain text -#: en/git-rm.txt:181 +#: en/git-p4.txt:289 msgid "" -"Each time a superproject update removes a populated submodule (e.g. when " -"switching between commits before and after the removal) a stale submodule " -"checkout will remain in the old location. Removing the old directory is only " -"safe when it uses a gitfile, as otherwise the history of the submodule will " -"be deleted too. This step will be obsolete when recursive submodule update " -"has been implemented." +"Re-author p4 changes before submitting to p4. This option requires p4 admin " +"privileges." msgstr "" #. type: Labeled list -#: en/git-rm.txt:185 en/cmds-mainporcelain.txt:1 +#: en/git-p4.txt:290 #, no-wrap -msgid "linkgit:git-add[1]" +msgid "--export-labels" msgstr "" -#. type: Title = -#: en/git-send-email.txt:2 -#, no-wrap -msgid "git-send-email(1)" +#. type: Plain text +#: en/git-p4.txt:293 +msgid "" +"Export tags from Git as p4 labels. Tags found in Git are applied to the " +"perforce working directory." msgstr "" #. type: Plain text -#: en/git-send-email.txt:7 -msgid "git-send-email - Send a collection of patches as emails" +#: en/git-p4.txt:298 +msgid "" +"Show just what commits would be submitted to p4; do not change state in Git " +"or p4." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:14 +#. type: Labeled list +#: en/git-p4.txt:299 #, no-wrap -msgid "" -"'git send-email' [options] <file|directory|rev-list options>...\n" -"'git send-email' --dump-aliases\n" +msgid "--prepare-p4-only" msgstr "" #. type: Plain text -#: en/git-send-email.txt:23 +#: en/git-p4.txt:305 msgid "" -"Takes the patches given on the command line and emails them out. Patches " -"can be specified as files, directories (which will send all files in the " -"directory), or directly as a revision list. In the last case, any format " -"accepted by linkgit:git-format-patch[1] can be passed to git send-email." +"Apply a commit to the p4 workspace, opening, adding and deleting files in p4 " +"as for a normal submit operation. Do not issue the final \"p4 submit\", but " +"instead print a message about how to submit manually or revert. This option " +"always stops after the first (oldest) commit. Git tags are not exported to " +"p4." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:27 -msgid "" -"The header of the email is configurable via command-line options. If not " -"specified on the command line, the user will be prompted with a ReadLine " -"enabled interface to provide the necessary information." +#. type: Labeled list +#: en/git-p4.txt:306 +#, no-wrap +msgid "--shelve" msgstr "" #. type: Plain text -#: en/git-send-email.txt:29 -msgid "There are two formats accepted for patch files:" +#: en/git-p4.txt:310 +msgid "" +"Instead of submitting create a series of shelved changelists. After " +"creating each shelve, the relevant files are reverted/deleted. If you have " +"multiple commits pending multiple shelves will be created." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:31 -msgid "mbox format files" +#. type: Labeled list +#: en/git-p4.txt:311 +#, no-wrap +msgid "--update-shelve CHANGELIST" msgstr "" #. type: Plain text -#: en/git-send-email.txt:34 -msgid "" -"This is what linkgit:git-format-patch[1] generates. Most headers and MIME " -"formatting are ignored." +#: en/git-p4.txt:314 +msgid "Update an existing shelved changelist with this commit. Implies --shelve." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:37 -msgid "" -"The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' " -"script" +#. type: Labeled list +#: en/git-p4.txt:315 +#, no-wrap +msgid "--conflict=(ask|skip|quit)" msgstr "" #. type: Plain text -#: en/git-send-email.txt:40 +#: en/git-p4.txt:321 msgid "" -"This format expects the first line of the file to contain the \"Cc:\" value " -"and the \"Subject:\" of the message as the second line." -msgstr "" - -#. type: Title ~ -#: en/git-send-email.txt:46 -#, no-wrap -msgid "Composing" +"Conflicts can occur when applying a commit to p4. When this happens, the " +"default behavior (\"ask\") is to prompt whether to skip this commit and " +"continue, or quit. This option can be used to bypass the prompt, causing " +"conflicting commits to be automatically skipped, or to quit trying to apply " +"commits, without prompting." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:48 en/git-tag.txt:60 +#: en/git-p4.txt:322 #, no-wrap -msgid "--annotate" +msgid "--branch <branch>" msgstr "" #. type: Plain text -#: en/git-send-email.txt:52 +#: en/git-p4.txt:326 msgid "" -"Review and edit each patch you're about to send. Default is the value of " -"`sendemail.annotate`. See the CONFIGURATION section for " -"`sendemail.multiEdit`." +"After submitting, sync this named branch instead of the default p4/master. " +"See the \"Sync options\" section above for more information." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:53 +#. type: Title ~ +#: en/git-p4.txt:328 #, no-wrap -msgid "--bcc=<address>,..." +msgid "Rebase options" msgstr "" #. type: Plain text -#: en/git-send-email.txt:56 -msgid "" -"Specify a \"Bcc:\" value for each email. Default is the value of " -"`sendemail.bcc`." +#: en/git-p4.txt:330 +msgid "These options can be used to modify 'git p4 rebase' behavior." msgstr "" #. type: Plain text -#: en/git-send-email.txt:58 en/git-send-email.txt:64 en/git-send-email.txt:121 -msgid "This option may be specified multiple times." +#: en/git-p4.txt:333 +msgid "Import p4 labels." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:59 +#. type: Title - +#: en/git-p4.txt:335 #, no-wrap -msgid "--cc=<address>,..." +msgid "DEPOT PATH SYNTAX" msgstr "" #. type: Plain text -#: en/git-send-email.txt:62 +#: en/git-p4.txt:339 msgid "" -"Specify a starting \"Cc:\" value for each email. Default is the value of " -"`sendemail.cc`." +"The p4 depot path argument to 'git p4 sync' and 'git p4 clone' can be one or " +"more space-separated p4 depot paths, with an optional p4 revision specifier " +"on the end:" msgstr "" #. type: Labeled list -#: en/git-send-email.txt:65 +#: en/git-p4.txt:340 #, no-wrap -msgid "--compose" +msgid "\"//depot/my/project\"" msgstr "" #. type: Plain text -#: en/git-send-email.txt:68 -msgid "" -"Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1]) to edit an " -"introductory message for the patch series." +#: en/git-p4.txt:342 +msgid "Import one commit with all files in the '#head' change under that tree." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:74 -msgid "" -"When `--compose` is used, git send-email will use the From, Subject, and " -"In-Reply-To headers specified in the message. If the body of the message " -"(what you type after the headers and a blank line) only contains blank (or " -"Git: prefixed) lines, the summary won't be sent, but From, Subject, and " -"In-Reply-To headers will be used unless they are removed." +#. type: Labeled list +#: en/git-p4.txt:343 +#, no-wrap +msgid "\"//depot/my/project@all\"" msgstr "" #. type: Plain text -#: en/git-send-email.txt:76 -msgid "Missing From or In-Reply-To headers will be prompted for." +#: en/git-p4.txt:345 +msgid "Import one commit for each change in the history of that depot path." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:346 +#, no-wrap +msgid "\"//depot/my/project@1,6\"" msgstr "" #. type: Plain text -#: en/git-send-email.txt:78 -msgid "See the CONFIGURATION section for `sendemail.multiEdit`." +#: en/git-p4.txt:348 +msgid "Import only changes 1 through 6." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:79 +#: en/git-p4.txt:349 #, no-wrap -msgid "--from=<address>" +msgid "\"//depot/proj1@all //depot/proj2@all\"" msgstr "" #. type: Plain text -#: en/git-send-email.txt:86 +#: en/git-p4.txt:358 msgid "" -"Specify the sender of the emails. If not specified on the command line, the " -"value of the `sendemail.from` configuration option is used. If neither the " -"command-line option nor `sendemail.from` are set, then the user will be " -"prompted for the value. The default for the prompt will be the value of " -"GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not set, as returned by " -"\"git var -l\"." +"Import all changes from both named depot paths into a single repository. " +"Only files below these directories are included. There is not a " +"subdirectory in Git for each \"proj1\" and \"proj2\". You must use the " +"`--destination` option when specifying more than one depot path. The " +"revision specifier must be specified identically on each depot path. If " +"there are files in the depot paths with the same name, the path with the " +"most recently updated version of the file is the one that appears in Git." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:87 +#. type: Plain text +#: en/git-p4.txt:360 +msgid "See 'p4 help revisions' for the full syntax of p4 revision specifiers." +msgstr "" + +#. type: Title - +#: en/git-p4.txt:363 #, no-wrap -msgid "--in-reply-to=<identifier>" +msgid "CLIENT SPEC" msgstr "" #. type: Plain text -#: en/git-send-email.txt:93 +#: en/git-p4.txt:373 msgid "" -"Make the first mail (or all the mails with `--no-thread`) appear as a reply " -"to the given Message-Id, which avoids breaking threads to provide a new " -"patch series. The second and subsequent emails will be sent as replies " -"according to the `--[no-]chain-reply-to` setting." +"The p4 client specification is maintained with the 'p4 client' command and " +"contains among other fields, a View that specifies how the depot is mapped " +"into the client repository. The 'clone' and 'sync' commands can consult the " +"client spec when given the `--use-client-spec` option or when the " +"useClientSpec variable is true. After 'git p4 clone', the useClientSpec " +"variable is automatically set in the repository configuration file. This " +"allows future 'git p4 submit' commands to work properly; the submit command " +"looks only at the variable and does not have a command-line option." msgstr "" #. type: Plain text -#: en/git-send-email.txt:97 +#: en/git-p4.txt:380 msgid "" -"So for example when `--thread` and `--no-chain-reply-to` are specified, the " -"second and subsequent patches will be replies to the first one like in the " -"illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:" +"The full syntax for a p4 view is documented in 'p4 help views'. 'git p4' " +"knows only a subset of the view syntax. It understands multi-line mappings, " +"overlays with '+', exclusions with '-' and double-quotes around whitespace. " +"Of the possible wildcards, 'git p4' only handles '...', and only when it is " +"at the end of the path. 'git p4' will complain if it encounters an " +"unhandled wildcard." msgstr "" #. type: Plain text -#: en/git-send-email.txt:105 -#, no-wrap +#: en/git-p4.txt:385 msgid "" -" [PATCH 0/2] Here is what I did...\n" -" [PATCH 1/2] Clean up and tests\n" -" [PATCH 2/2] Implementation\n" -" [PATCH v2 0/3] Here is a reroll\n" -" [PATCH v2 1/3] Clean up\n" -" [PATCH v2 2/3] New tests\n" -" [PATCH v2 3/3] Implementation\n" +"Bugs in the implementation of overlap mappings exist. If multiple depot " +"paths map through overlays to the same location in the repository, 'git p4' " +"can choose the wrong one. This is hard to solve without dedicating a client " +"spec just for 'git p4'." msgstr "" #. type: Plain text -#: en/git-send-email.txt:108 +#: en/git-p4.txt:390 msgid "" -"Only necessary if --compose is also set. If --compose is not set, this will " -"be prompted for." +"The name of the client can be given to 'git p4' in multiple ways. The " +"variable 'git-p4.client' takes precedence if it exists. Otherwise, normal " +"p4 mechanisms of determining the client are used: environment variable " +"P4CLIENT, a file referenced by P4CONFIG, or the local host name." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:109 +#. type: Title - +#: en/git-p4.txt:393 #, no-wrap -msgid "--subject=<string>" +msgid "BRANCH DETECTION" msgstr "" #. type: Plain text -#: en/git-send-email.txt:113 +#: en/git-p4.txt:400 msgid "" -"Specify the initial subject of the email thread. Only necessary if " -"--compose is also set. If --compose is not set, this will be prompted for." -msgstr "" - -#. type: Labeled list -#: en/git-send-email.txt:114 -#, no-wrap -msgid "--to=<address>,..." +"P4 does not have the same concept of a branch as Git. Instead, p4 organizes " +"its content as a directory tree, where by convention different logical " +"branches are in different locations in the tree. The 'p4 branch' command is " +"used to maintain mappings between different areas in the tree, and indicate " +"related content. 'git p4' can use these mappings to determine branch " +"relationships." msgstr "" #. type: Plain text -#: en/git-send-email.txt:119 +#: en/git-p4.txt:405 msgid "" -"Specify the primary recipient of the emails generated. Generally, this will " -"be the upstream maintainer of the project involved. Default is the value of " -"the `sendemail.to` configuration value; if that is unspecified, and --to-cmd " -"is not specified, this will be prompted for." +"If you have a repository where all the branches of interest exist as " +"subdirectories of a single depot path, you can use `--detect-branches` when " +"cloning or syncing to have 'git p4' automatically find subdirectories in p4, " +"and to generate these as branches in Git." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:122 -#, no-wrap -msgid "--8bit-encoding=<encoding>" +#. type: Plain text +#: en/git-p4.txt:407 +msgid "For example, if the P4 repository structure is:" msgstr "" -#. type: Plain text -#: en/git-send-email.txt:128 +#. type: delimited block - +#: en/git-p4.txt:410 +#, no-wrap msgid "" -"When encountering a non-ASCII message or subject that does not declare its " -"encoding, add headers/quoting to indicate it is encoded in <encoding>. " -"Default is the value of the 'sendemail.assume8bitEncoding'; if that is " -"unspecified, this will be prompted for if any non-ASCII files are " -"encountered." +"//depot/main/...\n" +"//depot/branch1/...\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:130 -msgid "Note that no attempts whatsoever are made to validate the encoding." +#: en/git-p4.txt:413 +msgid "And \"p4 branch -o branch1\" shows a View line that looks like:" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:131 +#. type: delimited block - +#: en/git-p4.txt:415 #, no-wrap -msgid "--compose-encoding=<encoding>" +msgid "//depot/main/... //depot/branch1/...\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:134 -msgid "" -"Specify encoding of compose message. Default is the value of the " -"'sendemail.composeencoding'; if that is unspecified, UTF-8 is assumed." +#: en/git-p4.txt:418 +msgid "Then this 'git p4 clone' command:" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:135 +#. type: delimited block - +#: en/git-p4.txt:420 #, no-wrap -msgid "--transfer-encoding=(7bit|8bit|quoted-printable|base64)" +msgid "git p4 clone --detect-branches //depot@all\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:144 +#: en/git-p4.txt:423 msgid "" -"Specify the transfer encoding to be used to send the message over SMTP. " -"7bit will fail upon encountering a non-ASCII message. quoted-printable can " -"be useful when the repository contains files that contain carriage returns, " -"but makes the raw patch email file (as saved from a MUA) much harder to " -"inspect manually. base64 is even more fool proof, but also even more " -"opaque. Default is the value of the `sendemail.transferEncoding` " -"configuration value; if that is unspecified, git will use 8bit and not add a " -"Content-Transfer-Encoding header." +"produces a separate branch in 'refs/remotes/p4/' for //depot/main, called " +"'master', and one for //depot/branch1 called 'depot/branch1'." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:145 +#. type: Plain text +#: en/git-p4.txt:433 +msgid "" +"However, it is not necessary to create branches in p4 to be able to use them " +"like branches. Because it is difficult to infer branch relationships " +"automatically, a Git configuration setting 'git-p4.branchList' can be used " +"to explicitly identify branch relationships. It is a list of " +"\"source:destination\" pairs, like a simple p4 branch specification, where " +"the \"source\" and \"destination\" are the path elements in the p4 " +"repository. The example above relied on the presence of the p4 branch. " +"Without p4 branches, the same result will occur with:" +msgstr "" + +#. type: delimited block - +#: en/git-p4.txt:438 #, no-wrap -msgid "--xmailer" +msgid "" +"git init depot\n" +"cd depot\n" +"git config git-p4.branchList main:branch1\n" +"git p4 clone --detect-branches //depot@all .\n" msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:146 +#. type: Title - +#: en/git-p4.txt:442 #, no-wrap -msgid "--no-xmailer" +msgid "PERFORMANCE" msgstr "" #. type: Plain text -#: en/git-send-email.txt:150 +#: en/git-p4.txt:447 msgid "" -"Add (or prevent adding) the \"X-Mailer:\" header. By default, the header is " -"added, but it can be turned off by setting the `sendemail.xmailer` " -"configuration variable to `false`." +"The fast-import mechanism used by 'git p4' creates one pack file for each " +"invocation of 'git p4 sync'. Normally, Git garbage compression " +"(linkgit:git-gc[1]) automatically compresses these to fewer pack files, but " +"explicit invocation of 'git repack -adf' may improve performance." +msgstr "" + +#. type: Plain text +#: en/git-p4.txt:453 +msgid "" +"The following config settings can be used to modify 'git p4' behavior. They " +"all are in the 'git-p4' section." msgstr "" #. type: Title ~ -#: en/git-send-email.txt:152 +#: en/git-p4.txt:455 #, no-wrap -msgid "Sending" +msgid "General variables" msgstr "" #. type: Labeled list -#: en/git-send-email.txt:154 +#: en/git-p4.txt:456 #, no-wrap -msgid "--envelope-sender=<address>" +msgid "git-p4.user" msgstr "" #. type: Plain text -#: en/git-send-email.txt:162 +#: en/git-p4.txt:459 msgid "" -"Specify the envelope sender used to send the emails. This is useful if your " -"default address is not the address that is subscribed to a list. In order to " -"use the 'From' address, set the value to \"auto\". If you use the sendmail " -"binary, you must have suitable privileges for the -f parameter. Default is " -"the value of the `sendemail.envelopeSender` configuration variable; if that " -"is unspecified, choosing the envelope sender is left to your MTA." +"User specified as an option to all p4 commands, with '-u <user>'. The " +"environment variable 'P4USER' can be used instead." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:163 +#: en/git-p4.txt:460 #, no-wrap -msgid "--smtp-encryption=<encryption>" +msgid "git-p4.password" msgstr "" #. type: Plain text -#: en/git-send-email.txt:167 +#: en/git-p4.txt:464 msgid "" -"Specify the encryption to use, either 'ssl' or 'tls'. Any other value " -"reverts to plain SMTP. Default is the value of `sendemail.smtpEncryption`." +"Password specified as an option to all p4 commands, with '-P <password>'. " +"The environment variable 'P4PASS' can be used instead." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:168 +#: en/git-p4.txt:465 #, no-wrap -msgid "--smtp-domain=<FQDN>" +msgid "git-p4.port" msgstr "" #. type: Plain text -#: en/git-send-email.txt:174 +#: en/git-p4.txt:469 msgid "" -"Specifies the Fully Qualified Domain Name (FQDN) used in the HELO/EHLO " -"command to the SMTP server. Some servers require the FQDN to match your IP " -"address. If not set, git send-email attempts to determine your FQDN " -"automatically. Default is the value of `sendemail.smtpDomain`." +"Port specified as an option to all p4 commands, with '-p <port>'. The " +"environment variable 'P4PORT' can be used instead." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:175 +#: en/git-p4.txt:470 #, no-wrap -msgid "--smtp-auth=<mechanisms>" +msgid "git-p4.host" msgstr "" #. type: Plain text -#: en/git-send-email.txt:178 +#: en/git-p4.txt:474 msgid "" -"Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting " -"forces using only the listed mechanisms. Example:" +"Host specified as an option to all p4 commands, with '-h <host>'. The " +"environment variable 'P4HOST' can be used instead." msgstr "" -#. type: delimited block - -#: en/git-send-email.txt:181 +#. type: Labeled list +#: en/git-p4.txt:475 #, no-wrap -msgid "$ git send-email --smtp-auth=\"PLAIN LOGIN GSSAPI\" ...\n" +msgid "git-p4.client" msgstr "" #. type: Plain text -#: en/git-send-email.txt:187 +#: en/git-p4.txt:478 msgid "" -"If at least one of the specified mechanisms matches the ones advertised by " -"the SMTP server and if it is supported by the utilized SASL library, the " -"mechanism is used for authentication. If neither 'sendemail.smtpAuth' nor " -"`--smtp-auth` is specified, all mechanisms supported by the SASL library can " -"be used." +"Client specified as an option to all p4 commands, with '-c <client>', " +"including the client spec." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:188 +#: en/git-p4.txt:479 #, no-wrap -msgid "--smtp-pass[=<password>]" +msgid "git-p4.retries" msgstr "" #. type: Plain text -#: en/git-send-email.txt:193 +#: en/git-p4.txt:484 msgid "" -"Password for SMTP-AUTH. The argument is optional: If no argument is " -"specified, then the empty string is used as the password. Default is the " -"value of `sendemail.smtpPass`, however `--smtp-pass` always overrides this " -"value." +"Specifies the number of times to retry a p4 command (notably, 'p4 sync') if " +"the network times out. The default value is 3. Set the value to 0 to " +"disable retries or if your p4 version does not support retries (pre 2012.2)." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:199 -msgid "" -"Furthermore, passwords need not be specified in configuration files or on " -"the command line. If a username has been specified (with `--smtp-user` or a " -"`sendemail.smtpUser`), but no password has been specified (with " -"`--smtp-pass` or `sendemail.smtpPass`), then a password is obtained using " -"'git-credential'." +#. type: Title ~ +#: en/git-p4.txt:486 +#, no-wrap +msgid "Clone and sync variables" msgstr "" #. type: Labeled list -#: en/git-send-email.txt:200 +#: en/git-p4.txt:487 #, no-wrap -msgid "--smtp-server=<host>" +msgid "git-p4.syncFromOrigin" msgstr "" #. type: Plain text -#: en/git-send-email.txt:209 +#: en/git-p4.txt:493 msgid "" -"If set, specifies the outgoing SMTP server to use (e.g. `smtp.example.com` " -"or a raw IP address). Alternatively it can specify a full pathname of a " -"sendmail-like program instead; the program must support the `-i` option. " -"Default value can be specified by the `sendemail.smtpServer` configuration " -"option; the built-in default is `/usr/sbin/sendmail` or `/usr/lib/sendmail` " -"if such program is available, or `localhost` otherwise." +"Because importing commits from other Git repositories is much faster than " +"importing them from p4, a mechanism exists to find p4 changes first in Git " +"remotes. If branches exist under 'refs/remote/origin/p4', those will be " +"fetched and used when syncing from p4. This variable can be set to 'false' " +"to disable this behavior." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:210 +#: en/git-p4.txt:494 #, no-wrap -msgid "--smtp-server-port=<port>" +msgid "git-p4.branchUser" msgstr "" #. type: Plain text -#: en/git-send-email.txt:217 +#: en/git-p4.txt:499 msgid "" -"Specifies a port different from the default port (SMTP servers typically " -"listen to smtp port 25, but may also listen to submission port 587, or the " -"common SSL smtp port 465); symbolic port names (e.g. \"submission\" instead " -"of 587) are also accepted. The port can also be set with the " -"`sendemail.smtpServerPort` configuration variable." +"One phase in branch detection involves looking at p4 branches to find new " +"ones to import. By default, all branches are inspected. This option limits " +"the search to just those owned by the single user named in the variable." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:218 +#: en/git-p4.txt:500 #, no-wrap -msgid "--smtp-server-option=<option>" +msgid "git-p4.branchList" msgstr "" #. type: Plain text -#: en/git-send-email.txt:222 +#: en/git-p4.txt:505 msgid "" -"If set, specifies the outgoing SMTP server option to use. Default value can " -"be specified by the `sendemail.smtpServerOption` configuration option." +"List of branches to be imported when branch detection is enabled. Each " +"entry should be a pair of branch names separated by a colon (:). This " +"example declares that both branchA and branchB were created from main:" msgstr "" -#. type: Plain text -#: en/git-send-email.txt:226 +#. type: delimited block - +#: en/git-p4.txt:509 +#, no-wrap msgid "" -"The --smtp-server-option option must be repeated for each option you want to " -"pass to the server. Likewise, different lines in the configuration files " -"must be used for each option." +"git config git-p4.branchList main:branchA\n" +"git config --add git-p4.branchList main:branchB\n" msgstr "" #. type: Labeled list -#: en/git-send-email.txt:227 +#: en/git-p4.txt:511 #, no-wrap -msgid "--smtp-ssl" +msgid "git-p4.ignoredP4Labels" msgstr "" #. type: Plain text -#: en/git-send-email.txt:229 -msgid "Legacy alias for '--smtp-encryption ssl'." +#: en/git-p4.txt:514 +msgid "" +"List of p4 labels to ignore. This is built automatically as unimportable " +"labels are discovered." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:230 +#: en/git-p4.txt:515 #, no-wrap -msgid "--smtp-ssl-cert-path" +msgid "git-p4.importLabels" msgstr "" #. type: Plain text -#: en/git-send-email.txt:240 -msgid "" -"Path to a store of trusted CA certificates for SMTP SSL/TLS certificate " -"validation (either a directory that has been processed by 'c_rehash', or a " -"single file containing one or more PEM format certificates concatenated " -"together: see verify(1) -CAfile and -CApath for more information on " -"these). Set it to an empty string to disable certificate " -"verification. Defaults to the value of the `sendemail.smtpsslcertpath` " -"configuration variable, if set, or the backing SSL library's compiled-in " -"default otherwise (which should be the best choice on most platforms)." +#: en/git-p4.txt:517 +msgid "Import p4 labels into git, as per --import-labels." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:241 +#: en/git-p4.txt:518 #, no-wrap -msgid "--smtp-user=<user>" +msgid "git-p4.labelImportRegexp" msgstr "" #. type: Plain text -#: en/git-send-email.txt:245 +#: en/git-p4.txt:521 msgid "" -"Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`; if a " -"username is not specified (with `--smtp-user` or `sendemail.smtpUser`), then " -"authentication is not attempted." +"Only p4 labels matching this regular expression will be imported. The " +"default value is '[a-zA-Z0-9_\\-.]+$'." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:246 +#: en/git-p4.txt:522 #, no-wrap -msgid "--smtp-debug=0|1" +msgid "git-p4.useClientSpec" msgstr "" #. type: Plain text -#: en/git-send-email.txt:250 +#: en/git-p4.txt:527 msgid "" -"Enable (1) or disable (0) debug output. If enabled, SMTP commands and " -"replies will be printed. Useful to debug TLS connection and authentication " -"problems." -msgstr "" - -#. type: Title ~ -#: en/git-send-email.txt:252 -#, no-wrap -msgid "Automating" +"Specify that the p4 client spec should be used to identify p4 depot paths of " +"interest. This is equivalent to specifying the option `--use-client-spec`. " +"See the \"CLIENT SPEC\" section above. This variable is a boolean, not the " +"name of a p4 client." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:254 +#: en/git-p4.txt:528 #, no-wrap -msgid "--to-cmd=<command>" +msgid "git-p4.pathEncoding" msgstr "" #. type: Plain text -#: en/git-send-email.txt:259 +#: en/git-p4.txt:534 msgid "" -"Specify a command to execute once per patch file which should generate patch " -"file specific \"To:\" entries. Output of this command must be single email " -"address per line. Default is the value of 'sendemail.tocmd' configuration " -"value." +"Perforce keeps the encoding of a path as given by the originating OS. Git " +"expects paths encoded as UTF-8. Use this config to tell git-p4 what encoding " +"Perforce had used for the paths. This encoding is used to transcode the " +"paths to UTF-8. As an example, Perforce on Windows often uses \"cp1252\" to " +"encode path names." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:260 +#: en/git-p4.txt:535 #, no-wrap -msgid "--cc-cmd=<command>" +msgid "git-p4.largeFileSystem" msgstr "" #. type: Plain text -#: en/git-send-email.txt:265 +#: en/git-p4.txt:541 msgid "" -"Specify a command to execute once per patch file which should generate patch " -"file specific \"Cc:\" entries. Output of this command must be single email " -"address per line. Default is the value of `sendemail.ccCmd` configuration " -"value." +"Specify the system that is used for large (binary) files. Please note that " +"large file systems do not support the 'git p4 submit' command. Only Git LFS " +"is implemented right now (see https://git-lfs.github.com/ for more " +"information). Download and install the Git LFS command line extension to use " +"this option and configure it like this:" +msgstr "" + +#. type: delimited block - +#: en/git-p4.txt:544 +#, no-wrap +msgid "git config git-p4.largeFileSystem GitLFS\n" msgstr "" #. type: Labeled list -#: en/git-send-email.txt:266 +#: en/git-p4.txt:546 #, no-wrap -msgid "--[no-]chain-reply-to" +msgid "git-p4.largeFileExtensions" msgstr "" #. type: Plain text -#: en/git-send-email.txt:273 +#: en/git-p4.txt:549 msgid "" -"If this is set, each email will be sent as a reply to the previous email " -"sent. If disabled with \"--no-chain-reply-to\", all emails after the first " -"will be sent as replies to the first email sent. When using this, it is " -"recommended that the first file given be an overview of the entire patch " -"series. Disabled by default, but the `sendemail.chainReplyTo` configuration " -"variable can be used to enable it." +"All files matching a file extension in the list will be processed by the " +"large file system. Do not prefix the extensions with '.'." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:274 +#: en/git-p4.txt:550 #, no-wrap -msgid "--identity=<identity>" +msgid "git-p4.largeFileThreshold" msgstr "" #. type: Plain text -#: en/git-send-email.txt:279 en/config.txt:2869 +#: en/git-p4.txt:554 msgid "" -"A configuration identity. When given, causes values in the " -"'sendemail.<identity>' subsection to take precedence over values in the " -"'sendemail' section. The default identity is the value of " -"`sendemail.identity`." +"All files with an uncompressed size exceeding the threshold will be " +"processed by the large file system. By default the threshold is defined in " +"bytes. Add the suffix k, m, or g to change the unit." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:280 +#: en/git-p4.txt:555 #, no-wrap -msgid "--[no-]signed-off-by-cc" +msgid "git-p4.largeFileCompressedThreshold" msgstr "" #. type: Plain text -#: en/git-send-email.txt:284 +#: en/git-p4.txt:560 msgid "" -"If this is set, add emails found in Signed-off-by: or Cc: lines to the cc " -"list. Default is the value of `sendemail.signedoffbycc` configuration value; " -"if that is unspecified, default to --signed-off-by-cc." +"All files with a compressed size exceeding the threshold will be processed " +"by the large file system. This option might slow down your clone/sync " +"process. By default the threshold is defined in bytes. Add the suffix k, m, " +"or g to change the unit." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:285 +#: en/git-p4.txt:561 #, no-wrap -msgid "--[no-]cc-cover" +msgid "git-p4.largeFilePush" msgstr "" #. type: Plain text -#: en/git-send-email.txt:290 +#: en/git-p4.txt:564 msgid "" -"If this is set, emails found in Cc: headers in the first patch of the series " -"(typically the cover letter) are added to the cc list for each email " -"set. Default is the value of 'sendemail.cccover' configuration value; if " -"that is unspecified, default to --no-cc-cover." +"Boolean variable which defines if large files are automatically pushed to a " +"server." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:291 +#: en/git-p4.txt:565 #, no-wrap -msgid "--[no-]to-cover" +msgid "git-p4.keepEmptyCommits" msgstr "" #. type: Plain text -#: en/git-send-email.txt:296 +#: en/git-p4.txt:568 msgid "" -"If this is set, emails found in To: headers in the first patch of the series " -"(typically the cover letter) are added to the to list for each email " -"set. Default is the value of 'sendemail.tocover' configuration value; if " -"that is unspecified, default to --no-to-cover." +"A changelist that contains only excluded files will be imported as an empty " +"commit if this boolean option is set to true." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:297 +#: en/git-p4.txt:569 #, no-wrap -msgid "--suppress-cc=<category>" -msgstr "" - -#. type: Plain text -#: en/git-send-email.txt:300 -msgid "Specify an additional category of recipients to suppress the auto-cc of:" +msgid "git-p4.mapUser" msgstr "" #. type: Plain text -#: en/git-send-email.txt:303 -msgid "'author' will avoid including the patch author" +#: en/git-p4.txt:572 +msgid "" +"Map a P4 user to a name and email address in Git. Use a string with the " +"following format to create a mapping:" msgstr "" -#. type: Plain text -#: en/git-send-email.txt:304 -msgid "'self' will avoid including the sender" +#. type: delimited block - +#: en/git-p4.txt:575 +#, no-wrap +msgid "git config --add git-p4.mapUser \"p4user = First Last <mail@address.com>\"\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:306 +#: en/git-p4.txt:579 msgid "" -"'cc' will avoid including anyone mentioned in Cc lines in the patch header " -"except for self (use 'self' for that)." +"A mapping will override any user information from P4. Mappings for multiple " +"P4 user can be defined." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:308 -msgid "" -"'bodycc' will avoid including anyone mentioned in Cc lines in the patch body " -"(commit message) except for self (use 'self' for that)." +#. type: Title ~ +#: en/git-p4.txt:581 +#, no-wrap +msgid "Submit variables" msgstr "" -#. type: Plain text -#: en/git-send-email.txt:309 -msgid "'sob' will avoid including anyone mentioned in Signed-off-by lines except" +#. type: Labeled list +#: en/git-p4.txt:582 +#, no-wrap +msgid "git-p4.detectRenames" msgstr "" #. type: Plain text -#: en/git-send-email.txt:310 -msgid "for self (use 'self' for that)." +#: en/git-p4.txt:585 +msgid "" +"Detect renames. See linkgit:git-diff[1]. This can be true, false, or a " +"score as expected by 'git diff -M'." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:311 -msgid "'cccmd' will avoid running the --cc-cmd." +#. type: Labeled list +#: en/git-p4.txt:586 +#, no-wrap +msgid "git-p4.detectCopies" msgstr "" #. type: Plain text -#: en/git-send-email.txt:312 -msgid "'body' is equivalent to 'sob' + 'bodycc'" +#: en/git-p4.txt:589 +msgid "" +"Detect copies. See linkgit:git-diff[1]. This can be true, false, or a " +"score as expected by 'git diff -C'." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:313 -msgid "'all' will suppress all auto cc values." +#. type: Labeled list +#: en/git-p4.txt:590 +#, no-wrap +msgid "git-p4.detectCopiesHarder" msgstr "" #. type: Plain text -#: en/git-send-email.txt:318 -msgid "" -"Default is the value of `sendemail.suppresscc` configuration value; if that " -"is unspecified, default to 'self' if --suppress-from is specified, as well " -"as 'body' if --no-signed-off-cc is specified." +#: en/git-p4.txt:592 +msgid "Detect copies harder. See linkgit:git-diff[1]. A boolean." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:319 +#: en/git-p4.txt:593 #, no-wrap -msgid "--[no-]suppress-from" +msgid "git-p4.preserveUser" msgstr "" #. type: Plain text -#: en/git-send-email.txt:323 +#: en/git-p4.txt:596 msgid "" -"If this is set, do not add the From: address to the cc: list. Default is " -"the value of `sendemail.suppressFrom` configuration value; if that is " -"unspecified, default to --no-suppress-from." +"On submit, re-author changes to reflect the Git author, regardless of who " +"invokes 'git p4 submit'." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:324 +#: en/git-p4.txt:597 #, no-wrap -msgid "--[no-]thread" +msgid "git-p4.allowMissingP4Users" msgstr "" #. type: Plain text -#: en/git-send-email.txt:330 +#: en/git-p4.txt:601 msgid "" -"If this is set, the In-Reply-To and References headers will be added to each " -"email sent. Whether each mail refers to the previous email (`deep` " -"threading per 'git format-patch' wording) or to the first email (`shallow` " -"threading) is governed by \"--[no-]chain-reply-to\"." +"When 'preserveUser' is true, 'git p4' normally dies if it cannot find an " +"author in the p4 user map. This setting submits the change regardless." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:335 -msgid "" -"If disabled with \"--no-thread\", those headers will not be added (unless " -"specified with --in-reply-to). Default is the value of the " -"`sendemail.thread` configuration value; if that is unspecified, default to " -"--thread." +#. type: Labeled list +#: en/git-p4.txt:602 +#, no-wrap +msgid "git-p4.skipSubmitEdit" msgstr "" #. type: Plain text -#: en/git-send-email.txt:341 +#: en/git-p4.txt:606 msgid "" -"It is up to the user to ensure that no In-Reply-To header already exists " -"when 'git send-email' is asked to add it (especially note that 'git " -"format-patch' can be configured to do the threading itself). Failure to do " -"so may not produce the expected result in the recipient's MUA." -msgstr "" - -#. type: Title ~ -#: en/git-send-email.txt:344 -#, no-wrap -msgid "Administering" +"The submit process invokes the editor before each p4 change is submitted. " +"If this setting is true, though, the editing step is skipped." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:346 +#: en/git-p4.txt:607 #, no-wrap -msgid "--confirm=<mode>" +msgid "git-p4.skipSubmitEditCheck" msgstr "" #. type: Plain text -#: en/git-send-email.txt:348 -msgid "Confirm just before sending:" +#: en/git-p4.txt:611 +msgid "" +"After editing the p4 change message, 'git p4' makes sure that the " +"description really was changed by looking at the file modification time. " +"This option disables that test." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:351 -msgid "'always' will always confirm before sending" +#. type: Labeled list +#: en/git-p4.txt:612 +#, no-wrap +msgid "git-p4.allowSubmit" msgstr "" #. type: Plain text -#: en/git-send-email.txt:352 -msgid "'never' will never confirm before sending" +#: en/git-p4.txt:618 +msgid "" +"By default, any branch can be used as the source for a 'git p4 submit' " +"operation. This configuration variable, if set, permits only the named " +"branches to be used as submit sources. Branch names must be the short names " +"(no \"refs/heads/\"), and should be separated by commas (\",\"), with no " +"spaces." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:354 -msgid "" -"'cc' will confirm before sending when send-email has automatically added " -"addresses from the patch to the Cc list" +#. type: Labeled list +#: en/git-p4.txt:619 +#, no-wrap +msgid "git-p4.skipUserNameCheck" msgstr "" #. type: Plain text -#: en/git-send-email.txt:355 +#: en/git-p4.txt:623 msgid "" -"'compose' will confirm before sending the first message when using " -"--compose." +"If the user running 'git p4 submit' does not exist in the p4 user map, 'git " +"p4' exits. This option can be used to force submission regardless." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:356 -msgid "'auto' is equivalent to 'cc' + 'compose'" +#. type: Labeled list +#: en/git-p4.txt:624 +#, no-wrap +msgid "git-p4.attemptRCSCleanup" msgstr "" #. type: Plain text -#: en/git-send-email.txt:361 +#: en/git-p4.txt:629 msgid "" -"Default is the value of `sendemail.confirm` configuration value; if that is " -"unspecified, default to 'auto' unless any of the suppress options have been " -"specified, in which case default to 'compose'." -msgstr "" - -#. type: Plain text -#: en/git-send-email.txt:364 -msgid "Do everything except actually send the emails." +"If enabled, 'git p4 submit' will attempt to cleanup RCS keywords ($Header$, " +"etc). These would otherwise cause merge conflicts and prevent the submit " +"going ahead. This option should be considered experimental at present." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:365 +#: en/git-p4.txt:630 #, no-wrap -msgid "--[no-]format-patch" +msgid "git-p4.exportLabels" msgstr "" #. type: Plain text -#: en/git-send-email.txt:370 -msgid "" -"When an argument may be understood either as a reference or as a file name, " -"choose to understand it as a format-patch argument (`--format-patch`) or as " -"a file name (`--no-format-patch`). By default, when such a conflict occurs, " -"git send-email will fail." +#: en/git-p4.txt:632 +msgid "Export Git tags to p4 labels, as per --export-labels." +msgstr "" + +#. type: Labeled list +#: en/git-p4.txt:633 +#, no-wrap +msgid "git-p4.labelExportRegexp" msgstr "" #. type: Plain text -#: en/git-send-email.txt:374 +#: en/git-p4.txt:636 msgid "" -"Make git-send-email less verbose. One line per email should be all that is " -"output." +"Only p4 labels matching this regular expression will be exported. The " +"default value is '[a-zA-Z0-9_\\-.]+$'." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:375 +#: en/git-p4.txt:637 #, no-wrap -msgid "--[no-]validate" +msgid "git-p4.conflict" msgstr "" #. type: Plain text -#: en/git-send-email.txt:378 +#: en/git-p4.txt:640 msgid "" -"Perform sanity checks on patches. Currently, validation means the " -"following:" +"Specify submit behavior when a conflict with p4 is found, as per " +"--conflict. The default behavior is 'ask'." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:381 -msgid "Warn of patches that contain lines longer than 998 characters; this" +#. type: Title - +#: en/git-p4.txt:642 +#, no-wrap +msgid "IMPLEMENTATION DETAILS" msgstr "" #. type: Plain text -#: en/git-send-email.txt:382 -#, no-wrap -msgid "is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.\n" +#: en/git-p4.txt:644 +msgid "Changesets from p4 are imported using Git fast-import." msgstr "" #. type: Plain text -#: en/git-send-email.txt:386 +#: en/git-p4.txt:646 msgid "" -"Default is the value of `sendemail.validate`; if this is not set, default to " -"`--validate`." +"Cloning or syncing does not require a p4 client; file contents are collected " +"using 'p4 print'." msgstr "" #. type: Plain text -#: en/git-send-email.txt:389 -msgid "Send emails even if safety checks would prevent it." +#: en/git-p4.txt:649 +msgid "" +"Submitting requires a p4 client, which is not in the same location as the " +"Git repository. Patches are applied, one at a time, to this p4 client and " +"submitted from there." msgstr "" -#. type: Title ~ -#: en/git-send-email.txt:392 -#, no-wrap -msgid "Information" +#. type: Plain text +#: en/git-p4.txt:652 +msgid "" +"Each commit imported by 'git p4' has a line at the end of the log message " +"indicating the p4 depot location and change number. This line is used by " +"later 'git p4 sync' operations to know which p4 changes are new." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:394 +#. type: Title = +#: en/git-pack-objects.txt:2 #, no-wrap -msgid "--dump-aliases" +msgid "git-pack-objects(1)" msgstr "" #. type: Plain text -#: en/git-send-email.txt:399 -msgid "" -"Instead of the normal operation, dump the shorthand alias names from the " -"configured alias file(s), one per line in alphabetical order. Note, this " -"only includes the alias name and not its expanded email addresses. See " -"'sendemail.aliasesfile' for more information about aliases." -msgstr "" - -#. type: Labeled list -#: en/git-send-email.txt:404 en/config.txt:2887 -#, no-wrap -msgid "sendemail.aliasesFile" +#: en/git-pack-objects.txt:7 +msgid "git-pack-objects - Create a packed archive of objects" msgstr "" #. type: Plain text -#: en/git-send-email.txt:407 -msgid "" -"To avoid typing long email addresses, point this to one or more email " -"aliases files. You must also supply `sendemail.aliasFileType`." -msgstr "" - -#. type: Labeled list -#: en/git-send-email.txt:408 en/config.txt:2888 +#: en/git-pack-objects.txt:17 #, no-wrap -msgid "sendemail.aliasFileType" +msgid "" +"'git pack-objects' [-q | --progress | --all-progress] " +"[--all-progress-implied]\n" +"\t[--no-reuse-delta] [--delta-base-offset] [--non-empty]\n" +"\t[--local] [--incremental] [--window=<n>] [--depth=<n>]\n" +"\t[--revs [--unpacked | --all]] [--stdout | base-name]\n" +"\t[--shallow] [--keep-true-parents] < object-list\n" msgstr "" #. type: Plain text -#: en/git-send-email.txt:411 +#: en/git-pack-objects.txt:23 msgid "" -"Format of the file(s) specified in sendemail.aliasesFile. Must be one of " -"'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'." +"Reads list of objects from the standard input, and writes a packed archive " +"with specified base-name, or to the standard output." msgstr "" #. type: Plain text -#: en/git-send-email.txt:416 +#: en/git-pack-objects.txt:29 msgid "" -"What an alias file in each format looks like can be found in the " -"documentation of the email program of the same name. The differences and " -"limitations from the standard formats are described below:" +"A packed archive is an efficient way to transfer a set of objects between " +"two repositories as well as an access efficient archival format. In a " +"packed archive, an object is either stored as a compressed whole or as a " +"difference from some other object. The latter is often called a delta." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:418 -#, no-wrap -msgid "sendmail" +#. type: Plain text +#: en/git-pack-objects.txt:33 +msgid "" +"The packed archive format (.pack) is designed to be self-contained so that " +"it can be unpacked without any further information. Therefore, each object " +"that a delta depends upon must be present within the pack." msgstr "" #. type: Plain text -#: en/git-send-email.txt:420 -msgid "Quoted aliases and quoted addresses are not supported: lines that" +#: en/git-pack-objects.txt:39 +msgid "" +"A pack index file (.idx) is generated for fast, random access to the objects " +"in the pack. Placing both the index file (.idx) and the packed archive " +"(.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or any of the " +"directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES) enables Git to read from " +"the pack archive." msgstr "" #. type: Plain text -#: en/git-send-email.txt:421 -msgid "contain a `\"` symbol are ignored." +#: en/git-pack-objects.txt:45 +msgid "" +"The 'git unpack-objects' command can read the packed archive and expand the " +"objects contained in the pack into \"one-file one-object\" format; this is " +"typically done by the smart-pull commands when a pack is created on-the-fly " +"for efficient network transport by their peers." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:422 -msgid "Redirection to a file (`/path/name`) or pipe (`|command`) is not" +#. type: Labeled list +#: en/git-pack-objects.txt:49 +#, no-wrap +msgid "base-name" msgstr "" #. type: Plain text -#: en/git-send-email.txt:423 -msgid "supported." +#: en/git-pack-objects.txt:56 +msgid "" +"Write into a pair of files (.pack and .idx), using <base-name> to determine " +"the name of the created file. When this option is used, the two files are " +"written in <base-name>-<SHA-1>.{pack,idx} files. <SHA-1> is a hash based on " +"the pack content and is written to the standard output of the command." msgstr "" #. type: Plain text -#: en/git-send-email.txt:424 -msgid "File inclusion (`:include: /path/name`) is not supported." +#: en/git-pack-objects.txt:60 +msgid "" +"Write the pack contents (what would have been written to .pack file) out to " +"the standard output." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:425 -msgid "Warnings are printed on the standard error output for any" +#. type: Labeled list +#: en/git-pack-objects.txt:61 +#, no-wrap +msgid "--revs" msgstr "" #. type: Plain text -#: en/git-send-email.txt:427 +#: en/git-pack-objects.txt:69 msgid "" -"explicitly unsupported constructs, and any other lines that are not " -"recognized by the parser." +"Read the revision arguments from the standard input, instead of individual " +"object names. The revision arguments are processed the same way as 'git " +"rev-list' with the `--objects` flag uses its `commit` arguments to build the " +"list of objects it outputs. The objects on the resulting list are packed. " +"Besides revisions, `--not` or `--shallow <SHA-1>` lines are also accepted." msgstr "" #. type: Labeled list -#: en/git-send-email.txt:429 en/config.txt:2897 +#: en/git-pack-objects.txt:70 en/rev-list-options.txt:693 #, no-wrap -msgid "sendemail.multiEdit" +msgid "--unpacked" msgstr "" #. type: Plain text -#: en/git-send-email.txt:434 +#: en/git-pack-objects.txt:74 msgid "" -"If true (default), a single editor instance will be spawned to edit files " -"you have to edit (patches when `--annotate` is used, and the summary when " -"`--compose` is used). If false, files will be edited one after the other, " -"spawning a new editor each time." +"This implies `--revs`. When processing the list of revision arguments read " +"from the standard input, limit the objects packed to those that are not " +"already packed." msgstr "" -#. type: Labeled list -#: en/git-send-email.txt:435 en/config.txt:2894 -#, no-wrap -msgid "sendemail.confirm" +#. type: Plain text +#: en/git-pack-objects.txt:80 +msgid "" +"This implies `--revs`. In addition to the list of revision arguments read " +"from the standard input, pretend as if all refs under `refs/` are specified " +"to be included." msgstr "" #. type: Plain text -#: en/git-send-email.txt:439 +#: en/git-pack-objects.txt:85 msgid "" -"Sets the default for whether to confirm before sending. Must be one of " -"'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm` in the " -"previous section for the meaning of these values." +"Include unasked-for annotated tags if the object they reference was included " +"in the resulting packfile. This can be useful to send new tags to native " +"Git clients." msgstr "" -#. type: Title ~ -#: en/git-send-email.txt:443 +#. type: Labeled list +#: en/git-pack-objects.txt:86 en/git-repack.txt:84 #, no-wrap -msgid "Use gmail as the smtp server" +msgid "--window=<n>" msgstr "" #. type: Plain text -#: en/git-send-email.txt:446 +#: en/git-pack-objects.txt:98 msgid "" -"To use 'git send-email' to send your patches through the GMail SMTP server, " -"edit ~/.gitconfig to specify your account settings:" +"These two options affect how the objects contained in the pack are stored " +"using delta compression. The objects are first internally sorted by type, " +"size and optionally names and compared against the other objects within " +"--window to see if using delta compression saves space. --depth limits the " +"maximum delta depth; making it too deep affects the performance on the " +"unpacker side, because delta data needs to be applied that many times to get " +"to the necessary object. The default value for --window is 10 and --depth " +"is 50." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:452 +#. type: Labeled list +#: en/git-pack-objects.txt:99 en/git-repack.txt:95 #, no-wrap -msgid "" -"\t[sendemail]\n" -"\t\tsmtpEncryption = tls\n" -"\t\tsmtpServer = smtp.gmail.com\n" -"\t\tsmtpUser = yourname@gmail.com\n" -"\t\tsmtpServerPort = 587\n" +msgid "--window-memory=<n>" msgstr "" #. type: Plain text -#: en/git-send-email.txt:458 +#: en/git-pack-objects.txt:109 msgid "" -"If you have multifactor authentication setup on your gmail account, you will " -"need to generate an app-specific password for use with 'git " -"send-email'. Visit " -"https://security.google.com/settings/security/apppasswords to setup an " -"app-specific password. Once setup, you can store it with the credentials " -"helper:" +"This option provides an additional limit on top of `--window`; the window " +"size will dynamically scale down so as to not take up more than '<n>' bytes " +"in memory. This is useful in repositories with a mix of large and small " +"objects to not run out of memory with a large window, but still be able to " +"take advantage of the large window for the smaller objects. The size can be " +"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " +"usage unlimited. The default is taken from the `pack.windowMemory` " +"configuration variable." msgstr "" #. type: Plain text -#: en/git-send-email.txt:464 -#, no-wrap +#: en/git-pack-objects.txt:117 en/git-repack.txt:115 msgid "" -"\t$ git credential fill\n" -"\tprotocol=smtp\n" -"\thost=smtp.gmail.com\n" -"\tusername=youname@gmail.com\n" -"\tpassword=app-password\n" +"Maximum size of each output pack file. The size can be suffixed with \"k\", " +"\"m\", or \"g\". The minimum size allowed is limited to 1 MiB. If " +"specified, multiple packfiles may be created, which also prevents the " +"creation of a bitmap index. The default is unlimited, unless the config " +"variable `pack.packSizeLimit` is set." msgstr "" -#. type: Plain text -#: en/git-send-email.txt:468 -msgid "" -"Once your commits are ready to be sent to the mailing list, run the " -"following commands:" +#. type: Labeled list +#: en/git-pack-objects.txt:118 +#, no-wrap +msgid "--honor-pack-keep" msgstr "" #. type: Plain text -#: en/git-send-email.txt:472 -#, no-wrap +#: en/git-pack-objects.txt:122 msgid "" -"\t$ git format-patch --cover-letter -M origin/master -o outgoing/\n" -"\t$ edit outgoing/0000-*\n" -"\t$ git send-email outgoing/*\n" +"This flag causes an object already in a local pack that has a .keep file to " +"be ignored, even if it would have otherwise been packed." msgstr "" #. type: Plain text -#: en/git-send-email.txt:475 -#, no-wrap +#: en/git-pack-objects.txt:126 msgid "" -"Note: the following perl modules are required\n" -" Net::SMTP::SSL, MIME::Base64 and Authen::SASL\n" +"This flag causes an object already in a pack to be ignored even if it would " +"have otherwise been packed." msgstr "" #. type: Plain text -#: en/git-send-email.txt:479 -msgid "linkgit:git-format-patch[1], linkgit:git-imap-send[1], mbox(5)" +#: en/git-pack-objects.txt:131 +msgid "" +"This flag causes an object that is borrowed from an alternate object store " +"to be ignored even if it would have otherwise been packed." msgstr "" -#. type: Title = -#: en/git-send-pack.txt:2 +#. type: Labeled list +#: en/git-pack-objects.txt:132 #, no-wrap -msgid "git-send-pack(1)" +msgid "--non-empty" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:7 -msgid "git-send-pack - Push objects over Git protocol to another repository" +#: en/git-pack-objects.txt:135 +msgid "Only create a packed archive if it would contain at least one object." msgstr "" -#. type: Plain text -#: en/git-send-pack.txt:16 +#. type: Labeled list +#: en/git-pack-objects.txt:142 #, no-wrap -msgid "" -"'git send-pack' [--all] [--dry-run] [--force] " -"[--receive-pack=<git-receive-pack>]\n" -"\t\t[--verbose] [--thin] [--atomic]\n" -"\t\t[--[no-]signed|--sign=(true|false|if-asked)]\n" -"\t\t[<host>:]<directory> [<ref>...]\n" +msgid "--all-progress" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:21 +#: en/git-pack-objects.txt:152 msgid "" -"Usually you would want to use 'git push', which is a higher-level wrapper of " -"this command, instead. See linkgit:git-push[1]." +"When --stdout is specified then progress report is displayed during the " +"object count and compression phases but inhibited during the write-out " +"phase. The reason is that in some cases the output stream is directly linked " +"to another command which may wish to display progress status of its own as " +"it processes incoming pack data. This flag is like --progress except that " +"it forces progress report for the write-out phase as well even if --stdout " +"is used." msgstr "" -#. type: Plain text -#: en/git-send-pack.txt:24 -msgid "" -"Invokes 'git-receive-pack' on a possibly remote repository, and updates it " -"from the current repository, sending named refs." +#. type: Labeled list +#: en/git-pack-objects.txt:153 +#, no-wrap +msgid "--all-progress-implied" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:36 -msgid "Same as --receive-pack=<git-receive-pack>." +#: en/git-pack-objects.txt:157 +msgid "" +"This is used to imply --all-progress whenever progress display is " +"activated. Unlike --all-progress this flag doesn't actually force any " +"progress display by itself." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:40 +#: en/git-pack-objects.txt:161 msgid "" -"Instead of explicitly specifying which refs to update, update all heads that " -"locally exist." +"This flag makes the command not to report its progress on the standard error " +"stream." +msgstr "" + +#. type: Labeled list +#: en/git-pack-objects.txt:162 +#, no-wrap +msgid "--no-reuse-delta" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:67 +#: en/git-pack-objects.txt:168 msgid "" -"Send a \"thin\" pack, which records objects in deltified form based on " -"objects not included in the pack to reduce network traffic." +"When creating a packed archive in a repository that has existing packs, the " +"command reuses existing deltas. This sometimes results in a slightly " +"suboptimal pack. This flag tells the command not to reuse existing deltas " +"but compute them from scratch." msgstr "" #. type: Labeled list -#: en/git-send-pack.txt:68 +#: en/git-pack-objects.txt:169 #, no-wrap -msgid "--atomic" +msgid "--no-reuse-object" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:72 +#: en/git-pack-objects.txt:175 msgid "" -"Use an atomic transaction for updating the refs. If any of the refs fails to " -"update then the entire push will fail without changing any refs." +"This flag tells the command not to reuse existing object data at all, " +"including non deltified object, forcing recompression of everything. This " +"implies --no-reuse-delta. Useful only in the obscure case where wholesale " +"enforcement of a different compression level on the packed data is desired." msgstr "" #. type: Labeled list -#: en/git-send-pack.txt:84 +#: en/git-pack-objects.txt:176 #, no-wrap -msgid "<host>" +msgid "--compression=<n>" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:88 +#: en/git-pack-objects.txt:183 msgid "" -"A remote host to house the repository. When this part is specified, " -"'git-receive-pack' is invoked via ssh." +"Specifies compression level for newly-compressed data in the generated " +"pack. If not specified, pack compression level is determined first by " +"pack.compression, then by core.compression, and defaults to -1, the zlib " +"default, if neither is set. Add --no-reuse-object if you want to force a " +"uniform compression level on all data no matter the source." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:91 -msgid "The repository to update." +#: en/git-pack-objects.txt:188 +msgid "" +"Create a \"thin\" pack by omitting the common objects between a sender and a " +"receiver in order to reduce network transfer. This option only makes sense " +"in conjunction with --stdout." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:101 -msgid "There are three ways to specify which refs to update on the remote end." +#: en/git-pack-objects.txt:193 +msgid "" +"Note: A thin pack violates the packed archive format by omitting required " +"objects and is thus unusable by Git without making it self-contained. Use " +"`git index-pack --fix-thin` (see linkgit:git-index-pack[1]) to restore the " +"self-contained property." +msgstr "" + +#. type: Labeled list +#: en/git-pack-objects.txt:194 +#, no-wrap +msgid "--shallow" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:105 +#: en/git-pack-objects.txt:198 msgid "" -"With `--all` flag, all refs that exist locally are transferred to the remote " -"side. You cannot specify any '<ref>' if you use this flag." +"Optimize a pack that will be provided to a client with a shallow " +"repository. This option, combined with --thin, can result in a smaller pack " +"at the cost of speed." +msgstr "" + +#. type: Labeled list +#: en/git-pack-objects.txt:199 +#, no-wrap +msgid "--delta-base-offset" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:108 +#: en/git-pack-objects.txt:209 msgid "" -"Without `--all` and without any '<ref>', the heads that exist both on the " -"local side and on the remote side are updated." +"A packed archive can express the base object of a delta as either a 20-byte " +"object name or as an offset in the stream, but ancient versions of Git don't " +"understand the latter. By default, 'git pack-objects' only uses the former " +"format for better compatibility. This option allows the command to use the " +"latter format for compactness. Depending on the average delta chain length, " +"this option typically shrinks the resulting packfile by 3-5 per-cent." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:114 +#: en/git-pack-objects.txt:214 msgid "" -"When one or more '<ref>' are specified explicitly (whether on the command " -"line or via `--stdin`), it can be either a single pattern, or a pair of such " -"pattern separated by a colon \":\" (this means that a ref name cannot have a " -"colon in it). A single pattern '<name>' is just a shorthand for " -"'<name>:<name>'." +"Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]), `git " +"repack` (see linkgit:git-repack[1]) pass this option by default in modern " +"Git when they put objects in your repository into pack files. So does `git " +"bundle` (see linkgit:git-bundle[1]) when it creates a bundle." msgstr "" #. type: Plain text -#: en/git-send-pack.txt:122 +#: en/git-pack-objects.txt:224 msgid "" -"Each pattern pair consists of the source side (before the colon) and the " -"destination side (after the colon). The ref to be pushed is determined by " -"finding a match that matches the source side, and where it is pushed is " -"determined by using the destination side. The rules used to match a ref are " -"the same rules used by 'git rev-parse' to resolve a symbolic ref name. See " -"linkgit:git-rev-parse[1]." +"Specifies the number of threads to spawn when searching for best delta " +"matches. This requires that pack-objects be compiled with pthreads " +"otherwise this option is ignored with a warning. This is meant to reduce " +"packing time on multiprocessor machines. The required amount of memory for " +"the delta search window is however multiplied by the number of threads. " +"Specifying 0 will cause Git to auto-detect the number of CPU's and set the " +"number of threads accordingly." +msgstr "" + +#. type: Labeled list +#: en/git-pack-objects.txt:230 +#, no-wrap +msgid "--keep-true-parents" msgstr "" #. type: Plain text -#: en/git-send-pack.txt:127 -msgid "It is an error if <dst> matches more than one remote refs." +#: en/git-pack-objects.txt:233 +msgid "With this option, parents that are hidden by grafts are packed nevertheless." +msgstr "" + +#. type: Plain text +#: en/git-pack-objects.txt:239 +msgid "linkgit:git-rev-list[1] linkgit:git-repack[1] linkgit:git-prune-packed[1]" msgstr "" #. type: Title = -#: en/git-shell.txt:2 +#: en/git-pack-redundant.txt:2 #, no-wrap -msgid "git-shell(1)" +msgid "git-pack-redundant(1)" msgstr "" #. type: Plain text -#: en/git-shell.txt:7 -msgid "git-shell - Restricted login shell for Git-only SSH access" +#: en/git-pack-redundant.txt:7 +msgid "git-pack-redundant - Find redundant pack files" msgstr "" #. type: Plain text -#: en/git-shell.txt:15 +#: en/git-pack-redundant.txt:13 #, no-wrap msgid "" -"'chsh' -s $(command -v git-shell) <user>\n" -"'git clone' <user>`@localhost:/path/to/repo.git`\n" -"'ssh' <user>`@localhost`\n" +"'git pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename " +"... >\n" msgstr "" #. type: Plain text -#: en/git-shell.txt:23 +#: en/git-pack-redundant.txt:19 msgid "" -"This is a login shell for SSH accounts to provide restricted Git access. It " -"permits execution only of server-side Git commands implementing the " -"pull/push functionality, plus custom commands present in a subdirectory " -"named `git-shell-commands` in the user's home directory." +"This program computes which packs in your repository are redundant. The " +"output is suitable for piping to `xargs rm` if you are in the root of the " +"repository." msgstr "" #. type: Plain text -#: en/git-shell.txt:28 -msgid "'git shell' accepts the following commands after the `-c` option:" +#: en/git-pack-redundant.txt:24 +msgid "" +"'git pack-redundant' accepts a list of objects on standard input. Any " +"objects given will be ignored when checking which packs are required. This " +"makes the following command useful when wanting to remove packs which " +"contain unreachable objects." msgstr "" -#. type: Labeled list -#: en/git-shell.txt:29 -#, no-wrap -msgid "'git receive-pack <argument>'" +#. type: Plain text +#: en/git-pack-redundant.txt:27 +msgid "" +"git fsck --full --unreachable | cut -d ' ' -f3 | \\ git pack-redundant --all " +"| xargs rm" msgstr "" -#. type: Labeled list -#: en/git-shell.txt:30 -#, no-wrap -msgid "'git upload-pack <argument>'" +#. type: Plain text +#: en/git-pack-redundant.txt:34 +msgid "Processes all packs. Any filenames on the command line are ignored." msgstr "" #. type: Labeled list -#: en/git-shell.txt:31 +#: en/git-pack-redundant.txt:35 #, no-wrap -msgid "'git upload-archive <argument>'" +msgid "--alt-odb" msgstr "" #. type: Plain text -#: en/git-shell.txt:35 +#: en/git-pack-redundant.txt:38 msgid "" -"Call the corresponding server-side command to support the client's 'git " -"push', 'git fetch', or 'git archive --remote' request." -msgstr "" - -#. type: Labeled list -#: en/git-shell.txt:35 -#, no-wrap -msgid "'cvs server'" +"Don't require objects present in packs from alternate object directories to " +"be present in local packs." msgstr "" #. type: Plain text -#: en/git-shell.txt:37 -msgid "Imitate a CVS server. See linkgit:git-cvsserver[1]." +#: en/git-pack-redundant.txt:41 +msgid "Outputs some statistics to stderr. Has a small performance penalty." msgstr "" #. type: Plain text -#: en/git-shell.txt:42 +#: en/git-pack-redundant.txt:47 msgid "" -"If a `~/git-shell-commands` directory is present, 'git shell' will also " -"handle other, custom commands by running \"`git-shell-commands/<command> " -"<arguments>`\" from the user's home directory." +"linkgit:git-pack-objects[1] linkgit:git-repack[1] " +"linkgit:git-prune-packed[1]" msgstr "" -#. type: Title - -#: en/git-shell.txt:44 +#. type: Title = +#: en/git-pack-refs.txt:2 #, no-wrap -msgid "INTERACTIVE USE" +msgid "git-pack-refs(1)" msgstr "" #. type: Plain text -#: en/git-shell.txt:48 -msgid "" -"By default, the commands above can be executed only with the `-c` option; " -"the shell is not interactive." +#: en/git-pack-refs.txt:7 +msgid "git-pack-refs - Pack heads and tags for efficient repository access" msgstr "" #. type: Plain text -#: en/git-shell.txt:56 -msgid "" -"If a `~/git-shell-commands` directory is present, 'git shell' can also be " -"run interactively (with no arguments). If a `help` command is present in " -"the `git-shell-commands` directory, it is run to provide the user with an " -"overview of allowed actions. Then a \"git> \" prompt is presented at which " -"one can enter any of the commands from the `git-shell-commands` directory, " -"or `exit` to close the connection." +#: en/git-pack-refs.txt:12 +#, no-wrap +msgid "'git pack-refs' [--all] [--no-prune]\n" msgstr "" #. type: Plain text -#: en/git-shell.txt:61 +#: en/git-pack-refs.txt:24 msgid "" -"Generally this mode is used as an administrative interface to allow users to " -"list repositories they have access to, create, delete, or rename " -"repositories, or change repository descriptions and permissions." +"Traditionally, tips of branches and tags (collectively known as 'refs') were " +"stored one file per ref in a (sub)directory under `$GIT_DIR/refs` " +"directory. While many branch tips tend to be updated often, most tags and " +"some branch tips are never updated. When a repository has hundreds or " +"thousands of tags, this one-file-per-ref format both wastes storage and " +"hurts performance." msgstr "" #. type: Plain text -#: en/git-shell.txt:64 +#: en/git-pack-refs.txt:31 msgid "" -"If a `no-interactive-login` command exists, then it is run and the " -"interactive shell is aborted." +"This command is used to solve the storage and performance problem by storing " +"the refs in a single file, `$GIT_DIR/packed-refs`. When a ref is missing " +"from the traditional `$GIT_DIR/refs` directory hierarchy, it is looked up in " +"this file and used if found." msgstr "" #. type: Plain text -#: en/git-shell.txt:69 -msgid "To disable interactive logins, displaying a greeting instead:" -msgstr "" - -#. type: delimited block - -#: en/git-shell.txt:80 -#, no-wrap -msgid "" -"$ chsh -s /usr/bin/git-shell\n" -"$ mkdir $HOME/git-shell-commands\n" -"$ cat >$HOME/git-shell-commands/no-interactive-login <<\\EOF\n" -"#!/bin/sh\n" -"printf '%s\\n' \"Hi $USER! You've successfully authenticated, but I do " -"not\"\n" -"printf '%s\\n' \"provide interactive shell access.\"\n" -"exit 128\n" -"EOF\n" -"$ chmod +x $HOME/git-shell-commands/no-interactive-login\n" -msgstr "" - -#. type: Plain text -#: en/git-shell.txt:87 -msgid "ssh(1), linkgit:git-daemon[1], contrib/git-shell-commands/README" -msgstr "" - -#. type: Title = -#: en/git-sh-i18n--envsubst.txt:2 -#, no-wrap -msgid "git-sh-i18n{litdd}envsubst(1)" -msgstr "" - -#. type: Plain text -#: en/git-sh-i18n--envsubst.txt:7 -msgid "git-sh-i18n--envsubst - Git's own envsubst(1) for i18n fallbacks" +#: en/git-pack-refs.txt:34 +msgid "" +"Subsequent updates to branches always create new files under `$GIT_DIR/refs` " +"directory hierarchy." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:17 -#, no-wrap +#: en/git-pack-refs.txt:43 msgid "" -"eval_gettext () {\n" -"\tprintf \"%s\" \"$1\" | (\n" -"\t\texport PATH $('git sh-i18n{litdd}envsubst' --variables \"$1\");\n" -"\t\t'git sh-i18n{litdd}envsubst' \"$1\"\n" -"\t)\n" -"}\n" +"A recommended practice to deal with a repository with too many refs is to " +"pack its refs with `--all` once, and occasionally run `git pack-refs`. Tags " +"are by definition stationary and are not expected to change. Branch heads " +"will be packed with the initial `pack-refs --all`, but only the currently " +"active branch heads will become unpacked, and the next `pack-refs` (without " +"`--all`) will leave them unpacked." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:24 +#: en/git-pack-refs.txt:56 msgid "" -"This is not a command the end user would want to run. Ever. This " -"documentation is meant for people who are studying the plumbing scripts " -"and/or are writing new ones." +"The command by default packs all tags and refs that are already packed, and " +"leaves other refs alone. This is because branches are expected to be " +"actively developed and packing their tips does not help performance. This " +"option causes branch tips to be packed as well. Useful for a repository " +"with many branches of historical interests." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:29 +#: en/git-pack-refs.txt:61 msgid "" -"'git sh-i18n{litdd}envsubst' is Git's stripped-down copy of the GNU " -"`envsubst(1)` program that comes with the GNU gettext package. It's used " -"internally by linkgit:git-sh-i18n[1] to interpolate the variables passed to " -"the `eval_gettext` function." +"The command usually removes loose refs under `$GIT_DIR/refs` hierarchy after " +"packing them. This option tells it not to." msgstr "" #. type: Plain text -#: en/git-sh-i18n--envsubst.txt:33 +#: en/git-pack-refs.txt:69 msgid "" -"No promises are made about the interface, or that this program won't " -"disappear without warning in the next version of Git. Don't use it." +"Older documentation written before the packed-refs mechanism was introduced " +"may still say things like \".git/refs/heads/<branch> file exists\" when it " +"means \"branch <branch> exists\"." msgstr "" #. type: Title = -#: en/git-sh-i18n.txt:2 +#: en/git-parse-remote.txt:2 #, no-wrap -msgid "git-sh-i18n(1)" +msgid "git-parse-remote(1)" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:7 -msgid "git-sh-i18n - Git's i18n setup code for shell scripts" +#: en/git-parse-remote.txt:7 +msgid "" +"git-parse-remote - Routines to help parsing remote repository access " +"parameters" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:12 +#: en/git-parse-remote.txt:13 #, no-wrap -msgid "'. \"$(git --exec-path)/git-sh-i18n\"'\n" +msgid "'. \"$(git --exec-path)/git-parse-remote\"'\n" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:26 +#: en/git-parse-remote.txt:20 msgid "" -"The 'git sh-i18n scriptlet is designed to be sourced (using `.`) by Git's " -"porcelain programs implemented in shell script. It provides wrappers for the " -"GNU `gettext` and `eval_gettext` functions accessible through the " -"`gettext.sh` script, and provides pass-through fallbacks on systems without " -"GNU gettext." +"This script is included in various scripts to supply routines to parse files " +"under $GIT_DIR/remotes/ and $GIT_DIR/branches/ and configuration variables " +"that are related to fetching, pulling and pushing." msgstr "" -#. type: Labeled list -#: en/git-sh-i18n.txt:30 +#. type: Title = +#: en/git-patch-id.txt:2 #, no-wrap -msgid "gettext" +msgid "git-patch-id(1)" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:34 -msgid "" -"Currently a dummy fall-through function implemented as a wrapper around " -"`printf(1)`. Will be replaced by a real gettext implementation in a later " -"version." +#: en/git-patch-id.txt:7 +msgid "git-patch-id - Compute unique ID for a patch" msgstr "" -#. type: Labeled list -#: en/git-sh-i18n.txt:35 +#. type: Plain text +#: en/git-patch-id.txt:12 #, no-wrap -msgid "eval_gettext" +msgid "'git patch-id' [--stable | --unstable]\n" msgstr "" #. type: Plain text -#: en/git-sh-i18n.txt:40 -msgid "" -"Currently a dummy fall-through function implemented as a wrapper around " -"`printf(1)` with variables expanded by the " -"linkgit:git-sh-i18n{litdd}envsubst[1] helper. Will be replaced by a real " -"gettext implementation in a later version." +#: en/git-patch-id.txt:16 +msgid "Read a patch from the standard input and compute the patch ID for it." msgstr "" -#. type: Title = -#: en/git-shortlog.txt:2 -#, no-wrap -msgid "git-shortlog(1)" +#. type: Plain text +#: en/git-patch-id.txt:21 +msgid "" +"A \"patch ID\" is nothing but a sum of SHA-1 of the file diffs associated " +"with a patch, with whitespace and line numbers ignored. As such, it's " +"\"reasonably stable\", but at the same time also reasonably unique, i.e., " +"two patches that have the same \"patch ID\" are almost guaranteed to be the " +"same thing." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:7 -msgid "git-shortlog - Summarize 'git log' output" +#: en/git-patch-id.txt:23 +msgid "IOW, you can use this thing to look for likely duplicate commits." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:13 -#, no-wrap +#: en/git-patch-id.txt:29 msgid "" -"git log --pretty=short | 'git shortlog' [<options>]\n" -"'git shortlog' [<options>] [<revision range>] [[\\--] <path>...]\n" +"When dealing with 'git diff-tree' output, it takes advantage of the fact " +"that the patch is prefixed with the object name of the commit, and outputs " +"two 40-byte hexadecimal strings. The first string is the patch ID, and the " +"second string is the commit ID. This can be used to make a mapping from " +"patch ID to commit ID." msgstr "" -#. type: Plain text -#: en/git-shortlog.txt:18 -msgid "" -"Summarizes 'git log' output in a format suitable for inclusion in release " -"announcements. Each commit will be grouped by author and title." +#. type: Labeled list +#: en/git-patch-id.txt:33 +#, no-wrap +msgid "--stable" msgstr "" #. type: Plain text -#: en/git-shortlog.txt:20 -msgid "Additionally, \"[PATCH]\" will be stripped from the commit description." +#: en/git-patch-id.txt:35 +msgid "Use a \"stable\" sum of hashes as the patch ID. With this option:" msgstr "" #. type: Plain text -#: en/git-shortlog.txt:25 +#: en/git-patch-id.txt:41 msgid "" -"If no revisions are passed on the command line and either standard input is " -"not a terminal or there is no current branch, 'git shortlog' will output a " -"summary of the log read from standard input, without reference to the " -"current repository." +"Reordering file diffs that make up a patch does not affect the ID. In " +"particular, two patches produced by comparing the same two trees with two " +"different settings for \"-O<orderfile>\" result in the same patch ID " +"signature, thereby allowing the computed result to be used as a key to index " +"some meta-information about the change between the two trees;" msgstr "" #. type: Plain text -#: en/git-shortlog.txt:33 +#: en/git-patch-id.txt:47 msgid "" -"Sort output according to the number of commits per author instead of author " -"alphabetic order." +"Result is different from the value produced by git 1.9 and older or produced " +"when an \"unstable\" hash (see --unstable below) is configured - even when " +"used on a diff output taken without any use of \"-O<orderfile>\", thereby " +"making existing databases storing such \"unstable\" or historical patch-ids " +"unusable." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:37 -msgid "Suppress commit description and provide a commit count summary only." +#: en/git-patch-id.txt:49 +#, no-wrap +msgid "This is the default if patchid.stable is set to true.\n" msgstr "" #. type: Labeled list -#: en/git-shortlog.txt:39 +#: en/git-patch-id.txt:50 #, no-wrap -msgid "--email" +msgid "--unstable" msgstr "" #. type: Plain text -#: en/git-shortlog.txt:41 -msgid "Show the email address of each author." -msgstr "" - -#. type: Labeled list -#: en/git-shortlog.txt:42 -#, no-wrap -msgid "--format[=<format>]" +#: en/git-patch-id.txt:56 +msgid "" +"Use an \"unstable\" hash as the patch ID. With this option, the result " +"produced is compatible with the patch-id value produced by git 1.9 and " +"older. Users with pre-existing databases storing patch-ids produced by git " +"1.9 and older (who do not deal with reordered patches) may want to use this " +"option." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:47 -msgid "" -"Instead of the commit subject, use some other information to describe each " -"commit. '<format>' can be any string accepted by the `--format` option of " -"'git log', such as '* [%h] %s'. (See the \"PRETTY FORMATS\" section of " -"linkgit:git-log[1].)" +#: en/git-patch-id.txt:58 +msgid "This is the default." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:49 -msgid "Each pretty-printed commit will be rewrapped before it is shown." +#: en/git-patch-id.txt:61 +msgid "The diff to create the ID of." msgstr "" -#. type: Labeled list -#: en/git-shortlog.txt:51 +#. type: Title = +#: en/git-prune-packed.txt:2 #, no-wrap -msgid "--committer" +msgid "git-prune-packed(1)" msgstr "" #. type: Plain text -#: en/git-shortlog.txt:53 -msgid "Collect and show committer identities instead of authors." +#: en/git-prune-packed.txt:7 +msgid "git-prune-packed - Remove extra objects that are already in pack files" msgstr "" -#. type: Labeled list -#: en/git-shortlog.txt:54 +#. type: Plain text +#: en/git-prune-packed.txt:13 #, no-wrap -msgid "-w[<width>[,<indent1>[,<indent2>]]]" +msgid "'git prune-packed' [-n|--dry-run] [-q|--quiet]\n" msgstr "" #. type: Plain text -#: en/git-shortlog.txt:59 +#: en/git-prune-packed.txt:19 msgid "" -"Linewrap the output by wrapping each line at `width`. The first line of " -"each entry is indented by `indent1` spaces, and the second and subsequent " -"lines are indented by `indent2` spaces. `width`, `indent1`, and `indent2` " -"default to 76, 6 and 9 respectively." +"This program searches the `$GIT_OBJECT_DIRECTORY` for all objects that " +"currently exist in a pack file as well as the independent object " +"directories." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:62 -msgid "" -"If width is `0` (zero) then indent the lines of the output without wrapping " -"them." +#: en/git-prune-packed.txt:21 +msgid "All such extra objects are removed." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:71 +#: en/git-prune-packed.txt:24 en/git-repack.txt:24 msgid "" -"Show only commits in the specified revision range. When no <revision range> " -"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " -"current commit). `origin..HEAD` specifies all the commits reachable from " -"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " -"of ways to spell <revision range>, see the \"Specifying Ranges\" section of " -"linkgit:gitrevisions[7]." +"A pack is a collection of objects, individually compressed, with delta " +"compression applied, stored in a single file, with an associated index file." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:75 -#, no-wrap +#: en/git-prune-packed.txt:27 en/git-repack.txt:27 msgid "" -"[\\--] <path>...::\n" -"\tConsider only commits that are enough to explain how the files\n" -"\tthat match the specified paths came to be.\n" +"Packs are used to reduce the load on mirror systems, backup engines, disk " +"storage, etc." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:78 +#: en/git-prune-packed.txt:35 msgid "" -"Paths may need to be prefixed with \"\\-- \" to separate them from options " -"or the revision range, when confusion arises." +"Don't actually remove any objects, only show those that would have been " +"removed." msgstr "" #. type: Plain text -#: en/git-shortlog.txt:85 -msgid "" -"The `.mailmap` feature is used to coalesce together commits by the same " -"person in the shortlog, where their name and/or email address was spelled " -"differently." +#: en/git-prune-packed.txt:39 +msgid "Squelch the progress indicator." +msgstr "" + +#. type: Plain text +#: en/git-prune-packed.txt:44 +msgid "linkgit:git-pack-objects[1] linkgit:git-repack[1]" msgstr "" #. type: Title = -#: en/git-show-branch.txt:2 +#: en/git-prune.txt:2 #, no-wrap -msgid "git-show-branch(1)" +msgid "git-prune(1)" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:7 -msgid "git-show-branch - Show branches and their commits" +#: en/git-prune.txt:7 +msgid "git-prune - Prune all unreachable objects from the object database" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:17 +#: en/git-prune.txt:13 #, no-wrap -msgid "" -"'git show-branch' [-a|--all] [-r|--remotes] [--topo-order | --date-order]\n" -"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n" -"\t\t[--more=<n> | --list | --independent | --merge-base]\n" -"\t\t[--no-name | --sha1-name] [--topics]\n" -"\t\t[(<rev> | <glob>)...]\n" -"'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]\n" +msgid "'git prune' [-n] [-v] [--expire <expire>] [--] [<head>...]\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:24 +#: en/git-prune.txt:19 msgid "" -"Shows the commit ancestry graph starting from the commits named with <rev>s " -"or <globs>s (or all refs under refs/heads and/or refs/tags) semi-visually." +"In most cases, users should run 'git gc', which calls 'git prune'. See the " +"section \"NOTES\", below." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:26 -msgid "It cannot show more than 29 branches and commits at a time." +#: en/git-prune.txt:29 +msgid "" +"This runs 'git fsck --unreachable' using all the refs available in `refs/`, " +"optionally with additional set of objects specified on the command line, and " +"prunes all unpacked objects unreachable from any of these head objects from " +"the object database. In addition, it prunes the unpacked objects that are " +"also found in packs by running 'git prune-packed'. It also removes entries " +"from .git/shallow that are not reachable by any ref." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:29 +#: en/git-prune.txt:32 msgid "" -"It uses `showbranch.default` multi-valued configuration items if no <rev> or " -"<glob> is given on the command line." +"Note that unreachable, packed objects will remain. If this is not desired, " +"see linkgit:git-repack[1]." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:33 -#, no-wrap -msgid "<rev>" +#. type: Plain text +#: en/git-prune.txt:40 +msgid "Do not remove anything; just report what it would remove." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:36 -msgid "" -"Arbitrary extended SHA-1 expression (see linkgit:gitrevisions[7]) that " -"typically names a branch head or a tag." +#: en/git-prune.txt:44 +msgid "Report all removed objects." msgstr "" #. type: Labeled list -#: en/git-show-branch.txt:37 +#: en/git-prune.txt:48 en/git-worktree.txt:124 #, no-wrap -msgid "<glob>" +msgid "--expire <time>" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:42 -msgid "" -"A glob pattern that matches branch or tag names under refs/. For example, " -"if you have many topic branches under refs/heads/topic, giving `topic/*` " -"would show all of them." +#: en/git-prune.txt:50 +msgid "Only expire loose objects older than <time>." msgstr "" -#. type: Plain text -#: en/git-show-branch.txt:46 -msgid "Show the remote-tracking branches." +#. type: Labeled list +#: en/git-prune.txt:51 +#, no-wrap +msgid "<head>..." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:50 -msgid "Show both remote-tracking branches and local branches." -msgstr "" - -#. type: Labeled list -#: en/git-show-branch.txt:51 -#, no-wrap -msgid "--current" +#: en/git-prune.txt:55 +msgid "" +"In addition to objects reachable from any of our references, keep objects " +"reachable from listed <head>s." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:55 +#: en/git-prune.txt:62 msgid "" -"With this option, the command includes the current branch to the list of " -"revs to be shown when it is not given on the command line." +"To prune objects not used by your repository or another that borrows from " +"your repository via its `.git/objects/info/alternates`:" msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:56 en/rev-list-options.txt:635 +#. type: delimited block - +#: en/git-prune.txt:65 #, no-wrap -msgid "--topo-order" +msgid "$ git prune $(cd ../another && git rev-parse --all)\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:61 +#: en/git-prune.txt:73 msgid "" -"By default, the branches and their commits are shown in reverse " -"chronological order. This option makes them appear in topological order " -"(i.e., descendant commits are shown before their parents)." +"In most cases, users will not need to call 'git prune' directly, but should " +"instead call 'git gc', which handles pruning along with many other " +"housekeeping tasks." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:62 en/rev-list-options.txt:627 -#, no-wrap -msgid "--date-order" +#. type: Plain text +#: en/git-prune.txt:76 +msgid "" +"For a description of which objects are considered for pruning, see 'git " +"fsck''s --unreachable option." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:66 -msgid "" -"This option is similar to `--topo-order` in the sense that no parent comes " -"before all of its children, but otherwise commits are ordered according to " -"their commit date." +#: en/git-prune.txt:83 +msgid "linkgit:git-fsck[1], linkgit:git-gc[1], linkgit:git-reflog[1]" msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:67 en/rev-list-options.txt:333 en/rev-list-options.txt:466 +#. type: Title = +#: en/git-pull.txt:2 #, no-wrap -msgid "--sparse" +msgid "git-pull(1)" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:71 +#: en/git-pull.txt:7 msgid "" -"By default, the output omits merges that are reachable from only one tip " -"being shown. This option makes them visible." +"git-pull - Fetch from and integrate with another repository or a local " +"branch" msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:72 +#. type: Plain text +#: en/git-pull.txt:13 #, no-wrap -msgid "--more=<n>" +msgid "'git pull' [options] [<repository> [<refspec>...]]\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:79 +#: en/git-pull.txt:21 msgid "" -"Usually the command stops output upon showing the commit that is the common " -"ancestor of all the branches. This flag tells the command to go <n> more " -"common commits beyond that. When <n> is negative, display only the " -"<reference>s given, without showing the commit ancestry tree." +"Incorporates changes from a remote repository into the current branch. In " +"its default mode, `git pull` is shorthand for `git fetch` followed by `git " +"merge FETCH_HEAD`." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:82 -msgid "Synonym to `--more=-1`" -msgstr "" - -#. type: Labeled list -#: en/git-show-branch.txt:83 -#, no-wrap -msgid "--merge-base" +#: en/git-pull.txt:26 +msgid "" +"More precisely, 'git pull' runs 'git fetch' with the given parameters and " +"calls 'git merge' to merge the retrieved branch heads into the current " +"branch. With `--rebase`, it runs 'git rebase' instead of 'git merge'." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:89 +#: en/git-pull.txt:33 msgid "" -"Instead of showing the commit list, determine possible merge bases for the " -"specified commits. All merge bases will be contained in all specified " -"commits. This is different from how linkgit:git-merge-base[1] handles the " -"case of three or more commits." +"<repository> should be the name of a remote repository as passed to " +"linkgit:git-fetch[1]. <refspec> can name an arbitrary remote ref (for " +"example, the name of a tag) or even a collection of refs with corresponding " +"remote-tracking branches (e.g., " +"refs/heads/{asterisk}:refs/remotes/origin/{asterisk}), but usually it is the " +"name of a branch in the remote repository." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:93 +#: en/git-pull.txt:37 msgid "" -"Among the <reference>s given, display only the ones that cannot be reached " -"from any other <reference>." +"Default values for <repository> and <branch> are read from the \"remote\" " +"and \"merge\" configuration for the current branch as set by " +"linkgit:git-branch[1] `--track`." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:94 +#. type: delimited block - +#: en/git-pull.txt:47 #, no-wrap -msgid "--no-name" +msgid "" +"\t A---B---C master on origin\n" +"\t /\n" +" D---E---F---G master\n" +"\t^\n" +"\torigin/master in your repository\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:96 -msgid "Do not show naming strings for each commit." +#: en/git-pull.txt:54 +msgid "" +"Then \"`git pull`\" will fetch and replay the changes from the remote " +"`master` branch since it diverged from the local `master` (i.e., `E`) until " +"its current commit (`C`) on top of `master` and record the result in a new " +"commit along with the names of the two parent commits and a log message from " +"the user describing the changes." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:97 +#. type: delimited block - +#: en/git-pull.txt:59 #, no-wrap -msgid "--sha1-name" +msgid "" +"\t A---B---C origin/master\n" +"\t / \\\n" +" D---E---F---G---H master\n" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:102 +#: en/git-pull.txt:63 msgid "" -"Instead of naming the commits using the path to reach them from heads " -"(e.g. \"master~2\" to mean the grandparent of \"master\"), name them with " -"the unique prefix of their object names." +"See linkgit:git-merge[1] for details, including how conflicts are presented " +"and handled." msgstr "" -#. type: Labeled list -#: en/git-show-branch.txt:103 -#, no-wrap -msgid "--topics" +#. type: Plain text +#: en/git-pull.txt:68 +msgid "" +"In Git 1.7.0 or later, to cancel a conflicting merge, use `git reset " +"--merge`. *Warning*: In older versions of Git, running 'git pull' with " +"uncommitted changes is discouraged: while possible, it leaves you in a state " +"that may be hard to back out of in the case of a conflict." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:110 +#: en/git-pull.txt:73 msgid "" -"Shows only commits that are NOT on the first branch given. This helps track " -"topic branches by hiding any commit that is already in the main line of " -"development. When given \"git show-branch --topics master topic1 topic2\", " -"this will show the revisions given by \"git rev-list {caret}master topic1 " -"topic2\"" +"If any of the remote changes overlap with local uncommitted changes, the " +"merge will be automatically cancelled and the work tree untouched. It is " +"generally best to get any local changes in working order before pulling or " +"stash them away with linkgit:git-stash[1]." +msgstr "" + +#. type: Plain text +#: en/git-pull.txt:82 +msgid "" +"This is passed to both underlying git-fetch to squelch reporting of during " +"transfer, and underlying git-merge to squelch output during merging." +msgstr "" + +#. type: Plain text +#: en/git-pull.txt:86 +msgid "Pass --verbose to git-fetch and git-merge." msgstr "" #. type: Labeled list -#: en/git-show-branch.txt:112 +#: en/git-pull.txt:87 #, no-wrap -msgid "--reflog[=<n>[,<base>]] [<ref>]" +msgid "--[no-]recurse-submodules[=yes|on-demand|no]" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:118 +#: en/git-pull.txt:95 msgid "" -"Shows <n> most recent ref-log entries for the given ref. If <base> is " -"given, <n> entries going back from that entry. <base> can be specified as " -"count or date. When no explicit <ref> parameter is given, it defaults to " -"the current branch (or `HEAD` if it is detached)." +"This option controls if new commits of all populated submodules should be " +"fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]). That " +"might be necessary to get the data needed for merging submodule commits, a " +"feature Git learned in 1.7.3. Notice that the result of a merge will not be " +"checked out in the submodule, \"git submodule update\" has to be called " +"afterwards to bring the work tree up to date with the merge result." msgstr "" -#. type: Plain text -#: en/git-show-branch.txt:123 -msgid "" -"Color the status sign (one of these: `*` `!` `+` `-`) of each commit " -"corresponding to the branch it's in. The value must be always (the " -"default), never, or auto." +#. type: Title ~ +#: en/git-pull.txt:97 +#, no-wrap +msgid "Options related to merging" +msgstr "" + +#. type: Labeled list +#: en/git-pull.txt:104 +#, no-wrap +msgid "--rebase[=false|true|preserve|interactive]" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:128 +#: en/git-pull.txt:110 msgid "" -"Turn off colored output, even when the configuration file gives the default " -"to color output. Same as `--color=never`." +"When true, rebase the current branch on top of the upstream branch after " +"fetching. If there is a remote-tracking branch corresponding to the upstream " +"branch and the upstream branch was rebased since last fetched, the rebase " +"uses that information to avoid rebasing non-local changes." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:131 +#: en/git-pull.txt:113 msgid "" -"Note that --more, --list, --independent and --merge-base options are " -"mutually exclusive." +"When set to preserve, rebase with the `--preserve-merges` option passed to " +"`git rebase` so that locally created merge commits will not be flattened." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:139 -msgid "" -"Given N <references>, the first N lines are the one-line description from " -"their commit message. The branch head that is pointed at by $GIT_DIR/HEAD " -"is prefixed with an asterisk `*` character while other heads are prefixed " -"with a `!` character." +#: en/git-pull.txt:115 +msgid "When false, merge the current branch into the upstream branch." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:146 -msgid "" -"Following these N lines, one-line log for each commit is displayed, indented " -"N places. If a commit is on the I-th branch, the I-th indentation character " -"shows a `+` sign; otherwise it shows a space. Merge commits are denoted by " -"a `-` sign. Each commit shows a short name that can be used as an extended " -"SHA-1 to name that commit." +#: en/git-pull.txt:117 +msgid "When `interactive`, enable the interactive mode of rebase." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:149 +#: en/git-pull.txt:121 msgid "" -"The following example shows three branches, \"master\", \"fixes\" and " -"\"mhf\":" +"See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in " +"linkgit:git-config[1] if you want to make `git pull` always use `--rebase` " +"instead of merging." msgstr "" -#. type: delimited block - -#: en/git-show-branch.txt:155 -#, no-wrap +#. type: Plain text +#: en/git-pull.txt:127 msgid "" -"$ git show-branch master fixes mhf\n" -"* [master] Add 'git show-branch'.\n" -" ! [fixes] Introduce \"reset type\" flag to \"git reset\"\n" -" ! [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" -"---\n" +"This is a potentially _dangerous_ mode of operation. It rewrites history, " +"which does not bode well when you published that history already. Do *not* " +"use this option unless you have read linkgit:git-rebase[1] carefully." msgstr "" -#. type: delimited block - -#: en/git-show-branch.txt:167 +#. type: Labeled list +#: en/git-pull.txt:128 en/git-svn.txt:245 #, no-wrap -msgid "" -" + [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" -" + [mhf~1] Use git-octopus when pulling more than one heads.\n" -" + [fixes] Introduce \"reset type\" flag to \"git reset\"\n" -" + [mhf~2] \"git fetch --force\".\n" -" + [mhf~3] Use .git/remote/origin, not .git/branches/origin.\n" -" + [mhf~4] Make \"git pull\" and \"git fetch\" default to origin\n" -" + [mhf~5] Infamous 'octopus merge'\n" -" + [mhf~6] Retire git-parse-remote.\n" -" + [mhf~7] Multi-head fetch.\n" -" + [mhf~8] Start adding the $GIT_DIR/remotes/ support.\n" -"*++ [master] Add 'git show-branch'.\n" +msgid "--no-rebase" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:174 -msgid "" -"These three branches all forked from a common commit, [master], whose commit " -"message is \"Add {apostrophe}git show-branch{apostrophe}\". The \"fixes\" " -"branch adds one commit \"Introduce \"reset type\" flag to \"git " -"reset\"\". The \"mhf\" branch adds many other commits. The current branch " -"is \"master\"." +#: en/git-pull.txt:130 +msgid "Override earlier --rebase." msgstr "" -#. type: Plain text -#: en/git-show-branch.txt:182 -msgid "" -"If you keep your primary branches immediately under `refs/heads`, and topic " -"branches in subdirectories of it, having the following in the configuration " -"file may help:" +#. type: Labeled list +#: en/git-pull.txt:131 en/git-rebase.txt:442 +#, no-wrap +msgid "--autostash" msgstr "" -#. type: delimited block - -#: en/git-show-branch.txt:187 +#. type: Labeled list +#: en/git-pull.txt:132 en/git-rebase.txt:443 #, no-wrap -msgid "" -"[showbranch]\n" -"\tdefault = --topo-order\n" -"\tdefault = heads/*\n" +msgid "--no-autostash" msgstr "" #. type: Plain text -#: en/git-show-branch.txt:193 +#: en/git-pull.txt:137 msgid "" -"With this, `git show-branch` without extra parameters would show only the " -"primary branches. In addition, if you happen to be on your topic branch, it " -"is shown as well." -msgstr "" - -#. type: delimited block - -#: en/git-show-branch.txt:196 -#, no-wrap -msgid "$ git show-branch --reflog=\"10,1 hour ago\" --list master\n" +"Before starting rebase, stash local modifications away (see " +"linkgit:git-stash[1]) if needed, and apply the stash when " +"done. `--no-autostash` is useful to override the `rebase.autoStash` " +"configuration variable (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-show-branch.txt:201 -msgid "" -"shows 10 reflog entries going back from the tip as of 1 hour ago. Without " -"`--list`, the output also shows how these tips are topologically related " -"with each other." +#: en/git-pull.txt:139 +msgid "This option is only valid when \"--rebase\" is used." msgstr "" -#. type: Title = -#: en/git-show-index.txt:2 +#. type: Title ~ +#: en/git-pull.txt:141 #, no-wrap -msgid "git-show-index(1)" +msgid "Options related to fetching" msgstr "" -#. type: Plain text -#: en/git-show-index.txt:7 -msgid "git-show-index - Show packed archive index" +#. type: Title - +#: en/git-pull.txt:152 +#, no-wrap +msgid "DEFAULT BEHAVIOUR" msgstr "" #. type: Plain text -#: en/git-show-index.txt:13 -#, no-wrap -msgid "'git show-index'\n" +#: en/git-pull.txt:159 +msgid "" +"Often people use `git pull` without giving any parameter. Traditionally, " +"this has been equivalent to saying `git pull origin`. However, when " +"configuration `branch.<name>.remote` is present while on branch `<name>`, " +"that value is used instead of `origin`." msgstr "" #. type: Plain text -#: en/git-show-index.txt:20 +#: en/git-pull.txt:164 msgid "" -"Read the idx file for a Git packfile created with 'git pack-objects' command " -"from the standard input, and dump its contents." +"In order to determine what URL to use to fetch from, the value of the " +"configuration `remote.<origin>.url` is consulted and if there is not any " +"such variable, the value on `URL: ` line in `$GIT_DIR/remotes/<origin>` file " +"is used." msgstr "" #. type: Plain text -#: en/git-show-index.txt:24 +#: en/git-pull.txt:173 msgid "" -"The information it outputs is subset of what you can get from 'git " -"verify-pack -v'; this command only shows the packfile offset and SHA-1 of " -"each object." +"In order to determine what remote branches to fetch (and optionally store in " +"the remote-tracking branches) when the command is run without any refspec " +"parameters on the command line, values of the configuration variable " +"`remote.<origin>.fetch` are consulted, and if there aren't any, " +"`$GIT_DIR/remotes/<origin>` file is consulted and its `Pull: ` lines are " +"used. In addition to the refspec formats described in the OPTIONS section, " +"you can have a globbing refspec that looks like this:" msgstr "" -#. type: Title = -#: en/git-show-ref.txt:2 +#. type: delimited block - +#: en/git-pull.txt:176 #, no-wrap -msgid "git-show-ref(1)" -msgstr "" - -#. type: Plain text -#: en/git-show-ref.txt:7 -msgid "git-show-ref - List references in a local repository" +msgid "refs/heads/*:refs/remotes/origin/*\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:15 -#, no-wrap +#: en/git-pull.txt:183 msgid "" -"'git show-ref' [-q|--quiet] [--verify] [--head] [-d|--dereference]\n" -"\t [-s|--hash[=<n>]] [--abbrev[=<n>]] [--tags]\n" -"\t [--heads] [--] [<pattern>...]\n" -"'git show-ref' --exclude-existing[=<pattern>]\n" +"A globbing refspec must have a non-empty RHS (i.e. must store what were " +"fetched in remote-tracking branches), and its LHS and RHS must end with " +"`/*`. The above specifies that all remote branches are tracked using " +"remote-tracking branches in `refs/remotes/origin/` hierarchy under the same " +"name." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:23 +#: en/git-pull.txt:187 msgid "" -"Displays references available in a local repository along with the " -"associated commit IDs. Results can be filtered using a pattern and tags can " -"be dereferenced into object IDs. Additionally, it can be used to test " -"whether a particular ref exists." +"The rule to determine which remote branch to merge after fetching is a bit " +"involved, in order not to break backward compatibility." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:25 -msgid "By default, shows the tags, heads, and remote refs." +#: en/git-pull.txt:190 +msgid "" +"If explicit refspecs were given on the command line of `git pull`, they are " +"all merged." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:29 +#: en/git-pull.txt:195 msgid "" -"The --exclude-existing form is a filter that does the inverse. It reads refs " -"from stdin, one ref per line, and shows those that don't exist in the local " -"repository." +"When no refspec was given on the command line, then `git pull` uses the " +"refspec from the configuration or `$GIT_DIR/remotes/<origin>`. In such " +"cases, the following rules apply:" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:32 +#: en/git-pull.txt:199 msgid "" -"Use of this utility is encouraged in favor of directly accessing files under " -"the `.git` directory." -msgstr "" - -#. type: Labeled list -#: en/git-show-ref.txt:36 -#, no-wrap -msgid "--head" +"If `branch.<name>.merge` configuration for the current branch `<name>` " +"exists, that is the name of the branch at the remote site that is merged." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:39 -msgid "Show the HEAD reference, even if it would normally be filtered out." +#: en/git-pull.txt:201 +msgid "If the refspec is a globbing one, nothing is merged." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:46 -msgid "" -"Limit to \"refs/heads\" and \"refs/tags\", respectively. These options are " -"not mutually exclusive; when given both, references stored in \"refs/heads\" " -"and \"refs/tags\" are displayed." -msgstr "" - -#. type: Labeled list -#: en/git-show-ref.txt:48 -#, no-wrap -msgid "--dereference" +#: en/git-pull.txt:203 +msgid "Otherwise the remote branch of the first refspec is merged." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:52 +#: en/git-pull.txt:211 msgid "" -"Dereference tags into object IDs as well. They will be shown with " -"\"{caret}{}\" appended." +"Update the remote-tracking branches for the repository you cloned from, then " +"merge one of them into your current branch:" msgstr "" -#. type: Labeled list -#: en/git-show-ref.txt:54 +#. type: delimited block - +#: en/git-pull.txt:214 #, no-wrap -msgid "--hash[=<n>]" +msgid "$ git pull, git pull origin\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:58 +#: en/git-pull.txt:219 msgid "" -"Only show the SHA-1 hash, not the reference name. When combined with " -"--dereference the dereferenced tag will still be shown after the SHA-1." +"Normally the branch merged in is the HEAD of the remote repository, but the " +"choice is determined by the branch.<name>.remote and branch.<name>.merge " +"options; see linkgit:git-config[1] for details." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:64 -msgid "" -"Enable stricter reference checking by requiring an exact ref path. Aside " -"from returning an error code of 1, it will also print an error message if " -"`--quiet` was not specified." +#: en/git-pull.txt:221 +msgid "Merge into the current branch the remote branch `next`:" msgstr "" -#. type: Plain text -#: en/git-show-ref.txt:69 -msgid "" -"Abbreviate the object name. When using `--hash`, you do not have to say " -"`--hash --abbrev`; `--hash=n` would do." +#. type: delimited block - +#: en/git-pull.txt:224 +#, no-wrap +msgid "$ git pull origin next\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:75 +#: en/git-pull.txt:229 msgid "" -"Do not print any results to stdout. When combined with `--verify` this can " -"be used to silently check if a reference exists." +"This leaves a copy of `next` temporarily in FETCH_HEAD, but does not update " +"any remote-tracking branches. Using remote-tracking branches, the same can " +"be done by invoking fetch and merge:" msgstr "" -#. type: Labeled list -#: en/git-show-ref.txt:76 +#. type: delimited block - +#: en/git-pull.txt:233 #, no-wrap -msgid "--exclude-existing[=<pattern>]" +msgid "" +"$ git fetch origin\n" +"$ git merge origin/next\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:81 +#: en/git-pull.txt:238 msgid "" -"Make 'git show-ref' act as a filter that reads refs from stdin of the form " -"\"`^(?:<anything>\\s)?<refname>(?:\\^{})?$`\" and performs the following " -"actions on each:" +"If you tried a pull which resulted in complex conflicts and would want to " +"start over, you can recover with 'git reset'." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:82 -msgid "strip \"{caret}{}\" at the end of line if any;" +#: en/git-pull.txt:254 +msgid "linkgit:git-fetch[1], linkgit:git-merge[1], linkgit:git-config[1]" msgstr "" -#. type: Plain text -#: en/git-show-ref.txt:83 -msgid "ignore if pattern is provided and does not head-match refname;" +#. type: Title = +#: en/git-push.txt:2 +#, no-wrap +msgid "git-push(1)" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:84 -msgid "warn if refname is not a well-formed refname and skip;" +#: en/git-push.txt:7 +msgid "git-push - Update remote refs along with associated objects" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:85 -msgid "ignore if refname is a ref that exists in the local repository;" +#: en/git-push.txt:18 +#, no-wrap +msgid "" +"'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | " +"--dry-run] [--receive-pack=<git-receive-pack>]\n" +"\t [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | " +"--verbose]\n" +"\t [-u | --set-upstream] [--push-option=<string>]\n" +"\t [--[no-]signed|--sign=(true|false|if-asked)]\n" +"\t [--force-with-lease[=<refname>[:<expect>]]]\n" +"\t [--no-verify] [<repository> [<refspec>...]]\n" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:86 -msgid "otherwise output the line." +#: en/git-push.txt:24 +msgid "" +"Updates remote refs using local refs, while sending objects necessary to " +"complete the given refs." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:95 +#: en/git-push.txt:28 msgid "" -"Show references matching one or more patterns. Patterns are matched from the " -"end of the full name, and only complete parts are matched, e.g. 'master' " -"matches 'refs/heads/master', 'refs/remotes/origin/master', " -"'refs/tags/jedi/master' but not 'refs/heads/mymaster' or " -"'refs/remotes/master/jedi'." +"You can make interesting things happen to a repository every time you push " +"into it, by setting up 'hooks' there. See documentation for " +"linkgit:git-receive-pack[1]." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:100 -msgid "The output is in the format: '<SHA-1 ID>' '<space>' '<reference name>'." +#: en/git-push.txt:33 +msgid "" +"When the command line does not specify where to push with the `<repository>` " +"argument, `branch.*.remote` configuration for the current branch is " +"consulted to determine where to push. If the configuration is missing, it " +"defaults to 'origin'." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:111 -#, no-wrap +#. type: Plain text +#: en/git-push.txt:39 msgid "" -"$ git show-ref --head --dereference\n" -"832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD\n" -"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master\n" -"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin\n" -"3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c\n" -"6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}\n" -"055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4\n" -"423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}\n" -"...\n" +"When the command line does not specify what to push with `<refspec>...` " +"arguments or `--all`, `--mirror`, `--tags` options, the command finds the " +"default `<refspec>` by consulting `remote.*.push` configuration, and if it " +"is not found, honors `push.default` configuration to decide what to push " +"(See linkgit:git-config[1] for the meaning of `push.default`)." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:114 -msgid "When using --hash (and not --dereference) the output format is: '<SHA-1 ID>'" +#: en/git-push.txt:46 +msgid "" +"When neither the command-line nor the configuration specify what to push, " +"the default behavior is used, which corresponds to the `simple` value for " +"`push.default`: the current branch is pushed to the corresponding upstream " +"branch, but as a safety measure, the push is aborted if the upstream branch " +"does not have the same name as the local one." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:121 +#. type: Title - +#: en/git-push.txt:49 #, no-wrap -msgid "" -"$ git show-ref --heads --hash\n" -"2e3ba0114a1f52b47df29743d6915d056be13278\n" -"185008ae97960c8d551adcd9e23565194651b5d1\n" -"03adf42c988195b50e1a1935ba5fcbc39b2b029b\n" -"...\n" +msgid "OPTIONS[[OPTIONS]]" msgstr "" #. type: Plain text -#: en/git-show-ref.txt:129 +#: en/git-push.txt:55 msgid "" -"To show all references called \"master\", whether tags or heads or anything " -"else, and regardless of how deep in the reference naming hierarchy they are, " -"use:" +"The \"remote\" repository that is destination of a push operation. This " +"parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or " +"the name of a remote (see the section <<REMOTES,REMOTES>> below)." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:132 +#. type: Labeled list +#: en/git-push.txt:56 #, no-wrap -msgid "\tgit show-ref master\n" +msgid "<refspec>..." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:136 +#: en/git-push.txt:61 msgid "" -"This will show \"refs/heads/master\" but also " -"\"refs/remote/other-repo/master\", if such references exists." +"Specify what destination ref to update with what source object. The format " +"of a <refspec> parameter is an optional plus `+`, followed by the source " +"object <src>, followed by a colon `:`, followed by the destination ref " +"<dst>." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:138 -msgid "When using the `--verify` flag, the command requires an exact path:" +#: en/git-push.txt:65 +msgid "" +"The <src> is often the name of the branch you would want to push, but it can " +"be any arbitrary \"SHA-1 expression\", such as `master~4` or `HEAD` (see " +"linkgit:gitrevisions[7])." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:141 -#, no-wrap -msgid "\tgit show-ref --verify refs/heads/master\n" +#. type: Plain text +#: en/git-push.txt:75 +msgid "" +"The <dst> tells which ref on the remote side is updated with this " +"push. Arbitrary expressions cannot be used here, an actual ref must be " +"named. If `git push [<repository>]` without any `<refspec>` argument is set " +"to update some ref at the destination with `<src>` with " +"`remote.<repository>.push` configuration variable, `:<dst>` part can be " +"omitted--such a push will update a ref that `<src>` normally updates without " +"any `<refspec>` on the command line. Otherwise, missing `:<dst>` means to " +"update the same ref as the `<src>`." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:144 -msgid "will only match the exact branch called \"master\"." +#: en/git-push.txt:83 +msgid "" +"The object referenced by <src> is used to update the <dst> reference on the " +"remote side. By default this is only allowed if <dst> is not a tag " +"(annotated or lightweight), and then only if it can fast-forward <dst>. By " +"having the optional leading `+`, you can tell Git to update the <dst> ref " +"even if it is not allowed by default (e.g., it is not a fast-forward.) This " +"does *not* attempt to merge <src> into <dst>. See EXAMPLES below for " +"details." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:147 -msgid "" -"If nothing matches, 'git show-ref' will return an error code of 1, and in " -"the case of verification, it will show an error message." +#: en/git-push.txt:85 +msgid "`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:150 +#: en/git-push.txt:88 msgid "" -"For scripting, you can ask it to be quiet with the \"--quiet\" flag, which " -"allows you to do things like" +"Pushing an empty <src> allows you to delete the <dst> ref from the remote " +"repository." msgstr "" -#. type: delimited block - -#: en/git-show-ref.txt:154 -#, no-wrap +#. type: Plain text +#: en/git-push.txt:93 msgid "" -"\tgit show-ref --quiet --verify -- \"refs/heads/$headname\" ||\n" -"\t\techo \"$headname is not a valid branch\"\n" +"The special refspec `:` (or `+:` to allow non-fast-forward updates) directs " +"Git to push \"matching\" branches: for every branch that exists on the local " +"side, the remote side is updated if a branch of the same name already exists " +"on the remote side." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:159 +#: en/git-push.txt:97 msgid "" -"to check whether a particular branch exists or not (notice how we don't " -"actually want to show any results, and we want to use the full refname for " -"it in order to not trigger the problem with ambiguous partial matches)." +"Push all branches (i.e. refs under `refs/heads/`); cannot be used with other " +"<refspec>." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:163 +#: en/git-push.txt:105 msgid "" -"To show only tags, or only proper branch heads, use \"--tags\" and/or " -"\"--heads\" respectively (using both means that it shows tags and heads, but " -"not other random references under the refs/ subdirectory)." +"Remove remote branches that don't have a local counterpart. For example a " +"remote branch `tmp` will be removed if a local branch with the same name " +"doesn't exist any more. This also respects refspecs, e.g. `git push --prune " +"remote refs/heads/*:refs/tmp/*` would make sure that remote `refs/tmp/foo` " +"will be removed if `refs/heads/foo` doesn't exist." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:166 +#: en/git-push.txt:116 msgid "" -"To do automatic tag object dereferencing, use the \"-d\" or " -"\"--dereference\" flag, so you can do" -msgstr "" - -#. type: delimited block - -#: en/git-show-ref.txt:169 -#, no-wrap -msgid "\tgit show-ref --tags --dereference\n" +"Instead of naming each ref to push, specifies that all refs under `refs/` " +"(which includes but is not limited to `refs/heads/`, `refs/remotes/`, and " +"`refs/tags/`) be mirrored to the remote repository. Newly created local " +"refs will be pushed to the remote end, locally updated refs will be force " +"updated on the remote end, and deleted refs will be removed from the remote " +"end. This is the default if the configuration option " +"`remote.<remote>.mirror` is set." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:172 -msgid "to get a listing of all tags together with what they dereference." +#: en/git-push.txt:125 +msgid "" +"Produce machine-readable output. The output status line for each ref will " +"be tab-separated and sent to stdout instead of stderr. The full symbolic " +"names of the refs will be given." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:176 -msgid "`.git/refs/*`, `.git/packed-refs`" +#: en/git-push.txt:129 +msgid "" +"All listed refs are deleted from the remote repository. This is the same as " +"prefixing all refs with a colon." msgstr "" #. type: Plain text -#: en/git-show-ref.txt:183 +#: en/git-push.txt:134 msgid "" -"linkgit:git-for-each-ref[1], linkgit:git-ls-remote[1], " -"linkgit:git-update-ref[1], linkgit:gitrepository-layout[5]" +"All refs under `refs/tags` are pushed, in addition to refspecs explicitly " +"listed on the command line." msgstr "" -#. type: Title = -#: en/git-show.txt:2 +#. type: Labeled list +#: en/git-push.txt:135 #, no-wrap -msgid "git-show(1)" +msgid "--follow-tags" msgstr "" #. type: Plain text -#: en/git-show.txt:7 -msgid "git-show - Show various types of objects" +#: en/git-push.txt:142 +msgid "" +"Push all the refs that would be pushed without this option, and also push " +"annotated tags in `refs/tags` that are missing from the remote but are " +"pointing at commit-ish that are reachable from the refs being pushed. This " +"can also be specified with configuration variable `push.followTags`. For " +"more information, see `push.followTags` in linkgit:git-config[1]." msgstr "" -#. type: Plain text -#: en/git-show.txt:13 +#. type: Labeled list +#: en/git-push.txt:143 en/git-send-pack.txt:73 #, no-wrap -msgid "'git show' [options] <object>...\n" +msgid "--[no-]signed" msgstr "" -#. type: Plain text -#: en/git-show.txt:17 -msgid "Shows one or more objects (blobs, trees, tags and commits)." +#. type: Labeled list +#: en/git-push.txt:144 en/git-send-pack.txt:74 +#, no-wrap +msgid "--sign=(true|false|if-asked)" msgstr "" #. type: Plain text -#: en/git-show.txt:21 +#: en/git-push.txt:153 en/git-send-pack.txt:83 msgid "" -"For commits it shows the log message and textual diff. It also presents the " -"merge commit in a special format as produced by 'git diff-tree --cc'." +"GPG-sign the push request to update refs on the receiving side, to allow it " +"to be checked by the hooks and/or be logged. If `false` or `--no-signed`, " +"no signing will be attempted. If `true` or `--signed`, the push will fail " +"if the server does not support signed pushes. If set to `if-asked`, sign if " +"and only if the server supports signed pushes. The push will also fail if " +"the actual call to `gpg --sign` fails. See linkgit:git-receive-pack[1] for " +"the details on the receiving end." msgstr "" -#. type: Plain text -#: en/git-show.txt:23 -msgid "For tags, it shows the tag message and the referenced objects." +#. type: Labeled list +#: en/git-push.txt:154 +#, no-wrap +msgid "--[no-]atomic" msgstr "" #. type: Plain text -#: en/git-show.txt:26 +#: en/git-push.txt:158 msgid "" -"For trees, it shows the names (equivalent to 'git ls-tree' with " -"--name-only)." +"Use an atomic transaction on the remote side if available. Either all refs " +"are updated, or on error, no refs are updated. If the server does not " +"support atomic pushes the push will fail." msgstr "" -#. type: Plain text -#: en/git-show.txt:28 -msgid "For plain blobs, it shows the plain contents." +#. type: Labeled list +#: en/git-push.txt:160 +#, no-wrap +msgid "--push-option" msgstr "" #. type: Plain text -#: en/git-show.txt:31 +#: en/git-push.txt:164 msgid "" -"The command takes options applicable to the 'git diff-tree' command to " -"control how the changes the commit introduces are shown." +"Transmit the given string to the server, which passes them to the " +"pre-receive as well as the post-receive hook. The given string must not " +"contain a NUL or LF character." msgstr "" -#. type: Plain text -#: en/git-show.txt:33 -msgid "This manual page describes only the most frequently used options." +#. type: Labeled list +#: en/git-push.txt:165 en/git-send-pack.txt:28 +#, no-wrap +msgid "--receive-pack=<git-receive-pack>" msgstr "" #. type: Labeled list -#: en/git-show.txt:37 +#: en/git-push.txt:166 en/git-send-pack.txt:34 #, no-wrap -msgid "<object>..." +msgid "--exec=<git-receive-pack>" msgstr "" #. type: Plain text -#: en/git-show.txt:41 +#: en/git-push.txt:171 en/git-send-pack.txt:33 msgid "" -"The names of objects to show. For a more complete list of ways to spell " -"object names, see \"SPECIFYING REVISIONS\" section in " -"linkgit:gitrevisions[7]." +"Path to the 'git-receive-pack' program on the remote end. Sometimes useful " +"when pushing to a remote repository over ssh, and you do not have the " +"program in a directory on the default $PATH." msgstr "" #. type: Labeled list -#: en/git-show.txt:60 +#: en/git-push.txt:172 #, no-wrap -msgid "`git show v1.0.0`" +msgid "--[no-]force-with-lease" msgstr "" -#. type: Plain text -#: en/git-show.txt:63 -msgid "Shows the tag `v1.0.0`, along with the object the tags points at." +#. type: Labeled list +#: en/git-push.txt:173 +#, no-wrap +msgid "--force-with-lease=<refname>" msgstr "" #. type: Labeled list -#: en/git-show.txt:64 +#: en/git-push.txt:174 #, no-wrap -msgid "`git show v1.0.0^{tree}`" +msgid "--force-with-lease=<refname>:<expect>" msgstr "" #. type: Plain text -#: en/git-show.txt:66 -msgid "Shows the tree pointed to by the tag `v1.0.0`." -msgstr "" - -#. type: Labeled list -#: en/git-show.txt:67 -#, no-wrap -msgid "`git show -s --format=%s v1.0.0^{commit}`" +#: en/git-push.txt:177 +msgid "" +"Usually, \"git push\" refuses to update a remote ref that is not an ancestor " +"of the local ref used to overwrite it." msgstr "" #. type: Plain text -#: en/git-show.txt:70 -msgid "Shows the subject of the commit pointed to by the tag `v1.0.0`." +#: en/git-push.txt:180 +msgid "" +"This option overrides this restriction if the current value of the remote " +"ref is the expected value. \"git push\" fails otherwise." msgstr "" -#. type: Labeled list -#: en/git-show.txt:71 -#, no-wrap -msgid "`git show next~10:Documentation/README`" +#. type: Plain text +#: en/git-push.txt:187 +msgid "" +"Imagine that you have to rebase what you have already published. You will " +"have to bypass the \"must fast-forward\" rule in order to replace the " +"history you originally published with the rebased history. If somebody else " +"built on top of your original history while you are rebasing, the tip of the " +"branch at the remote may advance with her commit, and blindly pushing with " +"`--force` will lose her work." msgstr "" #. type: Plain text -#: en/git-show.txt:75 +#: en/git-push.txt:194 msgid "" -"Shows the contents of the file `Documentation/README` as they were current " -"in the 10th last commit of the branch `next`." +"This option allows you to say that you expect the history you are updating " +"is what you rebased and want to replace. If the remote ref still points at " +"the commit you specified, you can be sure that no other people did anything " +"to the ref. It is like taking a \"lease\" on the ref without explicitly " +"locking it, and the remote ref is updated only if the \"lease\" is still " +"valid." msgstr "" -#. type: Labeled list -#: en/git-show.txt:76 -#, no-wrap -msgid "`git show master:Makefile master:t/Makefile`" +#. type: Plain text +#: en/git-push.txt:199 +msgid "" +"`--force-with-lease` alone, without specifying the details, will protect all " +"remote refs that are going to be updated by requiring their current value to " +"be the same as the remote-tracking branch we have for them." msgstr "" #. type: Plain text -#: en/git-show.txt:79 +#: en/git-push.txt:204 msgid "" -"Concatenates the contents of said Makefiles in the head of the branch " -"`master`." +"`--force-with-lease=<refname>`, without specifying the expected value, will " +"protect the named ref (alone), if it is going to be updated, by requiring " +"its current value to be the same as the remote-tracking branch we have for " +"it." msgstr "" -#. type: Title = -#: en/git-sh-setup.txt:2 -#, no-wrap -msgid "git-sh-setup(1)" +#. type: Plain text +#: en/git-push.txt:212 +msgid "" +"`--force-with-lease=<refname>:<expect>` will protect the named ref (alone), " +"if it is going to be updated, by requiring its current value to be the same " +"as the specified value `<expect>` (which is allowed to be different from the " +"remote-tracking branch we have for the refname, or we do not even have to " +"have such a remote-tracking branch when this form is used). If `<expect>` " +"is the empty string, then the named ref must not already exist." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:7 -msgid "git-sh-setup - Common Git shell script setup code" +#: en/git-push.txt:217 +msgid "" +"Note that all forms other than `--force-with-lease=<refname>:<expect>` that " +"specifies the expected current value of the ref explicitly are still " +"experimental and their semantics may change as we gain experience with this " +"feature." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:12 -#, no-wrap -msgid "'. \"$(git --exec-path)/git-sh-setup\"'\n" +#: en/git-push.txt:220 +msgid "" +"\"--no-force-with-lease\" will cancel all the previous --force-with-lease on " +"the command line." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:23 +#: en/git-push.txt:228 msgid "" -"The 'git sh-setup' scriptlet is designed to be sourced (using `.`) by other " -"shell scripts to set up some variables pointing at the normal Git " -"directories and a few helper shell functions." +"Usually, the command refuses to update a remote ref that is not an ancestor " +"of the local ref used to overwrite it. Also, when `--force-with-lease` " +"option is used, the command refuses to update a remote ref whose current " +"value does not match what is expected." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:29 +#: en/git-push.txt:231 msgid "" -"Before sourcing it, your script should set up a few variables; `USAGE` (and " -"`LONG_USAGE`, if any) is used to define message given by `usage()` shell " -"function. `SUBDIRECTORY_OK` can be set if the script can run from a " -"subdirectory of the working tree (some commands do not)." +"This flag disables these checks, and can cause the remote repository to lose " +"commits; use it with care." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:32 +#: en/git-push.txt:240 msgid "" -"The scriptlet sets `GIT_DIR` and `GIT_OBJECT_DIRECTORY` shell variables, but " -"does *not* export them to the environment." +"Note that `--force` applies to all the refs that are pushed, hence using it " +"with `push.default` set to `matching` or with multiple push destinations " +"configured with `remote.*.push` may overwrite refs other than the current " +"branch (including local refs that are strictly behind their remote " +"counterpart). To force a push to only one branch, use a `+` in front of the " +"refspec to push (e.g `git push origin +master` to force a push to the " +"`master` branch). See the `<refspec>...` section above for details." msgstr "" #. type: Labeled list -#: en/git-sh-setup.txt:36 +#: en/git-push.txt:241 #, no-wrap -msgid "die" +msgid "--repo=<repository>" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:39 -msgid "exit after emitting the supplied error message to the standard error stream." +#: en/git-push.txt:244 +msgid "" +"This option is equivalent to the <repository> argument. If both are " +"specified, the command-line argument takes precedence." +msgstr "" + +#. type: Plain text +#: en/git-push.txt:251 +msgid "" +"For every branch that is up to date or successfully pushed, add upstream " +"(tracking) reference, used by argument-less linkgit:git-pull[1] and other " +"commands. For more information, see `branch.<name>.merge` in " +"linkgit:git-config[1]." msgstr "" #. type: Labeled list -#: en/git-sh-setup.txt:40 +#: en/git-push.txt:252 #, no-wrap -msgid "usage" +msgid "--[no-]thin" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:42 -msgid "die with the usage message." +#: en/git-push.txt:257 +msgid "" +"These options are passed to linkgit:git-send-pack[1]. A thin transfer " +"significantly reduces the amount of sent data when the sender and receiver " +"share many of the same objects in common. The default is \\--thin." +msgstr "" + +#. type: Plain text +#: en/git-push.txt:263 +msgid "" +"Suppress all output, including the listing of updated refs, unless an error " +"occurs. Progress is not reported to the standard error stream." msgstr "" #. type: Labeled list -#: en/git-sh-setup.txt:43 +#: en/git-push.txt:275 #, no-wrap -msgid "set_reflog_action" +msgid "--recurse-submodules=check|on-demand|only|no" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:49 +#: en/git-push.txt:289 msgid "" -"Set `GIT_REFLOG_ACTION` environment to a given string (typically the name of " -"the program) unless it is already set. Whenever the script runs a `git` " -"command that updates refs, a reflog entry is created using the value of this " -"string to leave the record of what command updated the ref." +"May be used to make sure all submodule commits used by the revisions to be " +"pushed are available on a remote-tracking branch. If 'check' is used Git " +"will verify that all submodule commits that changed in the revisions to be " +"pushed are available on at least one remote of the submodule. If any commits " +"are missing the push will be aborted and exit with non-zero status. If " +"'on-demand' is used all submodules that changed in the revisions to be " +"pushed will be pushed. If on-demand was not able to push all necessary " +"revisions it will also be aborted and exit with non-zero status. If 'only' " +"is used all submodules will be recursively pushed while the superproject is " +"left unpushed. A value of 'no' or using `--no-recurse-submodules` can be " +"used to override the push.recurseSubmodules configuration variable when no " +"submodule recursion is required." msgstr "" #. type: Labeled list -#: en/git-sh-setup.txt:50 +#: en/git-push.txt:290 #, no-wrap -msgid "git_editor" +msgid "--[no-]verify" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:54 +#: en/git-push.txt:294 msgid "" -"runs an editor of user's choice (GIT_EDITOR, core.editor, VISUAL or EDITOR) " -"on a given file, but error out if no editor is specified and the terminal is " -"dumb." +"Toggle the pre-push hook (see linkgit:githooks[5]). The default is " +"--verify, giving the hook a chance to prevent the push. With --no-verify, " +"the hook is bypassed completely." msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:55 -#, no-wrap -msgid "is_bare_repository" +#. type: Plain text +#: en/git-push.txt:311 +msgid "" +"The output of \"git push\" depends on the transport method used; this " +"section describes the output when pushing over the Git protocol (either " +"locally or via ssh)." msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:59 +#: en/git-push.txt:314 msgid "" -"outputs `true` or `false` to the standard output stream to indicate if the " -"repository is a bare repository (i.e. without an associated working tree)." +"The status of the push is output in tabular form, with each line " +"representing the status of a single ref. Each line is of the form:" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:60 +#. type: delimited block - +#: en/git-push.txt:317 #, no-wrap -msgid "cd_to_toplevel" +msgid " <flag> <summary> <from> -> <to> (<reason>)\n" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:62 -msgid "runs chdir to the toplevel of the working tree." +#: en/git-push.txt:320 +msgid "If --porcelain is used, then each line of the output is of the form:" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:63 +#. type: delimited block - +#: en/git-push.txt:323 #, no-wrap -msgid "require_work_tree" +msgid " <flag> \\t <from>:<to> \\t <summary> (<reason>)\n" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:66 +#: en/git-push.txt:327 msgid "" -"checks if the current directory is within the working tree of the " -"repository, and otherwise dies." +"The status of up-to-date refs is shown only if --porcelain or --verbose " +"option is used." msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:67 -#, no-wrap -msgid "require_work_tree_exists" +#. type: Plain text +#: en/git-push.txt:331 +msgid "for a successfully pushed fast-forward;" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:72 -msgid "" -"checks if the working tree associated with the repository exists, and " -"otherwise dies. Often done before calling cd_to_toplevel, which is " -"impossible to do if there is no working tree." +#: en/git-push.txt:333 +msgid "for a successfully deleted ref;" msgstr "" -#. type: Labeled list -#: en/git-sh-setup.txt:73 -#, no-wrap -msgid "require_clean_work_tree <action> [<hint>]" +#. type: Plain text +#: en/git-push.txt:334 +msgid "for a successfully pushed new ref;" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:78 +#: en/git-push.txt:335 +msgid "for a ref that was rejected or failed to push; and" +msgstr "" + +#. type: Plain text +#: en/git-push.txt:336 +msgid "for a ref that was up to date and did not need pushing." +msgstr "" + +#. type: Plain text +#: en/git-push.txt:342 msgid "" -"checks that the working tree and index associated with the repository have " -"no uncommitted changes to tracked files. Otherwise it emits an error " -"message of the form `Cannot <action>: <reason>. <hint>`, and dies. Example:" +"For a successfully pushed ref, the summary shows the old and new values of " +"the ref in a form suitable for using as an argument to `git log` (this is " +"`<old>..<new>` in most cases, and `<old>...<new>` for forced " +"non-fast-forward updates)." msgstr "" -#. type: delimited block - -#: en/git-sh-setup.txt:81 -#, no-wrap -msgid "require_clean_work_tree rebase \"Please commit or stash them.\"\n" +#. type: Plain text +#: en/git-push.txt:344 +msgid "For a failed update, more details are given:" msgstr "" #. type: Labeled list -#: en/git-sh-setup.txt:83 +#: en/git-push.txt:346 #, no-wrap -msgid "get_author_ident_from_commit" +msgid "rejected" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:86 +#: en/git-push.txt:349 msgid "" -"outputs code for use with eval to set the GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL " -"and GIT_AUTHOR_DATE variables for a given commit." +"Git did not try to send the ref at all, typically because it is not a " +"fast-forward and you did not force the update." msgstr "" #. type: Labeled list -#: en/git-sh-setup.txt:87 +#: en/git-push.txt:350 #, no-wrap -msgid "create_virtual_base" +msgid "remote rejected" msgstr "" #. type: Plain text -#: en/git-sh-setup.txt:92 +#: en/git-push.txt:358 msgid "" -"modifies the first file so only lines in common with the second file " -"remain. If there is insufficient common material, then the first file is " -"left empty. The result is suitable as a virtual base input for a 3-way " -"merge." +"The remote end refused the update. Usually caused by a hook on the remote " +"side, or because the remote repository has one of the following safety " +"options in effect: `receive.denyCurrentBranch` (for pushes to the checked " +"out branch), `receive.denyNonFastForwards` (for forced non-fast-forward " +"updates), `receive.denyDeletes` or `receive.denyDeleteCurrent`. See " +"linkgit:git-config[1]." msgstr "" -#. type: Title = -#: en/git-stage.txt:2 +#. type: Labeled list +#: en/git-push.txt:359 #, no-wrap -msgid "git-stage(1)" +msgid "remote failure" msgstr "" #. type: Plain text -#: en/git-stage.txt:7 -msgid "git-stage - Add file contents to the staging area" +#: en/git-push.txt:363 +msgid "" +"The remote end did not report the successful update of the ref, perhaps " +"because of a temporary error on the remote side, a break in the network " +"connection, or other transient error." msgstr "" #. type: Plain text -#: en/git-stage.txt:13 -#, no-wrap -msgid "'git stage' args...\n" +#: en/git-push.txt:369 +msgid "" +"The name of the local ref being pushed, minus its `refs/<type>/` prefix. In " +"the case of deletion, the name of the local ref is omitted." msgstr "" #. type: Plain text -#: en/git-stage.txt:20 +#: en/git-push.txt:373 +msgid "The name of the remote ref being updated, minus its `refs/<type>/` prefix." +msgstr "" + +#. type: Plain text +#: en/git-push.txt:378 msgid "" -"This is a synonym for linkgit:git-add[1]. Please refer to the documentation " -"of that command." +"A human-readable explanation. In the case of successfully pushed refs, no " +"explanation is needed. For a failed ref, the reason for failure is " +"described." msgstr "" -#. type: Title = -#: en/git-stash.txt:2 +#. type: Title - +#: en/git-push.txt:380 #, no-wrap -msgid "git-stash(1)" +msgid "Note about fast-forwards" msgstr "" #. type: Plain text -#: en/git-stash.txt:7 -msgid "git-stash - Stash the changes in a dirty working directory away" +#: en/git-push.txt:385 +msgid "" +"When an update changes a branch (or more in general, a ref) that used to " +"point at commit A to point at another commit B, it is called a fast-forward " +"update if and only if B is a descendant of A." msgstr "" #. type: Plain text -#: en/git-stash.txt:24 -#, no-wrap +#: en/git-push.txt:389 msgid "" -"'git stash' list [<options>]\n" -"'git stash' show [<stash>]\n" -"'git stash' drop [-q|--quiet] [<stash>]\n" -"'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]\n" -"'git stash' branch <branchname> [<stash>]\n" -"'git stash' save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" -"\t [-u|--include-untracked] [-a|--all] [<message>]\n" -"'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" -"\t [-u|--include-untracked] [-a|--all] [-m|--message <message>]]\n" -"\t [--] [<pathspec>...]]\n" -"'git stash' clear\n" -"'git stash' create [<message>]\n" -"'git stash' store [-m|--message <message>] [-q|--quiet] <commit>\n" +"In a fast-forward update from A to B, the set of commits that the original " +"commit A built on top of is a subset of the commits the new commit B builds " +"on top of. Hence, it does not lose any history." msgstr "" #. type: Plain text -#: en/git-stash.txt:32 +#: en/git-push.txt:394 msgid "" -"Use `git stash` when you want to record the current state of the working " -"directory and the index, but want to go back to a clean working directory. " -"The command saves your local modifications away and reverts the working " -"directory to match the `HEAD` commit." +"In contrast, a non-fast-forward update will lose history. For example, " +"suppose you and somebody else started at the same commit X, and you built a " +"history leading to commit B while the other person built a history leading " +"to commit A. The history looks like this:" msgstr "" -#. type: Plain text -#: en/git-stash.txt:40 +#. type: delimited block - +#: en/git-push.txt:400 +#, no-wrap msgid "" -"The modifications stashed away by this command can be listed with `git stash " -"list`, inspected with `git stash show`, and restored (potentially on top of " -"a different commit) with `git stash apply`. Calling `git stash` without any " -"arguments is equivalent to `git stash save`. A stash is by default listed " -"as \"WIP on 'branchname' ...\", but you can give a more descriptive message " -"on the command line when you create one." +" B\n" +" /\n" +" ---X---A\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:47 -msgid "" -"The latest stash you created is stored in `refs/stash`; older stashes are " -"found in the reflog of this reference and can be named using the usual " -"reflog syntax (e.g. `stash@{0}` is the most recently created stash, " -"`stash@{1}` is the one before it, `stash@{2.hours.ago}` is also " -"possible). Stashes may also be referenced by specifying just the stash index " -"(e.g. the integer `n` is equivalent to `stash@{n}`)." -msgstr "" - -#. type: Labeled list -#: en/git-stash.txt:51 -#, no-wrap +#: en/git-push.txt:406 msgid "" -"save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] " -"[-q|--quiet] [<message>]" +"Further suppose that the other person already pushed changes leading to A " +"back to the original repository from which you two obtained the original " +"commit X." msgstr "" -#. type: Labeled list -#: en/git-stash.txt:52 -#, no-wrap +#. type: Plain text +#: en/git-push.txt:409 msgid "" -"push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] " -"[-q|--quiet] [-m|--message <message>] [--] [<pathspec>...]" +"The push done by the other person updated the branch that used to point at " +"commit X to point at commit A. It is a fast-forward." msgstr "" #. type: Plain text -#: en/git-stash.txt:58 +#: en/git-push.txt:414 msgid "" -"Save your local modifications to a new 'stash' and roll them back to HEAD " -"(in the working tree and in the index). The <message> part is optional and " -"gives the description along with the stashed state." +"But if you try to push, you will attempt to update the branch (that now " +"points at A) with commit B. This does _not_ fast-forward. If you did so, " +"the changes introduced by commit A will be lost, because everybody will now " +"start building on top of B." msgstr "" #. type: Plain text -#: en/git-stash.txt:64 +#: en/git-push.txt:417 msgid "" -"For quickly making a snapshot, you can omit \"push\". In this mode, " -"non-option arguments are not allowed to prevent a misspelled subcommand from " -"making an unwanted stash. The two exceptions to this are `stash -p` which " -"acts as alias for `stash push -p` and pathspecs, which are allowed after a " -"double hyphen `--` for disambiguation." +"The command by default does not allow an update that is not a fast-forward " +"to prevent such loss of history." msgstr "" #. type: Plain text -#: en/git-stash.txt:70 +#: en/git-push.txt:422 msgid "" -"When pathspec is given to 'git stash push', the new stash records the " -"modified states only for the files that match the pathspec. The index " -"entries and working tree files are then rolled back to the state in HEAD " -"only for these files, too, leaving files that do not match the pathspec " -"intact." +"If you do not want to lose your work (history from X to B) or the work by " +"the other person (history from X to A), you would need to first fetch the " +"history from the repository, create a history that contains changes done by " +"both parties, and push the result back." msgstr "" #. type: Plain text -#: en/git-stash.txt:73 +#: en/git-push.txt:426 msgid "" -"If the `--keep-index` option is used, all changes already added to the index " -"are left intact." +"You can perform \"git pull\", resolve potential conflicts, and \"git push\" " +"the result. A \"git pull\" will create a merge commit C between commits A " +"and B." msgstr "" -#. type: Plain text -#: en/git-stash.txt:78 +#. type: delimited block - +#: en/git-push.txt:432 +#, no-wrap msgid "" -"If the `--include-untracked` option is used, all untracked files are also " -"stashed and then cleaned up with `git clean`, leaving the working directory " -"in a very clean state. If the `--all` option is used instead then the " -"ignored files are stashed and cleaned in addition to the untracked files." +" B---C\n" +" / /\n" +" ---X---A\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:86 +#: en/git-push.txt:437 msgid "" -"With `--patch`, you can interactively select hunks from the diff between " -"HEAD and the working tree to be stashed. The stash entry is constructed " -"such that its index state is the same as the index state of your repository, " -"and its worktree contains only the changes you selected interactively. The " -"selected changes are then rolled back from your worktree. See the " -"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " -"the `--patch` mode." +"Updating A with the resulting merge commit will fast-forward and your push " +"will be accepted." msgstr "" #. type: Plain text -#: en/git-stash.txt:89 +#: en/git-push.txt:442 msgid "" -"The `--patch` option implies `--keep-index`. You can use `--no-keep-index` " -"to override this." +"Alternatively, you can rebase your change between X and B on top of A, with " +"\"git pull --rebase\", and push the result back. The rebase will create a " +"new commit D that builds the change between X and B on top of A." msgstr "" -#. type: Labeled list -#: en/git-stash.txt:90 +#. type: delimited block - +#: en/git-push.txt:448 #, no-wrap -msgid "list [<options>]" -msgstr "" - -#. type: Plain text -#: en/git-stash.txt:97 msgid "" -"List the stashes that you currently have. Each 'stash' is listed with its " -"name (e.g. `stash@{0}` is the latest stash, `stash@{1}` is the one before, " -"etc.), the name of the branch that was current when the stash was made, and " -"a short description of the commit the stash was based on." +" B D\n" +" / /\n" +" ---X---A\n" msgstr "" -#. type: delimited block - -#: en/git-stash.txt:101 -#, no-wrap +#. type: Plain text +#: en/git-push.txt:453 msgid "" -"stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation\n" -"stash@{1}: On master: 9cc0589... Add git-stash\n" +"Again, updating A with this commit will fast-forward and your push will be " +"accepted." msgstr "" #. type: Plain text -#: en/git-stash.txt:105 +#: en/git-push.txt:464 msgid "" -"The command takes options applicable to the 'git log' command to control " -"what is shown and how. See linkgit:git-log[1]." +"There is another common situation where you may encounter non-fast-forward " +"rejection when you try to push, and it is possible even when you are pushing " +"into a repository nobody else pushes into. After you push commit A yourself " +"(in the first picture in this section), replace it with \"git commit " +"--amend\" to produce commit B, and you try to push it out, because forgot " +"that you have pushed A out already. In such a case, and only if you are " +"certain that nobody in the meantime fetched your earlier commit A (and " +"started building on top of it), you can run \"git push --force\" to " +"overwrite it. In other words, \"git push --force\" is a method reserved for " +"a case where you do mean to lose history." msgstr "" #. type: Labeled list -#: en/git-stash.txt:106 +#: en/git-push.txt:469 #, no-wrap -msgid "show [<stash>]" +msgid "`git push`" msgstr "" #. type: Plain text -#: en/git-stash.txt:115 +#: en/git-push.txt:473 msgid "" -"Show the changes recorded in the stash as a diff between the stashed state " -"and its original parent. When no `<stash>` is given, shows the latest " -"one. By default, the command shows the diffstat, but it will accept any " -"format known to 'git diff' (e.g., `git stash show -p stash@{1}` to view the " -"second most recent stash in patch form). You can use stash.showStat and/or " -"stash.showPatch config variables to change the default behavior." +"Works like `git push <remote>`, where <remote> is the current branch's " +"remote (or `origin`, if no remote is configured for the current branch)." msgstr "" #. type: Labeled list -#: en/git-stash.txt:116 +#: en/git-push.txt:474 #, no-wrap -msgid "pop [--index] [-q|--quiet] [<stash>]" +msgid "`git push origin`" msgstr "" #. type: Plain text -#: en/git-stash.txt:122 +#: en/git-push.txt:479 msgid "" -"Remove a single stashed state from the stash list and apply it on top of the " -"current working tree state, i.e., do the inverse operation of `git stash " -"save`. The working directory must match the index." +"Without additional configuration, pushes the current branch to the " +"configured upstream (`remote.origin.merge` configuration variable) if it has " +"the same name as the current branch, and errors out without pushing " +"otherwise." msgstr "" #. type: Plain text -#: en/git-stash.txt:126 +#: en/git-push.txt:483 msgid "" -"Applying the state can fail with conflicts; in this case, it is not removed " -"from the stash list. You need to resolve the conflicts by hand and call `git " -"stash drop` manually afterwards." +"The default behavior of this command when no <refspec> is given can be " +"configured by setting the `push` option of the remote, or the `push.default` " +"configuration variable." msgstr "" #. type: Plain text -#: en/git-stash.txt:131 +#: en/git-push.txt:488 msgid "" -"If the `--index` option is used, then tries to reinstate not only the " -"working tree's changes, but also the index's ones. However, this can fail, " -"when you have conflicts (which are stored in the index, where you therefore " -"can no longer apply the changes as they were originally)." +"For example, to default to pushing only the current branch to `origin` use " +"`git config remote.origin.push HEAD`. Any valid <refspec> (like the ones in " +"the examples below) can be configured as the default for `git push origin`." +msgstr "" + +#. type: Labeled list +#: en/git-push.txt:489 +#, no-wrap +msgid "`git push origin :`" msgstr "" #. type: Plain text -#: en/git-stash.txt:134 +#: en/git-push.txt:493 msgid "" -"When no `<stash>` is given, `stash@{0}` is assumed, otherwise `<stash>` must " -"be a reference of the form `stash@{<revision>}`." +"Push \"matching\" branches to `origin`. See <refspec> in the " +"<<OPTIONS,OPTIONS>> section above for a description of \"matching\" " +"branches." msgstr "" #. type: Labeled list -#: en/git-stash.txt:135 +#: en/git-push.txt:494 #, no-wrap -msgid "apply [--index] [-q|--quiet] [<stash>]" +msgid "`git push origin master`" msgstr "" #. type: Plain text -#: en/git-stash.txt:140 +#: en/git-push.txt:500 msgid "" -"Like `pop`, but do not remove the state from the stash list. Unlike `pop`, " -"`<stash>` may be any commit that looks like a commit created by `stash save` " -"or `stash create`." +"Find a ref that matches `master` in the source repository (most likely, it " +"would find `refs/heads/master`), and update the same ref " +"(e.g. `refs/heads/master`) in `origin` repository with it. If `master` did " +"not exist remotely, it would be created." msgstr "" #. type: Labeled list -#: en/git-stash.txt:141 +#: en/git-push.txt:501 #, no-wrap -msgid "branch <branchname> [<stash>]" +msgid "`git push origin HEAD`" msgstr "" #. type: Plain text -#: en/git-stash.txt:149 +#: en/git-push.txt:504 +msgid "A handy way to push the current branch to the same name on the remote." +msgstr "" + +#. type: Labeled list +#: en/git-push.txt:505 +#, no-wrap +msgid "`git push mothership master:satellite/master dev:satellite/dev`" +msgstr "" + +#. type: Plain text +#: en/git-push.txt:510 msgid "" -"Creates and checks out a new branch named `<branchname>` starting from the " -"commit at which the `<stash>` was originally created, applies the changes " -"recorded in `<stash>` to the new working tree and index. If that succeeds, " -"and `<stash>` is a reference of the form `stash@{<revision>}`, it then drops " -"the `<stash>`. When no `<stash>` is given, applies the latest one." +"Use the source ref that matches `master` (e.g. `refs/heads/master`) to " +"update the ref that matches `satellite/master` (most probably " +"`refs/remotes/satellite/master`) in the `mothership` repository; do the same " +"for `dev` and `satellite/dev`." msgstr "" #. type: Plain text -#: en/git-stash.txt:155 +#: en/git-push.txt:517 msgid "" -"This is useful if the branch on which you ran `git stash save` has changed " -"enough that `git stash apply` fails due to conflicts. Since the stash is " -"applied on top of the commit that was HEAD at the time `git stash` was run, " -"it restores the originally stashed state with no conflicts." +"This is to emulate `git fetch` run on the `mothership` using `git push` that " +"is run in the opposite direction in order to integrate the work done on " +"`satellite`, and is often necessary when you can only make connection in one " +"way (i.e. satellite can ssh into mothership but mothership cannot initiate " +"connection to satellite because the latter is behind a firewall or does not " +"run sshd)." +msgstr "" + +#. type: Plain text +#: en/git-push.txt:522 +msgid "" +"After running this `git push` on the `satellite` machine, you would ssh into " +"the `mothership` and run `git merge` there to complete the emulation of `git " +"pull` that were run on `mothership` to pull changes made on `satellite`." msgstr "" #. type: Labeled list -#: en/git-stash.txt:156 +#: en/git-push.txt:523 #, no-wrap -msgid "clear" +msgid "`git push origin HEAD:master`" msgstr "" #. type: Plain text -#: en/git-stash.txt:160 +#: en/git-push.txt:527 msgid "" -"Remove all the stashed states. Note that those states will then be subject " -"to pruning, and may be impossible to recover (see 'Examples' below for a " -"possible strategy)." +"Push the current branch to the remote ref matching `master` in the `origin` " +"repository. This form is convenient to push the current branch without " +"thinking about its local name." msgstr "" #. type: Labeled list -#: en/git-stash.txt:161 +#: en/git-push.txt:528 #, no-wrap -msgid "drop [-q|--quiet] [<stash>]" +msgid "`git push origin master:refs/heads/experimental`" msgstr "" #. type: Plain text -#: en/git-stash.txt:167 +#: en/git-push.txt:534 msgid "" -"Remove a single stashed state from the stash list. When no `<stash>` is " -"given, it removes the latest one. i.e. `stash@{0}`, otherwise `<stash>` must " -"be a valid stash log reference of the form `stash@{<revision>}`." +"Create the branch `experimental` in the `origin` repository by copying the " +"current `master` branch. This form is only needed to create a new branch or " +"tag in the remote repository when the local name and the remote name are " +"different; otherwise, the ref name on its own will work." msgstr "" #. type: Labeled list -#: en/git-stash.txt:168 en/git-update-ref.txt:100 +#: en/git-push.txt:535 #, no-wrap -msgid "create" +msgid "`git push origin :experimental`" msgstr "" #. type: Plain text -#: en/git-stash.txt:174 +#: en/git-push.txt:538 msgid "" -"Create a stash (which is a regular commit object) and return its object " -"name, without storing it anywhere in the ref namespace. This is intended to " -"be useful for scripts. It is probably not the command you want to use; see " -"\"save\" above." +"Find a ref that matches `experimental` in the `origin` repository " +"(e.g. `refs/heads/experimental`), and delete it." msgstr "" #. type: Labeled list -#: en/git-stash.txt:175 +#: en/git-push.txt:539 #, no-wrap -msgid "store" +msgid "`git push origin +dev:master`" msgstr "" #. type: Plain text -#: en/git-stash.txt:181 +#: en/git-push.txt:544 msgid "" -"Store a given stash created via 'git stash create' (which is a dangling " -"merge commit) in the stash ref, updating the stash reflog. This is intended " -"to be useful for scripts. It is probably not the command you want to use; " -"see \"save\" above." +"Update the origin repository's master branch with the dev branch, allowing " +"non-fast-forward updates. *This can leave unreferenced commits dangling in " +"the origin repository.* Consider the following situation, where a " +"fast-forward is not possible:" msgstr "" -#. type: Plain text -#: en/git-stash.txt:190 +#. type: delimited block - +#: en/git-push.txt:549 +#, no-wrap msgid "" -"A stash is represented as a commit whose tree records the state of the " -"working directory, and its first parent is the commit at `HEAD` when the " -"stash was created. The tree of the second parent records the state of the " -"index when the stash is made, and it is made a child of the `HEAD` commit. " -"The ancestry graph looks like this:" +"\t o---o---o---A---B origin/master\n" +"\t\t \\\n" +"\t\t X---Y---Z dev\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:194 +#: en/git-push.txt:552 +msgid "The above command would change the origin repository to" +msgstr "" + +#. type: delimited block - +#: en/git-push.txt:557 #, no-wrap msgid "" -" .----W\n" -" / /\n" -" -----H----I\n" +"\t\t A---B (unnamed branch)\n" +"\t\t /\n" +"\t o---o---o---X---Y---Z master\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:198 +#: en/git-push.txt:562 msgid "" -"where `H` is the `HEAD` commit, `I` is a commit that records the state of " -"the index, and `W` is a commit that records the state of the working tree." +"Commits A and B would no longer belong to a branch with a symbolic name, and " +"so would be unreachable. As such, these commits would be removed by a `git " +"gc` command on the origin repository." msgstr "" -#. type: Labeled list -#: en/git-stash.txt:203 +#. type: Title = +#: en/git-quiltimport.txt:2 #, no-wrap -msgid "Pulling into a dirty tree" +msgid "git-quiltimport(1)" msgstr "" #. type: Plain text -#: en/git-stash.txt:209 -msgid "" -"When you are in the middle of something, you learn that there are upstream " -"changes that are possibly relevant to what you are doing. When your local " -"changes do not conflict with the changes in the upstream, a simple `git " -"pull` will let you move forward." +#: en/git-quiltimport.txt:7 +msgid "git-quiltimport - Applies a quilt patchset onto the current branch" msgstr "" #. type: Plain text -#: en/git-stash.txt:214 -msgid "" -"However, there are cases in which your local changes do conflict with the " -"upstream changes, and `git pull` refuses to overwrite your changes. In such " -"a case, you can stash your changes away, perform a pull, and then unstash, " -"like this:" -msgstr "" - -#. type: delimited block - -#: en/git-stash.txt:222 +#: en/git-quiltimport.txt:14 #, no-wrap msgid "" -"$ git pull\n" -" ...\n" -"file foobar not up to date, cannot merge.\n" -"$ git stash\n" -"$ git pull\n" -"$ git stash pop\n" +"'git quiltimport' [--dry-run | -n] [--author <author>] [--patches <dir>]\n" +"\t\t[--series <file>]\n" msgstr "" #. type: Plain text -#: en/git-stash.txt:230 +#: en/git-quiltimport.txt:21 msgid "" -"When you are in the middle of something, your boss comes in and demands that " -"you fix something immediately. Traditionally, you would make a commit to a " -"temporary branch to store your changes away, and return to your original " -"branch to make the emergency fix, like this:" +"Applies a quilt patchset onto the current Git branch, preserving the patch " +"boundaries, patch order, and patch descriptions present in the quilt " +"patchset." msgstr "" -#. type: delimited block - -#: en/git-stash.txt:241 -#, no-wrap +#. type: Plain text +#: en/git-quiltimport.txt:27 msgid "" -"# ... hack hack hack ...\n" -"$ git checkout -b my_wip\n" -"$ git commit -a -m \"WIP\"\n" -"$ git checkout master\n" -"$ edit emergency fix\n" -"$ git commit -a -m \"Fix in a hurry\"\n" -"$ git checkout my_wip\n" -"$ git reset --soft HEAD^\n" -"# ... continue hacking ...\n" +"For each patch the code attempts to extract the author from the patch " +"description. If that fails it falls back to the author specified with " +"--author. If the --author flag was not given the patch description is " +"displayed and the user is asked to interactively enter the author of the " +"patch." msgstr "" #. type: Plain text -#: en/git-stash.txt:244 -msgid "You can use 'git stash' to simplify the above, like this:" +#: en/git-quiltimport.txt:30 +msgid "" +"If a subject is not found in the patch description the patch name is " +"preserved as the 1 line subject in the Git description." msgstr "" -#. type: delimited block - -#: en/git-stash.txt:252 -#, no-wrap +#. type: Plain text +#: en/git-quiltimport.txt:40 msgid "" -"# ... hack hack hack ...\n" -"$ git stash\n" -"$ edit emergency fix\n" -"$ git commit -a -m \"Fix in a hurry\"\n" -"$ git stash pop\n" -"# ... continue hacking ...\n" +"Walk through the patches in the series and warn if we cannot find all of the " +"necessary information to commit a patch. At the time of this writing only " +"missing author information is warned about." msgstr "" #. type: Labeled list -#: en/git-stash.txt:254 +#: en/git-quiltimport.txt:41 #, no-wrap -msgid "Testing partial commits" +msgid "--author Author Name <Author Email>" msgstr "" #. type: Plain text -#: en/git-stash.txt:259 +#: en/git-quiltimport.txt:44 msgid "" -"You can use `git stash save --keep-index` when you want to make two or more " -"commits out of the changes in the work tree, and you want to test each " -"change before committing:" +"The author name and email address to use when no author information can be " +"found in the patch description." msgstr "" -#. type: delimited block - -#: en/git-stash.txt:270 +#. type: Labeled list +#: en/git-quiltimport.txt:45 #, no-wrap -msgid "" -"# ... hack hack hack ...\n" -"$ git add --patch foo # add just first part to the index\n" -"$ git stash save --keep-index # save all other changes to the stash\n" -"$ edit/build/test first part\n" -"$ git commit -m 'First part' # commit fully tested change\n" -"$ git stash pop # prepare to work on all other changes\n" -"# ... repeat above five steps until one commit remains ...\n" -"$ edit/build/test remaining parts\n" -"$ git commit foo -m 'Remaining parts'\n" +msgid "--patches <dir>" msgstr "" -#. type: Labeled list -#: en/git-stash.txt:272 -#, no-wrap -msgid "Recovering stashes that were cleared/dropped erroneously" +#. type: Plain text +#: en/git-quiltimport.txt:47 +msgid "The directory to find the quilt patches." msgstr "" #. type: Plain text -#: en/git-stash.txt:278 +#: en/git-quiltimport.txt:51 msgid "" -"If you mistakenly drop or clear stashes, they cannot be recovered through " -"the normal safety mechanisms. However, you can try the following " -"incantation to get a list of stashes that are still in your repository, but " -"not reachable any more:" +"The default for the patch directory is patches or the value of the " +"`$QUILT_PATCHES` environment variable." msgstr "" -#. type: delimited block - -#: en/git-stash.txt:283 +#. type: Labeled list +#: en/git-quiltimport.txt:52 #, no-wrap -msgid "" -"git fsck --unreachable |\n" -"grep commit | cut -d\\ -f3 |\n" -"xargs git log --merges --no-walk --grep=WIP\n" +msgid "--series <file>" msgstr "" #. type: Plain text -#: en/git-stash.txt:292 +#: en/git-quiltimport.txt:54 +msgid "The quilt series file." +msgstr "" + +#. type: Plain text +#: en/git-quiltimport.txt:58 msgid "" -"linkgit:git-checkout[1], linkgit:git-commit[1], linkgit:git-reflog[1], " -"linkgit:git-reset[1]" +"The default for the series file is <patches>/series or the value of the " +"`$QUILT_SERIES` environment variable." msgstr "" #. type: Title = -#: en/git-status.txt:2 +#: en/git-read-tree.txt:2 #, no-wrap -msgid "git-status(1)" +msgid "git-read-tree(1)" msgstr "" #. type: Plain text -#: en/git-status.txt:7 -msgid "git-status - Show the working tree status" +#: en/git-read-tree.txt:7 +msgid "git-read-tree - Reads tree information into the index" msgstr "" #. type: Plain text -#: en/git-status.txt:13 +#: en/git-read-tree.txt:16 #, no-wrap -msgid "'git status' [<options>...] [--] [<pathspec>...]\n" +msgid "" +"'git read-tree' [[-m [--trivial] [--aggressive] | --reset | " +"--prefix=<prefix>]\n" +"\t\t[-u [--exclude-per-directory=<gitignore>] | -i]]\n" +"\t\t[--index-output=<file>] [--no-sparse-checkout]\n" +"\t\t(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\n" msgstr "" #. type: Plain text -#: en/git-status.txt:23 +#: en/git-read-tree.txt:23 msgid "" -"Displays paths that have differences between the index file and the current " -"HEAD commit, paths that have differences between the working tree and the " -"index file, and paths in the working tree that are not tracked by Git (and " -"are not ignored by linkgit:gitignore[5]). The first are what you _would_ " -"commit by running `git commit`; the second and third are what you _could_ " -"commit by running 'git add' before running `git commit`." +"Reads the tree information given by <tree-ish> into the index, but does not " +"actually *update* any of the files it \"caches\". (see: " +"linkgit:git-checkout-index[1])" msgstr "" #. type: Plain text -#: en/git-status.txt:30 -msgid "Give the output in the short-format." -msgstr "" - -#. type: Labeled list -#: en/git-status.txt:35 -#, no-wrap -msgid "--porcelain[=<version>]" +#: en/git-read-tree.txt:28 +msgid "" +"Optionally, it can merge a tree into the index, perform a fast-forward " +"(i.e. 2-way) merge, or a 3-way merge, with the `-m` flag. When used with " +"`-m`, the `-u` flag causes it to also update the files in the work tree with " +"the result of the merge." msgstr "" #. type: Plain text -#: en/git-status.txt:40 +#: en/git-read-tree.txt:31 msgid "" -"Give the output in an easy-to-parse format for scripts. This is similar to " -"the short output, but will remain stable across Git versions and regardless " -"of user configuration. See below for details." +"Trivial merges are done by 'git read-tree' itself. Only conflicting paths " +"will be in unmerged state when 'git read-tree' returns." msgstr "" #. type: Plain text -#: en/git-status.txt:43 +#: en/git-read-tree.txt:39 msgid "" -"The version parameter is used to specify the format version. This is " -"optional and defaults to the original version 'v1' format." +"Perform a merge, not just a read. The command will refuse to run if your " +"index file has unmerged entries, indicating that you have not finished " +"previous merge you started." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:40 +#, no-wrap +msgid "--reset" msgstr "" #. type: Plain text -#: en/git-status.txt:46 -msgid "Give the output in the long-format. This is the default." +#: en/git-read-tree.txt:43 +msgid "Same as -m, except that unmerged entries are discarded instead of failing." msgstr "" #. type: Plain text -#: en/git-status.txt:54 +#: en/git-read-tree.txt:47 msgid "" -"In addition to the names of files that have been changed, also show the " -"textual changes that are staged to be committed (i.e., like the output of " -"`git diff --cached`). If `-v` is specified twice, then also show the changes " -"in the working tree that have not yet been staged (i.e., like the output of " -"`git diff`)." +"After a successful merge, update the files in the work tree with the result " +"of the merge." msgstr "" #. type: Plain text -#: en/git-status.txt:62 +#: en/git-read-tree.txt:56 msgid "" -"The mode parameter is used to specify the handling of untracked files. It " -"is optional: it defaults to 'all', and if specified, it must be stuck to the " -"option (e.g. `-uno`, but not `-u no`)." +"Usually a merge requires the index file as well as the files in the working " +"tree to be up to date with the current head commit, in order not to lose " +"local changes. This flag disables the check with the working tree and is " +"meant to be used when creating a merge of trees that are not directly " +"related to the current working tree status into a temporary index file." msgstr "" #. type: Plain text -#: en/git-status.txt:66 -#, no-wrap -msgid "'no' - Show no untracked files.\n" +#: en/git-read-tree.txt:61 +msgid "" +"Check if the command would error out, without updating the index or the " +"files in the working tree for real." msgstr "" #. type: Plain text -#: en/git-status.txt:67 +#: en/git-read-tree.txt:64 +msgid "Show the progress of checking files out." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:65 #, no-wrap -msgid "'normal' - Shows untracked files and directories.\n" +msgid "--trivial" msgstr "" #. type: Plain text -#: en/git-status.txt:78 +#: en/git-read-tree.txt:70 msgid "" -"When `-u` option is not used, untracked files and directories are shown " -"(i.e. the same as specifying `normal`), to help you avoid forgetting to add " -"newly created files. Because it takes extra work to find untracked files in " -"the filesystem, this mode may take some time in a large working tree. " -"Consider enabling untracked cache and split index if supported (see `git " -"update-index --untracked-cache` and `git update-index --split-index`), " -"Otherwise you can use `no` to have `git status` return more quickly without " -"showing untracked files." +"Restrict three-way merge by 'git read-tree' to happen only if there is no " +"file-level merging required, instead of resolving merge for trivial cases " +"and leaving conflicting files unresolved in the index." msgstr "" -#. type: Labeled list -#: en/git-status.txt:82 en/diff-options.txt:581 -#, no-wrap -msgid "--ignore-submodules[=<when>]" +#. type: Plain text +#: en/git-read-tree.txt:77 +msgid "" +"Usually a three-way merge by 'git read-tree' resolves the merge for really " +"trivial cases and leaves other cases unresolved in the index, so that " +"porcelains can implement different merge policies. This flag makes the " +"command resolve a few more cases internally:" msgstr "" #. type: Plain text -#: en/git-status.txt:96 +#: en/git-read-tree.txt:80 msgid "" -"Ignore changes to submodules when looking for changes. <when> can be either " -"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " -"\"none\" will consider the submodule modified when it either contains " -"untracked or modified files or its HEAD differs from the commit recorded in " -"the superproject and can be used to override any settings of the 'ignore' " -"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " -"is used submodules are not considered dirty when they only contain untracked " -"content (but they are still scanned for modified content). Using \"dirty\" " -"ignores all changes to the work tree of submodules, only changes to the " -"commits stored in the superproject are shown (this was the behavior before " -"1.7.0). Using \"all\" hides all changes to submodules (and suppresses the " -"output of submodule summaries when the config option " -"`status.submoduleSummary` is set)." +"when one side removes a path and the other side leaves the path unmodified. " +"The resolution is to remove that path." msgstr "" #. type: Plain text -#: en/git-status.txt:99 -msgid "Show ignored files as well." +#: en/git-read-tree.txt:81 +msgid "when both sides remove a path. The resolution is to remove that path." msgstr "" #. type: Plain text -#: en/git-status.txt:103 -msgid "" -"Terminate entries with NUL, instead of LF. This implies the " -"`--porcelain=v1` output format if no other format is given." +#: en/git-read-tree.txt:83 +msgid "when both sides add a path identically. The resolution is to add that path." msgstr "" #. type: Plain text -#: en/git-status.txt:110 +#: en/git-read-tree.txt:90 msgid "" -"Display untracked files in columns. See configuration variable column.status " -"for option syntax.`--column` and `--no-column` without options are " -"equivalent to 'always' and 'never' respectively." +"Keep the current index contents, and read the contents of the named tree-ish " +"under the directory at `<prefix>`. The command will refuse to overwrite " +"entries that already existed in the original index file. Note that the " +"`<prefix>/` value must end with a slash." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:91 +#, no-wrap +msgid "--exclude-per-directory=<gitignore>" msgstr "" #. type: Plain text -#: en/git-status.txt:119 +#: en/git-read-tree.txt:105 msgid "" -"The output from this command is designed to be used as a commit template " -"comment. The default, long format, is designed to be human readable, " -"verbose and descriptive. Its contents and format are subject to change at " -"any time." +"When running the command with `-u` and `-m` options, the merge result may " +"need to overwrite paths that are not tracked in the current branch. The " +"command usually refuses to proceed with the merge to avoid losing such a " +"path. However this safety valve sometimes gets in the way. For example, it " +"often happens that the other branch added a file that used to be a generated " +"file in your branch, and the safety valve triggers when you try to switch to " +"that branch after you ran `make` but before running `make clean` to remove " +"the generated file. This option tells the command to read per-directory " +"exclude file (usually '.gitignore') and allows such an untracked but " +"explicitly ignored file to be overwritten." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:106 +#, no-wrap +msgid "--index-output=<file>" msgstr "" #. type: Plain text -#: en/git-status.txt:124 +#: en/git-read-tree.txt:117 msgid "" -"The paths mentioned in the output, unlike many other Git commands, are made " -"relative to the current directory if you are working in a subdirectory (this " -"is on purpose, to help cutting and pasting). See the status.relativePaths " -"config option below." +"Instead of writing the results out to `$GIT_INDEX_FILE`, write the resulting " +"index in the named file. While the command is operating, the original index " +"file is locked with the same mechanism as usual. The file must allow to be " +"rename(2)ed into from a temporary file that is created next to the usual " +"index file; typically this means it needs to be on the same filesystem as " +"the index file itself, and you need write permission to the directories the " +"index file and index output file are located in." msgstr "" -#. type: Title ~ -#: en/git-status.txt:126 +#. type: Labeled list +#: en/git-read-tree.txt:118 #, no-wrap -msgid "Short Format" +msgid "--no-sparse-checkout" msgstr "" #. type: Plain text -#: en/git-status.txt:129 -msgid "In the short-format, the status of each path is shown as" +#: en/git-read-tree.txt:121 +msgid "Disable sparse checkout support even if `core.sparseCheckout` is true." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:122 +#, no-wrap +msgid "--empty" msgstr "" #. type: Plain text -#: en/git-status.txt:131 +#: en/git-read-tree.txt:125 +msgid "Instead of reading tree object(s) into the index, just empty it." +msgstr "" + +#. type: Labeled list +#: en/git-read-tree.txt:126 #, no-wrap -msgid "\tXY PATH1 -> PATH2\n" +msgid "<tree-ish#>" msgstr "" #. type: Plain text -#: en/git-status.txt:136 +#: en/git-read-tree.txt:128 +msgid "The id of the tree object(s) to be read/merged." +msgstr "" + +#. type: Title - +#: en/git-read-tree.txt:131 +#, no-wrap +msgid "Merging" +msgstr "" + +#. type: Plain text +#: en/git-read-tree.txt:136 msgid "" -"where `PATH1` is the path in the `HEAD`, and the \" `-> PATH2`\" part is " -"shown only when `PATH1` corresponds to a different path in the " -"index/worktree (i.e. the file is renamed). The `XY` is a two-letter status " -"code." +"If `-m` is specified, 'git read-tree' can perform 3 kinds of merge, a single " +"tree merge if only 1 tree is given, a fast-forward merge with 2 trees, or a " +"3-way merge if 3 trees are provided." +msgstr "" + +#. type: Title ~ +#: en/git-read-tree.txt:139 +#, no-wrap +msgid "Single Tree Merge" msgstr "" #. type: Plain text -#: en/git-status.txt:142 +#: en/git-read-tree.txt:145 msgid "" -"The fields (including the `->`) are separated from each other by a single " -"space. If a filename contains whitespace or other nonprintable characters, " -"that field will be quoted in the manner of a C string literal: surrounded by " -"ASCII double quote (34) characters, and with interior special characters " -"backslash-escaped." +"If only 1 tree is specified, 'git read-tree' operates as if the user did not " +"specify `-m`, except that if the original index has an entry for a given " +"pathname, and the contents of the path match with the tree being read, the " +"stat info from the index is used. (In other words, the index's stat()s take " +"precedence over the merged tree's)." msgstr "" #. type: Plain text -#: en/git-status.txt:148 +#: en/git-read-tree.txt:149 msgid "" -"For paths with merge conflicts, `X` and `Y` show the modification states of " -"each side of the merge. For paths that do not have merge conflicts, `X` " -"shows the status of the index, and `Y` shows the status of the work tree. " -"For untracked paths, `XY` are `??`. Other status codes can be interpreted " -"as follows:" +"That means that if you do a `git read-tree -m <newtree>` followed by a `git " +"checkout-index -f -u -a`, the 'git checkout-index' only checks out the stuff " +"that really changed." msgstr "" #. type: Plain text -#: en/git-status.txt:150 -msgid "' ' = unmodified" +#: en/git-read-tree.txt:152 +msgid "" +"This is used to avoid unnecessary false hits when 'git diff-files' is run " +"after 'git read-tree'." +msgstr "" + +#. type: Title ~ +#: en/git-read-tree.txt:155 +#, no-wrap +msgid "Two Tree Merge" msgstr "" #. type: Plain text -#: en/git-status.txt:151 -msgid "'M' = modified" +#: en/git-read-tree.txt:161 +msgid "" +"Typically, this is invoked as `git read-tree -m $H $M`, where $H is the head " +"commit of the current repository, and $M is the head of a foreign tree, " +"which is simply ahead of $H (i.e. we are in a fast-forward situation)." msgstr "" #. type: Plain text -#: en/git-status.txt:152 -msgid "'A' = added" +#: en/git-read-tree.txt:164 +msgid "" +"When two trees are specified, the user is telling 'git read-tree' the " +"following:" msgstr "" #. type: Plain text -#: en/git-status.txt:153 -msgid "'D' = deleted" +#: en/git-read-tree.txt:166 +msgid "The current index and work tree is derived from $H, but" msgstr "" #. type: Plain text -#: en/git-status.txt:154 -msgid "'R' = renamed" +#: en/git-read-tree.txt:167 +msgid "the user may have local changes in them since $H." msgstr "" #. type: Plain text -#: en/git-status.txt:155 -msgid "'C' = copied" +#: en/git-read-tree.txt:169 +msgid "The user wants to fast-forward to $M." msgstr "" #. type: Plain text -#: en/git-status.txt:156 -msgid "'U' = updated but unmerged" +#: en/git-read-tree.txt:175 +msgid "" +"In this case, the `git read-tree -m $H $M` command makes sure that no local " +"change is lost as the result of this \"merge\". Here are the \"carry " +"forward\" rules, where \"I\" denotes the index, \"clean\" means that index " +"and work tree coincide, and \"exists\"/\"nothing\" refer to the presence of " +"a path in the specified commit:" msgstr "" #. type: Plain text -#: en/git-status.txt:159 +#: en/git-read-tree.txt:185 +#, no-wrap msgid "" -"Ignored files are not listed, unless `--ignored` option is in effect, in " -"which case `XY` are `!!`." +"\tI H M Result\n" +" -------------------------------------------------------\n" +" 0 nothing nothing nothing (does not happen)\n" +" 1 nothing nothing exists use M\n" +" 2 nothing exists nothing remove path from index\n" +" 3 nothing exists exists, use M if \"initial " +"checkout\",\n" +"\t\t\t\t H == M keep index otherwise\n" +"\t\t\t\t exists, fail\n" +"\t\t\t\t H != M\n" msgstr "" #. type: Plain text -#: en/git-status.txt:183 +#: en/git-read-tree.txt:190 #, no-wrap msgid "" -" X Y Meaning\n" -" -------------------------------------------------\n" -" [MD] not updated\n" -" M [ MD] updated in index\n" -" A [ MD] added to index\n" -" D [ M] deleted from index\n" -" R [ MD] renamed in index\n" -" C [ MD] copied in index\n" -" [MARC] index and work tree matches\n" -" [ MARC] M work tree changed since index\n" -" [ MARC] D deleted in work tree\n" -" -------------------------------------------------\n" -" D D unmerged, both deleted\n" -" A U unmerged, added by us\n" -" U D unmerged, deleted by them\n" -" U A unmerged, added by them\n" -" D U unmerged, deleted by us\n" -" A A unmerged, both added\n" -" U U unmerged, both modified\n" -" -------------------------------------------------\n" -" ? ? untracked\n" -" ! ! ignored\n" -" -------------------------------------------------\n" +" clean I==H I==M\n" +" ------------------\n" +" 4 yes N/A N/A nothing nothing keep index\n" +" 5 no N/A N/A nothing nothing keep index\n" msgstr "" #. type: Plain text -#: en/git-status.txt:185 -msgid "If -b is used the short-format status is preceded by a line" +#: en/git-read-tree.txt:195 +#, no-wrap +msgid "" +" 6 yes N/A yes nothing exists keep index\n" +" 7 no N/A yes nothing exists keep index\n" +" 8 yes N/A no nothing exists fail\n" +" 9 no N/A no nothing exists fail\n" msgstr "" #. type: Plain text -#: en/git-status.txt:187 +#: en/git-read-tree.txt:200 #, no-wrap -msgid " ## branchname tracking info\n" +msgid "" +" 10 yes yes N/A exists nothing remove path from index\n" +" 11 no yes N/A exists nothing fail\n" +" 12 yes no N/A exists nothing fail\n" +" 13 no no N/A exists nothing fail\n" msgstr "" -#. type: Title ~ -#: en/git-status.txt:189 +#. type: Plain text +#: en/git-read-tree.txt:205 #, no-wrap -msgid "Porcelain Format Version 1" +msgid "" +"\tclean (H==M)\n" +" ------\n" +" 14 yes exists exists keep index\n" +" 15 no exists exists keep index\n" msgstr "" #. type: Plain text -#: en/git-status.txt:196 +#: en/git-read-tree.txt:214 +#, no-wrap msgid "" -"Version 1 porcelain format is similar to the short format, but is guaranteed " -"not to change in a backwards-incompatible way between Git versions or based " -"on user configuration. This makes it ideal for parsing by scripts. The " -"description of the short format above also describes the porcelain format, " -"with a few exceptions:" +" clean I==H I==M (H!=M)\n" +" ------------------\n" +" 16 yes no no exists exists fail\n" +" 17 no no no exists exists fail\n" +" 18 yes no yes exists exists keep index\n" +" 19 no no yes exists exists keep index\n" +" 20 yes yes no exists exists use M\n" +" 21 no yes no exists exists fail\n" msgstr "" #. type: Plain text -#: en/git-status.txt:199 +#: en/git-read-tree.txt:219 msgid "" -"The user's color.status configuration is not respected; color will always be " -"off." +"In all \"keep index\" cases, the index entry stays as in the original index " +"file. If the entry is not up to date, 'git read-tree' keeps the copy in the " +"work tree intact when operating under the -u flag." msgstr "" #. type: Plain text -#: en/git-status.txt:202 +#: en/git-read-tree.txt:230 msgid "" -"The user's status.relativePaths configuration is not respected; paths shown " -"will always be relative to the repository root." +"When this form of 'git read-tree' returns successfully, you can see which of " +"the \"local changes\" that you made were carried forward by running `git " +"diff-index --cached $M`. Note that this does not necessarily match what " +"`git diff-index --cached $H` would have produced before such a two tree " +"merge. This is because of cases 18 and 19 --- if you already had the " +"changes in $M (e.g. maybe you picked it up via e-mail in a patch form), `git " +"diff-index --cached $H` would have told you about the change before this " +"merge, but it would not show in `git diff-index --cached $M` output after " +"the two-tree merge." msgstr "" #. type: Plain text -#: en/git-status.txt:212 +#: en/git-read-tree.txt:237 msgid "" -"There is also an alternate -z format recommended for machine parsing. In " -"that format, the status field is the same, but some other things change. " -"First, the '\\->' is omitted from rename entries and the field order is " -"reversed (e.g 'from \\-> to' becomes 'to from'). Second, a NUL (ASCII 0) " -"follows each filename, replacing space as a field separator and the " -"terminating newline (but a space still separates the status field from the " -"first filename). Third, filenames containing special characters are not " -"specially formatted; no quoting or backslash-escaping is performed." +"Case 3 is slightly tricky and needs explanation. The result from this rule " +"logically should be to remove the path if the user staged the removal of the " +"path and then switching to a new branch. That however will prevent the " +"initial checkout from happening, so the rule is modified to use M (new tree) " +"only when the content of the index is empty. Otherwise the removal of the " +"path is kept as long as $H and $M are the same." msgstr "" #. type: Title ~ -#: en/git-status.txt:214 +#: en/git-read-tree.txt:239 #, no-wrap -msgid "Porcelain Format Version 2" +msgid "3-Way Merge" msgstr "" #. type: Plain text -#: en/git-status.txt:219 +#: en/git-read-tree.txt:242 msgid "" -"Version 2 format adds more detailed information about the state of the " -"worktree and changed items. Version 2 also defines an extensible set of " -"easy to parse optional headers." +"Each \"index\" entry has two bits worth of \"stage\" state. stage 0 is the " +"normal one, and is the only one you'd see in any kind of normal use." msgstr "" #. type: Plain text -#: en/git-status.txt:223 +#: en/git-read-tree.txt:245 msgid "" -"Header lines start with \"#\" and are added in response to specific command " -"line arguments. Parsers should ignore headers they don't recognize." +"However, when you do 'git read-tree' with three trees, the \"stage\" starts " +"out at 1." msgstr "" #. type: Plain text -#: en/git-status.txt:225 -msgid "### Branch Headers" +#: en/git-read-tree.txt:247 +msgid "This means that you can do" msgstr "" -#. type: Plain text -#: en/git-status.txt:228 -msgid "" -"If `--branch` is given, a series of header lines are printed with " -"information about the current branch." +#. type: delimited block - +#: en/git-read-tree.txt:250 +#, no-wrap +msgid "$ git read-tree -m <tree1> <tree2> <tree3>\n" msgstr "" #. type: Plain text -#: en/git-status.txt:237 -#, no-wrap +#: en/git-read-tree.txt:258 msgid "" -" Line Notes\n" -" ------------------------------------------------------------\n" -" # branch.oid <commit> | (initial) Current commit.\n" -" # branch.head <branch> | (detached) Current branch.\n" -" # branch.upstream <upstream_branch> If upstream is set.\n" -" # branch.ab +<ahead> -<behind> If upstream is set and\n" -"\t\t\t\t\t the commit is present.\n" -" ------------------------------------------------------------\n" +"and you will end up with an index with all of the <tree1> entries in " +"\"stage1\", all of the <tree2> entries in \"stage2\" and all of the <tree3> " +"entries in \"stage3\". When performing a merge of another branch into the " +"current branch, we use the common ancestor tree as <tree1>, the current " +"branch head as <tree2>, and the other branch head as <tree3>." msgstr "" #. type: Plain text -#: en/git-status.txt:239 -msgid "### Changed Tracked Entries" +#: en/git-read-tree.txt:262 +msgid "" +"Furthermore, 'git read-tree' has special-case logic that says: if you see a " +"file that matches in all respects in the following states, it \"collapses\" " +"back to \"stage0\":" msgstr "" #. type: Plain text -#: en/git-status.txt:245 +#: en/git-read-tree.txt:266 msgid "" -"Following the headers, a series of lines are printed for tracked entries. " -"One of three different line formats may be used to describe an entry " -"depending on the type of change. Tracked entries are printed in an " -"undefined order; parsers should allow for a mixture of the 3 line types in " -"any order." +"stage 2 and 3 are the same; take one or the other (it makes no difference - " +"the same work has been done on our branch in stage 2 and their branch in " +"stage 3)" msgstr "" #. type: Plain text -#: en/git-status.txt:247 -msgid "Ordinary changed entries have the following format:" +#: en/git-read-tree.txt:271 +msgid "" +"stage 1 and stage 2 are the same and stage 3 is different; take stage 3 (our " +"branch in stage 2 did not do anything since the ancestor in stage 1 while " +"their branch in stage 3 worked on it)" msgstr "" #. type: Plain text -#: en/git-status.txt:249 -#, no-wrap -msgid " 1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>\n" +#: en/git-read-tree.txt:274 +msgid "" +"stage 1 and stage 3 are the same and stage 2 is different take stage 2 (we " +"did something while they did nothing)" msgstr "" #. type: Plain text -#: en/git-status.txt:251 -msgid "Renamed or copied entries have the following format:" +#: en/git-read-tree.txt:278 +msgid "" +"The 'git write-tree' command refuses to write a nonsensical tree, and it " +"will complain about unmerged entries if it sees a single entry that is not " +"stage 0." msgstr "" #. type: Plain text -#: en/git-status.txt:253 -#, no-wrap -msgid " 2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><sep><origPath>\n" +#: en/git-read-tree.txt:284 +msgid "" +"OK, this all sounds like a collection of totally nonsensical rules, but it's " +"actually exactly what you want in order to do a fast merge. The different " +"stages represent the \"result tree\" (stage 0, aka \"merged\"), the original " +"tree (stage 1, aka \"orig\"), and the two trees you are trying to merge " +"(stage 2 and 3 respectively)." msgstr "" #. type: Plain text -#: en/git-status.txt:283 -#, no-wrap +#: en/git-read-tree.txt:289 msgid "" -" Field Meaning\n" -" --------------------------------------------------------\n" -" <XY> A 2 character field containing the staged and\n" -"\t\tunstaged XY values described in the short format,\n" -"\t\twith unchanged indicated by a \".\" rather than\n" -"\t\ta space.\n" -" <sub> A 4 character field describing the submodule state.\n" -"\t\t\"N...\" when the entry is not a submodule.\n" -"\t\t\"S<c><m><u>\" when the entry is a submodule.\n" -"\t\t<c> is \"C\" if the commit changed; otherwise \".\".\n" -"\t\t<m> is \"M\" if it has tracked changes; otherwise \".\".\n" -"\t\t<u> is \"U\" if there are untracked changes; otherwise \".\".\n" -" <mH> The octal file mode in HEAD.\n" -" <mI> The octal file mode in the index.\n" -" <mW> The octal file mode in the worktree.\n" -" <hH> The object name in HEAD.\n" -" <hI> The object name in the index.\n" -" <X><score> The rename or copy score (denoting the percentage\n" -"\t\tof similarity between the source and target of the\n" -"\t\tmove or copy). For example \"R100\" or \"C75\".\n" -" <path> The pathname. In a renamed/copied entry, this\n" -"\t\tis the path in the index and in the working tree.\n" -" <sep> When the `-z` option is used, the 2 pathnames are " -"separated\n" -"\t\twith a NUL (ASCII 0x00) byte; otherwise, a tab (ASCII 0x09)\n" -"\t\tbyte separates them.\n" -" <origPath> The pathname in the commit at HEAD. This is only\n" -"\t\tpresent in a renamed/copied entry, and tells\n" -"\t\twhere the renamed/copied contents came from.\n" -" --------------------------------------------------------\n" +"The order of stages 1, 2 and 3 (hence the order of three <tree-ish> " +"command-line arguments) are significant when you start a 3-way merge with an " +"index file that is already populated. Here is an outline of how the " +"algorithm works:" msgstr "" #. type: Plain text -#: en/git-status.txt:286 +#: en/git-read-tree.txt:292 msgid "" -"Unmerged entries have the following format; the first character is a \"u\" " -"to distinguish from ordinary changed entries." +"if a file exists in identical format in all three trees, it will " +"automatically collapse to \"merged\" state by 'git read-tree'." msgstr "" #. type: Plain text -#: en/git-status.txt:288 -#, no-wrap -msgid " u <xy> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>\n" +#: en/git-read-tree.txt:297 +msgid "" +"a file that has _any_ difference what-so-ever in the three trees will stay " +"as separate entries in the index. It's up to \"porcelain policy\" to " +"determine how to remove the non-0 stages, and insert a merged version." msgstr "" #. type: Plain text -#: en/git-status.txt:304 -#, no-wrap +#: en/git-read-tree.txt:302 msgid "" -" Field Meaning\n" -" --------------------------------------------------------\n" -" <XY> A 2 character field describing the conflict type\n" -"\t\tas described in the short format.\n" -" <sub> A 4 character field describing the submodule state\n" -"\t\tas described above.\n" -" <m1> The octal file mode in stage 1.\n" -" <m2> The octal file mode in stage 2.\n" -" <m3> The octal file mode in stage 3.\n" -" <mW> The octal file mode in the worktree.\n" -" <h1> The object name in stage 1.\n" -" <h2> The object name in stage 2.\n" -" <h3> The object name in stage 3.\n" -" <path> The pathname.\n" -" --------------------------------------------------------\n" +"the index file saves and restores with all this information, so you can " +"merge things incrementally, but as long as it has entries in stages 1/2/3 " +"(i.e., \"unmerged entries\") you can't write the result. So now the merge " +"algorithm ends up being really simple:" msgstr "" #. type: Plain text -#: en/git-status.txt:306 -msgid "### Other Items" +#: en/git-read-tree.txt:305 +msgid "" +"you walk the index in order, and ignore all entries of stage 0, since " +"they've already been done." msgstr "" #. type: Plain text -#: en/git-status.txt:310 +#: en/git-read-tree.txt:309 msgid "" -"Following the tracked entries (and if requested), a series of lines will be " -"printed for untracked and then ignored items found in the worktree." +"if you find a \"stage1\", but no matching \"stage2\" or \"stage3\", you know " +"it's been removed from both trees (it only existed in the original tree), " +"and you remove that entry." msgstr "" #. type: Plain text -#: en/git-status.txt:312 -msgid "Untracked items have the following format:" +#: en/git-read-tree.txt:314 +msgid "" +"if you find a matching \"stage2\" and \"stage3\" tree, you remove one of " +"them, and turn the other into a \"stage0\" entry. Remove any matching " +"\"stage1\" entry if it exists too. .. all the normal trivial rules .." msgstr "" #. type: Plain text -#: en/git-status.txt:314 -#, no-wrap -msgid " ? <path>\n" +#: en/git-read-tree.txt:319 +msgid "" +"You would normally use 'git merge-index' with supplied 'git merge-one-file' " +"to do this last step. The script updates the files in the working tree as " +"it merges each path and at the end of a successful merge." msgstr "" #. type: Plain text -#: en/git-status.txt:316 -msgid "Ignored items have the following format:" +#: en/git-read-tree.txt:327 +msgid "" +"When you start a 3-way merge with an index file that is already populated, " +"it is assumed that it represents the state of the files in your work tree, " +"and you can even have files with changes unrecorded in the index file. It " +"is further assumed that this state is \"derived\" from the stage 2 tree. " +"The 3-way merge refuses to run if it finds an entry in the original index " +"file that does not match stage 2." msgstr "" #. type: Plain text -#: en/git-status.txt:318 +#: en/git-read-tree.txt:332 +msgid "" +"This is done to prevent you from losing your work-in-progress changes, and " +"mixing your random changes in an unrelated merge commit. To illustrate, " +"suppose you start from what has been committed last to your repository:" +msgstr "" + +#. type: delimited block - +#: en/git-read-tree.txt:336 #, no-wrap -msgid " ! <path>\n" +msgid "" +"$ JC=`git rev-parse --verify \"HEAD^0\"`\n" +"$ git checkout-index -f -u -a $JC\n" msgstr "" #. type: Plain text -#: en/git-status.txt:320 -msgid "### Pathname Format Notes and -z" +#: en/git-read-tree.txt:341 +msgid "" +"You do random edits, without running 'git update-index'. And then you " +"notice that the tip of your \"upstream\" tree has advanced since you pulled " +"from him:" msgstr "" -#. type: Plain text -#: en/git-status.txt:324 +#. type: delimited block - +#: en/git-read-tree.txt:345 +#, no-wrap msgid "" -"When the `-z` option is given, pathnames are printed as is and without any " -"quoting and lines are terminated with a NUL (ASCII 0x00) byte." +"$ git fetch git://.... linus\n" +"$ LT=`git rev-parse FETCH_HEAD`\n" msgstr "" #. type: Plain text -#: en/git-status.txt:328 +#: en/git-read-tree.txt:351 msgid "" -"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " -"explained for the configuration variable `core.quotePath` (see " -"linkgit:git-config[1])." +"Your work tree is still based on your HEAD ($JC), but you have some edits " +"since. Three-way merge makes sure that you have not added or modified index " +"entries since $JC, and if you haven't, then does the right thing. So with " +"the following sequence:" +msgstr "" + +#. type: delimited block - +#: en/git-read-tree.txt:357 +#, no-wrap +msgid "" +"$ git read-tree -m -u `git merge-base $JC $LT` $JC $LT\n" +"$ git merge-index git-merge-one-file -a\n" +"$ echo \"Merge with Linus\" | \\\n" +" git commit-tree `git write-tree` -p $JC -p $LT\n" msgstr "" #. type: Plain text -#: en/git-status.txt:337 +#: en/git-read-tree.txt:362 msgid "" -"The command honors `color.status` (or `status.color` -- they mean the same " -"thing and the latter is kept for backward compatibility) and " -"`color.status.<slot>` configuration variables to colorize its output." +"what you would commit is a pure merge between $JC and $LT without your " +"work-in-progress changes, and your work tree would be updated to the result " +"of the merge." msgstr "" #. type: Plain text -#: en/git-status.txt:341 +#: en/git-read-tree.txt:366 msgid "" -"If the config variable `status.relativePaths` is set to false, then all " -"paths shown are relative to the repository root, not to the current " -"directory." +"However, if you have local changes in the working tree that would be " +"overwritten by this merge, 'git read-tree' will refuse to run to prevent " +"your changes from being lost." msgstr "" #. type: Plain text -#: en/git-status.txt:352 +#: en/git-read-tree.txt:376 msgid "" -"If `status.submoduleSummary` is set to a non zero number or true (identical " -"to -1 or an unlimited number), the submodule summary will be enabled for the " -"long format and a summary of commits for modified submodules will be shown " -"(see --summary-limit option of linkgit:git-submodule[1]). Please note that " -"the summary output from the status command will be suppressed for all " -"submodules when `diff.ignoreSubmodules` is set to 'all' or only for those " -"submodules where `submodule.<name>.ignore=all`. To also view the summary for " -"ignored submodules you can either use the --ignore-submodules=dirty command " -"line option or the 'git submodule summary' command, which shows a similar " -"output but does not honor these settings." +"In other words, there is no need to worry about what exists only in the " +"working tree. When you have local changes in a part of the project that is " +"not involved in the merge, your changes do not interfere with the merge, and " +"are kept intact. When they *do* interfere, the merge does not even start " +"('git read-tree' complains loudly and fails without modifying anything). In " +"such a case, you can simply continue doing what you were in the middle of " +"doing, and when your working tree is ready (i.e. you have finished your " +"work-in-progress), attempt the merge again." msgstr "" -#. type: Title = -#: en/git-stripspace.txt:2 +#. type: Title - +#: en/git-read-tree.txt:379 #, no-wrap -msgid "git-stripspace(1)" +msgid "Sparse checkout" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:7 -msgid "git-stripspace - Remove unnecessary whitespace" +#: en/git-read-tree.txt:384 +msgid "" +"\"Sparse checkout\" allows populating the working directory sparsely. It " +"uses the skip-worktree bit (see linkgit:git-update-index[1]) to tell Git " +"whether a file in the working directory is worth looking at." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:14 -#, no-wrap +#: en/git-read-tree.txt:393 msgid "" -"'git stripspace' [-s | --strip-comments]\n" -"'git stripspace' [-c | --comment-lines]\n" +"'git read-tree' and other merge-based commands ('git merge', 'git " +"checkout'...) can help maintaining the skip-worktree bitmap and working " +"directory update. `$GIT_DIR/info/sparse-checkout` is used to define the " +"skip-worktree reference bitmap. When 'git read-tree' needs to update the " +"working directory, it resets the skip-worktree bit in the index based on " +"this file, which uses the same syntax as .gitignore files. If an entry " +"matches a pattern in this file, skip-worktree will not be set on that " +"entry. Otherwise, skip-worktree will be set." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:21 +#: en/git-read-tree.txt:397 msgid "" -"Read text, such as commit messages, notes, tags and branch descriptions, " -"from the standard input and clean it in the manner used by Git." +"Then it compares the new skip-worktree value with the previous one. If " +"skip-worktree turns from set to unset, it will add the corresponding file " +"back. If it turns from unset to set, that file will be removed." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:23 -msgid "With no arguments, this will:" +#: en/git-read-tree.txt:401 +msgid "" +"While `$GIT_DIR/info/sparse-checkout` is usually used to specify what files " +"are in, you can also specify what files are _not_ in, using negate " +"patterns. For example, to remove the file `unwanted`:" +msgstr "" + +#. type: delimited block - +#: en/git-read-tree.txt:405 +#, no-wrap +msgid "" +"/*\n" +"!unwanted\n" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:25 -msgid "remove trailing whitespace from all lines" +#: en/git-read-tree.txt:413 +msgid "" +"Another tricky thing is fully repopulating the working directory when you no " +"longer want sparse checkout. You cannot just disable \"sparse checkout\" " +"because skip-worktree bits are still in the index and your working directory " +"is still sparsely populated. You should re-populate the working directory " +"with the `$GIT_DIR/info/sparse-checkout` file content as follows:" +msgstr "" + +#. type: delimited block - +#: en/git-read-tree.txt:416 +#, no-wrap +msgid "/*\n" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:26 -msgid "collapse multiple consecutive empty lines into one empty line" +#: en/git-read-tree.txt:422 +msgid "" +"Then you can disable sparse checkout. Sparse checkout support in 'git " +"read-tree' and similar commands is disabled by default. You need to turn " +"`core.sparseCheckout` on in order to have sparse checkout support." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:27 -msgid "remove empty lines from the beginning and end of the input" +#: en/git-read-tree.txt:428 +msgid "linkgit:git-write-tree[1]; linkgit:git-ls-files[1]; linkgit:gitignore[5]" +msgstr "" + +#. type: Title = +#: en/git-rebase.txt:2 +#, no-wrap +msgid "git-rebase(1)" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:28 -msgid "add a missing '\\n' to the last line if necessary." +#: en/git-rebase.txt:7 +msgid "git-rebase - Reapply commits on top of another base tip" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:31 +#: en/git-rebase.txt:16 +#, no-wrap msgid "" -"In the case where the input consists entirely of whitespace characters, no " -"output will be produced." +"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto " +"<newbase>]\n" +"\t[<upstream> [<branch>]]\n" +"'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto " +"<newbase>]\n" +"\t--root [<branch>]\n" +"'git rebase' --continue | --skip | --abort | --quit | --edit-todo\n" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:35 -#, no-wrap +#: en/git-rebase.txt:22 msgid "" -"*NOTE*: This is intended for cleaning metadata, prefer the " -"`--whitespace=fix`\n" -"mode of linkgit:git-apply[1] for correcting whitespace of patches or files " -"in\n" -"the repository.\n" +"If <branch> is specified, 'git rebase' will perform an automatic `git " +"checkout <branch>` before doing anything else. Otherwise it remains on the " +"current branch." msgstr "" -#. type: Labeled list -#: en/git-stripspace.txt:39 -#, no-wrap -msgid "--strip-comments" +#. type: Plain text +#: en/git-rebase.txt:28 +msgid "" +"If <upstream> is not specified, the upstream configured in " +"branch.<name>.remote and branch.<name>.merge options will be used (see " +"linkgit:git-config[1] for details) and the `--fork-point` option is " +"assumed. If you are currently not on any branch or if the current branch " +"does not have a configured upstream, the rebase will abort." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:41 -msgid "Skip and remove all lines starting with comment character (default '#')." +#: en/git-rebase.txt:35 +msgid "" +"All changes made by commits in the current branch but that are not in " +"<upstream> are saved to a temporary area. This is the same set of commits " +"that would be shown by `git log <upstream>..HEAD`; or by `git log " +"'fork_point'..HEAD`, if `--fork-point` is active (see the description on " +"`--fork-point` below); or by `git log HEAD`, if the `--root` option is " +"specified." msgstr "" -#. type: Labeled list -#: en/git-stripspace.txt:43 -#, no-wrap -msgid "--comment-lines" +#. type: Plain text +#: en/git-rebase.txt:40 +msgid "" +"The current branch is reset to <upstream>, or <newbase> if the --onto option " +"was supplied. This has the exact same effect as `git reset --hard " +"<upstream>` (or <newbase>). ORIG_HEAD is set to point at the tip of the " +"branch before the reset." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:47 +#: en/git-rebase.txt:46 msgid "" -"Prepend comment character and blank to each line. Lines will automatically " -"be terminated with a newline. On empty lines, only the comment character " -"will be prepended." +"The commits that were previously saved into the temporary area are then " +"reapplied to the current branch, one by one, in order. Note that any commits " +"in HEAD which introduce the same textual changes as a commit in " +"HEAD..<upstream> are omitted (i.e., a patch already accepted upstream with a " +"different commit message or timestamp will be skipped)." msgstr "" #. type: Plain text -#: en/git-stripspace.txt:52 -msgid "Given the following noisy input with '$' indicating the end of a line:" +#: en/git-rebase.txt:53 +msgid "" +"It is possible that a merge failure will prevent this process from being " +"completely automatic. You will have to resolve any such merge failure and " +"run `git rebase --continue`. Another option is to bypass the commit that " +"caused the merge failure with `git rebase --skip`. To check out the " +"original <branch> and remove the .git/rebase-apply working files, use the " +"command `git rebase --abort` instead." +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:55 +msgid "Assume the following history exists and the current branch is \"topic\":" msgstr "" #. type: delimited block - -#: en/git-stripspace.txt:65 +#: en/git-rebase.txt:60 #, no-wrap msgid "" -"|A brief introduction $\n" -"| $\n" -"|$\n" -"|A new paragraph$\n" -"|# with a commented-out line $\n" -"|explaining lots of stuff.$\n" -"|$\n" -"|# An old paragraph, also commented-out. $\n" -"| $\n" -"|The end.$\n" -"| $\n" +" A---B---C topic\n" +" /\n" +" D---E---F---G master\n" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:68 -msgid "Use 'git stripspace' with no arguments to obtain:" +#: en/git-rebase.txt:63 +msgid "From this point, the result of either of the following commands:" msgstr "" -#. type: delimited block - -#: en/git-stripspace.txt:79 +#. type: Plain text +#: en/git-rebase.txt:67 #, no-wrap msgid "" -"|A brief introduction$\n" -"|$\n" -"|A new paragraph$\n" -"|# with a commented-out line$\n" -"|explaining lots of stuff.$\n" -"|$\n" -"|# An old paragraph, also commented-out.$\n" -"|$\n" -"|The end.$\n" +" git rebase master\n" +" git rebase master topic\n" msgstr "" #. type: Plain text -#: en/git-stripspace.txt:82 -msgid "Use 'git stripspace --strip-comments' to obtain:" +#: en/git-rebase.txt:69 +msgid "would be:" msgstr "" #. type: delimited block - -#: en/git-stripspace.txt:90 +#: en/git-rebase.txt:74 #, no-wrap msgid "" -"|A brief introduction$\n" -"|$\n" -"|A new paragraph$\n" -"|explaining lots of stuff.$\n" -"|$\n" -"|The end.$\n" +" A'--B'--C' topic\n" +" /\n" +" D---E---F---G master\n" msgstr "" -#. type: Title = -#: en/git-submodule.txt:2 +#. type: Plain text +#: en/git-rebase.txt:79 #, no-wrap -msgid "git-submodule(1)" +msgid "" +"*NOTE:* The latter form is just a short-hand of `git checkout topic`\n" +"followed by `git rebase master`. When rebase exits `topic` will\n" +"remain the checked-out branch.\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:7 -msgid "git-submodule - Initialize, update or inspect submodules" +#: en/git-rebase.txt:85 +msgid "" +"If the upstream branch already contains a change you have made (e.g., " +"because you mailed a patch which was applied upstream), then that commit " +"will be skipped. For example, running `git rebase master` on the following " +"history (in which `A'` and `A` introduce the same set of changes, but have " +"different committer information):" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:21 +#. type: delimited block - +#: en/git-rebase.txt:90 #, no-wrap msgid "" -"'git submodule' [--quiet] add [<options>] [--] <repository> [<path>]\n" -"'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]\n" -"'git submodule' [--quiet] init [--] [<path>...]\n" -"'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)\n" -"'git submodule' [--quiet] update [<options>] [--] [<path>...]\n" -"'git submodule' [--quiet] summary [<options>] [--] [<path>...]\n" -"'git submodule' [--quiet] foreach [--recursive] <command>\n" -"'git submodule' [--quiet] sync [--recursive] [--] [<path>...]\n" -"'git submodule' [--quiet] absorbgitdirs [--] [<path>...]\n" +" A---B---C topic\n" +" /\n" +" D---E---A'---F master\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:26 -msgid "Inspects, updates and manages submodules." +#: en/git-rebase.txt:93 +msgid "will result in:" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:31 +#. type: delimited block - +#: en/git-rebase.txt:98 +#, no-wrap msgid "" -"A submodule allows you to keep another Git repository in a subdirectory of " -"your repository. The other repository has its own history, which does not " -"interfere with the history of the current repository. This can be used to " -"have external dependencies such as third party libraries for example." +" B'---C' topic\n" +" /\n" +" D---E---A'---F master\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:36 +#: en/git-rebase.txt:103 msgid "" -"When cloning or pulling a repository containing submodules however, these " -"will not be checked out by default; the 'init' and 'update' subcommands will " -"maintain submodules checked out and at appropriate revision in your working " -"tree." +"Here is how you would transplant a topic branch based on one branch to " +"another, to pretend that you forked the topic branch from the latter branch, " +"using `rebase --onto`." msgstr "" #. type: Plain text -#: en/git-submodule.txt:45 +#: en/git-rebase.txt:107 msgid "" -"Submodules are composed from a so-called `gitlink` tree entry in the main " -"repository that refers to a particular commit object within the inner " -"repository that is completely separate. A record in the `.gitmodules` (see " -"linkgit:gitmodules[5]) file at the root of the source tree assigns a logical " -"name to the submodule and describes the default URL the submodule shall be " -"cloned from. The logical name can be used for overriding this URL within " -"your local repository configuration (see 'submodule init')." +"First let's assume your 'topic' is based on branch 'next'. For example, a " +"feature developed in 'topic' depends on some functionality which is found in " +"'next'." +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:114 +#, no-wrap +msgid "" +" o---o---o---o---o master\n" +" \\\n" +" o---o---o---o---o next\n" +" \\\n" +" o---o---o topic\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:58 +#: en/git-rebase.txt:119 msgid "" -"Submodules are not to be confused with remotes, which are other repositories " -"of the same project; submodules are meant for different projects you would " -"like to make part of your source tree, while the history of the two projects " -"still stays completely independent and you cannot modify the contents of the " -"submodule from within the main project. If you want to merge the project " -"histories and want to treat the aggregated whole as a single project from " -"then on, you may want to add a remote for the other project and use the " -"'subtree' merge strategy, instead of treating the other project as a " -"submodule. Directories that come from both projects can be cloned and " -"checked out as a whole if you choose to go that route." +"We want to make 'topic' forked from branch 'master'; for example, because " +"the functionality on which 'topic' depends was merged into the more stable " +"'master' branch. We want our tree to look like this:" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:61 +#. type: delimited block - +#: en/git-rebase.txt:126 #, no-wrap msgid "" -"add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] " -"[--depth <depth>] [--] <repository> [<path>]" +" o---o---o---o---o master\n" +" | \\\n" +" | o'--o'--o' topic\n" +" \\\n" +" o---o---o---o---o next\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:65 -msgid "" -"Add the given repository as a submodule at the given path to the changeset " -"to be committed next to the current project: the current project is termed " -"the \"superproject\"." +#: en/git-rebase.txt:129 +msgid "We can get this using the following command:" msgstr "" #. type: Plain text -#: en/git-submodule.txt:73 -msgid "" -"This requires at least one argument: <repository>. The optional argument " -"<path> is the relative location for the cloned submodule to exist in the " -"superproject. If <path> is not given, the \"humanish\" part of the source " -"repository is used (\"repo\" for \"/path/to/repo.git\" and \"foo\" for " -"\"host.xz:foo/.git\"). The <path> is also used as the submodule's logical " -"name in its configuration entries unless `--name` is used to specify a " -"logical name." +#: en/git-rebase.txt:131 +#, no-wrap +msgid " git rebase --onto master next topic\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:82 +#: en/git-rebase.txt:135 msgid "" -"<repository> is the URL of the new submodule's origin repository. This may " -"be either an absolute URL, or (if it begins with ./ or ../), the location " -"relative to the superproject's default remote repository (Please note that " -"to specify a repository 'foo.git' which is located right next to a " -"superproject 'bar.git', you'll have to use '../foo.git' instead of " -"'./foo.git' - as one might expect when following the rules for relative URLs " -"- because the evaluation of relative URLs in Git is identical to that of " -"relative directories)." +"Another example of --onto option is to rebase part of a branch. If we have " +"the following situation:" msgstr "" -#. type: Plain text -#: en/git-submodule.txt:89 +#. type: delimited block - +#: en/git-rebase.txt:142 +#, no-wrap msgid "" -"The default remote is the remote of the remote tracking branch of the " -"current branch. If no such remote tracking branch exists or the HEAD is " -"detached, \"origin\" is assumed to be the default remote. If the " -"superproject doesn't have a default remote configured the superproject is " -"its own authoritative upstream and the current working directory is used " -"instead." +" H---I---J topicB\n" +" /\n" +" E---F---G topicA\n" +" /\n" +" A---B---C---D master\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:97 -msgid "" -"<path> is the relative location for the cloned submodule to exist in the " -"superproject. If <path> does not exist, then the submodule is created by " -"cloning from the named URL. If <path> does exist and is already a valid Git " -"repository, then this is added to the changeset without cloning. This second " -"form is provided to ease creating a new submodule from scratch, and presumes " -"the user will later push the submodule to the given URL." +#: en/git-rebase.txt:145 en/git-rebase.txt:168 +msgid "then the command" msgstr "" #. type: Plain text -#: en/git-submodule.txt:105 -msgid "" -"In either case, the given URL is recorded into .gitmodules for use by " -"subsequent users cloning the superproject. If the URL is given relative to " -"the superproject's repository, the presumption is the superproject and " -"submodule repositories will be kept together in the same relative location, " -"and only the superproject's URL needs to be provided: git-submodule will " -"correctly locate the submodule using the relative URL in .gitmodules." -msgstr "" - -#. type: Labeled list -#: en/git-submodule.txt:106 +#: en/git-rebase.txt:147 #, no-wrap -msgid "status [--cached] [--recursive] [--] [<path>...]" +msgid " git rebase --onto master topicA topicB\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:114 +#: en/git-rebase.txt:149 +msgid "would result in:" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:156 +#, no-wrap msgid "" -"Show the status of the submodules. This will print the SHA-1 of the " -"currently checked out commit for each submodule, along with the submodule " -"path and the output of 'git describe' for the SHA-1. Each SHA-1 will be " -"prefixed with `-` if the submodule is not initialized, `+` if the currently " -"checked out submodule commit does not match the SHA-1 found in the index of " -"the containing repository and `U` if the submodule has merge conflicts." +" H'--I'--J' topicB\n" +" /\n" +" | E---F---G topicA\n" +" |/\n" +" A---B---C---D master\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:117 -msgid "" -"If `--recursive` is specified, this command will recurse into nested " -"submodules, and show their status as well." +#: en/git-rebase.txt:159 +msgid "This is useful when topicB does not depend on topicA." msgstr "" #. type: Plain text -#: en/git-submodule.txt:122 +#: en/git-rebase.txt:162 msgid "" -"If you are only interested in changes of the currently initialized " -"submodules with respect to the commit recorded in the index or the HEAD, " -"linkgit:git-status[1] and linkgit:git-diff[1] will provide that information " -"too (and can also report changes to a submodule's work tree)." +"A range of commits could also be removed with rebase. If we have the " +"following situation:" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:123 +#. type: delimited block - +#: en/git-rebase.txt:165 #, no-wrap -msgid "init [--] [<path>...]" +msgid " E---F---G---H---I---J topicA\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:130 -msgid "" -"Initialize the submodules recorded in the index (which were added and " -"committed elsewhere) by setting `submodule.$name.url` in .git/config. It " -"uses the same setting from .gitmodules as a template. If the URL is " -"relative, it will be resolved using the default remote. If there is no " -"default remote, the current repository will be assumed to be upstream." +#: en/git-rebase.txt:170 +#, no-wrap +msgid " git rebase --onto topicA~5 topicA~3 topicA\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:133 -msgid "" -"Optional <path> arguments limit which submodules will be initialized. If no " -"path is specified, all submodules are initialized." +#: en/git-rebase.txt:172 +msgid "would result in the removal of commits F and G:" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:175 +#, no-wrap +msgid " E---H'---I'---J' topicA\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:141 +#: en/git-rebase.txt:180 msgid "" -"When present, it will also copy the value of `submodule.$name.update`. This " -"command does not alter existing information in .git/config. You can then " -"customize the submodule clone URLs in .git/config for your local setup and " -"proceed to `git submodule update`; you can also just use `git submodule " -"update --init` without the explicit 'init' step if you do not intend to " -"customize any submodule locations." +"This is useful if F and G were flawed in some way, or should not be part of " +"topicA. Note that the argument to --onto and the <upstream> parameter can " +"be any valid commit-ish." msgstr "" #. type: Plain text -#: en/git-submodule.txt:143 -msgid "See the add subcommand for the defintion of default remote." +#: en/git-rebase.txt:186 +msgid "" +"In case of conflict, 'git rebase' will stop at the first problematic commit " +"and leave conflict markers in the tree. You can use 'git diff' to locate " +"the markers (<<<<<<) and make edits to resolve the conflict. For each file " +"you edit, you need to tell Git that the conflict has been resolved, " +"typically this would be done with" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:144 +#. type: Plain text +#: en/git-rebase.txt:189 #, no-wrap -msgid "deinit [-f|--force] (--all|[--] <path>...)" +msgid " git add <filename>\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:153 +#: en/git-rebase.txt:193 msgid "" -"Unregister the given submodules, i.e. remove the whole `submodule.$name` " -"section from .git/config together with their work tree. Further calls to " -"`git submodule update`, `git submodule foreach` and `git submodule sync` " -"will skip any unregistered submodules until they are initialized again, so " -"use this command if you don't want to have a local checkout of the submodule " -"in your working tree anymore. If you really want to remove a submodule from " -"the repository and commit that use linkgit:git-rm[1] instead." +"After resolving the conflict manually and updating the index with the " +"desired resolution, you can continue the rebasing process with" msgstr "" #. type: Plain text -#: en/git-submodule.txt:156 -msgid "" -"When the command is run without pathspec, it errors out, instead of " -"deinit-ing everything, to prevent mistakes." +#: en/git-rebase.txt:196 +#, no-wrap +msgid " git rebase --continue\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:159 -msgid "" -"If `--force` is specified, the submodule's working tree will be removed even " -"if it contains local modifications." +#: en/git-rebase.txt:199 +msgid "Alternatively, you can undo the 'git rebase' with" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:160 +#. type: Plain text +#: en/git-rebase.txt:202 #, no-wrap -msgid "" -"update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] " -"[-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] " -"[--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]" +msgid " git rebase --abort\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:171 -msgid "" -"Update the registered submodules to match what the superproject expects by " -"cloning missing submodules and updating the working tree of the " -"submodules. The \"updating\" can be done in several ways depending on " -"command line options and the value of `submodule.<name>.update` " -"configuration variable. The command line option takes precedence over the " -"configuration variable. if neither is given, a checkout is performed. " -"update procedures supported both from the command line as well as setting " -"`submodule.<name>.update`:" +#: en/git-rebase.txt:215 +msgid "If set to true enable `--autostash` option by default." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:172 -#, no-wrap -msgid "checkout" +#. type: Plain text +#: en/git-rebase.txt:221 +msgid "" +"If set to \"warn\", print warnings about removed commits in interactive " +"mode. If set to \"error\", print the warnings and stop the rebase. If set to " +"\"ignore\", no checking is done. \"ignore\" by default." msgstr "" #. type: Plain text -#: en/git-submodule.txt:173 -msgid "the commit recorded in the superproject will be" +#: en/git-rebase.txt:224 +msgid "Custom commit list format to use during an `--interactive` rebase." msgstr "" -#. type: Plain text -#: en/git-submodule.txt:174 +#. type: Labeled list +#: en/git-rebase.txt:227 #, no-wrap -msgid "checked out in the submodule on a detached HEAD.\n" +msgid "--onto <newbase>" msgstr "" #. type: Plain text -#: en/git-submodule.txt:179 +#: en/git-rebase.txt:232 msgid "" -"If `--force` is specified, the submodule will be checked out (using `git " -"checkout --force` if appropriate), even if the commit specified in the index " -"of the containing repository already matches the commit checked out in the " -"submodule." +"Starting point at which to create the new commits. If the --onto option is " +"not specified, the starting point is <upstream>. May be any valid commit, " +"and not just an existing branch name." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:180 -#, no-wrap -msgid "rebase" +#. type: Plain text +#: en/git-rebase.txt:236 +msgid "" +"As a special case, you may use \"A\\...B\" as a shortcut for the merge base " +"of A and B if there is exactly one merge base. You can leave out at most one " +"of A and B, in which case it defaults to HEAD." msgstr "" #. type: Plain text -#: en/git-submodule.txt:181 -msgid "the current branch of the submodule will be rebased" +#: en/git-rebase.txt:241 +msgid "" +"Upstream branch to compare against. May be any valid commit, not just an " +"existing branch name. Defaults to the configured upstream for the current " +"branch." msgstr "" #. type: Plain text -#: en/git-submodule.txt:182 -#, no-wrap -msgid "onto the commit recorded in the superproject.\n" +#: en/git-rebase.txt:247 +msgid "Restart the rebasing process after having resolved a merge conflict." msgstr "" #. type: Plain text -#: en/git-submodule.txt:184 -msgid "the commit recorded in the superproject will be merged" +#: en/git-rebase.txt:254 +msgid "" +"Abort the rebase operation and reset HEAD to the original branch. If " +"<branch> was provided when the rebase operation was started, then HEAD will " +"be reset to <branch>. Otherwise HEAD will be reset to where it was when the " +"rebase operation was started." msgstr "" -#. type: Plain text -#: en/git-submodule.txt:185 +#. type: Labeled list +#: en/git-rebase.txt:255 en/sequencer.txt:6 #, no-wrap -msgid "into the current branch in the submodule.\n" +msgid "--quit" msgstr "" #. type: Plain text -#: en/git-submodule.txt:188 +#: en/git-rebase.txt:259 msgid "" -"The following procedures are only available via the " -"`submodule.<name>.update` configuration variable:" +"Abort the rebase operation but HEAD is not reset back to the original " +"branch. The index and working tree are also left unchanged as a result." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:189 +#: en/git-rebase.txt:260 #, no-wrap -msgid "custom command" +msgid "--keep-empty" msgstr "" #. type: Plain text -#: en/git-submodule.txt:190 -msgid "arbitrary shell command that takes a single" +#: en/git-rebase.txt:263 +msgid "Keep the commits that do not change anything from its parents in the result." msgstr "" #. type: Plain text -#: en/git-submodule.txt:194 -#, no-wrap -msgid "" -"argument (the sha1 of the commit recorded in the\n" -"superproject) is executed. When `submodule.<name>.update`\n" -"is set to '!command', the remainder after the exclamation mark\n" -"is the custom command.\n" +#: en/git-rebase.txt:266 +msgid "Restart the rebasing process by skipping the current patch." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:195 en/diff-options.txt:254 +#: en/git-rebase.txt:267 #, no-wrap -msgid "none" +msgid "--edit-todo" msgstr "" #. type: Plain text -#: en/git-submodule.txt:196 -msgid "the submodule is not updated." +#: en/git-rebase.txt:269 +msgid "Edit the todo list during an interactive rebase." msgstr "" #. type: Plain text -#: en/git-submodule.txt:200 +#: en/git-rebase.txt:275 msgid "" -"If the submodule is not yet initialized, and you just want to use the " -"setting as stored in .gitmodules, you can automatically initialize the " -"submodule with the `--init` option." +"Use merging strategies to rebase. When the recursive (default) merge " +"strategy is used, this allows rebase to be aware of renames on the upstream " +"side." msgstr "" #. type: Plain text -#: en/git-submodule.txt:203 +#: en/git-rebase.txt:281 msgid "" -"If `--recursive` is specified, this command will recurse into the registered " -"submodules, and update any nested submodules within." +"Note that a rebase merge works by replaying each commit from the working " +"branch on top of the <upstream> branch. Because of this, when a merge " +"conflict happens, the side reported as 'ours' is the so-far rebased series, " +"starting with <upstream>, and 'theirs' is the working branch. In other " +"words, the sides are swapped." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:204 -#, no-wrap +#. type: Plain text +#: en/git-rebase.txt:287 msgid "" -"summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] " -"[<path>...]" +"Use the given merge strategy. If there is no `-s` option 'git " +"merge-recursive' is used instead. This implies --merge." msgstr "" #. type: Plain text -#: en/git-submodule.txt:213 +#: en/git-rebase.txt:292 msgid "" -"Show commit summary between the given commit (defaults to HEAD) and working " -"tree/index. For a submodule in question, a series of commits in the " -"submodule between the given super project commit and the index or working " -"tree (switched by `--cached`) are shown. If the option `--files` is given, " -"show the series of commits in the submodule between the index of the super " -"project and the working tree of the submodule (this option doesn't allow to " -"use the `--cached` option or to provide an explicit commit)." +"Because 'git rebase' replays each commit from the working branch on top of " +"the <upstream> branch using the given strategy, using the 'ours' strategy " +"simply discards all patches from the <branch>, which makes little sense." msgstr "" -#. type: Plain text -#: en/git-submodule.txt:216 -msgid "" -"Using the `--submodule=log` option with linkgit:git-diff[1] will provide " -"that information too." +#. type: Labeled list +#: en/git-rebase.txt:293 +#, no-wrap +msgid "-X <strategy-option>" msgstr "" #. type: Labeled list -#: en/git-submodule.txt:217 +#: en/git-rebase.txt:294 #, no-wrap -msgid "foreach [--recursive] <command>" +msgid "--strategy-option=<strategy-option>" msgstr "" #. type: Plain text -#: en/git-submodule.txt:233 +#: en/git-rebase.txt:299 msgid "" -"Evaluates an arbitrary shell command in each checked out submodule. The " -"command has access to the variables $name, $path, $sha1 and $toplevel: $name " -"is the name of the relevant submodule section in .gitmodules, $path is the " -"name of the submodule directory relative to the superproject, $sha1 is the " -"commit as recorded in the superproject, and $toplevel is the absolute path " -"to the top-level of the superproject. Any submodules defined in the " -"superproject but not checked out are ignored by this command. Unless given " -"`--quiet`, foreach prints the name of each submodule before evaluating the " -"command. If `--recursive` is given, submodules are traversed recursively " -"(i.e. the given shell command is evaluated in nested submodules as well). " -"A non-zero return from the command in any submodule causes the processing to " -"terminate. This can be overridden by adding '|| :' to the end of the " -"command." +"Pass the <strategy-option> through to the merge strategy. This implies " +"`--merge` and, if no strategy has been specified, `-s recursive`. Note the " +"reversal of 'ours' and 'theirs' as noted above for the `-m` option." msgstr "" #. type: Plain text -#: en/git-submodule.txt:236 +#: en/git-rebase.txt:309 +msgid "Be quiet. Implies --no-stat." +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:313 +msgid "Be verbose. Implies --stat." +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:317 msgid "" -"As an example, the command below will show the path and currently checked " -"out commit for each submodule:" +"Show a diffstat of what changed upstream since the last rebase. The diffstat " +"is also controlled by the configuration option rebase.stat." msgstr "" -#. type: delimited block - -#: en/git-submodule.txt:239 -#, no-wrap -msgid "git submodule foreach 'echo $path `git rev-parse HEAD`'\n" +#. type: Plain text +#: en/git-rebase.txt:321 +msgid "Do not show a diffstat as part of the rebase process." +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:324 +msgid "This option bypasses the pre-rebase hook. See also linkgit:githooks[5]." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:241 +#: en/git-rebase.txt:325 en/git-rev-parse.txt:98 en/git-show-ref.txt:59 en/git-tag.txt:80 #, no-wrap -msgid "sync [--recursive] [--] [<path>...]" +msgid "--verify" msgstr "" #. type: Plain text -#: en/git-submodule.txt:248 +#: en/git-rebase.txt:328 msgid "" -"Synchronizes submodules' remote URL configuration setting to the value " -"specified in .gitmodules. It will only affect those submodules which already " -"have a URL entry in .git/config (that is the case when they are initialized " -"or freshly added). This is useful when submodule URLs change upstream and " -"you need to update your local repositories accordingly." +"Allows the pre-rebase hook to run, which is the default. This option can be " +"used to override --no-verify. See also linkgit:githooks[5]." +msgstr "" + +#. type: Labeled list +#: en/git-rebase.txt:336 +#, no-wrap +msgid "--force-rebase" msgstr "" #. type: Plain text -#: en/git-submodule.txt:251 +#: en/git-rebase.txt:339 msgid "" -"\"git submodule sync\" synchronizes all submodules while \"git submodule " -"sync \\-- A\" synchronizes submodule \"A\" only." +"Force a rebase even if the current branch is up-to-date and the command " +"without `--force` would return without doing anything." msgstr "" #. type: Plain text -#: en/git-submodule.txt:254 +#: en/git-rebase.txt:345 msgid "" -"If `--recursive` is specified, this command will recurse into the registered " -"submodules, and sync any nested submodules within." +"You may find this (or --no-ff with an interactive rebase) helpful after " +"reverting a topic branch merge, as this option recreates the topic branch " +"with fresh commits so it can be remerged successfully without needing to " +"\"revert the reversion\" (see the " +"link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for " +"details)." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:255 +#: en/git-rebase.txt:347 #, no-wrap -msgid "absorbgitdirs" +msgid "--no-fork-point" msgstr "" #. type: Plain text -#: en/git-submodule.txt:262 +#: en/git-rebase.txt:351 msgid "" -"If a git directory of a submodule is inside the submodule, move the git " -"directory of the submodule into its superprojects `$GIT_DIR/modules` path " -"and then connect the git directory and its working directory by setting the " -"`core.worktree` and adding a .git file pointing to the git directory " -"embedded in the superprojects git directory." +"Use reflog to find a better common ancestor between <upstream> and <branch> " +"when calculating which commits have been introduced by <branch>." msgstr "" #. type: Plain text -#: en/git-submodule.txt:266 +#: en/git-rebase.txt:357 msgid "" -"A repository that was cloned independently and later added as a submodule or " -"old setups have the submodules git directory inside the submodule instead of " -"embedded into the superprojects git directory." +"When --fork-point is active, 'fork_point' will be used instead of <upstream> " +"to calculate the set of commits to rebase, where 'fork_point' is the result " +"of `git merge-base --fork-point <upstream> <branch>` command (see " +"linkgit:git-merge-base[1]). If 'fork_point' ends up being empty, the " +"<upstream> will be used as a fallback." msgstr "" #. type: Plain text -#: en/git-submodule.txt:268 -msgid "This command is recursive by default." +#: en/git-rebase.txt:360 +msgid "" +"If either <upstream> or --root is given on the command line, then the " +"default is `--no-fork-point`, otherwise the default is `--fork-point`." msgstr "" #. type: Plain text -#: en/git-submodule.txt:274 -msgid "Only print error messages." +#: en/git-rebase.txt:366 +msgid "" +"These flag are passed to the 'git apply' program (see linkgit:git-apply[1]) " +"that applies the patch. Incompatible with the --interactive option." msgstr "" #. type: Plain text -#: en/git-submodule.txt:278 +#: en/git-rebase.txt:372 msgid "" -"This option is only valid for the deinit command. Unregister all submodules " -"in the working tree." +"These flags are passed to 'git am' to easily change the dates of the rebased " +"commits (see linkgit:git-am[1]). Incompatible with the --interactive " +"option." msgstr "" #. type: Plain text -#: en/git-submodule.txt:286 +#: en/git-rebase.txt:378 msgid "" -"Branch of repository to add as submodule. The name of the branch is " -"recorded as `submodule.<name>.branch` in `.gitmodules` for `update " -"--remote`. A special value of `.` is used to indicate that the name of the " -"branch in the submodule should be the same name as the current branch in the " -"current repository." +"Make a list of the commits which are about to be rebased. Let the user edit " +"that list before rebasing. This mode can also be used to split commits (see " +"SPLITTING COMMITS below)." msgstr "" #. type: Plain text -#: en/git-submodule.txt:299 +#: en/git-rebase.txt:382 msgid "" -"This option is only valid for add, deinit and update commands. When running " -"add, allow adding an otherwise ignored submodule path. When running deinit " -"the submodule working trees will be removed even if they contain local " -"changes. When running update (only effective with the checkout procedure), " -"throw away local changes in submodules when switching to a different commit; " -"and always run a checkout operation in the submodule, even if the commit " -"listed in the index of the containing repository matches the commit checked " -"out in the submodule." -msgstr "" - -#. type: Plain text -#: en/git-submodule.txt:304 -msgid "" -"This option is only valid for status and summary commands. These commands " -"typically use the commit found in the submodule HEAD, but with this option, " -"the commit stored in the index is used instead." +"The commit list format can be changed by setting the configuration option " +"rebase.instructionFormat. A customized instruction format will " +"automatically have the long commit hash prepended to the format." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:305 +#: en/git-rebase.txt:384 en/git-svn.txt:642 #, no-wrap -msgid "--files" +msgid "--preserve-merges" msgstr "" #. type: Plain text -#: en/git-submodule.txt:309 +#: en/git-rebase.txt:388 msgid "" -"This option is only valid for the summary command. This command compares the " -"commit in the index with that in the submodule HEAD when this option is " -"used." -msgstr "" - -#. type: Labeled list -#: en/git-submodule.txt:311 -#, no-wrap -msgid "--summary-limit" +"Recreate merge commits instead of flattening the history by replaying " +"commits a merge commit introduces. Merge conflict resolutions or manual " +"amendments to merge commits are not preserved." msgstr "" #. type: Plain text -#: en/git-submodule.txt:317 +#: en/git-rebase.txt:392 msgid "" -"This option is only valid for the summary command. Limit the summary size " -"(number of commits shown in total). Giving 0 will disable the summary; a " -"negative number means unlimited (the default). This limit only applies to " -"modified submodules. The size is always limited to 1 for " -"added/deleted/typechanged submodules." +"This uses the `--interactive` machinery internally, but combining it with " +"the `--interactive` option explicitly is generally not a good idea unless " +"you know what you are doing (see BUGS below)." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:318 +#: en/git-rebase.txt:393 #, no-wrap -msgid "--remote" +msgid "-x <cmd>" +msgstr "" + +#. type: Labeled list +#: en/git-rebase.txt:394 +#, no-wrap +msgid "--exec <cmd>" msgstr "" #. type: Plain text -#: en/git-submodule.txt:327 +#: en/git-rebase.txt:398 msgid "" -"This option is only valid for the update command. Instead of using the " -"superproject's recorded SHA-1 to update the submodule, use the status of the " -"submodule's remote-tracking branch. The remote used is branch's remote " -"(`branch.<name>.remote`), defaulting to `origin`. The remote branch used " -"defaults to `master`, but the branch name may be overridden by setting the " -"`submodule.<name>.branch` option in either `.gitmodules` or `.git/config` " -"(with `.git/config` taking precedence)." +"Append \"exec <cmd>\" after each line creating a commit in the final " +"history. <cmd> will be interpreted as one or more shell commands." msgstr "" #. type: Plain text -#: en/git-submodule.txt:333 +#: en/git-rebase.txt:401 msgid "" -"This works for any of the supported update procedures (`--checkout`, " -"`--rebase`, etc.). The only change is the source of the target SHA-1. For " -"example, `submodule update --remote --merge` will merge upstream submodule " -"changes into the submodules, while `submodule update --merge` will merge " -"superproject gitlink changes into the submodules." +"You may execute several commands by either using one instance of `--exec` " +"with several commands:" msgstr "" #. type: Plain text -#: en/git-submodule.txt:338 -msgid "" -"In order to ensure a current tracking branch state, `update --remote` " -"fetches the submodule's remote repository before calculating the SHA-1. If " -"you don't want to fetch, you should use `submodule update --remote " -"--no-fetch`." +#: en/git-rebase.txt:403 +#, no-wrap +msgid "\tgit rebase -i --exec \"cmd1 && cmd2 && ...\"\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:348 -msgid "" -"Use this option to integrate changes from the upstream subproject with your " -"submodule's current HEAD. Alternatively, you can run `git pull` from the " -"submodule, which is equivalent except for the remote branch name: `update " -"--remote` uses the default upstream repository and " -"`submodule.<name>.branch`, while `git pull` uses the submodule's " -"`branch.<name>.merge`. Prefer `submodule.<name>.branch` if you want to " -"distribute the default upstream branch with the superproject and " -"`branch.<name>.merge` if you want a more native feel while working in the " -"submodule itself." +#: en/git-rebase.txt:405 +msgid "or by giving more than one `--exec`:" msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:350 +#. type: Plain text +#: en/git-rebase.txt:407 #, no-wrap -msgid "--no-fetch" +msgid "\tgit rebase -i --exec \"cmd1\" --exec \"cmd2\" --exec ...\n" msgstr "" #. type: Plain text -#: en/git-submodule.txt:353 +#: en/git-rebase.txt:411 msgid "" -"This option is only valid for the update command. Don't fetch new objects " -"from the remote site." -msgstr "" - -#. type: Labeled list -#: en/git-submodule.txt:354 -#, no-wrap -msgid "--checkout" +"If `--autosquash` is used, \"exec\" lines will not be appended for the " +"intermediate commits, and will only appear at the end of each squash/fixup " +"series." msgstr "" #. type: Plain text -#: en/git-submodule.txt:362 +#: en/git-rebase.txt:414 msgid "" -"This option is only valid for the update command. Checkout the commit " -"recorded in the superproject on a detached HEAD in the submodule. This is " -"the default behavior, the main use of this option is to override " -"`submodule.$name.update` when set to a value other than `checkout`. If the " -"key `submodule.$name.update` is either not explicitly set or set to " -"`checkout`, this option is implicit." +"This uses the `--interactive` machinery internally, but it can be run " +"without an explicit `--interactive`." msgstr "" #. type: Plain text -#: en/git-submodule.txt:372 +#: en/git-rebase.txt:424 msgid "" -"This option is only valid for the update command. Merge the commit recorded " -"in the superproject into the current branch of the submodule. If this option " -"is given, the submodule's HEAD will not be detached. If a merge failure " -"prevents this process, you will have to resolve the resulting conflicts " -"within the submodule with the usual conflict resolution tools. If the key " -"`submodule.$name.update` is set to `merge`, this option is implicit." +"Rebase all commits reachable from <branch>, instead of limiting them with an " +"<upstream>. This allows you to rebase the root commit(s) on a branch. When " +"used with --onto, it will skip changes already contained in <newbase> " +"(instead of <upstream>) whereas without --onto it will operate on every " +"change. When used together with both --onto and --preserve-merges, 'all' " +"root commits will be rewritten to have <newbase> as parent instead." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:373 +#: en/git-rebase.txt:425 #, no-wrap -msgid "--rebase" -msgstr "" - -#. type: Plain text -#: en/git-submodule.txt:381 -msgid "" -"This option is only valid for the update command. Rebase the current branch " -"onto the commit recorded in the superproject. If this option is given, the " -"submodule's HEAD will not be detached. If a merge failure prevents this " -"process, you will have to resolve these failures with " -"linkgit:git-rebase[1]. If the key `submodule.$name.update` is set to " -"`rebase`, this option is implicit." +msgid "--autosquash" msgstr "" #. type: Labeled list -#: en/git-submodule.txt:382 +#: en/git-rebase.txt:426 #, no-wrap -msgid "--init" +msgid "--no-autosquash" msgstr "" #. type: Plain text -#: en/git-submodule.txt:386 +#: en/git-rebase.txt:435 msgid "" -"This option is only valid for the update command. Initialize all submodules " -"for which \"git submodule init\" has not been called so far before updating." +"When the commit log message begins with \"squash! ...\" (or \"fixup! ...\"), " +"and there is a commit whose title begins with the same ..., automatically " +"modify the todo list of rebase -i so that the commit marked for squashing " +"comes right after the commit to be modified, and change the action of the " +"moved commit from `pick` to `squash` (or `fixup`). Ignores subsequent " +"\"fixup! \" or \"squash! \" after the first, in case you referred to an " +"earlier fixup/squash with `git commit --fixup/--squash`." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:387 -#, no-wrap -msgid "--name" +#. type: Plain text +#: en/git-rebase.txt:437 +msgid "This option is only valid when the `--interactive` option is used." msgstr "" #. type: Plain text -#: en/git-submodule.txt:391 +#: en/git-rebase.txt:441 msgid "" -"This option is only valid for the add command. It sets the submodule's name " -"to the given string instead of defaulting to its path. The name must be " -"valid as a directory name and may not end with a '/'." +"If the `--autosquash` option is enabled by default using the configuration " +"variable `rebase.autoSquash`, this option can be used to override and " +"disable this setting." +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:449 +msgid "" +"Automatically create a temporary stash before the operation begins, and " +"apply it after the operation ends. This means that you can run rebase on a " +"dirty worktree. However, use with care: the final stash application after a " +"successful rebase might result in non-trivial conflicts." msgstr "" #. type: Labeled list -#: en/git-submodule.txt:392 +#: en/git-rebase.txt:450 en/merge-options.txt:35 #, no-wrap -msgid "--reference <repository>" +msgid "--no-ff" msgstr "" #. type: Plain text -#: en/git-submodule.txt:396 +#: en/git-rebase.txt:454 msgid "" -"This option is only valid for add and update commands. These commands " -"sometimes need to clone a remote repository. In this case, this option will " -"be passed to the linkgit:git-clone[1] command." +"With --interactive, cherry-pick all rebased commits instead of " +"fast-forwarding over the unchanged ones. This ensures that the entire " +"history of the rebased branch is composed of new commits." msgstr "" #. type: Plain text -#: en/git-submodule.txt:399 -#, no-wrap -msgid "" -"*NOTE*: Do *not* use this option unless you have read the note\n" -"for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.\n" +#: en/git-rebase.txt:456 +msgid "Without --interactive, this is a synonym for --force-rebase." msgstr "" #. type: Plain text -#: en/git-submodule.txt:405 +#: en/git-rebase.txt:461 msgid "" -"This option is only valid for foreach, update, status and sync commands. " -"Traverse submodules recursively. The operation is performed not only in the " -"submodules of the current repo, but also in any nested submodules inside " -"those submodules (and so on)." +"You may find this helpful after reverting a topic branch merge, as this " +"option recreates the topic branch with fresh commits so it can be remerged " +"successfully without needing to \"revert the reversion\" (see the " +"link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for " +"details)." msgstr "" -#. type: Labeled list -#: en/git-submodule.txt:406 +#. type: Title - +#: en/git-rebase.txt:465 en/git-symbolic-ref.txt:54 #, no-wrap -msgid "--depth" +msgid "NOTES" msgstr "" #. type: Plain text -#: en/git-submodule.txt:410 +#: en/git-rebase.txt:470 msgid "" -"This option is valid for add and update commands. Create a 'shallow' clone " -"with a history truncated to the specified number of revisions. See " -"linkgit:git-clone[1]" -msgstr "" - -#. type: Labeled list -#: en/git-submodule.txt:411 -#, no-wrap -msgid "--[no-]recommend-shallow" +"You should understand the implications of using 'git rebase' on a repository " +"that you share. See also RECOVERING FROM UPSTREAM REBASE below." msgstr "" #. type: Plain text -#: en/git-submodule.txt:416 +#: en/git-rebase.txt:475 msgid "" -"This option is only valid for the update command. The initial clone of a " -"submodule will use the recommended `submodule.<name>.shallow` as provided by " -"the .gitmodules file by default. To ignore the suggestions use " -"`--no-recommend-shallow`." +"When the git-rebase command is run, it will first execute a \"pre-rebase\" " +"hook if one exists. You can use this hook to do sanity checks and reject " +"the rebase if it isn't appropriate. Please see the template pre-rebase hook " +"script for an example." msgstr "" #. type: Plain text -#: en/git-submodule.txt:422 -msgid "" -"This option is only valid for the update command. Clone new submodules in " -"parallel with as many jobs. Defaults to the `submodule.fetchJobs` option." +#: en/git-rebase.txt:477 +msgid "Upon completion, <branch> will be the current branch." +msgstr "" + +#. type: Title - +#: en/git-rebase.txt:479 +#, no-wrap +msgid "INTERACTIVE MODE" msgstr "" #. type: Plain text -#: en/git-submodule.txt:427 +#: en/git-rebase.txt:484 msgid "" -"Paths to submodule(s). When specified this will restrict the command to only " -"operate on the submodules found at the specified paths. (This argument is " -"required with add)." +"Rebasing interactively means that you have a chance to edit the commits " +"which are rebased. You can reorder the commits, and you can remove them " +"(weeding out bad or otherwise unwanted patches)." msgstr "" #. type: Plain text -#: en/git-submodule.txt:435 -msgid "" -"When initializing submodules, a .gitmodules file in the top-level directory " -"of the containing repository is used to find the url of each submodule. " -"This file should be formatted in the same way as `$GIT_DIR/config`. The key " -"to each submodule url is \"submodule.$name.url\". See linkgit:gitmodules[5] " -"for details." +#: en/git-rebase.txt:486 +msgid "The interactive mode is meant for this type of workflow:" msgstr "" -#. type: Title = -#: en/git-svn.txt:2 -#, no-wrap -msgid "git-svn(1)" +#. type: Plain text +#: en/git-rebase.txt:488 +msgid "have a wonderful idea" msgstr "" #. type: Plain text -#: en/git-svn.txt:7 -msgid "git-svn - Bidirectional operation between a Subversion repository and Git" +#: en/git-rebase.txt:489 +msgid "hack on the code" msgstr "" #. type: Plain text -#: en/git-svn.txt:12 -#, no-wrap -msgid "'git svn' <command> [options] [arguments]\n" +#: en/git-rebase.txt:490 +msgid "prepare a series for submission" msgstr "" #. type: Plain text -#: en/git-svn.txt:18 -msgid "" -"'git svn' is a simple conduit for changesets between Subversion and Git. It " -"provides a bidirectional flow of changes between a Subversion and a Git " -"repository." +#: en/git-rebase.txt:491 +msgid "submit" msgstr "" #. type: Plain text -#: en/git-svn.txt:23 -msgid "" -"'git svn' can track a standard Subversion repository, following the common " -"\"trunk/branches/tags\" layout, with the --stdlayout option. It can also " -"follow branches and tags in any layout with the -T/-t/-b options (see " -"options to 'init' below, and also the 'clone' command)." +#: en/git-rebase.txt:493 +msgid "where point 2. consists of several instances of" msgstr "" #. type: Plain text -#: en/git-svn.txt:27 -msgid "" -"Once tracking a Subversion repository (with any of the above methods), the " -"Git repository can be updated from Subversion by the 'fetch' command and " -"Subversion updated from Git by the 'dcommit' command." +#: en/git-rebase.txt:495 +msgid "regular use" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:31 -#, no-wrap -msgid "'init'" +#. type: Plain text +#: en/git-rebase.txt:497 +msgid "finish something worthy of a commit" msgstr "" #. type: Plain text -#: en/git-svn.txt:39 -msgid "" -"Initializes an empty Git repository with additional metadata directories for " -"'git svn'. The Subversion URL may be specified as a command-line argument, " -"or as full URL arguments to -T/-t/-b. Optionally, the target directory to " -"operate on can be specified as a second argument. Normally this command " -"initializes the current directory." +#: en/git-rebase.txt:498 +msgid "commit" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:40 -#, no-wrap -msgid "-T<trunk_subdir>" +#. type: Plain text +#: en/git-rebase.txt:500 +msgid "independent fixup" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:41 -#, no-wrap -msgid "--trunk=<trunk_subdir>" +#. type: Plain text +#: en/git-rebase.txt:502 +msgid "realize that something does not work" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:42 -#, no-wrap -msgid "-t<tags_subdir>" +#. type: Plain text +#: en/git-rebase.txt:503 +msgid "fix that" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:43 -#, no-wrap -msgid "--tags=<tags_subdir>" +#. type: Plain text +#: en/git-rebase.txt:504 +msgid "commit it" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:44 -#, no-wrap -msgid "-b<branches_subdir>" +#. type: Plain text +#: en/git-rebase.txt:510 +msgid "" +"Sometimes the thing fixed in b.2. cannot be amended to the not-quite perfect " +"commit it fixes, because that commit is buried deeply in a patch series. " +"That is exactly what interactive rebase is for: use it after plenty of " +"\"a\"s and \"b\"s, by rearranging and editing commits, and squashing " +"multiple commits into one." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:45 -#, no-wrap -msgid "--branches=<branches_subdir>" +#. type: Plain text +#: en/git-rebase.txt:512 +msgid "Start it with the last commit you want to retain as-is:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:47 +#. type: Plain text +#: en/git-rebase.txt:514 #, no-wrap -msgid "--stdlayout" +msgid "\tgit rebase -i <after-this-commit>\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:58 +#: en/git-rebase.txt:519 msgid "" -"These are optional command-line options for init. Each of these flags can " -"point to a relative repository path (--tags=project/tags) or a full url " -"(--tags=https://foo.org/project/tags). You can specify more than one --tags " -"and/or --branches options, in case your Subversion repository places tags or " -"branches under multiple paths. The option --stdlayout is a shorthand way of " -"setting trunk,tags,branches as the relative paths, which is the Subversion " -"default. If any of the other options are given as well, they take " -"precedence." +"An editor will be fired up with all the commits in your current branch " +"(ignoring merge commits), which come after the given commit. You can " +"reorder the commits in this list to your heart's content, and you can remove " +"them. The list looks more or less like this:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:58 +#. type: delimited block - +#: en/git-rebase.txt:524 #, no-wrap -msgid "--no-metadata" +msgid "" +"pick deadbee The oneline of this commit\n" +"pick fa1afe1 The oneline of the next commit\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:62 +#: en/git-rebase.txt:529 msgid "" -"Set the 'noMetadata' option in the [svn-remote] config. This option is not " -"recommended, please read the 'svn.noMetadata' section of this manpage before " -"using this option." +"The oneline descriptions are purely for your pleasure; 'git rebase' will not " +"look at them but at the commit names (\"deadbee\" and \"fa1afe1\" in this " +"example), so do not delete or edit the names." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:62 -#, no-wrap -msgid "--use-svm-props" +#. type: Plain text +#: en/git-rebase.txt:534 +msgid "" +"By replacing the command \"pick\" with the command \"edit\", you can tell " +"'git rebase' to stop after applying that commit, so that you can edit the " +"files and/or the commit message, amend the commit, and continue rebasing." msgstr "" #. type: Plain text -#: en/git-svn.txt:64 -msgid "Set the 'useSvmProps' option in the [svn-remote] config." +#: en/git-rebase.txt:537 +msgid "" +"If you just want to edit the commit message for a commit, replace the " +"command \"pick\" with the command \"reword\"." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:64 -#, no-wrap -msgid "--use-svnsync-props" +#. type: Plain text +#: en/git-rebase.txt:540 +msgid "" +"To drop a commit, replace the command \"pick\" with \"drop\", or just delete " +"the matching line." msgstr "" #. type: Plain text -#: en/git-svn.txt:66 -msgid "Set the 'useSvnsyncProps' option in the [svn-remote] config." +#: en/git-rebase.txt:548 +msgid "" +"If you want to fold two or more commits into one, replace the command " +"\"pick\" for the second and subsequent commits with \"squash\" or " +"\"fixup\". If the commits had different authors, the folded commit will be " +"attributed to the author of the first commit. The suggested commit message " +"for the folded commit is the concatenation of the commit messages of the " +"first commit and of those with the \"squash\" command, but omits the commit " +"messages of commits with the \"fixup\" command." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:66 -#, no-wrap -msgid "--rewrite-root=<URL>" +#. type: Plain text +#: en/git-rebase.txt:552 +msgid "" +"'git rebase' will stop when \"pick\" has been replaced with \"edit\" or when " +"a command fails due to merge errors. When you are done editing and/or " +"resolving conflicts you can continue with `git rebase --continue`." msgstr "" #. type: Plain text -#: en/git-svn.txt:68 -msgid "Set the 'rewriteRoot' option in the [svn-remote] config." +#: en/git-rebase.txt:556 +msgid "" +"For example, if you want to reorder the last 5 commits, such that what was " +"HEAD~4 becomes the new HEAD. To achieve that, you would call 'git rebase' " +"like this:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:68 +#. type: delimited block - +#: en/git-rebase.txt:559 #, no-wrap -msgid "--rewrite-uuid=<UUID>" +msgid "$ git rebase -i HEAD~5\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:70 -msgid "Set the 'rewriteUUID' option in the [svn-remote] config." +#: en/git-rebase.txt:562 +msgid "And move the first patch to the end of the list." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:70 +#. type: Plain text +#: en/git-rebase.txt:564 +msgid "You might want to preserve merges, if you have a history like this:" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:571 #, no-wrap -msgid "--username=<user>" +msgid "" +" X\n" +" \\\n" +" A---M---B\n" +" /\n" +"---o---O---P---Q\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:75 +#: en/git-rebase.txt:575 msgid "" -"For transports that SVN handles authentication for (http, https, and plain " -"svn), specify the username. For other transports (e.g. `svn+ssh://`), you " -"must include the username in the URL, " -"e.g. `svn+ssh://foo@svn.bar.com/project`" +"Suppose you want to rebase the side branch starting at \"A\" to \"Q\". Make " +"sure that the current HEAD is \"B\", and call" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:75 +#. type: delimited block - +#: en/git-rebase.txt:578 #, no-wrap -msgid "--prefix=<prefix>" +msgid "$ git rebase -i -p --onto Q O\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:90 +#: en/git-rebase.txt:585 msgid "" -"This allows one to specify a prefix which is prepended to the names of " -"remotes if trunk/branches/tags are specified. The prefix does not " -"automatically include a trailing slash, so be sure you include one in the " -"argument if that is what you want. If --branches/-b is specified, the " -"prefix must include a trailing slash. Setting a prefix (with a trailing " -"slash) is strongly encouraged in any case, as your SVN-tracking refs will " -"then be located at \"refs/remotes/$prefix/*\", which is compatible with " -"Git's own remote-tracking ref layout (refs/remotes/$remote/*). Setting a " -"prefix is also useful if you wish to track multiple projects that share a " -"common repository. By default, the prefix is set to 'origin/'." +"Reordering and editing commits usually creates untested intermediate steps. " +"You may want to check that your history editing did not break anything by " +"running a test, or at least recompiling at intermediate points in history by " +"using the \"exec\" command (shortcut \"x\"). You may do so by creating a " +"todo list like this one:" msgstr "" -#. type: Plain text -#: en/git-svn.txt:97 +#. type: delimited block - +#: en/git-rebase.txt:594 +#, no-wrap msgid "" -"Before Git v2.0, the default prefix was \"\" (no prefix). This meant that " -"SVN-tracking refs were put at \"refs/remotes/*\", which is incompatible with " -"how Git's own remote-tracking refs are organized. If you still want the old " -"default, you can get it by passing `--prefix \"\"` on the command line " -"(`--prefix=\"\"` may not work if your Perl's Getopt::Long is < v2.37)." +"pick deadbee Implement feature XXX\n" +"fixup f1a5c00 Fix to feature XXX\n" +"exec make\n" +"pick c0ffeee The oneline of the next commit\n" +"edit deadbab The oneline of the commit after\n" +"exec cd subdir; make test\n" +"...\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:98 en/git-svn.txt:141 -#, no-wrap -msgid "--ignore-paths=<regex>" +#. type: Plain text +#: en/git-rebase.txt:599 +msgid "" +"The interactive rebase will stop when a command fails (i.e. exits with non-0 " +"status) to give you an opportunity to fix the problem. You can continue with " +"`git rebase --continue`." msgstr "" #. type: Plain text -#: en/git-svn.txt:102 +#: en/git-rebase.txt:604 msgid "" -"When passed to 'init' or 'clone' this regular expression will be preserved " -"as a config key. See 'fetch' for a description of `--ignore-paths`." +"The \"exec\" command launches the command in a shell (the one specified in " +"`$SHELL`, or the default shell if `$SHELL` is not set), so you can use shell " +"features (like \"cd\", \">\", \";\" ...). The command is run from the root " +"of the working tree." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:102 en/git-svn.txt:170 +#. type: delimited block - +#: en/git-rebase.txt:607 #, no-wrap -msgid "--include-paths=<regex>" +msgid "$ git rebase -i --exec \"make test\"\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:106 +#: en/git-rebase.txt:611 msgid "" -"When passed to 'init' or 'clone' this regular expression will be preserved " -"as a config key. See 'fetch' for a description of `--include-paths`." +"This command lets you check that intermediate commits are compilable. The " +"todo list becomes like that:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:106 +#. type: delimited block - +#: en/git-rebase.txt:621 #, no-wrap -msgid "--no-minimize-url" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:117 msgid "" -"When tracking multiple directories (using --stdlayout, --branches, or --tags " -"options), git svn will attempt to connect to the root (or highest allowed " -"level) of the Subversion repository. This default allows better tracking of " -"history if entire projects are moved within a repository, but may cause " -"issues on repositories where read access restrictions are in place. Passing " -"`--no-minimize-url` will allow git svn to accept URLs as-is without " -"attempting to connect to a higher level directory. This option is off by " -"default when only one URL/branch is tracked (it would do little good)." +"pick 5928aea one\n" +"exec make test\n" +"pick 04d0fda two\n" +"exec make test\n" +"pick ba46169 three\n" +"exec make test\n" +"pick f4593f9 four\n" +"exec make test\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:118 +#. type: Title - +#: en/git-rebase.txt:624 #, no-wrap -msgid "'fetch'" +msgid "SPLITTING COMMITS" msgstr "" #. type: Plain text -#: en/git-svn.txt:123 +#: en/git-rebase.txt:630 msgid "" -"Fetch unfetched revisions from the Subversion remote we are tracking. The " -"name of the [svn-remote \"...\"] section in the $GIT_DIR/config file may be " -"specified as an optional command-line argument." +"In interactive mode, you can mark commits with the action \"edit\". " +"However, this does not necessarily mean that 'git rebase' expects the result " +"of this edit to be exactly one commit. Indeed, you can undo the commit, or " +"you can add other commits. This can be used to split a commit into two:" msgstr "" #. type: Plain text -#: en/git-svn.txt:126 en/git-svn.txt:227 +#: en/git-rebase.txt:634 msgid "" -"This automatically updates the rev_map if needed (see " -"'$GIT_DIR/svn/\\*\\*/.rev_map.*' in the FILES section below for details)." +"Start an interactive rebase with `git rebase -i <commit>^`, where <commit> " +"is the commit you want to split. In fact, any commit range will do, as long " +"as it contains that commit." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:127 -#, no-wrap -msgid "--localtime" +#. type: Plain text +#: en/git-rebase.txt:636 +msgid "Mark the commit you want to split with the action \"edit\"." msgstr "" #. type: Plain text -#: en/git-svn.txt:131 +#: en/git-rebase.txt:640 msgid "" -"Store Git commit times in the local time zone instead of UTC. This makes " -"'git log' (even without --date=local) show the same times that `svn log` " -"would in the local time zone." +"When it comes to editing that commit, execute `git reset HEAD^`. The effect " +"is that the HEAD is rewound by one, and the index follows suit. However, " +"the working tree stays the same." msgstr "" #. type: Plain text -#: en/git-svn.txt:137 +#: en/git-rebase.txt:644 msgid "" -"This doesn't interfere with interoperating with the Subversion repository " -"you cloned from, but if you wish for your local Git repository to be able to " -"interoperate with someone else's local Git repository, either don't use this " -"option or you should both use it in the same local time zone." +"Now add the changes to the index that you want to have in the first commit. " +"You can use `git add` (possibly interactively) or 'git gui' (or both) to do " +"that." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:138 en/git-svn.txt:505 -#, no-wrap -msgid "--parent" +#. type: Plain text +#: en/git-rebase.txt:647 +msgid "" +"Commit the now-current index with whatever commit message is appropriate " +"now." msgstr "" #. type: Plain text -#: en/git-svn.txt:140 -msgid "Fetch only from the SVN parent of the current HEAD." +#: en/git-rebase.txt:649 +msgid "Repeat the last two steps until your working tree is clean." msgstr "" #. type: Plain text -#: en/git-svn.txt:147 -msgid "" -"This allows one to specify a Perl regular expression that will cause " -"skipping of all matching paths from checkout from SVN. The `--ignore-paths` " -"option should match for every 'fetch' (including automatic fetches due to " -"'clone', 'dcommit', 'rebase', etc) on a given repository." +#: en/git-rebase.txt:651 +msgid "Continue the rebase with `git rebase --continue`." msgstr "" #. type: Plain text -#: en/git-svn.txt:150 +#: en/git-rebase.txt:656 +msgid "" +"If you are not absolutely sure that the intermediate revisions are " +"consistent (they compile, pass the testsuite, etc.) you should use 'git " +"stash' to stash away the not-yet-committed changes after each commit, test, " +"and amend the commit if fixes are necessary." +msgstr "" + +#. type: Title - +#: en/git-rebase.txt:659 #, no-wrap -msgid "config key: svn-remote.<name>.ignore-paths\n" +msgid "RECOVERING FROM UPSTREAM REBASE" msgstr "" #. type: Plain text -#: en/git-svn.txt:153 +#: en/git-rebase.txt:666 msgid "" -"If the ignore-paths configuration key is set, and the command-line option is " -"also given, both regular expressions will be used." +"Rebasing (or any other form of rewriting) a branch that others have based " +"work on is a bad idea: anyone downstream of it is forced to manually fix " +"their history. This section explains how to do the fix from the " +"downstream's point of view. The real fix, however, would be to avoid " +"rebasing the upstream in the first place." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:157 -#, no-wrap -msgid "Skip \"doc*\" directory for every fetch" +#. type: Plain text +#: en/git-rebase.txt:671 +msgid "" +"To illustrate, suppose you are in a situation where someone develops a " +"'subsystem' branch, and you are working on a 'topic' that is dependent on " +"this 'subsystem'. You might end up with a history like the following:" msgstr "" #. type: delimited block - -#: en/git-svn.txt:161 +#: en/git-rebase.txt:678 #, no-wrap -msgid "--ignore-paths=\"^doc\"\n" +msgid "" +" o---o---o---o---o---o---o---o---o master\n" +"\t \\\n" +"\t o---o---o---o---o subsystem\n" +"\t\t\t \\\n" +"\t\t\t *---*---* topic\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:163 +#. type: Plain text +#: en/git-rebase.txt:681 +msgid "If 'subsystem' is rebased against 'master', the following happens:" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:688 #, no-wrap -msgid "Skip \"branches\" and \"tags\" of first level directories" +msgid "" +" o---o---o---o---o---o---o---o master\n" +"\t \\\t\t\t \\\n" +"\t o---o---o---o---o\t o'--o'--o'--o'--o' subsystem\n" +"\t\t\t \\\n" +"\t\t\t *---*---* topic\n" +msgstr "" + +#. type: Plain text +#: en/git-rebase.txt:692 +msgid "" +"If you now continue development as usual, and eventually merge 'topic' to " +"'subsystem', the commits from 'subsystem' will remain duplicated forever:" msgstr "" #. type: delimited block - -#: en/git-svn.txt:167 +#: en/git-rebase.txt:699 #, no-wrap -msgid "--ignore-paths=\"^[^/]+/(?:branches|tags)\"\n" +msgid "" +" o---o---o---o---o---o---o---o master\n" +"\t \\\t\t\t \\\n" +"\t o---o---o---o---o\t o'--o'--o'--o'--o'--M\t subsystem\n" +"\t\t\t \\\t\t\t /\n" +"\t\t\t *---*---*-..........-*--* topic\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:177 +#: en/git-rebase.txt:706 msgid "" -"This allows one to specify a Perl regular expression that will cause the " -"inclusion of only matching paths from checkout from SVN. The " -"`--include-paths` option should match for every 'fetch' (including automatic " -"fetches due to 'clone', 'dcommit', 'rebase', etc) on a given " -"repository. `--ignore-paths` takes precedence over `--include-paths`." +"Such duplicates are generally frowned upon because they clutter up history, " +"making it harder to follow. To clean things up, you need to transplant the " +"commits on 'topic' to the new 'subsystem' tip, i.e., rebase 'topic'. This " +"becomes a ripple effect: anyone downstream from 'topic' is forced to rebase " +"too, and so on!" msgstr "" #. type: Plain text -#: en/git-svn.txt:180 -#, no-wrap -msgid "config key: svn-remote.<name>.include-paths\n" +#: en/git-rebase.txt:708 +msgid "There are two kinds of fixes, discussed in the following subsections:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:181 +#: en/git-rebase.txt:709 #, no-wrap -msgid "--log-window-size=<n>" +msgid "Easy case: The changes are literally the same." msgstr "" #. type: Plain text -#: en/git-svn.txt:187 +#: en/git-rebase.txt:713 msgid "" -"Fetch <n> log entries per request when scanning Subversion history. The " -"default is 100. For very large Subversion repositories, larger values may be " -"needed for 'clone'/'fetch' to complete in reasonable time. But overly large " -"values may lead to higher memory usage and request timeouts." +"This happens if the 'subsystem' rebase was a simple rebase and had no " +"conflicts." msgstr "" #. type: Labeled list -#: en/git-svn.txt:188 +#: en/git-rebase.txt:714 #, no-wrap -msgid "'clone'" +msgid "Hard case: The changes are not the same." msgstr "" #. type: Plain text -#: en/git-svn.txt:198 +#: en/git-rebase.txt:720 msgid "" -"Runs 'init' and 'fetch'. It will automatically create a directory based on " -"the basename of the URL passed to it; or if a second argument is passed; it " -"will create a directory and work within that. It accepts all arguments that " -"the 'init' and 'fetch' commands accept; with the exception of `--fetch-all` " -"and `--parent`. After a repository is cloned, the 'fetch' command will be " -"able to update revisions without affecting the working tree; and the " -"'rebase' command will be able to update the working tree with the latest " -"changes." +"This happens if the 'subsystem' rebase had conflicts, or used " +"`--interactive` to omit, edit, squash, or fixup commits; or if the upstream " +"used one of `commit --amend`, `reset`, or `filter-branch`." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:199 +#. type: Title ~ +#: en/git-rebase.txt:723 #, no-wrap -msgid "--preserve-empty-dirs" +msgid "The easy case" msgstr "" #. type: Plain text -#: en/git-svn.txt:205 +#: en/git-rebase.txt:728 msgid "" -"Create a placeholder file in the local Git repository for each empty " -"directory fetched from Subversion. This includes directories that become " -"empty by removing all entries in the Subversion repository (but not the " -"directory itself). The placeholder files are also tracked and removed when " -"no longer necessary." +"Only works if the changes (patch IDs based on the diff contents) on " +"'subsystem' are literally the same before and after the rebase 'subsystem' " +"did." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:206 +#. type: Plain text +#: en/git-rebase.txt:732 +msgid "" +"In that case, the fix is easy because 'git rebase' knows to skip changes " +"that are already present in the new upstream. So if you say (assuming " +"you're on 'topic')" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:734 #, no-wrap -msgid "--placeholder-filename=<filename>" +msgid " $ git rebase subsystem\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:209 +#: en/git-rebase.txt:736 +msgid "you will end up with the fixed history" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:742 +#, no-wrap msgid "" -"Set the name of placeholder files created by --preserve-empty-dirs. " -"Default: \".gitignore\"" +" o---o---o---o---o---o---o---o master\n" +"\t\t\t\t \\\n" +"\t\t\t\t o'--o'--o'--o'--o' subsystem\n" +"\t\t\t\t\t\t \\\n" +"\t\t\t\t\t\t *---*---* topic\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:210 +#. type: Title ~ +#: en/git-rebase.txt:746 #, no-wrap -msgid "'rebase'" +msgid "The hard case" msgstr "" #. type: Plain text -#: en/git-svn.txt:213 +#: en/git-rebase.txt:750 msgid "" -"This fetches revisions from the SVN parent of the current HEAD and rebases " -"the current (uncommitted to SVN) work against it." +"Things get more complicated if the 'subsystem' changes do not exactly " +"correspond to the ones before the rebase." msgstr "" #. type: Plain text -#: en/git-svn.txt:217 +#: en/git-rebase.txt:755 +#, no-wrap msgid "" -"This works similarly to `svn update` or 'git pull' except that it preserves " -"linear history with 'git rebase' instead of 'git merge' for ease of " -"dcommitting with 'git svn'." +"While an \"easy case recovery\" sometimes appears to be successful\n" +" even in the hard case, it may have unintended consequences. For\n" +" example, a commit that was removed via `git rebase\n" +" --interactive` will be **resurrected**!\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:221 +#: en/git-rebase.txt:760 msgid "" -"This accepts all options that 'git svn fetch' and 'git rebase' accept. " -"However, `--fetch-all` only fetches from the current [svn-remote], and not " -"all [svn-remote] definitions." +"The idea is to manually tell 'git rebase' \"where the old 'subsystem' ended " +"and your 'topic' began\", that is, what the old merge-base between them " +"was. You will have to find a way to name the last commit of the old " +"'subsystem', for example:" msgstr "" #. type: Plain text -#: en/git-svn.txt:224 +#: en/git-rebase.txt:764 msgid "" -"Like 'git rebase'; this requires that the working tree be clean and have no " -"uncommitted changes." +"With the 'subsystem' reflog: after 'git fetch', the old tip of 'subsystem' " +"is at `subsystem@{1}`. Subsequent fetches will increase the number. (See " +"linkgit:git-reflog[1].)" msgstr "" #. type: Plain text -#: en/git-svn.txt:232 +#: en/git-rebase.txt:767 msgid "" -"Do not fetch remotely; only run 'git rebase' against the last fetched commit " -"from the upstream SVN." +"Relative to the tip of 'topic': knowing that your 'topic' has three commits, " +"the old tip of 'subsystem' must be `topic~3`." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:233 +#. type: Plain text +#: en/git-rebase.txt:770 +msgid "" +"You can then transplant the old `subsystem..topic` to the new tip by saying " +"(for the reflog case, and assuming you are on 'topic' already):" +msgstr "" + +#. type: delimited block - +#: en/git-rebase.txt:772 #, no-wrap -msgid "'dcommit'" +msgid " $ git rebase --onto subsystem subsystem@{1}\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:238 +#: en/git-rebase.txt:777 msgid "" -"Commit each diff from the current branch directly to the SVN repository, and " -"then rebase or reset (depending on whether or not there is a diff between " -"SVN and head). This will create a revision in SVN for each commit in Git." +"The ripple effect of a \"hard case\" recovery is especially bad: 'everyone' " +"downstream from 'topic' will now have to perform a \"hard case\" recovery " +"too!" msgstr "" #. type: Plain text -#: en/git-svn.txt:242 +#: en/git-rebase.txt:784 msgid "" -"When an optional Git branch name (or a Git commit object name) is specified " -"as an argument, the subcommand works on the specified branch, not on the " -"current branch." +"The todo list presented by `--preserve-merges --interactive` does not " +"represent the topology of the revision graph. Editing commits and rewording " +"their commit messages should work fine, but attempts to reorder commits tend " +"to produce counterintuitive results." msgstr "" #. type: Plain text -#: en/git-svn.txt:244 -msgid "Use of 'dcommit' is preferred to 'set-tree' (below)." +#: en/git-rebase.txt:786 +msgid "For example, an attempt to rearrange" msgstr "" -#. type: Plain text -#: en/git-svn.txt:247 -msgid "After committing, do not rebase or reset." +#. type: delimited block - +#: en/git-rebase.txt:788 +#, no-wrap +msgid "1 --- 2 --- 3 --- 4 --- 5\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:247 +#. type: delimited block - +#: en/git-rebase.txt:792 #, no-wrap -msgid "--commit-url <URL>" +msgid "1 --- 2 --- 4 --- 3 --- 5\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:253 -msgid "" -"Commit to this SVN URL (the full path). This is intended to allow existing " -"'git svn' repositories created with one transport method (e.g. `svn://` or " -"`http://` for anonymous read) to be reused if a user is later given access " -"to an alternate transport method (e.g. `svn+ssh://` or `https://`) for " -"commit." +#: en/git-rebase.txt:794 +msgid "by moving the \"pick 4\" line will result in the following history:" msgstr "" -#. type: Plain text -#: en/git-svn.txt:257 +#. type: delimited block - +#: en/git-rebase.txt:798 #, no-wrap msgid "" -"config key: svn-remote.<name>.commiturl\n" -"config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl " -"options)\n" +"\t3\n" +" /\n" +"1 --- 2 --- 4 --- 5\n" msgstr "" -#. type: Plain text -#: en/git-svn.txt:261 -msgid "" -"Note that the SVN URL of the commiturl config key includes the SVN branch. " -"If you rather want to set the commit URL for an entire SVN repository use " -"svn-remote.<name>.pushurl instead." +#. type: Title = +#: en/git-receive-pack.txt:2 +#, no-wrap +msgid "git-receive-pack(1)" msgstr "" #. type: Plain text -#: en/git-svn.txt:264 -msgid "" -"Using this option for any other purpose (don't ask) is very strongly " -"discouraged." +#: en/git-receive-pack.txt:7 +msgid "git-receive-pack - Receive what is pushed into the repository" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:265 +#. type: Plain text +#: en/git-receive-pack.txt:13 #, no-wrap -msgid "--mergeinfo=<mergeinfo>" +msgid "'git-receive-pack' <directory>\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:272 +#: en/git-receive-pack.txt:18 msgid "" -"Add the given merge information during the dcommit " -"(e.g. `--mergeinfo=\"/branches/foo:1-10\"`). All svn server versions can " -"store this information (as a property), and svn clients starting from " -"version 1.5 can make use of it. To specify merge information from multiple " -"branches, use a single space character between the branches " -"(`--mergeinfo=\"/branches/foo:1-10 /branches/bar:3,5-6,8\"`)" +"Invoked by 'git send-pack' and updates the repository with the information " +"fed from the remote end." msgstr "" #. type: Plain text -#: en/git-svn.txt:275 -#, no-wrap -msgid "config key: svn.pushmergeinfo\n" +#: en/git-receive-pack.txt:23 +msgid "" +"This command is usually not invoked directly by the end user. The UI for " +"the protocol is on the 'git send-pack' side, and the program pair is meant " +"to be used to push updates to remote repository. For pull operations, see " +"linkgit:git-fetch-pack[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:280 +#: en/git-receive-pack.txt:28 msgid "" -"This option will cause git-svn to attempt to automatically populate the " -"svn:mergeinfo property in the SVN repository when possible. Currently, this " -"can only be done when dcommitting non-fast-forward merges where all parents " -"but the first have already been pushed into SVN." +"The command allows for creation and fast-forwarding of sha1 refs " +"(heads/tags) on the remote end (strictly speaking, it is the local end " +"'git-receive-pack' runs, but to the user who is sitting at the send-pack " +"end, it is updating the remote. Confused?)" msgstr "" #. type: Plain text -#: en/git-svn.txt:285 +#: en/git-receive-pack.txt:31 msgid "" -"Ask the user to confirm that a patch set should actually be sent to SVN. " -"For each patch, one may answer \"yes\" (accept this patch), \"no\" (discard " -"this patch), \"all\" (accept all patches), or \"quit\"." +"There are other real-world examples of using update and post-update hooks " +"found in the Documentation/howto directory." msgstr "" #. type: Plain text -#: en/git-svn.txt:288 +#: en/git-receive-pack.txt:35 msgid "" -"'git svn dcommit' returns immediately if answer is \"no\" or \"quit\", " -"without committing anything to SVN." +"'git-receive-pack' honours the receive.denyNonFastForwards config option, " +"which tells it if updates to a ref should be denied if they are not " +"fast-forwards." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:289 -#, no-wrap -msgid "'branch'" +#. type: Plain text +#: en/git-receive-pack.txt:38 +msgid "" +"A number of other receive.* config options are available to tweak its " +"behavior, see linkgit:git-config[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:291 -msgid "Create a branch in the SVN repository." +#: en/git-receive-pack.txt:43 +msgid "The repository to sync into." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:293 +#. type: Title - +#: en/git-receive-pack.txt:45 #, no-wrap -msgid "--message" +msgid "pre-receive Hook" msgstr "" #. type: Plain text -#: en/git-svn.txt:295 -msgid "Allows to specify the commit message." +#: en/git-receive-pack.txt:49 +msgid "" +"Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists and is " +"executable, it will be invoked once with no parameters. The standard input " +"of the hook will be one line per ref to be updated:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:297 +#. type: Plain text +#: en/git-receive-pack.txt:51 en/git-receive-pack.txt:148 #, no-wrap -msgid "--tag" +msgid " sha1-old SP sha1-new SP refname LF\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:300 +#: en/git-receive-pack.txt:58 msgid "" -"Create a tag by using the tags_subdir instead of the branches_subdir " -"specified during git svn init." +"The refname value is relative to $GIT_DIR; e.g. for the master head this is " +"\"refs/heads/master\". The two sha1 values before each refname are the " +"object names for the refname before and after the update. Refs to be " +"created will have sha1-old equal to 0\\{40}, while refs to be deleted will " +"have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should be " +"valid objects in the repository." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:301 -#, no-wrap -msgid "-d<path>" +#. type: Plain text +#: en/git-receive-pack.txt:65 +msgid "" +"When accepting a signed push (see linkgit:git-push[1]), the signed push " +"certificate is stored in a blob and an environment variable `GIT_PUSH_CERT` " +"can be consulted for its object name. See the description of `post-receive` " +"hook for an example. In addition, the certificate is verified using GPG and " +"the result is exported with the following environment variables:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:302 +#: en/git-receive-pack.txt:66 #, no-wrap -msgid "--destination=<path>" +msgid "`GIT_PUSH_CERT_SIGNER`" msgstr "" #. type: Plain text -#: en/git-svn.txt:310 +#: en/git-receive-pack.txt:69 msgid "" -"If more than one --branches (or --tags) option was given to the 'init' or " -"'clone' command, you must provide the location of the branch (or tag) you " -"wish to create in the SVN repository. <path> specifies which path to use to " -"create the branch or tag and should match the pattern on the left-hand side " -"of one of the configured branches or tags refspecs. You can see these " -"refspecs with the commands" +"The name and the e-mail address of the owner of the key that signed the push " +"certificate." msgstr "" -#. type: Plain text -#: en/git-svn.txt:313 -msgid "" -"git config --get-all svn-remote.<name>.branches git config --get-all " -"svn-remote.<name>.tags" +#. type: Labeled list +#: en/git-receive-pack.txt:70 +#, no-wrap +msgid "`GIT_PUSH_CERT_KEY`" msgstr "" #. type: Plain text -#: en/git-svn.txt:316 -msgid "" -"where <name> is the name of the SVN repository as specified by the -R option " -"to 'init' (or \"svn\" by default)." +#: en/git-receive-pack.txt:72 +msgid "The GPG key ID of the key that signed the push certificate." msgstr "" #. type: Labeled list -#: en/git-svn.txt:317 +#: en/git-receive-pack.txt:73 #, no-wrap -msgid "--username" +msgid "`GIT_PUSH_CERT_STATUS`" msgstr "" #. type: Plain text -#: en/git-svn.txt:320 +#: en/git-receive-pack.txt:77 msgid "" -"Specify the SVN username to perform the commit as. This option overrides " -"the 'username' configuration property." +"The status of GPG verification of the push certificate, using the same " +"mnemonic as used in `%G?` format of `git log` family of commands (see " +"linkgit:git-log[1])." msgstr "" #. type: Labeled list -#: en/git-svn.txt:321 +#: en/git-receive-pack.txt:78 #, no-wrap -msgid "--commit-url" +msgid "`GIT_PUSH_CERT_NONCE`" msgstr "" #. type: Plain text -#: en/git-svn.txt:326 +#: en/git-receive-pack.txt:84 msgid "" -"Use the specified URL to connect to the destination Subversion repository. " -"This is useful in cases where the source SVN repository is read-only. This " -"option overrides configuration property 'commiturl'." +"The nonce string the process asked the signer to include in the push " +"certificate. If this does not match the value recorded on the \"nonce\" " +"header in the push certificate, it may indicate that the certificate is a " +"valid one that is being replayed from a separate \"git push\" session." msgstr "" -#. type: Plain text -#: en/git-svn.txt:328 -msgid "git config --get-all svn-remote.<name>.commiturl" +#. type: Labeled list +#: en/git-receive-pack.txt:85 +#, no-wrap +msgid "`GIT_PUSH_CERT_NONCE_STATUS`" msgstr "" #. type: Labeled list -#: en/git-svn.txt:330 en/rev-list-options.txt:786 +#: en/git-receive-pack.txt:86 #, no-wrap -msgid "--parents" +msgid "`UNSOLICITED`" msgstr "" #. type: Plain text -#: en/git-svn.txt:334 -msgid "" -"Create parent folders. This parameter is equivalent to the parameter " -"--parents on svn cp commands and is useful for non-standard repository " -"layouts." +#: en/git-receive-pack.txt:89 +msgid "\"git push --signed\" sent a nonce when we did not ask it to send one." msgstr "" #. type: Labeled list -#: en/git-svn.txt:335 +#: en/git-receive-pack.txt:89 #, no-wrap -msgid "'tag'" +msgid "`MISSING`" msgstr "" #. type: Plain text -#: en/git-svn.txt:338 -msgid "Create a tag in the SVN repository. This is a shorthand for 'branch -t'." +#: en/git-receive-pack.txt:91 +msgid "\"git push --signed\" did not send any nonce header." msgstr "" #. type: Labeled list -#: en/git-svn.txt:339 +#: en/git-receive-pack.txt:91 #, no-wrap -msgid "'log'" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:342 -msgid "" -"This should make it easy to look up svn log messages when svn users refer to " -"-r/--revision numbers." +msgid "`BAD`" msgstr "" #. type: Plain text -#: en/git-svn.txt:344 -msgid "The following features from `svn log' are supported:" +#: en/git-receive-pack.txt:93 +msgid "\"git push --signed\" sent a bogus nonce." msgstr "" #. type: Labeled list -#: en/git-svn.txt:346 +#: en/git-receive-pack.txt:93 #, no-wrap -msgid "-r <n>[:<n>]" +msgid "`OK`" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:347 -#, no-wrap -msgid "--revision=<n>[:<n>]" +#. type: Plain text +#: en/git-receive-pack.txt:95 +msgid "\"git push --signed\" sent the nonce we asked it to send." msgstr "" -#. type: Plain text -#: en/git-svn.txt:350 -msgid "is supported, non-numeric args are not: HEAD, NEXT, BASE, PREV, etc ..." +#. type: Labeled list +#: en/git-receive-pack.txt:95 +#, no-wrap +msgid "`SLOP`" msgstr "" #. type: Plain text -#: en/git-svn.txt:354 +#: en/git-receive-pack.txt:99 msgid "" -"it's not completely compatible with the --verbose output in svn log, but " -"reasonably close." +"\"git push --signed\" sent a nonce different from what we asked it to send " +"now, but in a previous session. See `GIT_PUSH_CERT_NONCE_SLOP` environment " +"variable." msgstr "" #. type: Labeled list -#: en/git-svn.txt:354 +#: en/git-receive-pack.txt:100 #, no-wrap -msgid "--limit=<n>" +msgid "`GIT_PUSH_CERT_NONCE_SLOP`" msgstr "" #. type: Plain text -#: en/git-svn.txt:357 -msgid "is NOT the same as --max-count, doesn't count merged/excluded commits" +#: en/git-receive-pack.txt:108 +msgid "" +"\"git push --signed\" sent a nonce different from what we asked it to send " +"now, but in a different session whose starting time is different by this " +"many seconds from the current session. Only meaningful when " +"`GIT_PUSH_CERT_NONCE_STATUS` says `SLOP`. Also read about " +"`receive.certNonceSlop` variable in linkgit:git-config[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:359 -msgid "supported" +#: en/git-receive-pack.txt:111 +msgid "" +"This hook is called before any refname is updated and before any " +"fast-forward checks are performed." msgstr "" #. type: Plain text -#: en/git-svn.txt:362 -msgid "New features:" +#: en/git-receive-pack.txt:116 +msgid "" +"If the pre-receive hook exits with a non-zero exit status no updates will be " +"performed, and the update, post-receive and post-update hooks will not be " +"invoked either. This can be useful to quickly bail out if the update is not " +"to be supported." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:364 +#. type: Title - +#: en/git-receive-pack.txt:118 #, no-wrap -msgid "--show-commit" +msgid "update Hook" msgstr "" #. type: Plain text -#: en/git-svn.txt:366 -msgid "shows the Git commit sha1, as well" +#: en/git-receive-pack.txt:121 +msgid "" +"Before each ref is updated, if $GIT_DIR/hooks/update file exists and is " +"executable, it is invoked once per ref, with three parameters:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:366 en/pretty-options.txt:31 +#. type: Plain text +#: en/git-receive-pack.txt:123 #, no-wrap -msgid "--oneline" +msgid " $GIT_DIR/hooks/update refname sha1-old sha1-new\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:368 -msgid "our version of --pretty=oneline" +#: en/git-receive-pack.txt:130 +msgid "" +"The refname parameter is relative to $GIT_DIR; e.g. for the master head this " +"is \"refs/heads/master\". The two sha1 arguments are the object names for " +"the refname before and after the update. Note that the hook is called " +"before the refname is updated, so either sha1-old is 0\\{40} (meaning there " +"is no such ref yet), or it should match what is recorded in refname." msgstr "" #. type: Plain text -#: en/git-svn.txt:373 +#: en/git-receive-pack.txt:133 msgid "" -"SVN itself only stores times in UTC and nothing else. The regular svn client " -"converts the UTC time to the local time (or based on the TZ= " -"environment). This command has the same behaviour." +"The hook should exit with non-zero status if it wants to disallow updating " +"the named ref. Otherwise it should exit with zero." msgstr "" #. type: Plain text -#: en/git-svn.txt:375 -msgid "Any other arguments are passed directly to 'git log'" +#: en/git-receive-pack.txt:138 +msgid "" +"Successful execution (a zero exit status) of this hook does not ensure the " +"ref will actually be updated, it is only a prerequisite. As such it is not " +"a good idea to send notices (e.g. email) from this hook. Consider using the " +"post-receive hook instead." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:376 +#. type: Title - +#: en/git-receive-pack.txt:140 #, no-wrap -msgid "'blame'" +msgid "post-receive Hook" msgstr "" #. type: Plain text -#: en/git-svn.txt:383 +#: en/git-receive-pack.txt:146 msgid "" -"Show what revision and author last modified each line of a file. The output " -"of this mode is format-compatible with the output of `svn blame' by " -"default. Like the SVN blame command, local uncommitted changes in the " -"working tree are ignored; the version of the file in the HEAD revision is " -"annotated. Unknown arguments are passed directly to 'git blame'." -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:384 -#, no-wrap -msgid "--git-format" +"After all refs were updated (or attempted to be updated), if any ref update " +"was successful, and if $GIT_DIR/hooks/post-receive file exists and is " +"executable, it will be invoked once with no parameters. The standard input " +"of the hook will be one line for each successfully updated ref:" msgstr "" #. type: Plain text -#: en/git-svn.txt:389 +#: en/git-receive-pack.txt:156 msgid "" -"Produce output in the same format as 'git blame', but with SVN revision " -"numbers instead of Git commit hashes. In this mode, changes that haven't " -"been committed to SVN (including local working-copy edits) are shown as " -"revision 0." +"The refname value is relative to $GIT_DIR; e.g. for the master head this is " +"\"refs/heads/master\". The two sha1 values before each refname are the " +"object names for the refname before and after the update. Refs that were " +"created will have sha1-old equal to 0\\{40}, while refs that were deleted " +"will have sha1-new equal to 0\\{40}, otherwise sha1-old and sha1-new should " +"be valid objects in the repository." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:390 -#, no-wrap -msgid "'find-rev'" +#. type: Plain text +#: en/git-receive-pack.txt:159 +msgid "" +"The `GIT_PUSH_CERT*` environment variables can be inspected, just as in " +"`pre-receive` hook, after accepting a signed push." msgstr "" #. type: Plain text -#: en/git-svn.txt:395 +#: en/git-receive-pack.txt:165 msgid "" -"When given an SVN revision number of the form 'rN', returns the " -"corresponding Git commit hash (this can optionally be followed by a tree-ish " -"to specify which branch should be searched). When given a tree-ish, returns " -"the corresponding SVN revision number." +"Using this hook, it is easy to generate mails describing the updates to the " +"repository. This example script sends one mail message per ref listing the " +"commits pushed to the repository, and logs the push certificates of signed " +"pushes with good signatures to a logger service:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:396 +#. type: Plain text +#: en/git-receive-pack.txt:189 #, no-wrap -msgid "-B" +msgid "" +"\t#!/bin/sh\n" +"\t# mail out commit update information.\n" +"\twhile read oval nval ref\n" +"\tdo\n" +"\t\tif expr \"$oval\" : '0*$' >/dev/null\n" +"\t\tthen\n" +"\t\t\techo \"Created a new ref, with the following commits:\"\n" +"\t\t\tgit rev-list --pretty \"$nval\"\n" +"\t\telse\n" +"\t\t\techo \"New commits:\"\n" +"\t\t\tgit rev-list --pretty \"$nval\" \"^$oval\"\n" +"\t\tfi |\n" +"\t\tmail -s \"Changes to ref $ref\" commit-list@mydomain\n" +"\tdone\n" +"\t# log signed push certificate, if any\n" +"\tif test -n \"${GIT_PUSH_CERT-}\" && test ${GIT_PUSH_CERT_STATUS} = G\n" +"\tthen\n" +"\t\t(\n" +"\t\t\techo expected nonce is ${GIT_PUSH_NONCE}\n" +"\t\t\tgit cat-file blob ${GIT_PUSH_CERT}\n" +"\t\t) | mail -s \"push certificate from $GIT_PUSH_CERT_SIGNER\" " +"push-log@mydomain\n" +"\tfi\n" +"\texit 0\n" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:397 -#, no-wrap -msgid "--before" +#. type: Plain text +#: en/git-receive-pack.txt:192 +msgid "" +"The exit code from this hook invocation is ignored, however a non-zero exit " +"code will generate an error message." msgstr "" #. type: Plain text -#: en/git-svn.txt:401 +#: en/git-receive-pack.txt:198 msgid "" -"Don't require an exact match if given an SVN revision, instead find the " -"commit corresponding to the state of the SVN repository (on the current " -"branch) at the specified revision." +"Note that it is possible for refname to not have sha1-new when this hook " +"runs. This can easily occur if another user modifies the ref after it was " +"updated by 'git-receive-pack', but before the hook was able to evaluate it. " +"It is recommended that hooks rely on sha1-new rather than the current value " +"of refname." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:403 +#. type: Title - +#: en/git-receive-pack.txt:200 #, no-wrap -msgid "--after" +msgid "post-update Hook" msgstr "" #. type: Plain text -#: en/git-svn.txt:407 +#: en/git-receive-pack.txt:205 msgid "" -"Don't require an exact match if given an SVN revision; if there is not an " -"exact match return the closest match searching forward in the history." +"After all other processing, if at least one ref was updated, and if " +"$GIT_DIR/hooks/post-update file exists and is executable, then post-update " +"will be called with the list of refs that have been updated. This can be " +"used to implement any repository wide cleanup tasks." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:408 -#, no-wrap -msgid "'set-tree'" +#. type: Plain text +#: en/git-receive-pack.txt:209 +msgid "" +"The exit code from this hook invocation is ignored; the only thing left for " +"'git-receive-pack' to do at that point is to exit itself anyway." msgstr "" #. type: Plain text -#: en/git-svn.txt:416 +#: en/git-receive-pack.txt:212 msgid "" -"You should consider using 'dcommit' instead of this command. Commit " -"specified commit or tree objects to SVN. This relies on your imported fetch " -"data being up-to-date. This makes absolutely no attempts to do patching " -"when committing to SVN, it simply overwrites files with those specified in " -"the tree or commit. All merging is assumed to have taken place " -"independently of 'git svn' functions." +"This hook can be used, for example, to run `git update-server-info` if the " +"repository is packed and is served via a dumb transport." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:417 +#. type: Plain text +#: en/git-receive-pack.txt:215 #, no-wrap -msgid "'create-ignore'" +msgid "" +"\t#!/bin/sh\n" +"\texec git update-server-info\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:422 -msgid "" -"Recursively finds the svn:ignore property on directories and creates " -"matching .gitignore files. The resulting files are staged to be committed, " -"but are not committed. Use -r/--revision to refer to a specific revision." +#: en/git-receive-pack.txt:220 +msgid "linkgit:git-send-pack[1], linkgit:gitnamespaces[7]" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:423 +#. type: Title = +#: en/git-reflog.txt:2 #, no-wrap -msgid "'show-ignore'" +msgid "git-reflog(1)" msgstr "" #. type: Plain text -#: en/git-svn.txt:427 -msgid "" -"Recursively finds and lists the svn:ignore property on directories. The " -"output is suitable for appending to the $GIT_DIR/info/exclude file." +#: en/git-reflog.txt:7 +msgid "git-reflog - Manage reflog information" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:428 +#. type: Plain text +#: en/git-reflog.txt:13 #, no-wrap -msgid "'mkdirs'" +msgid "'git reflog' <subcommand> <options>\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:436 -msgid "" -"Attempts to recreate empty directories that core Git cannot track based on " -"information in $GIT_DIR/svn/<refname>/unhandled.log files. Empty " -"directories are automatically recreated when using \"git svn clone\" and " -"\"git svn rebase\", so \"mkdirs\" is intended for use after commands like " -"\"git checkout\" or \"git reset\". (See the svn-remote.<name>.automkdirs " -"config file option for more information.)" -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:437 +#: en/git-reflog.txt:27 #, no-wrap -msgid "'commit-diff'" +msgid "" +"'git reflog' ['show'] [log-options] [<ref>]\n" +"'git reflog expire' [--expire=<time>] [--expire-unreachable=<time>]\n" +"\t[--rewrite] [--updateref] [--stale-fix]\n" +"\t[--dry-run] [--verbose] [--all | <refs>...]\n" +"'git reflog delete' [--rewrite] [--updateref]\n" +"\t[--dry-run] [--verbose] ref@\\{specifier\\}...\n" +"'git reflog exists' <ref>\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:446 +#: en/git-reflog.txt:35 msgid "" -"Commits the diff of two tree-ish arguments from the command-line. This " -"command does not rely on being inside an `git svn init`-ed repository. This " -"command takes three arguments, (a) the original tree to diff against, (b) " -"the new tree result, (c) the URL of the target Subversion repository. The " -"final argument (URL) may be omitted if you are working from a 'git " -"svn'-aware repository (that has been `init`-ed with 'git svn'). The " -"-r<revision> option is required for this." +"Reference logs, or \"reflogs\", record when the tips of branches and other " +"references were updated in the local repository. Reflogs are useful in " +"various Git commands, to specify the old value of a reference. For example, " +"`HEAD@{2}` means \"where HEAD used to be two moves ago\", " +"`master@{one.week.ago}` means \"where master used to point to one week ago " +"in this local repository\", and so on. See linkgit:gitrevisions[7] for more " +"details." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:447 -#, no-wrap -msgid "'info'" +#. type: Plain text +#: en/git-reflog.txt:37 +msgid "This command manages the information recorded in the reflogs." msgstr "" #. type: Plain text -#: en/git-svn.txt:452 +#: en/git-reflog.txt:44 msgid "" -"Shows information about a file or directory similar to what `svn info' " -"provides. Does not currently support a -r/--revision argument. Use the " -"--url option to output only the value of the 'URL:' field." -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:453 -#, no-wrap -msgid "'proplist'" +"The \"show\" subcommand (which is also the default, in the absence of any " +"subcommands) shows the log of the reference provided in the command-line (or " +"`HEAD`, by default). The reflog covers all recent actions, and in addition " +"the `HEAD` reflog records branch switching. `git reflog show` is an alias " +"for `git log -g --abbrev-commit --pretty=oneline`; see linkgit:git-log[1] " +"for more information." msgstr "" #. type: Plain text -#: en/git-svn.txt:457 +#: en/git-reflog.txt:50 msgid "" -"Lists the properties stored in the Subversion repository about a given file " -"or directory. Use -r/--revision to refer to a specific Subversion revision." +"The \"expire\" subcommand prunes older reflog entries. Entries older than " +"`expire` time, or entries older than `expire-unreachable` time and not " +"reachable from the current tip, are removed from the reflog. This is " +"typically not used directly by end users -- instead, see linkgit:git-gc[1]." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:458 -#, no-wrap -msgid "'propget'" +#. type: Plain text +#: en/git-reflog.txt:55 +msgid "" +"The \"delete\" subcommand deletes single entries from the reflog. Its " +"argument must be an _exact_ entry (e.g. \"`git reflog delete " +"master@{2}`\"). This subcommand is also typically not used directly by end " +"users." msgstr "" #. type: Plain text -#: en/git-svn.txt:461 +#: en/git-reflog.txt:59 msgid "" -"Gets the Subversion property given as the first argument, for a file. A " -"specific revision can be specified with -r/--revision." +"The \"exists\" subcommand checks whether a ref has a reflog. It exits with " +"zero status if the reflog exists, and non-zero status if it does not." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:462 +#. type: Title ~ +#: en/git-reflog.txt:64 #, no-wrap -msgid "'propset'" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:466 -msgid "" -"Sets the Subversion property given as the first argument, to the value given " -"as the second argument for the file given as the third argument." +msgid "Options for `show`" msgstr "" #. type: Plain text -#: en/git-svn.txt:468 en/git-svn.txt:508 en/diff-format.txt:76 en/diff-format.txt:101 -#, no-wrap -msgid "Example:" +#: en/git-reflog.txt:67 +msgid "`git reflog show` accepts any of the options accepted by `git log`." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:471 +#. type: Title ~ +#: en/git-reflog.txt:70 #, no-wrap -msgid "git svn propset svn:keywords \"FreeBSD=%H\" devel/py-tipper/Makefile\n" +msgid "Options for `expire`" msgstr "" #. type: Plain text -#: en/git-svn.txt:475 -msgid "" -"This will set the property 'svn:keywords' to 'FreeBSD=%H' for the file " -"'devel/py-tipper/Makefile'." +#: en/git-reflog.txt:74 +msgid "Process the reflogs of all references." msgstr "" #. type: Labeled list -#: en/git-svn.txt:476 +#: en/git-reflog.txt:75 #, no-wrap -msgid "'show-externals'" +msgid "--expire=<time>" msgstr "" #. type: Plain text -#: en/git-svn.txt:479 +#: en/git-reflog.txt:82 msgid "" -"Shows the Subversion externals. Use -r/--revision to specify a specific " -"revision." +"Prune entries older than the specified time. If this option is not " +"specified, the expiration time is taken from the configuration setting " +"`gc.reflogExpire`, which in turn defaults to 90 days. `--expire=all` prunes " +"entries regardless of their age; `--expire=never` turns off pruning of " +"reachable entries (but see `--expire-unreachable`)." +msgstr "" + +#. type: Labeled list +#: en/git-reflog.txt:83 +#, no-wrap +msgid "--expire-unreachable=<time>" msgstr "" #. type: Plain text -#: en/git-svn.txt:483 +#: en/git-reflog.txt:92 msgid "" -"Compress $GIT_DIR/svn/<refname>/unhandled.log files and remove " -"$GIT_DIR/svn/<refname>/index files." +"Prune entries older than `<time>` that are not reachable from the current " +"tip of the branch. If this option is not specified, the expiration time is " +"taken from the configuration setting `gc.reflogExpireUnreachable`, which in " +"turn defaults to 30 days. `--expire-unreachable=all` prunes unreachable " +"entries regardless of their age; `--expire-unreachable=never` turns off " +"early pruning of unreachable entries (but see `--expire`)." msgstr "" #. type: Labeled list -#: en/git-svn.txt:484 +#: en/git-reflog.txt:93 #, no-wrap -msgid "'reset'" +msgid "--updateref" msgstr "" #. type: Plain text -#: en/git-svn.txt:494 +#: en/git-reflog.txt:97 msgid "" -"Undoes the effects of 'fetch' back to the specified revision. This allows " -"you to re-'fetch' an SVN revision. Normally the contents of an SVN revision " -"should never change and 'reset' should not be necessary. However, if SVN " -"permissions change, or if you alter your --ignore-paths option, a 'fetch' " -"may fail with \"not found in commit\" (file not previously visible) or " -"\"checksum mismatch\" (missed a modification). If the problem file cannot " -"be ignored forever (with --ignore-paths) the only way to repair the repo is " -"to use 'reset'." +"Update the reference to the value of the top reflog entry (i.e. " +"<ref>@\\{0\\}) if the previous top entry was pruned. (This option is " +"ignored for symbolic references.)" +msgstr "" + +#. type: Labeled list +#: en/git-reflog.txt:98 +#, no-wrap +msgid "--rewrite" msgstr "" #. type: Plain text -#: en/git-svn.txt:499 +#: en/git-reflog.txt:102 msgid "" -"Only the rev_map and refs/remotes/git-svn are changed (see " -"'$GIT_DIR/svn/\\*\\*/.rev_map.*' in the FILES section below for details). " -"Follow 'reset' with a 'fetch' and then 'git reset' or 'git rebase' to move " -"local branches onto the new tree." +"If a reflog entry's predecessor is pruned, adjust its \"old\" SHA-1 to be " +"equal to the \"new\" SHA-1 field of the entry that now precedes it." msgstr "" #. type: Labeled list -#: en/git-svn.txt:500 +#: en/git-reflog.txt:103 #, no-wrap -msgid "-r <n>" +msgid "--stale-fix" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:501 -#, no-wrap -msgid "--revision=<n>" +#. type: Plain text +#: en/git-reflog.txt:108 +msgid "" +"Prune any reflog entries that point to \"broken commits\". A broken commit " +"is a commit that is not reachable from any of the reference tips and that " +"refers, directly or indirectly, to a missing commit, tree, or blob object." msgstr "" #. type: Plain text -#: en/git-svn.txt:504 +#: en/git-reflog.txt:113 msgid "" -"Specify the most recent revision to keep. All later revisions are " -"discarded." +"This computation involves traversing all the reachable objects, i.e. it has " +"the same cost as 'git prune'. It is primarily intended to fix corruption " +"caused by garbage collecting using older versions of Git, which didn't " +"protect objects referred to by reflogs." msgstr "" #. type: Plain text -#: en/git-svn.txt:508 -msgid "Discard the specified revision as well, keeping the nearest parent instead." +#: en/git-reflog.txt:118 +msgid "Do not actually prune any entries; just show what would have been pruned." msgstr "" #. type: Plain text -#: en/git-svn.txt:510 -msgid "Assume you have local changes in \"master\", but you need to refetch \"r2\"." +#: en/git-reflog.txt:121 +msgid "Print extra information on screen." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:515 +#. type: Title ~ +#: en/git-reflog.txt:124 #, no-wrap -msgid "" -" r1---r2---r3 remotes/git-svn\n" -" \\\n" -" A---B master\n" +msgid "Options for `delete`" msgstr "" #. type: Plain text -#: en/git-svn.txt:519 +#: en/git-reflog.txt:129 msgid "" -"Fix the ignore-paths or SVN permissions problem that caused \"r2\" to be " -"incomplete in the first place. Then:" +"`git reflog delete` accepts options `--updateref`, `--rewrite`, `-n`, " +"`--dry-run`, and `--verbose`, with the same meanings as when they are used " +"with `expire`." msgstr "" -#. type: Plain text -#: en/git-svn.txt:523 +#. type: Title = +#: en/git-remote-ext.txt:2 #, no-wrap -msgid "" -"git svn reset -r2 -p\n" -"git svn fetch\n" +msgid "git-remote-ext(1)" msgstr "" -#. type: delimited block - -#: en/git-svn.txt:528 +#. type: Plain text +#: en/git-remote-ext.txt:7 +msgid "git-remote-ext - Bridge smart transport to external command." +msgstr "" + +#. type: Plain text +#: en/git-remote-ext.txt:12 #, no-wrap +msgid "git remote add <nick> \"ext::<command>[ <arguments>...]\"\n" +msgstr "" + +#. type: Plain text +#: en/git-remote-ext.txt:17 msgid "" -" r1---r2'--r3' remotes/git-svn\n" -" \\\n" -" r2---r3---A---B master\n" +"This remote helper uses the specified '<command>' to connect to a remote Git " +"server." msgstr "" #. type: Plain text -#: en/git-svn.txt:533 +#: en/git-remote-ext.txt:23 msgid "" -"Then fixup \"master\" with 'git rebase'. Do NOT use 'git merge' or your " -"history will not be compatible with a future 'dcommit'!" +"Data written to stdin of the specified '<command>' is assumed to be sent to " +"a git:// server, git-upload-pack, git-receive-pack or git-upload-archive " +"(depending on situation), and data read from stdout of <command> is assumed " +"to be received from the same service." msgstr "" #. type: Plain text -#: en/git-svn.txt:536 -#, no-wrap -msgid "git rebase --onto remotes/git-svn A^ master\n" +#: en/git-remote-ext.txt:25 +msgid "Command and arguments are separated by an unescaped space." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:541 -#, no-wrap -msgid "" -" r1---r2'--r3' remotes/git-svn\n" -" \\\n" -" A'--B' master\n" +#. type: Plain text +#: en/git-remote-ext.txt:27 +msgid "The following sequences have a special meaning:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:546 +#: en/git-remote-ext.txt:28 #, no-wrap -msgid "--shared[=(false|true|umask|group|all|world|everybody)]" +msgid "'% '" msgstr "" #. type: Plain text -#: en/git-svn.txt:550 -msgid "Only used with the 'init' command. These are passed directly to 'git init'." +#: en/git-remote-ext.txt:30 +msgid "Literal space in command or argument." msgstr "" #. type: Labeled list -#: en/git-svn.txt:551 +#: en/git-remote-ext.txt:31 #, no-wrap -msgid "-r <arg>" +msgid "'%%'" +msgstr "" + +#. type: Plain text +#: en/git-remote-ext.txt:33 +msgid "Literal percent sign." msgstr "" #. type: Labeled list -#: en/git-svn.txt:552 +#: en/git-remote-ext.txt:34 #, no-wrap -msgid "--revision <arg>" +msgid "'%s'" msgstr "" #. type: Plain text -#: en/git-svn.txt:554 -msgid "Used with the 'fetch' command." +#: en/git-remote-ext.txt:37 +msgid "" +"Replaced with name (receive-pack, upload-pack, or upload-archive) of the " +"service Git wants to invoke." msgstr "" -#. type: Plain text -#: en/git-svn.txt:558 -msgid "" -"This allows revision ranges for partial/cauterized history to be supported. " -"$NUMBER, $NUMBER1:$NUMBER2 (numeric ranges), $NUMBER:HEAD, and BASE:$NUMBER " -"are all supported." +#. type: Labeled list +#: en/git-remote-ext.txt:38 +#, no-wrap +msgid "'%S'" msgstr "" #. type: Plain text -#: en/git-svn.txt:562 +#: en/git-remote-ext.txt:42 msgid "" -"This can allow you to make partial mirrors when running fetch; but is " -"generally not recommended because history will be skipped and lost." +"Replaced with long name (git-receive-pack, git-upload-pack, or " +"git-upload-archive) of the service Git wants to invoke." msgstr "" #. type: Labeled list -#: en/git-svn.txt:563 +#: en/git-remote-ext.txt:43 #, no-wrap -msgid "-" +msgid "'%G' (must be the first characters in an argument)" msgstr "" #. type: Plain text -#: en/git-svn.txt:566 -msgid "Only used with the 'set-tree' command." +#: en/git-remote-ext.txt:49 +msgid "" +"This argument will not be passed to '<command>'. Instead, it will cause the " +"helper to start by sending git:// service requests to the remote side with " +"the service field set to an appropriate value and the repository field set " +"to rest of the argument. Default is not to send such a request." msgstr "" #. type: Plain text -#: en/git-svn.txt:570 -msgid "" -"Read a list of commits from stdin and commit them in reverse order. Only " -"the leading sha1 is read from each line, so 'git rev-list --pretty=oneline' " -"output can be used." +#: en/git-remote-ext.txt:52 +msgid "This is useful if remote side is git:// server accessed over some tunnel." msgstr "" #. type: Labeled list -#: en/git-svn.txt:571 +#: en/git-remote-ext.txt:53 #, no-wrap -msgid "--rmdir" +msgid "'%V' (must be first characters in argument)" msgstr "" #. type: Plain text -#: en/git-svn.txt:573 en/git-svn.txt:586 en/git-svn.txt:597 -msgid "Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands." +#: en/git-remote-ext.txt:57 +msgid "" +"This argument will not be passed to '<command>'. Instead it sets the vhost " +"field in the git:// service request (to rest of the argument). Default is " +"not to send vhost in such request (if sent)." msgstr "" -#. type: Plain text -#: en/git-svn.txt:579 -msgid "" -"Remove directories from the SVN tree if there are no files left behind. SVN " -"can version empty directories, and they are not removed by default if there " -"are no files left in them. Git cannot version empty directories. Enabling " -"this flag will make the commit to SVN act like Git." +#. type: Title - +#: en/git-remote-ext.txt:59 +#, no-wrap +msgid "ENVIRONMENT VARIABLES:" msgstr "" -#. type: Plain text -#: en/git-svn.txt:582 +#. type: Labeled list +#: en/git-remote-ext.txt:61 en/git-remote-fd.txt:33 #, no-wrap -msgid "config key: svn.rmdir\n" +msgid "GIT_TRANSLOOP_DEBUG" msgstr "" #. type: Plain text -#: en/git-svn.txt:590 -msgid "" -"Edit the commit message before committing to SVN. This is off by default " -"for objects that are commits, and forced on when committing tree objects." +#: en/git-remote-ext.txt:63 en/git-remote-fd.txt:35 +msgid "If set, prints debugging information about various reads/writes." msgstr "" -#. type: Plain text -#: en/git-svn.txt:593 +#. type: Title - +#: en/git-remote-ext.txt:65 #, no-wrap -msgid "config key: svn.edit\n" +msgid "ENVIRONMENT VARIABLES PASSED TO COMMAND:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:594 en/diff-options.txt:402 +#: en/git-remote-ext.txt:67 #, no-wrap -msgid "-l<num>" +msgid "GIT_EXT_SERVICE" +msgstr "" + +#. type: Plain text +#: en/git-remote-ext.txt:70 +msgid "" +"Set to long name (git-upload-pack, etc...) of service helper needs to " +"invoke." msgstr "" #. type: Labeled list -#: en/git-svn.txt:595 en/diff-options.txt:380 +#: en/git-remote-ext.txt:71 #, no-wrap -msgid "--find-copies-harder" +msgid "GIT_EXT_SERVICE_NOPREFIX" msgstr "" #. type: Plain text -#: en/git-svn.txt:600 -msgid "" -"They are both passed directly to 'git diff-tree'; see " -"linkgit:git-diff-tree[1] for more information." +#: en/git-remote-ext.txt:74 +msgid "Set to long name (upload-pack, etc...) of service helper needs to invoke." msgstr "" -#. type: Plain text -#: en/git-svn.txt:604 +#. type: Title - +#: en/git-remote-ext.txt:77 #, no-wrap -msgid "" -"config key: svn.l\n" -"config key: svn.findcopiesharder\n" +msgid "EXAMPLES:" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:605 -#, no-wrap -msgid "-A<filename>" +#. type: Plain text +#: en/git-remote-ext.txt:82 +msgid "" +"This remote helper is transparently used by Git when you use commands such " +"as \"git fetch <URL>\", \"git clone <URL>\", , \"git push <URL>\" or \"git " +"remote add <nick> <URL>\", where <URL> begins with `ext::`. Examples:" msgstr "" #. type: Labeled list -#: en/git-svn.txt:606 +#: en/git-remote-ext.txt:83 #, no-wrap -msgid "--authors-file=<filename>" +msgid "\"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S 'foo/repo'\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:608 -msgid "Syntax is compatible with the file used by 'git cvsimport':" +#: en/git-remote-ext.txt:87 +msgid "" +"Like host.example:foo/repo, but use /home/foo/.ssh/somekey as keypair and " +"user as user on remote side. This avoids needing to edit .ssh/config." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:611 +#. type: Labeled list +#: en/git-remote-ext.txt:88 #, no-wrap -msgid "\tloginname = Joe User <user@example.com>\n" +msgid "\"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:618 +#: en/git-remote-ext.txt:91 msgid "" -"If this option is specified and 'git svn' encounters an SVN committer name " -"that does not exist in the authors-file, 'git svn' will abort operation. The " -"user will then have to add the appropriate entry. Re-running the previous " -"'git svn' command after the authors-file is modified should continue " -"operation." +"Represents repository with path /somerepo accessible over git protocol at " +"abstract namespace address /git-server." msgstr "" -#. type: Plain text -#: en/git-svn.txt:621 +#. type: Labeled list +#: en/git-remote-ext.txt:92 #, no-wrap -msgid "config key: svn.authorsfile\n" +msgid "\"ext::git-server-alias foo %G/repo\"" +msgstr "" + +#. type: Plain text +#: en/git-remote-ext.txt:98 +msgid "" +"Represents a repository with path /repo accessed using the helper program " +"\"git-server-alias foo\". The path to the repository and type of request " +"are not passed on the command line but as part of the protocol stream, as " +"usual with git:// protocol." msgstr "" #. type: Labeled list -#: en/git-svn.txt:622 +#: en/git-remote-ext.txt:99 #, no-wrap -msgid "--authors-prog=<filename>" +msgid "\"ext::git-server-alias foo %G/repo %Vfoo\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:628 +#: en/git-remote-ext.txt:105 msgid "" -"If this option is specified, for each SVN committer name that does not exist " -"in the authors file, the given file is executed with the committer name as " -"the first argument. The program is expected to return a single line of the " -"form \"Name <email>\", which will be treated as if included in the authors " -"file." +"Represents a repository with path /repo accessed using the helper program " +"\"git-server-alias foo\". The hostname for the remote server passed in the " +"protocol stream will be \"foo\" (this allows multiple virtual Git servers to " +"share a link-level address)." msgstr "" -#. type: Plain text -#: en/git-svn.txt:631 +#. type: Labeled list +#: en/git-remote-ext.txt:106 #, no-wrap -msgid "config key: svn.authorsProg\n" +msgid "\"ext::git-server-alias foo %G/repo% with% spaces %Vfoo\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:636 +#: en/git-remote-ext.txt:112 msgid "" -"Make 'git svn' less verbose. Specify a second time to make it even less " -"verbose." +"Represents a repository with path '/repo with spaces' accessed using the " +"helper program \"git-server-alias foo\". The hostname for the remote server " +"passed in the protocol stream will be \"foo\" (this allows multiple virtual " +"Git servers to share a link-level address)." msgstr "" #. type: Labeled list -#: en/git-svn.txt:639 +#: en/git-remote-ext.txt:113 #, no-wrap -msgid "-s<strategy>" +msgid "\"ext::git-ssl foo.example /bar\"" msgstr "" #. type: Plain text -#: en/git-svn.txt:644 -msgid "These are only used with the 'dcommit' and 'rebase' commands." +#: en/git-remote-ext.txt:118 +msgid "" +"Represents a repository accessed using the helper program \"git-ssl " +"foo.example /bar\". The type of request can be determined by the helper " +"using environment variables (see above)." msgstr "" #. type: Plain text -#: en/git-svn.txt:647 -msgid "" -"Passed directly to 'git rebase' when using 'dcommit' if a 'git reset' cannot " -"be used (see 'dcommit')." +#: en/git-remote-ext.txt:122 en/git-remote-fd.txt:56 en/git-remote-testgit.txt:27 +msgid "linkgit:gitremote-helpers[1]" +msgstr "" + +#. type: Title = +#: en/git-remote-fd.txt:2 +#, no-wrap +msgid "git-remote-fd(1)" msgstr "" #. type: Plain text -#: en/git-svn.txt:652 -msgid "This can be used with the 'dcommit', 'rebase', 'branch' and 'tag' commands." +#: en/git-remote-fd.txt:7 +msgid "git-remote-fd - Reflect smart transport stream back to caller" msgstr "" #. type: Plain text -#: en/git-svn.txt:655 -msgid "" -"For 'dcommit', print out the series of Git arguments that would show which " -"diffs would be committed to SVN." +#: en/git-remote-fd.txt:11 +msgid "\"fd::<infd>[,<outfd>][/<anything>]\" (as URL)" msgstr "" #. type: Plain text -#: en/git-svn.txt:659 +#: en/git-remote-fd.txt:17 msgid "" -"For 'rebase', display the local branch associated with the upstream svn " -"repository associated with the current branch and the URL of svn repository " -"that will be fetched from." +"This helper uses specified file descriptors to connect to a remote Git " +"server. This is not meant for end users but for programs and scripts " +"calling git fetch, push or archive." msgstr "" #. type: Plain text -#: en/git-svn.txt:662 +#: en/git-remote-fd.txt:23 msgid "" -"For 'branch' and 'tag', display the urls that will be used for copying when " -"creating the branch or tag." +"If only <infd> is given, it is assumed to be a bidirectional socket " +"connected to remote Git server (git-upload-pack, git-receive-pack or " +"git-upload-archive). If both <infd> and <outfd> are given, they are assumed " +"to be pipes connected to a remote Git server (<infd> being the inbound pipe " +"and <outfd> being the outbound pipe." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:663 -#, no-wrap -msgid "--use-log-author" +#. type: Plain text +#: en/git-remote-fd.txt:26 +msgid "" +"It is assumed that any handshaking procedures have already been completed " +"(such as sending service request for git://) before this helper is started." msgstr "" #. type: Plain text -#: en/git-svn.txt:667 +#: en/git-remote-fd.txt:30 msgid "" -"When retrieving svn commits into Git (as part of 'fetch', 'rebase', or " -"'dcommit' operations), look for the first `From:` or `Signed-off-by:` line " -"in the log message and use that as the author string." +"<anything> can be any string. It is ignored. It is meant for providing " +"information to user in the URL in case that URL is displayed in some " +"context." msgstr "" -#. type: Plain text -#: en/git-svn.txt:670 +#. type: Title - +#: en/git-remote-fd.txt:32 #, no-wrap -msgid "config key: svn.useLogAuthor\n" +msgid "ENVIRONMENT VARIABLES" msgstr "" #. type: Labeled list -#: en/git-svn.txt:671 +#: en/git-remote-fd.txt:38 #, no-wrap -msgid "--add-author-from" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:677 -msgid "" -"When committing to svn from Git (as part of 'commit-diff', 'set-tree' or " -"'dcommit' operations), if the existing log message doesn't already have a " -"`From:` or `Signed-off-by:` line, append a `From:` line based on the Git " -"commit's author string. If you use this, then `--use-log-author` will " -"retrieve a valid author string for all commits." +msgid "`git fetch fd::17 master`" msgstr "" #. type: Plain text -#: en/git-svn.txt:680 -#, no-wrap -msgid "config key: svn.addAuthorFrom\n" -msgstr "" - -#. type: Title - -#: en/git-svn.txt:682 -#, no-wrap -msgid "ADVANCED OPTIONS" +#: en/git-remote-fd.txt:41 +msgid "Fetch master, using file descriptor #17 to communicate with git-upload-pack." msgstr "" #. type: Labeled list -#: en/git-svn.txt:684 +#: en/git-remote-fd.txt:42 #, no-wrap -msgid "-i<GIT_SVN_ID>" +msgid "`git fetch fd::17/foo master`" msgstr "" #. type: Labeled list -#: en/git-svn.txt:685 +#: en/git-remote-fd.txt:45 #, no-wrap -msgid "--id <GIT_SVN_ID>" +msgid "`git push fd::7,8 master (as URL)`" msgstr "" #. type: Plain text -#: en/git-svn.txt:690 +#: en/git-remote-fd.txt:49 msgid "" -"This sets GIT_SVN_ID (instead of using the environment). This allows the " -"user to override the default refname to fetch from when tracking a single " -"URL. The 'log' and 'dcommit' commands no longer require this switch as an " -"argument." +"Push master, using file descriptor #7 to read data from git-receive-pack and " +"file descriptor #8 to write data to same service." msgstr "" #. type: Labeled list -#: en/git-svn.txt:691 +#: en/git-remote-fd.txt:50 #, no-wrap -msgid "-R<remote name>" +msgid "`git push fd::7,8/bar master`" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:692 +#. type: Title = +#: en/git-remote-testgit.txt:2 #, no-wrap -msgid "--svn-remote <remote name>" +msgid "git-remote-testgit(1)" msgstr "" #. type: Plain text -#: en/git-svn.txt:696 -msgid "" -"Specify the [svn-remote \"<remote name>\"] section to use, this allows SVN " -"multiple repositories to be tracked. Default: \"svn\"" +#: en/git-remote-testgit.txt:7 +msgid "git-remote-testgit - Example remote-helper" msgstr "" -#. type: Labeled list -#: en/git-svn.txt:697 +#. type: Plain text +#: en/git-remote-testgit.txt:13 #, no-wrap -msgid "--follow-parent" +msgid "git clone testgit::<source-repo> [<destination>]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:712 +#: en/git-remote-testgit.txt:20 msgid "" -"This option is only relevant if we are tracking branches (using one of the " -"repository layout options --trunk, --tags, --branches, --stdlayout). For " -"each tracked branch, try to find out where its revision was copied from, and " -"set a suitable parent in the first Git commit for the branch. This is " -"especially helpful when we're tracking a directory that has been moved " -"around within the repository. If this feature is disabled, the branches " -"created by 'git svn' will all be linear and not share any history, meaning " -"that there will be no information on where branches were branched off or " -"merged. However, following long/convoluted histories can take a long time, " -"so disabling this feature may speed up the cloning process. This feature is " -"enabled by default, use --no-follow-parent to disable it." +"This command is a simple remote-helper, that is used both as a testcase for " +"the remote-helper functionality, and as an example to show remote-helper " +"authors one possible implementation." msgstr "" #. type: Plain text -#: en/git-svn.txt:715 -#, no-wrap -msgid "config key: svn.followparent\n" -msgstr "" - -#. type: Title - -#: en/git-svn.txt:717 -#, no-wrap -msgid "CONFIG FILE-ONLY OPTIONS" -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:719 -#, no-wrap -msgid "svn.noMetadata" +#: en/git-remote-testgit.txt:23 +msgid "" +"The best way to learn more is to read the comments and source code in " +"'git-remote-testgit'." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:720 +#. type: Title = +#: en/git-remote.txt:2 #, no-wrap -msgid "svn-remote.<name>.noMetadata" +msgid "git-remote(1)" msgstr "" #. type: Plain text -#: en/git-svn.txt:722 -msgid "This gets rid of the 'git-svn-id:' lines at the end of every commit." +#: en/git-remote.txt:7 +msgid "git-remote - Manage set of tracked repositories" msgstr "" #. type: Plain text -#: en/git-svn.txt:727 +#: en/git-remote.txt:25 +#, no-wrap msgid "" -"This option can only be used for one-shot imports as 'git svn' will not be " -"able to fetch again without metadata. Additionally, if you lose your " -"'$GIT_DIR/svn/\\*\\*/.rev_map.*' files, 'git svn' will not be able to " -"rebuild them." +"'git remote' [-v | --verbose]\n" +"'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] " +"[--mirror=<fetch|push>] <name> <url>\n" +"'git remote rename' <old> <new>\n" +"'git remote remove' <name>\n" +"'git remote set-head' <name> (-a | --auto | -d | --delete | <branch>)\n" +"'git remote set-branches' [--add] <name> <branch>...\n" +"'git remote get-url' [--push] [--all] <name>\n" +"'git remote set-url' [--push] <name> <newurl> [<oldurl>]\n" +"'git remote set-url --add' [--push] <name> <newurl>\n" +"'git remote set-url --delete' [--push] <name> <url>\n" +"'git remote' [-v | --verbose] 'show' [-n] <name>...\n" +"'git remote prune' [-n | --dry-run] <name>...\n" +"'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | " +"<remote>)...]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:731 -msgid "" -"The 'git svn log' command will not work on repositories using this, either. " -"Using this conflicts with the 'useSvmProps' option for (hopefully) obvious " -"reasons." +#: en/git-remote.txt:30 +msgid "Manage the set of repositories (\"remotes\") whose branches you track." msgstr "" #. type: Plain text -#: en/git-svn.txt:739 +#: en/git-remote.txt:39 msgid "" -"This option is NOT recommended as it makes it difficult to track down old " -"references to SVN revision numbers in existing documentation, bug reports " -"and archives. If you plan to eventually migrate from SVN to Git and are " -"certain about dropping SVN history, consider linkgit:git-filter-branch[1] " -"instead. filter-branch also allows reformatting of metadata for " -"ease-of-reading and rewriting authorship info for non-\"svn.authorsFile\" " -"users." +"Be a little more verbose and show remote url after name. NOTE: This must be " +"placed between `remote` and `subcommand`." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:740 -#, no-wrap -msgid "svn.useSvmProps" +#. type: Plain text +#: en/git-remote.txt:46 +msgid "" +"With no arguments, shows a list of existing remotes. Several subcommands " +"are available to perform operations on the remotes." msgstr "" #. type: Labeled list -#: en/git-svn.txt:741 +#: en/git-remote.txt:47 #, no-wrap -msgid "svn-remote.<name>.useSvmProps" +msgid "'add'" msgstr "" #. type: Plain text -#: en/git-svn.txt:744 +#: en/git-remote.txt:52 msgid "" -"This allows 'git svn' to re-map repository URLs and UUIDs from mirrors " -"created using SVN::Mirror (or svk) for metadata." +"Adds a remote named <name> for the repository at <url>. The command `git " +"fetch <name>` can then be used to create and update remote-tracking branches " +"<name>/<branch>." msgstr "" #. type: Plain text -#: en/git-svn.txt:752 +#: en/git-remote.txt:55 msgid "" -"If an SVN revision has a property, \"svm:headrev\", it is likely that the " -"revision was created by SVN::Mirror (also used by SVK). The property " -"contains a repository UUID and a revision. We want to make it look like we " -"are mirroring the original URL, so introduce a helper function that returns " -"the original identity URL and UUID, and use it when generating metadata in " -"commit messages." +"With `-f` option, `git fetch <name>` is run immediately after the remote " +"information is set up." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:753 -#, no-wrap -msgid "svn.useSvnsyncProps" +#. type: Plain text +#: en/git-remote.txt:58 +msgid "" +"With `--tags` option, `git fetch <name>` imports every tag from the remote " +"repository." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:754 -#, no-wrap -msgid "svn-remote.<name>.useSvnsyncprops" +#. type: Plain text +#: en/git-remote.txt:61 +msgid "" +"With `--no-tags` option, `git fetch <name>` does not import tags from the " +"remote repository." msgstr "" #. type: Plain text -#: en/git-svn.txt:758 +#: en/git-remote.txt:64 msgid "" -"Similar to the useSvmProps option; this is for users of the svnsync(1) " -"command distributed with SVN 1.4.x and later." +"By default, only tags on fetched branches are imported (see " +"linkgit:git-fetch[1])." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:759 -#, no-wrap -msgid "svn-remote.<name>.rewriteRoot" +#. type: Plain text +#: en/git-remote.txt:70 +msgid "" +"With `-t <branch>` option, instead of the default glob refspec for the " +"remote to track all branches under the `refs/remotes/<name>/` namespace, a " +"refspec to track only `<branch>` is created. You can give more than one `-t " +"<branch>` to track multiple branches without grabbing all branches." msgstr "" #. type: Plain text -#: en/git-svn.txt:765 +#: en/git-remote.txt:73 msgid "" -"This allows users to create repositories from alternate URLs. For example, " -"an administrator could run 'git svn' on the server locally (accessing via " -"file://) but wish to distribute the repository with a public http:// or " -"svn:// URL in the metadata so users of it will see the public URL." +"With `-m <master>` option, a symbolic-ref `refs/remotes/<name>/HEAD` is set " +"up to point at remote's `<master>` branch. See also the set-head command." msgstr "" -#. type: Labeled list -#: en/git-svn.txt:766 -#, no-wrap -msgid "svn-remote.<name>.rewriteUUID" +#. type: Plain text +#: en/git-remote.txt:79 +msgid "" +"When a fetch mirror is created with `--mirror=fetch`, the refs will not be " +"stored in the 'refs/remotes/' namespace, but rather everything in 'refs/' on " +"the remote will be directly mirrored into 'refs/' in the local " +"repository. This option only makes sense in bare repositories, because a " +"fetch would overwrite any local commits." msgstr "" #. type: Plain text -#: en/git-svn.txt:771 +#: en/git-remote.txt:82 msgid "" -"Similar to the useSvmProps option; this is for users who need to remap the " -"UUID manually. This may be useful in situations where the original UUID is " -"not available via either useSvmProps or useSvnsyncProps." +"When a push mirror is created with `--mirror=push`, then `git push` will " +"always behave as if `--mirror` was passed." msgstr "" #. type: Labeled list -#: en/git-svn.txt:772 +#: en/git-remote.txt:83 #, no-wrap -msgid "svn-remote.<name>.pushurl" +msgid "'rename'" msgstr "" #. type: Plain text -#: en/git-svn.txt:781 +#: en/git-remote.txt:87 msgid "" -"Similar to Git's `remote.<name>.pushurl`, this key is designed to be used in " -"cases where 'url' points to an SVN repository via a read-only transport, to " -"provide an alternate read/write transport. It is assumed that both keys " -"point to the same repository. Unlike 'commiturl', 'pushurl' is a base " -"path. If either 'commiturl' or 'pushurl' could be used, 'commiturl' takes " -"precedence." -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:782 -#, no-wrap -msgid "svn.brokenSymlinkWorkaround" +"Rename the remote named <old> to <new>. All remote-tracking branches and " +"configuration settings for the remote are updated." msgstr "" #. type: Plain text -#: en/git-svn.txt:790 +#: en/git-remote.txt:91 msgid "" -"This disables potentially expensive checks to workaround broken symlinks " -"checked into SVN by broken clients. Set this option to \"false\" if you " -"track a SVN repository with many empty blobs that are not symlinks. This " -"option may be changed while 'git svn' is running and take effect on the next " -"revision fetched. If unset, 'git svn' assumes this option to be \"true\"." +"In case <old> and <new> are the same, and <old> is a file under " +"`$GIT_DIR/remotes` or `$GIT_DIR/branches`, the remote is converted to the " +"configuration file format." msgstr "" #. type: Labeled list -#: en/git-svn.txt:791 +#: en/git-remote.txt:92 #, no-wrap -msgid "svn.pathnameencoding" +msgid "'remove'" +msgstr "" + +#. type: Labeled list +#: en/git-remote.txt:93 +#, no-wrap +msgid "'rm'" msgstr "" #. type: Plain text -#: en/git-svn.txt:796 +#: en/git-remote.txt:97 msgid "" -"This instructs git svn to recode pathnames to a given encoding. It can be " -"used by windows users and by those who work in non-utf8 locales to avoid " -"corrupted file names with non-ASCII characters. Valid encodings are the " -"ones supported by Perl's Encode module." +"Remove the remote named <name>. All remote-tracking branches and " +"configuration settings for the remote are removed." msgstr "" #. type: Labeled list -#: en/git-svn.txt:797 +#: en/git-remote.txt:98 #, no-wrap -msgid "svn-remote.<name>.automkdirs" +msgid "'set-head'" msgstr "" #. type: Plain text -#: en/git-svn.txt:804 +#: en/git-remote.txt:107 msgid "" -"Normally, the \"git svn clone\" and \"git svn rebase\" commands attempt to " -"recreate empty directories that are in the Subversion repository. If this " -"option is set to \"false\", then empty directories will only be created if " -"the \"git svn mkdirs\" command is run explicitly. If unset, 'git svn' " -"assumes this option to be \"true\"." +"Sets or deletes the default branch (i.e. the target of the symbolic-ref " +"`refs/remotes/<name>/HEAD`) for the named remote. Having a default branch " +"for a remote is not required, but allows the name of the remote to be " +"specified in lieu of a specific branch. For example, if the default branch " +"for `origin` is set to `master`, then `origin` may be specified wherever you " +"would normally specify `origin/master`." msgstr "" #. type: Plain text -#: en/git-svn.txt:809 +#: en/git-remote.txt:109 msgid "" -"Since the noMetadata, rewriteRoot, rewriteUUID, useSvnsyncProps and " -"useSvmProps options all affect the metadata generated and used by 'git svn'; " -"they *must* be set in the configuration file before any history is imported " -"and these settings should never be changed once they are set." +"With `-d` or `--delete`, the symbolic ref `refs/remotes/<name>/HEAD` is " +"deleted." msgstr "" #. type: Plain text -#: en/git-svn.txt:813 +#: en/git-remote.txt:116 msgid "" -"Additionally, only one of these options can be used per svn-remote section " -"because they affect the 'git-svn-id:' metadata line, except for rewriteRoot " -"and rewriteUUID which can be used together." -msgstr "" - -#. type: Title - -#: en/git-svn.txt:816 -#, no-wrap -msgid "BASIC EXAMPLES" +"With `-a` or `--auto`, the remote is queried to determine its `HEAD`, then " +"the symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., " +"if the remote `HEAD` is pointed at `next`, \"`git remote set-head origin " +"-a`\" will set the symbolic-ref `refs/remotes/origin/HEAD` to " +"`refs/remotes/origin/next`. This will only work if " +"`refs/remotes/origin/next` already exists; if not it must be fetched first." msgstr "" #. type: Plain text -#: en/git-svn.txt:820 +#: en/git-remote.txt:121 msgid "" -"Tracking and contributing to the trunk of a Subversion-managed project " -"(ignoring tags and branches):" +"Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` " +"explicitly. e.g., \"git remote set-head origin master\" will set the " +"symbolic-ref `refs/remotes/origin/HEAD` to " +"`refs/remotes/origin/master`. This will only work if " +"`refs/remotes/origin/master` already exists; if not it must be fetched " +"first." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:838 +#. type: Labeled list +#: en/git-remote.txt:123 #, no-wrap -msgid "" -"# Clone a repo (like git clone):\n" -"\tgit svn clone http://svn.example.com/project/trunk\n" -"# Enter the newly cloned directory:\n" -"\tcd trunk\n" -"# You should be on master branch, double-check with 'git branch'\n" -"\tgit branch\n" -"# Do some work and commit locally to Git:\n" -"\tgit commit ...\n" -"# Something is committed to SVN, rebase your local changes against the\n" -"# latest changes in SVN:\n" -"\tgit svn rebase\n" -"# Now commit your changes (that were committed previously using Git) to " -"SVN,\n" -"# as well as automatically updating your working HEAD:\n" -"\tgit svn dcommit\n" -"# Append svn:ignore settings to the default Git exclude file:\n" -"\tgit svn show-ignore >> .git/info/exclude\n" +msgid "'set-branches'" msgstr "" #. type: Plain text -#: en/git-svn.txt:842 -msgid "" -"Tracking and contributing to an entire Subversion-managed project (complete " -"with a trunk, tags and branches):" -msgstr "" - -#. type: delimited block - -#: en/git-svn.txt:857 -#, no-wrap +#: en/git-remote.txt:128 msgid "" -"# Clone a repo with standard SVN directory layout (like git clone):\n" -"\tgit svn clone http://svn.example.com/project --stdlayout --prefix svn/\n" -"# Or, if the repo uses a non-standard directory layout:\n" -"\tgit svn clone http://svn.example.com/project -T tr -b branch -t tag " -"--prefix svn/\n" -"# View all branches and tags you have cloned:\n" -"\tgit branch -r\n" -"# Create a new branch in SVN\n" -"\tgit svn branch waldo\n" -"# Reset your master to trunk (or any other branch, replacing 'trunk'\n" -"# with the appropriate name):\n" -"\tgit reset --hard svn/trunk\n" -"# You may only dcommit to one branch/tag/trunk at a time. The usage\n" -"# of dcommit/rebase/show-ignore should be the same as above.\n" +"Changes the list of branches tracked by the named remote. This can be used " +"to track a subset of the available remote branches after the initial setup " +"for a remote." msgstr "" #. type: Plain text -#: en/git-svn.txt:865 +#: en/git-remote.txt:131 msgid "" -"The initial 'git svn clone' can be quite time-consuming (especially for " -"large Subversion repositories). If multiple people (or one person with " -"multiple machines) want to use 'git svn' to interact with the same " -"Subversion repository, you can do the initial 'git svn clone' to a " -"repository on a server and have each person clone that repository with 'git " -"clone':" +"The named branches will be interpreted as if specified with the `-t` option " +"on the 'git remote add' command line." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:886 -#, no-wrap +#. type: Plain text +#: en/git-remote.txt:134 msgid "" -"# Do the initial import on a server\n" -"\tssh server \"cd /pub && git svn clone http://svn.example.com/project " -"[options...]\"\n" -"# Clone locally - make sure the refs/remotes/ space matches the server\n" -"\tmkdir project\n" -"\tcd project\n" -"\tgit init\n" -"\tgit remote add origin server:/pub/project\n" -"\tgit config --replace-all remote.origin.fetch " -"'+refs/remotes/*:refs/remotes/*'\n" -"\tgit fetch\n" -"# Prevent fetch/pull from remote Git server in the future,\n" -"# we only want to use git svn for future updates\n" -"\tgit config --remove-section remote.origin\n" -"# Create a local branch from one of the branches just fetched\n" -"\tgit checkout -b master FETCH_HEAD\n" -"# Initialize 'git svn' locally (be sure to use the same URL and\n" -"# --stdlayout/-T/-b/-t/--prefix options as were used on server)\n" -"\tgit svn init http://svn.example.com/project [options...]\n" -"# Pull the latest changes from Subversion\n" -"\tgit svn rebase\n" +"With `--add`, instead of replacing the list of currently tracked branches, " +"adds to that list." msgstr "" -#. type: Title - -#: en/git-svn.txt:889 +#. type: Labeled list +#: en/git-remote.txt:135 #, no-wrap -msgid "REBASE VS. PULL/MERGE" +msgid "'get-url'" msgstr "" #. type: Plain text -#: en/git-svn.txt:895 +#: en/git-remote.txt:139 msgid "" -"Prefer to use 'git svn rebase' or 'git rebase', rather than 'git pull' or " -"'git merge' to synchronize unintegrated commits with a 'git svn' " -"branch. Doing so will keep the history of unintegrated commits linear with " -"respect to the upstream SVN repository and allow the use of the preferred " -"'git svn dcommit' subcommand to push unintegrated commits back into SVN." +"Retrieves the URLs for a remote. Configurations for `insteadOf` and " +"`pushInsteadOf` are expanded here. By default, only the first URL is listed." msgstr "" #. type: Plain text -#: en/git-svn.txt:903 -msgid "" -"Originally, 'git svn' recommended that developers pulled or merged from the " -"'git svn' branch. This was because the author favored `git svn set-tree B` " -"to commit a single head rather than the `git svn set-tree A..B` notation to " -"commit multiple commits. Use of 'git pull' or 'git merge' with `git svn " -"set-tree A..B` will cause non-linear history to be flattened when committing " -"into SVN and this can lead to merge commits unexpectedly reversing previous " -"commits in SVN." -msgstr "" - -#. type: Title - -#: en/git-svn.txt:905 -#, no-wrap -msgid "MERGE TRACKING" +#: en/git-remote.txt:141 +msgid "With `--push`, push URLs are queried rather than fetch URLs." msgstr "" #. type: Plain text -#: en/git-svn.txt:912 -msgid "" -"While 'git svn' can track copy history (including branches and tags) for " -"repositories adopting a standard layout, it cannot yet represent merge " -"history that happened inside git back upstream to SVN users. Therefore it " -"is advised that users keep history as linear as possible inside Git to ease " -"compatibility with SVN (see the CAVEATS section below)." +#: en/git-remote.txt:143 +msgid "With `--all`, all URLs for the remote will be listed." msgstr "" -#. type: Title - -#: en/git-svn.txt:914 +#. type: Labeled list +#: en/git-remote.txt:144 #, no-wrap -msgid "HANDLING OF SVN BRANCHES" +msgid "'set-url'" msgstr "" #. type: Plain text -#: en/git-svn.txt:922 +#: en/git-remote.txt:149 msgid "" -"If 'git svn' is configured to fetch branches (and --follow-branches is in " -"effect), it sometimes creates multiple Git branches for one SVN branch, " -"where the additional branches have names of the form 'branchname@nnn' (with " -"nnn an SVN revision number). These additional branches are created if 'git " -"svn' cannot find a parent commit for the first commit in an SVN branch, to " -"connect the branch to the history of the other branches." +"Changes URLs for the remote. Sets first URL for remote <name> that matches " +"regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> " +"doesn't match any URL, an error occurs and nothing is changed." msgstr "" #. type: Plain text -#: en/git-svn.txt:938 -msgid "" -"Normally, the first commit in an SVN branch consists of a copy " -"operation. 'git svn' will read this commit to get the SVN revision the " -"branch was created from. It will then try to find the Git commit that " -"corresponds to this SVN revision, and use that as the parent of the " -"branch. However, it is possible that there is no suitable Git commit to " -"serve as parent. This will happen, among other reasons, if the SVN branch " -"is a copy of a revision that was not fetched by 'git svn' (e.g. because it " -"is an old revision that was skipped with `--revision`), or if in SVN a " -"directory was copied that is not tracked by 'git svn' (such as a branch that " -"is not tracked at all, or a subdirectory of a tracked branch). In these " -"cases, 'git svn' will still create a Git branch, but instead of using an " -"existing Git commit as the parent of the branch, it will read the SVN " -"history of the directory the branch was copied from and create appropriate " -"Git commits. This is indicated by the message \"Initializing parent: " -"<branchname>\"." +#: en/git-remote.txt:151 +msgid "With `--push`, push URLs are manipulated instead of fetch URLs." msgstr "" #. type: Plain text -#: en/git-svn.txt:945 -msgid "" -"Additionally, it will create a special branch named " -"'<branchname>@<SVN-Revision>', where <SVN-Revision> is the SVN revision " -"number the branch was copied from. This branch will point to the newly " -"created parent commit of the branch. If in SVN the branch was deleted and " -"later recreated from a different version, there will be multiple such " -"branches with an '@'." +#: en/git-remote.txt:153 +msgid "With `--add`, instead of changing existing URLs, new URL is added." msgstr "" #. type: Plain text -#: en/git-svn.txt:948 +#: en/git-remote.txt:157 msgid "" -"Note that this may mean that multiple Git commits are created for a single " -"SVN revision." +"With `--delete`, instead of changing existing URLs, all URLs matching regex " +"<url> are deleted for remote <name>. Trying to delete all non-push URLs is " +"an error." msgstr "" #. type: Plain text -#: en/git-svn.txt:958 +#: en/git-remote.txt:164 msgid "" -"An example: in an SVN repository with a standard trunk/tags/branches layout, " -"a directory trunk/sub is created in r.100. In r.200, trunk/sub is branched " -"by copying it to branches/. 'git svn clone -s' will then create a branch " -"'sub'. It will also create new Git commits for r.100 through r.199 and use " -"these as the history of branch 'sub'. Thus there will be two Git commits for " -"each revision from r.100 to r.199 (one containing trunk/, one containing " -"trunk/sub/). Finally, it will create a branch 'sub@200' pointing to the new " -"parent commit of branch 'sub' (i.e. the commit for r.200 and trunk/sub/)." +"Note that the push URL and the fetch URL, even though they can be set " +"differently, must still refer to the same place. What you pushed to the " +"push URL should be what you would see if you immediately fetched from the " +"fetch URL. If you are trying to fetch from one place (e.g. your upstream) " +"and push to another (e.g. your publishing repository), use two separate " +"remotes." msgstr "" -#. type: Plain text -#: en/git-svn.txt:968 -msgid "" -"For the sake of simplicity and interoperating with Subversion, it is " -"recommended that all 'git svn' users clone, fetch and dcommit directly from " -"the SVN server, and avoid all 'git clone'/'pull'/'merge'/'push' operations " -"between Git repositories and branches. The recommended method of exchanging " -"code between Git branches and users is 'git format-patch' and 'git am', or " -"just 'dcommit'ing to the SVN repository." +#. type: Labeled list +#: en/git-remote.txt:166 +#, no-wrap +msgid "'show'" msgstr "" #. type: Plain text -#: en/git-svn.txt:974 -msgid "" -"Running 'git merge' or 'git pull' is NOT recommended on a branch you plan to " -"'dcommit' from because Subversion users cannot see any merges you've made. " -"Furthermore, if you merge or pull from a Git branch that is a mirror of an " -"SVN branch, 'dcommit' may commit to the wrong branch." +#: en/git-remote.txt:169 +msgid "Gives some information about the remote <name>." msgstr "" #. type: Plain text -#: en/git-svn.txt:977 +#: en/git-remote.txt:172 msgid "" -"If you do merge, note the following rule: 'git svn dcommit' will attempt to " -"commit on top of the SVN commit named in" +"With `-n` option, the remote heads are not queried first with `git ls-remote " +"<name>`; cached information is used instead." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:979 +#. type: Labeled list +#: en/git-remote.txt:173 #, no-wrap -msgid "git log --grep=^git-svn-id: --first-parent -1\n" +msgid "'prune'" msgstr "" #. type: Plain text -#: en/git-svn.txt:984 +#: en/git-remote.txt:179 msgid "" -"You 'must' therefore ensure that the most recent commit of the branch you " -"want to dcommit to is the 'first' parent of the merge. Chaos will ensue " -"otherwise, especially if the first parent is an older commit on the same SVN " -"branch." +"Deletes all stale remote-tracking branches under <name>. These stale " +"branches have already been removed from the remote repository referenced by " +"<name>, but are still locally available in \"remotes/<name>\"." msgstr "" #. type: Plain text -#: en/git-svn.txt:989 +#: en/git-remote.txt:182 msgid "" -"'git clone' does not clone branches under the refs/remotes/ hierarchy or any " -"'git svn' metadata, or config. So repositories created and managed with " -"using 'git svn' should use 'rsync' for cloning, if cloning is to be done at " -"all." +"With `--dry-run` option, report what branches will be pruned, but do not " +"actually prune them." msgstr "" -#. type: Plain text -#: en/git-svn.txt:994 -msgid "" -"Since 'dcommit' uses rebase internally, any Git branches you 'git push' to " -"before 'dcommit' on will require forcing an overwrite of the existing ref on " -"the remote repository. This is generally considered bad practice, see the " -"linkgit:git-push[1] documentation for details." -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:999 -msgid "" -"Do not use the --amend option of linkgit:git-commit[1] on a change you've " -"already dcommitted. It is considered bad practice to --amend commits you've " -"already pushed to a remote repository for other users, and dcommit with SVN " -"is analogous to that." -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:1014 -msgid "" -"When cloning an SVN repository, if none of the options for describing the " -"repository layout is used (--trunk, --tags, --branches, --stdlayout), 'git " -"svn clone' will create a Git repository with completely linear history, " -"where branches and tags appear as separate directories in the working copy. " -"While this is the easiest way to get a copy of a complete repository, for " -"projects with many branches it will lead to a working copy many times larger " -"than just the trunk. Thus for projects using the standard directory " -"structure (trunk/branches/tags), it is recommended to clone with option " -"`--stdlayout`. If the project uses a non-standard structure, and/or if " -"branches and tags are not required, it is easiest to only clone one " -"directory (typically trunk), without giving any repository layout options. " -"If the full history with branches and tags is required, the options " -"`--trunk` / `--branches` / `--tags` must be used." -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:1021 -msgid "" -"When using multiple --branches or --tags, 'git svn' does not automatically " -"handle name collisions (for example, if two branches from different paths " -"have the same name, or if a branch and a tag have the same name). In these " -"cases, use 'init' to set up your Git repository then, before your first " -"'fetch', edit the $GIT_DIR/config file so that the branches and tags are " -"associated with different name spaces. For example:" -msgstr "" - -#. type: Plain text -#: en/git-svn.txt:1024 +#. type: Labeled list +#: en/git-remote.txt:183 #, no-wrap -msgid "" -"\tbranches = stable/*:refs/remotes/svn/stable/*\n" -"\tbranches = debug/*:refs/remotes/svn/debug/*\n" +msgid "'update'" msgstr "" #. type: Plain text -#: en/git-svn.txt:1030 +#: en/git-remote.txt:191 msgid "" -"We ignore all SVN properties except svn:executable. Any unhandled " -"properties are logged to $GIT_DIR/svn/<refname>/unhandled.log" +"Fetch updates for a named set of remotes in the repository as defined by " +"remotes.<group>. If a named group is not specified on the command line, the " +"configuration parameter remotes.default will be used; if remotes.default is " +"not defined, all remotes which do not have the configuration parameter " +"remote.<name>.skipDefaultUpdate set to true will be updated. (See " +"linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-svn.txt:1037 -msgid "" -"Renamed and copied directories are not detected by Git and hence not tracked " -"when committing to SVN. I do not plan on adding support for this as it's " -"quite difficult and time-consuming to get working for all the possible " -"corner cases (Git doesn't do it, either). Committing renamed and copied " -"files is fully supported if they're similar enough for Git to detect them." +#: en/git-remote.txt:193 +msgid "With `--prune` option, prune all the remotes that are updated." msgstr "" #. type: Plain text -#: en/git-svn.txt:1043 +#: en/git-remote.txt:201 msgid "" -"In SVN, it is possible (though discouraged) to commit changes to a tag " -"(because a tag is just a directory copy, thus technically the same as a " -"branch). When cloning an SVN repository, 'git svn' cannot know if such a " -"commit to a tag will happen in the future. Thus it acts conservatively and " -"imports all SVN tags as branches, prefixing the tag name with 'tags/'." +"The remote configuration is achieved using the `remote.origin.url` and " +"`remote.origin.fetch` configuration variables. (See linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/git-svn.txt:1054 -msgid "" -"'git svn' stores [svn-remote] configuration information in the repository " -"$GIT_DIR/config file. It is similar the core Git [remote] sections except " -"'fetch' keys do not accept glob arguments; but they are instead handled by " -"the 'branches' and 'tags' keys. Since some SVN repositories are oddly " -"configured with multiple projects glob expansions such those listed below " -"are allowed:" +#: en/git-remote.txt:206 +msgid "Add a new remote, fetch, and check out a branch from it" msgstr "" #. type: delimited block - -#: en/git-svn.txt:1063 +#: en/git-remote.txt:231 #, no-wrap msgid "" -"[svn-remote \"project-a\"]\n" -"\turl = http://server.org/svn\n" -"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" -"\tbranches = branches/*/project-a:refs/remotes/project-a/branches/*\n" -"\tbranches = branches/release_*:refs/remotes/project-a/branches/release_*\n" -"\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" -"\ttags = tags/*/project-a:refs/remotes/project-a/tags/*\n" +"$ git remote\n" +"origin\n" +"$ git branch -r\n" +" origin/HEAD -> origin/master\n" +" origin/master\n" +"$ git remote add staging git://git.kernel.org/.../gregkh/staging.git\n" +"$ git remote\n" +"origin\n" +"staging\n" +"$ git fetch staging\n" +"...\n" +"From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n" +" * [new branch] master -> staging/master\n" +" * [new branch] staging-linus -> staging/staging-linus\n" +" * [new branch] staging-next -> staging/staging-next\n" +"$ git branch -r\n" +" origin/HEAD -> origin/master\n" +" origin/master\n" +" staging/master\n" +" staging/staging-linus\n" +" staging/staging-next\n" +"$ git checkout -b staging staging/master\n" +"...\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:1071 +#: en/git-remote.txt:234 +msgid "Imitate 'git clone' but track only selected branches" +msgstr "" + +#. type: delimited block - +#: en/git-remote.txt:241 #, no-wrap msgid "" -"Keep in mind that the '\\*' (asterisk) wildcard of the local ref\n" -"(right of the ':') *must* be the farthest right path component;\n" -"however the remote wildcard may be anywhere as long as it's an\n" -"independent path component (surrounded by '/' or EOL). This\n" -"type of configuration is not automatically created by 'init' and\n" -"should be manually entered with a text-editor or using 'git config'.\n" +"$ mkdir project.git\n" +"$ cd project.git\n" +"$ git init\n" +"$ git remote add -f -t master -m master origin git://example.com/git.git/\n" +"$ git merge origin\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:1073 -msgid "Also note that only one asterisk is allowed per word. For example:" +#: en/git-remote.txt:249 +msgid "linkgit:git-fetch[1] linkgit:git-branch[1] linkgit:git-config[1]" msgstr "" -#. type: Plain text -#: en/git-svn.txt:1075 +#. type: Title = +#: en/git-repack.txt:2 #, no-wrap -msgid "\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" +msgid "git-repack(1)" msgstr "" #. type: Plain text -#: en/git-svn.txt:1077 -msgid "will match branches 'release', 'rese', 're123se', however" +#: en/git-repack.txt:7 +msgid "git-repack - Pack unpacked objects in a repository" msgstr "" #. type: Plain text -#: en/git-svn.txt:1079 +#: en/git-repack.txt:13 #, no-wrap -msgid "\tbranches = branches/re*s*e:refs/remotes/project-a/branches/*\n" +msgid "" +"'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] " +"[--depth=<n>]\n" msgstr "" #. type: Plain text -#: en/git-svn.txt:1081 -msgid "will produce an error." +#: en/git-repack.txt:20 +msgid "" +"This command is used to combine all objects that do not currently reside in " +"a \"pack\", into a pack. It can also be used to re-organize existing packs " +"into a single, more efficient pack." msgstr "" #. type: Plain text -#: en/git-svn.txt:1084 +#: en/git-repack.txt:39 msgid "" -"It is also possible to fetch a subset of branches or tags by using a " -"comma-separated list of names within braces. For example:" +"Instead of incrementally packing the unpacked objects, pack everything " +"referenced into a single pack. Especially useful when packing a repository " +"that is used for private development. Use with `-d`. This will clean up the " +"objects that `git prune` leaves behind, but `git fsck --full --dangling` " +"shows as dangling." msgstr "" -#. type: delimited block - -#: en/git-svn.txt:1091 -#, no-wrap +#. type: Plain text +#: en/git-repack.txt:43 msgid "" -"[svn-remote \"huge-project\"]\n" -"\turl = http://server.org/svn\n" -"\tfetch = trunk/src:refs/remotes/trunk\n" -"\tbranches = branches/{red,green}/src:refs/remotes/project-a/branches/*\n" -"\ttags = tags/{1.0,2.0}/src:refs/remotes/project-a/tags/*\n" +"Note that users fetching over dumb protocols will have to fetch the whole " +"new pack in order to get any contained object, no matter how many other " +"objects in that pack they already have locally." msgstr "" #. type: Plain text -#: en/git-svn.txt:1094 -msgid "Multiple fetch, branches, and tags keys are supported:" -msgstr "" - -#. type: delimited block - -#: en/git-svn.txt:1103 -#, no-wrap +#: en/git-repack.txt:54 msgid "" -"[svn-remote \"messy-repo\"]\n" -"\turl = http://server.org/svn\n" -"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" -"\tfetch = " -"branches/demos/june-project-a-demo:refs/remotes/project-a/demos/june-demo\n" -"\tbranches = branches/server/*:refs/remotes/project-a/branches/*\n" -"\tbranches = branches/demos/2011/*:refs/remotes/project-a/2011-demos/*\n" -"\ttags = tags/server/*:refs/remotes/project-a/tags/*\n" +"Same as `-a`, unless `-d` is used. Then any unreachable objects in a " +"previous pack become loose, unpacked objects, instead of being left in the " +"old pack. Unreachable objects are never intentionally added to a pack, even " +"when repacking. This option prevents unreachable objects from being " +"immediately deleted by way of being left in the old pack and then removed. " +"Instead, the loose unreachable objects will be pruned according to normal " +"expiry rules with the next 'git gc' invocation. See linkgit:git-gc[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:1107 +#: en/git-repack.txt:60 msgid "" -"Creating a branch in such a configuration requires disambiguating which " -"location to use using the -d or --destination flag:" -msgstr "" - -#. type: delimited block - -#: en/git-svn.txt:1110 -#, no-wrap -msgid "$ git svn branch -d branches/server release-2-3-0\n" +"After packing, if the newly created packs make some existing packs " +"redundant, remove the redundant packs. Also run 'git prune-packed' to " +"remove redundant loose object files." msgstr "" #. type: Plain text -#: en/git-svn.txt:1116 +#: en/git-repack.txt:64 msgid "" -"Note that git-svn keeps track of the highest revision in which a branch or " -"tag has appeared. If the subset of branches or tags is changed after " -"fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove (or " -"reset) branches-maxRev and/or tags-maxRev as appropriate." +"Pass the `--local` option to 'git pack-objects'. See " +"linkgit:git-pack-objects[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:1125 -#, no-wrap +#: en/git-repack.txt:68 msgid "" -"$GIT_DIR/svn/\\*\\*/.rev_map.*::\n" -"\tMapping between Subversion revision numbers and Git commit\n" -"\tnames. In a repository where the noMetadata option is not set,\n" -"\tthis can be rebuilt from the git-svn-id: lines that are at the\n" -"\tend of every commit (see the 'svn.noMetadata' section above for\n" -"\tdetails).\n" +"Pass the `--no-reuse-delta` option to `git-pack-objects`, see " +"linkgit:git-pack-objects[1]." msgstr "" #. type: Plain text -#: en/git-svn.txt:1129 +#: en/git-repack.txt:72 msgid "" -"'git svn fetch' and 'git svn rebase' automatically update the rev_map if it " -"is missing or not up to date. 'git svn reset' automatically rewinds it." -msgstr "" - -#. type: Labeled list -#: en/git-svn.txt:1133 en/cmds-mainporcelain.txt:79 -#, no-wrap -msgid "linkgit:git-rebase[1]" -msgstr "" - -#. type: Title = -#: en/git-symbolic-ref.txt:2 -#, no-wrap -msgid "git-symbolic-ref(1)" +"Pass the `--no-reuse-object` option to `git-pack-objects`, see " +"linkgit:git-pack-objects[1]." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:7 -msgid "git-symbolic-ref - Read, modify and delete symbolic refs" +#: en/git-repack.txt:76 +msgid "Pass the `-q` option to 'git pack-objects'. See linkgit:git-pack-objects[1]." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:14 -#, no-wrap +#: en/git-repack.txt:83 msgid "" -"'git symbolic-ref' [-m <reason>] <name> <ref>\n" -"'git symbolic-ref' [-q] [--short] <name>\n" -"'git symbolic-ref' --delete [-q] <name>\n" +"Do not update the server information with 'git update-server-info'. This " +"option skips updating local catalog files needed to publish this repository " +"(or a direct copy of it) over HTTP or FTP. See " +"linkgit:git-update-server-info[1]." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:21 +#: en/git-repack.txt:94 msgid "" -"Given one argument, reads which branch head the given symbolic ref refers to " -"and outputs its path, relative to the `.git/` directory. Typically you " -"would give `HEAD` as the <name> argument to see which branch your working " -"tree is on." +"These two options affect how the objects contained in the pack are stored " +"using delta compression. The objects are first internally sorted by type, " +"size and optionally names and compared against the other objects within " +"`--window` to see if using delta compression saves space. `--depth` limits " +"the maximum delta depth; making it too deep affects the performance on the " +"unpacker side, because delta data needs to be applied that many times to get " +"to the necessary object. The default value for --window is 10 and --depth " +"is 50." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:24 +#: en/git-repack.txt:107 msgid "" -"Given two arguments, creates or updates a symbolic ref <name> to point at " -"the given branch <ref>." +"This option provides an additional limit on top of `--window`; the window " +"size will dynamically scale down so as to not take up more than '<n>' bytes " +"in memory. This is useful in repositories with a mix of large and small " +"objects to not run out of memory with a large window, but still be able to " +"take advantage of the large window for the smaller objects. The size can be " +"suffixed with \"k\", \"m\", or \"g\". `--window-memory=0` makes memory " +"usage unlimited. The default is taken from the `pack.windowMemory` " +"configuration variable. Note that the actual memory usage will be the limit " +"multiplied by the number of threads used by linkgit:git-pack-objects[1]." msgstr "" -#. type: Plain text -#: en/git-symbolic-ref.txt:27 -msgid "Given `--delete` and an additional argument, deletes the given symbolic ref." +#. type: Labeled list +#: en/git-repack.txt:117 +#, no-wrap +msgid "--write-bitmap-index" msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:31 +#: en/git-repack.txt:123 msgid "" -"A symbolic ref is a regular file that stores a string that begins with `ref: " -"refs/`. For example, your `.git/HEAD` is a regular file whose contents is " -"`ref: refs/heads/master`." +"Write a reachability bitmap index as part of the repack. This only makes " +"sense when used with `-a` or `-A`, as the bitmaps must be able to refer to " +"all reachable objects. This option overrides the setting of " +"`repack.writeBitmaps`. This option has no effect if multiple packfiles are " +"created." msgstr "" -#. type: Plain text -#: en/git-symbolic-ref.txt:38 -msgid "Delete the symbolic ref <name>." +#. type: Labeled list +#: en/git-repack.txt:124 +#, no-wrap +msgid "--pack-kept-objects" msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:44 +#: en/git-repack.txt:132 msgid "" -"Do not issue an error message if the <name> is not a symbolic ref but a " -"detached HEAD; instead exit with non-zero status silently." +"Include objects in `.keep` files when repacking. Note that we still do not " +"delete `.keep` packs after `pack-objects` finishes. This means that we may " +"duplicate objects, but this makes the option safe to use when there are " +"concurrent pushes or fetches. This option is generally only useful if you " +"are writing bitmaps with `-b` or `repack.writeBitmaps`, as it ensures that " +"the bitmapped packfile has the necessary objects." +msgstr "" + +#. type: Labeled list +#: en/git-repack.txt:133 +#, no-wrap +msgid "--unpack-unreachable=<when>" msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:48 +#: en/git-repack.txt:138 msgid "" -"When showing the value of <name> as a symbolic ref, try to shorten the " -"value, e.g. from `refs/heads/master` to `master`." +"When loosening unreachable objects, do not bother loosening any objects " +"older than `<when>`. This can be used to optimize out the write of any " +"objects that would be immediately pruned by a follow-up `git prune`." +msgstr "" + +#. type: Labeled list +#: en/git-repack.txt:140 +#, no-wrap +msgid "--keep-unreachable" msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:52 +#: en/git-repack.txt:145 msgid "" -"Update the reflog for <name> with <reason>. This is valid only when " -"creating or updating a symbolic ref." +"When used with `-ad`, any unreachable objects from existing packs will be " +"appended to the end of the packfile instead of being removed. In addition, " +"any unreachable loose objects will be packed (and their loose counterparts " +"removed)." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:62 +#: en/git-repack.txt:158 msgid "" -"In the past, `.git/HEAD` was a symbolic link pointing at " -"`refs/heads/master`. When we wanted to switch to another branch, we did `ln " -"-sf refs/heads/newbranch .git/HEAD`, and when we wanted to find out which " -"branch we are on, we did `readlink .git/HEAD`. But symbolic links are not " -"entirely portable, so they are now deprecated and symbolic refs (as " -"described above) are used by default." +"By default, the command passes `--delta-base-offset` option to 'git " +"pack-objects'; this typically results in slightly smaller packs, but the " +"generated packs are incompatible with versions of Git older than version " +"1.4.4. If you need to share your repository with such ancient Git versions, " +"either directly or via the dumb http protocol, then you need to set the " +"configuration variable `repack.UseDeltaBaseOffset` to \"false\" and " +"repack. Access from old Git versions over the native protocol is unaffected " +"by this option as the conversion is performed on the fly as needed in that " +"case." msgstr "" #. type: Plain text -#: en/git-symbolic-ref.txt:66 -msgid "" -"'git symbolic-ref' will exit with status 0 if the contents of the symbolic " -"ref were printed correctly, with status 1 if the requested name is not a " -"symbolic ref, or 128 if another error occurs." +#: en/git-repack.txt:163 +msgid "linkgit:git-pack-objects[1] linkgit:git-prune-packed[1]" msgstr "" #. type: Title = -#: en/git-tag.txt:2 +#: en/git-replace.txt:2 #, no-wrap -msgid "git-tag(1)" +msgid "git-replace(1)" msgstr "" #. type: Plain text -#: en/git-tag.txt:7 -msgid "git-tag - Create, list, delete or verify a tag object signed with GPG" +#: en/git-replace.txt:7 +msgid "git-replace - Create, list, delete refs to replace objects" msgstr "" #. type: Plain text -#: en/git-tag.txt:19 +#: en/git-replace.txt:16 #, no-wrap msgid "" -"'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]\n" -"\t<tagname> [<commit> | <object>]\n" -"'git tag' -d <tagname>...\n" -"'git tag' [-n[<num>]] -l [--contains <commit>] [--points-at <object>]\n" -"\t[--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>]\n" -"\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]\n" -"'git tag' -v [--format=<format>] <tagname>...\n" -msgstr "" - -#. type: Plain text -#: en/git-tag.txt:25 -msgid "" -"Add a tag reference in `refs/tags/`, unless `-d/-l/-v` is given to delete, " -"list or verify tags." +"'git replace' [-f] <object> <replacement>\n" +"'git replace' [-f] --edit <object>\n" +"'git replace' [-f] --graft <commit> [<parent>...]\n" +"'git replace' -d <object>...\n" +"'git replace' [--format=<format>] [-l [<pattern>]]\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:27 -msgid "Unless `-f` is given, the named tag must not yet exist." +#: en/git-replace.txt:20 +msgid "Adds a 'replace' reference in `refs/replace/` namespace." msgstr "" #. type: Plain text -#: en/git-tag.txt:32 +#: en/git-replace.txt:24 msgid "" -"If one of `-a`, `-s`, or `-u <keyid>` is passed, the command creates a 'tag' " -"object, and requires a tag message. Unless `-m <msg>` or `-F <file>` is " -"given, an editor is started for the user to type in the tag message." +"The name of the 'replace' reference is the SHA-1 of the object that is " +"replaced. The content of the 'replace' reference is the SHA-1 of the " +"replacement object." msgstr "" #. type: Plain text -#: en/git-tag.txt:35 +#: en/git-replace.txt:27 msgid "" -"If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <keyid>` are " -"absent, `-a` is implied." +"The replaced object and the replacement object must be of the same type. " +"This restriction can be bypassed using `-f`." msgstr "" #. type: Plain text -#: en/git-tag.txt:38 -msgid "" -"Otherwise just a tag reference for the SHA-1 object name of the commit " -"object is created (i.e. a lightweight tag)." +#: en/git-replace.txt:29 +msgid "Unless `-f` is given, the 'replace' reference must not yet exist." msgstr "" #. type: Plain text -#: en/git-tag.txt:44 +#: en/git-replace.txt:32 msgid "" -"A GnuPG signed tag object will be created when `-s` or `-u <keyid>` is " -"used. When `-u <keyid>` is not used, the committer identity for the current " -"user is used to find the GnuPG key for signing. \tThe configuration variable " -"`gpg.program` is used to specify custom GnuPG binary." +"There is no other restriction on the replaced and replacement objects. " +"Merge commits can be replaced by non-merge commits and vice versa." msgstr "" #. type: Plain text -#: en/git-tag.txt:50 +#: en/git-replace.txt:36 msgid "" -"Tag objects (created with `-a`, `-s`, or `-u`) are called \"annotated\" " -"tags; they contain a creation date, the tagger name and e-mail, a tagging " -"message, and an optional GnuPG signature. Whereas a \"lightweight\" tag is " -"simply a name for an object (usually a commit object)." +"Replacement references will be used by default by all Git commands except " +"those doing reachability traversal (prune, pack transfer and fsck)." msgstr "" #. type: Plain text -#: en/git-tag.txt:55 +#: en/git-replace.txt:39 msgid "" -"Annotated tags are meant for release while lightweight tags are meant for " -"private or temporary object labels. For this reason, some git commands for " -"naming objects (like `git describe`) will ignore lightweight tags by " -"default." +"It is possible to disable use of replacement references for any command " +"using the `--no-replace-objects` option just after 'git'." msgstr "" #. type: Plain text -#: en/git-tag.txt:62 -msgid "Make an unsigned, annotated tag object" +#: en/git-replace.txt:41 +msgid "For example if commit 'foo' has been replaced by commit 'bar':" msgstr "" -#. type: Labeled list -#: en/git-tag.txt:64 +#. type: delimited block - +#: en/git-replace.txt:44 #, no-wrap -msgid "--sign" +msgid "$ git --no-replace-objects cat-file commit foo\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:66 -msgid "Make a GPG-signed tag, using the default e-mail address's key." -msgstr "" - -#. type: Labeled list -#: en/git-tag.txt:67 -#, no-wrap -msgid "-u <keyid>" +#: en/git-replace.txt:47 +msgid "shows information about commit 'foo', while:" msgstr "" -#. type: Labeled list -#: en/git-tag.txt:68 +#. type: delimited block - +#: en/git-replace.txt:50 #, no-wrap -msgid "--local-user=<keyid>" +msgid "$ git cat-file commit foo\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:70 -msgid "Make a GPG-signed tag, using the given key." +#: en/git-replace.txt:53 +msgid "shows information about commit 'bar'." msgstr "" #. type: Plain text -#: en/git-tag.txt:74 -msgid "Replace an existing tag with the given name (instead of failing)" +#: en/git-replace.txt:56 +msgid "" +"The `GIT_NO_REPLACE_OBJECTS` environment variable can be set to achieve the " +"same effect as the `--no-replace-objects` option." msgstr "" #. type: Plain text -#: en/git-tag.txt:78 -msgid "Delete existing tags with the given names." +#: en/git-replace.txt:63 +msgid "" +"If an existing replace ref for the same object exists, it will be " +"overwritten (instead of failing)." msgstr "" #. type: Plain text -#: en/git-tag.txt:82 -msgid "Verify the GPG signature of the given tag names." +#: en/git-replace.txt:67 +msgid "Delete existing replace refs for the given objects." msgstr "" #. type: Labeled list -#: en/git-tag.txt:83 +#: en/git-replace.txt:68 #, no-wrap -msgid "-n<num>" +msgid "--edit <object>" msgstr "" #. type: Plain text -#: en/git-tag.txt:89 +#: en/git-replace.txt:76 msgid "" -"<num> specifies how many lines from the annotation, if any, are printed when " -"using -l. The default is not to print any annotation lines. If no number " -"is given to `-n`, only the first line is printed. If the tag is not " -"annotated, the commit message is displayed instead." +"Edit an object's content interactively. The existing content for <object> is " +"pretty-printed into a temporary file, an editor is launched on the file, and " +"the result is parsed to create a new object of the same type as <object>. A " +"replacement ref is then created to replace <object> with the newly created " +"object. See linkgit:git-var[1] for details about how the editor will be " +"chosen." msgstr "" #. type: Plain text -#: en/git-tag.txt:97 +#: en/git-replace.txt:84 msgid "" -"List tags with names that match the given pattern (or all if no pattern is " -"given). Running \"git tag\" without arguments also lists all tags. The " -"pattern is a shell wildcard (i.e., matched using fnmatch(3)). Multiple " -"patterns may be given; if any of them matches, the tag is shown." +"When editing, provide the raw object contents rather than pretty-printed " +"ones. Currently this only affects trees, which will be shown in their binary " +"form. This is harder to work with, but can help when repairing a tree that " +"is so corrupted it cannot be pretty-printed. Note that you may need to " +"configure your editor to cleanly read and write binary data." +msgstr "" + +#. type: Labeled list +#: en/git-replace.txt:85 +#, no-wrap +msgid "--graft <commit> [<parent>...]" msgstr "" #. type: Plain text -#: en/git-tag.txt:110 +#: en/git-replace.txt:93 msgid "" -"Sort based on the key given. Prefix `-` to sort in descending order of the " -"value. You may use the --sort=<key> option multiple times, in which case the " -"last key becomes the primary key. Also supports \"version:refname\" or " -"\"v:refname\" (tag names are treated as versions). The \"version:refname\" " -"sort order can also be affected by the \"versionsort.suffix\" configuration " -"variable. The keys supported are the same as those in `git for-each-ref`. " -"Sort order defaults to the value configured for the `tag.sort` variable if " -"it exists, or lexicographic order otherwise. See linkgit:git-config[1]." +"Create a graft commit. A new commit is created with the same content as " +"<commit> except that its parents will be [<parent>...] instead of <commit>'s " +"parents. A replacement ref is then created to replace <commit> with the " +"newly created commit. See contrib/convert-grafts-to-replace-refs.sh for an " +"example script based on this option that can convert grafts to replace refs." +msgstr "" + +#. type: Labeled list +#: en/git-replace.txt:94 en/git-tag.txt:90 +#, no-wrap +msgid "-l <pattern>" +msgstr "" + +#. type: Labeled list +#: en/git-replace.txt:95 en/git-tag.txt:91 +#, no-wrap +msgid "--list <pattern>" msgstr "" #. type: Plain text -#: en/git-tag.txt:114 -msgid "Sorting and filtering tags are case insensitive." +#: en/git-replace.txt:100 +msgid "" +"List replace refs for objects that match the given pattern (or all if no " +"pattern is given). Typing \"git replace\" without arguments, also lists all " +"replace refs." +msgstr "" + +#. type: Labeled list +#: en/git-replace.txt:101 en/pretty-options.txt:2 +#, no-wrap +msgid "--format=<format>" msgstr "" #. type: Plain text -#: en/git-tag.txt:120 +#: en/git-replace.txt:105 msgid "" -"Display tag listing in columns. See configuration variable column.tag for " -"option syntax.`--column` and `--no-column` without options are equivalent to " -"'always' and 'never' respectively." +"When listing, use the specified <format>, which can be one of 'short', " +"'medium' and 'long'. When omitted, the format defaults to 'short'." +msgstr "" + +#. type: Title - +#: en/git-replace.txt:107 +#, no-wrap +msgid "FORMATS" msgstr "" #. type: Plain text -#: en/git-tag.txt:122 -msgid "This option is only applicable when listing tags without annotation lines." +#: en/git-replace.txt:110 +msgid "The following format are available:" msgstr "" #. type: Plain text -#: en/git-tag.txt:126 -msgid "Only list tags which contain the specified commit (HEAD if not specified)." +#: en/git-replace.txt:112 +msgid "'short':" msgstr "" #. type: Plain text -#: en/git-tag.txt:129 -msgid "Only list tags of the given object." +#: en/git-replace.txt:113 +msgid "<replaced sha1>" msgstr "" #. type: Plain text -#: en/git-tag.txt:137 -msgid "" -"Use the given tag message (instead of prompting). If multiple `-m` options " -"are given, their values are concatenated as separate paragraphs. Implies " -"`-a` if none of `-a`, `-s`, or `-u <keyid>` is given." +#: en/git-replace.txt:114 +msgid "'medium':" msgstr "" #. type: Plain text -#: en/git-tag.txt:144 -msgid "" -"Take the tag message from the given file. Use '-' to read the message from " -"the standard input. Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is " -"given." +#: en/git-replace.txt:115 +msgid "<replaced sha1> -> <replacement sha1>" msgstr "" #. type: Plain text -#: en/git-tag.txt:151 -msgid "" -"This option sets how the tag message is cleaned up. The '<mode>' can be one " -"of 'verbatim', 'whitespace' and 'strip'. The 'strip' mode is default. The " -"'verbatim' mode does not change message at all, 'whitespace' removes just " -"leading/trailing whitespace lines and 'strip' removes both whitespace and " -"commentary." +#: en/git-replace.txt:116 +msgid "'long':" msgstr "" #. type: Plain text -#: en/git-tag.txt:158 -msgid "" -"Create a reflog for the tag. To globally enable reflogs for tags, see " -"`core.logAllRefUpdates` in linkgit:git-config[1]. The negated form " -"`--no-create-reflog` only overrides an earlier `--create-reflog`, but " -"currently does not negate the setting of `core.logallrefupdates`." +#: en/git-replace.txt:117 +msgid "<replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)" msgstr "" -#. type: Labeled list -#: en/git-tag.txt:159 +#. type: Title - +#: en/git-replace.txt:119 #, no-wrap -msgid "<tagname>" +msgid "CREATING REPLACEMENT OBJECTS" msgstr "" #. type: Plain text -#: en/git-tag.txt:164 +#: en/git-replace.txt:126 msgid "" -"The name of the tag to create, delete, or describe. The new tag name must " -"pass all checks defined by linkgit:git-check-ref-format[1]. Some of these " -"checks may restrict the characters allowed in a tag name." +"linkgit:git-filter-branch[1], linkgit:git-hash-object[1] and " +"linkgit:git-rebase[1], among other git commands, can be used to create " +"replacement objects from existing objects. The `--edit` option can also be " +"used with 'git replace' to create a replacement object by editing an " +"existing object." msgstr "" #. type: Plain text -#: en/git-tag.txt:169 +#: en/git-replace.txt:132 msgid "" -"The object that the new tag will refer to, usually a commit. Defaults to " -"HEAD." +"If you want to replace many blobs, trees or commits that are part of a " +"string of commits, you may just want to create a replacement string of " +"commits and then only replace the commit at the tip of the target string of " +"commits with the commit at the tip of the replacement string of commits." msgstr "" #. type: Plain text -#: en/git-tag.txt:175 +#: en/git-replace.txt:139 msgid "" -"A string that interpolates `%(fieldname)` from the object pointed at by a " -"ref being shown. The format is the same as that of " -"linkgit:git-for-each-ref[1]. When unspecified, defaults to " -"`%(refname:strip=2)`." -msgstr "" - -#. type: Labeled list -#: en/git-tag.txt:176 -#, no-wrap -msgid "--[no-]merged [<commit>]" +"Comparing blobs or trees that have been replaced with those that replace " +"them will not work properly. And using `git reset --hard` to go back to a " +"replaced commit will move the branch to the replacement commit instead of " +"the replaced commit." msgstr "" #. type: Plain text -#: en/git-tag.txt:180 +#: en/git-replace.txt:142 msgid "" -"Only list tags whose tips are reachable, or not reachable if `--no-merged` " -"is used, from the specified commit (`HEAD` if not specified)." +"There may be other problems when using 'git rev-list' related to pending " +"objects." msgstr "" #. type: Plain text -#: en/git-tag.txt:187 -msgid "" -"By default, 'git tag' in sign-with-default mode (-s) will use your committer " -"identity (of the form `Your Name <your@email.address>`) to find a key. If " -"you want to use a different default key, you can specify it in the " -"repository configuration as follows:" -msgstr "" - -#. type: delimited block - -#: en/git-tag.txt:191 -#, no-wrap +#: en/git-replace.txt:153 msgid "" -"[user]\n" -" signingKey = <gpg-keyid>\n" +"linkgit:git-hash-object[1] linkgit:git-filter-branch[1] " +"linkgit:git-rebase[1] linkgit:git-tag[1] linkgit:git-branch[1] " +"linkgit:git-commit[1] linkgit:git-var[1] linkgit:git[1]" msgstr "" -#. type: Title ~ -#: en/git-tag.txt:198 +#. type: Title = +#: en/git-request-pull.txt:2 #, no-wrap -msgid "On Re-tagging" +msgid "git-request-pull(1)" msgstr "" #. type: Plain text -#: en/git-tag.txt:202 -msgid "What should you do when you tag a wrong commit and you would want to re-tag?" +#: en/git-request-pull.txt:7 +msgid "git-request-pull - Generates a summary of pending changes" msgstr "" #. type: Plain text -#: en/git-tag.txt:205 -msgid "" -"If you never pushed anything out, just re-tag it. Use \"-f\" to replace the " -"old one. And you're done." +#: en/git-request-pull.txt:12 +#, no-wrap +msgid "'git request-pull' [-p] <start> <url> [<end>]\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:209 +#: en/git-request-pull.txt:20 msgid "" -"But if you have pushed things out (or others could just read your repository " -"directly), then others will have already seen the old tag. In that case you " -"can do one of two things:" +"Generate a request asking your upstream project to pull changes into their " +"tree. The request, printed to the standard output, begins with the branch " +"description, summarizes the changes and indicates from where they can be " +"pulled." msgstr "" #. type: Plain text -#: en/git-tag.txt:216 +#: en/git-request-pull.txt:25 msgid "" -"The sane thing. Just admit you screwed up, and use a different name. Others " -"have already seen one tag-name, and if you keep the same name, you may be in " -"the situation that two people both have \"version X\", but they actually " -"have 'different' \"X\"'s. So just call it \"X.1\" and be done with it." +"The upstream project is expected to have the commit named by `<start>` and " +"the output asks it to integrate the changes you made since that commit, up " +"to the commit named by `<end>`, by visiting the repository named by `<url>`." msgstr "" #. type: Plain text -#: en/git-tag.txt:221 -msgid "" -"The insane thing. You really want to call the new version \"X\" too, 'even " -"though' others have already seen the old one. So just use 'git tag -f' " -"again, as if you hadn't already published the old one." +#: en/git-request-pull.txt:31 +msgid "Include patch text in the output." msgstr "" -#. type: Plain text -#: en/git-tag.txt:226 -msgid "" -"However, Git does *not* (and it should not) change tags behind users " -"back. So if somebody already got the old tag, doing a 'git pull' on your " -"tree shouldn't just make them overwrite the old one." +#. type: Labeled list +#: en/git-request-pull.txt:32 +#, no-wrap +msgid "<start>" msgstr "" #. type: Plain text -#: en/git-tag.txt:233 -msgid "" -"If somebody got a release tag from you, you cannot just change the tag for " -"them by updating your own one. This is a big security issue, in that people " -"MUST be able to trust their tag-names. If you really want to do the insane " -"thing, you need to just fess up to it, and tell people that you messed " -"up. You can do that by making a very public announcement saying:" -msgstr "" - -#. type: delimited block - -#: en/git-tag.txt:237 -#, no-wrap +#: en/git-request-pull.txt:35 msgid "" -"Ok, I messed up, and I pushed out an earlier version tagged as X. I\n" -"then fixed something, and retagged the *fixed* tree as X again.\n" +"Commit to start at. This names a commit that is already in the upstream " +"history." msgstr "" -#. type: delimited block - -#: en/git-tag.txt:240 +#. type: Labeled list +#: en/git-request-pull.txt:36 #, no-wrap -msgid "" -"If you got the wrong tag, and want the new one, please delete\n" -"the old one and fetch the new one by doing:\n" +msgid "<url>" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:243 -#, no-wrap -msgid "" -"\tgit tag -d X\n" -"\tgit fetch origin tag X\n" +#. type: Plain text +#: en/git-request-pull.txt:38 +msgid "The repository URL to be pulled from." msgstr "" -#. type: delimited block - -#: en/git-tag.txt:245 +#. type: Labeled list +#: en/git-request-pull.txt:39 #, no-wrap -msgid "to get my updated tag.\n" +msgid "<end>" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:247 -#, no-wrap -msgid "You can test which tag you have by doing\n" +#. type: Plain text +#: en/git-request-pull.txt:42 +msgid "" +"Commit to end at (defaults to HEAD). This names the commit at the tip of " +"the history you are asking to be pulled." msgstr "" -#. type: delimited block - -#: en/git-tag.txt:249 -#, no-wrap -msgid "\tgit rev-parse X\n" +#. type: Plain text +#: en/git-request-pull.txt:47 +msgid "" +"When the repository named by `<url>` has the commit at a tip of a ref that " +"is different from the ref you have locally, you can use the " +"`<local>:<remote>` syntax, to have its local name, a colon `:`, and its " +"remote name." msgstr "" -#. type: delimited block - -#: en/git-tag.txt:251 -#, no-wrap -msgid "which should return 0123456789abcdef.. if you have the new version.\n" +#. type: Plain text +#: en/git-request-pull.txt:56 +msgid "" +"Imagine that you built your work on your `master` branch on top of the " +"`v1.0` release, and want it to be integrated to the project. First you push " +"that change to your public repository for others to see:" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:253 +#. type: Plain text +#: en/git-request-pull.txt:58 #, no-wrap -msgid "Sorry for the inconvenience.\n" +msgid "\tgit push https://git.ko.xz/project master\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:258 -msgid "" -"Does this seem a bit complicated? It *should* be. There is no way that it " -"would be correct to just \"fix\" it automatically. People need to know that " -"their tags might have been changed." +#: en/git-request-pull.txt:60 +msgid "Then, you run this command:" msgstr "" -#. type: Title ~ -#: en/git-tag.txt:261 +#. type: Plain text +#: en/git-request-pull.txt:62 #, no-wrap -msgid "On Automatic following" +msgid "\tgit request-pull v1.0 https://git.ko.xz/project master\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:266 +#: en/git-request-pull.txt:66 msgid "" -"If you are following somebody else's tree, you are most likely using " -"remote-tracking branches (eg. `refs/remotes/origin/master`). You usually " -"want the tags from the other end." +"which will produce a request to the upstream, summarizing the changes " +"between the `v1.0` release and your `master`, to pull it from your public " +"repository." msgstr "" #. type: Plain text -#: en/git-tag.txt:273 +#: en/git-request-pull.txt:69 msgid "" -"On the other hand, if you are fetching because you would want a one-shot " -"merge from somebody else, you typically do not want to get tags from there. " -"This happens more often for people near the toplevel but not limited to " -"them. Mere mortals when pulling from each other do not necessarily want to " -"automatically get private anchor point tags from the other person." +"If you pushed your change to a branch whose name is different from the one " +"you have locally, e.g." msgstr "" #. type: Plain text -#: en/git-tag.txt:278 -msgid "" -"Often, \"please pull\" messages on the mailing list just provide two pieces " -"of information: a repo URL and a branch name; this is designed to be easily " -"cut&pasted at the end of a 'git fetch' command line:" +#: en/git-request-pull.txt:71 +#, no-wrap +msgid "\tgit push https://git.ko.xz/project master:for-linus\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:281 -#, no-wrap -msgid "Linus, please pull from\n" +#. type: Plain text +#: en/git-request-pull.txt:73 +msgid "then you can ask that to be pulled with" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:283 +#. type: Plain text +#: en/git-request-pull.txt:75 #, no-wrap -msgid "\tgit://git..../proj.git master\n" +msgid "\tgit request-pull v1.0 https://git.ko.xz/project master:for-linus\n" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:285 +#. type: Title = +#: en/git-rerere.txt:2 #, no-wrap -msgid "to get the following updates...\n" +msgid "git-rerere(1)" msgstr "" #. type: Plain text -#: en/git-tag.txt:288 -msgid "becomes:" +#: en/git-rerere.txt:7 +msgid "git-rerere - Reuse recorded resolution of conflicted merges" msgstr "" -#. type: delimited block - -#: en/git-tag.txt:291 +#. type: Plain text +#: en/git-rerere.txt:12 #, no-wrap -msgid "$ git pull git://git..../proj.git master\n" +msgid "" +"'git rerere' ['clear'|'forget' " +"<pathspec>|'diff'|'remaining'|'status'|'gc']\n" msgstr "" #. type: Plain text -#: en/git-tag.txt:295 +#: en/git-rerere.txt:20 msgid "" -"In such a case, you do not want to automatically follow the other person's " -"tags." +"In a workflow employing relatively long lived topic branches, the developer " +"sometimes needs to resolve the same conflicts over and over again until the " +"topic branches are done (either merged to the \"release\" branch, or sent " +"out and accepted upstream)." msgstr "" #. type: Plain text -#: en/git-tag.txt:303 +#: en/git-rerere.txt:25 msgid "" -"One important aspect of Git is its distributed nature, which largely means " -"there is no inherent \"upstream\" or \"downstream\" in the system. On the " -"face of it, the above example might seem to indicate that the tag namespace " -"is owned by the upper echelon of people and that tags only flow downwards, " -"but that is not the case. It only shows that the usage pattern determines " -"who are interested in whose tags." +"This command assists the developer in this process by recording conflicted " +"automerge results and corresponding hand resolve results on the initial " +"manual merge, and applying previously recorded hand resolutions to their " +"corresponding automerge results." msgstr "" #. type: Plain text -#: en/git-tag.txt:315 +#: en/git-rerere.txt:29 msgid "" -"A one-shot pull is a sign that a commit history is now crossing the boundary " -"between one circle of people (e.g. \"people who are primarily interested in " -"the networking part of the kernel\") who may have their own set of tags " -"(e.g. \"this is the third release candidate from the networking group to be " -"proposed for general consumption with 2.6.21 release\") to another circle of " -"people (e.g. \"people who integrate various subsystem improvements\"). The " -"latter are usually not interested in the detailed tags used internally in " -"the former group (that is what \"internal\" means). That is why it is " -"desirable not to follow tags automatically in this case." +"You need to set the configuration variable rerere.enabled in order to enable " +"this command." msgstr "" #. type: Plain text -#: en/git-tag.txt:321 +#: en/git-rerere.txt:37 msgid "" -"It may well be that among networking people, they may want to exchange the " -"tags internal to their group, but in that workflow they are most likely " -"tracking each other's progress by having remote-tracking branches. Again, " -"the heuristic to automatically follow such tags is a good thing." +"Normally, 'git rerere' is run without arguments or user-intervention. " +"However, it has several commands that allow it to interact with its working " +"state." msgstr "" -#. type: Title ~ -#: en/git-tag.txt:324 +#. type: Labeled list +#: en/git-rerere.txt:38 #, no-wrap -msgid "On Backdating Tags" +msgid "'clear'" msgstr "" #. type: Plain text -#: en/git-tag.txt:331 +#: en/git-rerere.txt:43 msgid "" -"If you have imported some changes from another VCS and would like to add " -"tags for major releases of your work, it is useful to be able to specify the " -"date to embed inside of the tag object; such data in the tag object affects, " -"for example, the ordering of tags in the gitweb interface." +"Reset the metadata used by rerere if a merge resolution is to be aborted. " +"Calling 'git am [--skip|--abort]' or 'git rebase [--skip|--abort]' will " +"automatically invoke this command." +msgstr "" + +#. type: Labeled list +#: en/git-rerere.txt:44 +#, no-wrap +msgid "'forget' <pathspec>" msgstr "" #. type: Plain text -#: en/git-tag.txt:335 +#: en/git-rerere.txt:48 msgid "" -"To set the date used in future tag objects, set the environment variable " -"GIT_COMMITTER_DATE (see the later discussion of possible values; the most " -"common form is \"YYYY-MM-DD HH:MM\")." +"Reset the conflict resolutions which rerere has recorded for the current " +"conflict in <pathspec>." msgstr "" -#. type: delimited block - -#: en/git-tag.txt:340 +#. type: Labeled list +#: en/git-rerere.txt:49 #, no-wrap -msgid "$ GIT_COMMITTER_DATE=\"2006-10-02 10:31\" git tag -s v1.0.1\n" +msgid "'diff'" msgstr "" #. type: Plain text -#: en/git-tag.txt:348 -msgid "linkgit:git-check-ref-format[1]. linkgit:git-config[1]." +#: en/git-rerere.txt:55 +msgid "" +"Display diffs for the current state of the resolution. It is useful for " +"tracking what has changed while the user is resolving conflicts. Additional " +"arguments are passed directly to the system 'diff' command installed in " +"PATH." msgstr "" -#. type: Title = -#: en/git-unpack-file.txt:2 +#. type: Labeled list +#: en/git-rerere.txt:56 #, no-wrap -msgid "git-unpack-file(1)" +msgid "'status'" msgstr "" #. type: Plain text -#: en/git-unpack-file.txt:7 -msgid "git-unpack-file - Creates a temporary file with a blob's contents" +#: en/git-rerere.txt:59 +msgid "Print paths with conflicts whose merge resolution rerere will record." msgstr "" -#. type: Plain text -#: en/git-unpack-file.txt:14 +#. type: Labeled list +#: en/git-rerere.txt:60 #, no-wrap -msgid "'git unpack-file' <blob>\n" +msgid "'remaining'" msgstr "" #. type: Plain text -#: en/git-unpack-file.txt:20 -#, no-wrap +#: en/git-rerere.txt:65 msgid "" -"Creates a file holding the contents of the blob specified by sha1. It\n" -"returns the name of the temporary file in the following format:\n" -"\t.merge_file_XXXXX\n" -msgstr "" - -#. type: Plain text -#: en/git-unpack-file.txt:25 -msgid "Must be a blob id" +"Print paths with conflicts that have not been autoresolved by rerere. This " +"includes paths whose resolutions cannot be tracked by rerere, such as " +"conflicting submodules." msgstr "" -#. type: Title = -#: en/git-unpack-objects.txt:2 +#. type: Labeled list +#: en/git-rerere.txt:66 en/git-svn.txt:480 #, no-wrap -msgid "git-unpack-objects(1)" -msgstr "" - -#. type: Plain text -#: en/git-unpack-objects.txt:7 -msgid "git-unpack-objects - Unpack objects from a packed archive" +msgid "'gc'" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:13 -#, no-wrap -msgid "'git unpack-objects' [-n] [-q] [-r] [--strict]\n" +#: en/git-rerere.txt:74 +msgid "" +"Prune records of conflicted merges that occurred a long time ago. By " +"default, unresolved conflicts older than 15 days and resolved conflicts " +"older than 60 days are pruned. These defaults are controlled via the " +"`gc.rerereUnresolved` and `gc.rerereResolved` configuration variables " +"respectively." msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:20 +#: en/git-rerere.txt:83 msgid "" -"Read a packed archive (.pack) from the standard input, expanding the objects " -"contained within and writing them into the repository in \"loose\" (one " -"object per file) format." +"When your topic branch modifies an overlapping area that your master branch " +"(or upstream) touched since your topic branch forked from it, you may want " +"to test it with the latest master, even before your topic branch is ready to " +"be pushed upstream:" msgstr "" -#. type: Plain text -#: en/git-unpack-objects.txt:24 +#. type: delimited block - +#: en/git-rerere.txt:88 +#, no-wrap msgid "" -"Objects that already exist in the repository will *not* be unpacked from the " -"packfile. Therefore, nothing will be unpacked if you use this command on a " -"packfile that exists within the target repository." +" o---*---o topic\n" +" /\n" +" o---o---o---*---o---o master\n" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:27 +#: en/git-rerere.txt:92 msgid "" -"See linkgit:git-repack[1] for options to generate new packs and replace " -"existing ones." +"For such a test, you need to merge master and topic somehow. One way to do " +"it is to pull master into the topic branch:" msgstr "" -#. type: Plain text -#: en/git-unpack-objects.txt:32 -msgid "Dry run. Check the pack file without actually unpacking" +#. type: delimited block - +#: en/git-rerere.txt:96 +#, no-wrap +msgid "" +"\t$ git checkout topic\n" +"\t$ git merge master\n" msgstr "" -#. type: Plain text -#: en/git-unpack-objects.txt:33 -msgid "the objects." +#. type: delimited block - +#: en/git-rerere.txt:100 +#, no-wrap +msgid "" +" o---*---o---+ topic\n" +" / /\n" +" o---o---o---*---o---o master\n" msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:37 -msgid "The command usually shows percentage progress. This flag suppresses it." +#: en/git-rerere.txt:106 +msgid "" +"The commits marked with `*` touch the same area in the same file; you need " +"to resolve the conflicts when creating the commit marked with `+`. Then you " +"can test the result to make sure your work-in-progress still works with what " +"is in the latest master." msgstr "" #. type: Plain text -#: en/git-unpack-objects.txt:43 +#: en/git-rerere.txt:114 msgid "" -"When unpacking a corrupt packfile, the command dies at the first " -"corruption. This flag tells it to keep going and make the best effort to " -"recover as many objects as possible." +"After this test merge, there are two ways to continue your work on the " +"topic. The easiest is to build on top of the test merge commit `+`, and " +"when your work in the topic branch is finally ready, pull the topic branch " +"into master, and/or ask the upstream to pull from you. By that time, " +"however, the master or the upstream might have been advanced since the test " +"merge `+`, in which case the final commit graph would look like this:" msgstr "" -#. type: Plain text -#: en/git-unpack-objects.txt:46 -msgid "Don't write objects with broken content or links." +#. type: delimited block - +#: en/git-rerere.txt:121 +#, no-wrap +msgid "" +"\t$ git checkout topic\n" +"\t$ git merge master\n" +"\t$ ... work on both topic and master branches\n" +"\t$ git checkout master\n" +"\t$ git merge topic\n" msgstr "" -#. type: Title = -#: en/git-update-index.txt:2 +#. type: delimited block - +#: en/git-rerere.txt:125 #, no-wrap -msgid "git-update-index(1)" +msgid "" +" o---*---o---+---o---o topic\n" +" / / \\\n" +" o---o---o---*---o---o---o---o---+ master\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:7 -msgid "git-update-index - Register file contents in the working tree to the index" +#: en/git-rerere.txt:133 +msgid "" +"When your topic branch is long-lived, however, your topic branch would end " +"up having many such \"Merge from master\" commits on it, which would " +"unnecessarily clutter the development history. Readers of the Linux kernel " +"mailing list may remember that Linus complained about such too frequent test " +"merges when a subsystem maintainer asked to pull from a branch full of " +"\"useless merges\"." msgstr "" #. type: Plain text -#: en/git-update-index.txt:27 +#: en/git-rerere.txt:137 +msgid "" +"As an alternative, to keep the topic branch clean of test merges, you could " +"blow away the test merge, and keep building on top of the tip before the " +"test merge:" +msgstr "" + +#. type: delimited block - +#: en/git-rerere.txt:145 #, no-wrap msgid "" -"'git update-index'\n" -"\t [--add] [--remove | --force-remove] [--replace]\n" -"\t [--refresh] [-q] [--unmerged] [--ignore-missing]\n" -"\t [(--cacheinfo <mode>,<object>,<file>)...]\n" -"\t [--chmod=(+|-)x]\n" -"\t [--[no-]assume-unchanged]\n" -"\t [--[no-]skip-worktree]\n" -"\t [--ignore-submodules]\n" -"\t [--[no-]split-index]\n" -"\t [--[no-|test-|force-]untracked-cache]\n" -"\t [--really-refresh] [--unresolve] [--again | -g]\n" -"\t [--info-only] [--index-info]\n" -"\t [-z] [--stdin] [--index-version <n>]\n" -"\t [--verbose]\n" -"\t [--] [<file>...]\n" +"\t$ git checkout topic\n" +"\t$ git merge master\n" +"\t$ git reset --hard HEAD^ ;# rewind the test merge\n" +"\t$ ... work on both topic and master branches\n" +"\t$ git checkout master\n" +"\t$ git merge topic\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:33 +#. type: delimited block - +#: en/git-rerere.txt:149 +#, no-wrap msgid "" -"Modifies the index or directory cache. Each file mentioned is updated into " -"the index and any 'unmerged' or 'needs updating' state is cleared." +" o---*---o-------o---o topic\n" +" / \\\n" +" o---o---o---*---o---o---o---o---+ master\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:36 +#: en/git-rerere.txt:159 msgid "" -"See also linkgit:git-add[1] for a more user-friendly way to do some of the " -"most common operations on the index." +"This would leave only one merge commit when your topic branch is finally " +"ready and merged into the master branch. This merge would require you to " +"resolve the conflict, introduced by the commits marked with `*`. However, " +"this conflict is often the same conflict you resolved when you created the " +"test merge you blew away. 'git rerere' helps you resolve this final " +"conflicted merge using the information from your earlier hand resolve." msgstr "" #. type: Plain text -#: en/git-update-index.txt:39 +#: en/git-rerere.txt:167 msgid "" -"The way 'git update-index' handles files it is told about can be modified " -"using the various options:" +"Running the 'git rerere' command immediately after a conflicted automerge " +"records the conflicted working tree files, with the usual conflict markers " +"`<<<<<<<`, `=======`, and `>>>>>>>` in them. Later, after you are done " +"resolving the conflicts, running 'git rerere' again will record the resolved " +"state of these files. Suppose you did this when you created the test merge " +"of master into the topic branch." msgstr "" #. type: Plain text -#: en/git-update-index.txt:46 +#: en/git-rerere.txt:177 msgid "" -"If a specified file isn't in the index already then it's added. Default " -"behaviour is to ignore new files." +"Next time, after seeing the same conflicted automerge, running 'git rerere' " +"will perform a three-way merge between the earlier conflicted automerge, the " +"earlier manual resolution, and the current conflicted automerge. If this " +"three-way merge resolves cleanly, the result is written out to your working " +"tree file, so you do not have to manually resolve it. Note that 'git " +"rerere' leaves the index file alone, so you still need to do the final " +"sanity checks with `git diff` (or `git diff -c`) and 'git add' when you are " +"satisfied." msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:47 -#, no-wrap -msgid "--remove" +#. type: Plain text +#: en/git-rerere.txt:185 +msgid "" +"As a convenience measure, 'git merge' automatically invokes 'git rerere' " +"upon exiting with a failed automerge and 'git rerere' records the hand " +"resolve when it is a new conflict, or reuses the earlier hand resolve when " +"it is not. 'git commit' also invokes 'git rerere' when committing a merge " +"result. What this means is that you do not have to do anything special " +"yourself (besides enabling the rerere.enabled config variable)." msgstr "" #. type: Plain text -#: en/git-update-index.txt:51 +#: en/git-rerere.txt:190 msgid "" -"If a specified file is in the index but is missing then it's removed. " -"Default behavior is to ignore removed file." +"In our example, when you do the test merge, the manual resolution is " +"recorded, and it will be reused when you do the actual merge later with the " +"updated master and topic branch, as long as the recorded resolution is still " +"applicable." msgstr "" #. type: Plain text -#: en/git-update-index.txt:55 +#: en/git-rerere.txt:194 msgid "" -"Looks at the current index and checks to see if merges or updates are needed " -"by checking stat() information." +"The information 'git rerere' records is also used when running 'git " +"rebase'. After blowing away the test merge and continuing development on " +"the topic branch:" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:59 +#. type: delimited block - +#: en/git-rerere.txt:199 +#, no-wrap msgid "" -"Quiet. If --refresh finds that the index needs an update, the default " -"behavior is to error out. This option makes" +" o---*---o-------o---o topic\n" +" /\n" +" o---o---o---*---o---o---o---o master\n" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:60 -msgid "'git update-index' continue anyway." +#. type: delimited block - +#: en/git-rerere.txt:201 +#, no-wrap +msgid "\t$ git rebase master topic\n" msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:61 +#. type: delimited block - +#: en/git-rerere.txt:205 #, no-wrap -msgid "--ignore-submodules" +msgid "" +"\t\t\t\t o---*---o-------o---o topic\n" +"\t\t\t\t /\n" +" o---o---o---*---o---o---o---o master\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:64 +#: en/git-rerere.txt:213 msgid "" -"Do not try to update submodules. This option is only respected when passed " -"before --refresh." +"you could run `git rebase master topic`, to bring yourself up-to-date before " +"your topic is ready to be sent upstream. This would result in falling back " +"to a three-way merge, and it would conflict the same way as the test merge " +"you resolved earlier. 'git rerere' will be run by 'git rebase' to help you " +"resolve this conflict." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:67 -msgid "If --refresh finds unmerged changes in the index, the default" +#. type: Title = +#: en/git-reset.txt:2 +#, no-wrap +msgid "git-reset(1)" msgstr "" #. type: Plain text -#: en/git-update-index.txt:68 -msgid "behavior is to error out. This option makes 'git update-index'" +#: en/git-reset.txt:7 +msgid "git-reset - Reset current HEAD to the specified state" msgstr "" #. type: Plain text -#: en/git-update-index.txt:69 +#: en/git-reset.txt:14 #, no-wrap -msgid "continue anyway.\n" +msgid "" +"'git reset' [-q] [<tree-ish>] [--] <paths>...\n" +"'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]\n" +"'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] " +"[<commit>]\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:72 -msgid "Ignores missing files during a --refresh" -msgstr "" - -#. type: Labeled list -#: en/git-update-index.txt:73 -#, no-wrap -msgid "--cacheinfo <mode>,<object>,<path>" +#: en/git-reset.txt:21 +msgid "" +"In the first and second form, copy entries from <tree-ish> to the index. In " +"the third form, set the current branch head (HEAD) to <commit>, optionally " +"modifying index and working tree to match. The <tree-ish>/<commit> defaults " +"to HEAD in all forms." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:74 +#: en/git-reset.txt:22 #, no-wrap -msgid "--cacheinfo <mode> <object> <path>" +msgid "'git reset' [-q] [<tree-ish>] [--] <paths>..." msgstr "" #. type: Plain text -#: en/git-update-index.txt:79 +#: en/git-reset.txt:26 msgid "" -"Directly insert the specified info into the index. For backward " -"compatibility, you can also give these three arguments as three separate " -"parameters, but new users are encouraged to use a single-parameter form." -msgstr "" - -#. type: Labeled list -#: en/git-update-index.txt:80 -#, no-wrap -msgid "--index-info" +"This form resets the index entries for all <paths> to their state at " +"<tree-ish>. (It does not affect the working tree or the current branch.)" msgstr "" #. type: Plain text -#: en/git-update-index.txt:82 -msgid "Read index information from stdin." +#: en/git-reset.txt:29 +msgid "This means that `git reset <paths>` is the opposite of `git add <paths>`." msgstr "" #. type: Plain text -#: en/git-update-index.txt:85 -msgid "Set the execute permissions on the updated files." +#: en/git-reset.txt:36 +msgid "" +"After running `git reset <paths>` to update the index entry, you can use " +"linkgit:git-checkout[1] to check the contents out of the index to the " +"working tree. Alternatively, using linkgit:git-checkout[1] and specifying a " +"commit, you can copy the contents of a path out of a commit to the index and " +"to the working tree in one go." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:86 +#: en/git-reset.txt:37 #, no-wrap -msgid "--[no-]assume-unchanged" +msgid "'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]" msgstr "" #. type: Plain text -#: en/git-update-index.txt:98 +#: en/git-reset.txt:41 msgid "" -"When this flag is specified, the object names recorded for the paths are not " -"updated. Instead, this option sets/unsets the \"assume unchanged\" bit for " -"the paths. When the \"assume unchanged\" bit is on, the user promises not " -"to change the file and allows Git to assume that the working tree file " -"matches what is recorded in the index. If you want to change the working " -"tree file, you need to unset the bit to tell Git. This is sometimes helpful " -"when working with a big project on a filesystem that has very slow lstat(2) " -"system call (e.g. cifs)." +"Interactively select hunks in the difference between the index and " +"<tree-ish> (defaults to HEAD). The chosen hunks are applied in reverse to " +"the index." msgstr "" #. type: Plain text -#: en/git-update-index.txt:103 +#: en/git-reset.txt:45 msgid "" -"Git will fail (gracefully) in case it needs to modify this file in the index " -"e.g. when merging in a commit; thus, in case the assumed-untracked file is " -"changed upstream, you will need to handle the situation manually." +"This means that `git reset -p` is the opposite of `git add -p`, i.e. you " +"can use it to selectively reset hunks. See the ``Interactive Mode'' section " +"of linkgit:git-add[1] to learn how to operate the `--patch` mode." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:104 +#: en/git-reset.txt:46 #, no-wrap -msgid "--really-refresh" +msgid "'git reset' [<mode>] [<commit>]" msgstr "" #. type: Plain text -#: en/git-update-index.txt:107 +#: en/git-reset.txt:51 msgid "" -"Like `--refresh`, but checks stat information unconditionally, without " -"regard to the \"assume unchanged\" setting." +"This form resets the current branch head to <commit> and possibly updates " +"the index (resetting it to the tree of <commit>) and the working tree " +"depending on <mode>. If <mode> is omitted, defaults to \"--mixed\". The " +"<mode> must be one of the following:" msgstr "" #. type: Labeled list -#: en/git-update-index.txt:108 +#: en/git-reset.txt:53 #, no-wrap -msgid "--[no-]skip-worktree" +msgid "--soft" msgstr "" #. type: Plain text -#: en/git-update-index.txt:113 +#: en/git-reset.txt:58 msgid "" -"When one of these flags is specified, the object name recorded for the paths " -"are not updated. Instead, these options set and unset the \"skip-worktree\" " -"bit for the paths. See section \"Skip-worktree bit\" below for more " -"information." +"Does not touch the index file or the working tree at all (but resets the " +"head to <commit>, just like all modes do). This leaves all your changed " +"files \"Changes to be committed\", as 'git status' would put it." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:115 +#: en/git-reset.txt:59 #, no-wrap -msgid "--again" +msgid "--mixed" msgstr "" #. type: Plain text -#: en/git-update-index.txt:118 +#: en/git-reset.txt:63 msgid "" -"Runs 'git update-index' itself on the paths whose index entries are " -"different from those from the `HEAD` commit." -msgstr "" - -#. type: Labeled list -#: en/git-update-index.txt:119 -#, no-wrap -msgid "--unresolve" +"Resets the index but not the working tree (i.e., the changed files are " +"preserved but not marked for commit) and reports what has not been " +"updated. This is the default action." msgstr "" #. type: Plain text -#: en/git-update-index.txt:122 +#: en/git-reset.txt:66 msgid "" -"Restores the 'unmerged' or 'needs updating' state of a file during a merge " -"if it was cleared by accident." +"If `-N` is specified, removed paths are marked as intent-to-add (see " +"linkgit:git-add[1])." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:123 +#: en/git-reset.txt:67 #, no-wrap -msgid "--info-only" +msgid "--hard" msgstr "" #. type: Plain text -#: en/git-update-index.txt:127 +#: en/git-reset.txt:70 msgid "" -"Do not create objects in the object database for all <file> arguments that " -"follow this flag; just insert their object IDs into the index." +"Resets the index and working tree. Any changes to tracked files in the " +"working tree since <commit> are discarded." msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:128 -#, no-wrap -msgid "--force-remove" +#. type: Plain text +#: en/git-reset.txt:78 +msgid "" +"Resets the index and updates the files in the working tree that are " +"different between <commit> and HEAD, but keeps those which are different " +"between the index and working tree (i.e. which have changes which have not " +"been added). If a file that is different between <commit> and the index has " +"unstaged changes, reset is aborted." msgstr "" #. type: Plain text -#: en/git-update-index.txt:131 +#: en/git-reset.txt:81 msgid "" -"Remove the file from the index even when the working directory still has " -"such a file. (Implies --remove.)" +"In other words, --merge does something like a 'git read-tree -u -m " +"<commit>', but carries forward unmerged index entries." msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:132 -#, no-wrap -msgid "--replace" +#. type: Plain text +#: en/git-reset.txt:87 +msgid "" +"Resets index entries and updates files in the working tree that are " +"different between <commit> and HEAD. If a file that is different between " +"<commit> and HEAD has local changes, reset is aborted." msgstr "" #. type: Plain text -#: en/git-update-index.txt:139 +#: en/git-reset.txt:91 msgid "" -"By default, when a file `path` exists in the index, 'git update-index' " -"refuses an attempt to add `path/file`. Similarly if a file `path/file` " -"exists, a file `path` cannot be added. With --replace flag, existing " -"entries that conflict with the entry being added are automatically removed " -"with warning messages." +"If you want to undo a commit other than the latest on a branch, " +"linkgit:git-revert[1] is your friend." msgstr "" #. type: Plain text -#: en/git-update-index.txt:147 -msgid "Report what is being added and removed from index." +#: en/git-reset.txt:99 +msgid "Be quiet, only report errors." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:148 +#: en/git-reset.txt:104 #, no-wrap -msgid "--index-version <n>" +msgid "Undo add" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:153 +#. type: delimited block - +#: en/git-reset.txt:112 +#, no-wrap msgid "" -"Write the resulting index out in the named on-disk format version. " -"Supported versions are 2, 3 and 4. The current default version is 2 or 3, " -"depending on whether extra features are used, such as `git add -N`." +"$ edit <1>\n" +"$ git add frotz.c filfre.c\n" +"$ mailx <2>\n" +"$ git reset <3>\n" +"$ git pull git://info.example.com/ nitfol <4>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:159 +#: en/git-reset.txt:118 msgid "" -"Version 4 performs a simple pathname compression that reduces index size by " -"30%-50% on large repositories, which results in faster load time. Version 4 " -"is relatively young (first released in in 1.8.0 in October 2012). Other Git " -"implementations such as JGit and libgit2 may not support it yet." +"You are happily working on something, and find the changes in these files " +"are in good order. You do not want to see them when you run \"git diff\", " +"because you plan to work on other files and changes with these files are " +"distracting." msgstr "" #. type: Plain text -#: en/git-update-index.txt:163 -msgid "" -"Only meaningful with `--stdin` or `--index-info`; paths are separated with " -"NUL character instead of LF." -msgstr "" - -#. type: Labeled list -#: en/git-update-index.txt:164 -#, no-wrap -msgid "--split-index" -msgstr "" - -#. type: Labeled list -#: en/git-update-index.txt:165 -#, no-wrap -msgid "--no-split-index" +#: en/git-reset.txt:119 +msgid "Somebody asks you to pull, and the changes sounds worthy of merging." msgstr "" #. type: Plain text -#: en/git-update-index.txt:170 +#: en/git-reset.txt:124 msgid "" -"Enable or disable split index mode. If split-index mode is already enabled " -"and `--split-index` is given again, all changes in $GIT_DIR/index are pushed " -"back to the shared index file." +"However, you already dirtied the index (i.e. your index does not match the " +"HEAD commit). But you know the pull you are going to make does not affect " +"frotz.c or filfre.c, so you revert the index changes for these two files. " +"Your changes in working tree remain there." msgstr "" #. type: Plain text -#: en/git-update-index.txt:176 +#: en/git-reset.txt:126 msgid "" -"These options take effect whatever the value of the `core.splitIndex` " -"configuration variable (see linkgit:git-config[1]). But a warning is emitted " -"when the change goes against the configured value, as the configured value " -"will take effect next time the index is read and this will remove the " -"intended effect of the option." +"Then you can pull and merge, leaving frotz.c and filfre.c changes still in " +"the working tree." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:177 +#: en/git-reset.txt:127 #, no-wrap -msgid "--untracked-cache" +msgid "Undo a commit and redo" msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:178 +#. type: delimited block - +#: en/git-reset.txt:134 #, no-wrap -msgid "--no-untracked-cache" +msgid "" +"$ git commit ...\n" +"$ git reset --soft HEAD^ <1>\n" +"$ edit <2>\n" +"$ git commit -a -c ORIG_HEAD <3>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:181 +#: en/git-reset.txt:139 msgid "" -"Enable or disable untracked cache feature. Please use " -"`--test-untracked-cache` before enabling it." +"This is most often done when you remembered what you just committed is " +"incomplete, or you misspelled your commit message, or both. Leaves working " +"tree as it was before \"reset\"." msgstr "" #. type: Plain text -#: en/git-update-index.txt:187 -msgid "" -"These options take effect whatever the value of the `core.untrackedCache` " -"configuration variable (see linkgit:git-config[1]). But a warning is emitted " -"when the change goes against the configured value, as the configured value " -"will take effect next time the index is read and this will remove the " -"intended effect of the option." +#: en/git-reset.txt:140 +msgid "Make corrections to working tree files." msgstr "" -#. type: Labeled list -#: en/git-update-index.txt:188 -#, no-wrap -msgid "--test-untracked-cache" +#. type: Plain text +#: en/git-reset.txt:143 +msgid "" +"\"reset\" copies the old head to .git/ORIG_HEAD; redo the commit by starting " +"with its log message. If you do not need to edit the message further, you " +"can give -C option instead." msgstr "" #. type: Plain text -#: en/git-update-index.txt:197 -msgid "" -"Only perform tests on the working directory to make sure untracked cache can " -"be used. You have to manually enable untracked cache using " -"`--untracked-cache` or `--force-untracked-cache` or the " -"`core.untrackedCache` configuration variable afterwards if you really want " -"to use it. If a test fails the exit code is 1 and a message explains what is " -"not working as needed, otherwise the exit code is 0 and OK is printed." +#: en/git-reset.txt:145 +msgid "See also the --amend option to linkgit:git-commit[1]." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:198 +#: en/git-reset.txt:146 #, no-wrap -msgid "--force-untracked-cache" +msgid "Undo a commit, making it a topic branch" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:203 +#. type: delimited block - +#: en/git-reset.txt:152 +#, no-wrap msgid "" -"Same as `--untracked-cache`. Provided for backwards compatibility with older " -"versions of Git where `--untracked-cache` used to imply " -"`--test-untracked-cache` but this option would enable the extension " -"unconditionally." +"$ git branch topic/wip <1>\n" +"$ git reset --hard HEAD~3 <2>\n" +"$ git checkout topic/wip <3>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:213 +#: en/git-reset.txt:158 msgid "" -"Files to act on. Note that files beginning with '.' are discarded. This " -"includes `./file` and `dir/./file`. If you don't want this, then use cleaner " -"names. The same applies to directories ending '/' and paths with '//'" -msgstr "" - -#. type: Title - -#: en/git-update-index.txt:215 -#, no-wrap -msgid "Using --refresh" +"You have made some commits, but realize they were premature to be in the " +"\"master\" branch. You want to continue polishing them in a topic branch, " +"so create \"topic/wip\" branch off of the current HEAD." msgstr "" #. type: Plain text -#: en/git-update-index.txt:221 -msgid "" -"`--refresh` does not calculate a new sha1 file or bring the index up-to-date " -"for mode/content changes. But what it *does* do is to \"re-match\" the stat " -"information of a file with the index, so that you can refresh the index for " -"a file that hasn't been changed but where the stat entry is out of date." +#: en/git-reset.txt:159 +msgid "Rewind the master branch to get rid of those three commits." msgstr "" #. type: Plain text -#: en/git-update-index.txt:224 -msgid "" -"For example, you'd want to do this after doing a 'git read-tree', to link up " -"the stat index details with the proper files." +#: en/git-reset.txt:160 +msgid "Switch to \"topic/wip\" branch and keep working." msgstr "" -#. type: Title - -#: en/git-update-index.txt:226 +#. type: Labeled list +#: en/git-reset.txt:161 #, no-wrap -msgid "Using --cacheinfo or --info-only" -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:230 -msgid "" -"`--cacheinfo` is used to register a file that is not in the current working " -"directory. This is useful for minimum-checkout merging." -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:232 -msgid "To pretend you have a file with mode and sha1 at path, say:" +msgid "Undo commits permanently" msgstr "" #. type: delimited block - -#: en/git-update-index.txt:235 +#: en/git-reset.txt:166 #, no-wrap -msgid "$ git update-index --cacheinfo <mode>,<sha1>,<path>\n" -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:239 msgid "" -"`--info-only` is used to register files without placing them in the object " -"database. This is useful for status-only repositories." +"$ git commit ...\n" +"$ git reset --hard HEAD~3 <1>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:245 +#: en/git-reset.txt:173 msgid "" -"Both `--cacheinfo` and `--info-only` behave similarly: the index is updated " -"but the object database isn't. `--cacheinfo` is useful when the object is " -"in the database but the file isn't available locally. `--info-only` is " -"useful when the file is available, but you do not wish to update the object " -"database." +"The last three commits (HEAD, HEAD^, and HEAD~2) were bad and you do not " +"want to ever see them again. Do *not* do this if you have already given " +"these commits to somebody else. (See the \"RECOVERING FROM UPSTREAM " +"REBASE\" section in linkgit:git-rebase[1] for the implications of doing so.)" msgstr "" -#. type: Title - -#: en/git-update-index.txt:248 +#. type: Labeled list +#: en/git-reset.txt:174 #, no-wrap -msgid "Using --index-info" +msgid "Undo a merge or pull" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:253 +#. type: delimited block - +#: en/git-reset.txt:186 +#, no-wrap msgid "" -"`--index-info` is a more powerful mechanism that lets you feed multiple " -"entry definitions from the standard input, and designed specifically for " -"scripts. It can take inputs of three formats:" +"$ git pull <1>\n" +"Auto-merging nitfol\n" +"CONFLICT (content): Merge conflict in nitfol\n" +"Automatic merge failed; fix conflicts and then commit the result.\n" +"$ git reset --hard <2>\n" +"$ git pull . topic/branch <3>\n" +"Updating from 41223... to 13134...\n" +"Fast-forward\n" +"$ git reset --hard ORIG_HEAD <4>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:255 -#, no-wrap -msgid "mode SP sha1 TAB path\n" +#: en/git-reset.txt:191 +msgid "" +"Try to update from the upstream resulted in a lot of conflicts; you were not " +"ready to spend a lot of time merging right now, so you decide to do that " +"later." msgstr "" #. type: Plain text -#: en/git-update-index.txt:260 +#: en/git-reset.txt:194 msgid "" -"The first format is what \"git-apply --index-info\" reports, and used to " -"reconstruct a partial tree that is used for phony merge base tree when " -"falling back on 3-way merge." +"\"pull\" has not made merge commit, so \"git reset --hard\" which is a " +"synonym for \"git reset --hard HEAD\" clears the mess from the index file " +"and the working tree." msgstr "" #. type: Plain text -#: en/git-update-index.txt:262 -#, no-wrap -msgid "mode SP type SP sha1 TAB path\n" +#: en/git-reset.txt:196 +msgid "" +"Merge a topic branch into the current branch, which resulted in a " +"fast-forward." msgstr "" #. type: Plain text -#: en/git-update-index.txt:265 -msgid "The second format is to stuff 'git ls-tree' output into the index file." +#: en/git-reset.txt:201 +msgid "" +"But you decided that the topic branch is not ready for public consumption " +"yet. \"pull\" or \"merge\" always leaves the original tip of the current " +"branch in ORIG_HEAD, so resetting hard to it brings your index file and the " +"working tree back to that state, and resets the tip of the branch to that " +"commit." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:267 +#. type: Labeled list +#: en/git-reset.txt:202 #, no-wrap -msgid "mode SP sha1 SP stage TAB path\n" +msgid "Undo a merge or pull inside a dirty working tree" msgstr "" -#. type: Plain text -#: en/git-update-index.txt:270 +#. type: delimited block - +#: en/git-reset.txt:211 +#, no-wrap msgid "" -"This format is to put higher order stages into the index file and matches " -"'git ls-files --stage' output." +"$ git pull <1>\n" +"Auto-merging nitfol\n" +"Merge made by recursive.\n" +" nitfol | 20 +++++----\n" +" ...\n" +"$ git reset --merge ORIG_HEAD <2>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:274 +#: en/git-reset.txt:217 msgid "" -"To place a higher stage entry to the index, the path should first be removed " -"by feeding a mode=0 entry for the path, and then feeding necessary input " -"lines in the third format." +"Even if you may have local modifications in your working tree, you can " +"safely say \"git pull\" when you know that the change in the other branch " +"does not overlap with them." msgstr "" #. type: Plain text -#: en/git-update-index.txt:276 -msgid "For example, starting with this index:" -msgstr "" - -#. type: delimited block - -#: en/git-update-index.txt:280 -#, no-wrap +#: en/git-reset.txt:222 msgid "" -"$ git ls-files -s\n" -"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0 frotz\n" -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:283 -msgid "you can feed the following input to `--index-info`:" +"After inspecting the result of the merge, you may find that the change in " +"the other branch is unsatisfactory. Running \"git reset --hard ORIG_HEAD\" " +"will let you go back to where you were, but it will discard your local " +"changes, which you do not want. \"git reset --merge\" keeps your local " +"changes." msgstr "" -#. type: delimited block - -#: en/git-update-index.txt:289 +#. type: Labeled list +#: en/git-reset.txt:224 en/git-stash.txt:224 #, no-wrap -msgid "" -"$ git update-index --index-info\n" -"0 0000000000000000000000000000000000000000\tfrotz\n" -"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" -"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" +msgid "Interrupted workflow" msgstr "" #. type: Plain text -#: en/git-update-index.txt:295 +#: en/git-reset.txt:230 msgid "" -"The first line of the input feeds 0 as the mode to remove the path; the " -"SHA-1 does not matter as long as it is well formatted. Then the second and " -"third line feeds stage 1 and stage 2 entries for that path. After the " -"above, we would end up with this:" +"Suppose you are interrupted by an urgent fix request while you are in the " +"middle of a large change. The files in your working tree are not in any " +"shape to be committed yet, but you need to get to the other branch for a " +"quick bugfix." msgstr "" #. type: delimited block - -#: en/git-update-index.txt:300 +#: en/git-reset.txt:241 #, no-wrap msgid "" -"$ git ls-files -s\n" -"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" -"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" -msgstr "" - -#. type: Title - -#: en/git-update-index.txt:304 -#, no-wrap -msgid "Using ``assume unchanged'' bit" +"$ git checkout feature ;# you were working in \"feature\" branch and\n" +"$ work work work ;# got interrupted\n" +"$ git commit -a -m \"snapshot WIP\" <1>\n" +"$ git checkout master\n" +"$ fix fix fix\n" +"$ git commit ;# commit with real log\n" +"$ git checkout feature\n" +"$ git reset --soft HEAD^ ;# go back to WIP state <2>\n" +"$ git reset <3>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:319 -msgid "" -"Many operations in Git depend on your filesystem to have an efficient " -"`lstat(2)` implementation, so that `st_mtime` information for working tree " -"files can be cheaply checked to see if the file contents have changed from " -"the version recorded in the index file. Unfortunately, some filesystems " -"have inefficient `lstat(2)`. If your filesystem is one of them, you can set " -"\"assume unchanged\" bit to paths you have not changed to cause Git not to " -"do this check. Note that setting this bit on a path does not mean Git will " -"check the contents of the file to see if it has changed -- it makes Git to " -"omit any checking and assume it has *not* changed. When you make changes to " -"working tree files, you have to explicitly tell Git about it by dropping " -"\"assume unchanged\" bit, either before or after you modify them." +#: en/git-reset.txt:244 +msgid "This commit will get blown away so a throw-away log message is OK." msgstr "" #. type: Plain text -#: en/git-update-index.txt:324 +#: en/git-reset.txt:246 msgid "" -"In order to set \"assume unchanged\" bit, use `--assume-unchanged` option. " -"To unset, use `--no-assume-unchanged`. To see which files have the \"assume " -"unchanged\" bit set, use `git ls-files -v` (see linkgit:git-ls-files[1])." +"This removes the 'WIP' commit from the commit history, and sets your working " +"tree to the state just before you made that snapshot." msgstr "" #. type: Plain text -#: en/git-update-index.txt:334 +#: en/git-reset.txt:249 msgid "" -"The command looks at `core.ignorestat` configuration variable. When this is " -"true, paths updated with `git update-index paths...` and paths updated with " -"other Git commands that update both index and working tree (e.g. 'git apply " -"--index', 'git checkout-index -u', and 'git read-tree -u') are automatically " -"marked as \"assume unchanged\". Note that \"assume unchanged\" bit is *not* " -"set if `git update-index --refresh` finds the working tree file matches the " -"index (use `git update-index --really-refresh` if you want to mark them as " -"\"assume unchanged\")." +"At this point the index file still has all the WIP changes you committed as " +"'snapshot WIP'. This updates the index to show your WIP files as " +"uncommitted." msgstr "" #. type: Plain text -#: en/git-update-index.txt:339 -msgid "To update and refresh only the files already checked out:" +#: en/git-reset.txt:251 +msgid "See also linkgit:git-stash[1]." msgstr "" #. type: Labeled list -#: en/git-update-index.txt:344 +#: en/git-reset.txt:252 #, no-wrap -msgid "On an inefficient filesystem with `core.ignorestat` set" +msgid "Reset a single file in the index" +msgstr "" + +#. type: Plain text +#: en/git-reset.txt:257 +msgid "" +"Suppose you have added a file to your index, but later decide you do not " +"want to add it to your commit. You can remove the file from the index while " +"keeping your changes with git reset." msgstr "" #. type: delimited block - -#: en/git-update-index.txt:360 +#: en/git-reset.txt:262 #, no-wrap msgid "" -"$ git update-index --really-refresh <1>\n" -"$ git update-index --no-assume-unchanged foo.c <2>\n" -"$ git diff --name-only <3>\n" -"$ edit foo.c\n" -"$ git diff --name-only <4>\n" -"M foo.c\n" -"$ git update-index foo.c <5>\n" -"$ git diff --name-only <6>\n" -"$ edit foo.c\n" -"$ git diff --name-only <7>\n" -"$ git update-index --no-assume-unchanged foo.c <8>\n" -"$ git diff --name-only <9>\n" -"M foo.c\n" +"$ git reset -- frotz.c <1>\n" +"$ git commit -m \"Commit files in index\" <2>\n" +"$ git add frotz.c <3>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:363 -msgid "forces lstat(2) to set \"assume unchanged\" bits for paths that match index." +#: en/git-reset.txt:266 +msgid "" +"This removes the file from the index while keeping it in the working " +"directory." msgstr "" #. type: Plain text -#: en/git-update-index.txt:364 -msgid "mark the path to be edited." +#: en/git-reset.txt:267 +msgid "This commits all other changes in the index." msgstr "" #. type: Plain text -#: en/git-update-index.txt:365 -msgid "this does lstat(2) and finds index matches the path." +#: en/git-reset.txt:268 +msgid "Adds the file to the index again." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:366 -msgid "this does lstat(2) and finds index does *not* match the path." +#. type: Labeled list +#: en/git-reset.txt:269 +#, no-wrap +msgid "Keep changes in working tree while discarding some previous commits" msgstr "" #. type: Plain text -#: en/git-update-index.txt:367 -msgid "registering the new version to index sets \"assume unchanged\" bit." +#: en/git-reset.txt:276 +msgid "" +"Suppose you are working on something and you commit it, and then you " +"continue working a bit more, but now you think that what you have in your " +"working tree should be in another branch that has nothing to do with what " +"you committed previously. You can start a new branch and reset it while " +"keeping the changes in your working tree." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:368 -msgid "and it is assumed unchanged." +#. type: delimited block - +#: en/git-reset.txt:285 +#, no-wrap +msgid "" +"$ git tag start\n" +"$ git checkout -b branch1\n" +"$ edit\n" +"$ git commit ... <1>\n" +"$ edit\n" +"$ git checkout -b branch2 <2>\n" +"$ git reset --keep start <3>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:369 -msgid "even after you edit it." +#: en/git-reset.txt:288 +msgid "This commits your first edits in branch1." msgstr "" #. type: Plain text -#: en/git-update-index.txt:370 -msgid "you can tell about the change after the fact." +#: en/git-reset.txt:292 +msgid "" +"In the ideal world, you could have realized that the earlier commit did not " +"belong to the new topic when you created and switched to branch2 (i.e. \"git " +"checkout -b branch2 start\"), but nobody is perfect." msgstr "" #. type: Plain text -#: en/git-update-index.txt:371 -msgid "now it checks with lstat(2) and finds it has been changed." +#: en/git-reset.txt:294 +msgid "" +"But you can use \"reset --keep\" to remove the unwanted commit after you " +"switched to \"branch2\"." msgstr "" -#. type: Title - -#: en/git-update-index.txt:374 +#. type: Labeled list +#: en/git-reset.txt:295 #, no-wrap -msgid "Skip-worktree bit" +msgid "Split a commit apart into a sequence of commits" msgstr "" #. type: Plain text -#: en/git-update-index.txt:380 +#: en/git-reset.txt:303 msgid "" -"Skip-worktree bit can be defined in one (long) sentence: When reading an " -"entry, if it is marked as skip-worktree, then Git pretends its working " -"directory version is up to date and read the index version instead." +"Suppose that you have created lots of logically separate changes and " +"commited them together. Then, later you decide that it might be better to " +"have each logical chunk associated with its own commit. You can use git " +"reset to rewind history without changing the contents of your local files, " +"and then successively use `git add -p` to interactively select which hunks " +"to include into each commit, using `git commit -c` to pre-populate the " +"commit message." msgstr "" -#. type: Plain text -#: en/git-update-index.txt:388 +#. type: delimited block - +#: en/git-reset.txt:313 +#, no-wrap msgid "" -"To elaborate, \"reading\" means checking for file existence, reading file " -"attributes or file content. The working directory version may be present or " -"absent. If present, its content may match against the index version or " -"not. Writing is not affected by this bit, content safety is still first " -"priority. Note that Git _can_ update working directory file, that is marked " -"skip-worktree, if it is safe to do so (i.e. working directory version " -"matches index version)" +"$ git reset -N HEAD^ <1>\n" +"$ git add -p <2>\n" +"$ git diff --cached <3>\n" +"$ git commit -c HEAD@{1} <4>\n" +"... <5>\n" +"$ git add ... <6>\n" +"$ git diff --cached <7>\n" +"$ git commit ... <8>\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:392 +#: en/git-reset.txt:319 msgid "" -"Although this bit looks similar to assume-unchanged bit, its goal is " -"different from assume-unchanged bit's. Skip-worktree also takes precedence " -"over assume-unchanged bit when both are set." +"First, reset the history back one commit so that we remove the original " +"commit, but leave the working tree with all the changes. The -N ensures that " +"any new files added with HEAD are still marked so that git add -p will find " +"them." msgstr "" -#. type: Title - -#: en/git-update-index.txt:394 -#, no-wrap -msgid "Split index" +#. type: Plain text +#: en/git-reset.txt:323 +msgid "" +"Next, we interactively select diff hunks to add using the git add -p " +"facility. This will ask you about each diff hunk in sequence and you can use " +"simple commands such as \"yes, include this\", \"No don't include this\" or " +"even the very powerful \"edit\" facility." msgstr "" #. type: Plain text -#: en/git-update-index.txt:398 +#: en/git-reset.txt:327 msgid "" -"This mode is designed for repositories with very large indexes, and aims at " -"reducing the time it takes to repeatedly write these indexes." +"Once satisfied with the hunks you want to include, you should verify what " +"has been prepared for the first commit by using git diff --cached. This " +"shows all the changes that have been moved into the index and are about to " +"be committed." msgstr "" #. type: Plain text -#: en/git-update-index.txt:403 +#: en/git-reset.txt:333 msgid "" -"In this mode, the index is split into two files, $GIT_DIR/index and " -"$GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in $GIT_DIR/index, the " -"split index, while the shared index file contains all index entries and " -"stays unchanged." +"Next, commit the changes stored in the index. The -c option specifies to " +"pre-populate the commit message from the original message that you started " +"with in the first commit. This is helpful to avoid retyping it. The HEAD@{1} " +"is a special notation for the commit that HEAD used to be at prior to the " +"original reset commit (1 change ago). See linkgit:git-reflog[1] for more " +"details. You may also use any other valid commit reference." msgstr "" #. type: Plain text -#: en/git-update-index.txt:408 +#: en/git-reset.txt:335 msgid "" -"All changes in the split index are pushed back to the shared index file when " -"the number of entries in the split index reaches a level specified by the " -"splitIndex.maxPercentChange config variable (see linkgit:git-config[1])." +"You can repeat steps 2-4 multiple times to break the original code into any " +"number of commits." msgstr "" #. type: Plain text -#: en/git-update-index.txt:413 +#: en/git-reset.txt:338 msgid "" -"Each time a new shared index file is created, the old shared index files are " -"deleted if their modification time is older than what is specified by the " -"splitIndex.sharedIndexExpire config variable (see linkgit:git-config[1])." +"Now you've split out many of the changes into their own commits, and might " +"no longer use the patch mode of git add, in order to select all remaining " +"uncommitted changes." msgstr "" #. type: Plain text -#: en/git-update-index.txt:417 +#: en/git-reset.txt:341 msgid "" -"To avoid deleting a shared index file that is still used, its modification " -"time is updated to the current time everytime a new split index based on the " -"shared index file is either created or read from." +"Once again, check to verify that you've included what you want to. You may " +"also wish to verify that git diff doesn't show any remaining changes to be " +"committed later." msgstr "" -#. type: Title - -#: en/git-update-index.txt:419 +#. type: Plain text +#: en/git-reset.txt:342 +msgid "And finally create the final commit." +msgstr "" + +#. type: Plain text +#: en/git-reset.txt:348 +msgid "The tables below show what happens when running:" +msgstr "" + +#. type: delimited block - +#: en/git-reset.txt:351 #, no-wrap -msgid "Untracked cache" +msgid "git reset --option target\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:423 +#: en/git-reset.txt:355 msgid "" -"This cache is meant to speed up commands that involve determining untracked " -"files such as `git status`." +"to reset the HEAD to another commit (`target`) with the different reset " +"options depending on the state of the files." msgstr "" #. type: Plain text -#: en/git-update-index.txt:430 +#: en/git-reset.txt:364 msgid "" -"This feature works by recording the mtime of the working tree directories " -"and then omitting reading directories and stat calls against files in those " -"directories whose mtime hasn't changed. For this to work the underlying " -"operating system and file system must change the `st_mtime` field of " -"directories if files in the directory are added, modified or deleted." -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:435 -msgid "" -"You can test whether the filesystem supports that with the " -"`--test-untracked-cache` option. The `--untracked-cache` option used to " -"implicitly perform that test in older versions of Git, but that's no longer " -"the case." -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:443 -msgid "" -"If you want to enable (or disable) this feature, it is easier to use the " -"`core.untrackedCache` configuration variable (see linkgit:git-config[1]) " -"than using the `--untracked-cache` option to `git update-index` in each " -"repository, especially if you want to do so across all repositories you use, " -"because you can set the configuration variable to `true` (or `false`) in " -"your `$HOME/.gitconfig` just once and have it affect all repositories you " -"touch." -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:449 -msgid "" -"When the `core.untrackedCache` configuration variable is changed, the " -"untracked cache is added to or removed from the index the next time a " -"command reads the index; while when `--[no-|force-]untracked-cache` are " -"used, the untracked cache is immediately added to or removed from the index." +"In these tables, A, B, C and D are some different states of a file. For " +"example, the first line of the first table means that if a file is in state " +"A in the working tree, in state B in the index, in state C in HEAD and in " +"state D in the target, then \"git reset --soft target\" will leave the file " +"in the working tree in state A and in the index in state B. It resets " +"(i.e. moves) the HEAD (i.e. the tip of the current branch, if you are on " +"one) to \"target\" (which has the file in state D)." msgstr "" #. type: Plain text -#: en/git-update-index.txt:460 +#: en/git-reset.txt:372 #, no-wrap msgid "" -"The command honors `core.filemode` configuration variable. If\n" -"your repository is on a filesystem whose executable bits are\n" -"unreliable, this should be set to 'false' (see linkgit:git-config[1]).\n" -"This causes the command to ignore differences in file modes recorded\n" -"in the index and the file mode on the filesystem if they differ only on\n" -"executable bit. On such an unfortunate filesystem, you may\n" -"need to use 'git update-index --chmod='.\n" -msgstr "" - -#. type: Plain text -#: en/git-update-index.txt:465 -msgid "" -"Quite similarly, if `core.symlinks` configuration variable is set to 'false' " -"(see linkgit:git-config[1]), symbolic links are checked out as plain files, " -"and this command does not modify a recorded file mode from symbolic link to " -"regular file." +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" A B C D --soft A B D\n" +"\t\t\t\t--mixed A D D\n" +"\t\t\t\t--hard D D D\n" +"\t\t\t\t--merge (disallowed)\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:468 +#: en/git-reset.txt:380 +#, no-wrap msgid "" -"The command looks at `core.ignorestat` configuration variable. See 'Using " -"\"assume unchanged\" bit' section above." +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" A B C C --soft A B C\n" +"\t\t\t\t--mixed A C C\n" +"\t\t\t\t--hard C C C\n" +"\t\t\t\t--merge (disallowed)\n" +"\t\t\t\t--keep A C C\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:473 +#: en/git-reset.txt:388 +#, no-wrap msgid "" -"The command also looks at `core.trustctime` configuration variable. It can " -"be useful when the inode change time is regularly modified by something " -"outside Git (file system crawlers and backup systems use ctime for marking " -"files processed) (see linkgit:git-config[1])." +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B B C D --soft B B D\n" +"\t\t\t\t--mixed B D D\n" +"\t\t\t\t--hard D D D\n" +"\t\t\t\t--merge D D D\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:477 +#: en/git-reset.txt:396 +#, no-wrap msgid "" -"The untracked cache extension can be enabled by the `core.untrackedCache` " -"configuration variable (see linkgit:git-config[1])." +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B B C C --soft B B C\n" +"\t\t\t\t--mixed B C C\n" +"\t\t\t\t--hard C C C\n" +"\t\t\t\t--merge C C C\n" +"\t\t\t\t--keep B C C\n" msgstr "" #. type: Plain text -#: en/git-update-index.txt:483 -msgid "linkgit:git-config[1], linkgit:git-add[1], linkgit:git-ls-files[1]" -msgstr "" - -#. type: Title = -#: en/git-update-ref.txt:2 +#: en/git-reset.txt:404 #, no-wrap -msgid "git-update-ref(1)" -msgstr "" - -#. type: Plain text -#: en/git-update-ref.txt:7 -msgid "git-update-ref - Update the object name stored in a ref safely" +msgid "" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B C C D --soft B C D\n" +"\t\t\t\t--mixed B D D\n" +"\t\t\t\t--hard D D D\n" +"\t\t\t\t--merge (disallowed)\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:12 +#: en/git-reset.txt:412 #, no-wrap msgid "" -"'git update-ref' [-m <reason>] (-d <ref> [<oldvalue>] | [--no-deref] " -"[--create-reflog] <ref> <newvalue> [<oldvalue>] | --stdin [-z])\n" +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" B C C C --soft B C C\n" +"\t\t\t\t--mixed B C C\n" +"\t\t\t\t--hard C C C\n" +"\t\t\t\t--merge B C C\n" +"\t\t\t\t--keep B C C\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:18 +#: en/git-reset.txt:421 msgid "" -"Given two arguments, stores the <newvalue> in the <ref>, possibly " -"dereferencing the symbolic refs. E.g. `git update-ref HEAD <newvalue>` " -"updates the current branch head to the new object." +"\"reset --merge\" is meant to be used when resetting out of a conflicted " +"merge. Any mergy operation guarantees that the working tree file that is " +"involved in the merge does not have local change wrt the index before it " +"starts, and that it writes the result out to the working tree. So if we see " +"some difference between the index and the target and also between the index " +"and the working tree, then it means that we are not resetting out from a " +"state that a mergy operation left after failing with a conflict. That is why " +"we disallow --merge option in this case." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:27 +#: en/git-reset.txt:430 msgid "" -"Given three arguments, stores the <newvalue> in the <ref>, possibly " -"dereferencing the symbolic refs, after verifying that the current value of " -"the <ref> matches <oldvalue>. E.g. `git update-ref refs/heads/master " -"<newvalue> <oldvalue>` updates the master branch head to <newvalue> only if " -"its current value is <oldvalue>. You can specify 40 \"0\" or an empty " -"string as <oldvalue> to make sure that the ref you are creating does not " -"exist." +"\"reset --keep\" is meant to be used when removing some of the last commits " +"in the current branch while keeping changes in the working tree. If there " +"could be conflicts between the changes in the commit we want to remove and " +"the changes in the working tree we want to keep, the reset is " +"disallowed. That's why it is disallowed if there are both changes between " +"the working tree and HEAD, and between HEAD and the target. To be safe, it " +"is also disallowed when there are unmerged entries." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:31 -msgid "" -"It also allows a \"ref\" file to be a symbolic pointer to another ref file " -"by starting with the four-byte header sequence of \"ref:\"." +#: en/git-reset.txt:433 +msgid "The following tables show what happens when there are unmerged entries:" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:39 +#: en/git-reset.txt:441 +#, no-wrap msgid "" -"More importantly, it allows the update of a ref file to follow these " -"symbolic pointers, whether they are symlinks or these \"regular file " -"symbolic refs\". It follows *real* symlinks only if they start with " -"\"refs/\": otherwise it will just try to read them and update them as a " -"regular file (i.e. it will allow the filesystem to follow them, but will " -"overwrite such a symlink to somewhere else with a regular filename)." +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" X U A B --soft (disallowed)\n" +"\t\t\t\t--mixed X B B\n" +"\t\t\t\t--hard B B B\n" +"\t\t\t\t--merge B B B\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:42 +#: en/git-reset.txt:449 +#, no-wrap msgid "" -"If --no-deref is given, <ref> itself is overwritten, rather than the result " -"of following the symbolic pointers." +" working index HEAD target working index HEAD\n" +" ----------------------------------------------------\n" +" X U A A --soft (disallowed)\n" +"\t\t\t\t--mixed X A A\n" +"\t\t\t\t--hard A A A\n" +"\t\t\t\t--merge A A A\n" +"\t\t\t\t--keep (disallowed)\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:44 -msgid "In general, using" +#: en/git-reset.txt:451 +msgid "X means any state and U means an unmerged index." msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:46 +#. type: Title = +#: en/git-revert.txt:2 #, no-wrap -msgid "\tgit update-ref HEAD \"$head\"\n" +msgid "git-revert(1)" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:48 -msgid "should be a _lot_ safer than doing" +#: en/git-revert.txt:7 +msgid "git-revert - Revert some existing commits" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:50 +#: en/git-revert.txt:15 #, no-wrap -msgid "\techo \"$head\" > \"$GIT_DIR/HEAD\"\n" +msgid "" +"'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] " +"<commit>...\n" +"'git revert' --continue\n" +"'git revert' --quit\n" +"'git revert' --abort\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:57 +#: en/git-revert.txt:23 msgid "" -"both from a symlink following standpoint *and* an error checking " -"standpoint. The \"refs/\" rule for symlinks means that symlinks that point " -"to \"outside\" the tree are safe: they'll be followed for reading but not " -"for writing (so we'll never write through a ref symlink to some other tree, " -"if you have copied a whole archive by creating a symlink tree)." +"Given one or more existing commits, revert the changes that the related " +"patches introduce, and record some new commits that record them. This " +"requires your working tree to be clean (no modifications from the HEAD " +"commit)." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:60 +#: en/git-revert.txt:32 msgid "" -"With `-d` flag, it deletes the named <ref> after verifying it still contains " -"<oldvalue>." +"Note: 'git revert' is used to record some new commits to reverse the effect " +"of some earlier commits (often only a faulty one). If you want to throw " +"away all uncommitted changes in your working directory, you should see " +"linkgit:git-reset[1], particularly the `--hard` option. If you want to " +"extract specific files as they were in another commit, you should see " +"linkgit:git-checkout[1], specifically the `git checkout <commit> -- " +"<filename>` syntax. Take care with these alternatives as both will discard " +"uncommitted changes in your working directory." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:63 +#: en/git-revert.txt:42 msgid "" -"With `--stdin`, update-ref reads instructions from standard input and " -"performs all modifications together. Specify commands of the form:" +"Commits to revert. For a more complete list of ways to spell commit names, " +"see linkgit:gitrevisions[7]. Sets of commits can also be given but no " +"traversal is done by default, see linkgit:git-rev-list[1] and its " +"`--no-walk` option." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:69 -#, no-wrap +#: en/git-revert.txt:48 msgid "" -"\tupdate SP <ref> SP <newvalue> [SP <oldvalue>] LF\n" -"\tcreate SP <ref> SP <newvalue> LF\n" -"\tdelete SP <ref> [SP <oldvalue>] LF\n" -"\tverify SP <ref> [SP <oldvalue>] LF\n" -"\toption SP <opt> LF\n" +"With this option, 'git revert' will let you edit the commit message prior to " +"committing the revert. This is the default if you run the command from a " +"terminal." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:72 +#: en/git-revert.txt:56 msgid "" -"With `--create-reflog`, update-ref will create a reflog for each ref even if " -"one would not ordinarily be created." +"Usually you cannot revert a merge because you do not know which side of the " +"merge should be considered the mainline. This option specifies the parent " +"number (starting from 1) of the mainline and allows revert to reverse the " +"change relative to the specified parent." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:77 +#: en/git-revert.txt:61 msgid "" -"Quote fields containing whitespace as if they were strings in C source code; " -"i.e., surrounded by double-quotes and with backslash escapes. Use 40 \"0\" " -"characters or the empty string to specify a zero value. To specify a " -"missing value, omit the value and its preceding SP entirely." +"Reverting a merge commit declares that you will never want the tree changes " +"brought in by the merge. As a result, later merges will only bring in tree " +"changes introduced by commits that are not ancestors of the previously " +"reverted merge. This may or may not be what you want." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:80 +#: en/git-revert.txt:64 msgid "" -"Alternatively, use `-z` to specify in NUL-terminated format, without " -"quoting:" +"See the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] " +"for more details." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:86 -#, no-wrap -msgid "" -"\tupdate SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL\n" -"\tcreate SP <ref> NUL <newvalue> NUL\n" -"\tdelete SP <ref> NUL [<oldvalue>] NUL\n" -"\tverify SP <ref> NUL [<oldvalue>] NUL\n" -"\toption SP <opt> NUL\n" +#: en/git-revert.txt:68 +msgid "With this option, 'git revert' will not start the commit message editor." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:89 +#: en/git-revert.txt:79 msgid "" -"In this format, use 40 \"0\" to specify a zero value, and use the empty " -"string to specify a missing value." +"Usually the command automatically creates some commits with commit log " +"messages stating which commits were reverted. This flag applies the changes " +"necessary to revert the named commits to your working tree and the index, " +"but does not make the commits. In addition, when this option is used, your " +"index does not have to match the HEAD commit. The revert is done against " +"the beginning state of your index." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:93 +#: en/git-revert.txt:82 msgid "" -"In either format, values can be specified in any form that Git recognizes as " -"an object name. Commands in any other format or a repeated <ref> produce an " -"error. Command meanings are:" +"This is useful when reverting more than one commits' effect to your index in " +"a row." msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:99 -msgid "" -"Set <ref> to <newvalue> after verifying <oldvalue>, if given. Specify a " -"zero <newvalue> to ensure the ref does not exist after the update and/or a " -"zero <oldvalue> to make sure the ref does not exist before the update." +#. type: Labeled list +#: en/git-revert.txt:110 +#, no-wrap +msgid "`git revert HEAD~3`" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:103 +#: en/git-revert.txt:114 msgid "" -"Create <ref> with <newvalue> after verifying it does not exist. The given " -"<newvalue> may not be zero." +"Revert the changes specified by the fourth last commit in HEAD and create a " +"new commit with the reverted changes." msgstr "" #. type: Labeled list -#: en/git-update-ref.txt:104 +#: en/git-revert.txt:115 #, no-wrap -msgid "delete" +msgid "`git revert -n master~5..master~2`" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:107 +#: en/git-revert.txt:122 msgid "" -"Delete <ref> after verifying it exists with <oldvalue>, if given. If given, " -"<oldvalue> may not be zero." +"Revert the changes done by commits from the fifth last commit in master " +"(included) to the third last commit in master (included), but do not create " +"any commit with the reverted changes. The revert only modifies the working " +"tree and the index." msgstr "" -#. type: Labeled list -#: en/git-update-ref.txt:108 +#. type: Title = +#: en/git-rev-list.txt:2 #, no-wrap -msgid "verify" +msgid "git-rev-list(1)" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:111 -msgid "" -"Verify <ref> against <oldvalue> but do not change it. If <oldvalue> zero or " -"missing, the ref must not exist." +#: en/git-rev-list.txt:7 +msgid "git-rev-list - Lists commit objects in reverse chronological order" msgstr "" -#. type: Labeled list -#: en/git-update-ref.txt:112 +#. type: Plain text +#: en/git-rev-list.txt:62 #, no-wrap -msgid "option" +msgid "" +"'git rev-list' [ --max-count=<number> ]\n" +"\t [ --skip=<number> ]\n" +"\t [ --max-age=<timestamp> ]\n" +"\t [ --min-age=<timestamp> ]\n" +"\t [ --sparse ]\n" +"\t [ --merges ]\n" +"\t [ --no-merges ]\n" +"\t [ --min-parents=<number> ]\n" +"\t [ --no-min-parents ]\n" +"\t [ --max-parents=<number> ]\n" +"\t [ --no-max-parents ]\n" +"\t [ --first-parent ]\n" +"\t [ --remove-empty ]\n" +"\t [ --full-history ]\n" +"\t [ --not ]\n" +"\t [ --all ]\n" +"\t [ --branches[=<pattern>] ]\n" +"\t [ --tags[=<pattern>] ]\n" +"\t [ --remotes[=<pattern>] ]\n" +"\t [ --glob=<glob-pattern> ]\n" +"\t [ --ignore-missing ]\n" +"\t [ --stdin ]\n" +"\t [ --quiet ]\n" +"\t [ --topo-order ]\n" +"\t [ --parents ]\n" +"\t [ --timestamp ]\n" +"\t [ --left-right ]\n" +"\t [ --left-only ]\n" +"\t [ --right-only ]\n" +"\t [ --cherry-mark ]\n" +"\t [ --cherry-pick ]\n" +"\t [ --encoding=<encoding> ]\n" +"\t [ --(author|committer|grep)=<pattern> ]\n" +"\t [ --regexp-ignore-case | -i ]\n" +"\t [ --extended-regexp | -E ]\n" +"\t [ --fixed-strings | -F ]\n" +"\t [ --date=<format>]\n" +"\t [ [ --objects | --objects-edge | --objects-edge-aggressive ]\n" +"\t [ --unpacked ] ]\n" +"\t [ --pretty | --header ]\n" +"\t [ --bisect ]\n" +"\t [ --bisect-vars ]\n" +"\t [ --bisect-all ]\n" +"\t [ --merge ]\n" +"\t [ --reverse ]\n" +"\t [ --walk-reflogs ]\n" +"\t [ --no-walk ] [ --do-walk ]\n" +"\t [ --count ]\n" +"\t [ --use-bitmap-index ]\n" +"\t <commit>... [ \\-- <paths>... ]\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:116 +#: en/git-rev-list.txt:70 msgid "" -"Modify behavior of the next command naming a <ref>. The only valid option " -"is `no-deref` to avoid dereferencing a symbolic ref." +"List commits that are reachable by following the `parent` links from the " +"given commit(s), but exclude commits that are reachable from the one(s) " +"given with a '{caret}' in front of them. The output is given in reverse " +"chronological order by default." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:122 +#: en/git-rev-list.txt:77 msgid "" -"If all <ref>s can be locked with matching <oldvalue>s simultaneously, all " -"modifications are performed. Otherwise, no modifications are performed. " -"Note that while each individual <ref> is updated or deleted atomically, a " -"concurrent reader may still see a subset of the modifications." +"You can think of this as a set operation. Commits given on the command line " +"form a set of commits that are reachable from any of them, and then commits " +"reachable from any of the ones given with '{caret}' in front are subtracted " +"from that set. The remaining commits are what comes out in the command's " +"output. Various other options and paths parameters can be used to further " +"limit the result." msgstr "" -#. type: Title - -#: en/git-update-ref.txt:124 -#, no-wrap -msgid "Logging Updates" +#. type: Plain text +#: en/git-rev-list.txt:79 +msgid "Thus, the following command:" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:131 -msgid "" -"If config parameter \"core.logAllRefUpdates\" is true and the ref is one " -"under \"refs/heads/\", \"refs/remotes/\", \"refs/notes/\", or the symbolic " -"ref HEAD; or the file \"$GIT_DIR/logs/<ref>\" exists then `git update-ref` " -"will append a line to the log file \"$GIT_DIR/logs/<ref>\" (dereferencing " -"all symbolic refs before creating the log name) describing the change in ref " -"value. Log lines are formatted as:" +#. type: delimited block - +#: en/git-rev-list.txt:82 +#, no-wrap +msgid "\t$ git rev-list foo bar ^baz\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:133 -msgid "oldsha1 SP newsha1 SP committer LF" +#: en/git-rev-list.txt:86 +msgid "" +"means \"list all the commits which are reachable from 'foo' or 'bar', but " +"not from 'baz'\"." msgstr "" #. type: Plain text -#: en/git-update-ref.txt:138 +#: en/git-rev-list.txt:90 msgid "" -"Where \"oldsha1\" is the 40 character hexadecimal value previously stored in " -"<ref>, \"newsha1\" is the 40 character hexadecimal value of <newvalue> and " -"\"committer\" is the committer's name, email address and date in the " -"standard Git committer ident format." +"A special notation \"'<commit1>'..'<commit2>'\" can be used as a short-hand " +"for \"{caret}'<commit1>' '<commit2>'\". For example, either of the following " +"may be used interchangeably:" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:140 -msgid "Optionally with -m:" +#. type: delimited block - +#: en/git-rev-list.txt:94 +#, no-wrap +msgid "" +"\t$ git rev-list origin..HEAD\n" +"\t$ git rev-list HEAD ^origin\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:142 -msgid "oldsha1 SP newsha1 SP committer TAB message LF" +#: en/git-rev-list.txt:99 +msgid "" +"Another special notation is \"'<commit1>'...'<commit2>'\" which is useful " +"for merges. The resulting set of commits is the symmetric difference " +"between the two operands. The following two commands are equivalent:" msgstr "" -#. type: Plain text -#: en/git-update-ref.txt:145 +#. type: delimited block - +#: en/git-rev-list.txt:103 +#, no-wrap msgid "" -"Where all fields are as described above and \"message\" is the value " -"supplied to the -m option." +"\t$ git rev-list A B --not $(git merge-base --all A B)\n" +"\t$ git rev-list A...B\n" msgstr "" #. type: Plain text -#: en/git-update-ref.txt:149 +#: en/git-rev-list.txt:110 msgid "" -"An update will fail (without changing <ref>) if the current user is unable " -"to create a new log file, append to the existing log file or does not have " -"committer information available." +"'rev-list' is a very essential Git command, since it provides the ability to " +"build and traverse commit ancestry graphs. For this reason, it has a lot of " +"different options that enables it to be used by commands as different as " +"'git bisect' and 'git repack'." msgstr "" #. type: Title = -#: en/git-update-server-info.txt:2 +#: en/git-rev-parse.txt:2 #, no-wrap -msgid "git-update-server-info(1)" +msgid "git-rev-parse(1)" msgstr "" #. type: Plain text -#: en/git-update-server-info.txt:7 -msgid "git-update-server-info - Update auxiliary info file to help dumb servers" +#: en/git-rev-parse.txt:7 +msgid "git-rev-parse - Pick out and massage parameters" msgstr "" #. type: Plain text -#: en/git-update-server-info.txt:13 +#: en/git-rev-parse.txt:13 #, no-wrap -msgid "'git update-server-info' [--force]\n" +msgid "'git rev-parse' [ --option ] <args>...\n" msgstr "" #. type: Plain text -#: en/git-update-server-info.txt:21 -msgid "" -"A dumb server that does not do on-the-fly pack generations must have some " -"auxiliary information files in $GIT_DIR/info and $GIT_OBJECT_DIRECTORY/info " -"directories to help clients discover what references and packs the server " -"has. This command generates such auxiliary files." -msgstr "" - -#. type: Plain text -#: en/git-update-server-info.txt:29 -msgid "Update the info files from scratch." -msgstr "" - -#. type: Plain text -#: en/git-update-server-info.txt:37 +#: en/git-rev-parse.txt:23 msgid "" -"Currently the command updates the following files. Please see " -"linkgit:gitrepository-layout[5] for description of what they are for:" +"Many Git porcelainish commands take mixture of flags (i.e. parameters that " +"begin with a dash '-') and parameters meant for the underlying 'git " +"rev-list' command they use internally and flags and parameters for the other " +"commands they use downstream of 'git rev-list'. This command is used to " +"distinguish between them." msgstr "" -#. type: Plain text -#: en/git-update-server-info.txt:39 -msgid "objects/info/packs" +#. type: Title ~ +#: en/git-rev-parse.txt:29 +#, no-wrap +msgid "Operation Modes" msgstr "" #. type: Plain text -#: en/git-update-server-info.txt:41 -msgid "info/refs" +#: en/git-rev-parse.txt:32 +msgid "Each of these options must appear first on the command line." msgstr "" -#. type: Title = -#: en/git-upload-archive.txt:2 +#. type: Labeled list +#: en/git-rev-parse.txt:33 #, no-wrap -msgid "git-upload-archive(1)" +msgid "--parseopt" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:7 -msgid "git-upload-archive - Send archive back to git-archive" +#: en/git-rev-parse.txt:35 +msgid "Use 'git rev-parse' in option parsing mode (see PARSEOPT section below)." msgstr "" -#. type: Plain text -#: en/git-upload-archive.txt:13 +#. type: Labeled list +#: en/git-rev-parse.txt:36 #, no-wrap -msgid "'git upload-archive' <directory>\n" -msgstr "" - -#. type: Plain text -#: en/git-upload-archive.txt:18 -msgid "" -"Invoked by 'git archive --remote' and sends a generated archive to the other " -"end over the Git protocol." +msgid "--sq-quote" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:22 +#: en/git-rev-parse.txt:40 msgid "" -"This command is usually not invoked directly by the end user. The UI for " -"the protocol is on the 'git archive' side, and the program pair is meant to " -"be used to get an archive from a remote repository." +"Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE section below). In " +"contrast to the `--sq` option below, this mode does only quoting. Nothing " +"else is done to command input." msgstr "" -#. type: Title - -#: en/git-upload-archive.txt:24 en/transfer-data-leaks.txt:2 +#. type: Title ~ +#: en/git-rev-parse.txt:42 #, no-wrap -msgid "SECURITY" +msgid "Options for --parseopt" msgstr "" -#. type: Plain text -#: en/git-upload-archive.txt:32 -msgid "" -"In order to protect the privacy of objects that have been removed from " -"history but may not yet have been pruned, `git-upload-archive` avoids " -"serving archives for commits and trees that are not reachable from the " -"repository's refs. However, because calculating object reachability is " -"computationally expensive, `git-upload-archive` implements a stricter but " -"easier-to-check set of rules:" +#. type: Labeled list +#: en/git-rev-parse.txt:44 +#, no-wrap +msgid "--keep-dashdash" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:35 +#: en/git-rev-parse.txt:47 msgid "" -"Clients may request a commit or tree that is pointed to directly by a " -"ref. E.g., `git archive --remote=origin v1.0`." +"Only meaningful in `--parseopt` mode. Tells the option parser to echo out " +"the first `--` met instead of skipping it." msgstr "" -#. type: Plain text -#: en/git-upload-archive.txt:38 -msgid "" -"Clients may request a sub-tree within a commit or tree using the `ref:path` " -"syntax. E.g., `git archive --remote=origin v1.0:Documentation`." +#. type: Labeled list +#: en/git-rev-parse.txt:48 +#, no-wrap +msgid "--stop-at-non-option" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:43 +#: en/git-rev-parse.txt:52 msgid "" -"Clients may _not_ use other sha1 expressions, even if the end result is " -"reachable. E.g., neither a relative commit like `master^` nor a literal sha1 " -"like `abcd1234` is allowed, even if the result is reachable from the refs." +"Only meaningful in `--parseopt` mode. Lets the option parser stop at the " +"first non-option argument. This can be used to parse sub-commands that take " +"options themselves." msgstr "" -#. type: Plain text -#: en/git-upload-archive.txt:48 -msgid "" -"Note that rule 3 disallows many cases that do not have any privacy " -"implications. These rules are subject to change in future versions of git, " -"and the server accessed by `git archive --remote` may or may not follow " -"these exact rules." +#. type: Labeled list +#: en/git-rev-parse.txt:53 +#, no-wrap +msgid "--stuck-long" msgstr "" #. type: Plain text -#: en/git-upload-archive.txt:54 +#: en/git-rev-parse.txt:56 msgid "" -"If the config option `uploadArchive.allowUnreachable` is true, these rules " -"are ignored, and clients may use arbitrary sha1 expressions. This is useful " -"if you do not care about the privacy of unreachable objects, or if your " -"object database is already publicly available for access via non-smart-http." +"Only meaningful in `--parseopt` mode. Output the options in their long form " +"if available, and with their arguments stuck." msgstr "" -#. type: Plain text -#: en/git-upload-archive.txt:59 -msgid "The repository to get a tar archive from." +#. type: Title ~ +#: en/git-rev-parse.txt:58 +#, no-wrap +msgid "Options for Filtering" msgstr "" -#. type: Title = -#: en/git-upload-pack.txt:2 +#. type: Labeled list +#: en/git-rev-parse.txt:60 #, no-wrap -msgid "git-upload-pack(1)" +msgid "--revs-only" msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:7 -msgid "git-upload-pack - Send objects packed back to git-fetch-pack" +#: en/git-rev-parse.txt:63 +msgid "Do not output flags and parameters not meant for 'git rev-list' command." msgstr "" -#. type: Plain text -#: en/git-upload-pack.txt:15 +#. type: Labeled list +#: en/git-rev-parse.txt:64 #, no-wrap -msgid "" -"'git-upload-pack' [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n" -"\t\t [--advertise-refs] <directory>\n" -"DESCRIPTION\n" +msgid "--no-revs" msgstr "" -#. type: delimited block - -#: en/git-upload-pack.txt:18 -#, no-wrap -msgid "" -"Invoked by 'git fetch-pack', learns what\n" -"objects the other side is missing, and sends them after packing.\n" +#. type: Plain text +#: en/git-rev-parse.txt:67 +msgid "Do not output flags and parameters meant for 'git rev-list' command." msgstr "" -#. type: delimited block - -#: en/git-upload-pack.txt:23 +#. type: Labeled list +#: en/git-rev-parse.txt:68 #, no-wrap -msgid "" -"This command is usually not invoked directly by the end user.\n" -"The UI for the protocol is on the 'git fetch-pack' side, and the\n" -"program pair is meant to be used to pull updates from a remote\n" -"repository. For push operations, see 'git send-pack'.\n" +msgid "--flags" msgstr "" -#. type: delimited block - -#: en/git-upload-pack.txt:26 -#, no-wrap -msgid "OPTIONS\n" +#. type: Plain text +#: en/git-rev-parse.txt:70 +msgid "Do not output non-flag parameters." msgstr "" #. type: Labeled list -#: en/git-upload-pack.txt:28 +#: en/git-rev-parse.txt:71 #, no-wrap -msgid "--[no-]strict" +msgid "--no-flags" msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:30 -msgid "Do not try <directory>/.git/ if <directory> is no Git directory." +#: en/git-rev-parse.txt:73 +msgid "Do not output flag parameters." msgstr "" -#. type: Plain text -#: en/git-upload-pack.txt:33 -msgid "Interrupt transfer after <n> seconds of inactivity." +#. type: Title ~ +#: en/git-rev-parse.txt:75 +#, no-wrap +msgid "Options for Output" msgstr "" #. type: Labeled list -#: en/git-upload-pack.txt:34 +#: en/git-rev-parse.txt:77 #, no-wrap -msgid "--stateless-rpc" +msgid "--default <arg>" msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:38 -msgid "" -"Perform only a single read-write cycle with stdin and stdout. This fits " -"with the HTTP POST request processing model where a program may read the " -"request, write a response, and must exit." +#: en/git-rev-parse.txt:80 +msgid "If there is no parameter given by the user, use `<arg>` instead." msgstr "" #. type: Labeled list -#: en/git-upload-pack.txt:39 +#: en/git-rev-parse.txt:81 #, no-wrap -msgid "--advertise-refs" +msgid "--prefix <arg>" msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:43 +#: en/git-rev-parse.txt:86 msgid "" -"Only the initial ref advertisement is output, and the program exits " -"immediately. This fits with the HTTP GET request model, where no request " -"content is received but a response must be produced." +"Behave as if 'git rev-parse' was invoked from the `<arg>` subdirectory of " +"the working tree. Any relative filenames are resolved as if they are " +"prefixed by `<arg>` and will be printed in that form." msgstr "" #. type: Plain text -#: en/git-upload-pack.txt:46 -msgid "The repository to sync from." +#: en/git-rev-parse.txt:90 +msgid "" +"This can be used to convert arguments to a command run in a subdirectory so " +"that they can still be used after moving to the top-level of the " +"repository. For example:" msgstr "" -#. type: Plain text -#: en/git-upload-pack.txt:50 -msgid "linkgit:gitnamespaces[7]" +#. type: delimited block - +#: en/git-rev-parse.txt:96 +#, no-wrap +msgid "" +"prefix=$(git rev-parse --show-prefix)\n" +"cd \"$(git rev-parse --show-toplevel)\"\n" +"# rev-parse provides the -- needed for 'set'\n" +"eval \"set $(git rev-parse --sq --prefix \"$prefix\" -- \"$@\")\"\n" msgstr "" -#. type: Title = -#: en/git-var.txt:2 -#, no-wrap -msgid "git-var(1)" +#. type: Plain text +#: en/git-rev-parse.txt:103 +msgid "" +"Verify that exactly one parameter is provided, and that it can be turned " +"into a raw 20-byte SHA-1 that can be used to access the object database. If " +"so, emit it to the standard output; otherwise, error out." msgstr "" #. type: Plain text -#: en/git-var.txt:7 -msgid "git-var - Show a Git logical variable" +#: en/git-rev-parse.txt:112 +msgid "" +"If you want to make sure that the output actually names an object in your " +"object database and/or can be used as a specific type of object you require, " +"you can add the `^{type}` peeling operator to the parameter. For example, " +"`git rev-parse \"$VAR^{commit}\"` will make sure `$VAR` names an existing " +"object that is a commit-ish (i.e. a commit, or an annotated tag that points " +"at a commit). To make sure that `$VAR` names an existing object of any " +"type, `git rev-parse \"$VAR^{object}\"` can be used." msgstr "" #. type: Plain text -#: en/git-var.txt:13 +#: en/git-rev-parse.txt:119 +msgid "" +"Only meaningful in `--verify` mode. Do not output an error message if the " +"first argument is not a valid object name; instead exit with non-zero status " +"silently. SHA-1s for valid object names are printed to stdout on success." +msgstr "" + +#. type: Labeled list +#: en/git-rev-parse.txt:120 #, no-wrap -msgid "'git var' ( -l | <variable> )\n" +msgid "--sq" msgstr "" #. type: Plain text -#: en/git-var.txt:17 -msgid "Prints a Git logical variable." +#: en/git-rev-parse.txt:128 +msgid "" +"Usually the output is made one line per flag and parameter. This option " +"makes output a single line, properly quoted for consumption by shell. " +"Useful when you expect your parameter to contain whitespaces and newlines " +"(e.g. when using pickaxe `-S` with 'git diff-{asterisk}'). In contrast to " +"the `--sq-quote` option, the command input is still interpreted as usual." msgstr "" #. type: Plain text -#: en/git-var.txt:25 +#: en/git-rev-parse.txt:133 msgid "" -"Cause the logical variables to be listed. In addition, all the variables of " -"the Git configuration file .git/config are listed as well. (However, the " -"configuration variables listing functionality is deprecated in favor of `git " -"config -l`.)" +"When showing object names, prefix them with '{caret}' and strip '{caret}' " +"prefix from the object names that already have one." msgstr "" -#. type: delimited block - -#: en/git-var.txt:30 +#. type: Labeled list +#: en/git-rev-parse.txt:134 #, no-wrap -msgid "" -"\t$ git var GIT_AUTHOR_IDENT\n" -"\tEric W. Biederman <ebiederm@lnxi.com> 1121223278 -0600\n" +msgid "--abbrev-ref[=(strict|loose)]" msgstr "" -#. type: delimited block - -#: en/git-var.txt:33 -#, no-wrap -msgid "VARIABLES\n" +#. type: Plain text +#: en/git-rev-parse.txt:138 +msgid "" +"A non-ambiguous short name of the objects name. The option " +"core.warnAmbiguousRefs is used to select the strict abbreviation mode." msgstr "" #. type: Labeled list -#: en/git-var.txt:34 +#: en/git-rev-parse.txt:140 #, no-wrap -msgid "GIT_AUTHOR_IDENT" +msgid "--short=number" msgstr "" #. type: Plain text -#: en/git-var.txt:36 -msgid "The author of a piece of code." +#: en/git-rev-parse.txt:144 +msgid "" +"Instead of outputting the full SHA-1 values of object names try to " +"abbreviate them to a shorter unique name. When no length is specified 7 is " +"used. The minimum length is 4." msgstr "" #. type: Labeled list -#: en/git-var.txt:37 +#: en/git-rev-parse.txt:145 #, no-wrap -msgid "GIT_COMMITTER_IDENT" +msgid "--symbolic" msgstr "" #. type: Plain text -#: en/git-var.txt:39 -msgid "The person who put a piece of code into Git." +#: en/git-rev-parse.txt:149 +msgid "" +"Usually the object names are output in SHA-1 form (with possible '{caret}' " +"prefix); this option makes them output in a form as close to the original " +"input as possible." msgstr "" #. type: Labeled list -#: en/git-var.txt:40 +#: en/git-rev-parse.txt:150 #, no-wrap -msgid "GIT_EDITOR" +msgid "--symbolic-full-name" msgstr "" #. type: Plain text -#: en/git-var.txt:48 +#: en/git-rev-parse.txt:157 msgid "" -"Text editor for use by Git commands. The value is meant to be interpreted " -"by the shell when it is used. Examples: `~/bin/vi`, " -"`$SOME_ENVIRONMENT_VARIABLE`, `\"C:\\Program Files\\Vim\\gvim.exe\" " -"--nofork`. The order of preference is the `$GIT_EDITOR` environment " -"variable, then `core.editor` configuration, then `$VISUAL`, then `$EDITOR`, " -"and then the default chosen at compile time, which is usually 'vi'." +"This is similar to --symbolic, but it omits input that are not refs " +"(i.e. branch or tag names; or more explicitly disambiguating " +"\"heads/master\" form, when you want to name the \"master\" branch when " +"there is an unfortunately named tag \"master\"), and show them as full " +"refnames (e.g. \"refs/heads/master\")." +msgstr "" + +#. type: Title ~ +#: en/git-rev-parse.txt:159 +#, no-wrap +msgid "Options for Objects" msgstr "" #. type: Plain text -#: en/git-var.txt:50 +#: en/git-rev-parse.txt:163 +msgid "Show all refs found in `refs/`." +msgstr "" + +#. type: Labeled list +#: en/git-rev-parse.txt:164 #, no-wrap -msgid " The build you are using chose '{git-default-editor}' as the default.\n" +msgid "--branches[=pattern]" msgstr "" #. type: Labeled list -#: en/git-var.txt:52 +#: en/git-rev-parse.txt:165 #, no-wrap -msgid "GIT_PAGER" +msgid "--tags[=pattern]" msgstr "" -#. type: Plain text -#: en/git-var.txt:58 en/config.txt:772 -msgid "" -"Text viewer for use by Git commands (e.g., 'less'). The value is meant to " -"be interpreted by the shell. The order of preference is the `$GIT_PAGER` " -"environment variable, then `core.pager` configuration, then `$PAGER`, and " -"then the default chosen at compile time (usually 'less')." +#. type: Labeled list +#: en/git-rev-parse.txt:166 +#, no-wrap +msgid "--remotes[=pattern]" msgstr "" #. type: Plain text -#: en/git-var.txt:60 -#, no-wrap -msgid " The build you are using chose '{git-default-pager}' as the default.\n" +#: en/git-rev-parse.txt:170 +msgid "" +"Show all branches, tags, or remote-tracking branches, respectively (i.e., " +"refs found in `refs/heads`, `refs/tags`, or `refs/remotes`, respectively)." msgstr "" #. type: Plain text -#: en/git-var.txt:67 -msgid "linkgit:git-commit-tree[1] linkgit:git-tag[1] linkgit:git-config[1]" +#: en/git-rev-parse.txt:174 +msgid "" +"If a `pattern` is given, only refs matching the given shell glob are shown. " +"If the pattern does not contain a globbing character (`?`, `*`, or `[`), it " +"is turned into a prefix match by appending `/*`." msgstr "" -#. type: Title = -#: en/git-verify-commit.txt:2 +#. type: Labeled list +#: en/git-rev-parse.txt:175 #, no-wrap -msgid "git-verify-commit(1)" +msgid "--glob=pattern" msgstr "" #. type: Plain text -#: en/git-verify-commit.txt:7 -msgid "git-verify-commit - Check the GPG signature of commits" +#: en/git-rev-parse.txt:181 +msgid "" +"Show all refs matching the shell glob pattern `pattern`. If the pattern does " +"not start with `refs/`, this is automatically prepended. If the pattern " +"does not contain a globbing character (`?`, `*`, or `[`), it is turned into " +"a prefix match by appending `/*`." msgstr "" -#. type: Plain text -#: en/git-verify-commit.txt:12 +#. type: Labeled list +#: en/git-rev-parse.txt:182 en/rev-list-options.txt:163 #, no-wrap -msgid "'git verify-commit' <commit>...\n" +msgid "--exclude=<glob-pattern>" msgstr "" #. type: Plain text -#: en/git-verify-commit.txt:16 -msgid "Validates the GPG signature created by 'git commit -S'." +#: en/git-rev-parse.txt:189 en/rev-list-options.txt:171 +msgid "" +"Do not include refs matching '<glob-pattern>' that the next `--all`, " +"`--branches`, `--tags`, `--remotes`, or `--glob` would otherwise " +"consider. Repetitions of this option accumulate exclusion patterns up to the " +"next `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` option (other " +"options or arguments do not clear accumulated patterns)." msgstr "" #. type: Plain text -#: en/git-verify-commit.txt:22 en/git-verify-tag.txt:22 +#: en/git-rev-parse.txt:195 en/rev-list-options.txt:177 msgid "" -"Print the raw gpg status output to standard error instead of the normal " -"human-readable output." +"The patterns given should not begin with `refs/heads`, `refs/tags`, or " +"`refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`, " +"respectively, and they must begin with `refs/` when applied to `--glob` or " +"`--all`. If a trailing '/{asterisk}' is intended, it must be given " +"explicitly." msgstr "" -#. type: Plain text -#: en/git-verify-commit.txt:26 -msgid "Print the contents of the commit object before validating it." +#. type: Labeled list +#: en/git-rev-parse.txt:196 +#, no-wrap +msgid "--disambiguate=<prefix>" msgstr "" #. type: Plain text -#: en/git-verify-commit.txt:29 -msgid "SHA-1 identifiers of Git commit objects." +#: en/git-rev-parse.txt:201 +msgid "" +"Show every object whose name begins with the given prefix. The <prefix> " +"must be at least 4 hexadecimal digits long to avoid listing each and every " +"object in the repository by mistake." msgstr "" -#. type: Title = -#: en/git-verify-pack.txt:2 +#. type: Title ~ +#: en/git-rev-parse.txt:203 #, no-wrap -msgid "git-verify-pack(1)" -msgstr "" - -#. type: Plain text -#: en/git-verify-pack.txt:7 -msgid "git-verify-pack - Validate packed Git archive files" +msgid "Options for Files" msgstr "" -#. type: Plain text -#: en/git-verify-pack.txt:13 +#. type: Labeled list +#: en/git-rev-parse.txt:205 #, no-wrap -msgid "'git verify-pack' [-v|--verbose] [-s|--stat-only] [--] <pack>.idx ...\n" +msgid "--local-env-vars" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:20 +#: en/git-rev-parse.txt:210 msgid "" -"Reads given idx file for packed Git archive created with the 'git " -"pack-objects' command and verifies idx file and the corresponding pack file." +"List the GIT_* environment variables that are local to the repository " +"(e.g. GIT_DIR or GIT_WORK_TREE, but not GIT_EDITOR). Only the names of the " +"variables are listed, not their value, even if they are set." msgstr "" #. type: Labeled list -#: en/git-verify-pack.txt:23 +#: en/git-rev-parse.txt:211 #, no-wrap -msgid "<pack>.idx ..." +msgid "--git-dir" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:25 -msgid "The idx files to verify." +#: en/git-rev-parse.txt:215 +msgid "" +"Show `$GIT_DIR` if defined. Otherwise show the path to the .git " +"directory. The path shown, when relative, is relative to the current working " +"directory." msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:30 +#: en/git-rev-parse.txt:219 msgid "" -"After verifying the pack, show list of objects contained in the pack and a " -"histogram of delta chain length." +"If `$GIT_DIR` is not defined and the current directory is not detected to " +"lie in a Git repository or work tree print a message to stderr and exit with " +"nonzero status." msgstr "" #. type: Labeled list -#: en/git-verify-pack.txt:32 +#: en/git-rev-parse.txt:220 #, no-wrap -msgid "--stat-only" +msgid "--absolute-git-dir" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:35 -msgid "" -"Do not verify the pack contents; only show the histogram of delta chain " -"length. With `--verbose`, list of objects is also shown." +#: en/git-rev-parse.txt:223 +msgid "Like `--git-dir`, but its output is always the canonicalized absolute path." msgstr "" -#. type: Title - -#: en/git-verify-pack.txt:40 +#. type: Labeled list +#: en/git-rev-parse.txt:224 #, no-wrap -msgid "OUTPUT FORMAT" +msgid "--git-common-dir" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:42 -msgid "When specifying the -v option the format used is:" +#: en/git-rev-parse.txt:226 +msgid "Show `$GIT_COMMON_DIR` if defined, else `$GIT_DIR`." msgstr "" -#. type: Plain text -#: en/git-verify-pack.txt:44 +#. type: Labeled list +#: en/git-rev-parse.txt:227 #, no-wrap -msgid "\tSHA-1 type size size-in-packfile offset-in-packfile\n" +msgid "--is-inside-git-dir" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:46 -msgid "for objects that are not deltified in the pack, and" +#: en/git-rev-parse.txt:230 +msgid "" +"When the current working directory is below the repository directory print " +"\"true\", otherwise \"false\"." msgstr "" -#. type: Plain text -#: en/git-verify-pack.txt:48 +#. type: Labeled list +#: en/git-rev-parse.txt:231 #, no-wrap -msgid "\tSHA-1 type size size-in-packfile offset-in-packfile depth base-SHA-1\n" +msgid "--is-inside-work-tree" msgstr "" #. type: Plain text -#: en/git-verify-pack.txt:50 -msgid "for objects that are deltified." +#: en/git-rev-parse.txt:234 +msgid "" +"When the current working directory is inside the work tree of the repository " +"print \"true\", otherwise \"false\"." msgstr "" -#. type: Title = -#: en/git-verify-tag.txt:2 +#. type: Labeled list +#: en/git-rev-parse.txt:235 #, no-wrap -msgid "git-verify-tag(1)" +msgid "--is-bare-repository" msgstr "" #. type: Plain text -#: en/git-verify-tag.txt:7 -msgid "git-verify-tag - Check the GPG signature of tags" +#: en/git-rev-parse.txt:237 +msgid "When the repository is bare print \"true\", otherwise \"false\"." msgstr "" -#. type: Plain text -#: en/git-verify-tag.txt:12 +#. type: Labeled list +#: en/git-rev-parse.txt:238 #, no-wrap -msgid "'git verify-tag' [--format=<format>] <tag>...\n" -msgstr "" - -#. type: Plain text -#: en/git-verify-tag.txt:16 -msgid "Validates the gpg signature created by 'git tag'." +msgid "--resolve-git-dir <path>" msgstr "" #. type: Plain text -#: en/git-verify-tag.txt:26 -msgid "Print the contents of the tag object before validating it." +#: en/git-rev-parse.txt:243 +msgid "" +"Check if <path> is a valid repository or a gitfile that points at a valid " +"repository, and print the location of the repository. If <path> is a " +"gitfile then the resolved path to the real repository is printed." msgstr "" #. type: Labeled list -#: en/git-verify-tag.txt:27 +#: en/git-rev-parse.txt:244 #, no-wrap -msgid "<tag>..." +msgid "--git-path <path>" msgstr "" #. type: Plain text -#: en/git-verify-tag.txt:29 -msgid "SHA-1 identifiers of Git tag objects." +#: en/git-rev-parse.txt:250 +msgid "" +"Resolve \"$GIT_DIR/<path>\" and takes other path relocation variables such " +"as $GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... into account. For example, if " +"$GIT_OBJECT_DIRECTORY is set to /foo/bar then \"git rev-parse --git-path " +"objects/abc\" returns /foo/bar/abc." msgstr "" -#. type: Title = -#: en/git-web--browse.txt:2 +#. type: Labeled list +#: en/git-rev-parse.txt:251 #, no-wrap -msgid "git-web{litdd}browse(1)" +msgid "--show-cdup" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:7 -msgid "git-web--browse - Git helper script to launch a web browser" +#: en/git-rev-parse.txt:255 +msgid "" +"When the command is invoked from a subdirectory, show the path of the " +"top-level directory relative to the current directory (typically a sequence " +"of \"../\", or an empty string)." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:12 +#. type: Labeled list +#: en/git-rev-parse.txt:256 #, no-wrap -msgid "'git web{litdd}browse' [OPTIONS] URL/FILE ...\n" +msgid "--show-prefix" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:19 +#: en/git-rev-parse.txt:260 msgid "" -"This script tries, as much as possible, to display the URLs and FILEs that " -"are passed as arguments, as HTML pages in new tabs on an already opened web " -"browser." +"When the command is invoked from a subdirectory, show the path of the " +"current directory relative to the top-level directory." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:21 -msgid "The following browsers (or commands) are currently supported:" +#. type: Labeled list +#: en/git-rev-parse.txt:261 +#, no-wrap +msgid "--show-toplevel" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:23 -msgid "firefox (this is the default under X Window when not using KDE)" +#: en/git-rev-parse.txt:263 +msgid "Show the absolute path of the top-level directory." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:24 -msgid "iceweasel" +#: en/git-rev-parse.txt:269 +#, no-wrap +msgid "" +"--show-superproject-working-tree\n" +"\tShow the absolute path of the root of the superproject's\n" +"\tworking tree (if exists) that uses the current repository as\n" +"\tits submodule. Outputs nothing if the current repository is\n" +"\tnot used as a submodule by any project.\n" msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:25 -msgid "seamonkey" +#. type: Labeled list +#: en/git-rev-parse.txt:270 +#, no-wrap +msgid "--shared-index-path" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:26 -msgid "iceape" +#: en/git-rev-parse.txt:273 +msgid "" +"Show the path to the shared index file in split index mode, or empty if not " +"in split-index mode." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:27 -msgid "chromium (also supported as chromium-browser)" +#. type: Title ~ +#: en/git-rev-parse.txt:275 +#, no-wrap +msgid "Other Options" msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:28 -msgid "google-chrome (also supported as chrome)" +#. type: Labeled list +#: en/git-rev-parse.txt:277 +#, no-wrap +msgid "--since=datestring" msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:29 -msgid "konqueror (this is the default under KDE, see 'Note about konqueror' below)" +#. type: Labeled list +#: en/git-rev-parse.txt:278 +#, no-wrap +msgid "--after=datestring" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:30 -msgid "opera" +#: en/git-rev-parse.txt:281 +msgid "" +"Parse the date string, and output the corresponding --max-age= parameter for " +"'git rev-list'." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:31 -msgid "w3m (this is the default outside graphical environments)" +#. type: Labeled list +#: en/git-rev-parse.txt:282 +#, no-wrap +msgid "--until=datestring" msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:32 -msgid "elinks" +#. type: Labeled list +#: en/git-rev-parse.txt:283 +#, no-wrap +msgid "--before=datestring" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:33 -msgid "links" +#: en/git-rev-parse.txt:286 +msgid "" +"Parse the date string, and output the corresponding --min-age= parameter for " +"'git rev-list'." msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:34 -msgid "lynx" +#. type: Labeled list +#: en/git-rev-parse.txt:287 +#, no-wrap +msgid "<args>..." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:35 -msgid "dillo" +#: en/git-rev-parse.txt:289 +msgid "Flags and parameters to be parsed." +msgstr "" + +#. type: Title - +#: en/git-rev-parse.txt:294 +#, no-wrap +msgid "PARSEOPT" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:36 -msgid "open (this is the default under Mac OS X GUI)" +#: en/git-rev-parse.txt:299 +msgid "" +"In `--parseopt` mode, 'git rev-parse' helps massaging options to bring to " +"shell scripts the same facilities C builtins have. It works as an option " +"normalizer (e.g. splits single switches aggregate values), a bit like " +"`getopt(1)` does." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:37 -msgid "start (this is the default under MinGW)" +#: en/git-rev-parse.txt:304 +msgid "" +"It takes on the standard input the specification of the options to parse and " +"understand, and echoes on the standard output a string suitable for `sh(1)` " +"`eval` to replace the arguments with normalized ones. In case of error, it " +"outputs usage on the standard error stream, and exits with code 129." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:38 -msgid "cygstart (this is the default under Cygwin)" +#: en/git-rev-parse.txt:307 +msgid "" +"Note: Make sure you quote the result when passing it to `eval`. See below " +"for an example." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:39 -msgid "xdg-open" +#: en/git-rev-parse.txt:315 +msgid "" +"'git rev-parse --parseopt' input format is fully text based. It has two " +"parts, separated by a line that contains only `--`. The lines before the " +"separator (should be one or more) are used for the usage. The lines after " +"the separator describe the options." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:41 -msgid "Custom commands may also be specified." +#: en/git-rev-parse.txt:317 +msgid "Each line of options has this format:" msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:44 +#. type: delimited block - +#: en/git-rev-parse.txt:320 #, no-wrap -msgid "-b <browser>" +msgid "<opt-spec><flags>*<arg-hint>? SP+ help LF\n" msgstr "" #. type: Labeled list -#: en/git-web--browse.txt:45 +#: en/git-rev-parse.txt:322 #, no-wrap -msgid "--browser=<browser>" +msgid "`<opt-spec>`" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:48 -msgid "Use the specified browser. It must be in the list of supported browsers." +#: en/git-rev-parse.txt:327 +msgid "" +"its format is the short option character, then the long option name " +"separated by a comma. Both parts are not required, though at least one is " +"necessary. May not contain any of the `<flags>` characters. `h,help`, " +"`dry-run` and `f` are examples of correct `<opt-spec>`." msgstr "" #. type: Labeled list -#: en/git-web--browse.txt:49 +#: en/git-rev-parse.txt:328 #, no-wrap -msgid "-t <browser>" +msgid "`<flags>`" msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:50 -#, no-wrap -msgid "--tool=<browser>" +#. type: Plain text +#: en/git-rev-parse.txt:330 +msgid "`<flags>` are of `*`, `=`, `?` or `!`." msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:53 -#, no-wrap -msgid "-c <conf.var>" +#. type: Plain text +#: en/git-rev-parse.txt:331 +msgid "Use `=` if the option takes an argument." msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:54 -#, no-wrap -msgid "--config=<conf.var>" +#. type: Plain text +#: en/git-rev-parse.txt:335 +msgid "" +"Use `?` to mean that the option takes an optional argument. You probably " +"want to use the `--stuck-long` mode to be able to unambiguously parse the " +"optional argument." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:57 +#: en/git-rev-parse.txt:339 msgid "" -"CONF.VAR is looked up in the Git config files. If it's set, then its value " -"specifies the browser that should be used." +"Use `*` to mean that this option should not be listed in the usage generated " +"for the `-h` argument. It's shown for `--help-all` as documented in " +"linkgit:gitcli[7]." msgstr "" -#. type: Title ~ -#: en/git-web--browse.txt:62 +#. type: Plain text +#: en/git-rev-parse.txt:341 +msgid "Use `!` to not make the corresponding negated long option available." +msgstr "" + +#. type: Labeled list +#: en/git-rev-parse.txt:342 #, no-wrap -msgid "CONF.VAR (from -c option) and web.browser" +msgid "`<arg-hint>`" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:67 +#: en/git-rev-parse.txt:347 msgid "" -"The web browser can be specified using a configuration variable passed with " -"the -c (or --config) command-line option, or the `web.browser` configuration " -"variable if the former is not used." +"`<arg-hint>`, if specified, is used as a name of the argument in the help " +"output, for options that take arguments. `<arg-hint>` is terminated by the " +"first whitespace. It is customary to use a dash to separate words in a " +"multi-word argument hint." msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:69 en/config.txt:1018 -#, no-wrap -msgid "browser.<tool>.path" +#. type: Plain text +#: en/git-rev-parse.txt:350 +msgid "" +"The remainder of the line, after stripping the spaces, is used as the help " +"associated to the option." msgstr "" #. type: Plain text -#: en/git-web--browse.txt:76 +#: en/git-rev-parse.txt:354 msgid "" -"You can explicitly provide a full path to your preferred browser by setting " -"the configuration variable `browser.<tool>.path`. For example, you can " -"configure the absolute path to firefox by setting " -"'browser.firefox.path'. Otherwise, 'git web{litdd}browse' assumes the tool " -"is available in PATH." +"Blank lines are ignored, and lines that don't match this specification are " +"used as option group headers (start the line with a space to create such " +"lines on purpose)." msgstr "" -#. type: Labeled list -#: en/git-web--browse.txt:78 en/config.txt:1013 +#. type: delimited block - +#: en/git-rev-parse.txt:361 #, no-wrap -msgid "browser.<tool>.cmd" +msgid "" +"OPTS_SPEC=\"\\\n" +"some-command [options] <args>...\n" msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:86 +#. type: delimited block - +#: en/git-rev-parse.txt:363 +#, no-wrap msgid "" -"When the browser, specified by options or configuration variables, is not " -"among the supported ones, then the corresponding `browser.<tool>.cmd` " -"configuration variable will be looked up. If this variable exists then 'git " -"web{litdd}browse' will treat the specified tool as a custom command and will " -"use a shell eval to run the command with the URLs passed as arguments." +"some-command does foo and bar!\n" +"--\n" msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:93 -msgid "" -"When 'konqueror' is specified by a command-line option or a configuration " -"variable, we launch 'kfmclient' to try to open the HTML man page on an " -"already opened konqueror in a new tab if possible." +#. type: delimited block - +#: en/git-rev-parse.txt:365 +#, no-wrap +msgid "h,help show the help\n" msgstr "" -#. type: Plain text -#: en/git-web--browse.txt:97 +#. type: delimited block - +#: en/git-rev-parse.txt:370 +#, no-wrap msgid "" -"For consistency, we also try such a trick if 'browser.konqueror.path' is set " -"to something like 'A_PATH_TO/konqueror'. That means we will try to launch " -"'A_PATH_TO/kfmclient' instead." +"foo some nifty option --foo\n" +"bar= some cool option --bar with an argument\n" +"baz=arg another cool option --baz with a named argument\n" +"qux?path qux may take a path argument but has meaning by itself\n" msgstr "" #. type: delimited block - -#: en/git-web--browse.txt:104 +#: en/git-rev-parse.txt:373 #, no-wrap msgid "" -"\t[web]\n" -"\t\tbrowser = konq\n" +" An option group Header\n" +"C? option C with an optional argument\"\n" msgstr "" #. type: delimited block - -#: en/git-web--browse.txt:107 +#: en/git-rev-parse.txt:375 #, no-wrap msgid "" -"\t[browser \"konq\"]\n" -"\t\tcmd = A_PATH_TO/konqueror\n" +"eval \"$(echo \"$OPTS_SPEC\" | git rev-parse --parseopt -- \"$@\" || echo " +"exit $?)\"\n" msgstr "" #. type: Title ~ -#: en/git-web--browse.txt:110 +#: en/git-rev-parse.txt:379 #, no-wrap -msgid "Note about git-config --global" +msgid "Usage text" msgstr "" #. type: Plain text -#: en/git-web--browse.txt:114 +#: en/git-rev-parse.txt:383 msgid "" -"Note that these configuration variables should probably be set using the " -"`--global` flag, for example like this:" +"When `\"$@\"` is `-h` or `--help` in the above example, the following usage " +"text would be shown:" msgstr "" #. type: delimited block - -#: en/git-web--browse.txt:117 +#: en/git-rev-parse.txt:386 #, no-wrap -msgid "$ git config --global web.browser firefox\n" +msgid "usage: some-command [options] <args>...\n" msgstr "" -#. type: Title = -#: en/git-whatchanged.txt:2 +#. type: delimited block - +#: en/git-rev-parse.txt:388 #, no-wrap -msgid "git-whatchanged(1)" +msgid " some-command does foo and bar!\n" msgstr "" -#. type: Plain text -#: en/git-whatchanged.txt:7 -msgid "git-whatchanged - Show logs with difference each commit introduces" +#. type: delimited block - +#: en/git-rev-parse.txt:394 +#, no-wrap +msgid "" +" -h, --help show the help\n" +" --foo some nifty option --foo\n" +" --bar ... some cool option --bar with an argument\n" +" --baz <arg> another cool option --baz with a named argument\n" +" --qux[=<path>] qux may take a path argument but has meaning by " +"itself\n" msgstr "" -#. type: Plain text -#: en/git-whatchanged.txt:13 +#. type: delimited block - +#: en/git-rev-parse.txt:397 #, no-wrap -msgid "'git whatchanged' <option>...\n" +msgid "" +"An option group Header\n" +" -C[...] option C with an optional argument\n" msgstr "" -#. type: Plain text -#: en/git-whatchanged.txt:18 -msgid "Shows commit logs and diff output each commit introduces." +#. type: Title - +#: en/git-rev-parse.txt:400 +#, no-wrap +msgid "SQ-QUOTE" msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:22 +#: en/git-rev-parse.txt:406 msgid "" -"New users are encouraged to use linkgit:git-log[1] instead. The " -"`whatchanged` command is essentially the same as linkgit:git-log[1] but " -"defaults to show the raw format diff output and to skip merges." +"In `--sq-quote` mode, 'git rev-parse' echoes on the standard output a single " +"line suitable for `sh(1)` `eval`. This line is made by normalizing the " +"arguments following `--sq-quote`. Nothing other than quoting the arguments " +"is done." msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:26 +#: en/git-rev-parse.txt:410 msgid "" -"The command is kept primarily for historical reasons; fingers of many people " -"who learned Git long before `git log` was invented by reading Linux kernel " -"mailing list are trained to type it." +"If you want command input to still be interpreted as usual by 'git " +"rev-parse' before the output is shell quoted, see the `--sq` option." msgstr "" -#. type: Labeled list -#: en/git-whatchanged.txt:30 +#. type: delimited block - +#: en/git-rev-parse.txt:422 #, no-wrap -msgid "`git whatchanged -p v2.6.12.. include/scsi drivers/scsi`" +msgid "" +"$ cat >your-git-script.sh <<\\EOF\n" +"#!/bin/sh\n" +"args=$(git rev-parse --sq-quote \"$@\") # quote user-supplied arguments\n" +"command=\"git frotz -n24 $args\" # and use it inside a " +"handcrafted\n" +"\t\t\t\t\t# command line\n" +"eval \"$command\"\n" +"EOF\n" +msgstr "" + +#. type: delimited block - +#: en/git-rev-parse.txt:424 +#, no-wrap +msgid "$ sh your-git-script.sh \"a b'c\"\n" msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:34 -msgid "" -"Show as patches the commits since version 'v2.6.12' that changed any file in " -"the include/scsi or drivers/scsi subdirectories" +#: en/git-rev-parse.txt:430 +msgid "Print the object name of the current commit:" msgstr "" -#. type: Labeled list -#: en/git-whatchanged.txt:35 +#. type: delimited block - +#: en/git-rev-parse.txt:433 #, no-wrap -msgid "`git whatchanged --since=\"2 weeks ago\" -- gitk`" +msgid "$ git rev-parse --verify HEAD\n" msgstr "" #. type: Plain text -#: en/git-whatchanged.txt:40 -msgid "" -"Show the changes during the last two weeks to the file 'gitk'. The \"--\" " -"is necessary to avoid confusion with the *branch* named 'gitk'" +#: en/git-rev-parse.txt:436 +msgid "Print the commit object name from the revision in the $REV shell variable:" msgstr "" -#. type: Title = -#: en/git-worktree.txt:2 +#. type: delimited block - +#: en/git-rev-parse.txt:439 #, no-wrap -msgid "git-worktree(1)" +msgid "$ git rev-parse --verify $REV^{commit}\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:7 -msgid "git-worktree - Manage multiple working trees" +#: en/git-rev-parse.txt:442 +msgid "This will error out if $REV is empty or not a valid revision." msgstr "" #. type: Plain text -#: en/git-worktree.txt:17 +#: en/git-rev-parse.txt:444 +msgid "Similar to above:" +msgstr "" + +#. type: delimited block - +#: en/git-rev-parse.txt:447 #, no-wrap -msgid "" -"'git worktree add' [-f] [--detach] [--checkout] [-b <new-branch>] <path> " -"[<branch>]\n" -"'git worktree list' [--porcelain]\n" -"'git worktree lock' [--reason <string>] <worktree>\n" -"'git worktree prune' [-n] [-v] [--expire <expire>]\n" -"'git worktree unlock' <worktree>\n" +msgid "$ git rev-parse --default master --verify $REV\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:22 -msgid "Manage multiple working trees attached to the same repository." +#: en/git-rev-parse.txt:450 +msgid "but if $REV is empty, the commit object name from master will be printed." msgstr "" -#. type: Plain text -#: en/git-worktree.txt:29 -msgid "" -"A git repository can support multiple working trees, allowing you to check " -"out more than one branch at a time. With `git worktree add` a new working " -"tree is associated with the repository. This new working tree is called a " -"\"linked working tree\" as opposed to the \"main working tree\" prepared by " -"\"git init\" or \"git clone\". A repository has one main working tree (if " -"it's not a bare repository) and zero or more linked working trees." +#. type: Title = +#: en/git-rm.txt:2 +#, no-wrap +msgid "git-rm(1)" msgstr "" #. type: Plain text -#: en/git-worktree.txt:36 -msgid "" -"When you are done with a linked working tree you can simply delete it. The " -"working tree's administrative files in the repository (see \"DETAILS\" " -"below) will eventually be removed automatically (see " -"`gc.worktreePruneExpire` in linkgit:git-config[1]), or you can run `git " -"worktree prune` in the main or any linked working tree to clean up any stale " -"administrative files." +#: en/git-rm.txt:7 +msgid "git-rm - Remove files from the working tree and from the index" msgstr "" #. type: Plain text -#: en/git-worktree.txt:40 +#: en/git-rm.txt:12 +#, no-wrap msgid "" -"If you move a linked working tree, you need to manually update the " -"administrative files so that they do not get pruned automatically. See " -"section \"DETAILS\" for more information." +"'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] " +"[--] <file>...\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:45 +#: en/git-rm.txt:25 msgid "" -"If a linked working tree is stored on a portable device or network share " -"which is not always mounted, you can prevent its administrative files from " -"being pruned by issuing the `git worktree lock` command, optionally " -"specifying `--reason` to explain why the working tree is locked." -msgstr "" - -#. type: Labeled list -#: en/git-worktree.txt:48 -#, no-wrap -msgid "add <path> [<branch>]" +"Remove files from the index, or from the working tree and the index. `git " +"rm` will not remove a file from just your working directory. (There is no " +"option to remove a file only from the working tree and yet keep it in the " +"index; use `/bin/rm` if you want to do that.) The files being removed have " +"to be identical to the tip of the branch, and no updates to their contents " +"can be staged in the index, though that default behavior can be overridden " +"with the `-f` option. When `--cached` is given, the staged content has to " +"match either the tip of the branch or the file on disk, allowing the file to " +"be removed from just the index." msgstr "" #. type: Plain text -#: en/git-worktree.txt:54 +#: en/git-rm.txt:38 msgid "" -"Create `<path>` and checkout `<branch>` into it. The new working directory " -"is linked to the current repository, sharing everything except working " -"directory specific files such as HEAD, index, etc. `-` may also be specified " -"as `<branch>`; it is synonymous with `@{-1}`." +"Files to remove. Fileglobs (e.g. `*.c`) can be given to remove all matching " +"files. If you want Git to expand file glob characters, you may need to " +"shell-escape them. A leading directory name (e.g. `dir` to remove " +"`dir/file1` and `dir/file2`) can be given to remove all files in the " +"directory, and recursively all sub-directories, but this requires the `-r` " +"option to be explicitly given." msgstr "" #. type: Plain text -#: en/git-worktree.txt:58 -msgid "" -"If `<branch>` is omitted and neither `-b` nor `-B` nor `--detach` used, " -"then, as a convenience, a new branch based at HEAD is created automatically, " -"as if `-b $(basename <path>)` was specified." +#: en/git-rm.txt:42 +msgid "Override the up-to-date check." msgstr "" #. type: Plain text -#: en/git-worktree.txt:65 +#: en/git-rm.txt:48 msgid "" -"List details of each worktree. The main worktree is listed first, followed " -"by each of the linked worktrees. The output details include if the worktree " -"is bare, the revision currently checked out, and the branch currently " -"checked out (or 'detached HEAD' if none)." -msgstr "" - -#. type: Labeled list -#: en/git-worktree.txt:66 -#, no-wrap -msgid "lock" +"Don't actually remove any file(s). Instead, just show if they exist in the " +"index and would otherwise be removed by the command." msgstr "" #. type: Plain text -#: en/git-worktree.txt:73 -msgid "" -"If a working tree is on a portable device or network share which is not " -"always mounted, lock it to prevent its administrative files from being " -"pruned automatically. This also prevents it from being moved or " -"deleted. Optionally, specify a reason for the lock with `--reason`." +#: en/git-rm.txt:52 +msgid "Allow recursive removal when a leading directory name is given." msgstr "" #. type: Plain text -#: en/git-worktree.txt:77 -msgid "Prune working tree information in $GIT_DIR/worktrees." +#: en/git-rm.txt:62 +msgid "" +"Use this option to unstage and remove paths only from the index. Working " +"tree files, whether modified or not, will be left alone." msgstr "" #. type: Labeled list -#: en/git-worktree.txt:78 +#: en/git-rm.txt:63 #, no-wrap -msgid "unlock" +msgid "--ignore-unmatch" msgstr "" #. type: Plain text -#: en/git-worktree.txt:81 -msgid "Unlock a working tree, allowing it to be pruned, moved or deleted." +#: en/git-rm.txt:65 +msgid "Exit with a zero status even if no files matched." msgstr "" #. type: Plain text -#: en/git-worktree.txt:90 +#: en/git-rm.txt:70 msgid "" -"By default, `add` refuses to create a new working tree when `<branch>` is " -"already checked out by another working tree. This option overrides that " -"safeguard." +"`git rm` normally outputs one line (in the form of an `rm` command) for " +"each file removed. This option suppresses that output." msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:91 -#, no-wrap -msgid "-b <new-branch>" +#. type: Plain text +#: en/git-rm.txt:79 +msgid "" +"The <file> list given to the command can be exact pathnames, file glob " +"patterns, or leading directory names. The command removes only the paths " +"that are known to Git. Giving the name of a file that you have not told Git " +"about does not remove that file." msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:92 +#. type: Plain text +#: en/git-rm.txt:84 +msgid "" +"File globbing matches across directory boundaries. Thus, given two " +"directories `d` and `d2`, there is a difference between using `git rm 'd*'` " +"and `git rm 'd/*'`, as the former will also remove all of directory `d2`." +msgstr "" + +#. type: Title - +#: en/git-rm.txt:86 #, no-wrap -msgid "-B <new-branch>" +msgid "REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM" msgstr "" #. type: Plain text -#: en/git-worktree.txt:99 +#: en/git-rm.txt:91 msgid "" -"With `add`, create a new branch named `<new-branch>` starting at `<branch>`, " -"and check out `<new-branch>` into the new working tree. If `<branch>` is " -"omitted, it defaults to HEAD. By default, `-b` refuses to create a new " -"branch if it already exists. `-B` overrides this safeguard, resetting " -"`<new-branch>` to `<branch>`." +"There is no option for `git rm` to remove from the index only the paths that " +"have disappeared from the filesystem. However, depending on the use case, " +"there are several ways that can be done." +msgstr "" + +#. type: Title ~ +#: en/git-rm.txt:93 +#, no-wrap +msgid "Using ``git commit -a''" msgstr "" #. type: Plain text -#: en/git-worktree.txt:103 +#: en/git-rm.txt:100 msgid "" -"With `add`, detach HEAD in the new working tree. See \"DETACHED HEAD\" in " -"linkgit:git-checkout[1]." +"If you intend that your next commit should record all modifications of " +"tracked files in the working tree and record all removals of files that have " +"been removed from the working tree with `rm` (as opposed to `git rm`), use " +"`git commit -a`, as it will automatically notice and record all removals. " +"You can also have a similar effect without committing by using `git add -u`." msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:104 +#. type: Title ~ +#: en/git-rm.txt:102 #, no-wrap -msgid "--[no-]checkout" +msgid "Using ``git add -A''" msgstr "" #. type: Plain text -#: en/git-worktree.txt:109 +#: en/git-rm.txt:106 msgid "" -"By default, `add` checks out `<branch>`, however, `--no-checkout` can be " -"used to suppress checkout in order to make customizations, such as " -"configuring sparse-checkout. See \"Sparse checkout\" in " -"linkgit:git-read-tree[1]." +"When accepting a new code drop for a vendor branch, you probably want to " +"record both the removal of paths and additions of new paths as well as " +"modifications of existing paths." msgstr "" #. type: Plain text -#: en/git-worktree.txt:114 -msgid "With `prune`, do not remove anything; just report what it would remove." +#: en/git-rm.txt:109 +msgid "" +"Typically you would first remove all tracked files from the working tree " +"using this command:" msgstr "" -#. type: Plain text -#: en/git-worktree.txt:119 -msgid "" -"With `list`, output in an easy-to-parse format for scripts. This format " -"will remain stable across Git versions and regardless of user " -"configuration. See below for details." +#. type: delimited block - +#: en/git-rm.txt:112 +#, no-wrap +msgid "git ls-files -z | xargs -0 rm -f\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:123 -msgid "With `prune`, report all removals." +#: en/git-rm.txt:116 +msgid "" +"and then untar the new code in the working tree. Alternately you could " +"'rsync' the changes into the working tree." msgstr "" #. type: Plain text -#: en/git-worktree.txt:126 -msgid "With `prune`, only expire unused working trees older than <time>." +#: en/git-rm.txt:119 +msgid "" +"After that, the easiest way to record all removals, additions, and " +"modifications in the working tree is:" msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:127 +#. type: delimited block - +#: en/git-rm.txt:122 #, no-wrap -msgid "--reason <string>" +msgid "git add -A\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:129 -msgid "With `lock`, an explanation why the working tree is locked." +#: en/git-rm.txt:125 +msgid "See linkgit:git-add[1]." msgstr "" -#. type: Labeled list -#: en/git-worktree.txt:130 +#. type: Title ~ +#: en/git-rm.txt:127 #, no-wrap -msgid "<worktree>" -msgstr "" - -#. type: Plain text -#: en/git-worktree.txt:133 -msgid "Working trees can be identified by path, either relative or absolute." +msgid "Other ways" msgstr "" #. type: Plain text -#: en/git-worktree.txt:138 +#: en/git-rm.txt:132 msgid "" -"If the last path components in the working tree's path is unique among " -"working trees, it can be used to identify worktrees. For example if you only " -"have two working trees, at \"/abc/def/ghi\" and \"/abc/def/ggg\", then " -"\"ghi\" or \"def/ghi\" is enough to point to the former working tree." +"If all you really want to do is to remove from the index the files that are " +"no longer present in the working tree (perhaps because your working tree is " +"dirty so that you cannot use `git commit -a`), use the following command:" msgstr "" -#. type: Title - -#: en/git-worktree.txt:140 +#. type: delimited block - +#: en/git-rm.txt:135 #, no-wrap -msgid "DETAILS" +msgid "git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached\n" msgstr "" #. type: Plain text -#: en/git-worktree.txt:149 +#: en/git-rm.txt:147 msgid "" -"Each linked working tree has a private sub-directory in the repository's " -"$GIT_DIR/worktrees directory. The private sub-directory's name is usually " -"the base name of the linked working tree's path, possibly appended with a " -"number to make it unique. For example, when `$GIT_DIR=/path/main/.git` the " -"command `git worktree add /path/other/test-next next` creates the linked " -"working tree in `/path/other/test-next` and also creates a " -"`$GIT_DIR/worktrees/test-next` directory (or `$GIT_DIR/worktrees/test-next1` " -"if `test-next` is already taken)." +"Only submodules using a gitfile (which means they were cloned with a Git " +"version 1.7.8 or newer) will be removed from the work tree, as their " +"repository lives inside the .git directory of the superproject. If a " +"submodule (or one of those nested inside it) still uses a .git directory, " +"`git rm` will fail - no matter if forced or not - to protect the submodule's " +"history. If it exists the submodule.<name> section in the " +"linkgit:gitmodules[5] file will also be removed and that file will be staged " +"(unless --cached or -n are used)." msgstr "" #. type: Plain text -#: en/git-worktree.txt:155 +#: en/git-rm.txt:153 msgid "" -"Within a linked working tree, $GIT_DIR is set to point to this private " -"directory (e.g. `/path/main/.git/worktrees/test-next` in the example) and " -"$GIT_COMMON_DIR is set to point back to the main working tree's $GIT_DIR " -"(e.g. `/path/main/.git`). These settings are made in a `.git` file located " -"at the top directory of the linked working tree." +"A submodule is considered up-to-date when the HEAD is the same as recorded " +"in the index, no tracked files are modified and no untracked files that " +"aren't ignored are present in the submodules work tree. Ignored files are " +"deemed expendable and won't stop a submodule's work tree from being removed." msgstr "" #. type: Plain text -#: en/git-worktree.txt:164 +#: en/git-rm.txt:157 msgid "" -"Path resolution via `git rev-parse --git-path` uses either $GIT_DIR or " -"$GIT_COMMON_DIR depending on the path. For example, in the linked working " -"tree `git rev-parse --git-path HEAD` returns " -"`/path/main/.git/worktrees/test-next/HEAD` (not " -"`/path/other/test-next/.git/HEAD` or `/path/main/.git/HEAD`) while `git " -"rev-parse --git-path refs/heads/master` uses $GIT_COMMON_DIR and returns " -"`/path/main/.git/refs/heads/master`, since refs are shared across all " -"working trees." +"If you only want to remove the local checkout of a submodule from your work " +"tree without committing the removal, use linkgit:git-submodule[1] `deinit` " +"instead." msgstr "" -#. type: Plain text -#: en/git-worktree.txt:169 -msgid "" -"See linkgit:gitrepository-layout[5] for more information. The rule of thumb " -"is do not make any assumption about whether a path belongs to $GIT_DIR or " -"$GIT_COMMON_DIR when you need to directly access something inside " -"$GIT_DIR. Use `git rev-parse --git-path` to get the final path." +#. type: Labeled list +#: en/git-rm.txt:160 +#, no-wrap +msgid "`git rm Documentation/\\*.txt`" msgstr "" #. type: Plain text -#: en/git-worktree.txt:176 +#: en/git-rm.txt:163 msgid "" -"If you move a linked working tree, you need to update the 'gitdir' file in " -"the entry's directory. For example, if a linked working tree is moved to " -"`/newpath/test-next` and its `.git` file points to " -"`/path/main/.git/worktrees/test-next`, then update " -"`/path/main/.git/worktrees/test-next/gitdir` to reference " -"`/newpath/test-next` instead." +"Removes all `*.txt` files from the index that are under the `Documentation` " +"directory and any of its subdirectories." msgstr "" #. type: Plain text -#: en/git-worktree.txt:187 +#: en/git-rm.txt:167 msgid "" -"To prevent a $GIT_DIR/worktrees entry from being pruned (which can be useful " -"in some situations, such as when the entry's working tree is stored on a " -"portable device), use the `git worktree lock` command, which adds a file " -"named 'locked' to the entry's directory. The file contains the reason in " -"plain text. For example, if a linked working tree's `.git` file points to " -"`/path/main/.git/worktrees/test-next` then a file named " -"`/path/main/.git/worktrees/test-next/locked` will prevent the `test-next` " -"entry from being pruned. See linkgit:gitrepository-layout[5] for details." +"Note that the asterisk `*` is quoted from the shell in this example; this " +"lets Git, and not the shell, expand the pathnames of files and " +"subdirectories under the `Documentation/` directory." msgstr "" -#. type: Title - -#: en/git-worktree.txt:189 +#. type: Labeled list +#: en/git-rm.txt:168 #, no-wrap -msgid "LIST OUTPUT FORMAT" +msgid "`git rm -f git-*.sh`" msgstr "" #. type: Plain text -#: en/git-worktree.txt:192 +#: en/git-rm.txt:172 msgid "" -"The worktree list command has two output formats. The default format shows " -"the details on a single line with columns. For example:" +"Because this example lets the shell expand the asterisk (i.e. you are " +"listing the files explicitly), it does not remove `subdir/git-foo.sh`." msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:198 -#, no-wrap +#. type: Plain text +#: en/git-rm.txt:181 msgid "" -"S git worktree list\n" -"/path/to/bare-source (bare)\n" -"/path/to/linked-worktree abcd1234 [master]\n" -"/path/to/other-linked-worktree 1234abc (detached HEAD)\n" +"Each time a superproject update removes a populated submodule (e.g. when " +"switching between commits before and after the removal) a stale submodule " +"checkout will remain in the old location. Removing the old directory is only " +"safe when it uses a gitfile, as otherwise the history of the submodule will " +"be deleted too. This step will be obsolete when recursive submodule update " +"has been implemented." msgstr "" -#. type: Title ~ -#: en/git-worktree.txt:201 +#. type: Title = +#: en/git-send-email.txt:2 #, no-wrap -msgid "Porcelain Format" +msgid "git-send-email(1)" msgstr "" #. type: Plain text -#: en/git-worktree.txt:207 -msgid "" -"The porcelain format has a line per attribute. Attributes are listed with a " -"label and value separated by a single space. Boolean attributes (like " -"'bare' and 'detached') are listed as a label only, and are only present if " -"and only if the value is true. An empty line indicates the end of a " -"worktree. For example:" +#: en/git-send-email.txt:7 +msgid "git-send-email - Send a collection of patches as emails" msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:212 +#. type: Plain text +#: en/git-send-email.txt:14 #, no-wrap msgid "" -"S git worktree list --porcelain\n" -"worktree /path/to/bare-source\n" -"bare\n" +"'git send-email' [options] <file|directory|rev-list options>...\n" +"'git send-email' --dump-aliases\n" msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:216 -#, no-wrap +#. type: Plain text +#: en/git-send-email.txt:23 msgid "" -"worktree /path/to/linked-worktree\n" -"HEAD abcd1234abcd1234abcd1234abcd1234abcd1234\n" -"branch refs/heads/master\n" +"Takes the patches given on the command line and emails them out. Patches " +"can be specified as files, directories (which will send all files in the " +"directory), or directly as a revision list. In the last case, any format " +"accepted by linkgit:git-format-patch[1] can be passed to git send-email." msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:220 -#, no-wrap +#. type: Plain text +#: en/git-send-email.txt:27 msgid "" -"worktree /path/to/other-linked-worktree\n" -"HEAD 1234abc1234abc1234abc1234abc1234abc1234a\n" -"detached\n" +"The header of the email is configurable via command-line options. If not " +"specified on the command line, the user will be prompted with a ReadLine " +"enabled interface to provide the necessary information." msgstr "" #. type: Plain text -#: en/git-worktree.txt:233 -msgid "" -"You are in the middle of a refactoring session and your boss comes in and " -"demands that you fix something immediately. You might typically use " -"linkgit:git-stash[1] to store your changes away temporarily, however, your " -"working tree is in such a state of disarray (with new, moved, and removed " -"files, and other bits and pieces strewn around) that you don't want to risk " -"disturbing any of it. Instead, you create a temporary linked working tree to " -"make the emergency fix, remove it when done, and then resume your earlier " -"refactoring session." +#: en/git-send-email.txt:29 +msgid "There are two formats accepted for patch files:" msgstr "" -#. type: delimited block - -#: en/git-worktree.txt:242 -#, no-wrap -msgid "" -"$ git worktree add -b emergency-fix ../temp master\n" -"$ pushd ../temp\n" -"# ... hack hack hack ...\n" -"$ git commit -a -m 'emergency fix for boss'\n" -"$ popd\n" -"$ rm -rf ../temp\n" -"$ git worktree prune\n" +#. type: Plain text +#: en/git-send-email.txt:31 +msgid "mbox format files" msgstr "" #. type: Plain text -#: en/git-worktree.txt:249 +#: en/git-send-email.txt:34 msgid "" -"Multiple checkout in general is still experimental, and the support for " -"submodules is incomplete. It is NOT recommended to make multiple checkouts " -"of a superproject." +"This is what linkgit:git-format-patch[1] generates. Most headers and MIME " +"formatting are ignored." msgstr "" #. type: Plain text -#: en/git-worktree.txt:252 +#: en/git-send-email.txt:37 msgid "" -"git-worktree could provide more automation for tasks currently performed " -"manually, such as:" +"The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' " +"script" msgstr "" #. type: Plain text -#: en/git-worktree.txt:255 +#: en/git-send-email.txt:40 msgid "" -"`remove` to remove a linked working tree and its administrative files (and " -"warn if the working tree is dirty)" +"This format expects the first line of the file to contain the \"Cc:\" value " +"and the \"Subject:\" of the message as the second line." msgstr "" -#. type: Plain text -#: en/git-worktree.txt:256 -msgid "`mv` to move or rename a working tree and update its administrative files" +#. type: Title ~ +#: en/git-send-email.txt:46 +#, no-wrap +msgid "Composing" msgstr "" -#. type: Title = -#: en/git-write-tree.txt:2 +#. type: Labeled list +#: en/git-send-email.txt:48 en/git-tag.txt:60 #, no-wrap -msgid "git-write-tree(1)" +msgid "--annotate" msgstr "" #. type: Plain text -#: en/git-write-tree.txt:7 -msgid "git-write-tree - Create a tree object from the current index" +#: en/git-send-email.txt:52 +msgid "" +"Review and edit each patch you're about to send. Default is the value of " +"`sendemail.annotate`. See the CONFIGURATION section for " +"`sendemail.multiEdit`." msgstr "" -#. type: Plain text -#: en/git-write-tree.txt:13 +#. type: Labeled list +#: en/git-send-email.txt:53 #, no-wrap -msgid "'git write-tree' [--missing-ok] [--prefix=<prefix>/]\n" +msgid "--bcc=<address>,..." msgstr "" #. type: Plain text -#: en/git-write-tree.txt:18 +#: en/git-send-email.txt:56 msgid "" -"Creates a tree object using the current index. The name of the new tree " -"object is printed to standard output." +"Specify a \"Bcc:\" value for each email. Default is the value of " +"`sendemail.bcc`." msgstr "" #. type: Plain text -#: en/git-write-tree.txt:20 -msgid "The index must be in a fully merged state." +#: en/git-send-email.txt:58 en/git-send-email.txt:64 en/git-send-email.txt:121 +msgid "This option may be specified multiple times." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:59 +#, no-wrap +msgid "--cc=<address>,..." msgstr "" #. type: Plain text -#: en/git-write-tree.txt:26 +#: en/git-send-email.txt:62 msgid "" -"Conceptually, 'git write-tree' sync()s the current index contents into a set " -"of tree files. In order to have that match what is actually in your " -"directory right now, you need to have done a 'git update-index' phase before " -"you did the 'git write-tree'." +"Specify a starting \"Cc:\" value for each email. Default is the value of " +"`sendemail.cc`." msgstr "" #. type: Labeled list -#: en/git-write-tree.txt:30 +#: en/git-send-email.txt:65 #, no-wrap -msgid "--missing-ok" +msgid "--compose" msgstr "" #. type: Plain text -#: en/git-write-tree.txt:34 +#: en/git-send-email.txt:68 msgid "" -"Normally 'git write-tree' ensures that the objects referenced by the " -"directory exist in the object database. This option disables this check." +"Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1]) to edit an " +"introductory message for the patch series." msgstr "" #. type: Plain text -#: en/git-write-tree.txt:39 +#: en/git-send-email.txt:74 msgid "" -"Writes a tree object that represents a subdirectory `<prefix>`. This can be " -"used to write the tree object for a subproject that is in the named " -"subdirectory." +"When `--compose` is used, git send-email will use the From, Subject, and " +"In-Reply-To headers specified in the message. If the body of the message " +"(what you type after the headers and a blank line) only contains blank (or " +"Git: prefixed) lines, the summary won't be sent, but From, Subject, and " +"In-Reply-To headers will be used unless they are removed." msgstr "" #. type: Plain text -#: en/blame-options.txt:4 -msgid "" -"Show blank SHA-1 for boundary commits. This can also be controlled via the " -"`blame.blankboundary` config option." +#: en/git-send-email.txt:76 +msgid "Missing From or In-Reply-To headers will be prompted for." msgstr "" #. type: Plain text -#: en/blame-options.txt:8 -msgid "" -"Do not treat root commits as boundaries. This can also be controlled via " -"the `blame.showRoot` config option." +#: en/git-send-email.txt:78 +msgid "See the CONFIGURATION section for `sendemail.multiEdit`." msgstr "" #. type: Labeled list -#: en/blame-options.txt:9 +#: en/git-send-email.txt:79 #, no-wrap -msgid "--show-stats" +msgid "--from=<address>" msgstr "" #. type: Plain text -#: en/blame-options.txt:11 -msgid "Include additional statistics at the end of blame output." +#: en/git-send-email.txt:86 +msgid "" +"Specify the sender of the emails. If not specified on the command line, the " +"value of the `sendemail.from` configuration option is used. If neither the " +"command-line option nor `sendemail.from` are set, then the user will be " +"prompted for the value. The default for the prompt will be the value of " +"GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not set, as returned by " +"\"git var -l\"." msgstr "" #. type: Labeled list -#: en/blame-options.txt:12 +#: en/git-send-email.txt:87 #, no-wrap -msgid "-L <start>,<end>" -msgstr "" - -#. type: Labeled list -#: en/blame-options.txt:13 -#, no-wrap -msgid "-L :<funcname>" +msgid "--in-reply-to=<identifier>" msgstr "" #. type: Plain text -#: en/blame-options.txt:16 +#: en/git-send-email.txt:93 msgid "" -"Annotate only the given line range. May be specified multiple times. " -"Overlapping ranges are allowed." +"Make the first mail (or all the mails with `--no-thread`) appear as a reply " +"to the given Message-Id, which avoids breaking threads to provide a new " +"patch series. The second and subsequent emails will be sent as replies " +"according to the `--[no-]chain-reply-to` setting." msgstr "" #. type: Plain text -#: en/blame-options.txt:19 +#: en/git-send-email.txt:97 msgid "" -"<start> and <end> are optional. ``-L <start>'' or ``-L <start>,'' spans from " -"<start> to end of file. ``-L ,<end>'' spans from start of file to <end>." +"So for example when `--thread` and `--no-chain-reply-to` are specified, the " +"second and subsequent patches will be replies to the first one like in the " +"illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:" msgstr "" #. type: Plain text -#: en/blame-options.txt:24 -msgid "Show long rev (Default: off)." +#: en/git-send-email.txt:105 +#, no-wrap +msgid "" +" [PATCH 0/2] Here is what I did...\n" +" [PATCH 1/2] Clean up and tests\n" +" [PATCH 2/2] Implementation\n" +" [PATCH v2 0/3] Here is a reroll\n" +" [PATCH v2 1/3] Clean up\n" +" [PATCH v2 2/3] New tests\n" +" [PATCH v2 3/3] Implementation\n" msgstr "" #. type: Plain text -#: en/blame-options.txt:27 -msgid "Show raw timestamp (Default: off)." +#: en/git-send-email.txt:108 +msgid "" +"Only necessary if --compose is also set. If --compose is not set, this will " +"be prompted for." msgstr "" #. type: Labeled list -#: en/blame-options.txt:28 +#: en/git-send-email.txt:109 #, no-wrap -msgid "-S <revs-file>" +msgid "--subject=<string>" msgstr "" #. type: Plain text -#: en/blame-options.txt:30 -msgid "Use revisions from revs-file instead of calling linkgit:git-rev-list[1]." +#: en/git-send-email.txt:113 +msgid "" +"Specify the initial subject of the email thread. Only necessary if " +"--compose is also set. If --compose is not set, this will be prompted for." msgstr "" #. type: Labeled list -#: en/blame-options.txt:31 +#: en/git-send-email.txt:114 #, no-wrap -msgid "--reverse <rev>..<rev>" +msgid "--to=<address>,..." msgstr "" #. type: Plain text -#: en/blame-options.txt:38 +#: en/git-send-email.txt:119 msgid "" -"Walk history forward instead of backward. Instead of showing the revision in " -"which a line appeared, this shows the last revision in which a line has " -"existed. This requires a range of revision like START..END where the path to " -"blame exists in START. `git blame --reverse START` is taken as `git blame " -"--reverse START..HEAD` for convenience." -msgstr "" - -#. type: Plain text -#: en/blame-options.txt:42 -msgid "Show in a format designed for machine consumption." +"Specify the primary recipient of the emails generated. Generally, this will " +"be the upstream maintainer of the project involved. Default is the value of " +"the `sendemail.to` configuration value; if that is unspecified, and --to-cmd " +"is not specified, this will be prompted for." msgstr "" #. type: Labeled list -#: en/blame-options.txt:43 +#: en/git-send-email.txt:122 #, no-wrap -msgid "--line-porcelain" +msgid "--8bit-encoding=<encoding>" msgstr "" #. type: Plain text -#: en/blame-options.txt:47 +#: en/git-send-email.txt:128 msgid "" -"Show the porcelain format, but output commit information for each line, not " -"just the first time a commit is referenced. Implies --porcelain." -msgstr "" - -#. type: Plain text -#: en/blame-options.txt:51 -msgid "Show the result incrementally in a format designed for machine consumption." +"When encountering a non-ASCII message or subject that does not declare its " +"encoding, add headers/quoting to indicate it is encoded in <encoding>. " +"Default is the value of the 'sendemail.assume8bitEncoding'; if that is " +"unspecified, this will be prompted for if any non-ASCII files are " +"encountered." msgstr "" #. type: Plain text -#: en/blame-options.txt:58 -msgid "" -"Specifies the encoding used to output author names and commit " -"summaries. Setting it to `none` makes blame output unconverted data. For " -"more information see the discussion about encoding in the linkgit:git-log[1] " -"manual page." +#: en/git-send-email.txt:130 +msgid "Note that no attempts whatsoever are made to validate the encoding." msgstr "" #. type: Labeled list -#: en/blame-options.txt:59 +#: en/git-send-email.txt:131 #, no-wrap -msgid "--contents <file>" +msgid "--compose-encoding=<encoding>" msgstr "" #. type: Plain text -#: en/blame-options.txt:65 +#: en/git-send-email.txt:134 msgid "" -"When <rev> is not specified, the command annotates the changes starting " -"backwards from the working tree copy. This flag makes the command pretend " -"as if the working tree copy has the contents of the named file (specify `-` " -"to make the command read from the standard input)." +"Specify encoding of compose message. Default is the value of the " +"'sendemail.composeencoding'; if that is unspecified, UTF-8 is assumed." msgstr "" #. type: Labeled list -#: en/blame-options.txt:66 +#: en/git-send-email.txt:135 #, no-wrap -msgid "--date <format>" +msgid "--transfer-encoding=(7bit|8bit|quoted-printable|base64)" msgstr "" #. type: Plain text -#: en/blame-options.txt:72 +#: en/git-send-email.txt:144 msgid "" -"Specifies the format used to output dates. If --date is not provided, the " -"value of the blame.date config variable is used. If the blame.date config " -"variable is also not set, the iso format is used. For supported values, see " -"the discussion of the --date option at linkgit:git-log[1]." +"Specify the transfer encoding to be used to send the message over SMTP. " +"7bit will fail upon encountering a non-ASCII message. quoted-printable can " +"be useful when the repository contains files that contain carriage returns, " +"but makes the raw patch email file (as saved from a MUA) much harder to " +"inspect manually. base64 is even more fool proof, but also even more " +"opaque. Default is the value of the `sendemail.transferEncoding` " +"configuration value; if that is unspecified, git will use 8bit and not add a " +"Content-Transfer-Encoding header." msgstr "" -#. type: Plain text -#: en/blame-options.txt:79 -msgid "" -"Progress status is reported on the standard error stream by default when it " -"is attached to a terminal. This flag enables progress reporting even if not " -"attached to a terminal. Can't use `--progress` together with `--porcelain` " -"or `--incremental`." +#. type: Labeled list +#: en/git-send-email.txt:145 +#, no-wrap +msgid "--xmailer" msgstr "" #. type: Labeled list -#: en/blame-options.txt:80 +#: en/git-send-email.txt:146 #, no-wrap -msgid "-M[<num>]" +msgid "--no-xmailer" msgstr "" #. type: Plain text -#: en/blame-options.txt:90 +#: en/git-send-email.txt:150 msgid "" -"Detect moved or copied lines within a file. When a commit moves or copies a " -"block of lines (e.g. the original file has A and then B, and the commit " -"changes it to B and then A), the traditional 'blame' algorithm notices only " -"half of the movement and typically blames the lines that were moved up " -"(i.e. B) to the parent and assigns blame to the lines that were moved down " -"(i.e. A) to the child commit. With this option, both groups of lines are " -"blamed on the parent by running extra passes of inspection." +"Add (or prevent adding) the \"X-Mailer:\" header. By default, the header is " +"added, but it can be turned off by setting the `sendemail.xmailer` " +"configuration variable to `false`." msgstr "" -#. type: Plain text -#: en/blame-options.txt:95 -msgid "" -"<num> is optional but it is the lower bound on the number of alphanumeric " -"characters that Git must detect as moving/copying within a file for it to " -"associate those lines with the parent commit. The default value is 20." +#. type: Title ~ +#: en/git-send-email.txt:152 +#, no-wrap +msgid "Sending" msgstr "" #. type: Labeled list -#: en/blame-options.txt:96 +#: en/git-send-email.txt:154 #, no-wrap -msgid "-C[<num>]" +msgid "--envelope-sender=<address>" msgstr "" #. type: Plain text -#: en/blame-options.txt:105 +#: en/git-send-email.txt:162 msgid "" -"In addition to `-M`, detect lines moved or copied from other files that were " -"modified in the same commit. This is useful when you reorganize your " -"program and move code around across files. When this option is given twice, " -"the command additionally looks for copies from other files in the commit " -"that creates the file. When this option is given three times, the command " -"additionally looks for copies from other files in any commit." +"Specify the envelope sender used to send the emails. This is useful if your " +"default address is not the address that is subscribed to a list. In order to " +"use the 'From' address, set the value to \"auto\". If you use the sendmail " +"binary, you must have suitable privileges for the -f parameter. Default is " +"the value of the `sendemail.envelopeSender` configuration variable; if that " +"is unspecified, choosing the envelope sender is left to your MTA." msgstr "" -#. type: Plain text -#: en/blame-options.txt:112 -msgid "" -"<num> is optional but it is the lower bound on the number of alphanumeric " -"characters that Git must detect as moving/copying between files for it to " -"associate those lines with the parent commit. And the default value is " -"40. If there are more than one `-C` options given, the <num> argument of the " -"last `-C` will take effect." +#. type: Labeled list +#: en/git-send-email.txt:163 +#, no-wrap +msgid "--smtp-encryption=<encryption>" msgstr "" #. type: Plain text -#: en/blame-options.txt:114 -msgid "Show help message." +#: en/git-send-email.txt:167 +msgid "" +"Specify the encryption to use, either 'ssl' or 'tls'. Any other value " +"reverts to plain SMTP. Default is the value of `sendemail.smtpEncryption`." msgstr "" -#. type: Title - -#: en/config.txt:2 +#. type: Labeled list +#: en/git-send-email.txt:168 #, no-wrap -msgid "CONFIGURATION FILE" -msgstr "" - -#. type: Plain text -#: en/config.txt:10 -msgid "" -"The Git configuration file contains a number of variables that affect the " -"Git commands' behavior. The `.git/config` file in each repository is used to " -"store the configuration for that repository, and `$HOME/.gitconfig` is used " -"to store a per-user configuration as fallback values for the `.git/config` " -"file. The file `/etc/gitconfig` can be used to store a system-wide default " -"configuration." +msgid "--smtp-domain=<FQDN>" msgstr "" #. type: Plain text -#: en/config.txt:19 +#: en/git-send-email.txt:174 msgid "" -"The configuration variables are used by both the Git plumbing and the " -"porcelains. The variables are divided into sections, wherein the fully " -"qualified variable name of the variable itself is the last dot-separated " -"segment and the section name is everything before the last dot. The variable " -"names are case-insensitive, allow only alphanumeric characters and `-`, and " -"must start with an alphabetic character. Some variables may appear multiple " -"times; we say then that the variable is multivalued." +"Specifies the Fully Qualified Domain Name (FQDN) used in the HELO/EHLO " +"command to the SMTP server. Some servers require the FQDN to match your IP " +"address. If not set, git send-email attempts to determine your FQDN " +"automatically. Default is the value of `sendemail.smtpDomain`." msgstr "" -#. type: Title ~ -#: en/config.txt:21 +#. type: Labeled list +#: en/git-send-email.txt:175 #, no-wrap -msgid "Syntax" +msgid "--smtp-auth=<mechanisms>" msgstr "" #. type: Plain text -#: en/config.txt:26 +#: en/git-send-email.txt:178 msgid "" -"The syntax is fairly flexible and permissive; whitespaces are mostly " -"ignored. The '#' and ';' characters begin comments to the end of line, " -"blank lines are ignored." +"Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting " +"forces using only the listed mechanisms. Example:" msgstr "" -#. type: Plain text -#: en/config.txt:33 -msgid "" -"The file consists of sections and variables. A section begins with the name " -"of the section in square brackets and continues until the next section " -"begins. Section names are case-insensitive. Only alphanumeric characters, " -"`-` and `.` are allowed in section names. Each variable must belong to some " -"section, which means that there must be a section header before the first " -"setting of a variable." +#. type: delimited block - +#: en/git-send-email.txt:181 +#, no-wrap +msgid "$ git send-email --smtp-auth=\"PLAIN LOGIN GSSAPI\" ...\n" msgstr "" #. type: Plain text -#: en/config.txt:37 +#: en/git-send-email.txt:187 msgid "" -"Sections can be further divided into subsections. To begin a subsection put " -"its name in double quotes, separated by space from the section name, in the " -"section header, like in the example below:" +"If at least one of the specified mechanisms matches the ones advertised by " +"the SMTP server and if it is supported by the utilized SASL library, the " +"mechanism is used for authentication. If neither 'sendemail.smtpAuth' nor " +"`--smtp-auth` is specified, all mechanisms supported by the SASL library can " +"be used." msgstr "" -#. type: delimited block - -#: en/config.txt:40 +#. type: Labeled list +#: en/git-send-email.txt:188 #, no-wrap -msgid "\t[section \"subsection\"]\n" +msgid "--smtp-pass[=<password>]" msgstr "" #. type: Plain text -#: en/config.txt:49 +#: en/git-send-email.txt:193 msgid "" -"Subsection names are case sensitive and can contain any characters except " -"newline (doublequote `\"` and backslash can be included by escaping them as " -"`\\\"` and `\\\\`, respectively). Section headers cannot span multiple " -"lines. Variables may belong directly to a section or to a given " -"subsection. You can have `[section]` if you have `[section " -"\"subsection\"]`, but you don't need to." +"Password for SMTP-AUTH. The argument is optional: If no argument is " +"specified, then the empty string is used as the password. Default is the " +"value of `sendemail.smtpPass`, however `--smtp-pass` always overrides this " +"value." msgstr "" #. type: Plain text -#: en/config.txt:54 +#: en/git-send-email.txt:199 msgid "" -"There is also a deprecated `[section.subsection]` syntax. With this syntax, " -"the subsection name is converted to lower-case and is also compared case " -"sensitively. These subsection names follow the same restrictions as section " -"names." +"Furthermore, passwords need not be specified in configuration files or on " +"the command line. If a username has been specified (with `--smtp-user` or a " +"`sendemail.smtpUser`), but no password has been specified (with " +"`--smtp-pass` or `sendemail.smtpPass`), then a password is obtained using " +"'git-credential'." msgstr "" -#. type: Plain text -#: en/config.txt:61 -msgid "" -"All the other lines (and the remainder of the line after the section header) " -"are recognized as setting variables, in the form 'name = value' (or just " -"'name', which is a short-hand to say that the variable is the boolean " -"\"true\"). The variable names are case-insensitive, allow only alphanumeric " -"characters and `-`, and must start with an alphabetic character." +#. type: Labeled list +#: en/git-send-email.txt:200 +#, no-wrap +msgid "--smtp-server=<host>" msgstr "" #. type: Plain text -#: en/config.txt:69 +#: en/git-send-email.txt:209 msgid "" -"A line that defines a value can be continued to the next line by ending it " -"with a `\\`; the backquote and the end-of-line are stripped. Leading " -"whitespaces after 'name =', the remainder of the line after the first " -"comment character '#' or ';', and trailing whitespaces of the line are " -"discarded unless they are enclosed in double quotes. Internal whitespaces " -"within the value are retained verbatim." +"If set, specifies the outgoing SMTP server to use (e.g. `smtp.example.com` " +"or a raw IP address). Alternatively it can specify a full pathname of a " +"sendmail-like program instead; the program must support the `-i` option. " +"Default value can be specified by the `sendemail.smtpServer` configuration " +"option; the built-in default is `/usr/sbin/sendmail` or `/usr/lib/sendmail` " +"if such program is available, or `localhost` otherwise." msgstr "" -#. type: Plain text -#: en/config.txt:72 -msgid "" -"Inside double quotes, double quote `\"` and backslash `\\` characters must " -"be escaped: use `\\\"` for `\"` and `\\\\` for `\\`." +#. type: Labeled list +#: en/git-send-email.txt:210 +#, no-wrap +msgid "--smtp-server-port=<port>" msgstr "" #. type: Plain text -#: en/config.txt:77 +#: en/git-send-email.txt:217 msgid "" -"The following escape sequences (beside `\\\"` and `\\\\`) are recognized: " -"`\\n` for newline character (NL), `\\t` for horizontal tabulation (HT, TAB) " -"and `\\b` for backspace (BS). Other char escape sequences (including octal " -"escape sequences) are invalid." +"Specifies a port different from the default port (SMTP servers typically " +"listen to smtp port 25, but may also listen to submission port 587, or the " +"common SSL smtp port 465); symbolic port names (e.g. \"submission\" instead " +"of 587) are also accepted. The port can also be set with the " +"`sendemail.smtpServerPort` configuration variable." msgstr "" -#. type: Title ~ -#: en/config.txt:80 +#. type: Labeled list +#: en/git-send-email.txt:218 #, no-wrap -msgid "Includes" +msgid "--smtp-server-option=<option>" msgstr "" #. type: Plain text -#: en/config.txt:86 +#: en/git-send-email.txt:222 msgid "" -"You can include a config file from another by setting the special " -"`include.path` variable to the name of the file to be included. The variable " -"takes a pathname as its value, and is subject to tilde " -"expansion. `include.path` can be given multiple times." +"If set, specifies the outgoing SMTP server option to use. Default value can " +"be specified by the `sendemail.smtpServerOption` configuration option." msgstr "" #. type: Plain text -#: en/config.txt:92 +#: en/git-send-email.txt:226 msgid "" -"The included file is expanded immediately, as if its contents had been found " -"at the location of the include directive. If the value of the `include.path` " -"variable is a relative path, the path is considered to be relative to the " -"configuration file in which the include directive was found. See below for " -"examples." +"The --smtp-server-option option must be repeated for each option you want to " +"pass to the server. Likewise, different lines in the configuration files " +"must be used for each option." msgstr "" -#. type: Title ~ -#: en/config.txt:94 +#. type: Labeled list +#: en/git-send-email.txt:227 #, no-wrap -msgid "Conditional includes" -msgstr "" - -#. type: Plain text -#: en/config.txt:100 -msgid "" -"You can include a config file from another conditionally by setting a " -"`includeIf.<condition>.path` variable to the name of the file to be " -"included. The variable's value is treated the same way as " -"`include.path`. `includeIf.<condition>.path` can be given multiple times." +msgid "--smtp-ssl" msgstr "" #. type: Plain text -#: en/config.txt:104 -msgid "" -"The condition starts with a keyword followed by a colon and some data whose " -"format and meaning depends on the keyword. Supported keywords are:" +#: en/git-send-email.txt:229 +msgid "Legacy alias for '--smtp-encryption ssl'." msgstr "" #. type: Labeled list -#: en/config.txt:105 +#: en/git-send-email.txt:230 #, no-wrap -msgid "`gitdir`" +msgid "--smtp-ssl-cert-path" msgstr "" #. type: Plain text -#: en/config.txt:110 +#: en/git-send-email.txt:240 msgid "" -"The data that follows the keyword `gitdir:` is used as a glob pattern. If " -"the location of the .git directory matches the pattern, the include " -"condition is met." +"Path to a store of trusted CA certificates for SMTP SSL/TLS certificate " +"validation (either a directory that has been processed by 'c_rehash', or a " +"single file containing one or more PEM format certificates concatenated " +"together: see verify(1) -CAfile and -CApath for more information on " +"these). Set it to an empty string to disable certificate " +"verification. Defaults to the value of the `sendemail.smtpsslcertpath` " +"configuration variable, if set, or the backing SSL library's compiled-in " +"default otherwise (which should be the best choice on most platforms)." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:241 +#, no-wrap +msgid "--smtp-user=<user>" msgstr "" #. type: Plain text -#: en/config.txt:115 +#: en/git-send-email.txt:245 msgid "" -"The .git location may be auto-discovered, or come from `$GIT_DIR` " -"environment variable. If the repository is auto discovered via a .git file " -"(e.g. from submodules, or a linked worktree), the .git location would be the " -"final location where the .git directory is, not where the" +"Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`; if a " +"username is not specified (with `--smtp-user` or `sendemail.smtpUser`), then " +"authentication is not attempted." msgstr "" -#. type: Block title -#: en/config.txt:115 +#. type: Labeled list +#: en/git-send-email.txt:246 #, no-wrap -msgid "git file is." +msgid "--smtp-debug=0|1" msgstr "" #. type: Plain text -#: en/config.txt:120 +#: en/git-send-email.txt:250 msgid "" -"The pattern can contain standard globbing wildcards and two additional ones, " -"`**/` and `/**`, that can match multiple path components. Please refer to " -"linkgit:gitignore[5] for details. For convenience:" +"Enable (1) or disable (0) debug output. If enabled, SMTP commands and " +"replies will be printed. Useful to debug TLS connection and authentication " +"problems." msgstr "" -#. type: Plain text -#: en/config.txt:123 -msgid "" -"If the pattern starts with `~/`, `~` will be substituted with the content of " -"the environment variable `HOME`." +#. type: Title ~ +#: en/git-send-email.txt:252 +#, no-wrap +msgid "Automating" msgstr "" -#. type: Plain text -#: en/config.txt:126 -msgid "" -"If the pattern starts with `./`, it is replaced with the directory " -"containing the current config file." +#. type: Labeled list +#: en/git-send-email.txt:254 +#, no-wrap +msgid "--to-cmd=<command>" msgstr "" #. type: Plain text -#: en/config.txt:130 +#: en/git-send-email.txt:259 msgid "" -"If the pattern does not start with either `~/`, `./` or `/`, `**/` will be " -"automatically prepended. For example, the pattern `foo/bar` becomes " -"`**/foo/bar` and would match `/any/path/to/foo/bar`." +"Specify a command to execute once per patch file which should generate patch " +"file specific \"To:\" entries. Output of this command must be single email " +"address per line. Default is the value of 'sendemail.tocmd' configuration " +"value." +msgstr "" + +#. type: Labeled list +#: en/git-send-email.txt:260 +#, no-wrap +msgid "--cc-cmd=<command>" msgstr "" #. type: Plain text -#: en/config.txt:134 +#: en/git-send-email.txt:265 msgid "" -"If the pattern ends with `/`, `**` will be automatically added. For example, " -"the pattern `foo/` becomes `foo/**`. In other words, it matches \"foo\" and " -"everything inside, recursively." +"Specify a command to execute once per patch file which should generate patch " +"file specific \"Cc:\" entries. Output of this command must be single email " +"address per line. Default is the value of `sendemail.ccCmd` configuration " +"value." msgstr "" #. type: Labeled list -#: en/config.txt:135 +#: en/git-send-email.txt:266 #, no-wrap -msgid "`gitdir/i`" +msgid "--[no-]chain-reply-to" msgstr "" #. type: Plain text -#: en/config.txt:138 +#: en/git-send-email.txt:273 msgid "" -"This is the same as `gitdir` except that matching is done case-insensitively " -"(e.g. on case-insensitive file sytems)" +"If this is set, each email will be sent as a reply to the previous email " +"sent. If disabled with \"--no-chain-reply-to\", all emails after the first " +"will be sent as replies to the first email sent. When using this, it is " +"recommended that the first file given be an overview of the entire patch " +"series. Disabled by default, but the `sendemail.chainReplyTo` configuration " +"variable can be used to enable it." msgstr "" -#. type: Plain text -#: en/config.txt:140 -msgid "A few more notes on matching via `gitdir` and `gitdir/i`:" +#. type: Labeled list +#: en/git-send-email.txt:274 +#, no-wrap +msgid "--identity=<identity>" msgstr "" -#. type: Plain text -#: en/config.txt:142 -msgid "Symlinks in `$GIT_DIR` are not resolved before matching." +#. type: Labeled list +#: en/git-send-email.txt:280 +#, no-wrap +msgid "--[no-]signed-off-by-cc" msgstr "" #. type: Plain text -#: en/config.txt:145 +#: en/git-send-email.txt:284 msgid "" -"Note that \"../\" is not special and will match literally, which is unlikely " -"what you want." +"If this is set, add emails found in Signed-off-by: or Cc: lines to the cc " +"list. Default is the value of `sendemail.signedoffbycc` configuration value; " +"if that is unspecified, default to --signed-off-by-cc." msgstr "" -#. type: Plain text -#: en/config.txt:153 +#. type: Labeled list +#: en/git-send-email.txt:285 #, no-wrap -msgid "" -"\t# Core variables\n" -"\t[core]\n" -"\t\t; Don't trust file modes\n" -"\t\tfilemode = false\n" +msgid "--[no-]cc-cover" msgstr "" #. type: Plain text -#: en/config.txt:158 -#, no-wrap +#: en/git-send-email.txt:290 msgid "" -"\t# Our diff algorithm\n" -"\t[diff]\n" -"\t\texternal = /usr/local/bin/diff-wrapper\n" -"\t\trenames = true\n" +"If this is set, emails found in Cc: headers in the first patch of the series " +"(typically the cover letter) are added to the cc list for each email " +"set. Default is the value of 'sendemail.cccover' configuration value; if " +"that is unspecified, default to --no-cc-cover." msgstr "" -#. type: Plain text -#: en/config.txt:162 +#. type: Labeled list +#: en/git-send-email.txt:291 #, no-wrap -msgid "" -"\t[branch \"devel\"]\n" -"\t\tremote = origin\n" -"\t\tmerge = refs/heads/devel\n" +msgid "--[no-]to-cover" msgstr "" #. type: Plain text -#: en/config.txt:167 -#, no-wrap +#: en/git-send-email.txt:296 msgid "" -"\t# Proxy settings\n" -"\t[core]\n" -"\t\tgitProxy=\"ssh\" for \"kernel.org\"\n" -"\t\tgitProxy=default-proxy ; for the rest\n" +"If this is set, emails found in To: headers in the first patch of the series " +"(typically the cover letter) are added to the to list for each email " +"set. Default is the value of 'sendemail.tocover' configuration value; if " +"that is unspecified, default to --no-to-cover." msgstr "" -#. type: Plain text -#: en/config.txt:172 +#. type: Labeled list +#: en/git-send-email.txt:297 #, no-wrap -msgid "" -"\t[include]\n" -"\t\tpath = /path/to/foo.inc ; include by absolute path\n" -"\t\tpath = foo ; expand \"foo\" relative to the current file\n" -"\t\tpath = ~/foo ; expand \"foo\" in your `$HOME` directory\n" +msgid "--suppress-cc=<category>" msgstr "" #. type: Plain text -#: en/config.txt:176 -#, no-wrap -msgid "" -"\t; include if $GIT_DIR is /path/to/foo/.git\n" -"\t[includeIf \"gitdir:/path/to/foo/.git\"]\n" -"\t\tpath = /path/to/foo.inc\n" +#: en/git-send-email.txt:300 +msgid "Specify an additional category of recipients to suppress the auto-cc of:" msgstr "" #. type: Plain text -#: en/config.txt:180 -#, no-wrap -msgid "" -"\t; include for all repositories inside /path/to/group\n" -"\t[includeIf \"gitdir:/path/to/group/\"]\n" -"\t\tpath = /path/to/foo.inc\n" +#: en/git-send-email.txt:303 +msgid "'author' will avoid including the patch author" msgstr "" #. type: Plain text -#: en/config.txt:184 -#, no-wrap -msgid "" -"\t; include for all repositories inside $HOME/to/group\n" -"\t[includeIf \"gitdir:~/to/group/\"]\n" -"\t\tpath = /path/to/foo.inc\n" -msgstr "" - -#. type: Title ~ -#: en/config.txt:186 -#, no-wrap -msgid "Values" +#: en/git-send-email.txt:304 +msgid "'self' will avoid including the sender" msgstr "" #. type: Plain text -#: en/config.txt:191 +#: en/git-send-email.txt:306 msgid "" -"Values of many variables are treated as a simple string, but there are " -"variables that take values of specific types and there are rules as to how " -"to spell them." -msgstr "" - -#. type: Labeled list -#: en/config.txt:192 -#, no-wrap -msgid "boolean" +"'cc' will avoid including anyone mentioned in Cc lines in the patch header " +"except for self (use 'self' for that)." msgstr "" #. type: Plain text -#: en/config.txt:197 +#: en/git-send-email.txt:308 msgid "" -"When a variable is said to take a boolean value, many synonyms are accepted " -"for 'true' and 'false'; these are all case-insensitive." -msgstr "" - -#. type: Labeled list -#: en/config.txt:198 -#, no-wrap -msgid "true" +"'bodycc' will avoid including anyone mentioned in Cc lines in the patch body " +"(commit message) except for self (use 'self' for that)." msgstr "" #. type: Plain text -#: en/config.txt:199 -msgid "Boolean true can be spelled as `yes`, `on`, `true`," +#: en/git-send-email.txt:309 +msgid "'sob' will avoid including anyone mentioned in Signed-off-by lines except" msgstr "" #. type: Plain text -#: en/config.txt:201 -msgid "or `1`. Also, a variable defined without `= <value>` is taken as true." +#: en/git-send-email.txt:310 +msgid "for self (use 'self' for that)." msgstr "" -#. type: Labeled list -#: en/config.txt:202 -#, no-wrap -msgid "false" +#. type: Plain text +#: en/git-send-email.txt:311 +msgid "'cccmd' will avoid running the --cc-cmd." msgstr "" #. type: Plain text -#: en/config.txt:203 -msgid "Boolean false can be spelled as `no`, `off`," +#: en/git-send-email.txt:312 +msgid "'body' is equivalent to 'sob' + 'bodycc'" msgstr "" #. type: Plain text -#: en/config.txt:204 -msgid "`false`, or `0`." +#: en/git-send-email.txt:313 +msgid "'all' will suppress all auto cc values." msgstr "" #. type: Plain text -#: en/config.txt:208 +#: en/git-send-email.txt:318 msgid "" -"When converting value to the canonical form using `--bool` type specifier; " -"'git config' will ensure that the output is \"true\" or \"false\" (spelled " -"in lowercase)." +"Default is the value of `sendemail.suppresscc` configuration value; if that " +"is unspecified, default to 'self' if --suppress-from is specified, as well " +"as 'body' if --no-signed-off-cc is specified." msgstr "" #. type: Labeled list -#: en/config.txt:209 +#: en/git-send-email.txt:319 #, no-wrap -msgid "integer" -msgstr "" - -#. type: Plain text -#: en/config.txt:213 -msgid "" -"The value for many variables that specify various sizes can be suffixed with " -"`k`, `M`,... to mean \"scale the number by 1024\", \"by 1024x1024\", etc." +msgid "--[no-]suppress-from" msgstr "" #. type: Plain text -#: en/config.txt:218 +#: en/git-send-email.txt:323 msgid "" -"The value for a variable that takes a color is a list of colors (at most " -"two, one for foreground and one for background) and attributes (as many as " -"you want), separated by spaces." +"If this is set, do not add the From: address to the cc: list. Default is " +"the value of `sendemail.suppressFrom` configuration value; if that is " +"unspecified, default to --no-suppress-from." msgstr "" -#. type: Plain text -#: en/config.txt:222 -msgid "" -"The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`, " -"`blue`, `magenta`, `cyan` and `white`. The first color given is the " -"foreground; the second is the background." +#. type: Labeled list +#: en/git-send-email.txt:324 +#, no-wrap +msgid "--[no-]thread" msgstr "" #. type: Plain text -#: en/config.txt:227 +#: en/git-send-email.txt:330 msgid "" -"Colors may also be given as numbers between 0 and 255; these use ANSI " -"256-color mode (but note that not all terminals may support this). If your " -"terminal supports it, you may also specify 24-bit RGB values as hex, like " -"`#ff0ab3`." +"If this is set, the In-Reply-To and References headers will be added to each " +"email sent. Whether each mail refers to the previous email (`deep` " +"threading per 'git format-patch' wording) or to the first email (`shallow` " +"threading) is governed by \"--[no-]chain-reply-to\"." msgstr "" #. type: Plain text -#: en/config.txt:234 +#: en/git-send-email.txt:335 msgid "" -"The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, " -"`italic`, and `strike` (for crossed-out or \"strikethrough\" letters). The " -"position of any attributes with respect to the colors (before, after, or in " -"between), doesn't matter. Specific attributes may be turned off by prefixing " -"them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc)." +"If disabled with \"--no-thread\", those headers will not be added (unless " +"specified with --in-reply-to). Default is the value of the " +"`sendemail.thread` configuration value; if that is unspecified, default to " +"--thread." msgstr "" #. type: Plain text -#: en/config.txt:237 +#: en/git-send-email.txt:341 msgid "" -"An empty color string produces no color effect at all. This can be used to " -"avoid coloring specific elements without disabling color entirely." +"It is up to the user to ensure that no In-Reply-To header already exists " +"when 'git send-email' is asked to add it (especially note that 'git " +"format-patch' can be configured to do the threading itself). Failure to do " +"so may not produce the expected result in the recipient's MUA." msgstr "" -#. type: Plain text -#: en/config.txt:246 -msgid "" -"For git's pre-defined color slots, the attributes are meant to be reset at " -"the beginning of each item in the colored output. So setting " -"`color.decorate.branch` to `black` will paint that branch name in a plain " -"`black`, even if the previous thing on the same output line (e.g. opening " -"parenthesis before the list of branch names in `log --decorate` output) is " -"set to be painted with `bold` or some other attribute. However, custom log " -"formats may do more complicated and layered coloring, and the negated forms " -"may be useful there." +#. type: Title ~ +#: en/git-send-email.txt:344 +#, no-wrap +msgid "Administering" msgstr "" #. type: Labeled list -#: en/config.txt:247 +#: en/git-send-email.txt:346 #, no-wrap -msgid "pathname" +msgid "--confirm=<mode>" msgstr "" #. type: Plain text -#: en/config.txt:253 -msgid "" -"A variable that takes a pathname value can be given a string that begins " -"with \"`~/`\" or \"`~user/`\", and the usual tilde expansion happens to such " -"a string: `~/` is expanded to the value of `$HOME`, and `~user/` to the " -"specified user's home directory." +#: en/git-send-email.txt:348 +msgid "Confirm just before sending:" msgstr "" #. type: Plain text -#: en/config.txt:261 -msgid "" -"Note that this list is non-comprehensive and not necessarily complete. For " -"command-specific variables, you will find a more detailed description in the " -"appropriate manual page." +#: en/git-send-email.txt:351 +msgid "'always' will always confirm before sending" msgstr "" #. type: Plain text -#: en/config.txt:266 -msgid "" -"Other git-related tools may and do use their own variables. When inventing " -"new variables for use in your own tool, make sure their names do not " -"conflict with those that are used by Git itself and other popular tools, and " -"describe them in your documentation." +#: en/git-send-email.txt:352 +msgid "'never' will never confirm before sending" msgstr "" -#. type: Labeled list -#: en/config.txt:268 -#, no-wrap -msgid "advice.*" +#. type: Plain text +#: en/git-send-email.txt:354 +msgid "" +"'cc' will confirm before sending when send-email has automatically added " +"addresses from the patch to the Cc list" msgstr "" #. type: Plain text -#: en/config.txt:272 +#: en/git-send-email.txt:355 msgid "" -"These variables control various optional help messages designed to aid new " -"users. All 'advice.*' variables default to 'true', and you can tell Git that " -"you do not need help by setting these to 'false':" +"'compose' will confirm before sending the first message when using " +"--compose." msgstr "" -#. type: Labeled list -#: en/config.txt:274 -#, no-wrap -msgid "pushUpdateRejected" +#. type: Plain text +#: en/git-send-email.txt:356 +msgid "'auto' is equivalent to 'cc' + 'compose'" msgstr "" #. type: Plain text -#: en/config.txt:280 -#, no-wrap +#: en/git-send-email.txt:361 msgid "" -"Set this variable to 'false' if you want to disable\n" -"'pushNonFFCurrent',\n" -"'pushNonFFMatching', 'pushAlreadyExists',\n" -"'pushFetchFirst', and 'pushNeedsForce'\n" -"simultaneously.\n" -msgstr "" - -#. type: Labeled list -#: en/config.txt:280 -#, no-wrap -msgid "pushNonFFCurrent" +"Default is the value of `sendemail.confirm` configuration value; if that is " +"unspecified, default to 'auto' unless any of the suppress options have been " +"specified, in which case default to 'compose'." msgstr "" #. type: Plain text -#: en/config.txt:283 -#, no-wrap -msgid "" -"Advice shown when linkgit:git-push[1] fails due to a\n" -"non-fast-forward update to the current branch.\n" +#: en/git-send-email.txt:364 +msgid "Do everything except actually send the emails." msgstr "" #. type: Labeled list -#: en/config.txt:283 +#: en/git-send-email.txt:365 #, no-wrap -msgid "pushNonFFMatching" +msgid "--[no-]format-patch" msgstr "" #. type: Plain text -#: en/config.txt:288 -#, no-wrap +#: en/git-send-email.txt:370 msgid "" -"Advice shown when you ran linkgit:git-push[1] and pushed\n" -"'matching refs' explicitly (i.e. you used ':', or\n" -"specified a refspec that isn't your current branch) and\n" -"it resulted in a non-fast-forward error.\n" -msgstr "" - -#. type: Labeled list -#: en/config.txt:288 -#, no-wrap -msgid "pushAlreadyExists" +"When an argument may be understood either as a reference or as a file name, " +"choose to understand it as a format-patch argument (`--format-patch`) or as " +"a file name (`--no-format-patch`). By default, when such a conflict occurs, " +"git send-email will fail." msgstr "" #. type: Plain text -#: en/config.txt:291 -#, no-wrap +#: en/git-send-email.txt:374 msgid "" -"Shown when linkgit:git-push[1] rejects an update that\n" -"does not qualify for fast-forwarding (e.g., a tag.)\n" +"Make git-send-email less verbose. One line per email should be all that is " +"output." msgstr "" #. type: Labeled list -#: en/config.txt:291 +#: en/git-send-email.txt:375 #, no-wrap -msgid "pushFetchFirst" +msgid "--[no-]validate" msgstr "" #. type: Plain text -#: en/config.txt:295 -#, no-wrap +#: en/git-send-email.txt:378 msgid "" -"Shown when linkgit:git-push[1] rejects an update that\n" -"tries to overwrite a remote ref that points at an\n" -"object we do not have.\n" -msgstr "" - -#. type: Labeled list -#: en/config.txt:295 -#, no-wrap -msgid "pushNeedsForce" +"Perform sanity checks on patches. Currently, validation means the " +"following:" msgstr "" #. type: Plain text -#: en/config.txt:300 -#, no-wrap -msgid "" -"Shown when linkgit:git-push[1] rejects an update that\n" -"tries to overwrite a remote ref that points at an\n" -"object that is not a commit-ish, or make the remote\n" -"ref point at an object that is not a commit-ish.\n" +#: en/git-send-email.txt:381 +msgid "Warn of patches that contain lines longer than 998 characters; this" msgstr "" -#. type: Labeled list -#: en/config.txt:300 +#. type: Plain text +#: en/git-send-email.txt:382 #, no-wrap -msgid "statusHints" +msgid "is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.\n" msgstr "" #. type: Plain text -#: en/config.txt:306 -#, no-wrap +#: en/git-send-email.txt:386 msgid "" -"Show directions on how to proceed from the current\n" -"state in the output of linkgit:git-status[1], in\n" -"the template shown when writing commit messages in\n" -"linkgit:git-commit[1], and in the help message shown\n" -"by linkgit:git-checkout[1] when switching branch.\n" +"Default is the value of `sendemail.validate`; if this is not set, default to " +"`--validate`." msgstr "" -#. type: Labeled list -#: en/config.txt:306 -#, no-wrap -msgid "statusUoption" +#. type: Plain text +#: en/git-send-email.txt:389 +msgid "Send emails even if safety checks would prevent it." msgstr "" -#. type: Plain text -#: en/config.txt:310 +#. type: Title ~ +#: en/git-send-email.txt:392 #, no-wrap -msgid "" -"Advise to consider using the `-u` option to linkgit:git-status[1]\n" -"when the command takes more than 2 seconds to enumerate untracked\n" -"files.\n" +msgid "Information" msgstr "" #. type: Labeled list -#: en/config.txt:310 +#: en/git-send-email.txt:394 #, no-wrap -msgid "commitBeforeMerge" +msgid "--dump-aliases" msgstr "" #. type: Plain text -#: en/config.txt:313 -#, no-wrap +#: en/git-send-email.txt:399 msgid "" -"Advice shown when linkgit:git-merge[1] refuses to\n" -"merge to avoid overwriting local changes.\n" -msgstr "" - -#. type: Labeled list -#: en/config.txt:313 -#, no-wrap -msgid "resolveConflict" +"Instead of the normal operation, dump the shorthand alias names from the " +"configured alias file(s), one per line in alphabetical order. Note, this " +"only includes the alias name and not its expanded email addresses. See " +"'sendemail.aliasesfile' for more information about aliases." msgstr "" #. type: Plain text -#: en/config.txt:316 -#, no-wrap +#: en/git-send-email.txt:407 msgid "" -"Advice shown by various commands when conflicts\n" -"prevent the operation from being performed.\n" +"To avoid typing long email addresses, point this to one or more email " +"aliases files. You must also supply `sendemail.aliasFileType`." msgstr "" -#. type: Labeled list -#: en/config.txt:316 -#, no-wrap -msgid "implicitIdentity" +#. type: Plain text +#: en/git-send-email.txt:411 +msgid "" +"Format of the file(s) specified in sendemail.aliasesFile. Must be one of " +"'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'." msgstr "" #. type: Plain text -#: en/config.txt:320 -#, no-wrap +#: en/git-send-email.txt:416 msgid "" -"Advice on how to set your identity configuration when\n" -"your information is guessed from the system username and\n" -"domain name.\n" +"What an alias file in each format looks like can be found in the " +"documentation of the email program of the same name. The differences and " +"limitations from the standard formats are described below:" msgstr "" #. type: Labeled list -#: en/config.txt:320 +#: en/git-send-email.txt:418 #, no-wrap -msgid "detachedHead" +msgid "sendmail" msgstr "" #. type: Plain text -#: en/config.txt:324 -#, no-wrap -msgid "" -"Advice shown when you used linkgit:git-checkout[1] to\n" -"move to the detach HEAD state, to instruct how to create\n" -"a local branch after the fact.\n" -msgstr "" - -#. type: Labeled list -#: en/config.txt:324 -#, no-wrap -msgid "amWorkDir" +#: en/git-send-email.txt:420 +msgid "Quoted aliases and quoted addresses are not supported: lines that" msgstr "" #. type: Plain text -#: en/config.txt:327 -#, no-wrap -msgid "" -"Advice that shows the location of the patch file when\n" -"linkgit:git-am[1] fails to apply it.\n" +#: en/git-send-email.txt:421 +msgid "contain a `\"` symbol are ignored." msgstr "" -#. type: Labeled list -#: en/config.txt:327 -#, no-wrap -msgid "rmHints" +#. type: Plain text +#: en/git-send-email.txt:422 +msgid "Redirection to a file (`/path/name`) or pipe (`|command`) is not" msgstr "" #. type: Plain text -#: en/config.txt:330 -#, no-wrap -msgid "" -"In case of failure in the output of linkgit:git-rm[1],\n" -"show directions on how to proceed from the current state.\n" +#: en/git-send-email.txt:423 +msgid "supported." msgstr "" -#. type: Labeled list -#: en/config.txt:332 -#, no-wrap -msgid "core.fileMode" +#. type: Plain text +#: en/git-send-email.txt:424 +msgid "File inclusion (`:include: /path/name`) is not supported." msgstr "" #. type: Plain text -#: en/config.txt:335 -msgid "" -"Tells Git if the executable bit of files in the working tree is to be " -"honored." +#: en/git-send-email.txt:425 +msgid "Warnings are printed on the standard error output for any" msgstr "" #. type: Plain text -#: en/config.txt:342 +#: en/git-send-email.txt:427 msgid "" -"Some filesystems lose the executable bit when a file that is marked as " -"executable is checked out, or checks out an non-executable file with " -"executable bit on. linkgit:git-clone[1] or linkgit:git-init[1] probe the " -"filesystem to see if it handles the executable bit correctly and this " -"variable is automatically set as necessary." +"explicitly unsupported constructs, and any other lines that are not " +"recognized by the parser." msgstr "" #. type: Plain text -#: en/config.txt:351 +#: en/git-send-email.txt:434 msgid "" -"A repository, however, may be on a filesystem that handles the filemode " -"correctly, and this variable is set to 'true' when created, but later may be " -"made accessible from another environment that loses the filemode " -"(e.g. exporting ext4 via CIFS mount, visiting a Cygwin created repository " -"with Git for Windows or Eclipse). In such a case it may be necessary to set " -"this variable to 'false'. See linkgit:git-update-index[1]." +"If true (default), a single editor instance will be spawned to edit files " +"you have to edit (patches when `--annotate` is used, and the summary when " +"`--compose` is used). If false, files will be edited one after the other, " +"spawning a new editor each time." msgstr "" #. type: Plain text -#: en/config.txt:353 +#: en/git-send-email.txt:439 msgid "" -"The default is true (when core.filemode is not specified in the config " -"file)." +"Sets the default for whether to confirm before sending. Must be one of " +"'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm` in the " +"previous section for the meaning of these values." msgstr "" -#. type: Labeled list -#: en/config.txt:354 +#. type: Title ~ +#: en/git-send-email.txt:443 #, no-wrap -msgid "core.hideDotFiles" +msgid "Use gmail as the smtp server" msgstr "" #. type: Plain text -#: en/config.txt:359 +#: en/git-send-email.txt:446 msgid "" -"(Windows-only) If true, mark newly-created directories and files whose name " -"starts with a dot as hidden. If 'dotGitOnly', only the `.git/` directory is " -"hidden, but no other files starting with a dot. The default mode is " -"'dotGitOnly'." +"To use 'git send-email' to send your patches through the GMail SMTP server, " +"edit ~/.gitconfig to specify your account settings:" msgstr "" -#. type: Labeled list -#: en/config.txt:360 +#. type: Plain text +#: en/git-send-email.txt:452 #, no-wrap -msgid "core.ignoreCase" +msgid "" +"\t[sendemail]\n" +"\t\tsmtpEncryption = tls\n" +"\t\tsmtpServer = smtp.gmail.com\n" +"\t\tsmtpUser = yourname@gmail.com\n" +"\t\tsmtpServerPort = 587\n" msgstr "" #. type: Plain text -#: en/config.txt:367 +#: en/git-send-email.txt:458 msgid "" -"If true, this option enables various workarounds to enable Git to work " -"better on filesystems that are not case sensitive, like FAT. For example, if " -"a directory listing finds \"makefile\" when Git expects \"Makefile\", Git " -"will assume it is really the same file, and continue to remember it as " -"\"Makefile\"." +"If you have multifactor authentication setup on your gmail account, you will " +"need to generate an app-specific password for use with 'git " +"send-email'. Visit " +"https://security.google.com/settings/security/apppasswords to setup an " +"app-specific password. Once setup, you can store it with the credentials " +"helper:" msgstr "" #. type: Plain text -#: en/config.txt:371 +#: en/git-send-email.txt:464 +#, no-wrap msgid "" -"The default is false, except linkgit:git-clone[1] or linkgit:git-init[1] " -"will probe and set core.ignoreCase true if appropriate when the repository " -"is created." +"\t$ git credential fill\n" +"\tprotocol=smtp\n" +"\thost=smtp.gmail.com\n" +"\tusername=youname@gmail.com\n" +"\tpassword=app-password\n" msgstr "" -#. type: Labeled list -#: en/config.txt:372 -#, no-wrap -msgid "core.precomposeUnicode" +#. type: Plain text +#: en/git-send-email.txt:468 +msgid "" +"Once your commits are ready to be sent to the mailing list, run the " +"following commands:" msgstr "" #. type: Plain text -#: en/config.txt:380 +#: en/git-send-email.txt:472 +#, no-wrap msgid "" -"This option is only used by Mac OS implementation of Git. When " -"core.precomposeUnicode=true, Git reverts the unicode decomposition of " -"filenames done by Mac OS. This is useful when sharing a repository between " -"Mac OS and Linux or Windows. (Git for Windows 1.7.10 or higher is needed, " -"or Git under cygwin 1.7). When false, file names are handled fully " -"transparent by Git, which is backward compatible with older versions of Git." +"\t$ git format-patch --cover-letter -M origin/master -o outgoing/\n" +"\t$ edit outgoing/0000-*\n" +"\t$ git send-email outgoing/*\n" msgstr "" -#. type: Labeled list -#: en/config.txt:381 +#. type: Plain text +#: en/git-send-email.txt:475 #, no-wrap -msgid "core.protectHFS" +msgid "" +"Note: the following perl modules are required\n" +" Net::SMTP::SSL, MIME::Base64 and Authen::SASL\n" msgstr "" #. type: Plain text -#: en/config.txt:385 -msgid "" -"If set to true, do not allow checkout of paths that would be considered " -"equivalent to `.git` on an HFS+ filesystem. Defaults to `true` on Mac OS, " -"and `false` elsewhere." +#: en/git-send-email.txt:479 +msgid "linkgit:git-format-patch[1], linkgit:git-imap-send[1], mbox(5)" msgstr "" -#. type: Labeled list -#: en/config.txt:386 +#. type: Title = +#: en/git-send-pack.txt:2 #, no-wrap -msgid "core.protectNTFS" +msgid "git-send-pack(1)" msgstr "" #. type: Plain text -#: en/config.txt:391 -msgid "" -"If set to true, do not allow checkout of paths that would cause problems " -"with the NTFS filesystem, e.g. conflict with 8.3 \"short\" names. Defaults " -"to `true` on Windows, and `false` elsewhere." +#: en/git-send-pack.txt:7 +msgid "git-send-pack - Push objects over Git protocol to another repository" msgstr "" -#. type: Labeled list -#: en/config.txt:392 +#. type: Plain text +#: en/git-send-pack.txt:16 #, no-wrap -msgid "core.trustctime" +msgid "" +"'git send-pack' [--all] [--dry-run] [--force] " +"[--receive-pack=<git-receive-pack>]\n" +"\t\t[--verbose] [--thin] [--atomic]\n" +"\t\t[--[no-]signed|--sign=(true|false|if-asked)]\n" +"\t\t[<host>:]<directory> [<ref>...]\n" msgstr "" #. type: Plain text -#: en/config.txt:398 +#: en/git-send-pack.txt:21 msgid "" -"If false, the ctime differences between the index and the working tree are " -"ignored; useful when the inode change time is regularly modified by " -"something outside Git (file system crawlers and some backup systems). See " -"linkgit:git-update-index[1]. True by default." -msgstr "" - -#. type: Labeled list -#: en/config.txt:399 -#, no-wrap -msgid "core.splitIndex" +"Usually you would want to use 'git push', which is a higher-level wrapper of " +"this command, instead. See linkgit:git-push[1]." msgstr "" #. type: Plain text -#: en/config.txt:402 +#: en/git-send-pack.txt:24 msgid "" -"If true, the split-index feature of the index will be used. See " -"linkgit:git-update-index[1]. False by default." +"Invokes 'git-receive-pack' on a possibly remote repository, and updates it " +"from the current repository, sending named refs." msgstr "" -#. type: Labeled list -#: en/config.txt:403 -#, no-wrap -msgid "core.untrackedCache" +#. type: Plain text +#: en/git-send-pack.txt:36 +msgid "Same as --receive-pack=<git-receive-pack>." msgstr "" #. type: Plain text -#: en/config.txt:411 +#: en/git-send-pack.txt:40 msgid "" -"Determines what to do about the untracked cache feature of the index. It " -"will be kept, if this variable is unset or set to `keep`. It will " -"automatically be added if set to `true`. And it will automatically be " -"removed, if set to `false`. Before setting it to `true`, you should check " -"that mtime is working properly on your system. See " -"linkgit:git-update-index[1]. `keep` by default." -msgstr "" - -#. type: Labeled list -#: en/config.txt:412 -#, no-wrap -msgid "core.checkStat" +"Instead of explicitly specifying which refs to update, update all heads that " +"locally exist." msgstr "" #. type: Plain text -#: en/config.txt:417 +#: en/git-send-pack.txt:67 msgid "" -"Determines which stat fields to match between the index and work tree. The " -"user can set this to 'default' or 'minimal'. Default (or explicitly " -"'default'), is to check all fields, including the sub-second part of mtime " -"and ctime." +"Send a \"thin\" pack, which records objects in deltified form based on " +"objects not included in the pack to reduce network traffic." msgstr "" #. type: Labeled list -#: en/config.txt:418 +#: en/git-send-pack.txt:68 #, no-wrap -msgid "core.quotePath" +msgid "--atomic" msgstr "" #. type: Plain text -#: en/config.txt:432 +#: en/git-send-pack.txt:72 msgid "" -"Commands that output paths (e.g. 'ls-files', 'diff'), will quote \"unusual\" " -"characters in the pathname by enclosing the pathname in double-quotes and " -"escaping those characters with backslashes in the same way C escapes control " -"characters (e.g. `\\t` for TAB, `\\n` for LF, `\\\\` for backslash) or " -"bytes with values larger than 0x80 (e.g. octal `\\302\\265` for \"micro\" in " -"UTF-8). If this variable is set to false, bytes higher than 0x80 are not " -"considered \"unusual\" any more. Double-quotes, backslash and control " -"characters are always escaped regardless of the setting of this variable. A " -"simple space character is not considered \"unusual\". Many commands can " -"output pathnames completely verbatim using the `-z` option. The default " -"value is true." +"Use an atomic transaction for updating the refs. If any of the refs fails to " +"update then the entire push will fail without changing any refs." msgstr "" #. type: Labeled list -#: en/config.txt:433 +#: en/git-send-pack.txt:84 #, no-wrap -msgid "core.eol" +msgid "<host>" msgstr "" #. type: Plain text -#: en/config.txt:440 +#: en/git-send-pack.txt:88 msgid "" -"Sets the line ending type to use in the working directory for files that " -"have the `text` property set when core.autocrlf is false. Alternatives are " -"'lf', 'crlf' and 'native', which uses the platform's native line ending. " -"The default value is `native`. See linkgit:gitattributes[5] for more " -"information on end-of-line conversion." +"A remote host to house the repository. When this part is specified, " +"'git-receive-pack' is invoked via ssh." msgstr "" -#. type: Labeled list -#: en/config.txt:441 -#, no-wrap -msgid "core.safecrlf" +#. type: Plain text +#: en/git-send-pack.txt:91 +msgid "The repository to update." msgstr "" #. type: Plain text -#: en/config.txt:451 -msgid "" -"If true, makes Git check if converting `CRLF` is reversible when end-of-line " -"conversion is active. Git will verify if a command modifies a file in the " -"work tree either directly or indirectly. For example, committing a file " -"followed by checking out the same file should yield the original file in the " -"work tree. If this is not the case for the current setting of " -"`core.autocrlf`, Git will reject the file. The variable can be set to " -"\"warn\", in which case Git will only warn about an irreversible conversion " -"but continue the operation." +#: en/git-send-pack.txt:101 +msgid "There are three ways to specify which refs to update on the remote end." msgstr "" #. type: Plain text -#: en/config.txt:460 +#: en/git-send-pack.txt:105 msgid "" -"CRLF conversion bears a slight chance of corrupting data. When it is " -"enabled, Git will convert CRLF to LF during commit and LF to CRLF during " -"checkout. A file that contains a mixture of LF and CRLF before the commit " -"cannot be recreated by Git. For text files this is the right thing to do: " -"it corrects line endings such that we have only LF line endings in the " -"repository. But for binary files that are accidentally classified as text " -"the conversion can corrupt data." +"With `--all` flag, all refs that exist locally are transferred to the remote " +"side. You cannot specify any '<ref>' if you use this flag." msgstr "" #. type: Plain text -#: en/config.txt:467 +#: en/git-send-pack.txt:108 msgid "" -"If you recognize such corruption early you can easily fix it by setting the " -"conversion type explicitly in .gitattributes. Right after committing you " -"still have the original file in your work tree and this file is not yet " -"corrupted. You can explicitly tell Git that this file is binary and Git " -"will handle the file appropriately." +"Without `--all` and without any '<ref>', the heads that exist both on the " +"local side and on the remote side are updated." msgstr "" #. type: Plain text -#: en/config.txt:474 +#: en/git-send-pack.txt:114 msgid "" -"Unfortunately, the desired effect of cleaning up text files with mixed line " -"endings and the undesired effect of corrupting binary files cannot be " -"distinguished. In both cases CRLFs are removed in an irreversible way. For " -"text files this is the right thing to do because CRLFs are line endings, " -"while for binary files converting CRLFs corrupts data." +"When one or more '<ref>' are specified explicitly (whether on the command " +"line or via `--stdin`), it can be either a single pattern, or a pair of such " +"pattern separated by a colon \":\" (this means that a ref name cannot have a " +"colon in it). A single pattern '<name>' is just a shorthand for " +"'<name>:<name>'." msgstr "" #. type: Plain text -#: en/config.txt:485 +#: en/git-send-pack.txt:122 msgid "" -"Note, this safety check does not mean that a checkout will generate a file " -"identical to the original file for a different setting of `core.eol` and " -"`core.autocrlf`, but only for the current one. For example, a text file " -"with `LF` would be accepted with `core.eol=lf` and could later be checked " -"out with `core.eol=crlf`, in which case the resulting file would contain " -"`CRLF`, although the original file contained `LF`. However, in both work " -"trees the line endings would be consistent, that is either all `LF` or all " -"`CRLF`, but never mixed. A file with mixed line endings would be reported " -"by the `core.safecrlf` mechanism." +"Each pattern pair consists of the source side (before the colon) and the " +"destination side (after the colon). The ref to be pushed is determined by " +"finding a match that matches the source side, and where it is pushed is " +"determined by using the destination side. The rules used to match a ref are " +"the same rules used by 'git rev-parse' to resolve a symbolic ref name. See " +"linkgit:git-rev-parse[1]." msgstr "" -#. type: Labeled list -#: en/config.txt:486 +#. type: Plain text +#: en/git-send-pack.txt:127 +msgid "It is an error if <dst> matches more than one remote refs." +msgstr "" + +#. type: Title = +#: en/git-shell.txt:2 #, no-wrap -msgid "core.autocrlf" +msgid "git-shell(1)" msgstr "" #. type: Plain text -#: en/config.txt:493 -msgid "" -"Setting this variable to \"true\" is the same as setting the `text` " -"attribute to \"auto\" on all files and core.eol to \"crlf\". Set to true if " -"you want to have `CRLF` line endings in your working directory and the " -"repository has LF line endings. This variable can be set to 'input', in " -"which case no output conversion is performed." +#: en/git-shell.txt:7 +msgid "git-shell - Restricted login shell for Git-only SSH access" msgstr "" -#. type: Labeled list -#: en/config.txt:494 +#. type: Plain text +#: en/git-shell.txt:15 #, no-wrap -msgid "core.symlinks" +msgid "" +"'chsh' -s $(command -v git-shell) <user>\n" +"'git clone' <user>`@localhost:/path/to/repo.git`\n" +"'ssh' <user>`@localhost`\n" msgstr "" #. type: Plain text -#: en/config.txt:500 +#: en/git-shell.txt:23 msgid "" -"If false, symbolic links are checked out as small plain files that contain " -"the link text. linkgit:git-update-index[1] and linkgit:git-add[1] will not " -"change the recorded type to regular file. Useful on filesystems like FAT " -"that do not support symbolic links." +"This is a login shell for SSH accounts to provide restricted Git access. It " +"permits execution only of server-side Git commands implementing the " +"pull/push functionality, plus custom commands present in a subdirectory " +"named `git-shell-commands` in the user's home directory." msgstr "" #. type: Plain text -#: en/config.txt:504 -msgid "" -"The default is true, except linkgit:git-clone[1] or linkgit:git-init[1] will " -"probe and set core.symlinks false if appropriate when the repository is " -"created." +#: en/git-shell.txt:28 +msgid "'git shell' accepts the following commands after the `-c` option:" msgstr "" #. type: Labeled list -#: en/config.txt:505 +#: en/git-shell.txt:29 #, no-wrap -msgid "core.gitProxy" +msgid "'git receive-pack <argument>'" msgstr "" -#. type: Plain text -#: en/config.txt:513 -msgid "" -"A \"proxy command\" to execute (as 'command host port') instead of " -"establishing direct connection to the remote server when using the Git " -"protocol for fetching. If the variable value is in the \"COMMAND for " -"DOMAIN\" format, the command is applied only on hostnames ending with the " -"specified domain string. This variable may be set multiple times and is " -"matched in the given order; the first match wins." +#. type: Labeled list +#: en/git-shell.txt:30 +#, no-wrap +msgid "'git upload-pack <argument>'" msgstr "" -#. type: Plain text -#: en/config.txt:517 -msgid "" -"Can be overridden by the `GIT_PROXY_COMMAND` environment variable (which " -"always applies universally, without the special \"for\" handling)." +#. type: Labeled list +#: en/git-shell.txt:31 +#, no-wrap +msgid "'git upload-archive <argument>'" msgstr "" #. type: Plain text -#: en/config.txt:522 +#: en/git-shell.txt:35 msgid "" -"The special string `none` can be used as the proxy command to specify that " -"no proxy be used for a given domain pattern. This is useful for excluding " -"servers inside a firewall from proxy use, while defaulting to a common proxy " -"for external domains." +"Call the corresponding server-side command to support the client's 'git " +"push', 'git fetch', or 'git archive --remote' request." msgstr "" #. type: Labeled list -#: en/config.txt:523 +#: en/git-shell.txt:35 #, no-wrap -msgid "core.sshCommand" +msgid "'cvs server'" msgstr "" #. type: Plain text -#: en/config.txt:529 +#: en/git-shell.txt:37 +msgid "Imitate a CVS server. See linkgit:git-cvsserver[1]." +msgstr "" + +#. type: Plain text +#: en/git-shell.txt:42 msgid "" -"If this variable is set, `git fetch` and `git push` will use the specified " -"command instead of `ssh` when they need to connect to a remote system. The " -"command is in the same form as the `GIT_SSH_COMMAND` environment variable " -"and is overridden when the environment variable is set." +"If a `~/git-shell-commands` directory is present, 'git shell' will also " +"handle other, custom commands by running \"`git-shell-commands/<command> " +"<arguments>`\" from the user's home directory." msgstr "" -#. type: Labeled list -#: en/config.txt:530 +#. type: Title - +#: en/git-shell.txt:44 #, no-wrap -msgid "core.ignoreStat" +msgid "INTERACTIVE USE" msgstr "" #. type: Plain text -#: en/config.txt:534 +#: en/git-shell.txt:48 msgid "" -"If true, Git will avoid using lstat() calls to detect if files have changed " -"by setting the \"assume-unchanged\" bit for those tracked files which it has " -"updated identically in both the index and working tree." +"By default, the commands above can be executed only with the `-c` option; " +"the shell is not interactive." msgstr "" #. type: Plain text -#: en/config.txt:539 +#: en/git-shell.txt:56 msgid "" -"When files are modified outside of Git, the user will need to stage the " -"modified files explicitly (e.g. see 'Examples' section in " -"linkgit:git-update-index[1]). Git will not normally detect changes to those " -"files." +"If a `~/git-shell-commands` directory is present, 'git shell' can also be " +"run interactively (with no arguments). If a `help` command is present in " +"the `git-shell-commands` directory, it is run to provide the user with an " +"overview of allowed actions. Then a \"git> \" prompt is presented at which " +"one can enter any of the commands from the `git-shell-commands` directory, " +"or `exit` to close the connection." msgstr "" #. type: Plain text -#: en/config.txt:542 +#: en/git-shell.txt:61 msgid "" -"This is useful on systems where lstat() calls are very slow, such as " -"CIFS/Microsoft Windows." +"Generally this mode is used as an administrative interface to allow users to " +"list repositories they have access to, create, delete, or rename " +"repositories, or change repository descriptions and permissions." msgstr "" #. type: Plain text -#: en/config.txt:544 -msgid "False by default." +#: en/git-shell.txt:64 +msgid "" +"If a `no-interactive-login` command exists, then it is run and the " +"interactive shell is aborted." msgstr "" -#. type: Labeled list -#: en/config.txt:545 +#. type: Plain text +#: en/git-shell.txt:69 +msgid "To disable interactive logins, displaying a greeting instead:" +msgstr "" + +#. type: delimited block - +#: en/git-shell.txt:80 #, no-wrap -msgid "core.preferSymlinkRefs" +msgid "" +"$ chsh -s /usr/bin/git-shell\n" +"$ mkdir $HOME/git-shell-commands\n" +"$ cat >$HOME/git-shell-commands/no-interactive-login <<\\EOF\n" +"#!/bin/sh\n" +"printf '%s\\n' \"Hi $USER! You've successfully authenticated, but I do " +"not\"\n" +"printf '%s\\n' \"provide interactive shell access.\"\n" +"exit 128\n" +"EOF\n" +"$ chmod +x $HOME/git-shell-commands/no-interactive-login\n" msgstr "" #. type: Plain text -#: en/config.txt:550 -msgid "" -"Instead of the default \"symref\" format for HEAD and other symbolic " -"reference files, use symbolic links. This is sometimes needed to work with " -"old scripts that expect HEAD to be a symbolic link." +#: en/git-shell.txt:87 +msgid "ssh(1), linkgit:git-daemon[1], contrib/git-shell-commands/README" msgstr "" -#. type: Labeled list -#: en/config.txt:551 +#. type: Title = +#: en/git-sh-i18n--envsubst.txt:2 #, no-wrap -msgid "core.bare" +msgid "git-sh-i18n{litdd}envsubst(1)" msgstr "" #. type: Plain text -#: en/config.txt:556 -msgid "" -"If true this repository is assumed to be 'bare' and has no working directory " -"associated with it. If this is the case a number of commands that require a " -"working directory will be disabled, such as linkgit:git-add[1] or " -"linkgit:git-merge[1]." +#: en/git-sh-i18n--envsubst.txt:7 +msgid "git-sh-i18n--envsubst - Git's own envsubst(1) for i18n fallbacks" msgstr "" #. type: Plain text -#: en/config.txt:561 -msgid "" -"This setting is automatically guessed by linkgit:git-clone[1] or " -"linkgit:git-init[1] when the repository was created. By default a " -"repository that ends in \"/.git\" is assumed to be not bare (bare = false), " -"while all other repositories are assumed to be bare (bare" -msgstr "" - -#. type: Title = -#: en/config.txt:561 +#: en/git-sh-i18n--envsubst.txt:17 #, no-wrap -msgid "true)." +msgid "" +"eval_gettext () {\n" +"\tprintf \"%s\" \"$1\" | (\n" +"\t\texport PATH $('git sh-i18n{litdd}envsubst' --variables \"$1\");\n" +"\t\t'git sh-i18n{litdd}envsubst' \"$1\"\n" +"\t)\n" +"}\n" msgstr "" -#. type: Labeled list -#: en/config.txt:563 -#, no-wrap -msgid "core.worktree" +#. type: Plain text +#: en/git-sh-i18n--envsubst.txt:24 +msgid "" +"This is not a command the end user would want to run. Ever. This " +"documentation is meant for people who are studying the plumbing scripts " +"and/or are writing new ones." msgstr "" #. type: Plain text -#: en/config.txt:576 +#: en/git-sh-i18n--envsubst.txt:29 msgid "" -"Set the path to the root of the working tree. If `GIT_COMMON_DIR` " -"environment variable is set, core.worktree is ignored and not used for " -"determining the root of working tree. This can be overridden by the " -"`GIT_WORK_TREE` environment variable and the `--work-tree` command-line " -"option. The value can be an absolute path or relative to the path to the " -".git directory, which is either specified by --git-dir or GIT_DIR, or " -"automatically discovered. If --git-dir or GIT_DIR is specified but none of " -"--work-tree, GIT_WORK_TREE and core.worktree is specified, the current " -"working directory is regarded as the top level of your working tree." +"'git sh-i18n{litdd}envsubst' is Git's stripped-down copy of the GNU " +"`envsubst(1)` program that comes with the GNU gettext package. It's used " +"internally by linkgit:git-sh-i18n[1] to interpolate the variables passed to " +"the `eval_gettext` function." msgstr "" #. type: Plain text -#: en/config.txt:586 +#: en/git-sh-i18n--envsubst.txt:33 msgid "" -"Note that this variable is honored even when set in a configuration file in " -"a \".git\" subdirectory of a directory and its value differs from the latter " -"directory (e.g. \"/path/to/.git/config\" has core.worktree set to " -"\"/different/path\"), which is most likely a misconfiguration. Running Git " -"commands in the \"/path/to\" directory will still use \"/different/path\" as " -"the root of the work tree and can cause confusion unless you know what you " -"are doing (e.g. you are creating a read-only snapshot of the same index to a " -"location different from the repository's usual working tree)." +"No promises are made about the interface, or that this program won't " +"disappear without warning in the next version of Git. Don't use it." msgstr "" -#. type: Labeled list -#: en/config.txt:587 +#. type: Title = +#: en/git-sh-i18n.txt:2 #, no-wrap -msgid "core.logAllRefUpdates" +msgid "git-sh-i18n(1)" msgstr "" #. type: Plain text -#: en/config.txt:598 -msgid "" -"Enable the reflog. Updates to a ref <ref> is logged to the file " -"\"`$GIT_DIR/logs/<ref>`\", by appending the new and old SHA-1, the date/time " -"and the reason of the update, but only when the file exists. If this " -"configuration variable is set to `true`, missing \"`$GIT_DIR/logs/<ref>`\" " -"file is automatically created for branch heads (i.e. under `refs/heads/`), " -"remote refs (i.e. under `refs/remotes/`), note refs (i.e. under " -"`refs/notes/`), and the symbolic ref `HEAD`. If it is set to `always`, then " -"a missing reflog is automatically created for any ref under `refs/`." +#: en/git-sh-i18n.txt:7 +msgid "git-sh-i18n - Git's i18n setup code for shell scripts" msgstr "" #. type: Plain text -#: en/config.txt:601 -msgid "" -"This information can be used to determine what commit was the tip of a " -"branch \"2 days ago\"." +#: en/git-sh-i18n.txt:12 +#, no-wrap +msgid "'. \"$(git --exec-path)/git-sh-i18n\"'\n" msgstr "" #. type: Plain text -#: en/config.txt:605 +#: en/git-sh-i18n.txt:26 msgid "" -"This value is true by default in a repository that has a working directory " -"associated with it, and false by default in a bare repository." +"The 'git sh-i18n scriptlet is designed to be sourced (using `.`) by Git's " +"porcelain programs implemented in shell script. It provides wrappers for the " +"GNU `gettext` and `eval_gettext` functions accessible through the " +"`gettext.sh` script, and provides pass-through fallbacks on systems without " +"GNU gettext." msgstr "" #. type: Labeled list -#: en/config.txt:606 +#: en/git-sh-i18n.txt:30 #, no-wrap -msgid "core.repositoryFormatVersion" +msgid "gettext" msgstr "" #. type: Plain text -#: en/config.txt:609 -msgid "Internal variable identifying the repository format and layout version." +#: en/git-sh-i18n.txt:34 +msgid "" +"Currently a dummy fall-through function implemented as a wrapper around " +"`printf(1)`. Will be replaced by a real gettext implementation in a later " +"version." msgstr "" #. type: Labeled list -#: en/config.txt:610 +#: en/git-sh-i18n.txt:35 #, no-wrap -msgid "core.sharedRepository" +msgid "eval_gettext" msgstr "" #. type: Plain text -#: en/config.txt:624 +#: en/git-sh-i18n.txt:40 msgid "" -"When 'group' (or 'true'), the repository is made shareable between several " -"users in a group (making sure all the files and objects are " -"group-writable). When 'all' (or 'world' or 'everybody'), the repository will " -"be readable by all users, additionally to being group-shareable. When " -"'umask' (or 'false'), Git will use permissions reported by umask(2). When " -"'0xxx', where '0xxx' is an octal number, files in the repository will have " -"this mode value. '0xxx' will override user's umask value (whereas the other " -"options will only override requested parts of the user's umask " -"value). Examples: '0660' will make the repo read/write-able for the owner " -"and group, but inaccessible to others (equivalent to 'group' unless umask is " -"e.g. '0022'). '0640' is a repository that is group-readable but not " -"group-writable. See linkgit:git-init[1]. False by default." +"Currently a dummy fall-through function implemented as a wrapper around " +"`printf(1)` with variables expanded by the " +"linkgit:git-sh-i18n{litdd}envsubst[1] helper. Will be replaced by a real " +"gettext implementation in a later version." msgstr "" -#. type: Labeled list -#: en/config.txt:625 +#. type: Title = +#: en/git-shortlog.txt:2 #, no-wrap -msgid "core.warnAmbiguousRefs" +msgid "git-shortlog(1)" msgstr "" #. type: Plain text -#: en/config.txt:628 -msgid "" -"If true, Git will warn you if the ref name you passed it is ambiguous and " -"might match multiple refs in the repository. True by default." +#: en/git-shortlog.txt:7 +msgid "git-shortlog - Summarize 'git log' output" msgstr "" -#. type: Labeled list -#: en/config.txt:629 +#. type: Plain text +#: en/git-shortlog.txt:13 #, no-wrap -msgid "core.compression" +msgid "" +"git log --pretty=short | 'git shortlog' [<options>]\n" +"'git shortlog' [<options>] [<revision range>] [[\\--] <path>...]\n" msgstr "" #. type: Plain text -#: en/config.txt:635 +#: en/git-shortlog.txt:18 msgid "" -"An integer -1..9, indicating a default compression level. -1 is the zlib " -"default. 0 means no compression, and 1..9 are various speed/size tradeoffs, " -"9 being slowest. If set, this provides a default to other compression " -"variables, such as `core.looseCompression` and `pack.compression`." +"Summarizes 'git log' output in a format suitable for inclusion in release " +"announcements. Each commit will be grouped by author and title." msgstr "" -#. type: Labeled list -#: en/config.txt:636 -#, no-wrap -msgid "core.looseCompression" +#. type: Plain text +#: en/git-shortlog.txt:20 +msgid "Additionally, \"[PATCH]\" will be stripped from the commit description." msgstr "" #. type: Plain text -#: en/config.txt:642 +#: en/git-shortlog.txt:25 msgid "" -"An integer -1..9, indicating the compression level for objects that are not " -"in a pack file. -1 is the zlib default. 0 means no compression, and 1..9 are " -"various speed/size tradeoffs, 9 being slowest. If not set, defaults to " -"core.compression. If that is not set, defaults to 1 (best speed)." -msgstr "" - -#. type: Labeled list -#: en/config.txt:643 -#, no-wrap -msgid "core.packedGitWindowSize" +"If no revisions are passed on the command line and either standard input is " +"not a terminal or there is no current branch, 'git shortlog' will output a " +"summary of the log read from standard input, without reference to the " +"current repository." msgstr "" #. type: Plain text -#: en/config.txt:651 +#: en/git-shortlog.txt:33 msgid "" -"Number of bytes of a pack file to map into memory in a single mapping " -"operation. Larger window sizes may allow your system to process a smaller " -"number of large pack files more quickly. Smaller window sizes will " -"negatively affect performance due to increased calls to the operating " -"system's memory manager, but may improve performance when accessing a large " -"number of large pack files." +"Sort output according to the number of commits per author instead of author " +"alphabetic order." msgstr "" #. type: Plain text -#: en/config.txt:656 -msgid "" -"Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 MiB on 32 " -"bit platforms and 1 GiB on 64 bit platforms. This should be reasonable for " -"all users/operating systems. You probably do not need to adjust this value." +#: en/git-shortlog.txt:37 +msgid "Suppress commit description and provide a commit count summary only." +msgstr "" + +#. type: Labeled list +#: en/git-shortlog.txt:39 +#, no-wrap +msgid "--email" msgstr "" #. type: Plain text -#: en/config.txt:658 en/config.txt:670 en/config.txt:683 en/config.txt:696 -msgid "Common unit suffixes of 'k', 'm', or 'g' are supported." +#: en/git-shortlog.txt:41 +msgid "Show the email address of each author." msgstr "" #. type: Labeled list -#: en/config.txt:659 +#: en/git-shortlog.txt:42 #, no-wrap -msgid "core.packedGitLimit" +msgid "--format[=<format>]" msgstr "" #. type: Plain text -#: en/config.txt:664 +#: en/git-shortlog.txt:47 msgid "" -"Maximum number of bytes to map simultaneously into memory from pack files. " -"If Git needs to access more than this many bytes at once to complete an " -"operation it will unmap existing regions to reclaim virtual address space " -"within the process." +"Instead of the commit subject, use some other information to describe each " +"commit. '<format>' can be any string accepted by the `--format` option of " +"'git log', such as '* [%h] %s'. (See the \"PRETTY FORMATS\" section of " +"linkgit:git-log[1].)" msgstr "" #. type: Plain text -#: en/config.txt:668 -msgid "" -"Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms. This " -"should be reasonable for all users/operating systems, except on the largest " -"projects. You probably do not need to adjust this value." +#: en/git-shortlog.txt:49 +msgid "Each pretty-printed commit will be rewrapped before it is shown." msgstr "" #. type: Labeled list -#: en/config.txt:671 +#: en/git-shortlog.txt:51 #, no-wrap -msgid "core.deltaBaseCacheLimit" -msgstr "" - -#. type: Plain text -#: en/config.txt:677 -msgid "" -"Maximum number of bytes to reserve for caching base objects that may be " -"referenced by multiple deltified objects. By storing the entire " -"decompressed base objects in a cache Git is able to avoid unpacking and " -"decompressing frequently used base objects multiple times." +msgid "--committer" msgstr "" #. type: Plain text -#: en/config.txt:681 -msgid "" -"Default is 96 MiB on all platforms. This should be reasonable for all " -"users/operating systems, except on the largest projects. You probably do " -"not need to adjust this value." +#: en/git-shortlog.txt:53 +msgid "Collect and show committer identities instead of authors." msgstr "" #. type: Labeled list -#: en/config.txt:684 +#: en/git-shortlog.txt:54 #, no-wrap -msgid "core.bigFileThreshold" +msgid "-w[<width>[,<indent1>[,<indent2>]]]" msgstr "" #. type: Plain text -#: en/config.txt:690 +#: en/git-shortlog.txt:59 msgid "" -"Files larger than this size are stored deflated, without attempting delta " -"compression. Storing large files without delta compression avoids excessive " -"memory usage, at the slight expense of increased disk usage. Additionally " -"files larger than this size are always treated as binary." +"Linewrap the output by wrapping each line at `width`. The first line of " +"each entry is indented by `indent1` spaces, and the second and subsequent " +"lines are indented by `indent2` spaces. `width`, `indent1`, and `indent2` " +"default to 76, 6 and 9 respectively." msgstr "" #. type: Plain text -#: en/config.txt:694 +#: en/git-shortlog.txt:62 msgid "" -"Default is 512 MiB on all platforms. This should be reasonable for most " -"projects as source code and other text files can still be delta compressed, " -"but larger binary media files won't be." +"If width is `0` (zero) then indent the lines of the output without wrapping " +"them." msgstr "" -#. type: Labeled list -#: en/config.txt:697 -#, no-wrap -msgid "core.excludesFile" +#. type: Plain text +#: en/git-shortlog.txt:71 +msgid "" +"Show only commits in the specified revision range. When no <revision range> " +"is specified, it defaults to `HEAD` (i.e. the whole history leading to the " +"current commit). `origin..HEAD` specifies all the commits reachable from " +"the current commit (i.e. `HEAD`), but not from `origin`. For a complete list " +"of ways to spell <revision range>, see the \"Specifying Ranges\" section of " +"linkgit:gitrevisions[7]." msgstr "" #. type: Plain text -#: en/config.txt:704 +#: en/git-shortlog.txt:75 +#, no-wrap msgid "" -"Specifies the pathname to the file that contains patterns to describe paths " -"that are not meant to be tracked, in addition to '.gitignore' " -"(per-directory) and '.git/info/exclude'. Defaults to " -"`$XDG_CONFIG_HOME/git/ignore`. If `$XDG_CONFIG_HOME` is either not set or " -"empty, `$HOME/.config/git/ignore` is used instead. See linkgit:gitignore[5]." +"[\\--] <path>...::\n" +"\tConsider only commits that are enough to explain how the files\n" +"\tthat match the specified paths came to be.\n" msgstr "" -#. type: Labeled list -#: en/config.txt:705 -#, no-wrap -msgid "core.askPass" +#. type: Plain text +#: en/git-shortlog.txt:78 +msgid "" +"Paths may need to be prefixed with \"\\-- \" to separate them from options " +"or the revision range, when confusion arises." msgstr "" #. type: Plain text -#: en/config.txt:713 +#: en/git-shortlog.txt:85 msgid "" -"Some commands (e.g. svn and http interfaces) that interactively ask for a " -"password can be told to use an external program given via the value of this " -"variable. Can be overridden by the `GIT_ASKPASS` environment variable. If " -"not set, fall back to the value of the `SSH_ASKPASS` environment variable " -"or, failing that, a simple password prompt. The external program shall be " -"given a suitable prompt as command-line argument and write the password on " -"its STDOUT." +"The `.mailmap` feature is used to coalesce together commits by the same " +"person in the shortlog, where their name and/or email address was spelled " +"differently." msgstr "" -#. type: Labeled list -#: en/config.txt:714 +#. type: Title = +#: en/git-show-branch.txt:2 #, no-wrap -msgid "core.attributesFile" +msgid "git-show-branch(1)" msgstr "" #. type: Plain text -#: en/config.txt:721 -msgid "" -"In addition to '.gitattributes' (per-directory) and '.git/info/attributes', " -"Git looks into this file for attributes (see linkgit:gitattributes[5]). Path " -"expansions are made the same way as for `core.excludesFile`. Its default " -"value is `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either " -"not set or empty, `$HOME/.config/git/attributes` is used instead." +#: en/git-show-branch.txt:7 +msgid "git-show-branch - Show branches and their commits" msgstr "" -#. type: Labeled list -#: en/config.txt:722 +#. type: Plain text +#: en/git-show-branch.txt:17 #, no-wrap -msgid "core.hooksPath" +msgid "" +"'git show-branch' [-a|--all] [-r|--remotes] [--topo-order | --date-order]\n" +"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n" +"\t\t[--more=<n> | --list | --independent | --merge-base]\n" +"\t\t[--no-name | --sha1-name] [--topics]\n" +"\t\t[(<rev> | <glob>)...]\n" +"'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]\n" msgstr "" #. type: Plain text -#: en/config.txt:728 +#: en/git-show-branch.txt:24 msgid "" -"By default Git will look for your hooks in the '$GIT_DIR/hooks' " -"directory. Set this to different path, e.g. '/etc/git/hooks', and Git will " -"try to find your hooks in that directory, e.g. '/etc/git/hooks/pre-receive' " -"instead of in '$GIT_DIR/hooks/pre-receive'." +"Shows the commit ancestry graph starting from the commits named with <rev>s " +"or <globs>s (or all refs under refs/heads and/or refs/tags) semi-visually." msgstr "" #. type: Plain text -#: en/config.txt:732 -msgid "" -"The path can be either absolute or relative. A relative path is taken as " -"relative to the directory where the hooks are run (see the \"DESCRIPTION\" " -"section of linkgit:githooks[5])." +#: en/git-show-branch.txt:26 +msgid "It cannot show more than 29 branches and commits at a time." msgstr "" #. type: Plain text -#: en/config.txt:738 +#: en/git-show-branch.txt:29 msgid "" -"This configuration variable is useful in cases where you'd like to centrally " -"configure your Git hooks instead of configuring them on a per-repository " -"basis, or as a more flexible and centralized alternative to having an " -"`init.templateDir` where you've changed default hooks." +"It uses `showbranch.default` multi-valued configuration items if no <rev> or " +"<glob> is given on the command line." msgstr "" #. type: Labeled list -#: en/config.txt:739 +#: en/git-show-branch.txt:33 #, no-wrap -msgid "core.editor" +msgid "<rev>" msgstr "" #. type: Plain text -#: en/config.txt:744 +#: en/git-show-branch.txt:36 msgid "" -"Commands such as `commit` and `tag` that lets you edit messages by launching " -"an editor uses the value of this variable when it is set, and the " -"environment variable `GIT_EDITOR` is not set. See linkgit:git-var[1]." +"Arbitrary extended SHA-1 expression (see linkgit:gitrevisions[7]) that " +"typically names a branch head or a tag." msgstr "" #. type: Labeled list -#: en/config.txt:745 +#: en/git-show-branch.txt:37 #, no-wrap -msgid "core.commentChar" +msgid "<glob>" msgstr "" #. type: Plain text -#: en/config.txt:750 +#: en/git-show-branch.txt:42 msgid "" -"Commands such as `commit` and `tag` that lets you edit messages consider a " -"line that begins with this character commented, and removes them after the " -"editor returns (default '#')." +"A glob pattern that matches branch or tag names under refs/. For example, " +"if you have many topic branches under refs/heads/topic, giving `topic/*` " +"would show all of them." msgstr "" #. type: Plain text -#: en/config.txt:753 -msgid "" -"If set to \"auto\", `git-commit` would select a character that is not the " -"beginning character of any line in existing commit messages." +#: en/git-show-branch.txt:46 +msgid "Show the remote-tracking branches." +msgstr "" + +#. type: Plain text +#: en/git-show-branch.txt:50 +msgid "Show both remote-tracking branches and local branches." msgstr "" #. type: Labeled list -#: en/config.txt:754 +#: en/git-show-branch.txt:51 #, no-wrap -msgid "core.packedRefsTimeout" +msgid "--current" msgstr "" #. type: Plain text -#: en/config.txt:759 +#: en/git-show-branch.txt:55 msgid "" -"The length of time, in milliseconds, to retry when trying to lock the " -"`packed-refs` file. Value 0 means not to retry at all; -1 means to try " -"indefinitely. Default is 1000 (i.e., retry for 1 second)." +"With this option, the command includes the current branch to the list of " +"revs to be shown when it is not given on the command line." msgstr "" #. type: Labeled list -#: en/config.txt:760 +#: en/git-show-branch.txt:56 en/rev-list-options.txt:635 #, no-wrap -msgid "sequence.editor" +msgid "--topo-order" msgstr "" #. type: Plain text -#: en/config.txt:765 +#: en/git-show-branch.txt:61 msgid "" -"Text editor used by `git rebase -i` for editing the rebase instruction " -"file. The value is meant to be interpreted by the shell when it is used. " -"It can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable. " -"When not configured the default commit message editor is used instead." +"By default, the branches and their commits are shown in reverse " +"chronological order. This option makes them appear in topological order " +"(i.e., descendant commits are shown before their parents)." msgstr "" #. type: Labeled list -#: en/config.txt:766 +#: en/git-show-branch.txt:62 en/rev-list-options.txt:627 #, no-wrap -msgid "core.pager" -msgstr "" - -#. type: Plain text -#: en/config.txt:786 -msgid "" -"When the `LESS` environment variable is unset, Git sets it to `FRX` (if " -"`LESS` environment variable is set, Git does not change it at all). If you " -"want to selectively override Git's default setting for `LESS`, you can set " -"`core.pager` to e.g. `less -S`. This will be passed to the shell by Git, " -"which will translate the final command to `LESS=FRX less -S`. The " -"environment does not set the `S` option but the command line does, " -"instructing less to truncate long lines. Similarly, setting `core.pager` to " -"`less -+F` will deactivate the `F` option specified by the environment from " -"the command-line, deactivating the \"quit if one screen\" behavior of " -"`less`. One can specifically activate some flags for particular commands: " -"for example, setting `pager.blame` to `less -S` enables line truncation only " -"for `git blame`." +msgid "--date-order" msgstr "" #. type: Plain text -#: en/config.txt:790 +#: en/git-show-branch.txt:66 msgid "" -"Likewise, when the `LV` environment variable is unset, Git sets it to `-c`. " -"You can override this setting by exporting `LV` with another value or " -"setting `core.pager` to `lv +c`." +"This option is similar to `--topo-order` in the sense that no parent comes " +"before all of its children, but otherwise commits are ordered according to " +"their commit date." msgstr "" #. type: Labeled list -#: en/config.txt:791 +#: en/git-show-branch.txt:67 en/rev-list-options.txt:333 en/rev-list-options.txt:466 #, no-wrap -msgid "core.whitespace" +msgid "--sparse" msgstr "" #. type: Plain text -#: en/config.txt:797 +#: en/git-show-branch.txt:71 msgid "" -"A comma separated list of common whitespace problems to notice. 'git diff' " -"will use `color.diff.whitespace` to highlight them, and 'git apply " -"--whitespace=error' will consider them as errors. You can prefix `-` to " -"disable any of them (e.g. `-trailing-space`):" +"By default, the output omits merges that are reachable from only one tip " +"being shown. This option makes them visible." msgstr "" -#. type: Plain text -#: en/config.txt:800 -msgid "" -"`blank-at-eol` treats trailing whitespaces at the end of the line as an " -"error (enabled by default)." +#. type: Labeled list +#: en/git-show-branch.txt:72 +#, no-wrap +msgid "--more=<n>" msgstr "" #. type: Plain text -#: en/config.txt:803 +#: en/git-show-branch.txt:79 msgid "" -"`space-before-tab` treats a space character that appears immediately before " -"a tab character in the initial indent part of the line as an error (enabled " -"by default)." +"Usually the command stops output upon showing the commit that is the common " +"ancestor of all the branches. This flag tells the command to go <n> more " +"common commits beyond that. When <n> is negative, display only the " +"<reference>s given, without showing the commit ancestry tree." msgstr "" #. type: Plain text -#: en/config.txt:806 -msgid "" -"`indent-with-non-tab` treats a line that is indented with space characters " -"instead of the equivalent tabs as an error (not enabled by default)." +#: en/git-show-branch.txt:82 +msgid "Synonym to `--more=-1`" msgstr "" -#. type: Plain text -#: en/config.txt:808 -msgid "" -"`tab-in-indent` treats a tab character in the initial indent part of the " -"line as an error (not enabled by default)." +#. type: Labeled list +#: en/git-show-branch.txt:83 +#, no-wrap +msgid "--merge-base" msgstr "" #. type: Plain text -#: en/config.txt:810 +#: en/git-show-branch.txt:89 msgid "" -"`blank-at-eof` treats blank lines added at the end of file as an error " -"(enabled by default)." +"Instead of showing the commit list, determine possible merge bases for the " +"specified commits. All merge bases will be contained in all specified " +"commits. This is different from how linkgit:git-merge-base[1] handles the " +"case of three or more commits." msgstr "" #. type: Plain text -#: en/config.txt:812 +#: en/git-show-branch.txt:93 msgid "" -"`trailing-space` is a short-hand to cover both `blank-at-eol` and " -"`blank-at-eof`." +"Among the <reference>s given, display only the ones that cannot be reached " +"from any other <reference>." msgstr "" -#. type: Plain text -#: en/config.txt:816 -msgid "" -"`cr-at-eol` treats a carriage-return at the end of line as part of the line " -"terminator, i.e. with it, `trailing-space` does not trigger if the character " -"before such a carriage-return is not a whitespace (not enabled by default)." +#. type: Labeled list +#: en/git-show-branch.txt:94 +#, no-wrap +msgid "--no-name" msgstr "" #. type: Plain text -#: en/config.txt:819 -msgid "" -"`tabwidth=<n>` tells how many character positions a tab occupies; this is " -"relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent` " -"errors. The default tab width is 8. Allowed values are 1 to 63." +#: en/git-show-branch.txt:96 +msgid "Do not show naming strings for each commit." msgstr "" #. type: Labeled list -#: en/config.txt:820 +#: en/git-show-branch.txt:97 #, no-wrap -msgid "core.fsyncObjectFiles" -msgstr "" - -#. type: Plain text -#: en/config.txt:822 -msgid "This boolean will enable 'fsync()' when writing object files." +msgid "--sha1-name" msgstr "" #. type: Plain text -#: en/config.txt:827 +#: en/git-show-branch.txt:102 msgid "" -"This is a total waste of time and effort on a filesystem that orders data " -"writes properly, but can be useful for filesystems that do not use " -"journalling (traditional UNIX filesystems) or that only journal metadata and " -"not file contents (OS X's HFS+, or Linux ext3 with \"data=writeback\")." +"Instead of naming the commits using the path to reach them from heads " +"(e.g. \"master~2\" to mean the grandparent of \"master\"), name them with " +"the unique prefix of their object names." msgstr "" #. type: Labeled list -#: en/config.txt:828 +#: en/git-show-branch.txt:103 #, no-wrap -msgid "core.preloadIndex" -msgstr "" - -#. type: Plain text -#: en/config.txt:830 -msgid "Enable parallel index preload for operations like 'git diff'" +msgid "--topics" msgstr "" #. type: Plain text -#: en/config.txt:836 +#: en/git-show-branch.txt:110 msgid "" -"This can speed up operations like 'git diff' and 'git status' especially on " -"filesystems like NFS that have weak caching semantics and thus relatively " -"high IO latencies. When enabled, Git will do the index comparison to the " -"filesystem data in parallel, allowing overlapping IO's. Defaults to true." +"Shows only commits that are NOT on the first branch given. This helps track " +"topic branches by hiding any commit that is already in the main line of " +"development. When given \"git show-branch --topics master topic1 topic2\", " +"this will show the revisions given by \"git rev-list {caret}master topic1 " +"topic2\"" msgstr "" #. type: Labeled list -#: en/config.txt:837 +#: en/git-show-branch.txt:112 #, no-wrap -msgid "core.createObject" +msgid "--reflog[=<n>[,<base>]] [<ref>]" msgstr "" #. type: Plain text -#: en/config.txt:841 +#: en/git-show-branch.txt:118 msgid "" -"You can set this to 'link', in which case a hardlink followed by a delete of " -"the source are used to make sure that object creation will not overwrite " -"existing objects." +"Shows <n> most recent ref-log entries for the given ref. If <base> is " +"given, <n> entries going back from that entry. <base> can be specified as " +"count or date. When no explicit <ref> parameter is given, it defaults to " +"the current branch (or `HEAD` if it is detached)." msgstr "" #. type: Plain text -#: en/config.txt:845 +#: en/git-show-branch.txt:123 msgid "" -"On some file system/operating system combinations, this is unreliable. Set " -"this config setting to 'rename' there; However, This will remove the check " -"that makes sure that existing object files will not get overwritten." +"Color the status sign (one of these: `*` `!` `+` `-`) of each commit " +"corresponding to the branch it's in. The value must be always (the " +"default), never, or auto." msgstr "" #. type: Plain text -#: en/config.txt:851 +#: en/git-show-branch.txt:128 msgid "" -"When showing commit messages, also show notes which are stored in the given " -"ref. The ref must be fully qualified. If the given ref does not exist, it " -"is not an error but means that no notes should be printed." +"Turn off colored output, even when the configuration file gives the default " +"to color output. Same as `--color=never`." msgstr "" #. type: Plain text -#: en/config.txt:854 +#: en/git-show-branch.txt:131 msgid "" -"This setting defaults to \"refs/notes/commits\", and it can be overridden by " -"the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1]." +"Note that --more, --list, --independent and --merge-base options are " +"mutually exclusive." msgstr "" -#. type: Labeled list -#: en/config.txt:855 -#, no-wrap -msgid "core.sparseCheckout" +#. type: Plain text +#: en/git-show-branch.txt:139 +msgid "" +"Given N <references>, the first N lines are the one-line description from " +"their commit message. The branch head that is pointed at by $GIT_DIR/HEAD " +"is prefixed with an asterisk `*` character while other heads are prefixed " +"with a `!` character." msgstr "" #. type: Plain text -#: en/config.txt:858 +#: en/git-show-branch.txt:146 msgid "" -"Enable \"sparse checkout\" feature. See section \"Sparse checkout\" in " -"linkgit:git-read-tree[1] for more information." +"Following these N lines, one-line log for each commit is displayed, indented " +"N places. If a commit is on the I-th branch, the I-th indentation character " +"shows a `+` sign; otherwise it shows a space. Merge commits are denoted by " +"a `-` sign. Each commit shows a short name that can be used as an extended " +"SHA-1 to name that commit." msgstr "" -#. type: Labeled list -#: en/config.txt:859 +#. type: Plain text +#: en/git-show-branch.txt:149 +msgid "" +"The following example shows three branches, \"master\", \"fixes\" and " +"\"mhf\":" +msgstr "" + +#. type: delimited block - +#: en/git-show-branch.txt:155 #, no-wrap -msgid "core.abbrev" +msgid "" +"$ git show-branch master fixes mhf\n" +"* [master] Add 'git show-branch'.\n" +" ! [fixes] Introduce \"reset type\" flag to \"git reset\"\n" +" ! [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" +"---\n" +msgstr "" + +#. type: delimited block - +#: en/git-show-branch.txt:167 +#, no-wrap +msgid "" +" + [mhf] Allow \"+remote:local\" refspec to cause --force when fetching.\n" +" + [mhf~1] Use git-octopus when pulling more than one heads.\n" +" + [fixes] Introduce \"reset type\" flag to \"git reset\"\n" +" + [mhf~2] \"git fetch --force\".\n" +" + [mhf~3] Use .git/remote/origin, not .git/branches/origin.\n" +" + [mhf~4] Make \"git pull\" and \"git fetch\" default to origin\n" +" + [mhf~5] Infamous 'octopus merge'\n" +" + [mhf~6] Retire git-parse-remote.\n" +" + [mhf~7] Multi-head fetch.\n" +" + [mhf~8] Start adding the $GIT_DIR/remotes/ support.\n" +"*++ [master] Add 'git show-branch'.\n" msgstr "" #. type: Plain text -#: en/config.txt:865 +#: en/git-show-branch.txt:174 msgid "" -"Set the length object names are abbreviated to. If unspecified or set to " -"\"auto\", an appropriate value is computed based on the approximate number " -"of packed objects in your repository, which hopefully is enough for " -"abbreviated object names to stay unique for some time." +"These three branches all forked from a common commit, [master], whose commit " +"message is \"Add {apostrophe}git show-branch{apostrophe}\". The \"fixes\" " +"branch adds one commit \"Introduce \"reset type\" flag to \"git " +"reset\"\". The \"mhf\" branch adds many other commits. The current branch " +"is \"master\"." msgstr "" -#. type: Labeled list -#: en/config.txt:866 -#, no-wrap -msgid "add.ignoreErrors" +#. type: Plain text +#: en/git-show-branch.txt:182 +msgid "" +"If you keep your primary branches immediately under `refs/heads`, and topic " +"branches in subdirectories of it, having the following in the configuration " +"file may help:" msgstr "" -#. type: Labeled list -#: en/config.txt:867 +#. type: delimited block - +#: en/git-show-branch.txt:187 #, no-wrap -msgid "add.ignore-errors (deprecated)" +msgid "" +"[showbranch]\n" +"\tdefault = --topo-order\n" +"\tdefault = heads/*\n" msgstr "" #. type: Plain text -#: en/config.txt:873 +#: en/git-show-branch.txt:193 msgid "" -"Tells 'git add' to continue adding files when some files cannot be added due " -"to indexing errors. Equivalent to the `--ignore-errors` option of " -"linkgit:git-add[1]. `add.ignore-errors` is deprecated, as it does not " -"follow the usual naming convention for configuration variables." +"With this, `git show-branch` without extra parameters would show only the " +"primary branches. In addition, if you happen to be on your topic branch, it " +"is shown as well." msgstr "" -#. type: Labeled list -#: en/config.txt:874 +#. type: delimited block - +#: en/git-show-branch.txt:196 #, no-wrap -msgid "alias.*" +msgid "$ git show-branch --reflog=\"10,1 hour ago\" --list master\n" msgstr "" #. type: Plain text -#: en/config.txt:882 +#: en/git-show-branch.txt:201 msgid "" -"Command aliases for the linkgit:git[1] command wrapper - e.g. after " -"defining \"alias.last = cat-file commit HEAD\", the invocation \"git last\" " -"is equivalent to \"git cat-file commit HEAD\". To avoid confusion and " -"troubles with script usage, aliases that hide existing Git commands are " -"ignored. Arguments are split by spaces, the usual shell quoting and escaping " -"is supported. A quote pair or a backslash can be used to quote them." +"shows 10 reflog entries going back from the tip as of 1 hour ago. Without " +"`--list`, the output also shows how these tips are topologically related " +"with each other." +msgstr "" + +#. type: Title = +#: en/git-show-index.txt:2 +#, no-wrap +msgid "git-show-index(1)" msgstr "" #. type: Plain text -#: en/config.txt:892 -msgid "" -"If the alias expansion is prefixed with an exclamation point, it will be " -"treated as a shell command. For example, defining \"alias.new = !gitk --all " -"--not ORIG_HEAD\", the invocation \"git new\" is equivalent to running the " -"shell command \"gitk --all --not ORIG_HEAD\". Note that shell commands will " -"be executed from the top-level directory of a repository, which may not " -"necessarily be the current directory. `GIT_PREFIX` is set as returned by " -"running 'git rev-parse --show-prefix' from the original current " -"directory. See linkgit:git-rev-parse[1]." +#: en/git-show-index.txt:7 +msgid "git-show-index - Show packed archive index" msgstr "" -#. type: Labeled list -#: en/config.txt:893 +#. type: Plain text +#: en/git-show-index.txt:13 #, no-wrap -msgid "am.keepcr" +msgid "'git show-index'\n" msgstr "" #. type: Plain text -#: en/config.txt:899 +#: en/git-show-index.txt:20 msgid "" -"If true, git-am will call git-mailsplit for patches in mbox format with " -"parameter `--keep-cr`. In this case git-mailsplit will not remove `\\r` from " -"lines ending with `\\r\\n`. Can be overridden by giving `--no-keep-cr` from " -"the command line. See linkgit:git-am[1], linkgit:git-mailsplit[1]." +"Read the idx file for a Git packfile created with 'git pack-objects' command " +"from the standard input, and dump its contents." msgstr "" -#. type: Labeled list -#: en/config.txt:900 +#. type: Plain text +#: en/git-show-index.txt:24 +msgid "" +"The information it outputs is subset of what you can get from 'git " +"verify-pack -v'; this command only shows the packfile offset and SHA-1 of " +"each object." +msgstr "" + +#. type: Title = +#: en/git-show-ref.txt:2 #, no-wrap -msgid "am.threeWay" +msgid "git-show-ref(1)" msgstr "" #. type: Plain text -#: en/config.txt:907 -msgid "" -"By default, `git am` will fail if the patch does not apply cleanly. When set " -"to true, this setting tells `git am` to fall back on 3-way merge if the " -"patch records the identity of blobs it is supposed to apply to and we have " -"those blobs available locally (equivalent to giving the `--3way` option from " -"the command line). Defaults to `false`. See linkgit:git-am[1]." +#: en/git-show-ref.txt:7 +msgid "git-show-ref - List references in a local repository" msgstr "" #. type: Plain text -#: en/config.txt:915 +#: en/git-show-ref.txt:15 +#, no-wrap msgid "" -"When set to 'change', tells 'git apply' to ignore changes in whitespace, in " -"the same way as the `--ignore-space-change` option. When set to one of: no, " -"none, never, false tells 'git apply' to respect all whitespace differences. " -"See linkgit:git-apply[1]." +"'git show-ref' [-q|--quiet] [--verify] [--head] [-d|--dereference]\n" +"\t [-s|--hash[=<n>]] [--abbrev[=<n>]] [--tags]\n" +"\t [--heads] [--] [<pattern>...]\n" +"'git show-ref' --exclude-existing[=<pattern>]\n" msgstr "" #. type: Plain text -#: en/config.txt:919 +#: en/git-show-ref.txt:23 msgid "" -"Tells 'git apply' how to handle whitespaces, in the same way as the " -"`--whitespace` option. See linkgit:git-apply[1]." +"Displays references available in a local repository along with the " +"associated commit IDs. Results can be filtered using a pattern and tags can " +"be dereferenced into object IDs. Additionally, it can be used to test " +"whether a particular ref exists." msgstr "" -#. type: Labeled list -#: en/config.txt:920 -#, no-wrap -msgid "branch.autoSetupMerge" +#. type: Plain text +#: en/git-show-ref.txt:25 +msgid "By default, shows the tags, heads, and remote refs." msgstr "" #. type: Plain text -#: en/config.txt:931 +#: en/git-show-ref.txt:29 msgid "" -"Tells 'git branch' and 'git checkout' to set up new branches so that " -"linkgit:git-pull[1] will appropriately merge from the starting point " -"branch. Note that even if this option is not set, this behavior can be " -"chosen per-branch using the `--track` and `--no-track` options. The valid " -"settings are: `false` -- no automatic setup is done; `true` -- automatic " -"setup is done when the starting point is a remote-tracking branch; `always` " -"-- automatic setup is done when the starting point is either a local branch " -"or remote-tracking branch. This option defaults to true." +"The --exclude-existing form is a filter that does the inverse. It reads refs " +"from stdin, one ref per line, and shows those that don't exist in the local " +"repository." +msgstr "" + +#. type: Plain text +#: en/git-show-ref.txt:32 +msgid "" +"Use of this utility is encouraged in favor of directly accessing files under " +"the `.git` directory." msgstr "" #. type: Labeled list -#: en/config.txt:932 +#: en/git-show-ref.txt:36 #, no-wrap -msgid "branch.autoSetupRebase" +msgid "--head" msgstr "" #. type: Plain text -#: en/config.txt:946 +#: en/git-show-ref.txt:39 +msgid "Show the HEAD reference, even if it would normally be filtered out." +msgstr "" + +#. type: Plain text +#: en/git-show-ref.txt:46 msgid "" -"When a new branch is created with 'git branch' or 'git checkout' that tracks " -"another branch, this variable tells Git to set up pull to rebase instead of " -"merge (see \"branch.<name>.rebase\"). When `never`, rebase is never " -"automatically set to true. When `local`, rebase is set to true for tracked " -"branches of other local branches. When `remote`, rebase is set to true for " -"tracked branches of remote-tracking branches. When `always`, rebase will be " -"set to true for all tracking branches. See \"branch.autoSetupMerge\" for " -"details on how to set up a branch to track another branch. This option " -"defaults to never." +"Limit to \"refs/heads\" and \"refs/tags\", respectively. These options are " +"not mutually exclusive; when given both, references stored in \"refs/heads\" " +"and \"refs/tags\" are displayed." msgstr "" #. type: Labeled list -#: en/config.txt:947 +#: en/git-show-ref.txt:48 #, no-wrap -msgid "branch.<name>.remote" +msgid "--dereference" msgstr "" #. type: Plain text -#: en/config.txt:957 +#: en/git-show-ref.txt:52 msgid "" -"When on branch <name>, it tells 'git fetch' and 'git push' which remote to " -"fetch from/push to. The remote to push to may be overridden with " -"`remote.pushDefault` (for all branches). The remote to push to, for the " -"current branch, may be further overridden by `branch.<name>.pushRemote`. If " -"no remote is configured, or if you are not on any branch, it defaults to " -"`origin` for fetching and `remote.pushDefault` for pushing. Additionally, " -"`.` (a period) is the current local repository (a dot-repository), see " -"`branch.<name>.merge`'s final note below." +"Dereference tags into object IDs as well. They will be shown with " +"\"{caret}{}\" appended." msgstr "" #. type: Labeled list -#: en/config.txt:958 +#: en/git-show-ref.txt:54 #, no-wrap -msgid "branch.<name>.pushRemote" +msgid "--hash[=<n>]" msgstr "" #. type: Plain text -#: en/config.txt:966 +#: en/git-show-ref.txt:58 msgid "" -"When on branch <name>, it overrides `branch.<name>.remote` for pushing. It " -"also overrides `remote.pushDefault` for pushing from branch <name>. When " -"you pull from one place (e.g. your upstream) and push to another place " -"(e.g. your own publishing repository), you would want to set " -"`remote.pushDefault` to specify the remote to push to for all branches, and " -"use this option to override it for a specific branch." +"Only show the SHA-1 hash, not the reference name. When combined with " +"--dereference the dereferenced tag will still be shown after the SHA-1." msgstr "" -#. type: Labeled list -#: en/config.txt:967 -#, no-wrap -msgid "branch.<name>.merge" +#. type: Plain text +#: en/git-show-ref.txt:64 +msgid "" +"Enable stricter reference checking by requiring an exact ref path. Aside " +"from returning an error code of 1, it will also print an error message if " +"`--quiet` was not specified." msgstr "" #. type: Plain text -#: en/config.txt:984 +#: en/git-show-ref.txt:69 msgid "" -"Defines, together with branch.<name>.remote, the upstream branch for the " -"given branch. It tells 'git fetch'/'git pull'/'git rebase' which branch to " -"merge and can also affect 'git push' (see push.default). When in branch " -"<name>, it tells 'git fetch' the default refspec to be marked for merging in " -"FETCH_HEAD. The value is handled like the remote part of a refspec, and must " -"match a ref which is fetched from the remote given by " -"\"branch.<name>.remote\". The merge information is used by 'git pull' " -"(which at first calls 'git fetch') to lookup the default branch for " -"merging. Without this option, 'git pull' defaults to merge the first refspec " -"fetched. Specify multiple values to get an octopus merge. If you wish to " -"setup 'git pull' so that it merges into <name> from another branch in the " -"local repository, you can point branch.<name>.merge to the desired branch, " -"and use the relative path setting `.` (a period) for branch.<name>.remote." +"Abbreviate the object name. When using `--hash`, you do not have to say " +"`--hash --abbrev`; `--hash=n` would do." msgstr "" #. type: Plain text -#: en/config.txt:990 +#: en/git-show-ref.txt:75 msgid "" -"Sets default options for merging into branch <name>. The syntax and " -"supported options are the same as those of linkgit:git-merge[1], but option " -"values containing whitespace characters are currently not supported." +"Do not print any results to stdout. When combined with `--verify` this can " +"be used to silently check if a reference exists." msgstr "" #. type: Labeled list -#: en/config.txt:991 +#: en/git-show-ref.txt:76 #, no-wrap -msgid "branch.<name>.rebase" +msgid "--exclude-existing[=<pattern>]" msgstr "" #. type: Plain text -#: en/config.txt:996 +#: en/git-show-ref.txt:81 msgid "" -"When true, rebase the branch <name> on top of the fetched branch, instead of " -"merging the default branch from the default remote when \"git pull\" is " -"run. See \"pull.rebase\" for doing this in a non branch-specific manner." +"Make 'git show-ref' act as a filter that reads refs from stdin of the form " +"\"`^(?:<anything>\\s)?<refname>(?:\\^{})?$`\" and performs the following " +"actions on each:" msgstr "" #. type: Plain text -#: en/config.txt:1000 en/config.txt:2487 -msgid "" -"When preserve, also pass `--preserve-merges` along to 'git rebase' so that " -"locally committed merge commits will not be flattened by running 'git pull'." +#: en/git-show-ref.txt:82 +msgid "strip \"{caret}{}\" at the end of line if any;" msgstr "" #. type: Plain text -#: en/config.txt:1002 en/config.txt:2489 -msgid "When the value is `interactive`, the rebase is run in interactive mode." +#: en/git-show-ref.txt:83 +msgid "ignore if pattern is provided and does not head-match refname;" msgstr "" #. type: Plain text -#: en/config.txt:1006 en/config.txt:2493 -#, no-wrap -msgid "" -"*NOTE*: this is a possibly dangerous operation; do *not* use\n" -"it unless you understand the implications (see linkgit:git-rebase[1]\n" -"for details).\n" +#: en/git-show-ref.txt:84 +msgid "warn if refname is not a well-formed refname and skip;" msgstr "" -#. type: Labeled list -#: en/config.txt:1007 -#, no-wrap -msgid "branch.<name>.description" +#. type: Plain text +#: en/git-show-ref.txt:85 +msgid "ignore if refname is a ref that exists in the local repository;" msgstr "" #. type: Plain text -#: en/config.txt:1012 -msgid "" -"Branch description, can be edited with `git branch " -"--edit-description`. Branch description is automatically added in the " -"format-patch cover letter or request-pull summary." +#: en/git-show-ref.txt:86 +msgid "otherwise output the line." msgstr "" #. type: Plain text -#: en/config.txt:1017 +#: en/git-show-ref.txt:95 msgid "" -"Specify the command to invoke the specified browser. The specified command " -"is evaluated in shell with the URLs passed as arguments. (See " -"linkgit:git-web{litdd}browse[1].)" +"Show references matching one or more patterns. Patterns are matched from the " +"end of the full name, and only complete parts are matched, e.g. 'master' " +"matches 'refs/heads/master', 'refs/remotes/origin/master', " +"'refs/tags/jedi/master' but not 'refs/heads/mymaster' or " +"'refs/remotes/master/jedi'." msgstr "" #. type: Plain text -#: en/config.txt:1022 -msgid "" -"Override the path for the given tool that may be used to browse HTML help " -"(see `-w` option in linkgit:git-help[1]) or a working repository in gitweb " -"(see linkgit:git-instaweb[1])." +#: en/git-show-ref.txt:100 +msgid "The output is in the format: '<SHA-1 ID>' '<space>' '<reference name>'." msgstr "" -#. type: Labeled list -#: en/config.txt:1023 +#. type: delimited block - +#: en/git-show-ref.txt:111 #, no-wrap -msgid "clean.requireForce" +msgid "" +"$ git show-ref --head --dereference\n" +"832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD\n" +"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master\n" +"832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin\n" +"3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c\n" +"6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}\n" +"055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4\n" +"423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}\n" +"...\n" msgstr "" #. type: Plain text -#: en/config.txt:1026 -#, no-wrap -msgid "" -"A boolean to make git-clean do nothing unless given -f,\n" -"-i or -n. Defaults to true.\n" +#: en/git-show-ref.txt:114 +msgid "When using --hash (and not --dereference) the output format is: '<SHA-1 ID>'" msgstr "" -#. type: Labeled list -#: en/config.txt:1027 +#. type: delimited block - +#: en/git-show-ref.txt:121 #, no-wrap -msgid "color.branch" +msgid "" +"$ git show-ref --heads --hash\n" +"2e3ba0114a1f52b47df29743d6915d056be13278\n" +"185008ae97960c8d551adcd9e23565194651b5d1\n" +"03adf42c988195b50e1a1935ba5fcbc39b2b029b\n" +"...\n" msgstr "" #. type: Plain text -#: en/config.txt:1033 +#: en/git-show-ref.txt:129 msgid "" -"A boolean to enable/disable color in the output of " -"linkgit:git-branch[1]. May be set to `always`, `false` (or `never`) or " -"`auto` (or `true`), in which case colors are used only when the output is to " -"a terminal. If unset, then the value of `color.ui` is used (`auto` by " -"default)." +"To show all references called \"master\", whether tags or heads or anything " +"else, and regardless of how deep in the reference naming hierarchy they are, " +"use:" msgstr "" -#. type: Labeled list -#: en/config.txt:1034 +#. type: delimited block - +#: en/git-show-ref.txt:132 #, no-wrap -msgid "color.branch.<slot>" +msgid "\tgit show-ref master\n" msgstr "" #. type: Plain text -#: en/config.txt:1040 +#: en/git-show-ref.txt:136 msgid "" -"Use customized color for branch coloration. `<slot>` is one of `current` " -"(the current branch), `local` (a local branch), `remote` (a remote-tracking " -"branch in refs/remotes/), `upstream` (upstream tracking branch), `plain` " -"(other refs)." +"This will show \"refs/heads/master\" but also " +"\"refs/remote/other-repo/master\", if such references exists." msgstr "" -#. type: Labeled list -#: en/config.txt:1041 +#. type: Plain text +#: en/git-show-ref.txt:138 +msgid "When using the `--verify` flag, the command requires an exact path:" +msgstr "" + +#. type: delimited block - +#: en/git-show-ref.txt:141 #, no-wrap -msgid "color.diff" +msgid "\tgit show-ref --verify refs/heads/master\n" msgstr "" #. type: Plain text -#: en/config.txt:1049 +#: en/git-show-ref.txt:144 +msgid "will only match the exact branch called \"master\"." +msgstr "" + +#. type: Plain text +#: en/git-show-ref.txt:147 msgid "" -"Whether to use ANSI escape sequences to add color to patches. If this is " -"set to `always`, linkgit:git-diff[1], linkgit:git-log[1], and " -"linkgit:git-show[1] will use color for all patches. If it is set to `true` " -"or `auto`, those commands will only use color when output is to the " -"terminal. If unset, then the value of `color.ui` is used (`auto` by " -"default)." +"If nothing matches, 'git show-ref' will return an error code of 1, and in " +"the case of verification, it will show an error message." msgstr "" #. type: Plain text -#: en/config.txt:1053 +#: en/git-show-ref.txt:150 msgid "" -"This does not affect linkgit:git-format-patch[1] or the " -"'git-diff-{asterisk}' plumbing commands. Can be overridden on the command " -"line with the `--color[=<when>]` option." +"For scripting, you can ask it to be quiet with the \"--quiet\" flag, which " +"allows you to do things like" msgstr "" -#. type: Labeled list -#: en/config.txt:1054 +#. type: delimited block - +#: en/git-show-ref.txt:154 #, no-wrap -msgid "color.diff.<slot>" +msgid "" +"\tgit show-ref --quiet --verify -- \"refs/heads/$headname\" ||\n" +"\t\techo \"$headname is not a valid branch\"\n" msgstr "" #. type: Plain text -#: en/config.txt:1062 +#: en/git-show-ref.txt:159 msgid "" -"Use customized color for diff colorization. `<slot>` specifies which part " -"of the patch to use the specified color, and is one of `context` (context " -"text - `plain` is a historical synonym), `meta` (metainformation), `frag` " -"(hunk header), 'func' (function in hunk header), `old` (removed lines), " -"`new` (added lines), `commit` (commit headers), or `whitespace` " -"(highlighting whitespace errors)." +"to check whether a particular branch exists or not (notice how we don't " +"actually want to show any results, and we want to use the full refname for " +"it in order to not trigger the problem with ambiguous partial matches)." msgstr "" -#. type: Labeled list -#: en/config.txt:1063 -#, no-wrap -msgid "color.decorate.<slot>" +#. type: Plain text +#: en/git-show-ref.txt:163 +msgid "" +"To show only tags, or only proper branch heads, use \"--tags\" and/or " +"\"--heads\" respectively (using both means that it shows tags and heads, but " +"not other random references under the refs/ subdirectory)." msgstr "" #. type: Plain text -#: en/config.txt:1067 +#: en/git-show-ref.txt:166 msgid "" -"Use customized color for 'git log --decorate' output. `<slot>` is one of " -"`branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local branches, " -"remote-tracking branches, tags, stash and HEAD, respectively." +"To do automatic tag object dereferencing, use the \"-d\" or " +"\"--dereference\" flag, so you can do" msgstr "" -#. type: Labeled list -#: en/config.txt:1068 +#. type: delimited block - +#: en/git-show-ref.txt:169 #, no-wrap -msgid "color.grep" +msgid "\tgit show-ref --tags --dereference\n" msgstr "" #. type: Plain text -#: en/config.txt:1073 -msgid "" -"When set to `always`, always highlight matches. When `false` (or `never`), " -"never. When set to `true` or `auto`, use color only when the output is " -"written to the terminal. If unset, then the value of `color.ui` is used " -"(`auto` by default)." +#: en/git-show-ref.txt:172 +msgid "to get a listing of all tags together with what they dereference." msgstr "" -#. type: Labeled list -#: en/config.txt:1074 -#, no-wrap -msgid "color.grep.<slot>" +#. type: Plain text +#: en/git-show-ref.txt:176 +msgid "`.git/refs/*`, `.git/packed-refs`" msgstr "" #. type: Plain text -#: en/config.txt:1077 +#: en/git-show-ref.txt:183 msgid "" -"Use customized color for grep colorization. `<slot>` specifies which part " -"of the line to use the specified color, and is one of" +"linkgit:git-for-each-ref[1], linkgit:git-ls-remote[1], " +"linkgit:git-update-ref[1], linkgit:gitrepository-layout[5]" msgstr "" -#. type: Labeled list -#: en/config.txt:1079 +#. type: Title = +#: en/git-show.txt:2 #, no-wrap -msgid "`context`" +msgid "git-show(1)" msgstr "" #. type: Plain text -#: en/config.txt:1081 -msgid "non-matching text in context lines (when using `-A`, `-B`, or `-C`)" +#: en/git-show.txt:7 +msgid "git-show - Show various types of objects" msgstr "" -#. type: Labeled list -#: en/config.txt:1081 +#. type: Plain text +#: en/git-show.txt:13 #, no-wrap -msgid "`filename`" +msgid "'git show' [options] <object>...\n" msgstr "" #. type: Plain text -#: en/config.txt:1083 -msgid "filename prefix (when not using `-h`)" -msgstr "" +#: en/git-show.txt:17 +msgid "Shows one or more objects (blobs, trees, tags and commits)." +msgstr "" -#. type: Labeled list -#: en/config.txt:1083 -#, no-wrap -msgid "`function`" +#. type: Plain text +#: en/git-show.txt:21 +msgid "" +"For commits it shows the log message and textual diff. It also presents the " +"merge commit in a special format as produced by 'git diff-tree --cc'." msgstr "" #. type: Plain text -#: en/config.txt:1085 -msgid "function name lines (when using `-p`)" +#: en/git-show.txt:23 +msgid "For tags, it shows the tag message and the referenced objects." msgstr "" -#. type: Labeled list -#: en/config.txt:1085 -#, no-wrap -msgid "`linenumber`" +#. type: Plain text +#: en/git-show.txt:26 +msgid "" +"For trees, it shows the names (equivalent to 'git ls-tree' with " +"--name-only)." msgstr "" #. type: Plain text -#: en/config.txt:1087 -msgid "line number prefix (when using `-n`)" +#: en/git-show.txt:28 +msgid "For plain blobs, it shows the plain contents." msgstr "" -#. type: Labeled list -#: en/config.txt:1087 -#, no-wrap -msgid "`match`" +#. type: Plain text +#: en/git-show.txt:31 +msgid "" +"The command takes options applicable to the 'git diff-tree' command to " +"control how the changes the commit introduces are shown." msgstr "" #. type: Plain text -#: en/config.txt:1089 -msgid "matching text (same as setting `matchContext` and `matchSelected`)" +#: en/git-show.txt:33 +msgid "This manual page describes only the most frequently used options." msgstr "" #. type: Labeled list -#: en/config.txt:1089 +#: en/git-show.txt:37 #, no-wrap -msgid "`matchContext`" +msgid "<object>..." msgstr "" #. type: Plain text -#: en/config.txt:1091 -msgid "matching text in context lines" +#: en/git-show.txt:41 +msgid "" +"The names of objects to show. For a more complete list of ways to spell " +"object names, see \"SPECIFYING REVISIONS\" section in " +"linkgit:gitrevisions[7]." msgstr "" #. type: Labeled list -#: en/config.txt:1091 +#: en/git-show.txt:60 #, no-wrap -msgid "`matchSelected`" +msgid "`git show v1.0.0`" msgstr "" #. type: Plain text -#: en/config.txt:1093 -msgid "matching text in selected lines" +#: en/git-show.txt:63 +msgid "Shows the tag `v1.0.0`, along with the object the tags points at." msgstr "" #. type: Labeled list -#: en/config.txt:1093 +#: en/git-show.txt:64 #, no-wrap -msgid "`selected`" +msgid "`git show v1.0.0^{tree}`" msgstr "" #. type: Plain text -#: en/config.txt:1095 -msgid "non-matching text in selected lines" +#: en/git-show.txt:66 +msgid "Shows the tree pointed to by the tag `v1.0.0`." msgstr "" #. type: Labeled list -#: en/config.txt:1095 +#: en/git-show.txt:67 #, no-wrap -msgid "`separator`" +msgid "`git show -s --format=%s v1.0.0^{commit}`" msgstr "" #. type: Plain text -#: en/config.txt:1098 -msgid "" -"separators between fields on a line (`:`, `-`, and `=`) and between hunks " -"(`--`)" +#: en/git-show.txt:70 +msgid "Shows the subject of the commit pointed to by the tag `v1.0.0`." msgstr "" #. type: Labeled list -#: en/config.txt:1100 +#: en/git-show.txt:71 #, no-wrap -msgid "color.interactive" +msgid "`git show next~10:Documentation/README`" msgstr "" #. type: Plain text -#: en/config.txt:1107 +#: en/git-show.txt:75 msgid "" -"When set to `always`, always use colors for interactive prompts and displays " -"(such as those used by \"git-add --interactive\" and \"git-clean " -"--interactive\"). When false (or `never`), never. When set to `true` or " -"`auto`, use colors only when the output is to the terminal. If unset, then " -"the value of `color.ui` is used (`auto` by default)." +"Shows the contents of the file `Documentation/README` as they were current " +"in the 10th last commit of the branch `next`." msgstr "" #. type: Labeled list -#: en/config.txt:1108 +#: en/git-show.txt:76 #, no-wrap -msgid "color.interactive.<slot>" +msgid "`git show master:Makefile master:t/Makefile`" msgstr "" #. type: Plain text -#: en/config.txt:1113 +#: en/git-show.txt:79 msgid "" -"Use customized color for 'git add --interactive' and 'git clean " -"--interactive' output. `<slot>` may be `prompt`, `header`, `help` or " -"`error`, for four distinct types of normal output from interactive commands." +"Concatenates the contents of said Makefiles in the head of the branch " +"`master`." msgstr "" -#. type: Labeled list -#: en/config.txt:1114 +#. type: Title = +#: en/git-sh-setup.txt:2 #, no-wrap -msgid "color.pager" +msgid "git-sh-setup(1)" msgstr "" #. type: Plain text -#: en/config.txt:1117 -msgid "" -"A boolean to enable/disable colored output when the pager is in use (default " -"is true)." +#: en/git-sh-setup.txt:7 +msgid "git-sh-setup - Common Git shell script setup code" msgstr "" -#. type: Labeled list -#: en/config.txt:1118 +#. type: Plain text +#: en/git-sh-setup.txt:12 #, no-wrap -msgid "color.showBranch" +msgid "'. \"$(git --exec-path)/git-sh-setup\"'\n" msgstr "" #. type: Plain text -#: en/config.txt:1124 +#: en/git-sh-setup.txt:23 msgid "" -"A boolean to enable/disable color in the output of " -"linkgit:git-show-branch[1]. May be set to `always`, `false` (or `never`) or " -"`auto` (or `true`), in which case colors are used only when the output is to " -"a terminal. If unset, then the value of `color.ui` is used (`auto` by " -"default)." +"The 'git sh-setup' scriptlet is designed to be sourced (using `.`) by other " +"shell scripts to set up some variables pointing at the normal Git " +"directories and a few helper shell functions." msgstr "" -#. type: Labeled list -#: en/config.txt:1125 -#, no-wrap -msgid "color.status" +#. type: Plain text +#: en/git-sh-setup.txt:29 +msgid "" +"Before sourcing it, your script should set up a few variables; `USAGE` (and " +"`LONG_USAGE`, if any) is used to define message given by `usage()` shell " +"function. `SUBDIRECTORY_OK` can be set if the script can run from a " +"subdirectory of the working tree (some commands do not)." msgstr "" #. type: Plain text -#: en/config.txt:1131 +#: en/git-sh-setup.txt:32 msgid "" -"A boolean to enable/disable color in the output of " -"linkgit:git-status[1]. May be set to `always`, `false` (or `never`) or " -"`auto` (or `true`), in which case colors are used only when the output is to " -"a terminal. If unset, then the value of `color.ui` is used (`auto` by " -"default)." +"The scriptlet sets `GIT_DIR` and `GIT_OBJECT_DIRECTORY` shell variables, but " +"does *not* export them to the environment." msgstr "" #. type: Labeled list -#: en/config.txt:1132 +#: en/git-sh-setup.txt:36 #, no-wrap -msgid "color.status.<slot>" +msgid "die" msgstr "" #. type: Plain text -#: en/config.txt:1142 -msgid "" -"Use customized color for status colorization. `<slot>` is one of `header` " -"(the header text of the status message), `added` or `updated` (files which " -"are added but not committed), `changed` (files which are changed but not " -"added in the index), `untracked` (files which are not tracked by Git), " -"`branch` (the current branch), `nobranch` (the color the 'no branch' warning " -"is shown in, defaulting to red), or `unmerged` (files which have unmerged " -"changes)." +#: en/git-sh-setup.txt:39 +msgid "exit after emitting the supplied error message to the standard error stream." msgstr "" #. type: Labeled list -#: en/config.txt:1143 +#: en/git-sh-setup.txt:40 #, no-wrap -msgid "color.ui" +msgid "usage" msgstr "" #. type: Plain text -#: en/config.txt:1154 -msgid "" -"This variable determines the default value for variables such as " -"`color.diff` and `color.grep` that control the use of color per command " -"family. Its scope will expand as more commands learn configuration to set a " -"default for the `--color` option. Set it to `false` or `never` if you " -"prefer Git commands not to use color unless enabled explicitly with some " -"other configuration or the `--color` option. Set it to `always` if you want " -"all output not intended for machine consumption to use color, to `true` or " -"`auto` (this is the default since Git 1.8.4) if you want such output to use " -"color when written to the terminal." +#: en/git-sh-setup.txt:42 +msgid "die with the usage message." msgstr "" #. type: Labeled list -#: en/config.txt:1155 +#: en/git-sh-setup.txt:43 #, no-wrap -msgid "column.ui" +msgid "set_reflog_action" msgstr "" #. type: Plain text -#: en/config.txt:1159 +#: en/git-sh-setup.txt:49 msgid "" -"Specify whether supported commands should output in columns. This variable " -"consists of a list of tokens separated by spaces or commas:" +"Set `GIT_REFLOG_ACTION` environment to a given string (typically the name of " +"the program) unless it is already set. Whenever the script runs a `git` " +"command that updates refs, a reflog entry is created using the value of this " +"string to leave the record of what command updated the ref." +msgstr "" + +#. type: Labeled list +#: en/git-sh-setup.txt:50 +#, no-wrap +msgid "git_editor" msgstr "" #. type: Plain text -#: en/config.txt:1162 +#: en/git-sh-setup.txt:54 msgid "" -"These options control when the feature should be enabled (defaults to " -"'never'):" +"runs an editor of user's choice (GIT_EDITOR, core.editor, VISUAL or EDITOR) " +"on a given file, but error out if no editor is specified and the terminal is " +"dumb." msgstr "" #. type: Labeled list -#: en/config.txt:1164 +#: en/git-sh-setup.txt:55 #, no-wrap -msgid "`always`" +msgid "is_bare_repository" msgstr "" #. type: Plain text -#: en/config.txt:1166 -msgid "always show in columns" +#: en/git-sh-setup.txt:59 +msgid "" +"outputs `true` or `false` to the standard output stream to indicate if the " +"repository is a bare repository (i.e. without an associated working tree)." msgstr "" #. type: Labeled list -#: en/config.txt:1166 +#: en/git-sh-setup.txt:60 #, no-wrap -msgid "`never`" +msgid "cd_to_toplevel" msgstr "" #. type: Plain text -#: en/config.txt:1168 -msgid "never show in columns" +#: en/git-sh-setup.txt:62 +msgid "runs chdir to the toplevel of the working tree." msgstr "" #. type: Labeled list -#: en/config.txt:1168 +#: en/git-sh-setup.txt:63 #, no-wrap -msgid "`auto`" -msgstr "" - -#. type: Plain text -#: en/config.txt:1170 -msgid "show in columns if the output is to the terminal" +msgid "require_work_tree" msgstr "" #. type: Plain text -#: en/config.txt:1175 +#: en/git-sh-setup.txt:66 msgid "" -"These options control layout (defaults to 'column'). Setting any of these " -"implies 'always' if none of 'always', 'never', or 'auto' are specified." +"checks if the current directory is within the working tree of the " +"repository, and otherwise dies." msgstr "" #. type: Labeled list -#: en/config.txt:1177 +#: en/git-sh-setup.txt:67 #, no-wrap -msgid "`column`" +msgid "require_work_tree_exists" msgstr "" #. type: Plain text -#: en/config.txt:1179 -msgid "fill columns before rows" +#: en/git-sh-setup.txt:72 +msgid "" +"checks if the working tree associated with the repository exists, and " +"otherwise dies. Often done before calling cd_to_toplevel, which is " +"impossible to do if there is no working tree." msgstr "" #. type: Labeled list -#: en/config.txt:1179 +#: en/git-sh-setup.txt:73 #, no-wrap -msgid "`row`" +msgid "require_clean_work_tree <action> [<hint>]" msgstr "" #. type: Plain text -#: en/config.txt:1181 -msgid "fill rows before columns" +#: en/git-sh-setup.txt:78 +msgid "" +"checks that the working tree and index associated with the repository have " +"no uncommitted changes to tracked files. Otherwise it emits an error " +"message of the form `Cannot <action>: <reason>. <hint>`, and dies. Example:" msgstr "" -#. type: Labeled list -#: en/config.txt:1181 +#. type: delimited block - +#: en/git-sh-setup.txt:81 #, no-wrap -msgid "`plain`" +msgid "require_clean_work_tree rebase \"Please commit or stash them.\"\n" msgstr "" -#. type: Plain text -#: en/config.txt:1183 -msgid "show in one column" +#. type: Labeled list +#: en/git-sh-setup.txt:83 +#, no-wrap +msgid "get_author_ident_from_commit" msgstr "" #. type: Plain text -#: en/config.txt:1187 +#: en/git-sh-setup.txt:86 msgid "" -"Finally, these options can be combined with a layout option (defaults to " -"'nodense'):" +"outputs code for use with eval to set the GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL " +"and GIT_AUTHOR_DATE variables for a given commit." msgstr "" #. type: Labeled list -#: en/config.txt:1189 +#: en/git-sh-setup.txt:87 #, no-wrap -msgid "`dense`" +msgid "create_virtual_base" msgstr "" #. type: Plain text -#: en/config.txt:1191 -msgid "make unequal size columns to utilize more space" +#: en/git-sh-setup.txt:92 +msgid "" +"modifies the first file so only lines in common with the second file " +"remain. If there is insufficient common material, then the first file is " +"left empty. The result is suitable as a virtual base input for a 3-way " +"merge." msgstr "" -#. type: Labeled list -#: en/config.txt:1191 +#. type: Title = +#: en/git-stage.txt:2 #, no-wrap -msgid "`nodense`" +msgid "git-stage(1)" msgstr "" #. type: Plain text -#: en/config.txt:1193 -msgid "make equal size columns" +#: en/git-stage.txt:7 +msgid "git-stage - Add file contents to the staging area" msgstr "" -#. type: Labeled list -#: en/config.txt:1195 +#. type: Plain text +#: en/git-stage.txt:13 #, no-wrap -msgid "column.branch" +msgid "'git stage' args...\n" msgstr "" #. type: Plain text -#: en/config.txt:1198 +#: en/git-stage.txt:20 msgid "" -"Specify whether to output branch listing in `git branch` in columns. See " -"`column.ui` for details." +"This is a synonym for linkgit:git-add[1]. Please refer to the documentation " +"of that command." msgstr "" -#. type: Labeled list -#: en/config.txt:1199 +#. type: Title = +#: en/git-stash.txt:2 #, no-wrap -msgid "column.clean" +msgid "git-stash(1)" msgstr "" #. type: Plain text -#: en/config.txt:1202 -msgid "" -"Specify the layout when list items in `git clean -i`, which always shows " -"files and directories in columns. See `column.ui` for details." +#: en/git-stash.txt:7 +msgid "git-stash - Stash the changes in a dirty working directory away" msgstr "" -#. type: Labeled list -#: en/config.txt:1203 +#. type: Plain text +#: en/git-stash.txt:24 #, no-wrap -msgid "column.status" +msgid "" +"'git stash' list [<options>]\n" +"'git stash' show [<stash>]\n" +"'git stash' drop [-q|--quiet] [<stash>]\n" +"'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]\n" +"'git stash' branch <branchname> [<stash>]\n" +"'git stash' save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +"\t [-u|--include-untracked] [-a|--all] [<message>]\n" +"'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +"\t [-u|--include-untracked] [-a|--all] [-m|--message <message>]]\n" +"\t [--] [<pathspec>...]]\n" +"'git stash' clear\n" +"'git stash' create [<message>]\n" +"'git stash' store [-m|--message <message>] [-q|--quiet] <commit>\n" msgstr "" #. type: Plain text -#: en/config.txt:1206 +#: en/git-stash.txt:32 msgid "" -"Specify whether to output untracked files in `git status` in columns. See " -"`column.ui` for details." +"Use `git stash` when you want to record the current state of the working " +"directory and the index, but want to go back to a clean working directory. " +"The command saves your local modifications away and reverts the working " +"directory to match the `HEAD` commit." msgstr "" -#. type: Labeled list -#: en/config.txt:1207 -#, no-wrap -msgid "column.tag" +#. type: Plain text +#: en/git-stash.txt:40 +msgid "" +"The modifications stashed away by this command can be listed with `git stash " +"list`, inspected with `git stash show`, and restored (potentially on top of " +"a different commit) with `git stash apply`. Calling `git stash` without any " +"arguments is equivalent to `git stash save`. A stash is by default listed " +"as \"WIP on 'branchname' ...\", but you can give a more descriptive message " +"on the command line when you create one." msgstr "" #. type: Plain text -#: en/config.txt:1210 +#: en/git-stash.txt:47 msgid "" -"Specify whether to output tag listing in `git tag` in columns. See " -"`column.ui` for details." +"The latest stash you created is stored in `refs/stash`; older stashes are " +"found in the reflog of this reference and can be named using the usual " +"reflog syntax (e.g. `stash@{0}` is the most recently created stash, " +"`stash@{1}` is the one before it, `stash@{2.hours.ago}` is also " +"possible). Stashes may also be referenced by specifying just the stash index " +"(e.g. the integer `n` is equivalent to `stash@{n}`)." msgstr "" #. type: Labeled list -#: en/config.txt:1211 +#: en/git-stash.txt:51 #, no-wrap -msgid "commit.cleanup" -msgstr "" - -#. type: Plain text -#: en/config.txt:1219 msgid "" -"This setting overrides the default of the `--cleanup` option in `git " -"commit`. See linkgit:git-commit[1] for details. Changing the default can be " -"useful when you always want to keep lines that begin with comment character " -"`#` in your log message, in which case you would do `git config " -"commit.cleanup whitespace` (note that you will have to remove the help lines " -"that begin with `#` in the commit log template yourself, if you do this)." +"save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] " +"[-q|--quiet] [<message>]" msgstr "" #. type: Labeled list -#: en/config.txt:1220 +#: en/git-stash.txt:52 #, no-wrap -msgid "commit.gpgSign" +msgid "" +"push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] " +"[-q|--quiet] [-m|--message <message>] [--] [<pathspec>...]" msgstr "" #. type: Plain text -#: en/config.txt:1227 +#: en/git-stash.txt:58 msgid "" -"A boolean to specify whether all commits should be GPG signed. Use of this " -"option when doing operations such as rebase can result in a large number of " -"commits being signed. It may be convenient to use an agent to avoid typing " -"your GPG passphrase several times." +"Save your local modifications to a new 'stash' and roll them back to HEAD " +"(in the working tree and in the index). The <message> part is optional and " +"gives the description along with the stashed state." msgstr "" -#. type: Labeled list -#: en/config.txt:1228 -#, no-wrap -msgid "commit.status" +#. type: Plain text +#: en/git-stash.txt:64 +msgid "" +"For quickly making a snapshot, you can omit \"push\". In this mode, " +"non-option arguments are not allowed to prevent a misspelled subcommand from " +"making an unwanted stash. The two exceptions to this are `stash -p` which " +"acts as alias for `stash push -p` and pathspecs, which are allowed after a " +"double hyphen `--` for disambiguation." msgstr "" #. type: Plain text -#: en/config.txt:1232 +#: en/git-stash.txt:70 msgid "" -"A boolean to enable/disable inclusion of status information in the commit " -"message template when using an editor to prepare the commit message. " -"Defaults to true." +"When pathspec is given to 'git stash push', the new stash records the " +"modified states only for the files that match the pathspec. The index " +"entries and working tree files are then rolled back to the state in HEAD " +"only for these files, too, leaving files that do not match the pathspec " +"intact." msgstr "" -#. type: Labeled list -#: en/config.txt:1233 -#, no-wrap -msgid "commit.template" +#. type: Plain text +#: en/git-stash.txt:73 +msgid "" +"If the `--keep-index` option is used, all changes already added to the index " +"are left intact." msgstr "" #. type: Plain text -#: en/config.txt:1236 +#: en/git-stash.txt:78 msgid "" -"Specify the pathname of a file to use as the template for new commit " -"messages." +"If the `--include-untracked` option is used, all untracked files are also " +"stashed and then cleaned up with `git clean`, leaving the working directory " +"in a very clean state. If the `--all` option is used instead then the " +"ignored files are stashed and cleaned in addition to the untracked files." msgstr "" -#. type: Labeled list -#: en/config.txt:1237 -#, no-wrap -msgid "commit.verbose" +#. type: Plain text +#: en/git-stash.txt:86 +msgid "" +"With `--patch`, you can interactively select hunks from the diff between " +"HEAD and the working tree to be stashed. The stash entry is constructed " +"such that its index state is the same as the index state of your repository, " +"and its worktree contains only the changes you selected interactively. The " +"selected changes are then rolled back from your worktree. See the " +"``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate " +"the `--patch` mode." msgstr "" #. type: Plain text -#: en/config.txt:1240 +#: en/git-stash.txt:89 msgid "" -"A boolean or int to specify the level of verbose with `git commit`. See " -"linkgit:git-commit[1]." +"The `--patch` option implies `--keep-index`. You can use `--no-keep-index` " +"to override this." msgstr "" #. type: Labeled list -#: en/config.txt:1241 +#: en/git-stash.txt:90 #, no-wrap -msgid "credential.helper" +msgid "list [<options>]" msgstr "" #. type: Plain text -#: en/config.txt:1247 +#: en/git-stash.txt:97 msgid "" -"Specify an external helper to be called when a username or password " -"credential is needed; the helper may consult external storage to avoid " -"prompting the user for the credentials. Note that multiple helpers may be " -"defined. See linkgit:gitcredentials[7] for details." +"List the stashes that you currently have. Each 'stash' is listed with its " +"name (e.g. `stash@{0}` is the latest stash, `stash@{1}` is the one before, " +"etc.), the name of the branch that was current when the stash was made, and " +"a short description of the commit the stash was based on." msgstr "" -#. type: Labeled list -#: en/config.txt:1248 +#. type: delimited block - +#: en/git-stash.txt:101 #, no-wrap -msgid "credential.useHttpPath" +msgid "" +"stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation\n" +"stash@{1}: On master: 9cc0589... Add git-stash\n" msgstr "" #. type: Plain text -#: en/config.txt:1252 +#: en/git-stash.txt:105 msgid "" -"When acquiring credentials, consider the \"path\" component of an http or " -"https URL to be important. Defaults to false. See linkgit:gitcredentials[7] " -"for more information." +"The command takes options applicable to the 'git log' command to control " +"what is shown and how. See linkgit:git-log[1]." msgstr "" #. type: Labeled list -#: en/config.txt:1253 +#: en/git-stash.txt:106 #, no-wrap -msgid "credential.username" +msgid "show [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:1257 +#: en/git-stash.txt:115 msgid "" -"If no username is set for a network authentication, use this username by " -"default. See credential.<context>.* below, and linkgit:gitcredentials[7]." +"Show the changes recorded in the stash as a diff between the stashed state " +"and its original parent. When no `<stash>` is given, shows the latest " +"one. By default, the command shows the diffstat, but it will accept any " +"format known to 'git diff' (e.g., `git stash show -p stash@{1}` to view the " +"second most recent stash in patch form). You can use stash.showStat and/or " +"stash.showPatch config variables to change the default behavior." msgstr "" #. type: Labeled list -#: en/config.txt:1258 +#: en/git-stash.txt:116 #, no-wrap -msgid "credential.<url>.*" +msgid "pop [--index] [-q|--quiet] [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:1264 +#: en/git-stash.txt:122 msgid "" -"Any of the credential.* options above can be applied selectively to some " -"credentials. For example \"credential.https://example.com.username\" would " -"set the default username only for https connections to example.com. See " -"linkgit:gitcredentials[7] for details on how URLs are matched." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1265 -#, no-wrap -msgid "credentialCache.ignoreSIGHUP" +"Remove a single stashed state from the stash list and apply it on top of the " +"current working tree state, i.e., do the inverse operation of `git stash " +"save`. The working directory must match the index." msgstr "" #. type: Plain text -#: en/config.txt:1267 -msgid "Tell git-credential-cache--daemon to ignore SIGHUP, instead of quitting." +#: en/git-stash.txt:126 +msgid "" +"Applying the state can fail with conflicts; in this case, it is not removed " +"from the stash list. You need to resolve the conflicts by hand and call `git " +"stash drop` manually afterwards." msgstr "" #. type: Plain text -#: en/config.txt:1281 +#: en/git-stash.txt:131 msgid "" -"Specify the command to invoke the specified diff tool. The specified " -"command is evaluated in shell with the following variables available: " -"'LOCAL' is set to the name of the temporary file containing the contents of " -"the diff pre-image and 'REMOTE' is set to the name of the temporary file " -"containing the contents of the diff post-image." +"If the `--index` option is used, then tries to reinstate not only the " +"working tree's changes, but also the index's ones. However, this can fail, " +"when you have conflicts (which are stored in the index, where you therefore " +"can no longer apply the changes as they were originally)." msgstr "" #. type: Plain text -#: en/config.txt:1293 +#: en/git-stash.txt:134 msgid "" -"If the number of objects imported by linkgit:git-fast-import[1] is below " -"this limit, then the objects will be unpacked into loose object files. " -"However if the number of imported objects equals or exceeds this limit then " -"the pack will be stored as a pack. Storing the pack from a fast-import can " -"make the import operation complete faster, especially on slow filesystems. " -"If not set, the value of `transfer.unpackLimit` is used instead." +"When no `<stash>` is given, `stash@{0}` is assumed, otherwise `<stash>` must " +"be a reference of the form `stash@{<revision>}`." msgstr "" #. type: Labeled list -#: en/config.txt:1294 +#: en/git-stash.txt:135 #, no-wrap -msgid "fetch.recurseSubmodules" +msgid "apply [--index] [-q|--quiet] [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:1302 +#: en/git-stash.txt:140 msgid "" -"This option can be either set to a boolean value or to 'on-demand'. Setting " -"it to a boolean changes the behavior of fetch and pull to unconditionally " -"recurse into submodules when set to true or to not recurse at all when set " -"to false. When set to 'on-demand' (the default value), fetch and pull will " -"only recurse into a populated submodule when its superproject retrieves a " -"commit that updates the submodule's reference." +"Like `pop`, but do not remove the state from the stash list. Unlike `pop`, " +"`<stash>` may be any commit that looks like a commit created by `stash save` " +"or `stash create`." msgstr "" #. type: Labeled list -#: en/config.txt:1303 +#: en/git-stash.txt:141 #, no-wrap -msgid "fetch.fsckObjects" +msgid "branch <branchname> [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:1309 +#: en/git-stash.txt:149 msgid "" -"If it is set to true, git-fetch-pack will check all fetched objects. It will " -"abort in the case of a malformed object or a broken link. The result of an " -"abort are only dangling objects. Defaults to false. If not set, the value " -"of `transfer.fsckObjects` is used instead." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1310 -#, no-wrap -msgid "fetch.unpackLimit" +"Creates and checks out a new branch named `<branchname>` starting from the " +"commit at which the `<stash>` was originally created, applies the changes " +"recorded in `<stash>` to the new working tree and index. If that succeeds, " +"and `<stash>` is a reference of the form `stash@{<revision>}`, it then drops " +"the `<stash>`. When no `<stash>` is given, applies the latest one." msgstr "" #. type: Plain text -#: en/config.txt:1320 +#: en/git-stash.txt:155 msgid "" -"If the number of objects fetched over the Git native transfer is below this " -"limit, then the objects will be unpacked into loose object files. However if " -"the number of received objects equals or exceeds this limit then the " -"received pack will be stored as a pack, after adding any missing delta " -"bases. Storing the pack from a push can make the push operation complete " -"faster, especially on slow filesystems. If not set, the value of " -"`transfer.unpackLimit` is used instead." +"This is useful if the branch on which you ran `git stash save` has changed " +"enough that `git stash apply` fails due to conflicts. Since the stash is " +"applied on top of the commit that was HEAD at the time `git stash` was run, " +"it restores the originally stashed state with no conflicts." msgstr "" #. type: Labeled list -#: en/config.txt:1321 +#: en/git-stash.txt:156 #, no-wrap -msgid "fetch.prune" +msgid "clear" msgstr "" #. type: Plain text -#: en/config.txt:1324 +#: en/git-stash.txt:160 msgid "" -"If true, fetch will automatically behave as if the `--prune` option was " -"given on the command line. See also `remote.<name>.prune`." +"Remove all the stashed states. Note that those states will then be subject " +"to pruning, and may be impossible to recover (see 'Examples' below for a " +"possible strategy)." msgstr "" #. type: Labeled list -#: en/config.txt:1325 +#: en/git-stash.txt:161 #, no-wrap -msgid "fetch.output" +msgid "drop [-q|--quiet] [<stash>]" msgstr "" #. type: Plain text -#: en/config.txt:1329 +#: en/git-stash.txt:167 msgid "" -"Control how ref update status is printed. Valid values are `full` and " -"`compact`. Default value is `full`. See section OUTPUT in " -"linkgit:git-fetch[1] for detail." +"Remove a single stashed state from the stash list. When no `<stash>` is " +"given, it removes the latest one. i.e. `stash@{0}`, otherwise `<stash>` must " +"be a valid stash log reference of the form `stash@{<revision>}`." msgstr "" #. type: Labeled list -#: en/config.txt:1330 +#: en/git-stash.txt:168 en/git-update-ref.txt:100 #, no-wrap -msgid "format.attach" +msgid "create" msgstr "" #. type: Plain text -#: en/config.txt:1336 +#: en/git-stash.txt:174 msgid "" -"Enable multipart/mixed attachments as the default for 'format-patch'. The " -"value can also be a double quoted string which will enable attachments as " -"the default and set the value as the boundary. See the --attach option in " -"linkgit:git-format-patch[1]." +"Create a stash (which is a regular commit object) and return its object " +"name, without storing it anywhere in the ref namespace. This is intended to " +"be useful for scripts. It is probably not the command you want to use; see " +"\"save\" above." msgstr "" #. type: Labeled list -#: en/config.txt:1337 +#: en/git-stash.txt:175 #, no-wrap -msgid "format.from" +msgid "store" msgstr "" #. type: Plain text -#: en/config.txt:1346 +#: en/git-stash.txt:181 msgid "" -"Provides the default value for the `--from` option to format-patch. Accepts " -"a boolean value, or a name and email address. If false, format-patch " -"defaults to `--no-from`, using commit authors directly in the \"From:\" " -"field of patch mails. If true, format-patch defaults to `--from`, using " -"your committer identity in the \"From:\" field of patch mails and including " -"a \"From:\" field in the body of the patch mail if different. If set to a " -"non-boolean value, format-patch uses that value instead of your committer " -"identity. Defaults to false." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1347 -#, no-wrap -msgid "format.numbered" +"Store a given stash created via 'git stash create' (which is a dangling " +"merge commit) in the stash ref, updating the stash reflog. This is intended " +"to be useful for scripts. It is probably not the command you want to use; " +"see \"save\" above." msgstr "" #. type: Plain text -#: en/config.txt:1353 +#: en/git-stash.txt:190 msgid "" -"A boolean which can enable or disable sequence numbers in patch subjects. " -"It defaults to \"auto\" which enables it only if there is more than one " -"patch. It can be enabled or disabled for all messages by setting it to " -"\"true\" or \"false\". See --numbered option in " -"linkgit:git-format-patch[1]." +"A stash is represented as a commit whose tree records the state of the " +"working directory, and its first parent is the commit at `HEAD` when the " +"stash was created. The tree of the second parent records the state of the " +"index when the stash is made, and it is made a child of the `HEAD` commit. " +"The ancestry graph looks like this:" msgstr "" -#. type: Labeled list -#: en/config.txt:1354 +#. type: Plain text +#: en/git-stash.txt:194 #, no-wrap -msgid "format.headers" +msgid "" +" .----W\n" +" / /\n" +" -----H----I\n" msgstr "" #. type: Plain text -#: en/config.txt:1357 +#: en/git-stash.txt:198 msgid "" -"Additional email headers to include in a patch to be submitted by mail. See " -"linkgit:git-format-patch[1]." +"where `H` is the `HEAD` commit, `I` is a commit that records the state of " +"the index, and `W` is a commit that records the state of the working tree." msgstr "" #. type: Labeled list -#: en/config.txt:1358 +#: en/git-stash.txt:203 #, no-wrap -msgid "format.to" +msgid "Pulling into a dirty tree" msgstr "" -#. type: Labeled list -#: en/config.txt:1359 -#, no-wrap -msgid "format.cc" +#. type: Plain text +#: en/git-stash.txt:209 +msgid "" +"When you are in the middle of something, you learn that there are upstream " +"changes that are possibly relevant to what you are doing. When your local " +"changes do not conflict with the changes in the upstream, a simple `git " +"pull` will let you move forward." msgstr "" #. type: Plain text -#: en/config.txt:1363 +#: en/git-stash.txt:214 msgid "" -"Additional recipients to include in a patch to be submitted by mail. See " -"the --to and --cc options in linkgit:git-format-patch[1]." +"However, there are cases in which your local changes do conflict with the " +"upstream changes, and `git pull` refuses to overwrite your changes. In such " +"a case, you can stash your changes away, perform a pull, and then unstash, " +"like this:" msgstr "" -#. type: Labeled list -#: en/config.txt:1364 +#. type: delimited block - +#: en/git-stash.txt:222 #, no-wrap -msgid "format.subjectPrefix" +msgid "" +"$ git pull\n" +" ...\n" +"file foobar not up to date, cannot merge.\n" +"$ git stash\n" +"$ git pull\n" +"$ git stash pop\n" msgstr "" #. type: Plain text -#: en/config.txt:1367 +#: en/git-stash.txt:230 msgid "" -"The default for format-patch is to output files with the '[PATCH]' subject " -"prefix. Use this variable to change that prefix." +"When you are in the middle of something, your boss comes in and demands that " +"you fix something immediately. Traditionally, you would make a commit to a " +"temporary branch to store your changes away, and return to your original " +"branch to make the emergency fix, like this:" msgstr "" -#. type: Labeled list -#: en/config.txt:1368 +#. type: delimited block - +#: en/git-stash.txt:241 #, no-wrap -msgid "format.signature" +msgid "" +"# ... hack hack hack ...\n" +"$ git checkout -b my_wip\n" +"$ git commit -a -m \"WIP\"\n" +"$ git checkout master\n" +"$ edit emergency fix\n" +"$ git commit -a -m \"Fix in a hurry\"\n" +"$ git checkout my_wip\n" +"$ git reset --soft HEAD^\n" +"# ... continue hacking ...\n" msgstr "" #. type: Plain text -#: en/config.txt:1373 -msgid "" -"The default for format-patch is to output a signature containing the Git " -"version number. Use this variable to change that default. Set this variable " -"to the empty string (\"\") to suppress signature generation." +#: en/git-stash.txt:244 +msgid "You can use 'git stash' to simplify the above, like this:" msgstr "" -#. type: Labeled list -#: en/config.txt:1374 +#. type: delimited block - +#: en/git-stash.txt:252 #, no-wrap -msgid "format.signatureFile" -msgstr "" - -#. type: Plain text -#: en/config.txt:1377 msgid "" -"Works just like format.signature except the contents of the file specified " -"by this variable will be used as the signature." +"# ... hack hack hack ...\n" +"$ git stash\n" +"$ edit emergency fix\n" +"$ git commit -a -m \"Fix in a hurry\"\n" +"$ git stash pop\n" +"# ... continue hacking ...\n" msgstr "" #. type: Labeled list -#: en/config.txt:1378 +#: en/git-stash.txt:254 #, no-wrap -msgid "format.suffix" +msgid "Testing partial commits" msgstr "" #. type: Plain text -#: en/config.txt:1382 +#: en/git-stash.txt:259 msgid "" -"The default for format-patch is to output files with the suffix " -"`.patch`. Use this variable to change that suffix (make sure to include the " -"dot if you want it)." +"You can use `git stash save --keep-index` when you want to make two or more " +"commits out of the changes in the work tree, and you want to test each " +"change before committing:" msgstr "" -#. type: Plain text -#: en/config.txt:1387 +#. type: delimited block - +#: en/git-stash.txt:270 +#, no-wrap msgid "" -"The default pretty format for log/show/whatchanged command, See " -"linkgit:git-log[1], linkgit:git-show[1], linkgit:git-whatchanged[1]." +"# ... hack hack hack ...\n" +"$ git add --patch foo # add just first part to the index\n" +"$ git stash save --keep-index # save all other changes to the stash\n" +"$ edit/build/test first part\n" +"$ git commit -m 'First part' # commit fully tested change\n" +"$ git stash pop # prepare to work on all other changes\n" +"# ... repeat above five steps until one commit remains ...\n" +"$ edit/build/test remaining parts\n" +"$ git commit foo -m 'Remaining parts'\n" msgstr "" #. type: Labeled list -#: en/config.txt:1388 +#: en/git-stash.txt:272 #, no-wrap -msgid "format.thread" +msgid "Recovering stashes that were cleared/dropped erroneously" msgstr "" #. type: Plain text -#: en/config.txt:1397 +#: en/git-stash.txt:278 msgid "" -"The default threading style for 'git format-patch'. Can be a boolean value, " -"or `shallow` or `deep`. `shallow` threading makes every mail a reply to the " -"head of the series, where the head is chosen from the cover letter, the " -"`--in-reply-to`, and the first patch mail, in this order. `deep` threading " -"makes every mail a reply to the previous one. A true boolean value is the " -"same as `shallow`, and a false value disables threading." +"If you mistakenly drop or clear stashes, they cannot be recovered through " +"the normal safety mechanisms. However, you can try the following " +"incantation to get a list of stashes that are still in your repository, but " +"not reachable any more:" msgstr "" -#. type: Labeled list -#: en/config.txt:1398 +#. type: delimited block - +#: en/git-stash.txt:283 #, no-wrap -msgid "format.signOff" +msgid "" +"git fsck --unreachable |\n" +"grep commit | cut -d\\ -f3 |\n" +"xargs git log --merges --no-walk --grep=WIP\n" msgstr "" #. type: Plain text -#: en/config.txt:1404 +#: en/git-stash.txt:292 msgid "" -"A boolean value which lets you enable the `-s/--signoff` option of " -"format-patch by default. *Note:* Adding the Signed-off-by: line to a patch " -"should be a conscious act and means that you certify you have the rights to " -"submit this work under the same open source license. Please see the " -"'SubmittingPatches' document for further discussion." +"linkgit:git-checkout[1], linkgit:git-commit[1], linkgit:git-reflog[1], " +"linkgit:git-reset[1]" msgstr "" -#. type: Labeled list -#: en/config.txt:1405 +#. type: Title = +#: en/git-status.txt:2 #, no-wrap -msgid "format.coverLetter" +msgid "git-status(1)" msgstr "" #. type: Plain text -#: en/config.txt:1409 -msgid "" -"A boolean that controls whether to generate a cover-letter when format-patch " -"is invoked, but in addition can be set to \"auto\", to generate a " -"cover-letter only when there's more than one patch." +#: en/git-status.txt:7 +msgid "git-status - Show the working tree status" msgstr "" -#. type: Labeled list -#: en/config.txt:1410 +#. type: Plain text +#: en/git-status.txt:13 #, no-wrap -msgid "format.outputDirectory" +msgid "'git status' [<options>...] [--] [<pathspec>...]\n" msgstr "" #. type: Plain text -#: en/config.txt:1413 +#: en/git-status.txt:23 msgid "" -"Set a custom directory to store the resulting files instead of the current " -"working directory." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1414 -#, no-wrap -msgid "format.useAutoBase" +"Displays paths that have differences between the index file and the current " +"HEAD commit, paths that have differences between the working tree and the " +"index file, and paths in the working tree that are not tracked by Git (and " +"are not ignored by linkgit:gitignore[5]). The first are what you _would_ " +"commit by running `git commit`; the second and third are what you _could_ " +"commit by running 'git add' before running `git commit`." msgstr "" #. type: Plain text -#: en/config.txt:1417 -msgid "" -"A boolean value which lets you enable the `--base=auto` option of " -"format-patch by default." +#: en/git-status.txt:30 +msgid "Give the output in the short-format." msgstr "" #. type: Labeled list -#: en/config.txt:1418 +#: en/git-status.txt:35 #, no-wrap -msgid "filter.<driver>.clean" +msgid "--porcelain[=<version>]" msgstr "" #. type: Plain text -#: en/config.txt:1422 +#: en/git-status.txt:40 msgid "" -"The command which is used to convert the content of a worktree file to a " -"blob upon checkin. See linkgit:gitattributes[5] for details." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1423 -#, no-wrap -msgid "filter.<driver>.smudge" +"Give the output in an easy-to-parse format for scripts. This is similar to " +"the short output, but will remain stable across Git versions and regardless " +"of user configuration. See below for details." msgstr "" #. type: Plain text -#: en/config.txt:1427 +#: en/git-status.txt:43 msgid "" -"The command which is used to convert the content of a blob object to a " -"worktree file upon checkout. See linkgit:gitattributes[5] for details." +"The version parameter is used to specify the format version. This is " +"optional and defaults to the original version 'v1' format." msgstr "" -#. type: Labeled list -#: en/config.txt:1428 -#, no-wrap -msgid "fsck.<msg-id>" +#. type: Plain text +#: en/git-status.txt:46 +msgid "Give the output in the long-format. This is the default." msgstr "" #. type: Plain text -#: en/config.txt:1431 +#: en/git-status.txt:54 msgid "" -"Allows overriding the message type (error, warn or ignore) of a specific " -"message ID such as `missingEmail`." +"In addition to the names of files that have been changed, also show the " +"textual changes that are staged to be committed (i.e., like the output of " +"`git diff --cached`). If `-v` is specified twice, then also show the changes " +"in the working tree that have not yet been staged (i.e., like the output of " +"`git diff`)." msgstr "" #. type: Plain text -#: en/config.txt:1435 +#: en/git-status.txt:62 msgid "" -"For convenience, fsck prefixes the error/warning with the message ID, e.g. " -"\"missingEmail: invalid author/committer line - missing email\" means that " -"setting `fsck.missingEmail = ignore` will hide that issue." +"The mode parameter is used to specify the handling of untracked files. It " +"is optional: it defaults to 'all', and if specified, it must be stuck to the " +"option (e.g. `-uno`, but not `-u no`)." msgstr "" #. type: Plain text -#: en/config.txt:1438 -msgid "" -"This feature is intended to support working with legacy repositories which " -"cannot be repaired without disruptive changes." +#: en/git-status.txt:66 +#, no-wrap +msgid "'no' - Show no untracked files.\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1439 +#. type: Plain text +#: en/git-status.txt:67 #, no-wrap -msgid "fsck.skipList" +msgid "'normal' - Shows untracked files and directories.\n" msgstr "" #. type: Plain text -#: en/config.txt:1446 en/config.txt:2679 +#: en/git-status.txt:78 msgid "" -"The path to a sorted list of object names (i.e. one SHA-1 per line) that are " -"known to be broken in a non-fatal way and should be ignored. This feature is " -"useful when an established project should be accepted despite early commits " -"containing errors that can be safely ignored such as invalid committer email " -"addresses. Note: corrupt objects cannot be skipped with this setting." +"When `-u` option is not used, untracked files and directories are shown " +"(i.e. the same as specifying `normal`), to help you avoid forgetting to add " +"newly created files. Because it takes extra work to find untracked files in " +"the filesystem, this mode may take some time in a large working tree. " +"Consider enabling untracked cache and split index if supported (see `git " +"update-index --untracked-cache` and `git update-index --split-index`), " +"Otherwise you can use `no` to have `git status` return more quickly without " +"showing untracked files." msgstr "" -#. type: Labeled list -#: en/config.txt:1447 -#, no-wrap -msgid "gc.aggressiveDepth" +#. type: Plain text +#: en/git-status.txt:96 +msgid "" +"Ignore changes to submodules when looking for changes. <when> can be either " +"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " +"\"none\" will consider the submodule modified when it either contains " +"untracked or modified files or its HEAD differs from the commit recorded in " +"the superproject and can be used to override any settings of the 'ignore' " +"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " +"is used submodules are not considered dirty when they only contain untracked " +"content (but they are still scanned for modified content). Using \"dirty\" " +"ignores all changes to the work tree of submodules, only changes to the " +"commits stored in the superproject are shown (this was the behavior before " +"1.7.0). Using \"all\" hides all changes to submodules (and suppresses the " +"output of submodule summaries when the config option " +"`status.submoduleSummary` is set)." msgstr "" #. type: Plain text -#: en/config.txt:1451 -msgid "" -"The depth parameter used in the delta compression algorithm used by 'git gc " -"--aggressive'. This defaults to 50." +#: en/git-status.txt:99 +msgid "Show ignored files as well." msgstr "" -#. type: Labeled list -#: en/config.txt:1452 -#, no-wrap -msgid "gc.aggressiveWindow" +#. type: Plain text +#: en/git-status.txt:103 +msgid "" +"Terminate entries with NUL, instead of LF. This implies the " +"`--porcelain=v1` output format if no other format is given." msgstr "" #. type: Plain text -#: en/config.txt:1456 +#: en/git-status.txt:110 msgid "" -"The window size parameter used in the delta compression algorithm used by " -"'git gc --aggressive'. This defaults to 250." +"Display untracked files in columns. See configuration variable column.status " +"for option syntax.`--column` and `--no-column` without options are " +"equivalent to 'always' and 'never' respectively." msgstr "" -#. type: Labeled list -#: en/config.txt:1457 -#, no-wrap -msgid "gc.auto" +#. type: Plain text +#: en/git-status.txt:119 +msgid "" +"The output from this command is designed to be used as a commit template " +"comment. The default, long format, is designed to be human readable, " +"verbose and descriptive. Its contents and format are subject to change at " +"any time." msgstr "" #. type: Plain text -#: en/config.txt:1463 +#: en/git-status.txt:124 msgid "" -"When there are approximately more than this many loose objects in the " -"repository, `git gc --auto` will pack them. Some Porcelain commands use " -"this command to perform a light-weight garbage collection from time to " -"time. The default value is 6700. Setting this to 0 disables it." +"The paths mentioned in the output, unlike many other Git commands, are made " +"relative to the current directory if you are working in a subdirectory (this " +"is on purpose, to help cutting and pasting). See the status.relativePaths " +"config option below." msgstr "" -#. type: Labeled list -#: en/config.txt:1464 +#. type: Title ~ +#: en/git-status.txt:126 #, no-wrap -msgid "gc.autoPackLimit" +msgid "Short Format" msgstr "" #. type: Plain text -#: en/config.txt:1469 -msgid "" -"When there are more than this many packs that are not marked with `*.keep` " -"file in the repository, `git gc --auto` consolidates them into one larger " -"pack. The default\tvalue is 50. Setting this to 0 disables it." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1470 -#, no-wrap -msgid "gc.autoDetach" +#: en/git-status.txt:129 +msgid "In the short-format, the status of each path is shown as" msgstr "" #. type: Plain text -#: en/config.txt:1473 -msgid "" -"Make `git gc --auto` return immediately and run in background if the system " -"supports it. Default is true." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1474 +#: en/git-status.txt:131 #, no-wrap -msgid "gc.logExpiry" +msgid "\tXY PATH1 -> PATH2\n" msgstr "" #. type: Plain text -#: en/config.txt:1479 +#: en/git-status.txt:136 msgid "" -"If the file gc.log exists, then `git gc --auto` won't run unless that file " -"is more than 'gc.logExpiry' old. Default is \"1.day\". See " -"`gc.pruneExpire` for more ways to specify its value." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1480 -#, no-wrap -msgid "gc.packRefs" +"where `PATH1` is the path in the `HEAD`, and the \" `-> PATH2`\" part is " +"shown only when `PATH1` corresponds to a different path in the " +"index/worktree (i.e. the file is renamed). The `XY` is a two-letter status " +"code." msgstr "" #. type: Plain text -#: en/config.txt:1487 +#: en/git-status.txt:142 msgid "" -"Running `git pack-refs` in a repository renders it unclonable by Git " -"versions prior to 1.5.1.2 over dumb transports such as HTTP. This variable " -"determines whether 'git gc' runs `git pack-refs`. This can be set to " -"`notbare` to enable it within all non-bare repos or it can be set to a " -"boolean value. The default is `true`." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1488 -#, no-wrap -msgid "gc.pruneExpire" +"The fields (including the `->`) are separated from each other by a single " +"space. If a filename contains whitespace or other nonprintable characters, " +"that field will be quoted in the manner of a C string literal: surrounded by " +"ASCII double quote (34) characters, and with interior special characters " +"backslash-escaped." msgstr "" #. type: Plain text -#: en/config.txt:1496 +#: en/git-status.txt:148 msgid "" -"When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'. Override " -"the grace period with this config variable. The value \"now\" may be used " -"to disable this grace period and always prune unreachable objects " -"immediately, or \"never\" may be used to suppress pruning. This feature " -"helps prevent corruption when 'git gc' runs concurrently with another " -"process writing to the repository; see the \"NOTES\" section of " -"linkgit:git-gc[1]." +"For paths with merge conflicts, `X` and `Y` show the modification states of " +"each side of the merge. For paths that do not have merge conflicts, `X` " +"shows the status of the index, and `Y` shows the status of the work tree. " +"For untracked paths, `XY` are `??`. Other status codes can be interpreted " +"as follows:" msgstr "" -#. type: Labeled list -#: en/config.txt:1497 -#, no-wrap -msgid "gc.worktreePruneExpire" +#. type: Plain text +#: en/git-status.txt:150 +msgid "' ' = unmodified" msgstr "" #. type: Plain text -#: en/config.txt:1504 -msgid "" -"When 'git gc' is run, it calls 'git worktree prune --expire 3.months.ago'. " -"This config variable can be used to set a different grace period. The value " -"\"now\" may be used to disable the grace period and prune " -"`$GIT_DIR/worktrees` immediately, or \"never\" may be used to suppress " -"pruning." +#: en/git-status.txt:151 +msgid "'M' = modified" msgstr "" -#. type: Labeled list -#: en/config.txt:1505 -#, no-wrap -msgid "gc.reflogExpire" +#. type: Plain text +#: en/git-status.txt:152 +msgid "'A' = added" msgstr "" -#. type: Labeled list -#: en/config.txt:1506 -#, no-wrap -msgid "gc.<pattern>.reflogExpire" +#. type: Plain text +#: en/git-status.txt:153 +msgid "'D' = deleted" msgstr "" #. type: Plain text -#: en/config.txt:1513 -msgid "" -"'git reflog expire' removes reflog entries older than this time; defaults to " -"90 days. The value \"now\" expires all entries immediately, and \"never\" " -"suppresses expiration altogether. With \"<pattern>\" (e.g. \"refs/stash\") " -"in the middle the setting applies only to the refs that match the <pattern>." +#: en/git-status.txt:154 +msgid "'R' = renamed" msgstr "" -#. type: Labeled list -#: en/config.txt:1514 -#, no-wrap -msgid "gc.reflogExpireUnreachable" +#. type: Plain text +#: en/git-status.txt:155 +msgid "'C' = copied" msgstr "" -#. type: Labeled list -#: en/config.txt:1515 -#, no-wrap -msgid "gc.<pattern>.reflogExpireUnreachable" +#. type: Plain text +#: en/git-status.txt:156 +msgid "'U' = updated but unmerged" msgstr "" #. type: Plain text -#: en/config.txt:1523 +#: en/git-status.txt:159 msgid "" -"'git reflog expire' removes reflog entries older than this time and are not " -"reachable from the current tip; defaults to 30 days. The value \"now\" " -"expires all entries immediately, and \"never\" suppresses expiration " -"altogether. With \"<pattern>\" (e.g. \"refs/stash\") in the middle, the " -"setting applies only to the refs that match the <pattern>." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1524 -#, no-wrap -msgid "gc.rerereResolved" +"Ignored files are not listed, unless `--ignored` option is in effect, in " +"which case `XY` are `!!`." msgstr "" #. type: Plain text -#: en/config.txt:1528 +#: en/git-status.txt:183 +#, no-wrap msgid "" -"Records of conflicted merge you resolved earlier are kept for this many days " -"when 'git rerere gc' is run. The default is 60 days. See " -"linkgit:git-rerere[1]." +" X Y Meaning\n" +" -------------------------------------------------\n" +" [MD] not updated\n" +" M [ MD] updated in index\n" +" A [ MD] added to index\n" +" D [ M] deleted from index\n" +" R [ MD] renamed in index\n" +" C [ MD] copied in index\n" +" [MARC] index and work tree matches\n" +" [ MARC] M work tree changed since index\n" +" [ MARC] D deleted in work tree\n" +" -------------------------------------------------\n" +" D D unmerged, both deleted\n" +" A U unmerged, added by us\n" +" U D unmerged, deleted by them\n" +" U A unmerged, added by them\n" +" D U unmerged, deleted by us\n" +" A A unmerged, both added\n" +" U U unmerged, both modified\n" +" -------------------------------------------------\n" +" ? ? untracked\n" +" ! ! ignored\n" +" -------------------------------------------------\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1529 -#, no-wrap -msgid "gc.rerereUnresolved" +#. type: Plain text +#: en/git-status.txt:185 +msgid "If -b is used the short-format status is preceded by a line" msgstr "" #. type: Plain text -#: en/config.txt:1533 -msgid "" -"Records of conflicted merge you have not resolved are kept for this many " -"days when 'git rerere gc' is run. The default is 15 days. See " -"linkgit:git-rerere[1]." +#: en/git-status.txt:187 +#, no-wrap +msgid " ## branchname tracking info\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1534 +#. type: Title ~ +#: en/git-status.txt:189 #, no-wrap -msgid "gitcvs.commitMsgAnnotation" +msgid "Porcelain Format Version 1" msgstr "" #. type: Plain text -#: en/config.txt:1537 +#: en/git-status.txt:196 msgid "" -"Append this string to each commit message. Set to empty string to disable " -"this feature. Defaults to \"via git-CVS emulator\"." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1538 -#, no-wrap -msgid "gitcvs.enabled" +"Version 1 porcelain format is similar to the short format, but is guaranteed " +"not to change in a backwards-incompatible way between Git versions or based " +"on user configuration. This makes it ideal for parsing by scripts. The " +"description of the short format above also describes the porcelain format, " +"with a few exceptions:" msgstr "" #. type: Plain text -#: en/config.txt:1541 +#: en/git-status.txt:199 msgid "" -"Whether the CVS server interface is enabled for this repository. See " -"linkgit:git-cvsserver[1]." +"The user's color.status configuration is not respected; color will always be " +"off." msgstr "" -#. type: Labeled list -#: en/config.txt:1542 -#, no-wrap -msgid "gitcvs.logFile" +#. type: Plain text +#: en/git-status.txt:202 +msgid "" +"The user's status.relativePaths configuration is not respected; paths shown " +"will always be relative to the repository root." msgstr "" #. type: Plain text -#: en/config.txt:1545 +#: en/git-status.txt:212 msgid "" -"Path to a log file where the CVS server interface well... logs various " -"stuff. See linkgit:git-cvsserver[1]." +"There is also an alternate -z format recommended for machine parsing. In " +"that format, the status field is the same, but some other things change. " +"First, the '\\->' is omitted from rename entries and the field order is " +"reversed (e.g 'from \\-> to' becomes 'to from'). Second, a NUL (ASCII 0) " +"follows each filename, replacing space as a field separator and the " +"terminating newline (but a space still separates the status field from the " +"first filename). Third, filenames containing special characters are not " +"specially formatted; no quoting or backslash-escaping is performed." msgstr "" -#. type: Labeled list -#: en/config.txt:1546 +#. type: Title ~ +#: en/git-status.txt:214 #, no-wrap -msgid "gitcvs.usecrlfattr" +msgid "Porcelain Format Version 2" msgstr "" #. type: Plain text -#: en/config.txt:1556 +#: en/git-status.txt:219 msgid "" -"If true, the server will look up the end-of-line conversion attributes for " -"files to determine the `-k` modes to use. If the attributes force Git to " -"treat a file as text, the `-k` mode will be left blank so CVS clients will " -"treat it as text. If they suppress text conversion, the file will be set " -"with '-kb' mode, which suppresses any newline munging the client might " -"otherwise do. If the attributes do not allow the file type to be determined, " -"then `gitcvs.allBinary` is used. See linkgit:gitattributes[5]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1557 -#, no-wrap -msgid "gitcvs.allBinary" +"Version 2 format adds more detailed information about the state of the " +"worktree and changed items. Version 2 also defines an extensible set of " +"easy to parse optional headers." msgstr "" #. type: Plain text -#: en/config.txt:1566 +#: en/git-status.txt:223 msgid "" -"This is used if `gitcvs.usecrlfattr` does not resolve the correct '-kb' mode " -"to use. If true, all unresolved files are sent to the client in mode " -"'-kb'. This causes the client to treat them as binary files, which " -"suppresses any newline munging it otherwise might do. Alternatively, if it " -"is set to \"guess\", then the contents of the file are examined to decide if " -"it is binary, similar to `core.autocrlf`." +"Header lines start with \"#\" and are added in response to specific command " +"line arguments. Parsers should ignore headers they don't recognize." msgstr "" #. type: Plain text -#: en/config.txt:1574 -msgid "" -"Database used by git-cvsserver to cache revision information derived from " -"the Git repository. The exact meaning depends on the used database driver, " -"for SQLite (which is the default driver) this is a filename. Supports " -"variable substitution (see linkgit:git-cvsserver[1] for details). May not " -"contain semicolons (`;`). Default: '%Ggitcvs.%m.sqlite'" +#: en/git-status.txt:225 +msgid "### Branch Headers" msgstr "" #. type: Plain text -#: en/config.txt:1582 +#: en/git-status.txt:228 msgid "" -"Used Perl DBI driver. You can specify any available driver for this here, " -"but it might not work. git-cvsserver is tested with 'DBD::SQLite', reported " -"to work with 'DBD::Pg', and reported *not* to work with " -"'DBD::mysql'. Experimental feature. May not contain double colons " -"(`:`). Default: 'SQLite'. See linkgit:git-cvsserver[1]." +"If `--branch` is given, a series of header lines are printed with " +"information about the current branch." msgstr "" -#. type: Labeled list -#: en/config.txt:1583 +#. type: Plain text +#: en/git-status.txt:237 #, no-wrap -msgid "gitcvs.dbUser, gitcvs.dbPass" +msgid "" +" Line Notes\n" +" ------------------------------------------------------------\n" +" # branch.oid <commit> | (initial) Current commit.\n" +" # branch.head <branch> | (detached) Current branch.\n" +" # branch.upstream <upstream_branch> If upstream is set.\n" +" # branch.ab +<ahead> -<behind> If upstream is set and\n" +"\t\t\t\t\t the commit is present.\n" +" ------------------------------------------------------------\n" msgstr "" #. type: Plain text -#: en/config.txt:1588 -msgid "" -"Database user and password. Only useful if setting `gitcvs.dbDriver`, since " -"SQLite has no concept of database users and/or passwords. 'gitcvs.dbUser' " -"supports variable substitution (see linkgit:git-cvsserver[1] for details)." +#: en/git-status.txt:239 +msgid "### Changed Tracked Entries" msgstr "" #. type: Plain text -#: en/config.txt:1595 +#: en/git-status.txt:245 msgid "" -"Database table name prefix. Prepended to the names of any database tables " -"used, allowing a single database to be used for several repositories. " -"Supports variable substitution (see linkgit:git-cvsserver[1] for details). " -"Any non-alphabetic characters will be replaced with underscores." +"Following the headers, a series of lines are printed for tracked entries. " +"One of three different line formats may be used to describe an entry " +"depending on the type of change. Tracked entries are printed in an " +"undefined order; parsers should allow for a mixture of the 3 line types in " +"any order." msgstr "" #. type: Plain text -#: en/config.txt:1601 -msgid "" -"All gitcvs variables except for `gitcvs.usecrlfattr` and `gitcvs.allBinary` " -"can also be specified as 'gitcvs.<access_method>.<varname>' (where " -"'access_method' is one of \"ext\" and \"pserver\") to make them apply only " -"for the given access method." +#: en/git-status.txt:247 +msgid "Ordinary changed entries have the following format:" msgstr "" -#. type: Labeled list -#: en/config.txt:1602 +#. type: Plain text +#: en/git-status.txt:249 #, no-wrap -msgid "gitweb.category" +msgid " 1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1603 -#, no-wrap -msgid "gitweb.description" +#. type: Plain text +#: en/git-status.txt:251 +msgid "Renamed or copied entries have the following format:" msgstr "" -#. type: Labeled list -#: en/config.txt:1604 +#. type: Plain text +#: en/git-status.txt:253 #, no-wrap -msgid "gitweb.owner" +msgid " 2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><sep><origPath>\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1605 +#. type: Plain text +#: en/git-status.txt:283 #, no-wrap -msgid "gitweb.url" +msgid "" +" Field Meaning\n" +" --------------------------------------------------------\n" +" <XY> A 2 character field containing the staged and\n" +"\t\tunstaged XY values described in the short format,\n" +"\t\twith unchanged indicated by a \".\" rather than\n" +"\t\ta space.\n" +" <sub> A 4 character field describing the submodule state.\n" +"\t\t\"N...\" when the entry is not a submodule.\n" +"\t\t\"S<c><m><u>\" when the entry is a submodule.\n" +"\t\t<c> is \"C\" if the commit changed; otherwise \".\".\n" +"\t\t<m> is \"M\" if it has tracked changes; otherwise \".\".\n" +"\t\t<u> is \"U\" if there are untracked changes; otherwise \".\".\n" +" <mH> The octal file mode in HEAD.\n" +" <mI> The octal file mode in the index.\n" +" <mW> The octal file mode in the worktree.\n" +" <hH> The object name in HEAD.\n" +" <hI> The object name in the index.\n" +" <X><score> The rename or copy score (denoting the percentage\n" +"\t\tof similarity between the source and target of the\n" +"\t\tmove or copy). For example \"R100\" or \"C75\".\n" +" <path> The pathname. In a renamed/copied entry, this\n" +"\t\tis the path in the index and in the working tree.\n" +" <sep> When the `-z` option is used, the 2 pathnames are " +"separated\n" +"\t\twith a NUL (ASCII 0x00) byte; otherwise, a tab (ASCII 0x09)\n" +"\t\tbyte separates them.\n" +" <origPath> The pathname in the commit at HEAD. This is only\n" +"\t\tpresent in a renamed/copied entry, and tells\n" +"\t\twhere the renamed/copied contents came from.\n" +" --------------------------------------------------------\n" msgstr "" #. type: Plain text -#: en/config.txt:1607 -msgid "See linkgit:gitweb[1] for description." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1608 -#, no-wrap -msgid "gitweb.avatar" +#: en/git-status.txt:286 +msgid "" +"Unmerged entries have the following format; the first character is a \"u\" " +"to distinguish from ordinary changed entries." msgstr "" -#. type: Labeled list -#: en/config.txt:1609 +#. type: Plain text +#: en/git-status.txt:288 #, no-wrap -msgid "gitweb.blame" +msgid " u <xy> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1610 +#. type: Plain text +#: en/git-status.txt:304 #, no-wrap -msgid "gitweb.grep" +msgid "" +" Field Meaning\n" +" --------------------------------------------------------\n" +" <XY> A 2 character field describing the conflict type\n" +"\t\tas described in the short format.\n" +" <sub> A 4 character field describing the submodule state\n" +"\t\tas described above.\n" +" <m1> The octal file mode in stage 1.\n" +" <m2> The octal file mode in stage 2.\n" +" <m3> The octal file mode in stage 3.\n" +" <mW> The octal file mode in the worktree.\n" +" <h1> The object name in stage 1.\n" +" <h2> The object name in stage 2.\n" +" <h3> The object name in stage 3.\n" +" <path> The pathname.\n" +" --------------------------------------------------------\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1611 -#, no-wrap -msgid "gitweb.highlight" +#. type: Plain text +#: en/git-status.txt:306 +msgid "### Other Items" msgstr "" -#. type: Labeled list -#: en/config.txt:1612 -#, no-wrap -msgid "gitweb.patches" +#. type: Plain text +#: en/git-status.txt:310 +msgid "" +"Following the tracked entries (and if requested), a series of lines will be " +"printed for untracked and then ignored items found in the worktree." msgstr "" -#. type: Labeled list -#: en/config.txt:1613 -#, no-wrap -msgid "gitweb.pickaxe" +#. type: Plain text +#: en/git-status.txt:312 +msgid "Untracked items have the following format:" msgstr "" -#. type: Labeled list -#: en/config.txt:1614 +#. type: Plain text +#: en/git-status.txt:314 #, no-wrap -msgid "gitweb.remote_heads" +msgid " ? <path>\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1615 -#, no-wrap -msgid "gitweb.showSizes" +#. type: Plain text +#: en/git-status.txt:316 +msgid "Ignored items have the following format:" msgstr "" -#. type: Labeled list -#: en/config.txt:1616 +#. type: Plain text +#: en/git-status.txt:318 #, no-wrap -msgid "gitweb.snapshot" +msgid " ! <path>\n" msgstr "" #. type: Plain text -#: en/config.txt:1618 -msgid "See linkgit:gitweb.conf[5] for description." +#: en/git-status.txt:320 +msgid "### Pathname Format Notes and -z" msgstr "" #. type: Plain text -#: en/config.txt:1636 +#: en/git-status.txt:324 msgid "" -"Number of grep worker threads to use. See `grep.threads` in " -"linkgit:git-grep[1] for more information." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1641 -#, no-wrap -msgid "gpg.program" +"When the `-z` option is given, pathnames are printed as is and without any " +"quoting and lines are terminated with a NUL (ASCII 0x00) byte." msgstr "" #. type: Plain text -#: en/config.txt:1651 +#: en/git-status.txt:328 msgid "" -"Use this custom program instead of \"`gpg`\" found on `$PATH` when making or " -"verifying a PGP signature. The program must support the same command-line " -"interface as GPG, namely, to verify a detached signature, \"`gpg --verify " -"$file - <$signature`\" is run, and the program is expected to signal a good " -"signature by exiting with code 0, and to generate an ASCII-armored detached " -"signature, the standard input of \"`gpg -bsau $key`\" is fed with the " -"contents to be signed, and the program is expected to send the result to its " -"standard output." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1652 -#, no-wrap -msgid "gui.commitMsgWidth" +"Without the `-z` option, pathnames with \"unusual\" characters are quoted as " +"explained for the configuration variable `core.quotePath` (see " +"linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/config.txt:1655 +#: en/git-status.txt:337 msgid "" -"Defines how wide the commit message window is in the " -"linkgit:git-gui[1]. \"75\" is the default." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1656 -#, no-wrap -msgid "gui.diffContext" +"The command honors `color.status` (or `status.color` -- they mean the same " +"thing and the latter is kept for backward compatibility) and " +"`color.status.<slot>` configuration variables to colorize its output." msgstr "" #. type: Plain text -#: en/config.txt:1659 +#: en/git-status.txt:341 msgid "" -"Specifies how many context lines should be used in calls to diff made by the " -"linkgit:git-gui[1]. The default is \"5\"." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1660 -#, no-wrap -msgid "gui.displayUntracked" +"If the config variable `status.relativePaths` is set to false, then all " +"paths shown are relative to the repository root, not to the current " +"directory." msgstr "" #. type: Plain text -#: en/config.txt:1663 +#: en/git-status.txt:352 msgid "" -"Determines if linkgit:git-gui[1] shows untracked files in the file list. The " -"default is \"true\"." +"If `status.submoduleSummary` is set to a non zero number or true (identical " +"to -1 or an unlimited number), the submodule summary will be enabled for the " +"long format and a summary of commits for modified submodules will be shown " +"(see --summary-limit option of linkgit:git-submodule[1]). Please note that " +"the summary output from the status command will be suppressed for all " +"submodules when `diff.ignoreSubmodules` is set to 'all' or only for those " +"submodules where `submodule.<name>.ignore=all`. To also view the summary for " +"ignored submodules you can either use the --ignore-submodules=dirty command " +"line option or the 'git submodule summary' command, which shows a similar " +"output but does not honor these settings." msgstr "" -#. type: Labeled list -#: en/config.txt:1664 +#. type: Title = +#: en/git-stripspace.txt:2 #, no-wrap -msgid "gui.encoding" +msgid "git-stripspace(1)" msgstr "" #. type: Plain text -#: en/config.txt:1671 -msgid "" -"Specifies the default encoding to use for displaying of file contents in " -"linkgit:git-gui[1] and linkgit:gitk[1]. It can be overridden by setting the " -"'encoding' attribute for relevant files (see linkgit:gitattributes[5]). If " -"this option is not set, the tools default to the locale encoding." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1672 -#, no-wrap -msgid "gui.matchTrackingBranch" +#: en/git-stripspace.txt:7 +msgid "git-stripspace - Remove unnecessary whitespace" msgstr "" #. type: Plain text -#: en/config.txt:1676 -msgid "" -"Determines if new branches created with linkgit:git-gui[1] should default to " -"tracking remote branches with matching names or not. Default: \"false\"." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1677 +#: en/git-stripspace.txt:14 #, no-wrap -msgid "gui.newBranchTemplate" +msgid "" +"'git stripspace' [-s | --strip-comments]\n" +"'git stripspace' [-c | --comment-lines]\n" msgstr "" #. type: Plain text -#: en/config.txt:1680 +#: en/git-stripspace.txt:21 msgid "" -"Is used as suggested name when creating new branches using the " -"linkgit:git-gui[1]." +"Read text, such as commit messages, notes, tags and branch descriptions, " +"from the standard input and clean it in the manner used by Git." msgstr "" -#. type: Labeled list -#: en/config.txt:1681 -#, no-wrap -msgid "gui.pruneDuringFetch" +#. type: Plain text +#: en/git-stripspace.txt:23 +msgid "With no arguments, this will:" msgstr "" #. type: Plain text -#: en/config.txt:1684 -msgid "" -"\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when " -"performing a fetch. The default value is \"false\"." +#: en/git-stripspace.txt:25 +msgid "remove trailing whitespace from all lines" msgstr "" -#. type: Labeled list -#: en/config.txt:1685 -#, no-wrap -msgid "gui.trustmtime" +#. type: Plain text +#: en/git-stripspace.txt:26 +msgid "collapse multiple consecutive empty lines into one empty line" msgstr "" #. type: Plain text -#: en/config.txt:1688 -msgid "" -"Determines if linkgit:git-gui[1] should trust the file modification " -"timestamp or not. By default the timestamps are not trusted." +#: en/git-stripspace.txt:27 +msgid "remove empty lines from the beginning and end of the input" msgstr "" -#. type: Labeled list -#: en/config.txt:1689 -#, no-wrap -msgid "gui.spellingDictionary" +#. type: Plain text +#: en/git-stripspace.txt:28 +msgid "add a missing '\\n' to the last line if necessary." msgstr "" #. type: Plain text -#: en/config.txt:1693 +#: en/git-stripspace.txt:31 msgid "" -"Specifies the dictionary used for spell checking commit messages in the " -"linkgit:git-gui[1]. When set to \"none\" spell checking is turned off." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1694 -#, no-wrap -msgid "gui.fastCopyBlame" +"In the case where the input consists entirely of whitespace characters, no " +"output will be produced." msgstr "" #. type: Plain text -#: en/config.txt:1698 +#: en/git-stripspace.txt:35 +#, no-wrap msgid "" -"If true, 'git gui blame' uses `-C` instead of `-C -C` for original location " -"detection. It makes blame significantly faster on huge repositories at the " -"expense of less thorough copy detection." +"*NOTE*: This is intended for cleaning metadata, prefer the " +"`--whitespace=fix`\n" +"mode of linkgit:git-apply[1] for correcting whitespace of patches or files " +"in\n" +"the repository.\n" msgstr "" #. type: Labeled list -#: en/config.txt:1699 +#: en/git-stripspace.txt:39 #, no-wrap -msgid "gui.copyBlameThreshold" +msgid "--strip-comments" msgstr "" #. type: Plain text -#: en/config.txt:1703 -msgid "" -"Specifies the threshold to use in 'git gui blame' original location " -"detection, measured in alphanumeric characters. See the linkgit:git-blame[1] " -"manual for more information on copy detection." +#: en/git-stripspace.txt:41 +msgid "Skip and remove all lines starting with comment character (default '#')." msgstr "" #. type: Labeled list -#: en/config.txt:1704 +#: en/git-stripspace.txt:43 #, no-wrap -msgid "gui.blamehistoryctx" +msgid "--comment-lines" msgstr "" #. type: Plain text -#: en/config.txt:1709 +#: en/git-stripspace.txt:47 msgid "" -"Specifies the radius of history context in days to show in linkgit:gitk[1] " -"for the selected commit, when the `Show History Context` menu item is " -"invoked from 'git gui blame'. If this variable is set to zero, the whole " -"history is shown." -msgstr "" - -#. type: Labeled list -#: en/config.txt:1710 -#, no-wrap -msgid "guitool.<name>.cmd" +"Prepend comment character and blank to each line. Lines will automatically " +"be terminated with a newline. On empty lines, only the comment character " +"will be prepended." msgstr "" #. type: Plain text -#: en/config.txt:1718 -msgid "" -"Specifies the shell command line to execute when the corresponding item of " -"the linkgit:git-gui[1] `Tools` menu is invoked. This option is mandatory for " -"every tool. The command is executed from the root of the working directory, " -"and in the environment it receives the name of the tool as `GIT_GUITOOL`, " -"the name of the currently selected file as 'FILENAME', and the name of the " -"current branch as 'CUR_BRANCH' (if the head is detached, 'CUR_BRANCH' is " -"empty)." +#: en/git-stripspace.txt:52 +msgid "Given the following noisy input with '$' indicating the end of a line:" msgstr "" -#. type: Labeled list -#: en/config.txt:1719 +#. type: delimited block - +#: en/git-stripspace.txt:65 #, no-wrap -msgid "guitool.<name>.needsFile" +msgid "" +"|A brief introduction $\n" +"| $\n" +"|$\n" +"|A new paragraph$\n" +"|# with a commented-out line $\n" +"|explaining lots of stuff.$\n" +"|$\n" +"|# An old paragraph, also commented-out. $\n" +"| $\n" +"|The end.$\n" +"| $\n" msgstr "" #. type: Plain text -#: en/config.txt:1722 -msgid "" -"Run the tool only if a diff is selected in the GUI. It guarantees that " -"'FILENAME' is not empty." +#: en/git-stripspace.txt:68 +msgid "Use 'git stripspace' with no arguments to obtain:" msgstr "" -#. type: Labeled list -#: en/config.txt:1723 +#. type: delimited block - +#: en/git-stripspace.txt:79 #, no-wrap -msgid "guitool.<name>.noConsole" +msgid "" +"|A brief introduction$\n" +"|$\n" +"|A new paragraph$\n" +"|# with a commented-out line$\n" +"|explaining lots of stuff.$\n" +"|$\n" +"|# An old paragraph, also commented-out.$\n" +"|$\n" +"|The end.$\n" msgstr "" #. type: Plain text -#: en/config.txt:1726 -msgid "Run the command silently, without creating a window to display its output." +#: en/git-stripspace.txt:82 +msgid "Use 'git stripspace --strip-comments' to obtain:" msgstr "" -#. type: Labeled list -#: en/config.txt:1727 +#. type: delimited block - +#: en/git-stripspace.txt:90 #, no-wrap -msgid "guitool.<name>.noRescan" -msgstr "" - -#. type: Plain text -#: en/config.txt:1730 msgid "" -"Don't rescan the working directory for changes after the tool finishes " -"execution." +"|A brief introduction$\n" +"|$\n" +"|A new paragraph$\n" +"|explaining lots of stuff.$\n" +"|$\n" +"|The end.$\n" msgstr "" -#. type: Labeled list -#: en/config.txt:1731 +#. type: Title = +#: en/git-submodule.txt:2 #, no-wrap -msgid "guitool.<name>.confirm" +msgid "git-submodule(1)" msgstr "" #. type: Plain text -#: en/config.txt:1733 -msgid "Show a confirmation dialog before actually running the tool." +#: en/git-submodule.txt:7 +msgid "git-submodule - Initialize, update or inspect submodules" msgstr "" -#. type: Labeled list -#: en/config.txt:1734 +#. type: Plain text +#: en/git-submodule.txt:21 #, no-wrap -msgid "guitool.<name>.argPrompt" +msgid "" +"'git submodule' [--quiet] add [<options>] [--] <repository> [<path>]\n" +"'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]\n" +"'git submodule' [--quiet] init [--] [<path>...]\n" +"'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)\n" +"'git submodule' [--quiet] update [<options>] [--] [<path>...]\n" +"'git submodule' [--quiet] summary [<options>] [--] [<path>...]\n" +"'git submodule' [--quiet] foreach [--recursive] <command>\n" +"'git submodule' [--quiet] sync [--recursive] [--] [<path>...]\n" +"'git submodule' [--quiet] absorbgitdirs [--] [<path>...]\n" msgstr "" #. type: Plain text -#: en/config.txt:1741 -msgid "" -"Request a string argument from the user, and pass it to the tool through the " -"`ARGS` environment variable. Since requesting an argument implies " -"confirmation, the 'confirm' option has no effect if this is enabled. If the " -"option is set to 'true', 'yes', or '1', the dialog uses a built-in generic " -"prompt; otherwise the exact value of the variable is used." +#: en/git-submodule.txt:26 +msgid "Inspects, updates and manages submodules." msgstr "" -#. type: Labeled list -#: en/config.txt:1742 -#, no-wrap -msgid "guitool.<name>.revPrompt" +#. type: Plain text +#: en/git-submodule.txt:31 +msgid "" +"A submodule allows you to keep another Git repository in a subdirectory of " +"your repository. The other repository has its own history, which does not " +"interfere with the history of the current repository. This can be used to " +"have external dependencies such as third party libraries for example." msgstr "" #. type: Plain text -#: en/config.txt:1746 +#: en/git-submodule.txt:36 msgid "" -"Request a single valid revision from the user, and set the `REVISION` " -"environment variable. In other aspects this option is similar to " -"'argPrompt', and can be used together with it." +"When cloning or pulling a repository containing submodules however, these " +"will not be checked out by default; the 'init' and 'update' subcommands will " +"maintain submodules checked out and at appropriate revision in your working " +"tree." msgstr "" -#. type: Labeled list -#: en/config.txt:1747 -#, no-wrap -msgid "guitool.<name>.revUnmerged" +#. type: Plain text +#: en/git-submodule.txt:45 +msgid "" +"Submodules are composed from a so-called `gitlink` tree entry in the main " +"repository that refers to a particular commit object within the inner " +"repository that is completely separate. A record in the `.gitmodules` (see " +"linkgit:gitmodules[5]) file at the root of the source tree assigns a logical " +"name to the submodule and describes the default URL the submodule shall be " +"cloned from. The logical name can be used for overriding this URL within " +"your local repository configuration (see 'submodule init')." msgstr "" #. type: Plain text -#: en/config.txt:1751 +#: en/git-submodule.txt:58 msgid "" -"Show only unmerged branches in the 'revPrompt' subdialog. This is useful " -"for tools similar to merge or rebase, but not for things like checkout or " -"reset." +"Submodules are not to be confused with remotes, which are other repositories " +"of the same project; submodules are meant for different projects you would " +"like to make part of your source tree, while the history of the two projects " +"still stays completely independent and you cannot modify the contents of the " +"submodule from within the main project. If you want to merge the project " +"histories and want to treat the aggregated whole as a single project from " +"then on, you may want to add a remote for the other project and use the " +"'subtree' merge strategy, instead of treating the other project as a " +"submodule. Directories that come from both projects can be cloned and " +"checked out as a whole if you choose to go that route." msgstr "" #. type: Labeled list -#: en/config.txt:1752 +#: en/git-submodule.txt:61 #, no-wrap -msgid "guitool.<name>.title" +msgid "" +"add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] " +"[--depth <depth>] [--] <repository> [<path>]" msgstr "" #. type: Plain text -#: en/config.txt:1755 +#: en/git-submodule.txt:65 msgid "" -"Specifies the title to use for the prompt dialog. The default is the tool " -"name." +"Add the given repository as a submodule at the given path to the changeset " +"to be committed next to the current project: the current project is termed " +"the \"superproject\"." msgstr "" -#. type: Labeled list -#: en/config.txt:1756 -#, no-wrap -msgid "guitool.<name>.prompt" +#. type: Plain text +#: en/git-submodule.txt:73 +msgid "" +"This requires at least one argument: <repository>. The optional argument " +"<path> is the relative location for the cloned submodule to exist in the " +"superproject. If <path> is not given, the \"humanish\" part of the source " +"repository is used (\"repo\" for \"/path/to/repo.git\" and \"foo\" for " +"\"host.xz:foo/.git\"). The <path> is also used as the submodule's logical " +"name in its configuration entries unless `--name` is used to specify a " +"logical name." msgstr "" #. type: Plain text -#: en/config.txt:1760 +#: en/git-submodule.txt:82 msgid "" -"Specifies the general prompt string to display at the top of the dialog, " -"before subsections for 'argPrompt' and 'revPrompt'. The default value " -"includes the actual command." +"<repository> is the URL of the new submodule's origin repository. This may " +"be either an absolute URL, or (if it begins with ./ or ../), the location " +"relative to the superproject's default remote repository (Please note that " +"to specify a repository 'foo.git' which is located right next to a " +"superproject 'bar.git', you'll have to use '../foo.git' instead of " +"'./foo.git' - as one might expect when following the rules for relative URLs " +"- because the evaluation of relative URLs in Git is identical to that of " +"relative directories)." msgstr "" -#. type: Labeled list -#: en/config.txt:1761 -#, no-wrap -msgid "help.browser" +#. type: Plain text +#: en/git-submodule.txt:89 +msgid "" +"The default remote is the remote of the remote tracking branch of the " +"current branch. If no such remote tracking branch exists or the HEAD is " +"detached, \"origin\" is assumed to be the default remote. If the " +"superproject doesn't have a default remote configured the superproject is " +"its own authoritative upstream and the current working directory is used " +"instead." msgstr "" #. type: Plain text -#: en/config.txt:1764 +#: en/git-submodule.txt:97 msgid "" -"Specify the browser that will be used to display help in the 'web' " -"format. See linkgit:git-help[1]." +"<path> is the relative location for the cloned submodule to exist in the " +"superproject. If <path> does not exist, then the submodule is created by " +"cloning from the named URL. If <path> does exist and is already a valid Git " +"repository, then this is added to the changeset without cloning. This second " +"form is provided to ease creating a new submodule from scratch, and presumes " +"the user will later push the submodule to the given URL." msgstr "" #. type: Plain text -#: en/config.txt:1769 +#: en/git-submodule.txt:105 msgid "" -"Override the default help format used by linkgit:git-help[1]. Values 'man', " -"'info', 'web' and 'html' are supported. 'man' is the default. 'web' and " -"'html' are the same." +"In either case, the given URL is recorded into .gitmodules for use by " +"subsequent users cloning the superproject. If the URL is given relative to " +"the superproject's repository, the presumption is the superproject and " +"submodule repositories will be kept together in the same relative location, " +"and only the superproject's URL needs to be provided: git-submodule will " +"correctly locate the submodule using the relative URL in .gitmodules." msgstr "" #. type: Labeled list -#: en/config.txt:1770 +#: en/git-submodule.txt:106 #, no-wrap -msgid "help.autoCorrect" +msgid "status [--cached] [--recursive] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1778 +#: en/git-submodule.txt:114 msgid "" -"Automatically correct and execute mistyped commands after waiting for the " -"given number of deciseconds (0.1 sec). If more than one command can be " -"deduced from the entered text, nothing will be executed. If the value of " -"this option is negative, the corrected command will be executed " -"immediately. If the value is 0 - the command will be just shown but not " -"executed. This is the default." +"Show the status of the submodules. This will print the SHA-1 of the " +"currently checked out commit for each submodule, along with the submodule " +"path and the output of 'git describe' for the SHA-1. Each SHA-1 will be " +"prefixed with `-` if the submodule is not initialized, `+` if the currently " +"checked out submodule commit does not match the SHA-1 found in the index of " +"the containing repository and `U` if the submodule has merge conflicts." msgstr "" -#. type: Labeled list -#: en/config.txt:1779 -#, no-wrap -msgid "help.htmlPath" +#. type: Plain text +#: en/git-submodule.txt:117 +msgid "" +"If `--recursive` is specified, this command will recurse into nested " +"submodules, and show their status as well." msgstr "" #. type: Plain text -#: en/config.txt:1784 +#: en/git-submodule.txt:122 msgid "" -"Specify the path where the HTML documentation resides. File system paths and " -"URLs are supported. HTML pages will be prefixed with this path when help is " -"displayed in the 'web' format. This defaults to the documentation path of " -"your Git installation." +"If you are only interested in changes of the currently initialized " +"submodules with respect to the commit recorded in the index or the HEAD, " +"linkgit:git-status[1] and linkgit:git-diff[1] will provide that information " +"too (and can also report changes to a submodule's work tree)." msgstr "" #. type: Labeled list -#: en/config.txt:1785 +#: en/git-submodule.txt:123 #, no-wrap -msgid "http.proxy" +msgid "init [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1794 +#: en/git-submodule.txt:130 msgid "" -"Override the HTTP proxy, normally configured using the 'http_proxy', " -"'https_proxy', and 'all_proxy' environment variables (see `curl(1)`). In " -"addition to the syntax understood by curl, it is possible to specify a proxy " -"string with a user name but no password, in which case git will attempt to " -"acquire one in the same way it does for other credentials. See " -"linkgit:gitcredentials[7] for more information. The syntax thus is " -"'[protocol://][user[:password]@]proxyhost[:port]'. This can be overridden on " -"a per-remote basis; see remote.<name>.proxy" -msgstr "" - -#. type: Labeled list -#: en/config.txt:1795 -#, no-wrap -msgid "http.proxyAuthMethod" +"Initialize the submodules recorded in the index (which were added and " +"committed elsewhere) by setting `submodule.$name.url` in .git/config. It " +"uses the same setting from .gitmodules as a template. If the URL is " +"relative, it will be resolved using the default remote. If there is no " +"default remote, the current repository will be assumed to be upstream." msgstr "" #. type: Plain text -#: en/config.txt:1802 +#: en/git-submodule.txt:133 msgid "" -"Set the method with which to authenticate against the HTTP proxy. This only " -"takes effect if the configured proxy string contains a user name part " -"(i.e. is of the form 'user@host' or 'user@host:port'). This can be " -"overridden on a per-remote basis; see `remote.<name>.proxyAuthMethod`. Both " -"can be overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment variable. " -"Possible values are:" +"Optional <path> arguments limit which submodules will be initialized. If no " +"path is specified, all submodules are initialized." msgstr "" #. type: Plain text -#: en/config.txt:1808 +#: en/git-submodule.txt:141 msgid "" -"`anyauth` - Automatically pick a suitable authentication method. It is " -"assumed that the proxy answers an unauthenticated request with a 407 status " -"code and one or more Proxy-authenticate headers with supported " -"authentication methods. This is the default." +"When present, it will also copy the value of `submodule.$name.update`. This " +"command does not alter existing information in .git/config. You can then " +"customize the submodule clone URLs in .git/config for your local setup and " +"proceed to `git submodule update`; you can also just use `git submodule " +"update --init` without the explicit 'init' step if you do not intend to " +"customize any submodule locations." msgstr "" #. type: Plain text -#: en/config.txt:1809 -msgid "`basic` - HTTP Basic authentication" +#: en/git-submodule.txt:143 +msgid "See the add subcommand for the defintion of default remote." +msgstr "" + +#. type: Labeled list +#: en/git-submodule.txt:144 +#, no-wrap +msgid "deinit [-f|--force] (--all|[--] <path>...)" msgstr "" #. type: Plain text -#: en/config.txt:1811 +#: en/git-submodule.txt:153 msgid "" -"`digest` - HTTP Digest authentication; this prevents the password from being " -"transmitted to the proxy in clear text" +"Unregister the given submodules, i.e. remove the whole `submodule.$name` " +"section from .git/config together with their work tree. Further calls to " +"`git submodule update`, `git submodule foreach` and `git submodule sync` " +"will skip any unregistered submodules until they are initialized again, so " +"use this command if you don't want to have a local checkout of the submodule " +"in your working tree anymore. If you really want to remove a submodule from " +"the repository and commit that use linkgit:git-rm[1] instead." msgstr "" #. type: Plain text -#: en/config.txt:1813 +#: en/git-submodule.txt:156 msgid "" -"`negotiate` - GSS-Negotiate authentication (compare the --negotiate option " -"of `curl(1)`)" +"When the command is run without pathspec, it errors out, instead of " +"deinit-ing everything, to prevent mistakes." msgstr "" #. type: Plain text -#: en/config.txt:1814 -msgid "`ntlm` - NTLM authentication (compare the --ntlm option of `curl(1)`)" +#: en/git-submodule.txt:159 +msgid "" +"If `--force` is specified, the submodule's working tree will be removed even " +"if it contains local modifications." msgstr "" #. type: Labeled list -#: en/config.txt:1816 +#: en/git-submodule.txt:160 #, no-wrap -msgid "http.emptyAuth" +msgid "" +"update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] " +"[-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] " +"[--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1821 +#: en/git-submodule.txt:171 msgid "" -"Attempt authentication without seeking a username or password. This can be " -"used to attempt GSS-Negotiate authentication without specifying a username " -"in the URL, as libcurl normally requires a username for authentication." +"Update the registered submodules to match what the superproject expects by " +"cloning missing submodules and updating the working tree of the " +"submodules. The \"updating\" can be done in several ways depending on " +"command line options and the value of `submodule.<name>.update` " +"configuration variable. The command line option takes precedence over the " +"configuration variable. if neither is given, a checkout is performed. " +"update procedures supported both from the command line as well as setting " +"`submodule.<name>.update`:" msgstr "" #. type: Labeled list -#: en/config.txt:1822 +#: en/git-submodule.txt:172 #, no-wrap -msgid "http.delegation" +msgid "checkout" msgstr "" #. type: Plain text -#: en/config.txt:1827 -msgid "" -"Control GSSAPI credential delegation. The delegation is disabled by default " -"in libcurl since version 7.21.7. Set parameter to tell the server what it is " -"allowed to delegate when it comes to user credentials. Used with " -"GSS/kerberos. Possible values are:" +#: en/git-submodule.txt:173 +msgid "the commit recorded in the superproject will be" msgstr "" #. type: Plain text -#: en/config.txt:1830 -msgid "`none` - Don't allow any delegation." +#: en/git-submodule.txt:174 +#, no-wrap +msgid "checked out in the submodule on a detached HEAD.\n" msgstr "" #. type: Plain text -#: en/config.txt:1832 +#: en/git-submodule.txt:179 msgid "" -"`policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the " -"Kerberos service ticket, which is a matter of realm policy." -msgstr "" - -#. type: Plain text -#: en/config.txt:1833 -msgid "`always` - Unconditionally allow the server to delegate." +"If `--force` is specified, the submodule will be checked out (using `git " +"checkout --force` if appropriate), even if the commit specified in the index " +"of the containing repository already matches the commit checked out in the " +"submodule." msgstr "" #. type: Labeled list -#: en/config.txt:1836 +#: en/git-submodule.txt:180 #, no-wrap -msgid "http.extraHeader" +msgid "rebase" msgstr "" #. type: Plain text -#: en/config.txt:1841 -msgid "" -"Pass an additional HTTP header when communicating with a server. If more " -"than one such entry exists, all of them are added as extra headers. To " -"allow overriding the settings inherited from the system config, an empty " -"value will reset the extra headers to the empty list." +#: en/git-submodule.txt:181 +msgid "the current branch of the submodule will be rebased" msgstr "" -#. type: Labeled list -#: en/config.txt:1842 +#. type: Plain text +#: en/git-submodule.txt:182 #, no-wrap -msgid "http.cookieFile" +msgid "onto the commit recorded in the superproject.\n" msgstr "" #. type: Plain text -#: en/config.txt:1850 -msgid "" -"The pathname of a file containing previously stored cookie lines, which " -"should be used in the Git http session, if they match the server. The file " -"format of the file to read cookies from should be plain HTTP headers or the " -"Netscape/Mozilla cookie file format (see `curl(1)`). NOTE that the file " -"specified with http.cookieFile is used only as input unless http.saveCookies " -"is set." +#: en/git-submodule.txt:184 +msgid "the commit recorded in the superproject will be merged" msgstr "" -#. type: Labeled list -#: en/config.txt:1851 +#. type: Plain text +#: en/git-submodule.txt:185 #, no-wrap -msgid "http.saveCookies" +msgid "into the current branch in the submodule.\n" msgstr "" #. type: Plain text -#: en/config.txt:1854 +#: en/git-submodule.txt:188 msgid "" -"If set, store cookies received during requests to the file specified by " -"http.cookieFile. Has no effect if http.cookieFile is unset." +"The following procedures are only available via the " +"`submodule.<name>.update` configuration variable:" msgstr "" #. type: Labeled list -#: en/config.txt:1855 +#: en/git-submodule.txt:189 #, no-wrap -msgid "http.sslVersion" +msgid "custom command" msgstr "" #. type: Plain text -#: en/config.txt:1864 -msgid "" -"The SSL version to use when negotiating an SSL connection, if you want to " -"force the default. The available and default version depend on whether " -"libcurl was built against NSS or OpenSSL and the particular configuration of " -"the crypto library in use. Internally this sets the 'CURLOPT_SSL_VERSION' " -"option; see the libcurl documentation for more details on the format of this " -"option and for the ssl version supported. Actually the possible values of " -"this option are:" +#: en/git-submodule.txt:190 +msgid "arbitrary shell command that takes a single" msgstr "" #. type: Plain text -#: en/config.txt:1866 -msgid "sslv2" +#: en/git-submodule.txt:194 +#, no-wrap +msgid "" +"argument (the sha1 of the commit recorded in the\n" +"superproject) is executed. When `submodule.<name>.update`\n" +"is set to '!command', the remainder after the exclamation mark\n" +"is the custom command.\n" msgstr "" #. type: Plain text -#: en/config.txt:1867 -msgid "sslv3" +#: en/git-submodule.txt:196 +msgid "the submodule is not updated." msgstr "" #. type: Plain text -#: en/config.txt:1868 -msgid "tlsv1" +#: en/git-submodule.txt:200 +msgid "" +"If the submodule is not yet initialized, and you just want to use the " +"setting as stored in .gitmodules, you can automatically initialize the " +"submodule with the `--init` option." msgstr "" #. type: Plain text -#: en/config.txt:1869 -msgid "tlsv1.0" +#: en/git-submodule.txt:203 +msgid "" +"If `--recursive` is specified, this command will recurse into the registered " +"submodules, and update any nested submodules within." msgstr "" -#. type: Plain text -#: en/config.txt:1870 -msgid "tlsv1.1" +#. type: Labeled list +#: en/git-submodule.txt:204 +#, no-wrap +msgid "" +"summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] " +"[<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1871 -msgid "tlsv1.2" +#: en/git-submodule.txt:213 +msgid "" +"Show commit summary between the given commit (defaults to HEAD) and working " +"tree/index. For a submodule in question, a series of commits in the " +"submodule between the given super project commit and the index or working " +"tree (switched by `--cached`) are shown. If the option `--files` is given, " +"show the series of commits in the submodule between the index of the super " +"project and the working tree of the submodule (this option doesn't allow to " +"use the `--cached` option or to provide an explicit commit)." msgstr "" #. type: Plain text -#: en/config.txt:1877 +#: en/git-submodule.txt:216 msgid "" -"Can be overridden by the `GIT_SSL_VERSION` environment variable. To force " -"git to use libcurl's default ssl version and ignore any explicit " -"http.sslversion option, set `GIT_SSL_VERSION` to the empty string." +"Using the `--submodule=log` option with linkgit:git-diff[1] will provide " +"that information too." msgstr "" #. type: Labeled list -#: en/config.txt:1878 +#: en/git-submodule.txt:217 #, no-wrap -msgid "http.sslCipherList" +msgid "foreach [--recursive] <command>" msgstr "" #. type: Plain text -#: en/config.txt:1885 +#: en/git-submodule.txt:233 msgid "" -"A list of SSL ciphers to use when negotiating an SSL connection. The " -"available ciphers depend on whether libcurl was built against NSS or OpenSSL " -"and the particular configuration of the crypto library in use. Internally " -"this sets the 'CURLOPT_SSL_CIPHER_LIST' option; see the libcurl " -"documentation for more details on the format of this list." +"Evaluates an arbitrary shell command in each checked out submodule. The " +"command has access to the variables $name, $path, $sha1 and $toplevel: $name " +"is the name of the relevant submodule section in .gitmodules, $path is the " +"name of the submodule directory relative to the superproject, $sha1 is the " +"commit as recorded in the superproject, and $toplevel is the absolute path " +"to the top-level of the superproject. Any submodules defined in the " +"superproject but not checked out are ignored by this command. Unless given " +"`--quiet`, foreach prints the name of each submodule before evaluating the " +"command. If `--recursive` is given, submodules are traversed recursively " +"(i.e. the given shell command is evaluated in nested submodules as well). " +"A non-zero return from the command in any submodule causes the processing to " +"terminate. This can be overridden by adding '|| :' to the end of the " +"command." msgstr "" #. type: Plain text -#: en/config.txt:1890 +#: en/git-submodule.txt:236 msgid "" -"Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable. To " -"force git to use libcurl's default cipher list and ignore any explicit " -"http.sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the empty string." +"As an example, the command below will show the path and currently checked " +"out commit for each submodule:" +msgstr "" + +#. type: delimited block - +#: en/git-submodule.txt:239 +#, no-wrap +msgid "git submodule foreach 'echo $path `git rev-parse HEAD`'\n" msgstr "" #. type: Labeled list -#: en/config.txt:1891 +#: en/git-submodule.txt:241 #, no-wrap -msgid "http.sslVerify" +msgid "sync [--recursive] [--] [<path>...]" msgstr "" #. type: Plain text -#: en/config.txt:1895 +#: en/git-submodule.txt:248 msgid "" -"Whether to verify the SSL certificate when fetching or pushing over " -"HTTPS. Can be overridden by the `GIT_SSL_NO_VERIFY` environment variable." +"Synchronizes submodules' remote URL configuration setting to the value " +"specified in .gitmodules. It will only affect those submodules which already " +"have a URL entry in .git/config (that is the case when they are initialized " +"or freshly added). This is useful when submodule URLs change upstream and " +"you need to update your local repositories accordingly." msgstr "" -#. type: Labeled list -#: en/config.txt:1896 -#, no-wrap -msgid "http.sslCert" +#. type: Plain text +#: en/git-submodule.txt:251 +msgid "" +"\"git submodule sync\" synchronizes all submodules while \"git submodule " +"sync \\-- A\" synchronizes submodule \"A\" only." msgstr "" #. type: Plain text -#: en/config.txt:1900 +#: en/git-submodule.txt:254 msgid "" -"File containing the SSL certificate when fetching or pushing over HTTPS. Can " -"be overridden by the `GIT_SSL_CERT` environment variable." +"If `--recursive` is specified, this command will recurse into the registered " +"submodules, and sync any nested submodules within." msgstr "" #. type: Labeled list -#: en/config.txt:1901 +#: en/git-submodule.txt:255 #, no-wrap -msgid "http.sslKey" +msgid "absorbgitdirs" msgstr "" #. type: Plain text -#: en/config.txt:1905 +#: en/git-submodule.txt:262 msgid "" -"File containing the SSL private key when fetching or pushing over HTTPS. Can " -"be overridden by the `GIT_SSL_KEY` environment variable." +"If a git directory of a submodule is inside the submodule, move the git " +"directory of the submodule into its superprojects `$GIT_DIR/modules` path " +"and then connect the git directory and its working directory by setting the " +"`core.worktree` and adding a .git file pointing to the git directory " +"embedded in the superprojects git directory." msgstr "" -#. type: Labeled list -#: en/config.txt:1906 -#, no-wrap -msgid "http.sslCertPasswordProtected" +#. type: Plain text +#: en/git-submodule.txt:266 +msgid "" +"A repository that was cloned independently and later added as a submodule or " +"old setups have the submodules git directory inside the submodule instead of " +"embedded into the superprojects git directory." msgstr "" #. type: Plain text -#: en/config.txt:1911 -msgid "" -"Enable Git's password prompt for the SSL certificate. Otherwise OpenSSL " -"will prompt the user, possibly many times, if the certificate or private key " -"is encrypted. Can be overridden by the `GIT_SSL_CERT_PASSWORD_PROTECTED` " -"environment variable." +#: en/git-submodule.txt:268 +msgid "This command is recursive by default." msgstr "" -#. type: Labeled list -#: en/config.txt:1912 -#, no-wrap -msgid "http.sslCAInfo" +#. type: Plain text +#: en/git-submodule.txt:274 +msgid "Only print error messages." msgstr "" #. type: Plain text -#: en/config.txt:1916 +#: en/git-submodule.txt:278 msgid "" -"File containing the certificates to verify the peer with when fetching or " -"pushing over HTTPS. Can be overridden by the `GIT_SSL_CAINFO` environment " -"variable." +"This option is only valid for the deinit command. Unregister all submodules " +"in the working tree." msgstr "" -#. type: Labeled list -#: en/config.txt:1917 -#, no-wrap -msgid "http.sslCAPath" +#. type: Plain text +#: en/git-submodule.txt:286 +msgid "" +"Branch of repository to add as submodule. The name of the branch is " +"recorded as `submodule.<name>.branch` in `.gitmodules` for `update " +"--remote`. A special value of `.` is used to indicate that the name of the " +"branch in the submodule should be the same name as the current branch in the " +"current repository." msgstr "" #. type: Plain text -#: en/config.txt:1921 +#: en/git-submodule.txt:299 msgid "" -"Path containing files with the CA certificates to verify the peer with when " -"fetching or pushing over HTTPS. Can be overridden by the `GIT_SSL_CAPATH` " -"environment variable." +"This option is only valid for add, deinit and update commands. When running " +"add, allow adding an otherwise ignored submodule path. When running deinit " +"the submodule working trees will be removed even if they contain local " +"changes. When running update (only effective with the checkout procedure), " +"throw away local changes in submodules when switching to a different commit; " +"and always run a checkout operation in the submodule, even if the commit " +"listed in the index of the containing repository matches the commit checked " +"out in the submodule." +msgstr "" + +#. type: Plain text +#: en/git-submodule.txt:304 +msgid "" +"This option is only valid for status and summary commands. These commands " +"typically use the commit found in the submodule HEAD, but with this option, " +"the commit stored in the index is used instead." msgstr "" #. type: Labeled list -#: en/config.txt:1922 +#: en/git-submodule.txt:305 #, no-wrap -msgid "http.pinnedpubkey" +msgid "--files" msgstr "" #. type: Plain text -#: en/config.txt:1929 +#: en/git-submodule.txt:309 msgid "" -"Public key of the https service. It may either be the filename of a PEM or " -"DER encoded public key file or a string starting with 'sha256//' followed by " -"the base64 encoded sha256 hash of the public key. See also libcurl " -"'CURLOPT_PINNEDPUBLICKEY'. git will exit with an error if this option is set " -"but not supported by cURL." +"This option is only valid for the summary command. This command compares the " +"commit in the index with that in the submodule HEAD when this option is " +"used." msgstr "" #. type: Labeled list -#: en/config.txt:1930 +#: en/git-submodule.txt:311 #, no-wrap -msgid "http.sslTry" +msgid "--summary-limit" msgstr "" #. type: Plain text -#: en/config.txt:1937 +#: en/git-submodule.txt:317 msgid "" -"Attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via " -"regular FTP protocol. This might be needed if the FTP server requires it for " -"security reasons or you wish to connect securely whenever remote FTP server " -"supports it. Default is false since it might trigger certificate " -"verification errors on misconfigured servers." +"This option is only valid for the summary command. Limit the summary size " +"(number of commits shown in total). Giving 0 will disable the summary; a " +"negative number means unlimited (the default). This limit only applies to " +"modified submodules. The size is always limited to 1 for " +"added/deleted/typechanged submodules." msgstr "" #. type: Labeled list -#: en/config.txt:1938 +#: en/git-submodule.txt:318 #, no-wrap -msgid "http.maxRequests" +msgid "--remote" msgstr "" #. type: Plain text -#: en/config.txt:1941 +#: en/git-submodule.txt:327 msgid "" -"How many HTTP requests to launch in parallel. Can be overridden by the " -"`GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5." +"This option is only valid for the update command. Instead of using the " +"superproject's recorded SHA-1 to update the submodule, use the status of the " +"submodule's remote-tracking branch. The remote used is branch's remote " +"(`branch.<name>.remote`), defaulting to `origin`. The remote branch used " +"defaults to `master`, but the branch name may be overridden by setting the " +"`submodule.<name>.branch` option in either `.gitmodules` or `.git/config` " +"(with `.git/config` taking precedence)." msgstr "" -#. type: Labeled list -#: en/config.txt:1942 -#, no-wrap -msgid "http.minSessions" +#. type: Plain text +#: en/git-submodule.txt:333 +msgid "" +"This works for any of the supported update procedures (`--checkout`, " +"`--rebase`, etc.). The only change is the source of the target SHA-1. For " +"example, `submodule update --remote --merge` will merge upstream submodule " +"changes into the submodules, while `submodule update --merge` will merge " +"superproject gitlink changes into the submodules." msgstr "" #. type: Plain text -#: en/config.txt:1947 +#: en/git-submodule.txt:338 msgid "" -"The number of curl sessions (counted across slots) to be kept across " -"requests. They will not be ended with curl_easy_cleanup() until " -"http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this value will " -"be capped at 1. Defaults to 1." +"In order to ensure a current tracking branch state, `update --remote` " +"fetches the submodule's remote repository before calculating the SHA-1. If " +"you don't want to fetch, you should use `submodule update --remote " +"--no-fetch`." +msgstr "" + +#. type: Plain text +#: en/git-submodule.txt:348 +msgid "" +"Use this option to integrate changes from the upstream subproject with your " +"submodule's current HEAD. Alternatively, you can run `git pull` from the " +"submodule, which is equivalent except for the remote branch name: `update " +"--remote` uses the default upstream repository and " +"`submodule.<name>.branch`, while `git pull` uses the submodule's " +"`branch.<name>.merge`. Prefer `submodule.<name>.branch` if you want to " +"distribute the default upstream branch with the superproject and " +"`branch.<name>.merge` if you want a more native feel while working in the " +"submodule itself." msgstr "" #. type: Labeled list -#: en/config.txt:1948 +#: en/git-submodule.txt:350 #, no-wrap -msgid "http.postBuffer" +msgid "--no-fetch" msgstr "" #. type: Plain text -#: en/config.txt:1955 +#: en/git-submodule.txt:353 msgid "" -"Maximum size in bytes of the buffer used by smart HTTP transports when " -"POSTing data to the remote system. For requests larger than this buffer " -"size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a " -"massive pack file locally. Default is 1 MiB, which is sufficient for most " -"requests." +"This option is only valid for the update command. Don't fetch new objects " +"from the remote site." msgstr "" #. type: Labeled list -#: en/config.txt:1956 +#: en/git-submodule.txt:354 #, no-wrap -msgid "http.lowSpeedLimit, http.lowSpeedTime" +msgid "--checkout" msgstr "" #. type: Plain text -#: en/config.txt:1961 +#: en/git-submodule.txt:362 msgid "" -"If the HTTP transfer speed is less than 'http.lowSpeedLimit' for longer than " -"'http.lowSpeedTime' seconds, the transfer is aborted. Can be overridden by " -"the `GIT_HTTP_LOW_SPEED_LIMIT` and `GIT_HTTP_LOW_SPEED_TIME` environment " -"variables." +"This option is only valid for the update command. Checkout the commit " +"recorded in the superproject on a detached HEAD in the submodule. This is " +"the default behavior, the main use of this option is to override " +"`submodule.$name.update` when set to a value other than `checkout`. If the " +"key `submodule.$name.update` is either not explicitly set or set to " +"`checkout`, this option is implicit." +msgstr "" + +#. type: Plain text +#: en/git-submodule.txt:372 +msgid "" +"This option is only valid for the update command. Merge the commit recorded " +"in the superproject into the current branch of the submodule. If this option " +"is given, the submodule's HEAD will not be detached. If a merge failure " +"prevents this process, you will have to resolve the resulting conflicts " +"within the submodule with the usual conflict resolution tools. If the key " +"`submodule.$name.update` is set to `merge`, this option is implicit." msgstr "" #. type: Labeled list -#: en/config.txt:1962 +#: en/git-submodule.txt:373 #, no-wrap -msgid "http.noEPSV" +msgid "--rebase" msgstr "" #. type: Plain text -#: en/config.txt:1967 +#: en/git-submodule.txt:381 msgid "" -"A boolean which disables using of EPSV ftp command by curl. This can " -"helpful with some \"poor\" ftp servers which don't support EPSV mode. Can be " -"overridden by the `GIT_CURL_FTP_NO_EPSV` environment variable. Default is " -"false (curl will use EPSV)." +"This option is only valid for the update command. Rebase the current branch " +"onto the commit recorded in the superproject. If this option is given, the " +"submodule's HEAD will not be detached. If a merge failure prevents this " +"process, you will have to resolve these failures with " +"linkgit:git-rebase[1]. If the key `submodule.$name.update` is set to " +"`rebase`, this option is implicit." msgstr "" #. type: Labeled list -#: en/config.txt:1968 +#: en/git-submodule.txt:382 #, no-wrap -msgid "http.userAgent" +msgid "--init" msgstr "" #. type: Plain text -#: en/config.txt:1976 +#: en/git-submodule.txt:386 msgid "" -"The HTTP USER_AGENT string presented to an HTTP server. The default value " -"represents the version of the client Git such as git/1.7.1. This option " -"allows you to override this value to a more common value such as " -"Mozilla/4.0. This may be necessary, for instance, if connecting through a " -"firewall that restricts HTTP connections to a set of common USER_AGENT " -"strings (but not including those like git/1.7.1). Can be overridden by the " -"`GIT_HTTP_USER_AGENT` environment variable." +"This option is only valid for the update command. Initialize all submodules " +"for which \"git submodule init\" has not been called so far before updating." msgstr "" #. type: Labeled list -#: en/config.txt:1977 +#: en/git-submodule.txt:387 #, no-wrap -msgid "http.followRedirects" +msgid "--name" msgstr "" #. type: Plain text -#: en/config.txt:1986 +#: en/git-submodule.txt:391 msgid "" -"Whether git should follow HTTP redirects. If set to `true`, git will " -"transparently follow any redirect issued by a server it encounters. If set " -"to `false`, git will treat all redirects as errors. If set to `initial`, git " -"will follow redirects only for the initial request to a remote, but not for " -"subsequent follow-up HTTP requests. Since git uses the redirected URL as the " -"base for the follow-up requests, this is generally sufficient. The default " -"is `initial`." +"This option is only valid for the add command. It sets the submodule's name " +"to the given string instead of defaulting to its path. The name must be " +"valid as a directory name and may not end with a '/'." msgstr "" #. type: Labeled list -#: en/config.txt:1987 +#: en/git-submodule.txt:392 #, no-wrap -msgid "http.<url>.*" +msgid "--reference <repository>" msgstr "" #. type: Plain text -#: en/config.txt:1991 +#: en/git-submodule.txt:396 msgid "" -"Any of the http.* options above can be applied selectively to some URLs. " -"For a config key to match a URL, each element of the config key is compared " -"to that of the URL, in the following order:" +"This option is only valid for add and update commands. These commands " +"sometimes need to clone a remote repository. In this case, this option will " +"be passed to the linkgit:git-clone[1] command." msgstr "" #. type: Plain text -#: en/config.txt:1995 +#: en/git-submodule.txt:399 +#, no-wrap msgid "" -"Scheme (e.g., `https` in `https://example.com/`). This field must match " -"exactly between the config key and the URL." +"*NOTE*: Do *not* use this option unless you have read the note\n" +"for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.\n" msgstr "" #. type: Plain text -#: en/config.txt:2001 +#: en/git-submodule.txt:405 msgid "" -"Host/domain name (e.g., `example.com` in `https://example.com/`). This " -"field must match between the config key and the URL. It is possible to " -"specify a `*` as part of the host name to match all subdomains at this " -"level. `https://*.example.com/` for example would match " -"`https://foo.example.com/`, but not `https://foo.bar.example.com/`." +"This option is only valid for foreach, update, status and sync commands. " +"Traverse submodules recursively. The operation is performed not only in the " +"submodules of the current repo, but also in any nested submodules inside " +"those submodules (and so on)." +msgstr "" + +#. type: Labeled list +#: en/git-submodule.txt:406 +#, no-wrap +msgid "--depth" msgstr "" #. type: Plain text -#: en/config.txt:2006 +#: en/git-submodule.txt:410 msgid "" -"Port number (e.g., `8080` in `http://example.com:8080/`). This field must " -"match exactly between the config key and the URL. Omitted port numbers are " -"automatically converted to the correct default for the scheme before " -"matching." +"This option is valid for add and update commands. Create a 'shallow' clone " +"with a history truncated to the specified number of revisions. See " +"linkgit:git-clone[1]" +msgstr "" + +#. type: Labeled list +#: en/git-submodule.txt:411 +#, no-wrap +msgid "--[no-]recommend-shallow" msgstr "" #. type: Plain text -#: en/config.txt:2014 +#: en/git-submodule.txt:416 msgid "" -"Path (e.g., `repo.git` in `https://example.com/repo.git`). The path field of " -"the config key must match the path field of the URL either exactly or as a " -"prefix of slash-delimited path elements. This means a config key with path " -"`foo/` matches URL path `foo/bar`. A prefix can only match on a slash (`/`) " -"boundary. Longer matches take precedence (so a config key with path " -"`foo/bar` is a better match to URL path `foo/bar` than a config key with " -"just path `foo/`)." +"This option is only valid for the update command. The initial clone of a " +"submodule will use the recommended `submodule.<name>.shallow` as provided by " +"the .gitmodules file by default. To ignore the suggestions use " +"`--no-recommend-shallow`." msgstr "" #. type: Plain text -#: en/config.txt:2020 +#: en/git-submodule.txt:422 msgid "" -"User name (e.g., `user` in `https://user@example.com/repo.git`). If the " -"config key has a user name it must match the user name in the URL " -"exactly. If the config key does not have a user name, that config key will " -"match a URL with any user name (including none), but at a lower precedence " -"than a config key with a user name." +"This option is only valid for the update command. Clone new submodules in " +"parallel with as many jobs. Defaults to the `submodule.fetchJobs` option." msgstr "" #. type: Plain text -#: en/config.txt:2027 +#: en/git-submodule.txt:427 msgid "" -"The list above is ordered by decreasing precedence; a URL that matches a " -"config key's path is preferred to one that matches its user name. For " -"example, if the URL is `https://user@example.com/foo/bar` a config key match " -"of `https://example.com/foo` will be preferred over a config key match of " -"`https://user@example.com`." +"Paths to submodule(s). When specified this will restrict the command to only " +"operate on the submodules found at the specified paths. (This argument is " +"required with add)." msgstr "" #. type: Plain text -#: en/config.txt:2034 +#: en/git-submodule.txt:435 msgid "" -"All URLs are normalized before attempting any matching (the password part, " -"if embedded in the URL, is always ignored for matching purposes) so that " -"equivalent URLs that are simply spelled differently will match properly. " -"Environment variable settings always override any matches. The URLs that " -"are matched against are those given directly to Git commands. This means " -"any URLs visited as a result of a redirection do not participate in " -"matching." +"When initializing submodules, a .gitmodules file in the top-level directory " +"of the containing repository is used to find the url of each submodule. " +"This file should be formatted in the same way as `$GIT_DIR/config`. The key " +"to each submodule url is \"submodule.$name.url\". See linkgit:gitmodules[5] " +"for details." msgstr "" -#. type: Labeled list -#: en/config.txt:2035 +#. type: Title = +#: en/git-svn.txt:2 #, no-wrap -msgid "ssh.variant" +msgid "git-svn(1)" msgstr "" #. type: Plain text -#: en/config.txt:2040 -msgid "" -"Depending on the value of the environment variables `GIT_SSH` or " -"`GIT_SSH_COMMAND`, or the config setting `core.sshCommand`, Git auto-detects " -"whether to adjust its command-line parameters for use with plink or " -"tortoiseplink, as opposed to the default (OpenSSH)." +#: en/git-svn.txt:7 +msgid "git-svn - Bidirectional operation between a Subversion repository and Git" msgstr "" #. type: Plain text -#: en/config.txt:2045 -msgid "" -"The config variable `ssh.variant` can be set to override this " -"auto-detection; valid values are `ssh`, `plink`, `putty` or " -"`tortoiseplink`. Any other value will be treated as normal ssh. This setting " -"can be overridden via the environment variable `GIT_SSH_VARIANT`." +#: en/git-svn.txt:12 +#, no-wrap +msgid "'git svn' <command> [options] [arguments]\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2046 -#, no-wrap -msgid "i18n.commitEncoding" +#. type: Plain text +#: en/git-svn.txt:18 +msgid "" +"'git svn' is a simple conduit for changesets between Subversion and Git. It " +"provides a bidirectional flow of changes between a Subversion and a Git " +"repository." msgstr "" #. type: Plain text -#: en/config.txt:2052 +#: en/git-svn.txt:23 msgid "" -"Character encoding the commit messages are stored in; Git itself does not " -"care per se, but this information is necessary e.g. when importing commits " -"from emails or in the gitk graphical history browser (and possibly at other " -"places in the future or in other porcelains). See " -"e.g. linkgit:git-mailinfo[1]. Defaults to 'utf-8'." +"'git svn' can track a standard Subversion repository, following the common " +"\"trunk/branches/tags\" layout, with the --stdlayout option. It can also " +"follow branches and tags in any layout with the -T/-t/-b options (see " +"options to 'init' below, and also the 'clone' command)." msgstr "" #. type: Plain text -#: en/config.txt:2056 +#: en/git-svn.txt:27 msgid "" -"Character encoding the commit messages are converted to when running 'git " -"log' and friends." +"Once tracking a Subversion repository (with any of the above methods), the " +"Git repository can be updated from Subversion by the 'fetch' command and " +"Subversion updated from Git by the 'dcommit' command." msgstr "" #. type: Labeled list -#: en/config.txt:2057 +#: en/git-svn.txt:31 #, no-wrap -msgid "imap" +msgid "'init'" msgstr "" #. type: Plain text -#: en/config.txt:2060 +#: en/git-svn.txt:39 msgid "" -"The configuration variables in the 'imap' section are described in " -"linkgit:git-imap-send[1]." +"Initializes an empty Git repository with additional metadata directories for " +"'git svn'. The Subversion URL may be specified as a command-line argument, " +"or as full URL arguments to -T/-t/-b. Optionally, the target directory to " +"operate on can be specified as a second argument. Normally this command " +"initializes the current directory." msgstr "" #. type: Labeled list -#: en/config.txt:2061 +#: en/git-svn.txt:40 #, no-wrap -msgid "index.version" +msgid "-T<trunk_subdir>" msgstr "" -#. type: Plain text -#: en/config.txt:2064 -msgid "" -"Specify the version with which new index files should be initialized. This " -"does not affect existing repositories." +#. type: Labeled list +#: en/git-svn.txt:41 +#, no-wrap +msgid "--trunk=<trunk_subdir>" msgstr "" #. type: Labeled list -#: en/config.txt:2065 +#: en/git-svn.txt:42 #, no-wrap -msgid "init.templateDir" +msgid "-t<tags_subdir>" msgstr "" -#. type: Plain text -#: en/config.txt:2068 -msgid "" -"Specify the directory from which templates will be copied. (See the " -"\"TEMPLATE DIRECTORY\" section of linkgit:git-init[1].)" +#. type: Labeled list +#: en/git-svn.txt:43 +#, no-wrap +msgid "--tags=<tags_subdir>" msgstr "" #. type: Labeled list -#: en/config.txt:2069 +#: en/git-svn.txt:44 #, no-wrap -msgid "instaweb.browser" +msgid "-b<branches_subdir>" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:45 +#, no-wrap +msgid "--branches=<branches_subdir>" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:47 +#, no-wrap +msgid "--stdlayout" msgstr "" #. type: Plain text -#: en/config.txt:2072 +#: en/git-svn.txt:58 msgid "" -"Specify the program that will be used to browse your working repository in " -"gitweb. See linkgit:git-instaweb[1]." +"These are optional command-line options for init. Each of these flags can " +"point to a relative repository path (--tags=project/tags) or a full url " +"(--tags=https://foo.org/project/tags). You can specify more than one --tags " +"and/or --branches options, in case your Subversion repository places tags or " +"branches under multiple paths. The option --stdlayout is a shorthand way of " +"setting trunk,tags,branches as the relative paths, which is the Subversion " +"default. If any of the other options are given as well, they take " +"precedence." msgstr "" #. type: Labeled list -#: en/config.txt:2073 +#: en/git-svn.txt:58 #, no-wrap -msgid "instaweb.httpd" +msgid "--no-metadata" msgstr "" #. type: Plain text -#: en/config.txt:2076 +#: en/git-svn.txt:62 msgid "" -"The HTTP daemon command-line to start gitweb on your working repository. See " -"linkgit:git-instaweb[1]." +"Set the 'noMetadata' option in the [svn-remote] config. This option is not " +"recommended, please read the 'svn.noMetadata' section of this manpage before " +"using this option." msgstr "" #. type: Labeled list -#: en/config.txt:2077 +#: en/git-svn.txt:62 #, no-wrap -msgid "instaweb.local" +msgid "--use-svm-props" msgstr "" #. type: Plain text -#: en/config.txt:2080 -msgid "" -"If true the web server started by linkgit:git-instaweb[1] will be bound to " -"the local IP (127.0.0.1)." +#: en/git-svn.txt:64 +msgid "Set the 'useSvmProps' option in the [svn-remote] config." msgstr "" #. type: Labeled list -#: en/config.txt:2081 +#: en/git-svn.txt:64 #, no-wrap -msgid "instaweb.modulePath" +msgid "--use-svnsync-props" msgstr "" #. type: Plain text -#: en/config.txt:2085 -msgid "" -"The default module path for linkgit:git-instaweb[1] to use instead of " -"/usr/lib/apache2/modules. Only used if httpd is Apache." +#: en/git-svn.txt:66 +msgid "Set the 'useSvnsyncProps' option in the [svn-remote] config." msgstr "" #. type: Labeled list -#: en/config.txt:2086 +#: en/git-svn.txt:66 #, no-wrap -msgid "instaweb.port" +msgid "--rewrite-root=<URL>" msgstr "" #. type: Plain text -#: en/config.txt:2089 -msgid "The port number to bind the gitweb httpd to. See linkgit:git-instaweb[1]." +#: en/git-svn.txt:68 +msgid "Set the 'rewriteRoot' option in the [svn-remote] config." msgstr "" #. type: Labeled list -#: en/config.txt:2090 +#: en/git-svn.txt:68 #, no-wrap -msgid "interactive.singleKey" +msgid "--rewrite-uuid=<UUID>" msgstr "" #. type: Plain text -#: en/config.txt:2098 -msgid "" -"In interactive commands, allow the user to provide one-letter input with a " -"single key (i.e., without hitting enter). Currently this is used by the " -"`--patch` mode of linkgit:git-add[1], linkgit:git-checkout[1], " -"linkgit:git-commit[1], linkgit:git-reset[1], and linkgit:git-stash[1]. Note " -"that this setting is silently ignored if portable keystroke input is not " -"available; requires the Perl module Term::ReadKey." +#: en/git-svn.txt:70 +msgid "Set the 'rewriteUUID' option in the [svn-remote] config." msgstr "" #. type: Labeled list -#: en/config.txt:2099 +#: en/git-svn.txt:70 #, no-wrap -msgid "interactive.diffFilter" +msgid "--username=<user>" msgstr "" #. type: Plain text -#: en/config.txt:2106 +#: en/git-svn.txt:75 msgid "" -"When an interactive command (such as `git add --patch`) shows a colorized " -"diff, git will pipe the diff through the shell command defined by this " -"configuration variable. The command may mark up the diff further for human " -"consumption, provided that it retains a one-to-one correspondence with the " -"lines in the original diff. Defaults to disabled (no filtering)." +"For transports that SVN handles authentication for (http, https, and plain " +"svn), specify the username. For other transports (e.g. `svn+ssh://`), you " +"must include the username in the URL, " +"e.g. `svn+ssh://foo@svn.bar.com/project`" msgstr "" #. type: Labeled list -#: en/config.txt:2107 +#: en/git-svn.txt:75 #, no-wrap -msgid "log.abbrevCommit" +msgid "--prefix=<prefix>" msgstr "" #. type: Plain text -#: en/config.txt:2111 +#: en/git-svn.txt:90 msgid "" -"If true, makes linkgit:git-log[1], linkgit:git-show[1], and " -"linkgit:git-whatchanged[1] assume `--abbrev-commit`. You may override this " -"option with `--no-abbrev-commit`." +"This allows one to specify a prefix which is prepended to the names of " +"remotes if trunk/branches/tags are specified. The prefix does not " +"automatically include a trailing slash, so be sure you include one in the " +"argument if that is what you want. If --branches/-b is specified, the " +"prefix must include a trailing slash. Setting a prefix (with a trailing " +"slash) is strongly encouraged in any case, as your SVN-tracking refs will " +"then be located at \"refs/remotes/$prefix/*\", which is compatible with " +"Git's own remote-tracking ref layout (refs/remotes/$remote/*). Setting a " +"prefix is also useful if you wish to track multiple projects that share a " +"common repository. By default, the prefix is set to 'origin/'." msgstr "" #. type: Plain text -#: en/config.txt:2116 +#: en/git-svn.txt:97 msgid "" -"Set the default date-time mode for the 'log' command. Setting a value for " -"log.date is similar to using 'git log''s `--date` option. See " -"linkgit:git-log[1] for details." +"Before Git v2.0, the default prefix was \"\" (no prefix). This meant that " +"SVN-tracking refs were put at \"refs/remotes/*\", which is incompatible with " +"how Git's own remote-tracking refs are organized. If you still want the old " +"default, you can get it by passing `--prefix \"\"` on the command line " +"(`--prefix=\"\"` may not work if your Perl's Getopt::Long is < v2.37)." msgstr "" #. type: Labeled list -#: en/config.txt:2117 +#: en/git-svn.txt:98 en/git-svn.txt:141 #, no-wrap -msgid "log.decorate" +msgid "--ignore-paths=<regex>" msgstr "" #. type: Plain text -#: en/config.txt:2126 +#: en/git-svn.txt:102 msgid "" -"Print out the ref names of any commits that are shown by the log command. If " -"'short' is specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and " -"'refs/remotes/' will not be printed. If 'full' is specified, the full ref " -"name (including prefix) will be printed. If 'auto' is specified, then if " -"the output is going to a terminal, the ref names are shown as if 'short' " -"were given, otherwise no ref names are shown. This is the same as the " -"`--decorate` option of the `git log`." +"When passed to 'init' or 'clone' this regular expression will be preserved " +"as a config key. See 'fetch' for a description of `--ignore-paths`." msgstr "" #. type: Labeled list -#: en/config.txt:2133 +#: en/git-svn.txt:102 en/git-svn.txt:170 #, no-wrap -msgid "log.graphColors" -msgstr "" - -#. type: Plain text -#: en/config.txt:2136 -msgid "" -"A list of colors, separated by commas, that can be used to draw history " -"lines in `git log --graph`." +msgid "--include-paths=<regex>" msgstr "" #. type: Plain text -#: en/config.txt:2142 +#: en/git-svn.txt:106 msgid "" -"If true, the initial commit will be shown as a big creation event. This is " -"equivalent to a diff against an empty tree. Tools like linkgit:git-log[1] " -"or linkgit:git-whatchanged[1], which normally hide the root commit will now " -"show it. True by default." +"When passed to 'init' or 'clone' this regular expression will be preserved " +"as a config key. See 'fetch' for a description of `--include-paths`." msgstr "" #. type: Labeled list -#: en/config.txt:2143 +#: en/git-svn.txt:106 #, no-wrap -msgid "log.mailmap" +msgid "--no-minimize-url" msgstr "" #. type: Plain text -#: en/config.txt:2146 +#: en/git-svn.txt:117 msgid "" -"If true, makes linkgit:git-log[1], linkgit:git-show[1], and " -"linkgit:git-whatchanged[1] assume `--use-mailmap`." +"When tracking multiple directories (using --stdlayout, --branches, or --tags " +"options), git svn will attempt to connect to the root (or highest allowed " +"level) of the Subversion repository. This default allows better tracking of " +"history if entire projects are moved within a repository, but may cause " +"issues on repositories where read access restrictions are in place. Passing " +"`--no-minimize-url` will allow git svn to accept URLs as-is without " +"attempting to connect to a higher level directory. This option is off by " +"default when only one URL/branch is tracked (it would do little good)." msgstr "" #. type: Labeled list -#: en/config.txt:2147 +#: en/git-svn.txt:118 #, no-wrap -msgid "mailinfo.scissors" +msgid "'fetch'" msgstr "" #. type: Plain text -#: en/config.txt:2153 +#: en/git-svn.txt:123 msgid "" -"If true, makes linkgit:git-mailinfo[1] (and therefore linkgit:git-am[1]) act " -"by default as if the --scissors option was provided on the " -"command-line. When active, this features removes everything from the message " -"body before a scissors line (i.e. consisting mainly of \">8\", \"8<\" and " -"\"-\")." +"Fetch unfetched revisions from the Subversion remote we are tracking. The " +"name of the [svn-remote \"...\"] section in the $GIT_DIR/config file may be " +"specified as an optional command-line argument." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:126 en/git-svn.txt:227 +msgid "" +"This automatically updates the rev_map if needed (see " +"'$GIT_DIR/svn/\\*\\*/.rev_map.*' in the FILES section below for details)." msgstr "" #. type: Labeled list -#: en/config.txt:2154 +#: en/git-svn.txt:127 #, no-wrap -msgid "mailmap.file" +msgid "--localtime" msgstr "" #. type: Plain text -#: en/config.txt:2161 +#: en/git-svn.txt:131 msgid "" -"The location of an augmenting mailmap file. The default mailmap, located in " -"the root of the repository, is loaded first, then the mailmap file pointed " -"to by this variable. The location of the mailmap file may be in a " -"repository subdirectory, or somewhere outside of the repository itself. See " -"linkgit:git-shortlog[1] and linkgit:git-blame[1]." +"Store Git commit times in the local time zone instead of UTC. This makes " +"'git log' (even without --date=local) show the same times that `svn log` " +"would in the local time zone." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:137 +msgid "" +"This doesn't interfere with interoperating with the Subversion repository " +"you cloned from, but if you wish for your local Git repository to be able to " +"interoperate with someone else's local Git repository, either don't use this " +"option or you should both use it in the same local time zone." msgstr "" #. type: Labeled list -#: en/config.txt:2162 +#: en/git-svn.txt:138 en/git-svn.txt:505 #, no-wrap -msgid "mailmap.blob" +msgid "--parent" msgstr "" #. type: Plain text -#: en/config.txt:2169 -msgid "" -"Like `mailmap.file`, but consider the value as a reference to a blob in the " -"repository. If both `mailmap.file` and `mailmap.blob` are given, both are " -"parsed, with entries from `mailmap.file` taking precedence. In a bare " -"repository, this defaults to `HEAD:.mailmap`. In a non-bare repository, it " -"defaults to empty." +#: en/git-svn.txt:140 +msgid "Fetch only from the SVN parent of the current HEAD." msgstr "" #. type: Plain text -#: en/config.txt:2173 +#: en/git-svn.txt:147 msgid "" -"Specify the programs that may be used to display help in the 'man' " -"format. See linkgit:git-help[1]." +"This allows one to specify a Perl regular expression that will cause " +"skipping of all matching paths from checkout from SVN. The `--ignore-paths` " +"option should match for every 'fetch' (including automatic fetches due to " +"'clone', 'dcommit', 'rebase', etc) on a given repository." msgstr "" #. type: Plain text -#: en/config.txt:2178 -msgid "" -"Specify the command to invoke the specified man viewer. The specified " -"command is evaluated in shell with the man page passed as argument. (See " -"linkgit:git-help[1].)" +#: en/git-svn.txt:150 +#, no-wrap +msgid "config key: svn-remote.<name>.ignore-paths\n" msgstr "" #. type: Plain text -#: en/config.txt:2182 +#: en/git-svn.txt:153 msgid "" -"Override the path for the given tool that may be used to display help in the " -"'man' format. See linkgit:git-help[1]." +"If the ignore-paths configuration key is set, and the command-line option is " +"also given, both regular expressions will be used." msgstr "" #. type: Labeled list -#: en/config.txt:2185 +#: en/git-svn.txt:157 #, no-wrap -msgid "mergetool.<tool>.path" +msgid "Skip \"doc*\" directory for every fetch" msgstr "" -#. type: Labeled list -#: en/config.txt:2189 +#. type: delimited block - +#: en/git-svn.txt:161 #, no-wrap -msgid "mergetool.<tool>.cmd" +msgid "--ignore-paths=\"^doc\"\n" msgstr "" -#. type: Plain text -#: en/config.txt:2199 -msgid "" -"Specify the command to invoke the specified merge tool. The specified " -"command is evaluated in shell with the following variables available: 'BASE' " -"is the name of a temporary file containing the common base of the files to " -"be merged, if available; 'LOCAL' is the name of a temporary file containing " -"the contents of the file on the current branch; 'REMOTE' is the name of a " -"temporary file containing the contents of the file from the branch being " -"merged; 'MERGED' contains the name of the file to which the merge tool " -"should write the results of a successful merge." +#. type: Labeled list +#: en/git-svn.txt:163 +#, no-wrap +msgid "Skip \"branches\" and \"tags\" of first level directories" msgstr "" -#. type: Labeled list -#: en/config.txt:2200 +#. type: delimited block - +#: en/git-svn.txt:167 #, no-wrap -msgid "mergetool.<tool>.trustExitCode" +msgid "--ignore-paths=\"^[^/]+/(?:branches|tags)\"\n" msgstr "" #. type: Plain text -#: en/config.txt:2207 +#: en/git-svn.txt:177 msgid "" -"For a custom merge command, specify whether the exit code of the merge " -"command can be used to determine whether the merge was successful. If this " -"is not set to true then the merge target file timestamp is checked and the " -"merge assumed to have been successful if the file has been updated, " -"otherwise the user is prompted to indicate the success of the merge." +"This allows one to specify a Perl regular expression that will cause the " +"inclusion of only matching paths from checkout from SVN. The " +"`--include-paths` option should match for every 'fetch' (including automatic " +"fetches due to 'clone', 'dcommit', 'rebase', etc) on a given " +"repository. `--ignore-paths` takes precedence over `--include-paths`." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:180 +#, no-wrap +msgid "config key: svn-remote.<name>.include-paths\n" msgstr "" #. type: Labeled list -#: en/config.txt:2208 +#: en/git-svn.txt:181 #, no-wrap -msgid "mergetool.meld.hasOutput" +msgid "--log-window-size=<n>" msgstr "" #. type: Plain text -#: en/config.txt:2216 +#: en/git-svn.txt:187 msgid "" -"Older versions of `meld` do not support the `--output` option. Git will " -"attempt to detect whether `meld` supports `--output` by inspecting the " -"output of `meld --help`. Configuring `mergetool.meld.hasOutput` will make " -"Git skip these checks and use the configured value instead. Setting " -"`mergetool.meld.hasOutput` to `true` tells Git to unconditionally use the " -"`--output` option, and `false` avoids using `--output`." +"Fetch <n> log entries per request when scanning Subversion history. The " +"default is 100. For very large Subversion repositories, larger values may be " +"needed for 'clone'/'fetch' to complete in reasonable time. But overly large " +"values may lead to higher memory usage and request timeouts." msgstr "" #. type: Labeled list -#: en/config.txt:2217 +#: en/git-svn.txt:188 #, no-wrap -msgid "mergetool.keepBackup" +msgid "'clone'" msgstr "" #. type: Plain text -#: en/config.txt:2222 +#: en/git-svn.txt:198 msgid "" -"After performing a merge, the original file with conflict markers can be " -"saved as a file with a `.orig` extension. If this variable is set to " -"`false` then this file is not preserved. Defaults to `true` (i.e. keep the " -"backup files)." +"Runs 'init' and 'fetch'. It will automatically create a directory based on " +"the basename of the URL passed to it; or if a second argument is passed; it " +"will create a directory and work within that. It accepts all arguments that " +"the 'init' and 'fetch' commands accept; with the exception of `--fetch-all` " +"and `--parent`. After a repository is cloned, the 'fetch' command will be " +"able to update revisions without affecting the working tree; and the " +"'rebase' command will be able to update the working tree with the latest " +"changes." msgstr "" #. type: Labeled list -#: en/config.txt:2223 +#: en/git-svn.txt:199 #, no-wrap -msgid "mergetool.keepTemporaries" +msgid "--preserve-empty-dirs" msgstr "" #. type: Plain text -#: en/config.txt:2229 +#: en/git-svn.txt:205 msgid "" -"When invoking a custom merge tool, Git uses a set of temporary files to pass " -"to the tool. If the tool returns an error and this variable is set to " -"`true`, then these temporary files will be preserved, otherwise they will be " -"removed after the tool has exited. Defaults to `false`." +"Create a placeholder file in the local Git repository for each empty " +"directory fetched from Subversion. This includes directories that become " +"empty by removing all entries in the Subversion repository (but not the " +"directory itself). The placeholder files are also tracked and removed when " +"no longer necessary." msgstr "" #. type: Labeled list -#: en/config.txt:2230 +#: en/git-svn.txt:206 #, no-wrap -msgid "mergetool.writeToTemp" +msgid "--placeholder-filename=<filename>" msgstr "" #. type: Plain text -#: en/config.txt:2235 +#: en/git-svn.txt:209 msgid "" -"Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of conflicting " -"files in the worktree by default. Git will attempt to use a temporary " -"directory for these files when set `true`. Defaults to `false`." +"Set the name of placeholder files created by --preserve-empty-dirs. " +"Default: \".gitignore\"" msgstr "" #. type: Labeled list -#: en/config.txt:2236 +#: en/git-svn.txt:210 #, no-wrap -msgid "mergetool.prompt" +msgid "'rebase'" msgstr "" #. type: Plain text -#: en/config.txt:2238 -msgid "Prompt before each invocation of the merge resolution program." +#: en/git-svn.txt:213 +msgid "" +"This fetches revisions from the SVN parent of the current HEAD and rebases " +"the current (uncommitted to SVN) work against it." msgstr "" #. type: Plain text -#: en/config.txt:2244 +#: en/git-svn.txt:217 msgid "" -"Which merge strategy to choose by default when resolving notes conflicts. " -"Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. " -"Defaults to `manual`. See \"NOTES MERGE STRATEGIES\" section of " -"linkgit:git-notes[1] for more information on each strategy." +"This works similarly to `svn update` or 'git pull' except that it preserves " +"linear history with 'git rebase' instead of 'git merge' for ease of " +"dcommitting with 'git svn'." msgstr "" #. type: Plain text -#: en/config.txt:2250 +#: en/git-svn.txt:221 msgid "" -"Which merge strategy to choose when doing a notes merge into " -"refs/notes/<name>. This overrides the more general " -"\"notes.mergeStrategy\". See the \"NOTES MERGE STRATEGIES\" section in " -"linkgit:git-notes[1] for more information on the available strategies." +"This accepts all options that 'git svn fetch' and 'git rebase' accept. " +"However, `--fetch-all` only fetches from the current [svn-remote], and not " +"all [svn-remote] definitions." msgstr "" #. type: Plain text -#: en/config.txt:2259 -msgid "" -"The (fully qualified) refname from which to show notes when showing commit " -"messages. The value of this variable can be set to a glob, in which case " -"notes from all matching refs will be shown. You may also specify this " -"configuration variable several times. A warning will be issued for refs " -"that do not exist, but a glob that does not match any refs is silently " -"ignored." -msgstr "" - -#. type: Plain text -#: en/config.txt:2263 +#: en/git-svn.txt:224 msgid "" -"This setting can be overridden with the `GIT_NOTES_DISPLAY_REF` environment " -"variable, which must be a colon separated list of refs or globs." +"Like 'git rebase'; this requires that the working tree be clean and have no " +"uncommitted changes." msgstr "" #. type: Plain text -#: en/config.txt:2267 +#: en/git-svn.txt:232 msgid "" -"The effective value of \"core.notesRef\" (possibly overridden by " -"GIT_NOTES_REF) is also implicitly added to the list of refs to be displayed." +"Do not fetch remotely; only run 'git rebase' against the last fetched commit " +"from the upstream SVN." msgstr "" -#. type: Plain text -#: en/config.txt:2274 -msgid "" -"When rewriting commits with <command> (currently `amend` or `rebase`) and " -"this variable is set to `true`, Git automatically copies your notes from the " -"original to the rewritten commit. Defaults to `true`, but see " -"\"notes.rewriteRef\" below." +#. type: Labeled list +#: en/git-svn.txt:233 +#, no-wrap +msgid "'dcommit'" msgstr "" #. type: Plain text -#: en/config.txt:2281 +#: en/git-svn.txt:238 msgid "" -"When copying notes during a rewrite (see the \"notes.rewrite.<command>\" " -"option), determines what to do if the target commit already has a note. " -"Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`. " -"Defaults to `concatenate`." +"Commit each diff from the current branch directly to the SVN repository, and " +"then rebase or reset (depending on whether or not there is a diff between " +"SVN and head). This will create a revision in SVN for each commit in Git." msgstr "" #. type: Plain text -#: en/config.txt:2290 +#: en/git-svn.txt:242 msgid "" -"When copying notes during a rewrite, specifies the (fully qualified) ref " -"whose notes should be copied. The ref may be a glob, in which case notes in " -"all matching refs will be copied. You may also specify this configuration " -"several times." +"When an optional Git branch name (or a Git commit object name) is specified " +"as an argument, the subcommand works on the specified branch, not on the " +"current branch." msgstr "" #. type: Plain text -#: en/config.txt:2294 -msgid "" -"Does not have a default value; you must configure this variable to enable " -"note rewriting. Set it to `refs/notes/commits` to enable rewriting for the " -"default commit notes." +#: en/git-svn.txt:244 +msgid "Use of 'dcommit' is preferred to 'set-tree' (below)." msgstr "" #. type: Plain text -#: en/config.txt:2298 -msgid "" -"This setting can be overridden with the `GIT_NOTES_REWRITE_REF` environment " -"variable, which must be a colon separated list of refs or globs." +#: en/git-svn.txt:247 +msgid "After committing, do not rebase or reset." msgstr "" #. type: Labeled list -#: en/config.txt:2299 +#: en/git-svn.txt:247 #, no-wrap -msgid "pack.window" +msgid "--commit-url <URL>" msgstr "" #. type: Plain text -#: en/config.txt:2302 +#: en/git-svn.txt:253 msgid "" -"The size of the window used by linkgit:git-pack-objects[1] when no window " -"size is given on the command line. Defaults to 10." +"Commit to this SVN URL (the full path). This is intended to allow existing " +"'git svn' repositories created with one transport method (e.g. `svn://` or " +"`http://` for anonymous read) to be reused if a user is later given access " +"to an alternate transport method (e.g. `svn+ssh://` or `https://`) for " +"commit." msgstr "" -#. type: Labeled list -#: en/config.txt:2303 +#. type: Plain text +#: en/git-svn.txt:257 #, no-wrap -msgid "pack.depth" +msgid "" +"config key: svn-remote.<name>.commiturl\n" +"config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl " +"options)\n" msgstr "" #. type: Plain text -#: en/config.txt:2306 +#: en/git-svn.txt:261 msgid "" -"The maximum delta depth used by linkgit:git-pack-objects[1] when no maximum " -"depth is given on the command line. Defaults to 50." +"Note that the SVN URL of the commiturl config key includes the SVN branch. " +"If you rather want to set the commit URL for an entire SVN repository use " +"svn-remote.<name>.pushurl instead." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:264 +msgid "" +"Using this option for any other purpose (don't ask) is very strongly " +"discouraged." msgstr "" #. type: Labeled list -#: en/config.txt:2307 +#: en/git-svn.txt:265 #, no-wrap -msgid "pack.windowMemory" +msgid "--mergeinfo=<mergeinfo>" msgstr "" #. type: Plain text -#: en/config.txt:2313 +#: en/git-svn.txt:272 msgid "" -"The maximum size of memory that is consumed by each thread in " -"linkgit:git-pack-objects[1] for pack window memory when no limit is given on " -"the command line. The value can be suffixed with \"k\", \"m\", or \"g\". " -"When left unconfigured (or set explicitly to 0), there will be no limit." +"Add the given merge information during the dcommit " +"(e.g. `--mergeinfo=\"/branches/foo:1-10\"`). All svn server versions can " +"store this information (as a property), and svn clients starting from " +"version 1.5 can make use of it. To specify merge information from multiple " +"branches, use a single space character between the branches " +"(`--mergeinfo=\"/branches/foo:1-10 /branches/bar:3,5-6,8\"`)" msgstr "" -#. type: Labeled list -#: en/config.txt:2314 +#. type: Plain text +#: en/git-svn.txt:275 #, no-wrap -msgid "pack.compression" +msgid "config key: svn.pushmergeinfo\n" msgstr "" #. type: Plain text -#: en/config.txt:2322 +#: en/git-svn.txt:280 msgid "" -"An integer -1..9, indicating the compression level for objects in a pack " -"file. -1 is the zlib default. 0 means no compression, and 1..9 are various " -"speed/size tradeoffs, 9 being slowest. If not set, defaults to " -"core.compression. If that is not set, defaults to -1, the zlib default, " -"which is \"a default compromise between speed and compression (currently " -"equivalent to level 6).\"" +"This option will cause git-svn to attempt to automatically populate the " +"svn:mergeinfo property in the SVN repository when possible. Currently, this " +"can only be done when dcommitting non-fast-forward merges where all parents " +"but the first have already been pushed into SVN." msgstr "" #. type: Plain text -#: en/config.txt:2326 +#: en/git-svn.txt:285 msgid "" -"Note that changing the compression level will not automatically recompress " -"all existing objects. You can force recompression by passing the -F option " -"to linkgit:git-repack[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2327 -#, no-wrap -msgid "pack.deltaCacheSize" +"Ask the user to confirm that a patch set should actually be sent to SVN. " +"For each patch, one may answer \"yes\" (accept this patch), \"no\" (discard " +"this patch), \"all\" (accept all patches), or \"quit\"." msgstr "" #. type: Plain text -#: en/config.txt:2337 +#: en/git-svn.txt:288 msgid "" -"The maximum memory in bytes used for caching deltas in " -"linkgit:git-pack-objects[1] before writing them out to a pack. This cache " -"is used to speed up the writing object phase by not having to recompute the " -"final delta result once the best match for all objects is found. Repacking " -"large repositories on machines which are tight with memory might be badly " -"impacted by this though, especially if this cache pushes the system into " -"swapping. A value of 0 means no limit. The smallest size of 1 byte may be " -"used to virtually disable this cache. Defaults to 256 MiB." +"'git svn dcommit' returns immediately if answer is \"no\" or \"quit\", " +"without committing anything to SVN." msgstr "" #. type: Labeled list -#: en/config.txt:2338 +#: en/git-svn.txt:289 #, no-wrap -msgid "pack.deltaCacheLimit" +msgid "'branch'" msgstr "" #. type: Plain text -#: en/config.txt:2343 -msgid "" -"The maximum size of a delta, that is cached in " -"linkgit:git-pack-objects[1]. This cache is used to speed up the writing " -"object phase by not having to recompute the final delta result once the best " -"match for all objects is found. Defaults to 1000." +#: en/git-svn.txt:291 +msgid "Create a branch in the SVN repository." msgstr "" #. type: Labeled list -#: en/config.txt:2344 +#: en/git-svn.txt:293 #, no-wrap -msgid "pack.threads" +msgid "--message" msgstr "" #. type: Plain text -#: en/config.txt:2353 -msgid "" -"Specifies the number of threads to spawn when searching for best delta " -"matches. This requires that linkgit:git-pack-objects[1] be compiled with " -"pthreads otherwise this option is ignored with a warning. This is meant to " -"reduce packing time on multiprocessor machines. The required amount of " -"memory for the delta search window is however multiplied by the number of " -"threads. Specifying 0 will cause Git to auto-detect the number of CPU's and " -"set the number of threads accordingly." +#: en/git-svn.txt:295 +msgid "Allows to specify the commit message." msgstr "" #. type: Labeled list -#: en/config.txt:2354 +#: en/git-svn.txt:297 #, no-wrap -msgid "pack.indexVersion" +msgid "--tag" msgstr "" #. type: Plain text -#: en/config.txt:2362 +#: en/git-svn.txt:300 msgid "" -"Specify the default pack index version. Valid values are 1 for legacy pack " -"index used by Git versions prior to 1.5.2, and 2 for the new pack index with " -"capabilities for packs larger than 4 GB as well as proper protection against " -"the repacking of corrupted packs. Version 2 is the default. Note that " -"version 2 is enforced and this config option ignored whenever the " -"corresponding pack is larger than 2 GB." +"Create a tag by using the tags_subdir instead of the branches_subdir " +"specified during git svn init." msgstr "" -#. type: Plain text -#: en/config.txt:2370 -msgid "" -"If you have an old Git that does not understand the version 2 `*.idx` file, " -"cloning or fetching over a non native protocol (e.g. \"http\") that will " -"copy both `*.pack` file and corresponding `*.idx` file from the other side " -"may give you a repository that cannot be accessed with your older version of " -"Git. If the `*.pack` file is smaller than 2 GB, however, you can use " -"linkgit:git-index-pack[1] on the *.pack file to regenerate the `*.idx` file." +#. type: Labeled list +#: en/git-svn.txt:301 +#, no-wrap +msgid "-d<path>" msgstr "" #. type: Labeled list -#: en/config.txt:2371 +#: en/git-svn.txt:302 #, no-wrap -msgid "pack.packSizeLimit" +msgid "--destination=<path>" msgstr "" #. type: Plain text -#: en/config.txt:2382 +#: en/git-svn.txt:310 msgid "" -"The maximum size of a pack. This setting only affects packing to a file " -"when repacking, i.e. the git:// protocol is unaffected. It can be " -"overridden by the `--max-pack-size` option of linkgit:git-repack[1]. " -"Reaching this limit results in the creation of multiple packfiles; which in " -"turn prevents bitmaps from being created. The minimum size allowed is " -"limited to 1 MiB. The default is unlimited. Common unit suffixes of 'k', " -"'m', or 'g' are supported." +"If more than one --branches (or --tags) option was given to the 'init' or " +"'clone' command, you must provide the location of the branch (or tag) you " +"wish to create in the SVN repository. <path> specifies which path to use to " +"create the branch or tag and should match the pattern on the left-hand side " +"of one of the configured branches or tags refspecs. You can see these " +"refspecs with the commands" msgstr "" -#. type: Labeled list -#: en/config.txt:2383 -#, no-wrap -msgid "pack.useBitmaps" +#. type: Plain text +#: en/git-svn.txt:313 +msgid "" +"git config --get-all svn-remote.<name>.branches git config --get-all " +"svn-remote.<name>.tags" msgstr "" #. type: Plain text -#: en/config.txt:2388 +#: en/git-svn.txt:316 msgid "" -"When true, git will use pack bitmaps (if available) when packing to stdout " -"(e.g., during the server side of a fetch). Defaults to true. You should not " -"generally need to turn this off unless you are debugging pack bitmaps." +"where <name> is the name of the SVN repository as specified by the -R option " +"to 'init' (or \"svn\" by default)." msgstr "" #. type: Labeled list -#: en/config.txt:2389 +#: en/git-svn.txt:317 #, no-wrap -msgid "pack.writeBitmaps (deprecated)" +msgid "--username" msgstr "" #. type: Plain text -#: en/config.txt:2391 -msgid "This is a deprecated synonym for `repack.writeBitmaps`." +#: en/git-svn.txt:320 +msgid "" +"Specify the SVN username to perform the commit as. This option overrides " +"the 'username' configuration property." msgstr "" #. type: Labeled list -#: en/config.txt:2392 +#: en/git-svn.txt:321 #, no-wrap -msgid "pack.writeBitmapHashCache" +msgid "--commit-url" msgstr "" #. type: Plain text -#: en/config.txt:2402 +#: en/git-svn.txt:326 msgid "" -"When true, git will include a \"hash cache\" section in the bitmap index (if " -"one is written). This cache can be used to feed git's delta heuristics, " -"potentially leading to better deltas between bitmapped and non-bitmapped " -"objects (e.g., when serving a fetch between an older, bitmapped pack and " -"objects that have been pushed since the last gc). The downside is that it " -"consumes 4 bytes per object of disk space, and that JGit's bitmap " -"implementation does not understand it, causing it to complain if Git and " -"JGit are used on the same repository. Defaults to false." +"Use the specified URL to connect to the destination Subversion repository. " +"This is useful in cases where the source SVN repository is read-only. This " +"option overrides configuration property 'commiturl'." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:328 +msgid "git config --get-all svn-remote.<name>.commiturl" msgstr "" #. type: Labeled list -#: en/config.txt:2403 +#: en/git-svn.txt:330 en/rev-list-options.txt:786 #, no-wrap -msgid "pager.<cmd>" +msgid "--parents" msgstr "" #. type: Plain text -#: en/config.txt:2411 +#: en/git-svn.txt:334 msgid "" -"If the value is boolean, turns on or off pagination of the output of a " -"particular Git subcommand when writing to a tty. Otherwise, turns on " -"pagination for the subcommand using the pager specified by the value of " -"`pager.<cmd>`. If `--paginate` or `--no-pager` is specified on the command " -"line, it takes precedence over this option. To disable pagination for all " -"commands, set `core.pager` or `GIT_PAGER` to `cat`." +"Create parent folders. This parameter is equivalent to the parameter " +"--parents on svn cp commands and is useful for non-standard repository " +"layouts." msgstr "" #. type: Labeled list -#: en/config.txt:2412 +#: en/git-svn.txt:335 #, no-wrap -msgid "pretty.<name>" +msgid "'tag'" msgstr "" #. type: Plain text -#: en/config.txt:2421 -msgid "" -"Alias for a --pretty= format string, as specified in linkgit:git-log[1]. Any " -"aliases defined here can be used just as the built-in pretty formats " -"could. For example, running `git config pretty.changelog \"format:* %H %s\"` " -"would cause the invocation `git log --pretty=changelog` to be equivalent to " -"running `git log \"--pretty=format:* %H %s\"`. Note that an alias with the " -"same name as a built-in format will be silently ignored." +#: en/git-svn.txt:338 +msgid "Create a tag in the SVN repository. This is a shorthand for 'branch -t'." msgstr "" #. type: Labeled list -#: en/config.txt:2422 +#: en/git-svn.txt:339 #, no-wrap -msgid "protocol.allow" +msgid "'log'" msgstr "" #. type: Plain text -#: en/config.txt:2429 +#: en/git-svn.txt:342 msgid "" -"If set, provide a user defined default policy for all protocols which don't " -"explicitly have a policy (`protocol.<name>.allow`). By default, if unset, " -"known-safe protocols (http, https, git, ssh, file) have a default policy of " -"`always`, known-dangerous protocols (ext) have a default policy of `never`, " -"and all other protocols have a default policy of `user`. Supported " -"policies:" +"This should make it easy to look up svn log messages when svn users refer to " +"-r/--revision numbers." msgstr "" #. type: Plain text -#: en/config.txt:2433 -msgid "`always` - protocol is always able to be used." +#: en/git-svn.txt:344 +msgid "The following features from `svn log' are supported:" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:346 +#, no-wrap +msgid "-r <n>[:<n>]" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:347 +#, no-wrap +msgid "--revision=<n>[:<n>]" msgstr "" #. type: Plain text -#: en/config.txt:2435 -msgid "`never` - protocol is never able to be used." +#: en/git-svn.txt:350 +msgid "is supported, non-numeric args are not: HEAD, NEXT, BASE, PREV, etc ..." msgstr "" #. type: Plain text -#: en/config.txt:2441 +#: en/git-svn.txt:354 msgid "" -"`user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is " -"either unset or has a value of 1. This policy should be used when you want " -"a protocol to be directly usable by the user but don't want it used by " -"commands which execute clone/fetch/push commands without user input, " -"e.g. recursive submodule initialization." +"it's not completely compatible with the --verbose output in svn log, but " +"reasonably close." msgstr "" #. type: Labeled list -#: en/config.txt:2444 +#: en/git-svn.txt:354 #, no-wrap -msgid "protocol.<name>.allow" +msgid "--limit=<n>" msgstr "" #. type: Plain text -#: en/config.txt:2447 -msgid "" -"Set a policy to be used by protocol `<name>` with clone/fetch/push " -"commands. See `protocol.allow` above for the available policies." +#: en/git-svn.txt:357 +msgid "is NOT the same as --max-count, doesn't count merged/excluded commits" msgstr "" #. type: Plain text -#: en/config.txt:2449 -msgid "The protocol names currently used by git are:" +#: en/git-svn.txt:359 +msgid "supported" msgstr "" #. type: Plain text -#: en/config.txt:2453 -msgid "`file`: any local file-based path (including `file://` URLs, or local paths)" +#: en/git-svn.txt:362 +msgid "New features:" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:364 +#, no-wrap +msgid "--show-commit" msgstr "" #. type: Plain text -#: en/config.txt:2456 -msgid "" -"`git`: the anonymous git protocol over a direct TCP connection (or proxy, if " -"configured)" +#: en/git-svn.txt:366 +msgid "shows the Git commit sha1, as well" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:366 en/pretty-options.txt:31 +#, no-wrap +msgid "--oneline" msgstr "" #. type: Plain text -#: en/config.txt:2459 -msgid "`ssh`: git over ssh (including `host:path` syntax, `ssh://`, etc)." +#: en/git-svn.txt:368 +msgid "our version of --pretty=oneline" msgstr "" #. type: Plain text -#: en/config.txt:2463 +#: en/git-svn.txt:373 msgid "" -"`http`: git over http, both \"smart http\" and \"dumb http\". Note that " -"this does _not_ include `https`; if you want to configure both, you must do " -"so individually." +"SVN itself only stores times in UTC and nothing else. The regular svn client " +"converts the UTC time to the local time (or based on the TZ= " +"environment). This command has the same behaviour." msgstr "" #. type: Plain text -#: en/config.txt:2466 -msgid "" -"any external helpers are named by their protocol (e.g., use `hg` to allow " -"the `git-remote-hg` helper)" +#: en/git-svn.txt:375 +msgid "Any other arguments are passed directly to 'git log'" msgstr "" #. type: Labeled list -#: en/config.txt:2468 +#: en/git-svn.txt:376 #, no-wrap -msgid "pull.ff" +msgid "'blame'" msgstr "" #. type: Plain text -#: en/config.txt:2477 +#: en/git-svn.txt:383 msgid "" -"By default, Git does not create an extra merge commit when merging a commit " -"that is a descendant of the current commit. Instead, the tip of the current " -"branch is fast-forwarded. When set to `false`, this variable tells Git to " -"create an extra merge commit in such a case (equivalent to giving the " -"`--no-ff` option from the command line). When set to `only`, only such " -"fast-forward merges are allowed (equivalent to giving the `--ff-only` option " -"from the command line). This setting overrides `merge.ff` when pulling." +"Show what revision and author last modified each line of a file. The output " +"of this mode is format-compatible with the output of `svn blame' by " +"default. Like the SVN blame command, local uncommitted changes in the " +"working tree are ignored; the version of the file in the HEAD revision is " +"annotated. Unknown arguments are passed directly to 'git blame'." msgstr "" #. type: Labeled list -#: en/config.txt:2478 +#: en/git-svn.txt:384 #, no-wrap -msgid "pull.rebase" +msgid "--git-format" msgstr "" #. type: Plain text -#: en/config.txt:2483 +#: en/git-svn.txt:389 msgid "" -"When true, rebase branches on top of the fetched branch, instead of merging " -"the default branch from the default remote when \"git pull\" is run. See " -"\"branch.<name>.rebase\" for setting this on a per-branch basis." +"Produce output in the same format as 'git blame', but with SVN revision " +"numbers instead of Git commit hashes. In this mode, changes that haven't " +"been committed to SVN (including local working-copy edits) are shown as " +"revision 0." msgstr "" #. type: Labeled list -#: en/config.txt:2494 +#: en/git-svn.txt:390 #, no-wrap -msgid "pull.octopus" +msgid "'find-rev'" msgstr "" #. type: Plain text -#: en/config.txt:2497 -msgid "The default merge strategy to use when pulling multiple branches at once." +#: en/git-svn.txt:395 +msgid "" +"When given an SVN revision number of the form 'rN', returns the " +"corresponding Git commit hash (this can optionally be followed by a tree-ish " +"to specify which branch should be searched). When given a tree-ish, returns " +"the corresponding SVN revision number." msgstr "" #. type: Labeled list -#: en/config.txt:2498 +#: en/git-svn.txt:396 #, no-wrap -msgid "pull.twohead" +msgid "-B" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:397 +#, no-wrap +msgid "--before" msgstr "" #. type: Plain text -#: en/config.txt:2500 -msgid "The default merge strategy to use when pulling a single branch." +#: en/git-svn.txt:401 +msgid "" +"Don't require an exact match if given an SVN revision, instead find the " +"commit corresponding to the state of the SVN repository (on the current " +"branch) at the specified revision." msgstr "" #. type: Labeled list -#: en/config.txt:2501 +#: en/git-svn.txt:403 #, no-wrap -msgid "push.default" +msgid "--after" msgstr "" #. type: Plain text -#: en/config.txt:2507 +#: en/git-svn.txt:407 msgid "" -"Defines the action `git push` should take if no refspec is explicitly " -"given. Different values are well-suited for specific workflows; for " -"instance, in a purely central workflow (i.e. the fetch source is equal to " -"the push destination), `upstream` is probably what you want. Possible " -"values are:" +"Don't require an exact match if given an SVN revision; if there is not an " +"exact match return the closest match searching forward in the history." msgstr "" -#. type: Plain text -#: en/config.txt:2513 -msgid "" -"`nothing` - do not push anything (error out) unless a refspec is explicitly " -"given. This is primarily meant for people who want to avoid mistakes by " -"always being explicit." +#. type: Labeled list +#: en/git-svn.txt:408 +#, no-wrap +msgid "'set-tree'" msgstr "" #. type: Plain text -#: en/config.txt:2517 +#: en/git-svn.txt:416 msgid "" -"`current` - push the current branch to update a branch with the same name on " -"the receiving end. Works in both central and non-central workflows." +"You should consider using 'dcommit' instead of this command. Commit " +"specified commit or tree objects to SVN. This relies on your imported fetch " +"data being up-to-date. This makes absolutely no attempts to do patching " +"when committing to SVN, it simply overwrites files with those specified in " +"the tree or commit. All merging is assumed to have taken place " +"independently of 'git svn' functions." msgstr "" -#. type: Plain text -#: en/config.txt:2523 -msgid "" -"`upstream` - push the current branch back to the branch whose changes are " -"usually integrated into the current branch (which is called `@{upstream}`). " -"This mode only makes sense if you are pushing to the same repository you " -"would normally pull from (i.e. central workflow)." +#. type: Labeled list +#: en/git-svn.txt:417 +#, no-wrap +msgid "'create-ignore'" msgstr "" #. type: Plain text -#: en/config.txt:2525 -msgid "`tracking` - This is a deprecated synonym for `upstream`." +#: en/git-svn.txt:422 +msgid "" +"Recursively finds the svn:ignore property on directories and creates " +"matching .gitignore files. The resulting files are staged to be committed, " +"but are not committed. Use -r/--revision to refer to a specific revision." msgstr "" -#. type: Plain text -#: en/config.txt:2529 -msgid "" -"`simple` - in centralized workflow, work like `upstream` with an added " -"safety to refuse to push if the upstream branch's name is different from the " -"local one." +#. type: Labeled list +#: en/git-svn.txt:423 +#, no-wrap +msgid "'show-ignore'" msgstr "" #. type: Plain text -#: en/config.txt:2533 +#: en/git-svn.txt:427 msgid "" -"When pushing to a remote that is different from the remote you normally pull " -"from, work as `current`. This is the safest option and is suited for " -"beginners." +"Recursively finds and lists the svn:ignore property on directories. The " +"output is suitable for appending to the $GIT_DIR/info/exclude file." msgstr "" -#. type: Plain text -#: en/config.txt:2535 -msgid "This mode has become the default in Git 2.0." +#. type: Labeled list +#: en/git-svn.txt:428 +#, no-wrap +msgid "'mkdirs'" msgstr "" #. type: Plain text -#: en/config.txt:2542 +#: en/git-svn.txt:436 msgid "" -"`matching` - push all branches having the same name on both ends. This " -"makes the repository you are pushing to remember the set of branches that " -"will be pushed out (e.g. if you always push 'maint' and 'master' there and " -"no other branches, the repository you push to will have these two branches, " -"and your local 'maint' and 'master' will be pushed there)." +"Attempts to recreate empty directories that core Git cannot track based on " +"information in $GIT_DIR/svn/<refname>/unhandled.log files. Empty " +"directories are automatically recreated when using \"git svn clone\" and " +"\"git svn rebase\", so \"mkdirs\" is intended for use after commands like " +"\"git checkout\" or \"git reset\". (See the svn-remote.<name>.automkdirs " +"config file option for more information.)" msgstr "" -#. type: Plain text -#: en/config.txt:2552 -msgid "" -"To use this mode effectively, you have to make sure _all_ the branches you " -"would push out are ready to be pushed out before running 'git push', as the " -"whole point of this mode is to allow you to push all of the branches in one " -"go. If you usually finish work on only one branch and push out the result, " -"while other branches are unfinished, this mode is not for you. Also this " -"mode is not suitable for pushing into a shared central repository, as other " -"people may add new branches there, or update the tip of existing branches " -"outside your control." +#. type: Labeled list +#: en/git-svn.txt:437 +#, no-wrap +msgid "'commit-diff'" msgstr "" #. type: Plain text -#: en/config.txt:2555 +#: en/git-svn.txt:446 msgid "" -"This used to be the default, but not since Git 2.0 (`simple` is the new " -"default)." +"Commits the diff of two tree-ish arguments from the command-line. This " +"command does not rely on being inside an `git svn init`-ed repository. This " +"command takes three arguments, (a) the original tree to diff against, (b) " +"the new tree result, (c) the URL of the target Subversion repository. The " +"final argument (URL) may be omitted if you are working from a 'git " +"svn'-aware repository (that has been `init`-ed with 'git svn'). The " +"-r<revision> option is required for this." msgstr "" #. type: Labeled list -#: en/config.txt:2558 +#: en/git-svn.txt:447 #, no-wrap -msgid "push.followTags" +msgid "'info'" msgstr "" #. type: Plain text -#: en/config.txt:2562 +#: en/git-svn.txt:452 msgid "" -"If set to true enable `--follow-tags` option by default. You may override " -"this configuration at time of push by specifying `--no-follow-tags`." +"Shows information about a file or directory similar to what `svn info' " +"provides. Does not currently support a -r/--revision argument. Use the " +"--url option to output only the value of the 'URL:' field." msgstr "" #. type: Labeled list -#: en/config.txt:2563 +#: en/git-svn.txt:453 #, no-wrap -msgid "push.gpgSign" +msgid "'proplist'" msgstr "" #. type: Plain text -#: en/config.txt:2571 +#: en/git-svn.txt:457 msgid "" -"May be set to a boolean value, or the string 'if-asked'. A true value causes " -"all pushes to be GPG signed, as if `--signed` is passed to " -"linkgit:git-push[1]. The string 'if-asked' causes pushes to be signed if the " -"server supports it, as if `--signed=if-asked` is passed to 'git push'. A " -"false value may override a value from a lower-priority config file. An " -"explicit command-line flag always overrides this config option." +"Lists the properties stored in the Subversion repository about a given file " +"or directory. Use -r/--revision to refer to a specific Subversion revision." msgstr "" #. type: Labeled list -#: en/config.txt:2572 +#: en/git-svn.txt:458 #, no-wrap -msgid "push.recurseSubmodules" -msgstr "" - -#. type: Plain text -#: en/config.txt:2585 -msgid "" -"Make sure all submodule commits used by the revisions to be pushed are " -"available on a remote-tracking branch. If the value is 'check' then Git will " -"verify that all submodule commits that changed in the revisions to be pushed " -"are available on at least one remote of the submodule. If any commits are " -"missing, the push will be aborted and exit with non-zero status. If the " -"value is 'on-demand' then all submodules that changed in the revisions to be " -"pushed will be pushed. If on-demand was not able to push all necessary " -"revisions it will also be aborted and exit with non-zero status. If the " -"value is 'no' then default behavior of ignoring submodules when pushing is " -"retained. You may override this configuration at time of push by specifying " -"'--recurse-submodules=check|on-demand|no'." +msgid "'propget'" msgstr "" #. type: Plain text -#: en/config.txt:2600 +#: en/git-svn.txt:461 msgid "" -"When set to true, automatically create a temporary stash before the " -"operation begins, and apply it after the operation ends. This means that " -"you can run rebase on a dirty worktree. However, use with care: the final " -"stash application after a successful rebase might result in non-trivial " -"conflicts. Defaults to false." +"Gets the Subversion property given as the first argument, for a file. A " +"specific revision can be specified with -r/--revision." msgstr "" -#. type: Plain text -#: en/config.txt:2611 -msgid "" -"If set to \"warn\", git rebase -i will print a warning if some commits are " -"removed (e.g. a line was deleted), however the rebase will still proceed. If " -"set to \"error\", it will print the previous warning and stop the rebase, " -"'git rebase --edit-todo' can then be used to correct the error. If set to " -"\"ignore\", no checking is done. To drop a commit without warning or error, " -"use the `drop` command in the todo-list. Defaults to \"ignore\"." +#. type: Labeled list +#: en/git-svn.txt:462 +#, no-wrap +msgid "'propset'" msgstr "" #. type: Plain text -#: en/config.txt:2616 +#: en/git-svn.txt:466 msgid "" -"A format string, as specified in linkgit:git-log[1], to be used for the " -"instruction list during an interactive rebase. The format will " -"automatically have the long commit hash prepended to the format." +"Sets the Subversion property given as the first argument, to the value given " +"as the second argument for the file given as the third argument." msgstr "" -#. type: Labeled list -#: en/config.txt:2617 +#. type: delimited block - +#: en/git-svn.txt:471 #, no-wrap -msgid "receive.advertiseAtomic" +msgid "git svn propset svn:keywords \"FreeBSD=%H\" devel/py-tipper/Makefile\n" msgstr "" #. type: Plain text -#: en/config.txt:2621 +#: en/git-svn.txt:475 msgid "" -"By default, git-receive-pack will advertise the atomic push capability to " -"its clients. If you don't want to advertise this capability, set this " -"variable to false." +"This will set the property 'svn:keywords' to 'FreeBSD=%H' for the file " +"'devel/py-tipper/Makefile'." msgstr "" #. type: Labeled list -#: en/config.txt:2622 +#: en/git-svn.txt:476 #, no-wrap -msgid "receive.advertisePushOptions" +msgid "'show-externals'" msgstr "" #. type: Plain text -#: en/config.txt:2626 +#: en/git-svn.txt:479 msgid "" -"By default, git-receive-pack will advertise the push options capability to " -"its clients. If you don't want to advertise this capability, set this " -"variable to false." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2627 -#, no-wrap -msgid "receive.autogc" +"Shows the Subversion externals. Use -r/--revision to specify a specific " +"revision." msgstr "" #. type: Plain text -#: en/config.txt:2631 +#: en/git-svn.txt:483 msgid "" -"By default, git-receive-pack will run \"git-gc --auto\" after receiving data " -"from git-push and updating refs. You can stop it by setting this variable " -"to false." +"Compress $GIT_DIR/svn/<refname>/unhandled.log files and remove " +"$GIT_DIR/svn/<refname>/index files." msgstr "" #. type: Labeled list -#: en/config.txt:2632 +#: en/git-svn.txt:484 #, no-wrap -msgid "receive.certNonceSeed" +msgid "'reset'" msgstr "" #. type: Plain text -#: en/config.txt:2637 +#: en/git-svn.txt:494 msgid "" -"By setting this variable to a string, `git receive-pack` will accept a `git " -"push --signed` and verifies it by using a \"nonce\" protected by HMAC using " -"this string as a secret key." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2638 -#, no-wrap -msgid "receive.certNonceSlop" +"Undoes the effects of 'fetch' back to the specified revision. This allows " +"you to re-'fetch' an SVN revision. Normally the contents of an SVN revision " +"should never change and 'reset' should not be necessary. However, if SVN " +"permissions change, or if you alter your --ignore-paths option, a 'fetch' " +"may fail with \"not found in commit\" (file not previously visible) or " +"\"checksum mismatch\" (missed a modification). If the problem file cannot " +"be ignored forever (with --ignore-paths) the only way to repair the repo is " +"to use 'reset'." msgstr "" #. type: Plain text -#: en/config.txt:2650 +#: en/git-svn.txt:499 msgid "" -"When a `git push --signed` sent a push certificate with a \"nonce\" that was " -"issued by a receive-pack serving the same repository within this many " -"seconds, export the \"nonce\" found in the certificate to " -"`GIT_PUSH_CERT_NONCE` to the hooks (instead of what the receive-pack asked " -"the sending side to include). This may allow writing checks in " -"`pre-receive` and `post-receive` a bit easier. Instead of checking " -"`GIT_PUSH_CERT_NONCE_SLOP` environment variable that records by how many " -"seconds the nonce is stale to decide if they want to accept the certificate, " -"they only can check `GIT_PUSH_CERT_NONCE_STATUS` is `OK`." +"Only the rev_map and refs/remotes/git-svn are changed (see " +"'$GIT_DIR/svn/\\*\\*/.rev_map.*' in the FILES section below for details). " +"Follow 'reset' with a 'fetch' and then 'git reset' or 'git rebase' to move " +"local branches onto the new tree." msgstr "" #. type: Labeled list -#: en/config.txt:2651 +#: en/git-svn.txt:500 #, no-wrap -msgid "receive.fsckObjects" -msgstr "" - -#. type: Plain text -#: en/config.txt:2657 -msgid "" -"If it is set to true, git-receive-pack will check all received objects. It " -"will abort in the case of a malformed object or a broken link. The result of " -"an abort are only dangling objects. Defaults to false. If not set, the " -"value of `transfer.fsckObjects` is used instead." +msgid "-r <n>" msgstr "" #. type: Labeled list -#: en/config.txt:2658 +#: en/git-svn.txt:501 #, no-wrap -msgid "receive.fsck.<msg-id>" +msgid "--revision=<n>" msgstr "" #. type: Plain text -#: en/config.txt:2666 +#: en/git-svn.txt:504 msgid "" -"When `receive.fsckObjects` is set to true, errors can be switched to " -"warnings and vice versa by configuring the `receive.fsck.<msg-id>` setting " -"where the `<msg-id>` is the fsck message ID and the value is one of `error`, " -"`warn` or `ignore`. For convenience, fsck prefixes the error/warning with " -"the message ID, e.g. \"missingEmail: invalid author/committer line - missing " -"email\" means that setting `receive.fsck.missingEmail = ignore` will hide " -"that issue." +"Specify the most recent revision to keep. All later revisions are " +"discarded." msgstr "" #. type: Plain text -#: en/config.txt:2671 -msgid "" -"This feature is intended to support working with legacy repositories which " -"would not pass pushing when `receive.fsckObjects = true`, allowing the host " -"to accept repositories with certain known issues but still catch other " -"issues." +#: en/git-svn.txt:508 +msgid "Discard the specified revision as well, keeping the nearest parent instead." msgstr "" -#. type: Labeled list -#: en/config.txt:2672 -#, no-wrap -msgid "receive.fsck.skipList" +#. type: Plain text +#: en/git-svn.txt:510 +msgid "Assume you have local changes in \"master\", but you need to refetch \"r2\"." msgstr "" -#. type: Labeled list -#: en/config.txt:2680 +#. type: delimited block - +#: en/git-svn.txt:515 #, no-wrap -msgid "receive.keepAlive" +msgid "" +" r1---r2---r3 remotes/git-svn\n" +" \\\n" +" A---B master\n" msgstr "" #. type: Plain text -#: en/config.txt:2688 +#: en/git-svn.txt:519 msgid "" -"After receiving the pack from the client, `receive-pack` may produce no " -"output (if `--quiet` was specified) while processing the pack, causing some " -"networks to drop the TCP connection. With this option set, if " -"`receive-pack` does not transmit any data in this phase for " -"`receive.keepAlive` seconds, it will send a short keepalive packet. The " -"default is 5 seconds; set to 0 to disable keepalives entirely." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2689 -#, no-wrap -msgid "receive.unpackLimit" +"Fix the ignore-paths or SVN permissions problem that caused \"r2\" to be " +"incomplete in the first place. Then:" msgstr "" #. type: Plain text -#: en/config.txt:2698 +#: en/git-svn.txt:523 +#, no-wrap msgid "" -"If the number of objects received in a push is below this limit then the " -"objects will be unpacked into loose object files. However if the number of " -"received objects equals or exceeds this limit then the received pack will be " -"stored as a pack, after adding any missing delta bases. Storing the pack " -"from a push can make the push operation complete faster, especially on slow " -"filesystems. If not set, the value of `transfer.unpackLimit` is used " -"instead." +"git svn reset -r2 -p\n" +"git svn fetch\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2699 +#. type: delimited block - +#: en/git-svn.txt:528 #, no-wrap -msgid "receive.maxInputSize" +msgid "" +" r1---r2'--r3' remotes/git-svn\n" +" \\\n" +" r2---r3---A---B master\n" msgstr "" #. type: Plain text -#: en/config.txt:2704 +#: en/git-svn.txt:533 msgid "" -"If the size of the incoming pack stream is larger than this limit, then " -"git-receive-pack will error out, instead of accepting the pack file. If not " -"set or set to 0, then the size is unlimited." +"Then fixup \"master\" with 'git rebase'. Do NOT use 'git merge' or your " +"history will not be compatible with a future 'dcommit'!" msgstr "" -#. type: Labeled list -#: en/config.txt:2705 +#. type: Plain text +#: en/git-svn.txt:536 #, no-wrap -msgid "receive.denyDeletes" +msgid "git rebase --onto remotes/git-svn A^ master\n" msgstr "" -#. type: Plain text -#: en/config.txt:2708 +#. type: delimited block - +#: en/git-svn.txt:541 +#, no-wrap msgid "" -"If set to true, git-receive-pack will deny a ref update that deletes the " -"ref. Use this to prevent such a ref deletion via a push." +" r1---r2'--r3' remotes/git-svn\n" +" \\\n" +" A'--B' master\n" msgstr "" #. type: Labeled list -#: en/config.txt:2709 +#: en/git-svn.txt:546 #, no-wrap -msgid "receive.denyDeleteCurrent" +msgid "--shared[=(false|true|umask|group|all|world|everybody)]" msgstr "" #. type: Plain text -#: en/config.txt:2712 -msgid "" -"If set to true, git-receive-pack will deny a ref update that deletes the " -"currently checked out branch of a non-bare repository." +#: en/git-svn.txt:550 +msgid "Only used with the 'init' command. These are passed directly to 'git init'." msgstr "" #. type: Labeled list -#: en/config.txt:2713 +#: en/git-svn.txt:551 #, no-wrap -msgid "receive.denyCurrentBranch" +msgid "-r <arg>" +msgstr "" + +#. type: Labeled list +#: en/git-svn.txt:552 +#, no-wrap +msgid "--revision <arg>" msgstr "" #. type: Plain text -#: en/config.txt:2721 -msgid "" -"If set to true or \"refuse\", git-receive-pack will deny a ref update to the " -"currently checked out branch of a non-bare repository. Such a push is " -"potentially dangerous because it brings the HEAD out of sync with the index " -"and working tree. If set to \"warn\", print a warning of such a push to " -"stderr, but allow the push to proceed. If set to false or \"ignore\", allow " -"such pushes with no message. Defaults to \"refuse\"." +#: en/git-svn.txt:554 +msgid "Used with the 'fetch' command." msgstr "" #. type: Plain text -#: en/config.txt:2728 +#: en/git-svn.txt:558 msgid "" -"Another option is \"updateInstead\" which will update the working tree if " -"pushing into the current branch. This option is intended for synchronizing " -"working directories when one side is not easily accessible via interactive " -"ssh (e.g. a live web site, hence the requirement that the working directory " -"be clean). This mode also comes in handy when developing inside a VM to test " -"and fix code on different Operating Systems." +"This allows revision ranges for partial/cauterized history to be supported. " +"$NUMBER, $NUMBER1:$NUMBER2 (numeric ranges), $NUMBER:HEAD, and BASE:$NUMBER " +"are all supported." msgstr "" #. type: Plain text -#: en/config.txt:2732 +#: en/git-svn.txt:562 msgid "" -"By default, \"updateInstead\" will refuse the push if the working tree or " -"the index have any difference from the HEAD, but the `push-to-checkout` hook " -"can be used to customize this. See linkgit:githooks[5]." +"This can allow you to make partial mirrors when running fetch; but is " +"generally not recommended because history will be skipped and lost." msgstr "" #. type: Labeled list -#: en/config.txt:2733 +#: en/git-svn.txt:563 #, no-wrap -msgid "receive.denyNonFastForwards" +msgid "-" msgstr "" #. type: Plain text -#: en/config.txt:2738 -msgid "" -"If set to true, git-receive-pack will deny a ref update which is not a " -"fast-forward. Use this to prevent such an update via a push, even if that " -"push is forced. This configuration variable is set when initializing a " -"shared repository." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2739 -#, no-wrap -msgid "receive.hideRefs" +#: en/git-svn.txt:566 +msgid "Only used with the 'set-tree' command." msgstr "" #. type: Plain text -#: en/config.txt:2744 +#: en/git-svn.txt:570 msgid "" -"This variable is the same as `transfer.hideRefs`, but applies only to " -"`receive-pack` (and so affects pushes, but not fetches). An attempt to " -"update or delete a hidden ref by `git push` is rejected." +"Read a list of commits from stdin and commit them in reverse order. Only " +"the leading sha1 is read from each line, so 'git rev-list --pretty=oneline' " +"output can be used." msgstr "" #. type: Labeled list -#: en/config.txt:2745 +#: en/git-svn.txt:571 #, no-wrap -msgid "receive.updateServerInfo" +msgid "--rmdir" msgstr "" #. type: Plain text -#: en/config.txt:2748 -msgid "" -"If set to true, git-receive-pack will run git-update-server-info after " -"receiving data from git-push and updating refs." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2749 -#, no-wrap -msgid "receive.shallowUpdate" +#: en/git-svn.txt:573 en/git-svn.txt:586 en/git-svn.txt:597 +msgid "Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands." msgstr "" #. type: Plain text -#: en/config.txt:2752 +#: en/git-svn.txt:579 msgid "" -"If set to true, .git/shallow can be updated when new refs require new " -"shallow roots. Otherwise those refs are rejected." +"Remove directories from the SVN tree if there are no files left behind. SVN " +"can version empty directories, and they are not removed by default if there " +"are no files left in them. Git cannot version empty directories. Enabling " +"this flag will make the commit to SVN act like Git." msgstr "" -#. type: Labeled list -#: en/config.txt:2753 +#. type: Plain text +#: en/git-svn.txt:582 #, no-wrap -msgid "remote.pushDefault" +msgid "config key: svn.rmdir\n" msgstr "" #. type: Plain text -#: en/config.txt:2757 +#: en/git-svn.txt:590 msgid "" -"The remote to push to by default. Overrides `branch.<name>.remote` for all " -"branches, and is overridden by `branch.<name>.pushRemote` for specific " -"branches." +"Edit the commit message before committing to SVN. This is off by default " +"for objects that are commits, and forced on when committing tree objects." msgstr "" -#. type: Labeled list -#: en/config.txt:2758 +#. type: Plain text +#: en/git-svn.txt:593 #, no-wrap -msgid "remote.<name>.url" +msgid "config key: svn.edit\n" msgstr "" #. type: Plain text -#: en/config.txt:2761 +#: en/git-svn.txt:600 msgid "" -"The URL of a remote repository. See linkgit:git-fetch[1] or " -"linkgit:git-push[1]." +"They are both passed directly to 'git diff-tree'; see " +"linkgit:git-diff-tree[1] for more information." msgstr "" -#. type: Labeled list -#: en/config.txt:2762 +#. type: Plain text +#: en/git-svn.txt:604 #, no-wrap -msgid "remote.<name>.pushurl" +msgid "" +"config key: svn.l\n" +"config key: svn.findcopiesharder\n" msgstr "" -#. type: Plain text -#: en/config.txt:2764 -msgid "The push URL of a remote repository. See linkgit:git-push[1]." +#. type: Labeled list +#: en/git-svn.txt:605 +#, no-wrap +msgid "-A<filename>" msgstr "" #. type: Labeled list -#: en/config.txt:2765 +#: en/git-svn.txt:606 #, no-wrap -msgid "remote.<name>.proxy" +msgid "--authors-file=<filename>" msgstr "" #. type: Plain text -#: en/config.txt:2769 -msgid "" -"For remotes that require curl (http, https and ftp), the URL to the proxy to " -"use for that remote. Set to the empty string to disable proxying for that " -"remote." +#: en/git-svn.txt:608 +msgid "Syntax is compatible with the file used by 'git cvsimport':" msgstr "" -#. type: Labeled list -#: en/config.txt:2770 +#. type: delimited block - +#: en/git-svn.txt:611 #, no-wrap -msgid "remote.<name>.proxyAuthMethod" +msgid "\tloginname = Joe User <user@example.com>\n" msgstr "" #. type: Plain text -#: en/config.txt:2774 +#: en/git-svn.txt:618 msgid "" -"For remotes that require curl (http, https and ftp), the method to use for " -"authenticating against the proxy in use (probably set in " -"`remote.<name>.proxy`). See `http.proxyAuthMethod`." +"If this option is specified and 'git svn' encounters an SVN committer name " +"that does not exist in the authors-file, 'git svn' will abort operation. The " +"user will then have to add the appropriate entry. Re-running the previous " +"'git svn' command after the authors-file is modified should continue " +"operation." +msgstr "" + +#. type: Plain text +#: en/git-svn.txt:621 +#, no-wrap +msgid "config key: svn.authorsfile\n" msgstr "" #. type: Labeled list -#: en/config.txt:2775 +#: en/git-svn.txt:622 #, no-wrap -msgid "remote.<name>.fetch" +msgid "--authors-prog=<filename>" msgstr "" #. type: Plain text -#: en/config.txt:2778 +#: en/git-svn.txt:628 msgid "" -"The default set of \"refspec\" for linkgit:git-fetch[1]. See " -"linkgit:git-fetch[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2779 -#, no-wrap -msgid "remote.<name>.push" +"If this option is specified, for each SVN committer name that does not exist " +"in the authors file, the given file is executed with the committer name as " +"the first argument. The program is expected to return a single line of the " +"form \"Name <email>\", which will be treated as if included in the authors " +"file." msgstr "" #. type: Plain text -#: en/config.txt:2782 -msgid "" -"The default set of \"refspec\" for linkgit:git-push[1]. See " -"linkgit:git-push[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2783 +#: en/git-svn.txt:631 #, no-wrap -msgid "remote.<name>.mirror" +msgid "config key: svn.authorsProg\n" msgstr "" #. type: Plain text -#: en/config.txt:2786 +#: en/git-svn.txt:636 msgid "" -"If true, pushing to this remote will automatically behave as if the " -"`--mirror` option was given on the command line." +"Make 'git svn' less verbose. Specify a second time to make it even less " +"verbose." msgstr "" #. type: Labeled list -#: en/config.txt:2787 +#: en/git-svn.txt:639 #, no-wrap -msgid "remote.<name>.skipDefaultUpdate" +msgid "-s<strategy>" msgstr "" #. type: Plain text -#: en/config.txt:2791 en/config.txt:2796 -msgid "" -"If true, this remote will be skipped by default when updating using " -"linkgit:git-fetch[1] or the `update` subcommand of linkgit:git-remote[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2792 -#, no-wrap -msgid "remote.<name>.skipFetchAll" -msgstr "" - -#. type: Labeled list -#: en/config.txt:2797 -#, no-wrap -msgid "remote.<name>.receivepack" +#: en/git-svn.txt:644 +msgid "These are only used with the 'dcommit' and 'rebase' commands." msgstr "" #. type: Plain text -#: en/config.txt:2800 +#: en/git-svn.txt:647 msgid "" -"The default program to execute on the remote side when pushing. See option " -"--receive-pack of linkgit:git-push[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2801 -#, no-wrap -msgid "remote.<name>.uploadpack" +"Passed directly to 'git rebase' when using 'dcommit' if a 'git reset' cannot " +"be used (see 'dcommit')." msgstr "" #. type: Plain text -#: en/config.txt:2804 -msgid "" -"The default program to execute on the remote side when fetching. See option " -"--upload-pack of linkgit:git-fetch-pack[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2805 -#, no-wrap -msgid "remote.<name>.tagOpt" +#: en/git-svn.txt:652 +msgid "This can be used with the 'dcommit', 'rebase', 'branch' and 'tag' commands." msgstr "" #. type: Plain text -#: en/config.txt:2812 +#: en/git-svn.txt:655 msgid "" -"Setting this value to --no-tags disables automatic tag following when " -"fetching from remote <name>. Setting it to --tags will fetch every tag from " -"remote <name>, even if they are not reachable from remote branch " -"heads. Passing these flags directly to linkgit:git-fetch[1] can override " -"this setting. See options --tags and --no-tags of linkgit:git-fetch[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2813 -#, no-wrap -msgid "remote.<name>.vcs" +"For 'dcommit', print out the series of Git arguments that would show which " +"diffs would be committed to SVN." msgstr "" #. type: Plain text -#: en/config.txt:2816 +#: en/git-svn.txt:659 msgid "" -"Setting this to a value <vcs> will cause Git to interact with the remote " -"with the git-remote-<vcs> helper." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2817 -#, no-wrap -msgid "remote.<name>.prune" +"For 'rebase', display the local branch associated with the upstream svn " +"repository associated with the current branch and the URL of svn repository " +"that will be fetched from." msgstr "" #. type: Plain text -#: en/config.txt:2822 +#: en/git-svn.txt:662 msgid "" -"When set to true, fetching from this remote by default will also remove any " -"remote-tracking references that no longer exist on the remote (as if the " -"`--prune` option was given on the command line). Overrides `fetch.prune` " -"settings, if any." +"For 'branch' and 'tag', display the urls that will be used for copying when " +"creating the branch or tag." msgstr "" #. type: Labeled list -#: en/config.txt:2823 +#: en/git-svn.txt:663 #, no-wrap -msgid "remotes.<group>" +msgid "--use-log-author" msgstr "" #. type: Plain text -#: en/config.txt:2826 +#: en/git-svn.txt:667 msgid "" -"The list of remotes which are fetched by \"git remote update <group>\". See " -"linkgit:git-remote[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2827 -#, no-wrap -msgid "repack.useDeltaBaseOffset" +"When retrieving svn commits into Git (as part of 'fetch', 'rebase', or " +"'dcommit' operations), look for the first `From:` or `Signed-off-by:` line " +"in the log message and use that as the author string." msgstr "" #. type: Plain text -#: en/config.txt:2834 -msgid "" -"By default, linkgit:git-repack[1] creates packs that use delta-base " -"offset. If you need to share your repository with Git older than version " -"1.4.4, either directly or via a dumb protocol such as http, then you need to " -"set this option to \"false\" and repack. Access from old Git versions over " -"the native protocol are unaffected by this option." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2835 +#: en/git-svn.txt:670 #, no-wrap -msgid "repack.packKeptObjects" -msgstr "" - -#. type: Plain text -#: en/config.txt:2841 -msgid "" -"If set to true, makes `git repack` act as if `--pack-kept-objects` was " -"passed. See linkgit:git-repack[1] for details. Defaults to `false` normally, " -"but `true` if a bitmap index is being written (either via " -"`--write-bitmap-index` or `repack.writeBitmaps`)." +msgid "config key: svn.useLogAuthor\n" msgstr "" #. type: Labeled list -#: en/config.txt:2842 +#: en/git-svn.txt:671 #, no-wrap -msgid "repack.writeBitmaps" +msgid "--add-author-from" msgstr "" #. type: Plain text -#: en/config.txt:2850 +#: en/git-svn.txt:677 msgid "" -"When true, git will write a bitmap index when packing all objects to disk " -"(e.g., when `git repack -a` is run). This index can speed up the \"counting " -"objects\" phase of subsequent packs created for clones and fetches, at the " -"cost of some disk space and extra time spent on the initial repack. This " -"has no effect if multiple packfiles are created. Defaults to false." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2851 -#, no-wrap -msgid "rerere.autoUpdate" +"When committing to svn from Git (as part of 'commit-diff', 'set-tree' or " +"'dcommit' operations), if the existing log message doesn't already have a " +"`From:` or `Signed-off-by:` line, append a `From:` line based on the Git " +"commit's author string. If you use this, then `--use-log-author` will " +"retrieve a valid author string for all commits." msgstr "" #. type: Plain text -#: en/config.txt:2855 -msgid "" -"When set to true, `git-rerere` updates the index with the resulting contents " -"after it cleanly resolves conflicts using previously recorded resolution. " -"Defaults to false." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2856 +#: en/git-svn.txt:680 #, no-wrap -msgid "rerere.enabled" +msgid "config key: svn.addAuthorFrom\n" msgstr "" -#. type: Plain text -#: en/config.txt:2863 -msgid "" -"Activate recording of resolved conflicts, so that identical conflict hunks " -"can be resolved automatically, should they be encountered again. By " -"default, linkgit:git-rerere[1] is enabled if there is an `rr-cache` " -"directory under the `$GIT_DIR`, e.g. if \"rerere\" was previously used in " -"the repository." +#. type: Title - +#: en/git-svn.txt:682 +#, no-wrap +msgid "ADVANCED OPTIONS" msgstr "" #. type: Labeled list -#: en/config.txt:2864 +#: en/git-svn.txt:684 #, no-wrap -msgid "sendemail.identity" +msgid "-i<GIT_SVN_ID>" msgstr "" #. type: Labeled list -#: en/config.txt:2870 +#: en/git-svn.txt:685 #, no-wrap -msgid "sendemail.smtpEncryption" +msgid "--id <GIT_SVN_ID>" msgstr "" #. type: Plain text -#: en/config.txt:2873 +#: en/git-svn.txt:690 msgid "" -"See linkgit:git-send-email[1] for description. Note that this setting is " -"not subject to the 'identity' mechanism." +"This sets GIT_SVN_ID (instead of using the environment). This allows the " +"user to override the default refname to fetch from when tracking a single " +"URL. The 'log' and 'dcommit' commands no longer require this switch as an " +"argument." msgstr "" #. type: Labeled list -#: en/config.txt:2874 +#: en/git-svn.txt:691 #, no-wrap -msgid "sendemail.smtpssl (deprecated)" -msgstr "" - -#. type: Plain text -#: en/config.txt:2876 -msgid "Deprecated alias for 'sendemail.smtpEncryption = ssl'." +msgid "-R<remote name>" msgstr "" #. type: Labeled list -#: en/config.txt:2877 +#: en/git-svn.txt:692 #, no-wrap -msgid "sendemail.smtpsslcertpath" +msgid "--svn-remote <remote name>" msgstr "" #. type: Plain text -#: en/config.txt:2880 +#: en/git-svn.txt:696 msgid "" -"Path to ca-certificates (either a directory or a single file). Set it to an " -"empty string to disable certificate verification." +"Specify the [svn-remote \"<remote name>\"] section to use, this allows SVN " +"multiple repositories to be tracked. Default: \"svn\"" msgstr "" #. type: Labeled list -#: en/config.txt:2881 +#: en/git-svn.txt:697 #, no-wrap -msgid "sendemail.<identity>.*" +msgid "--follow-parent" msgstr "" #. type: Plain text -#: en/config.txt:2886 +#: en/git-svn.txt:712 msgid "" -"Identity-specific versions of the 'sendemail.*' parameters found below, " -"taking precedence over those when the this identity is selected, through " -"command-line or `sendemail.identity`." -msgstr "" - -#. type: Labeled list -#: en/config.txt:2889 -#, no-wrap -msgid "sendemail.annotate" -msgstr "" - -#. type: Labeled list -#: en/config.txt:2890 -#, no-wrap -msgid "sendemail.bcc" -msgstr "" - -#. type: Labeled list -#: en/config.txt:2891 -#, no-wrap -msgid "sendemail.cc" -msgstr "" - -#. type: Labeled list -#: en/config.txt:2892 -#, no-wrap -msgid "sendemail.ccCmd" -msgstr "" - -#. type: Labeled list -#: en/config.txt:2893 -#, no-wrap -msgid "sendemail.chainReplyTo" +"This option is only relevant if we are tracking branches (using one of the " +"repository layout options --trunk, --tags, --branches, --stdlayout). For " +"each tracked branch, try to find out where its revision was copied from, and " +"set a suitable parent in the first Git commit for the branch. This is " +"especially helpful when we're tracking a directory that has been moved " +"around within the repository. If this feature is disabled, the branches " +"created by 'git svn' will all be linear and not share any history, meaning " +"that there will be no information on where branches were branched off or " +"merged. However, following long/convoluted histories can take a long time, " +"so disabling this feature may speed up the cloning process. This feature is " +"enabled by default, use --no-follow-parent to disable it." msgstr "" -#. type: Labeled list -#: en/config.txt:2895 +#. type: Plain text +#: en/git-svn.txt:715 #, no-wrap -msgid "sendemail.envelopeSender" +msgid "config key: svn.followparent\n" msgstr "" -#. type: Labeled list -#: en/config.txt:2896 +#. type: Title - +#: en/git-svn.txt:717 #, no-wrap -msgid "sendemail.from" +msgid "CONFIG FILE-ONLY OPTIONS" msgstr "" #. type: Labeled list -#: en/config.txt:2898 +#: en/git-svn.txt:719 #, no-wrap -msgid "sendemail.signedoffbycc" +msgid "svn.noMetadata" msgstr "" #. type: Labeled list -#: en/config.txt:2899 +#: en/git-svn.txt:720 #, no-wrap -msgid "sendemail.smtpPass" +msgid "svn-remote.<name>.noMetadata" msgstr "" -#. type: Labeled list -#: en/config.txt:2900 -#, no-wrap -msgid "sendemail.suppresscc" +#. type: Plain text +#: en/git-svn.txt:722 +msgid "This gets rid of the 'git-svn-id:' lines at the end of every commit." msgstr "" -#. type: Labeled list -#: en/config.txt:2901 -#, no-wrap -msgid "sendemail.suppressFrom" +#. type: Plain text +#: en/git-svn.txt:727 +msgid "" +"This option can only be used for one-shot imports as 'git svn' will not be " +"able to fetch again without metadata. Additionally, if you lose your " +"'$GIT_DIR/svn/\\*\\*/.rev_map.*' files, 'git svn' will not be able to " +"rebuild them." msgstr "" -#. type: Labeled list -#: en/config.txt:2902 -#, no-wrap -msgid "sendemail.to" +#. type: Plain text +#: en/git-svn.txt:731 +msgid "" +"The 'git svn log' command will not work on repositories using this, either. " +"Using this conflicts with the 'useSvmProps' option for (hopefully) obvious " +"reasons." msgstr "" -#. type: Labeled list -#: en/config.txt:2903 -#, no-wrap -msgid "sendemail.smtpDomain" +#. type: Plain text +#: en/git-svn.txt:739 +msgid "" +"This option is NOT recommended as it makes it difficult to track down old " +"references to SVN revision numbers in existing documentation, bug reports " +"and archives. If you plan to eventually migrate from SVN to Git and are " +"certain about dropping SVN history, consider linkgit:git-filter-branch[1] " +"instead. filter-branch also allows reformatting of metadata for " +"ease-of-reading and rewriting authorship info for non-\"svn.authorsFile\" " +"users." msgstr "" #. type: Labeled list -#: en/config.txt:2904 +#: en/git-svn.txt:740 #, no-wrap -msgid "sendemail.smtpServer" +msgid "svn.useSvmProps" msgstr "" #. type: Labeled list -#: en/config.txt:2905 +#: en/git-svn.txt:741 #, no-wrap -msgid "sendemail.smtpServerPort" +msgid "svn-remote.<name>.useSvmProps" msgstr "" -#. type: Labeled list -#: en/config.txt:2906 -#, no-wrap -msgid "sendemail.smtpServerOption" +#. type: Plain text +#: en/git-svn.txt:744 +msgid "" +"This allows 'git svn' to re-map repository URLs and UUIDs from mirrors " +"created using SVN::Mirror (or svk) for metadata." msgstr "" -#. type: Labeled list -#: en/config.txt:2907 -#, no-wrap -msgid "sendemail.smtpUser" +#. type: Plain text +#: en/git-svn.txt:752 +msgid "" +"If an SVN revision has a property, \"svm:headrev\", it is likely that the " +"revision was created by SVN::Mirror (also used by SVK). The property " +"contains a repository UUID and a revision. We want to make it look like we " +"are mirroring the original URL, so introduce a helper function that returns " +"the original identity URL and UUID, and use it when generating metadata in " +"commit messages." msgstr "" #. type: Labeled list -#: en/config.txt:2908 +#: en/git-svn.txt:753 #, no-wrap -msgid "sendemail.thread" +msgid "svn.useSvnsyncProps" msgstr "" #. type: Labeled list -#: en/config.txt:2909 +#: en/git-svn.txt:754 #, no-wrap -msgid "sendemail.transferEncoding" +msgid "svn-remote.<name>.useSvnsyncprops" msgstr "" -#. type: Labeled list -#: en/config.txt:2910 -#, no-wrap -msgid "sendemail.validate" +#. type: Plain text +#: en/git-svn.txt:758 +msgid "" +"Similar to the useSvmProps option; this is for users of the svnsync(1) " +"command distributed with SVN 1.4.x and later." msgstr "" #. type: Labeled list -#: en/config.txt:2911 +#: en/git-svn.txt:759 #, no-wrap -msgid "sendemail.xmailer" +msgid "svn-remote.<name>.rewriteRoot" msgstr "" #. type: Plain text -#: en/config.txt:2913 -msgid "See linkgit:git-send-email[1] for description." +#: en/git-svn.txt:765 +msgid "" +"This allows users to create repositories from alternate URLs. For example, " +"an administrator could run 'git svn' on the server locally (accessing via " +"file://) but wish to distribute the repository with a public http:// or " +"svn:// URL in the metadata so users of it will see the public URL." msgstr "" #. type: Labeled list -#: en/config.txt:2914 +#: en/git-svn.txt:766 #, no-wrap -msgid "sendemail.signedoffcc (deprecated)" +msgid "svn-remote.<name>.rewriteUUID" msgstr "" #. type: Plain text -#: en/config.txt:2916 -msgid "Deprecated alias for `sendemail.signedoffbycc`." +#: en/git-svn.txt:771 +msgid "" +"Similar to the useSvmProps option; this is for users who need to remap the " +"UUID manually. This may be useful in situations where the original UUID is " +"not available via either useSvmProps or useSvnsyncProps." msgstr "" #. type: Labeled list -#: en/config.txt:2917 +#: en/git-svn.txt:772 #, no-wrap -msgid "showbranch.default" +msgid "svn-remote.<name>.pushurl" msgstr "" #. type: Plain text -#: en/config.txt:2920 +#: en/git-svn.txt:781 msgid "" -"The default set of branches for linkgit:git-show-branch[1]. See " -"linkgit:git-show-branch[1]." +"Similar to Git's `remote.<name>.pushurl`, this key is designed to be used in " +"cases where 'url' points to an SVN repository via a read-only transport, to " +"provide an alternate read/write transport. It is assumed that both keys " +"point to the same repository. Unlike 'commiturl', 'pushurl' is a base " +"path. If either 'commiturl' or 'pushurl' could be used, 'commiturl' takes " +"precedence." msgstr "" #. type: Labeled list -#: en/config.txt:2921 +#: en/git-svn.txt:782 #, no-wrap -msgid "splitIndex.maxPercentChange" +msgid "svn.brokenSymlinkWorkaround" msgstr "" #. type: Plain text -#: en/config.txt:2933 +#: en/git-svn.txt:790 msgid "" -"When the split index feature is used, this specifies the percent of entries " -"the split index can contain compared to the total number of entries in both " -"the split index and the shared index before a new shared index is written. " -"The value should be between 0 and 100. If the value is 0 then a new shared " -"index is always written, if it is 100 a new shared index is never written. " -"By default the value is 20, so a new shared index is written if the number " -"of entries in the split index would be greater than 20 percent of the total " -"number of entries. See linkgit:git-update-index[1]." +"This disables potentially expensive checks to workaround broken symlinks " +"checked into SVN by broken clients. Set this option to \"false\" if you " +"track a SVN repository with many empty blobs that are not symlinks. This " +"option may be changed while 'git svn' is running and take effect on the next " +"revision fetched. If unset, 'git svn' assumes this option to be \"true\"." msgstr "" #. type: Labeled list -#: en/config.txt:2934 +#: en/git-svn.txt:791 #, no-wrap -msgid "splitIndex.sharedIndexExpire" +msgid "svn.pathnameencoding" msgstr "" #. type: Plain text -#: en/config.txt:2945 +#: en/git-svn.txt:796 msgid "" -"When the split index feature is used, shared index files that were not " -"modified since the time this variable specifies will be removed when a new " -"shared index file is created. The value \"now\" expires all entries " -"immediately, and \"never\" suppresses expiration altogether. The default " -"value is \"2.weeks.ago\". Note that a shared index file is considered " -"modified (for the purpose of expiration) each time a new split-index file is " -"either created based on it or read from it. See " -"linkgit:git-update-index[1]." +"This instructs git svn to recode pathnames to a given encoding. It can be " +"used by windows users and by those who work in non-utf8 locales to avoid " +"corrupted file names with non-ASCII characters. Valid encodings are the " +"ones supported by Perl's Encode module." msgstr "" #. type: Labeled list -#: en/config.txt:2946 +#: en/git-svn.txt:797 #, no-wrap -msgid "status.relativePaths" +msgid "svn-remote.<name>.automkdirs" msgstr "" #. type: Plain text -#: en/config.txt:2951 +#: en/git-svn.txt:804 msgid "" -"By default, linkgit:git-status[1] shows paths relative to the current " -"directory. Setting this variable to `false` shows paths relative to the " -"repository root (this was the default for Git prior to v1.5.4)." +"Normally, the \"git svn clone\" and \"git svn rebase\" commands attempt to " +"recreate empty directories that are in the Subversion repository. If this " +"option is set to \"false\", then empty directories will only be created if " +"the \"git svn mkdirs\" command is run explicitly. If unset, 'git svn' " +"assumes this option to be \"true\"." msgstr "" -#. type: Labeled list -#: en/config.txt:2952 -#, no-wrap -msgid "status.short" +#. type: Plain text +#: en/git-svn.txt:809 +msgid "" +"Since the noMetadata, rewriteRoot, rewriteUUID, useSvnsyncProps and " +"useSvmProps options all affect the metadata generated and used by 'git svn'; " +"they *must* be set in the configuration file before any history is imported " +"and these settings should never be changed once they are set." msgstr "" #. type: Plain text -#: en/config.txt:2955 +#: en/git-svn.txt:813 msgid "" -"Set to true to enable --short by default in linkgit:git-status[1]. The " -"option --no-short takes precedence over this variable." +"Additionally, only one of these options can be used per svn-remote section " +"because they affect the 'git-svn-id:' metadata line, except for rewriteRoot " +"and rewriteUUID which can be used together." msgstr "" -#. type: Labeled list -#: en/config.txt:2956 +#. type: Title - +#: en/git-svn.txt:816 #, no-wrap -msgid "status.branch" +msgid "BASIC EXAMPLES" msgstr "" #. type: Plain text -#: en/config.txt:2959 +#: en/git-svn.txt:820 msgid "" -"Set to true to enable --branch by default in linkgit:git-status[1]. The " -"option --no-branch takes precedence over this variable." +"Tracking and contributing to the trunk of a Subversion-managed project " +"(ignoring tags and branches):" msgstr "" -#. type: Labeled list -#: en/config.txt:2960 +#. type: delimited block - +#: en/git-svn.txt:838 #, no-wrap -msgid "status.displayCommentPrefix" -msgstr "" +msgid "" +"# Clone a repo (like git clone):\n" +"\tgit svn clone http://svn.example.com/project/trunk\n" +"# Enter the newly cloned directory:\n" +"\tcd trunk\n" +"# You should be on master branch, double-check with 'git branch'\n" +"\tgit branch\n" +"# Do some work and commit locally to Git:\n" +"\tgit commit ...\n" +"# Something is committed to SVN, rebase your local changes against the\n" +"# latest changes in SVN:\n" +"\tgit svn rebase\n" +"# Now commit your changes (that were committed previously using Git) to " +"SVN,\n" +"# as well as automatically updating your working HEAD:\n" +"\tgit svn dcommit\n" +"# Append svn:ignore settings to the default Git exclude file:\n" +"\tgit svn show-ignore >> .git/info/exclude\n" +msgstr "" #. type: Plain text -#: en/config.txt:2966 +#: en/git-svn.txt:842 msgid "" -"If set to true, linkgit:git-status[1] will insert a comment prefix before " -"each output line (starting with `core.commentChar`, i.e. `#` by " -"default). This was the behavior of linkgit:git-status[1] in Git 1.8.4 and " -"previous. Defaults to false." +"Tracking and contributing to an entire Subversion-managed project (complete " +"with a trunk, tags and branches):" msgstr "" -#. type: Labeled list -#: en/config.txt:2967 +#. type: delimited block - +#: en/git-svn.txt:857 #, no-wrap -msgid "status.showUntrackedFiles" +msgid "" +"# Clone a repo with standard SVN directory layout (like git clone):\n" +"\tgit svn clone http://svn.example.com/project --stdlayout --prefix svn/\n" +"# Or, if the repo uses a non-standard directory layout:\n" +"\tgit svn clone http://svn.example.com/project -T tr -b branch -t tag " +"--prefix svn/\n" +"# View all branches and tags you have cloned:\n" +"\tgit branch -r\n" +"# Create a new branch in SVN\n" +"\tgit svn branch waldo\n" +"# Reset your master to trunk (or any other branch, replacing 'trunk'\n" +"# with the appropriate name):\n" +"\tgit reset --hard svn/trunk\n" +"# You may only dcommit to one branch/tag/trunk at a time. The usage\n" +"# of dcommit/rebase/show-ignore should be the same as above.\n" msgstr "" #. type: Plain text -#: en/config.txt:2975 +#: en/git-svn.txt:865 msgid "" -"By default, linkgit:git-status[1] and linkgit:git-commit[1] show files which " -"are not currently tracked by Git. Directories which contain only untracked " -"files, are shown with the directory name only. Showing untracked files means " -"that Git needs to lstat() all the files in the whole repository, which might " -"be slow on some systems. So, this variable controls how the commands " -"displays the untracked files. Possible values are:" +"The initial 'git svn clone' can be quite time-consuming (especially for " +"large Subversion repositories). If multiple people (or one person with " +"multiple machines) want to use 'git svn' to interact with the same " +"Subversion repository, you can do the initial 'git svn clone' to a " +"repository on a server and have each person clone that repository with 'git " +"clone':" msgstr "" -#. type: Plain text -#: en/config.txt:2978 -msgid "`no` - Show no untracked files." +#. type: delimited block - +#: en/git-svn.txt:886 +#, no-wrap +msgid "" +"# Do the initial import on a server\n" +"\tssh server \"cd /pub && git svn clone http://svn.example.com/project " +"[options...]\"\n" +"# Clone locally - make sure the refs/remotes/ space matches the server\n" +"\tmkdir project\n" +"\tcd project\n" +"\tgit init\n" +"\tgit remote add origin server:/pub/project\n" +"\tgit config --replace-all remote.origin.fetch " +"'+refs/remotes/*:refs/remotes/*'\n" +"\tgit fetch\n" +"# Prevent fetch/pull from remote Git server in the future,\n" +"# we only want to use git svn for future updates\n" +"\tgit config --remove-section remote.origin\n" +"# Create a local branch from one of the branches just fetched\n" +"\tgit checkout -b master FETCH_HEAD\n" +"# Initialize 'git svn' locally (be sure to use the same URL and\n" +"# --stdlayout/-T/-b/-t/--prefix options as were used on server)\n" +"\tgit svn init http://svn.example.com/project [options...]\n" +"# Pull the latest changes from Subversion\n" +"\tgit svn rebase\n" msgstr "" -#. type: Plain text -#: en/config.txt:2979 -msgid "`normal` - Show untracked files and directories." +#. type: Title - +#: en/git-svn.txt:889 +#, no-wrap +msgid "REBASE VS. PULL/MERGE" msgstr "" #. type: Plain text -#: en/config.txt:2980 -msgid "`all` - Show also individual files in untracked directories." +#: en/git-svn.txt:895 +msgid "" +"Prefer to use 'git svn rebase' or 'git rebase', rather than 'git pull' or " +"'git merge' to synchronize unintegrated commits with a 'git svn' " +"branch. Doing so will keep the history of unintegrated commits linear with " +"respect to the upstream SVN repository and allow the use of the preferred " +"'git svn dcommit' subcommand to push unintegrated commits back into SVN." msgstr "" #. type: Plain text -#: en/config.txt:2985 +#: en/git-svn.txt:903 msgid "" -"If this variable is not specified, it defaults to 'normal'. This variable " -"can be overridden with the -u|--untracked-files option of " -"linkgit:git-status[1] and linkgit:git-commit[1]." +"Originally, 'git svn' recommended that developers pulled or merged from the " +"'git svn' branch. This was because the author favored `git svn set-tree B` " +"to commit a single head rather than the `git svn set-tree A..B` notation to " +"commit multiple commits. Use of 'git pull' or 'git merge' with `git svn " +"set-tree A..B` will cause non-linear history to be flattened when committing " +"into SVN and this can lead to merge commits unexpectedly reversing previous " +"commits in SVN." msgstr "" -#. type: Labeled list -#: en/config.txt:2986 +#. type: Title - +#: en/git-svn.txt:905 #, no-wrap -msgid "status.submoduleSummary" +msgid "MERGE TRACKING" msgstr "" #. type: Plain text -#: en/config.txt:3001 +#: en/git-svn.txt:912 msgid "" -"Defaults to false. If this is set to a non zero number or true (identical " -"to -1 or an unlimited number), the submodule summary will be enabled and a " -"summary of commits for modified submodules will be shown (see " -"--summary-limit option of linkgit:git-submodule[1]). Please note that the " -"summary output command will be suppressed for all submodules when " -"`diff.ignoreSubmodules` is set to 'all' or only for those submodules where " -"`submodule.<name>.ignore=all`. The only exception to that rule is that " -"status and commit will show staged submodule changes. To also view the " -"summary for ignored submodules you can either use the " -"--ignore-submodules=dirty command-line option or the 'git submodule summary' " -"command, which shows a similar output but does not honor these settings." +"While 'git svn' can track copy history (including branches and tags) for " +"repositories adopting a standard layout, it cannot yet represent merge " +"history that happened inside git back upstream to SVN users. Therefore it " +"is advised that users keep history as linear as possible inside Git to ease " +"compatibility with SVN (see the CAVEATS section below)." msgstr "" -#. type: Labeled list -#: en/config.txt:3002 +#. type: Title - +#: en/git-svn.txt:914 #, no-wrap -msgid "stash.showPatch" +msgid "HANDLING OF SVN BRANCHES" msgstr "" #. type: Plain text -#: en/config.txt:3006 +#: en/git-svn.txt:922 msgid "" -"If this is set to true, the `git stash show` command without an option will " -"show the stash in patch form. Defaults to false. See description of 'show' " -"command in linkgit:git-stash[1]." -msgstr "" - -#. type: Labeled list -#: en/config.txt:3007 -#, no-wrap -msgid "stash.showStat" +"If 'git svn' is configured to fetch branches (and --follow-branches is in " +"effect), it sometimes creates multiple Git branches for one SVN branch, " +"where the additional branches have names of the form 'branchname@nnn' (with " +"nnn an SVN revision number). These additional branches are created if 'git " +"svn' cannot find a parent commit for the first commit in an SVN branch, to " +"connect the branch to the history of the other branches." msgstr "" #. type: Plain text -#: en/config.txt:3011 +#: en/git-svn.txt:938 msgid "" -"If this is set to true, the `git stash show` command without an option will " -"show diffstat of the stash. Defaults to true. See description of 'show' " -"command in linkgit:git-stash[1]." +"Normally, the first commit in an SVN branch consists of a copy " +"operation. 'git svn' will read this commit to get the SVN revision the " +"branch was created from. It will then try to find the Git commit that " +"corresponds to this SVN revision, and use that as the parent of the " +"branch. However, it is possible that there is no suitable Git commit to " +"serve as parent. This will happen, among other reasons, if the SVN branch " +"is a copy of a revision that was not fetched by 'git svn' (e.g. because it " +"is an old revision that was skipped with `--revision`), or if in SVN a " +"directory was copied that is not tracked by 'git svn' (such as a branch that " +"is not tracked at all, or a subdirectory of a tracked branch). In these " +"cases, 'git svn' will still create a Git branch, but instead of using an " +"existing Git commit as the parent of the branch, it will read the SVN " +"history of the directory the branch was copied from and create appropriate " +"Git commits. This is indicated by the message \"Initializing parent: " +"<branchname>\"." msgstr "" -#. type: Labeled list -#: en/config.txt:3012 -#, no-wrap -msgid "submodule.<name>.url" +#. type: Plain text +#: en/git-svn.txt:945 +msgid "" +"Additionally, it will create a special branch named " +"'<branchname>@<SVN-Revision>', where <SVN-Revision> is the SVN revision " +"number the branch was copied from. This branch will point to the newly " +"created parent commit of the branch. If in SVN the branch was deleted and " +"later recreated from a different version, there will be multiple such " +"branches with an '@'." msgstr "" #. type: Plain text -#: en/config.txt:3019 +#: en/git-svn.txt:948 msgid "" -"The URL for a submodule. This variable is copied from the .gitmodules file " -"to the git config via 'git submodule init'. The user can change the " -"configured URL before obtaining the submodule via 'git submodule " -"update'. After obtaining the submodule, the presence of this variable is " -"used as a sign whether the submodule is of interest to git commands. See " -"linkgit:git-submodule[1] and linkgit:gitmodules[5] for details." +"Note that this may mean that multiple Git commits are created for a single " +"SVN revision." msgstr "" -#. type: Labeled list -#: en/config.txt:3020 -#, no-wrap -msgid "submodule.<name>.update" +#. type: Plain text +#: en/git-svn.txt:958 +msgid "" +"An example: in an SVN repository with a standard trunk/tags/branches layout, " +"a directory trunk/sub is created in r.100. In r.200, trunk/sub is branched " +"by copying it to branches/. 'git svn clone -s' will then create a branch " +"'sub'. It will also create new Git commits for r.100 through r.199 and use " +"these as the history of branch 'sub'. Thus there will be two Git commits for " +"each revision from r.100 to r.199 (one containing trunk/, one containing " +"trunk/sub/). Finally, it will create a branch 'sub@200' pointing to the new " +"parent commit of branch 'sub' (i.e. the commit for r.200 and trunk/sub/)." msgstr "" #. type: Plain text -#: en/config.txt:3025 +#: en/git-svn.txt:968 msgid "" -"The default update procedure for a submodule. This variable is populated by " -"`git submodule init` from the linkgit:gitmodules[5] file. See description of " -"'update' command in linkgit:git-submodule[1]." +"For the sake of simplicity and interoperating with Subversion, it is " +"recommended that all 'git svn' users clone, fetch and dcommit directly from " +"the SVN server, and avoid all 'git clone'/'pull'/'merge'/'push' operations " +"between Git repositories and branches. The recommended method of exchanging " +"code between Git branches and users is 'git format-patch' and 'git am', or " +"just 'dcommit'ing to the SVN repository." msgstr "" -#. type: Labeled list -#: en/config.txt:3026 -#, no-wrap -msgid "submodule.<name>.branch" +#. type: Plain text +#: en/git-svn.txt:974 +msgid "" +"Running 'git merge' or 'git pull' is NOT recommended on a branch you plan to " +"'dcommit' from because Subversion users cannot see any merges you've made. " +"Furthermore, if you merge or pull from a Git branch that is a mirror of an " +"SVN branch, 'dcommit' may commit to the wrong branch." msgstr "" #. type: Plain text -#: en/config.txt:3031 +#: en/git-svn.txt:977 msgid "" -"The remote branch name for a submodule, used by `git submodule update " -"--remote`. Set this option to override the value found in the `.gitmodules` " -"file. See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details." +"If you do merge, note the following rule: 'git svn dcommit' will attempt to " +"commit on top of the SVN commit named in" msgstr "" -#. type: Labeled list -#: en/config.txt:3032 +#. type: delimited block - +#: en/git-svn.txt:979 #, no-wrap -msgid "submodule.<name>.fetchRecurseSubmodules" +msgid "git log --grep=^git-svn-id: --first-parent -1\n" msgstr "" #. type: Plain text -#: en/config.txt:3038 +#: en/git-svn.txt:984 msgid "" -"This option can be used to control recursive fetching of this submodule. It " -"can be overridden by using the --[no-]recurse-submodules command-line option " -"to \"git fetch\" and \"git pull\". This setting will override that from in " -"the linkgit:gitmodules[5] file." +"You 'must' therefore ensure that the most recent commit of the branch you " +"want to dcommit to is the 'first' parent of the merge. Chaos will ensue " +"otherwise, especially if the first parent is an older commit on the same SVN " +"branch." msgstr "" -#. type: Labeled list -#: en/config.txt:3039 -#, no-wrap -msgid "submodule.<name>.ignore" +#. type: Plain text +#: en/git-svn.txt:989 +msgid "" +"'git clone' does not clone branches under the refs/remotes/ hierarchy or any " +"'git svn' metadata, or config. So repositories created and managed with " +"using 'git svn' should use 'rsync' for cloning, if cloning is to be done at " +"all." msgstr "" #. type: Plain text -#: en/config.txt:3054 +#: en/git-svn.txt:994 msgid "" -"Defines under what circumstances \"git status\" and the diff family show a " -"submodule as modified. When set to \"all\", it will never be considered " -"modified (but it will nonetheless show up in the output of status and commit " -"when it has been staged), \"dirty\" will ignore all changes to the " -"submodules work tree and takes only differences between the HEAD of the " -"submodule and the commit recorded in the superproject into " -"account. \"untracked\" will additionally let submodules with modified " -"tracked files in their work tree show up. Using \"none\" (the default when " -"this option is not set) also shows submodules that have untracked files in " -"their work tree as changed. This setting overrides any setting made in " -".gitmodules for this submodule, both settings can be overridden on the " -"command line by using the \"--ignore-submodules\" option. The 'git " -"submodule' commands are not affected by this setting." +"Since 'dcommit' uses rebase internally, any Git branches you 'git push' to " +"before 'dcommit' on will require forcing an overwrite of the existing ref on " +"the remote repository. This is generally considered bad practice, see the " +"linkgit:git-push[1] documentation for details." msgstr "" -#. type: Labeled list -#: en/config.txt:3055 -#, no-wrap -msgid "submodule.fetchJobs" +#. type: Plain text +#: en/git-svn.txt:999 +msgid "" +"Do not use the --amend option of linkgit:git-commit[1] on a change you've " +"already dcommitted. It is considered bad practice to --amend commits you've " +"already pushed to a remote repository for other users, and dcommit with SVN " +"is analogous to that." msgstr "" #. type: Plain text -#: en/config.txt:3060 +#: en/git-svn.txt:1014 msgid "" -"Specifies how many submodules are fetched/cloned at the same time. A " -"positive integer allows up to that number of submodules fetched in " -"parallel. A value of 0 will give some reasonable default. If unset, it " -"defaults to 1." +"When cloning an SVN repository, if none of the options for describing the " +"repository layout is used (--trunk, --tags, --branches, --stdlayout), 'git " +"svn clone' will create a Git repository with completely linear history, " +"where branches and tags appear as separate directories in the working copy. " +"While this is the easiest way to get a copy of a complete repository, for " +"projects with many branches it will lead to a working copy many times larger " +"than just the trunk. Thus for projects using the standard directory " +"structure (trunk/branches/tags), it is recommended to clone with option " +"`--stdlayout`. If the project uses a non-standard structure, and/or if " +"branches and tags are not required, it is easiest to only clone one " +"directory (typically trunk), without giving any repository layout options. " +"If the full history with branches and tags is required, the options " +"`--trunk` / `--branches` / `--tags` must be used." msgstr "" -#. type: Labeled list -#: en/config.txt:3061 -#, no-wrap -msgid "submodule.alternateLocation" +#. type: Plain text +#: en/git-svn.txt:1021 +msgid "" +"When using multiple --branches or --tags, 'git svn' does not automatically " +"handle name collisions (for example, if two branches from different paths " +"have the same name, or if a branch and a tag have the same name). In these " +"cases, use 'init' to set up your Git repository then, before your first " +"'fetch', edit the $GIT_DIR/config file so that the branches and tags are " +"associated with different name spaces. For example:" msgstr "" #. type: Plain text -#: en/config.txt:3067 +#: en/git-svn.txt:1024 +#, no-wrap msgid "" -"Specifies how the submodules obtain alternates when submodules are " -"cloned. Possible values are `no`, `superproject`. By default `no` is " -"assumed, which doesn't add references. When the value is set to " -"`superproject` the submodule to be cloned computes its alternates location " -"relative to the superprojects alternate." +"\tbranches = stable/*:refs/remotes/svn/stable/*\n" +"\tbranches = debug/*:refs/remotes/svn/debug/*\n" msgstr "" -#. type: Labeled list -#: en/config.txt:3068 -#, no-wrap -msgid "submodule.alternateErrorStrategy" +#. type: Plain text +#: en/git-svn.txt:1030 +msgid "" +"We ignore all SVN properties except svn:executable. Any unhandled " +"properties are logged to $GIT_DIR/svn/<refname>/unhandled.log" msgstr "" #. type: Plain text -#: en/config.txt:3072 +#: en/git-svn.txt:1037 msgid "" -"Specifies how to treat errors with the alternates for a submodule as " -"computed via `submodule.alternateLocation`. Possible values are `ignore`, " -"`info`, `die`. Default is `die`." +"Renamed and copied directories are not detected by Git and hence not tracked " +"when committing to SVN. I do not plan on adding support for this as it's " +"quite difficult and time-consuming to get working for all the possible " +"corner cases (Git doesn't do it, either). Committing renamed and copied " +"files is fully supported if they're similar enough for Git to detect them." msgstr "" -#. type: Labeled list -#: en/config.txt:3073 -#, no-wrap -msgid "tag.forceSignAnnotated" +#. type: Plain text +#: en/git-svn.txt:1043 +msgid "" +"In SVN, it is possible (though discouraged) to commit changes to a tag " +"(because a tag is just a directory copy, thus technically the same as a " +"branch). When cloning an SVN repository, 'git svn' cannot know if such a " +"commit to a tag will happen in the future. Thus it acts conservatively and " +"imports all SVN tags as branches, prefixing the tag name with 'tags/'." msgstr "" #. type: Plain text -#: en/config.txt:3077 +#: en/git-svn.txt:1054 msgid "" -"A boolean to specify whether annotated tags created should be GPG signed. " -"If `--annotate` is specified on the command line, it takes precedence over " -"this option." +"'git svn' stores [svn-remote] configuration information in the repository " +"$GIT_DIR/config file. It is similar the core Git [remote] sections except " +"'fetch' keys do not accept glob arguments; but they are instead handled by " +"the 'branches' and 'tags' keys. Since some SVN repositories are oddly " +"configured with multiple projects glob expansions such those listed below " +"are allowed:" msgstr "" -#. type: Labeled list -#: en/config.txt:3078 +#. type: delimited block - +#: en/git-svn.txt:1063 #, no-wrap -msgid "tag.sort" +msgid "" +"[svn-remote \"project-a\"]\n" +"\turl = http://server.org/svn\n" +"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" +"\tbranches = branches/*/project-a:refs/remotes/project-a/branches/*\n" +"\tbranches = branches/release_*:refs/remotes/project-a/branches/release_*\n" +"\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" +"\ttags = tags/*/project-a:refs/remotes/project-a/tags/*\n" msgstr "" #. type: Plain text -#: en/config.txt:3082 +#: en/git-svn.txt:1071 +#, no-wrap msgid "" -"This variable controls the sort ordering of tags when displayed by " -"linkgit:git-tag[1]. Without the \"--sort=<value>\" option provided, the " -"value of this variable will be used as the default." +"Keep in mind that the '\\*' (asterisk) wildcard of the local ref\n" +"(right of the ':') *must* be the farthest right path component;\n" +"however the remote wildcard may be anywhere as long as it's an\n" +"independent path component (surrounded by '/' or EOL). This\n" +"type of configuration is not automatically created by 'init' and\n" +"should be manually entered with a text-editor or using 'git config'.\n" msgstr "" #. type: Plain text -#: en/config.txt:3089 -msgid "" -"This variable can be used to restrict the permission bits of tar archive " -"entries. The default is 0002, which turns off the world write bit. The " -"special value \"user\" indicates that the archiving user's umask will be " -"used instead. See umask(2) and linkgit:git-archive[1]." +#: en/git-svn.txt:1073 +msgid "Also note that only one asterisk is allowed per word. For example:" msgstr "" -#. type: Labeled list -#: en/config.txt:3090 +#. type: Plain text +#: en/git-svn.txt:1075 #, no-wrap -msgid "transfer.fsckObjects" +msgid "\tbranches = branches/re*se:refs/remotes/project-a/branches/*\n" msgstr "" #. type: Plain text -#: en/config.txt:3094 -msgid "" -"When `fetch.fsckObjects` or `receive.fsckObjects` are not set, the value of " -"this variable is used instead. Defaults to false." +#: en/git-svn.txt:1077 +msgid "will match branches 'release', 'rese', 're123se', however" msgstr "" -#. type: Labeled list -#: en/config.txt:3095 +#. type: Plain text +#: en/git-svn.txt:1079 #, no-wrap -msgid "transfer.hideRefs" +msgid "\tbranches = branches/re*s*e:refs/remotes/project-a/branches/*\n" msgstr "" #. type: Plain text -#: en/config.txt:3103 -msgid "" -"String(s) `receive-pack` and `upload-pack` use to decide which refs to omit " -"from their initial advertisements. Use more than one definition to specify " -"multiple prefix strings. A ref that is under the hierarchies listed in the " -"value of this variable is excluded, and is hidden when responding to `git " -"push` or `git fetch`. See `receive.hideRefs` and `uploadpack.hideRefs` for " -"program-specific versions of this config." +#: en/git-svn.txt:1081 +msgid "will produce an error." msgstr "" #. type: Plain text -#: en/config.txt:3108 +#: en/git-svn.txt:1084 msgid "" -"You may also include a `!` in front of the ref name to negate the entry, " -"explicitly exposing it, even if an earlier entry marked it as hidden. If " -"you have multiple hideRefs values, later entries override earlier ones (and " -"entries in more-specific config files override less-specific ones)." +"It is also possible to fetch a subset of branches or tags by using a " +"comma-separated list of names within braces. For example:" msgstr "" -#. type: Plain text -#: en/config.txt:3117 +#. type: delimited block - +#: en/git-svn.txt:1091 +#, no-wrap msgid "" -"If a namespace is in use, the namespace prefix is stripped from each " -"reference before it is matched against `transfer.hiderefs` patterns. For " -"example, if `refs/heads/master` is specified in `transfer.hideRefs` and the " -"current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master` is " -"omitted from the advertisements but `refs/heads/master` and " -"`refs/namespaces/bar/refs/heads/master` are still advertised as so-called " -"\"have\" lines. In order to match refs before stripping, add a `^` in front " -"of the ref name. If you combine `!` and `^`, `!` must be specified first." +"[svn-remote \"huge-project\"]\n" +"\turl = http://server.org/svn\n" +"\tfetch = trunk/src:refs/remotes/trunk\n" +"\tbranches = branches/{red,green}/src:refs/remotes/project-a/branches/*\n" +"\ttags = tags/{1.0,2.0}/src:refs/remotes/project-a/tags/*\n" msgstr "" #. type: Plain text -#: en/config.txt:3122 -msgid "" -"Even if you hide refs, a client may still be able to steal the target " -"objects via the techniques described in the \"SECURITY\" section of the " -"linkgit:gitnamespaces[7] man page; it's best to keep private data in a " -"separate repository." +#: en/git-svn.txt:1094 +msgid "Multiple fetch, branches, and tags keys are supported:" msgstr "" -#. type: Labeled list -#: en/config.txt:3123 +#. type: delimited block - +#: en/git-svn.txt:1103 #, no-wrap -msgid "transfer.unpackLimit" +msgid "" +"[svn-remote \"messy-repo\"]\n" +"\turl = http://server.org/svn\n" +"\tfetch = trunk/project-a:refs/remotes/project-a/trunk\n" +"\tfetch = " +"branches/demos/june-project-a-demo:refs/remotes/project-a/demos/june-demo\n" +"\tbranches = branches/server/*:refs/remotes/project-a/branches/*\n" +"\tbranches = branches/demos/2011/*:refs/remotes/project-a/2011-demos/*\n" +"\ttags = tags/server/*:refs/remotes/project-a/tags/*\n" msgstr "" #. type: Plain text -#: en/config.txt:3127 +#: en/git-svn.txt:1107 msgid "" -"When `fetch.unpackLimit` or `receive.unpackLimit` are not set, the value of " -"this variable is used instead. The default value is 100." +"Creating a branch in such a configuration requires disambiguating which " +"location to use using the -d or --destination flag:" msgstr "" -#. type: Labeled list -#: en/config.txt:3128 +#. type: delimited block - +#: en/git-svn.txt:1110 #, no-wrap -msgid "uploadarchive.allowUnreachable" +msgid "$ git svn branch -d branches/server release-2-3-0\n" msgstr "" #. type: Plain text -#: en/config.txt:3134 +#: en/git-svn.txt:1116 msgid "" -"If true, allow clients to use `git archive --remote` to request any tree, " -"whether reachable from the ref tips or not. See the discussion in the " -"\"SECURITY\" section of linkgit:git-upload-archive[1] for more " -"details. Defaults to `false`." +"Note that git-svn keeps track of the highest revision in which a branch or " +"tag has appeared. If the subset of branches or tags is changed after " +"fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove (or " +"reset) branches-maxRev and/or tags-maxRev as appropriate." msgstr "" -#. type: Labeled list -#: en/config.txt:3135 +#. type: Plain text +#: en/git-svn.txt:1125 #, no-wrap -msgid "uploadpack.hideRefs" +msgid "" +"$GIT_DIR/svn/\\*\\*/.rev_map.*::\n" +"\tMapping between Subversion revision numbers and Git commit\n" +"\tnames. In a repository where the noMetadata option is not set,\n" +"\tthis can be rebuilt from the git-svn-id: lines that are at the\n" +"\tend of every commit (see the 'svn.noMetadata' section above for\n" +"\tdetails).\n" msgstr "" #. type: Plain text -#: en/config.txt:3140 +#: en/git-svn.txt:1129 msgid "" -"This variable is the same as `transfer.hideRefs`, but applies only to " -"`upload-pack` (and so affects only fetches, not pushes). An attempt to " -"fetch a hidden ref by `git fetch` will fail. See also " -"`uploadpack.allowTipSHA1InWant`." +"'git svn fetch' and 'git svn rebase' automatically update the rev_map if it " +"is missing or not up to date. 'git svn reset' automatically rewinds it." msgstr "" -#. type: Labeled list -#: en/config.txt:3141 +#. type: Title = +#: en/git-symbolic-ref.txt:2 #, no-wrap -msgid "uploadpack.allowTipSHA1InWant" +msgid "git-symbolic-ref(1)" msgstr "" #. type: Plain text -#: en/config.txt:3149 -msgid "" -"When `uploadpack.hideRefs` is in effect, allow `upload-pack` to accept a " -"fetch request that asks for an object at the tip of a hidden ref (by " -"default, such a request is rejected). See also `uploadpack.hideRefs`. Even " -"if this is false, a client may be able to steal objects via the techniques " -"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " -"page; it's best to keep private data in a separate repository." +#: en/git-symbolic-ref.txt:7 +msgid "git-symbolic-ref - Read, modify and delete symbolic refs" msgstr "" -#. type: Labeled list -#: en/config.txt:3150 +#. type: Plain text +#: en/git-symbolic-ref.txt:14 #, no-wrap -msgid "uploadpack.allowReachableSHA1InWant" +msgid "" +"'git symbolic-ref' [-m <reason>] <name> <ref>\n" +"'git symbolic-ref' [-q] [--short] <name>\n" +"'git symbolic-ref' --delete [-q] <name>\n" msgstr "" #. type: Plain text -#: en/config.txt:3158 +#: en/git-symbolic-ref.txt:21 msgid "" -"Allow `upload-pack` to accept a fetch request that asks for an object that " -"is reachable from any ref tip. However, note that calculating object " -"reachability is computationally expensive. Defaults to `false`. Even if " -"this is false, a client may be able to steal objects via the techniques " -"described in the \"SECURITY\" section of the linkgit:gitnamespaces[7] man " -"page; it's best to keep private data in a separate repository." +"Given one argument, reads which branch head the given symbolic ref refers to " +"and outputs its path, relative to the `.git/` directory. Typically you " +"would give `HEAD` as the <name> argument to see which branch your working " +"tree is on." msgstr "" -#. type: Labeled list -#: en/config.txt:3159 -#, no-wrap -msgid "uploadpack.allowAnySHA1InWant" +#. type: Plain text +#: en/git-symbolic-ref.txt:24 +msgid "" +"Given two arguments, creates or updates a symbolic ref <name> to point at " +"the given branch <ref>." msgstr "" #. type: Plain text -#: en/config.txt:3163 +#: en/git-symbolic-ref.txt:27 +msgid "Given `--delete` and an additional argument, deletes the given symbolic ref." +msgstr "" + +#. type: Plain text +#: en/git-symbolic-ref.txt:31 msgid "" -"Allow `upload-pack` to accept a fetch request that asks for any object at " -"all. Defaults to `false`." +"A symbolic ref is a regular file that stores a string that begins with `ref: " +"refs/`. For example, your `.git/HEAD` is a regular file whose contents is " +"`ref: refs/heads/master`." msgstr "" -#. type: Labeled list -#: en/config.txt:3164 -#, no-wrap -msgid "uploadpack.keepAlive" +#. type: Plain text +#: en/git-symbolic-ref.txt:38 +msgid "Delete the symbolic ref <name>." msgstr "" #. type: Plain text -#: en/config.txt:3174 +#: en/git-symbolic-ref.txt:44 msgid "" -"When `upload-pack` has started `pack-objects`, there may be a quiet period " -"while `pack-objects` prepares the pack. Normally it would output progress " -"information, but if `--quiet` was used for the fetch, `pack-objects` will " -"output nothing at all until the pack data begins. Some clients and networks " -"may consider the server to be hung and give up. Setting this option " -"instructs `upload-pack` to send an empty keepalive packet every " -"`uploadpack.keepAlive` seconds. Setting this option to 0 disables keepalive " -"packets entirely. The default is 5 seconds." +"Do not issue an error message if the <name> is not a symbolic ref but a " +"detached HEAD; instead exit with non-zero status silently." msgstr "" -#. type: Labeled list -#: en/config.txt:3175 -#, no-wrap -msgid "uploadpack.packObjectsHook" +#. type: Plain text +#: en/git-symbolic-ref.txt:48 +msgid "" +"When showing the value of <name> as a symbolic ref, try to shorten the " +"value, e.g. from `refs/heads/master` to `master`." msgstr "" #. type: Plain text -#: en/config.txt:3185 +#: en/git-symbolic-ref.txt:52 msgid "" -"If this option is set, when `upload-pack` would run `git pack-objects` to " -"create a packfile for a client, it will run this shell command instead. The " -"`pack-objects` command and arguments it _would_ have run (including the `git " -"pack-objects` at the beginning) are appended to the shell command. The stdin " -"and stdout of the hook are treated as if `pack-objects` itself was " -"run. I.e., `upload-pack` will feed input intended for `pack-objects` to the " -"hook, and expects a completed packfile on stdout." +"Update the reflog for <name> with <reason>. This is valid only when " +"creating or updating a symbolic ref." msgstr "" #. type: Plain text -#: en/config.txt:3189 +#: en/git-symbolic-ref.txt:62 msgid "" -"Note that this configuration variable is ignored if it is seen in the " -"repository-level config (this is a safety measure against fetching from " -"untrusted repositories)." +"In the past, `.git/HEAD` was a symbolic link pointing at " +"`refs/heads/master`. When we wanted to switch to another branch, we did `ln " +"-sf refs/heads/newbranch .git/HEAD`, and when we wanted to find out which " +"branch we are on, we did `readlink .git/HEAD`. But symbolic links are not " +"entirely portable, so they are now deprecated and symbolic refs (as " +"described above) are used by default." msgstr "" -#. type: Labeled list -#: en/config.txt:3190 +#. type: Plain text +#: en/git-symbolic-ref.txt:66 +msgid "" +"'git symbolic-ref' will exit with status 0 if the contents of the symbolic " +"ref were printed correctly, with status 1 if the requested name is not a " +"symbolic ref, or 128 if another error occurs." +msgstr "" + +#. type: Title = +#: en/git-tag.txt:2 #, no-wrap -msgid "url.<base>.insteadOf" +msgid "git-tag(1)" msgstr "" #. type: Plain text -#: en/config.txt:3200 +#: en/git-tag.txt:7 +msgid "git-tag - Create, list, delete or verify a tag object signed with GPG" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:19 +#, no-wrap msgid "" -"Any URL that starts with this value will be rewritten to start, instead, " -"with <base>. In cases where some site serves a large number of repositories, " -"and serves them with multiple access methods, and some users need to use " -"different access methods, this feature allows people to specify any of the " -"equivalent URLs and have Git automatically rewrite the URL to the best " -"alternative for the particular user, even for a never-before-seen repository " -"on the site. When more than one insteadOf strings match a given URL, the " -"longest match is used." +"'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]\n" +"\t<tagname> [<commit> | <object>]\n" +"'git tag' -d <tagname>...\n" +"'git tag' [-n[<num>]] -l [--contains <commit>] [--points-at <object>]\n" +"\t[--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>]\n" +"\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]\n" +"'git tag' -v [--format=<format>] <tagname>...\n" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:25 +msgid "" +"Add a tag reference in `refs/tags/`, unless `-d/-l/-v` is given to delete, " +"list or verify tags." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:27 +msgid "Unless `-f` is given, the named tag must not yet exist." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:32 +msgid "" +"If one of `-a`, `-s`, or `-u <keyid>` is passed, the command creates a 'tag' " +"object, and requires a tag message. Unless `-m <msg>` or `-F <file>` is " +"given, an editor is started for the user to type in the tag message." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:35 +msgid "" +"If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <keyid>` are " +"absent, `-a` is implied." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:38 +msgid "" +"Otherwise just a tag reference for the SHA-1 object name of the commit " +"object is created (i.e. a lightweight tag)." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:44 +msgid "" +"A GnuPG signed tag object will be created when `-s` or `-u <keyid>` is " +"used. When `-u <keyid>` is not used, the committer identity for the current " +"user is used to find the GnuPG key for signing. \tThe configuration variable " +"`gpg.program` is used to specify custom GnuPG binary." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:50 +msgid "" +"Tag objects (created with `-a`, `-s`, or `-u`) are called \"annotated\" " +"tags; they contain a creation date, the tagger name and e-mail, a tagging " +"message, and an optional GnuPG signature. Whereas a \"lightweight\" tag is " +"simply a name for an object (usually a commit object)." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:55 +msgid "" +"Annotated tags are meant for release while lightweight tags are meant for " +"private or temporary object labels. For this reason, some git commands for " +"naming objects (like `git describe`) will ignore lightweight tags by " +"default." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:62 +msgid "Make an unsigned, annotated tag object" msgstr "" #. type: Labeled list -#: en/config.txt:3201 +#: en/git-tag.txt:64 #, no-wrap -msgid "url.<base>.pushInsteadOf" +msgid "--sign" msgstr "" #. type: Plain text -#: en/config.txt:3213 -msgid "" -"Any URL that starts with this value will not be pushed to; instead, it will " -"be rewritten to start with <base>, and the resulting URL will be pushed " -"to. In cases where some site serves a large number of repositories, and " -"serves them with multiple access methods, some of which do not allow push, " -"this feature allows people to specify a pull-only URL and have Git " -"automatically use an appropriate URL to push, even for a never-before-seen " -"repository on the site. When more than one pushInsteadOf strings match a " -"given URL, the longest match is used. If a remote has an explicit pushurl, " -"Git will ignore this setting for that remote." +#: en/git-tag.txt:66 +msgid "Make a GPG-signed tag, using the default e-mail address's key." msgstr "" #. type: Labeled list -#: en/config.txt:3214 +#: en/git-tag.txt:67 #, no-wrap -msgid "user.email" +msgid "-u <keyid>" +msgstr "" + +#. type: Labeled list +#: en/git-tag.txt:68 +#, no-wrap +msgid "--local-user=<keyid>" msgstr "" #. type: Plain text -#: en/config.txt:3218 -msgid "" -"Your email address to be recorded in any newly created commits. Can be " -"overridden by the `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_EMAIL`, and `EMAIL` " -"environment variables. See linkgit:git-commit-tree[1]." +#: en/git-tag.txt:70 +msgid "Make a GPG-signed tag, using the given key." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:74 +msgid "Replace an existing tag with the given name (instead of failing)" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:78 +msgid "Delete existing tags with the given names." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:82 +msgid "Verify the GPG signature of the given tag names." msgstr "" #. type: Labeled list -#: en/config.txt:3219 +#: en/git-tag.txt:83 #, no-wrap -msgid "user.name" +msgid "-n<num>" msgstr "" #. type: Plain text -#: en/config.txt:3223 +#: en/git-tag.txt:89 msgid "" -"Your full name to be recorded in any newly created commits. Can be " -"overridden by the `GIT_AUTHOR_NAME` and `GIT_COMMITTER_NAME` environment " -"variables. See linkgit:git-commit-tree[1]." +"<num> specifies how many lines from the annotation, if any, are printed when " +"using -l. The default is not to print any annotation lines. If no number " +"is given to `-n`, only the first line is printed. If the tag is not " +"annotated, the commit message is displayed instead." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:97 +msgid "" +"List tags with names that match the given pattern (or all if no pattern is " +"given). Running \"git tag\" without arguments also lists all tags. The " +"pattern is a shell wildcard (i.e., matched using fnmatch(3)). Multiple " +"patterns may be given; if any of them matches, the tag is shown." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:110 +msgid "" +"Sort based on the key given. Prefix `-` to sort in descending order of the " +"value. You may use the --sort=<key> option multiple times, in which case the " +"last key becomes the primary key. Also supports \"version:refname\" or " +"\"v:refname\" (tag names are treated as versions). The \"version:refname\" " +"sort order can also be affected by the \"versionsort.suffix\" configuration " +"variable. The keys supported are the same as those in `git for-each-ref`. " +"Sort order defaults to the value configured for the `tag.sort` variable if " +"it exists, or lexicographic order otherwise. See linkgit:git-config[1]." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:114 +msgid "Sorting and filtering tags are case insensitive." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:120 +msgid "" +"Display tag listing in columns. See configuration variable column.tag for " +"option syntax.`--column` and `--no-column` without options are equivalent to " +"'always' and 'never' respectively." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:122 +msgid "This option is only applicable when listing tags without annotation lines." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:126 +msgid "Only list tags which contain the specified commit (HEAD if not specified)." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:129 +msgid "Only list tags of the given object." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:137 +msgid "" +"Use the given tag message (instead of prompting). If multiple `-m` options " +"are given, their values are concatenated as separate paragraphs. Implies " +"`-a` if none of `-a`, `-s`, or `-u <keyid>` is given." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:144 +msgid "" +"Take the tag message from the given file. Use '-' to read the message from " +"the standard input. Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is " +"given." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:151 +msgid "" +"This option sets how the tag message is cleaned up. The '<mode>' can be one " +"of 'verbatim', 'whitespace' and 'strip'. The 'strip' mode is default. The " +"'verbatim' mode does not change message at all, 'whitespace' removes just " +"leading/trailing whitespace lines and 'strip' removes both whitespace and " +"commentary." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:158 +msgid "" +"Create a reflog for the tag. To globally enable reflogs for tags, see " +"`core.logAllRefUpdates` in linkgit:git-config[1]. The negated form " +"`--no-create-reflog` only overrides an earlier `--create-reflog`, but " +"currently does not negate the setting of `core.logallrefupdates`." msgstr "" #. type: Labeled list -#: en/config.txt:3224 +#: en/git-tag.txt:159 #, no-wrap -msgid "user.useConfigOnly" +msgid "<tagname>" msgstr "" #. type: Plain text -#: en/config.txt:3233 +#: en/git-tag.txt:164 msgid "" -"Instruct Git to avoid trying to guess defaults for `user.email` and " -"`user.name`, and instead retrieve the values only from the " -"configuration. For example, if you have multiple email addresses and would " -"like to use a different one for each repository, then with this " -"configuration option set to `true` in the global config along with a name, " -"Git will prompt you to set up an email before making new commits in a newly " -"cloned repository. Defaults to `false`." +"The name of the tag to create, delete, or describe. The new tag name must " +"pass all checks defined by linkgit:git-check-ref-format[1]. Some of these " +"checks may restrict the characters allowed in a tag name." msgstr "" #. type: Labeled list -#: en/config.txt:3234 +#: en/git-tag.txt:165 en/git.txt:789 #, no-wrap -msgid "user.signingKey" +msgid "<commit>" msgstr "" #. type: Plain text -#: en/config.txt:3240 +#: en/git-tag.txt:169 msgid "" -"If linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the key you " -"want it to automatically when creating a signed tag or commit, you can " -"override the default selection with this variable. This option is passed " -"unchanged to gpg's --local-user parameter, so you may specify a key using " -"any method that gpg supports." +"The object that the new tag will refer to, usually a commit. Defaults to " +"HEAD." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:175 +msgid "" +"A string that interpolates `%(fieldname)` from the object pointed at by a " +"ref being shown. The format is the same as that of " +"linkgit:git-for-each-ref[1]. When unspecified, defaults to " +"`%(refname:strip=2)`." msgstr "" #. type: Labeled list -#: en/config.txt:3241 +#: en/git-tag.txt:176 #, no-wrap -msgid "versionsort.prereleaseSuffix (deprecated)" +msgid "--[no-]merged [<commit>]" msgstr "" #. type: Plain text -#: en/config.txt:3244 +#: en/git-tag.txt:180 msgid "" -"Deprecated alias for `versionsort.suffix`. Ignored if `versionsort.suffix` " -"is set." +"Only list tags whose tips are reachable, or not reachable if `--no-merged` " +"is used, from the specified commit (`HEAD` if not specified)." msgstr "" -#. type: Labeled list -#: en/config.txt:3245 +#. type: Plain text +#: en/git-tag.txt:187 +msgid "" +"By default, 'git tag' in sign-with-default mode (-s) will use your committer " +"identity (of the form `Your Name <your@email.address>`) to find a key. If " +"you want to use a different default key, you can specify it in the " +"repository configuration as follows:" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:191 #, no-wrap -msgid "versionsort.suffix" +msgid "" +"[user]\n" +" signingKey = <gpg-keyid>\n" +msgstr "" + +#. type: Title ~ +#: en/git-tag.txt:198 +#, no-wrap +msgid "On Re-tagging" msgstr "" #. type: Plain text -#: en/config.txt:3252 +#: en/git-tag.txt:202 +msgid "What should you do when you tag a wrong commit and you would want to re-tag?" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:205 msgid "" -"Even when version sort is used in linkgit:git-tag[1], tagnames with the same " -"base version but different suffixes are still sorted lexicographically, " -"resulting e.g. in prerelease tags appearing after the main release " -"(e.g. \"1.0-rc1\" after \"1.0\"). This variable can be specified to " -"determine the sorting order of tags with different suffixes." +"If you never pushed anything out, just re-tag it. Use \"-f\" to replace the " +"old one. And you're done." msgstr "" #. type: Plain text -#: en/config.txt:3266 +#: en/git-tag.txt:209 msgid "" -"By specifying a single suffix in this variable, any tagname containing that " -"suffix will appear before the corresponding main release. E.g. if the " -"variable is set to \"-rc\", then all \"1.0-rcX\" tags will appear before " -"\"1.0\". If specified multiple times, once per suffix, then the order of " -"suffixes in the configuration will determine the sorting order of tagnames " -"with those suffixes. E.g. if \"-pre\" appears before \"-rc\" in the " -"configuration, then all \"1.0-preX\" tags will be listed before any " -"\"1.0-rcX\" tags. The placement of the main release tag relative to tags " -"with various suffixes can be determined by specifying the empty suffix among " -"those other suffixes. E.g. if the suffixes \"-rc\", \"\", \"-ck\" and " -"\"-bfs\" appear in the configuration in this order, then all \"v4.8-rcX\" " -"tags are listed first, followed by \"v4.8\", then \"v4.8-ckX\" and finally " -"\"v4.8-bfsX\"." +"But if you have pushed things out (or others could just read your repository " +"directly), then others will have already seen the old tag. In that case you " +"can do one of two things:" msgstr "" #. type: Plain text -#: en/config.txt:3274 +#: en/git-tag.txt:216 msgid "" -"If more than one suffixes match the same tagname, then that tagname will be " -"sorted according to the suffix which starts at the earliest position in the " -"tagname. If more than one different matching suffixes start at that " -"earliest position, then that tagname will be sorted according to the longest " -"of those suffixes. The sorting order between different suffixes is " -"undefined if they are in multiple config files." +"The sane thing. Just admit you screwed up, and use a different name. Others " +"have already seen one tag-name, and if you keep the same name, you may be in " +"the situation that two people both have \"version X\", but they actually " +"have 'different' \"X\"'s. So just call it \"X.1\" and be done with it." msgstr "" -#. type: Labeled list -#: en/config.txt:3275 -#, no-wrap -msgid "web.browser" +#. type: Plain text +#: en/git-tag.txt:221 +msgid "" +"The insane thing. You really want to call the new version \"X\" too, 'even " +"though' others have already seen the old one. So just use 'git tag -f' " +"again, as if you hadn't already published the old one." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:226 +msgid "" +"However, Git does *not* (and it should not) change tags behind users " +"back. So if somebody already got the old tag, doing a 'git pull' on your " +"tree shouldn't just make them overwrite the old one." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:233 +msgid "" +"If somebody got a release tag from you, you cannot just change the tag for " +"them by updating your own one. This is a big security issue, in that people " +"MUST be able to trust their tag-names. If you really want to do the insane " +"thing, you need to just fess up to it, and tell people that you messed " +"up. You can do that by making a very public announcement saying:" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:237 +#, no-wrap +msgid "" +"Ok, I messed up, and I pushed out an earlier version tagged as X. I\n" +"then fixed something, and retagged the *fixed* tree as X again.\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:240 +#, no-wrap +msgid "" +"If you got the wrong tag, and want the new one, please delete\n" +"the old one and fetch the new one by doing:\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:243 +#, no-wrap +msgid "" +"\tgit tag -d X\n" +"\tgit fetch origin tag X\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:245 +#, no-wrap +msgid "to get my updated tag.\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:247 +#, no-wrap +msgid "You can test which tag you have by doing\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:249 +#, no-wrap +msgid "\tgit rev-parse X\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:251 +#, no-wrap +msgid "which should return 0123456789abcdef.. if you have the new version.\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:253 +#, no-wrap +msgid "Sorry for the inconvenience.\n" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:258 +msgid "" +"Does this seem a bit complicated? It *should* be. There is no way that it " +"would be correct to just \"fix\" it automatically. People need to know that " +"their tags might have been changed." +msgstr "" + +#. type: Title ~ +#: en/git-tag.txt:261 +#, no-wrap +msgid "On Automatic following" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:266 +msgid "" +"If you are following somebody else's tree, you are most likely using " +"remote-tracking branches (eg. `refs/remotes/origin/master`). You usually " +"want the tags from the other end." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:273 +msgid "" +"On the other hand, if you are fetching because you would want a one-shot " +"merge from somebody else, you typically do not want to get tags from there. " +"This happens more often for people near the toplevel but not limited to " +"them. Mere mortals when pulling from each other do not necessarily want to " +"automatically get private anchor point tags from the other person." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:278 +msgid "" +"Often, \"please pull\" messages on the mailing list just provide two pieces " +"of information: a repo URL and a branch name; this is designed to be easily " +"cut&pasted at the end of a 'git fetch' command line:" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:281 +#, no-wrap +msgid "Linus, please pull from\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:283 +#, no-wrap +msgid "\tgit://git..../proj.git master\n" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:285 +#, no-wrap +msgid "to get the following updates...\n" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:288 +msgid "becomes:" +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:291 +#, no-wrap +msgid "$ git pull git://git..../proj.git master\n" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:295 +msgid "" +"In such a case, you do not want to automatically follow the other person's " +"tags." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:303 +msgid "" +"One important aspect of Git is its distributed nature, which largely means " +"there is no inherent \"upstream\" or \"downstream\" in the system. On the " +"face of it, the above example might seem to indicate that the tag namespace " +"is owned by the upper echelon of people and that tags only flow downwards, " +"but that is not the case. It only shows that the usage pattern determines " +"who are interested in whose tags." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:315 +msgid "" +"A one-shot pull is a sign that a commit history is now crossing the boundary " +"between one circle of people (e.g. \"people who are primarily interested in " +"the networking part of the kernel\") who may have their own set of tags " +"(e.g. \"this is the third release candidate from the networking group to be " +"proposed for general consumption with 2.6.21 release\") to another circle of " +"people (e.g. \"people who integrate various subsystem improvements\"). The " +"latter are usually not interested in the detailed tags used internally in " +"the former group (that is what \"internal\" means). That is why it is " +"desirable not to follow tags automatically in this case." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:321 +msgid "" +"It may well be that among networking people, they may want to exchange the " +"tags internal to their group, but in that workflow they are most likely " +"tracking each other's progress by having remote-tracking branches. Again, " +"the heuristic to automatically follow such tags is a good thing." +msgstr "" + +#. type: Title ~ +#: en/git-tag.txt:324 +#, no-wrap +msgid "On Backdating Tags" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:331 +msgid "" +"If you have imported some changes from another VCS and would like to add " +"tags for major releases of your work, it is useful to be able to specify the " +"date to embed inside of the tag object; such data in the tag object affects, " +"for example, the ordering of tags in the gitweb interface." +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:335 +msgid "" +"To set the date used in future tag objects, set the environment variable " +"GIT_COMMITTER_DATE (see the later discussion of possible values; the most " +"common form is \"YYYY-MM-DD HH:MM\")." +msgstr "" + +#. type: delimited block - +#: en/git-tag.txt:340 +#, no-wrap +msgid "$ GIT_COMMITTER_DATE=\"2006-10-02 10:31\" git tag -s v1.0.1\n" +msgstr "" + +#. type: Plain text +#: en/git-tag.txt:348 +msgid "linkgit:git-check-ref-format[1]. linkgit:git-config[1]." +msgstr "" + +#. type: Title = +#: en/git.txt:2 +#, no-wrap +msgid "git(1)" +msgstr "" + +#. type: Plain text +#: en/git.txt:7 +msgid "git - the stupid content tracker" +msgstr "" + +#. type: Plain text +#: en/git.txt:18 +#, no-wrap +msgid "" +"'git' [--version] [--help] [-C <path>] [-c <name>=<value>]\n" +" [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n" +" [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]\n" +" [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n" +" [--super-prefix=<path>]\n" +" <command> [<args>]\n" +msgstr "" + +#. type: Plain text +#: en/git.txt:24 +msgid "" +"Git is a fast, scalable, distributed revision control system with an " +"unusually rich command set that provides both high-level operations and full " +"access to internals." +msgstr "" + +#. type: Plain text +#: en/git.txt:29 +msgid "" +"See linkgit:gittutorial[7] to get started, then see linkgit:giteveryday[7] " +"for a useful minimum set of commands. The link:user-manual.html[Git User's " +"Manual] has a more in-depth introduction." +msgstr "" + +#. type: Plain text +#: en/git.txt:34 +msgid "" +"After you mastered the basic concepts, you can come back to this page to " +"learn what commands Git offers. You can learn more about individual Git " +"commands with \"git help command\". linkgit:gitcli[7] manual page gives you " +"an overview of the command-line command syntax." +msgstr "" + +#. type: Plain text +#: en/git.txt:37 +msgid "" +"A formatted and hyperlinked copy of the latest Git documentation can be " +"viewed at `https://git.github.io/htmldocs/git.html`." +msgstr "" + +#. type: delimited block = +#: en/git.txt:46 +msgid "" +"You are reading the documentation for the latest (possibly unreleased) " +"version of Git, that is available from the 'master' branch of the `git.git` " +"repository. Documentation for older releases are available here:" +msgstr "" + +#. type: delimited block = +#: en/git.txt:48 +msgid "link:v2.12.1/git.html[documentation for release 2.12.1]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:52 +msgid "" +"release notes for link:RelNotes/2.12.1.txt[2.12.1]. " +"link:RelNotes/2.12.0.txt[2.12]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:54 +msgid "link:v2.11.1/git.html[documentation for release 2.11.1]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:58 +msgid "" +"release notes for link:RelNotes/2.11.1.txt[2.11.1], " +"link:RelNotes/2.11.0.txt[2.11]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:60 +msgid "link:v2.10.2/git.html[documentation for release 2.10.2]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:65 +msgid "" +"release notes for link:RelNotes/2.10.2.txt[2.10.2], " +"link:RelNotes/2.10.1.txt[2.10.1], link:RelNotes/2.10.0.txt[2.10]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:67 +msgid "link:v2.9.3/git.html[documentation for release 2.9.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:73 +msgid "" +"release notes for link:RelNotes/2.9.3.txt[2.9.3], " +"link:RelNotes/2.9.2.txt[2.9.2], link:RelNotes/2.9.1.txt[2.9.1], " +"link:RelNotes/2.9.0.txt[2.9]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:75 +msgid "link:v2.8.4/git.html[documentation for release 2.8.4]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:82 +msgid "" +"release notes for link:RelNotes/2.8.4.txt[2.8.4], " +"link:RelNotes/2.8.3.txt[2.8.3], link:RelNotes/2.8.2.txt[2.8.2], " +"link:RelNotes/2.8.1.txt[2.8.1], link:RelNotes/2.8.0.txt[2.8]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:84 +msgid "link:v2.7.3/git.html[documentation for release 2.7.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:90 +msgid "" +"release notes for link:RelNotes/2.7.3.txt[2.7.3], " +"link:RelNotes/2.7.2.txt[2.7.2], link:RelNotes/2.7.1.txt[2.7.1], " +"link:RelNotes/2.7.0.txt[2.7]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:92 +msgid "link:v2.6.6/git.html[documentation for release 2.6.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:101 +msgid "" +"release notes for link:RelNotes/2.6.6.txt[2.6.6], " +"link:RelNotes/2.6.5.txt[2.6.5], link:RelNotes/2.6.4.txt[2.6.4], " +"link:RelNotes/2.6.3.txt[2.6.3], link:RelNotes/2.6.2.txt[2.6.2], " +"link:RelNotes/2.6.1.txt[2.6.1], link:RelNotes/2.6.0.txt[2.6]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:103 +msgid "link:v2.5.5/git.html[documentation for release 2.5.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:111 +msgid "" +"release notes for link:RelNotes/2.5.5.txt[2.5.5], " +"link:RelNotes/2.5.4.txt[2.5.4], link:RelNotes/2.5.3.txt[2.5.3], " +"link:RelNotes/2.5.2.txt[2.5.2], link:RelNotes/2.5.1.txt[2.5.1], " +"link:RelNotes/2.5.0.txt[2.5]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:113 +msgid "link:v2.4.11/git.html[documentation for release 2.4.11]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:127 +msgid "" +"release notes for link:RelNotes/2.4.11.txt[2.4.11], " +"link:RelNotes/2.4.10.txt[2.4.10], link:RelNotes/2.4.9.txt[2.4.9], " +"link:RelNotes/2.4.8.txt[2.4.8], link:RelNotes/2.4.7.txt[2.4.7], " +"link:RelNotes/2.4.6.txt[2.4.6], link:RelNotes/2.4.5.txt[2.4.5], " +"link:RelNotes/2.4.4.txt[2.4.4], link:RelNotes/2.4.3.txt[2.4.3], " +"link:RelNotes/2.4.2.txt[2.4.2], link:RelNotes/2.4.1.txt[2.4.1], " +"link:RelNotes/2.4.0.txt[2.4]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:129 +msgid "link:v2.3.10/git.html[documentation for release 2.3.10]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:142 +msgid "" +"release notes for link:RelNotes/2.3.10.txt[2.3.10], " +"link:RelNotes/2.3.9.txt[2.3.9], link:RelNotes/2.3.8.txt[2.3.8], " +"link:RelNotes/2.3.7.txt[2.3.7], link:RelNotes/2.3.6.txt[2.3.6], " +"link:RelNotes/2.3.5.txt[2.3.5], link:RelNotes/2.3.4.txt[2.3.4], " +"link:RelNotes/2.3.3.txt[2.3.3], link:RelNotes/2.3.2.txt[2.3.2], " +"link:RelNotes/2.3.1.txt[2.3.1], link:RelNotes/2.3.0.txt[2.3]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:144 +msgid "link:v2.2.3/git.html[documentation for release 2.2.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:150 +msgid "" +"release notes for link:RelNotes/2.2.3.txt[2.2.3], " +"link:RelNotes/2.2.2.txt[2.2.2], link:RelNotes/2.2.1.txt[2.2.1], " +"link:RelNotes/2.2.0.txt[2.2]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:152 +msgid "link:v2.1.4/git.html[documentation for release 2.1.4]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:159 +msgid "" +"release notes for link:RelNotes/2.1.4.txt[2.1.4], " +"link:RelNotes/2.1.3.txt[2.1.3], link:RelNotes/2.1.2.txt[2.1.2], " +"link:RelNotes/2.1.1.txt[2.1.1], link:RelNotes/2.1.0.txt[2.1]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:161 +msgid "link:v2.0.5/git.html[documentation for release 2.0.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:169 +msgid "" +"release notes for link:RelNotes/2.0.5.txt[2.0.5], " +"link:RelNotes/2.0.4.txt[2.0.4], link:RelNotes/2.0.3.txt[2.0.3], " +"link:RelNotes/2.0.2.txt[2.0.2], link:RelNotes/2.0.1.txt[2.0.1], " +"link:RelNotes/2.0.0.txt[2.0.0]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:171 +msgid "link:v1.9.5/git.html[documentation for release 1.9.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:179 +msgid "" +"release notes for link:RelNotes/1.9.5.txt[1.9.5], " +"link:RelNotes/1.9.4.txt[1.9.4], link:RelNotes/1.9.3.txt[1.9.3], " +"link:RelNotes/1.9.2.txt[1.9.2], link:RelNotes/1.9.1.txt[1.9.1], " +"link:RelNotes/1.9.0.txt[1.9.0]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:181 +msgid "link:v1.8.5.6/git.html[documentation for release 1.8.5.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:190 +msgid "" +"release notes for link:RelNotes/1.8.5.6.txt[1.8.5.6], " +"link:RelNotes/1.8.5.5.txt[1.8.5.5], link:RelNotes/1.8.5.4.txt[1.8.5.4], " +"link:RelNotes/1.8.5.3.txt[1.8.5.3], link:RelNotes/1.8.5.2.txt[1.8.5.2], " +"link:RelNotes/1.8.5.1.txt[1.8.5.1], link:RelNotes/1.8.5.txt[1.8.5]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:192 +msgid "link:v1.8.4.5/git.html[documentation for release 1.8.4.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:200 +msgid "" +"release notes for link:RelNotes/1.8.4.5.txt[1.8.4.5], " +"link:RelNotes/1.8.4.4.txt[1.8.4.4], link:RelNotes/1.8.4.3.txt[1.8.4.3], " +"link:RelNotes/1.8.4.2.txt[1.8.4.2], link:RelNotes/1.8.4.1.txt[1.8.4.1], " +"link:RelNotes/1.8.4.txt[1.8.4]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:202 +msgid "link:v1.8.3.4/git.html[documentation for release 1.8.3.4]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:209 +msgid "" +"release notes for link:RelNotes/1.8.3.4.txt[1.8.3.4], " +"link:RelNotes/1.8.3.3.txt[1.8.3.3], link:RelNotes/1.8.3.2.txt[1.8.3.2], " +"link:RelNotes/1.8.3.1.txt[1.8.3.1], link:RelNotes/1.8.3.txt[1.8.3]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:211 +msgid "link:v1.8.2.3/git.html[documentation for release 1.8.2.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:217 +msgid "" +"release notes for link:RelNotes/1.8.2.3.txt[1.8.2.3], " +"link:RelNotes/1.8.2.2.txt[1.8.2.2], link:RelNotes/1.8.2.1.txt[1.8.2.1], " +"link:RelNotes/1.8.2.txt[1.8.2]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:219 +msgid "link:v1.8.1.6/git.html[documentation for release 1.8.1.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:228 +msgid "" +"release notes for link:RelNotes/1.8.1.6.txt[1.8.1.6], " +"link:RelNotes/1.8.1.5.txt[1.8.1.5], link:RelNotes/1.8.1.4.txt[1.8.1.4], " +"link:RelNotes/1.8.1.3.txt[1.8.1.3], link:RelNotes/1.8.1.2.txt[1.8.1.2], " +"link:RelNotes/1.8.1.1.txt[1.8.1.1], link:RelNotes/1.8.1.txt[1.8.1]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:230 +msgid "link:v1.8.0.3/git.html[documentation for release 1.8.0.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:236 +msgid "" +"release notes for link:RelNotes/1.8.0.3.txt[1.8.0.3], " +"link:RelNotes/1.8.0.2.txt[1.8.0.2], link:RelNotes/1.8.0.1.txt[1.8.0.1], " +"link:RelNotes/1.8.0.txt[1.8.0]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:238 +msgid "link:v1.7.12.4/git.html[documentation for release 1.7.12.4]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:245 +msgid "" +"release notes for link:RelNotes/1.7.12.4.txt[1.7.12.4], " +"link:RelNotes/1.7.12.3.txt[1.7.12.3], link:RelNotes/1.7.12.2.txt[1.7.12.2], " +"link:RelNotes/1.7.12.1.txt[1.7.12.1], link:RelNotes/1.7.12.txt[1.7.12]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:247 +msgid "link:v1.7.11.7/git.html[documentation for release 1.7.11.7]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:257 +msgid "" +"release notes for link:RelNotes/1.7.11.7.txt[1.7.11.7], " +"link:RelNotes/1.7.11.6.txt[1.7.11.6], link:RelNotes/1.7.11.5.txt[1.7.11.5], " +"link:RelNotes/1.7.11.4.txt[1.7.11.4], link:RelNotes/1.7.11.3.txt[1.7.11.3], " +"link:RelNotes/1.7.11.2.txt[1.7.11.2], link:RelNotes/1.7.11.1.txt[1.7.11.1], " +"link:RelNotes/1.7.11.txt[1.7.11]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:259 +msgid "link:v1.7.10.5/git.html[documentation for release 1.7.10.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:267 +msgid "" +"release notes for link:RelNotes/1.7.10.5.txt[1.7.10.5], " +"link:RelNotes/1.7.10.4.txt[1.7.10.4], link:RelNotes/1.7.10.3.txt[1.7.10.3], " +"link:RelNotes/1.7.10.2.txt[1.7.10.2], link:RelNotes/1.7.10.1.txt[1.7.10.1], " +"link:RelNotes/1.7.10.txt[1.7.10]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:269 +msgid "link:v1.7.9.7/git.html[documentation for release 1.7.9.7]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:279 +msgid "" +"release notes for link:RelNotes/1.7.9.7.txt[1.7.9.7], " +"link:RelNotes/1.7.9.6.txt[1.7.9.6], link:RelNotes/1.7.9.5.txt[1.7.9.5], " +"link:RelNotes/1.7.9.4.txt[1.7.9.4], link:RelNotes/1.7.9.3.txt[1.7.9.3], " +"link:RelNotes/1.7.9.2.txt[1.7.9.2], link:RelNotes/1.7.9.1.txt[1.7.9.1], " +"link:RelNotes/1.7.9.txt[1.7.9]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:281 +msgid "link:v1.7.8.6/git.html[documentation for release 1.7.8.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:290 +msgid "" +"release notes for link:RelNotes/1.7.8.6.txt[1.7.8.6], " +"link:RelNotes/1.7.8.5.txt[1.7.8.5], link:RelNotes/1.7.8.4.txt[1.7.8.4], " +"link:RelNotes/1.7.8.3.txt[1.7.8.3], link:RelNotes/1.7.8.2.txt[1.7.8.2], " +"link:RelNotes/1.7.8.1.txt[1.7.8.1], link:RelNotes/1.7.8.txt[1.7.8]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:292 +msgid "link:v1.7.7.7/git.html[documentation for release 1.7.7.7]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:302 +msgid "" +"release notes for link:RelNotes/1.7.7.7.txt[1.7.7.7], " +"link:RelNotes/1.7.7.6.txt[1.7.7.6], link:RelNotes/1.7.7.5.txt[1.7.7.5], " +"link:RelNotes/1.7.7.4.txt[1.7.7.4], link:RelNotes/1.7.7.3.txt[1.7.7.3], " +"link:RelNotes/1.7.7.2.txt[1.7.7.2], link:RelNotes/1.7.7.1.txt[1.7.7.1], " +"link:RelNotes/1.7.7.txt[1.7.7]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:304 +msgid "link:v1.7.6.6/git.html[documentation for release 1.7.6.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:313 +msgid "" +"release notes for link:RelNotes/1.7.6.6.txt[1.7.6.6], " +"link:RelNotes/1.7.6.5.txt[1.7.6.5], link:RelNotes/1.7.6.4.txt[1.7.6.4], " +"link:RelNotes/1.7.6.3.txt[1.7.6.3], link:RelNotes/1.7.6.2.txt[1.7.6.2], " +"link:RelNotes/1.7.6.1.txt[1.7.6.1], link:RelNotes/1.7.6.txt[1.7.6]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:315 +msgid "link:v1.7.5.4/git.html[documentation for release 1.7.5.4]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:322 +msgid "" +"release notes for link:RelNotes/1.7.5.4.txt[1.7.5.4], " +"link:RelNotes/1.7.5.3.txt[1.7.5.3], link:RelNotes/1.7.5.2.txt[1.7.5.2], " +"link:RelNotes/1.7.5.1.txt[1.7.5.1], link:RelNotes/1.7.5.txt[1.7.5]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:324 +msgid "link:v1.7.4.5/git.html[documentation for release 1.7.4.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:332 +msgid "" +"release notes for link:RelNotes/1.7.4.5.txt[1.7.4.5], " +"link:RelNotes/1.7.4.4.txt[1.7.4.4], link:RelNotes/1.7.4.3.txt[1.7.4.3], " +"link:RelNotes/1.7.4.2.txt[1.7.4.2], link:RelNotes/1.7.4.1.txt[1.7.4.1], " +"link:RelNotes/1.7.4.txt[1.7.4]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:334 +msgid "link:v1.7.3.5/git.html[documentation for release 1.7.3.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:342 +msgid "" +"release notes for link:RelNotes/1.7.3.5.txt[1.7.3.5], " +"link:RelNotes/1.7.3.4.txt[1.7.3.4], link:RelNotes/1.7.3.3.txt[1.7.3.3], " +"link:RelNotes/1.7.3.2.txt[1.7.3.2], link:RelNotes/1.7.3.1.txt[1.7.3.1], " +"link:RelNotes/1.7.3.txt[1.7.3]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:344 +msgid "link:v1.7.2.5/git.html[documentation for release 1.7.2.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:352 +msgid "" +"release notes for link:RelNotes/1.7.2.5.txt[1.7.2.5], " +"link:RelNotes/1.7.2.4.txt[1.7.2.4], link:RelNotes/1.7.2.3.txt[1.7.2.3], " +"link:RelNotes/1.7.2.2.txt[1.7.2.2], link:RelNotes/1.7.2.1.txt[1.7.2.1], " +"link:RelNotes/1.7.2.txt[1.7.2]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:354 +msgid "link:v1.7.1.4/git.html[documentation for release 1.7.1.4]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:361 +msgid "" +"release notes for link:RelNotes/1.7.1.4.txt[1.7.1.4], " +"link:RelNotes/1.7.1.3.txt[1.7.1.3], link:RelNotes/1.7.1.2.txt[1.7.1.2], " +"link:RelNotes/1.7.1.1.txt[1.7.1.1], link:RelNotes/1.7.1.txt[1.7.1]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:363 +msgid "link:v1.7.0.9/git.html[documentation for release 1.7.0.9]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:375 +msgid "" +"release notes for link:RelNotes/1.7.0.9.txt[1.7.0.9], " +"link:RelNotes/1.7.0.8.txt[1.7.0.8], link:RelNotes/1.7.0.7.txt[1.7.0.7], " +"link:RelNotes/1.7.0.6.txt[1.7.0.6], link:RelNotes/1.7.0.5.txt[1.7.0.5], " +"link:RelNotes/1.7.0.4.txt[1.7.0.4], link:RelNotes/1.7.0.3.txt[1.7.0.3], " +"link:RelNotes/1.7.0.2.txt[1.7.0.2], link:RelNotes/1.7.0.1.txt[1.7.0.1], " +"link:RelNotes/1.7.0.txt[1.7.0]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:377 +msgid "link:v1.6.6.3/git.html[documentation for release 1.6.6.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:383 +msgid "" +"release notes for link:RelNotes/1.6.6.3.txt[1.6.6.3], " +"link:RelNotes/1.6.6.2.txt[1.6.6.2], link:RelNotes/1.6.6.1.txt[1.6.6.1], " +"link:RelNotes/1.6.6.txt[1.6.6]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:385 +msgid "link:v1.6.5.9/git.html[documentation for release 1.6.5.9]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:397 +msgid "" +"release notes for link:RelNotes/1.6.5.9.txt[1.6.5.9], " +"link:RelNotes/1.6.5.8.txt[1.6.5.8], link:RelNotes/1.6.5.7.txt[1.6.5.7], " +"link:RelNotes/1.6.5.6.txt[1.6.5.6], link:RelNotes/1.6.5.5.txt[1.6.5.5], " +"link:RelNotes/1.6.5.4.txt[1.6.5.4], link:RelNotes/1.6.5.3.txt[1.6.5.3], " +"link:RelNotes/1.6.5.2.txt[1.6.5.2], link:RelNotes/1.6.5.1.txt[1.6.5.1], " +"link:RelNotes/1.6.5.txt[1.6.5]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:399 +msgid "link:v1.6.4.5/git.html[documentation for release 1.6.4.5]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:407 +msgid "" +"release notes for link:RelNotes/1.6.4.5.txt[1.6.4.5], " +"link:RelNotes/1.6.4.4.txt[1.6.4.4], link:RelNotes/1.6.4.3.txt[1.6.4.3], " +"link:RelNotes/1.6.4.2.txt[1.6.4.2], link:RelNotes/1.6.4.1.txt[1.6.4.1], " +"link:RelNotes/1.6.4.txt[1.6.4]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:409 +msgid "link:v1.6.3.4/git.html[documentation for release 1.6.3.4]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:416 +msgid "" +"release notes for link:RelNotes/1.6.3.4.txt[1.6.3.4], " +"link:RelNotes/1.6.3.3.txt[1.6.3.3], link:RelNotes/1.6.3.2.txt[1.6.3.2], " +"link:RelNotes/1.6.3.1.txt[1.6.3.1], link:RelNotes/1.6.3.txt[1.6.3]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:424 +msgid "" +"release notes for link:RelNotes/1.6.2.5.txt[1.6.2.5], " +"link:RelNotes/1.6.2.4.txt[1.6.2.4], link:RelNotes/1.6.2.3.txt[1.6.2.3], " +"link:RelNotes/1.6.2.2.txt[1.6.2.2], link:RelNotes/1.6.2.1.txt[1.6.2.1], " +"link:RelNotes/1.6.2.txt[1.6.2]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:426 +msgid "link:v1.6.1.3/git.html[documentation for release 1.6.1.3]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:432 +msgid "" +"release notes for link:RelNotes/1.6.1.3.txt[1.6.1.3], " +"link:RelNotes/1.6.1.2.txt[1.6.1.2], link:RelNotes/1.6.1.1.txt[1.6.1.1], " +"link:RelNotes/1.6.1.txt[1.6.1]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:434 +msgid "link:v1.6.0.6/git.html[documentation for release 1.6.0.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:443 +msgid "" +"release notes for link:RelNotes/1.6.0.6.txt[1.6.0.6], " +"link:RelNotes/1.6.0.5.txt[1.6.0.5], link:RelNotes/1.6.0.4.txt[1.6.0.4], " +"link:RelNotes/1.6.0.3.txt[1.6.0.3], link:RelNotes/1.6.0.2.txt[1.6.0.2], " +"link:RelNotes/1.6.0.1.txt[1.6.0.1], link:RelNotes/1.6.0.txt[1.6.0]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:445 +msgid "link:v1.5.6.6/git.html[documentation for release 1.5.6.6]" +msgstr "" + +#. type: delimited block = +#: en/git.txt:454 +msgid "" +"release notes for link:RelNotes/1.5.6.6.txt[1.5.6.6], " +"link:RelNotes/1.5.6.5.txt[1.5.6.5], link:RelNotes/1.5.6.4.txt[1.5.6.4], " +"link:RelNotes/1.5.6.3.txt[1.5.6.3], link:RelNotes/1.5.6.2.txt[1.5.6.2], " +"link:RelNotes/1.5.6.1.txt[1.5.6.1], link:RelNotes/1.5.6.txt[1.5.6]." +msgstr "" + +#. type: delimited block = +#: en/git.txt:456 +msgid "link:v1.5.5.6/git.html[documentation for release 1.5.5.6]" msgstr "" -#. type: Plain text -#: en/config.txt:3278 +#. type: delimited block = +#: en/git.txt:465 msgid "" -"Specify a web browser that may be used by some commands. Currently only " -"linkgit:git-instaweb[1] and linkgit:git-help[1] may use it." +"release notes for link:RelNotes/1.5.5.6.txt[1.5.5.6], " +"link:RelNotes/1.5.5.5.txt[1.5.5.5], link:RelNotes/1.5.5.4.txt[1.5.5.4], " +"link:RelNotes/1.5.5.3.txt[1.5.5.3], link:RelNotes/1.5.5.2.txt[1.5.5.2], " +"link:RelNotes/1.5.5.1.txt[1.5.5.1], link:RelNotes/1.5.5.txt[1.5.5]." msgstr "" -#. type: Title - -#: en/date-formats.txt:2 -#, no-wrap -msgid "DATE FORMATS" +#. type: delimited block = +#: en/git.txt:467 +msgid "link:v1.5.4.7/git.html[documentation for release 1.5.4.7]" msgstr "" -#. type: Plain text -#: en/date-formats.txt:5 -msgid "The `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE` environment variables" +#. type: delimited block = +#: en/git.txt:477 +msgid "" +"release notes for link:RelNotes/1.5.4.7.txt[1.5.4.7], " +"link:RelNotes/1.5.4.6.txt[1.5.4.6], link:RelNotes/1.5.4.5.txt[1.5.4.5], " +"link:RelNotes/1.5.4.4.txt[1.5.4.4], link:RelNotes/1.5.4.3.txt[1.5.4.3], " +"link:RelNotes/1.5.4.2.txt[1.5.4.2], link:RelNotes/1.5.4.1.txt[1.5.4.1], " +"link:RelNotes/1.5.4.txt[1.5.4]." msgstr "" -#. type: Plain text -#: en/date-formats.txt:7 -msgid "and the `--date` option" +#. type: delimited block = +#: en/git.txt:479 +msgid "link:v1.5.3.8/git.html[documentation for release 1.5.3.8]" msgstr "" -#. type: Plain text -#: en/date-formats.txt:9 -msgid "support the following date formats:" +#. type: delimited block = +#: en/git.txt:490 +msgid "" +"release notes for link:RelNotes/1.5.3.8.txt[1.5.3.8], " +"link:RelNotes/1.5.3.7.txt[1.5.3.7], link:RelNotes/1.5.3.6.txt[1.5.3.6], " +"link:RelNotes/1.5.3.5.txt[1.5.3.5], link:RelNotes/1.5.3.4.txt[1.5.3.4], " +"link:RelNotes/1.5.3.3.txt[1.5.3.3], link:RelNotes/1.5.3.2.txt[1.5.3.2], " +"link:RelNotes/1.5.3.1.txt[1.5.3.1], link:RelNotes/1.5.3.txt[1.5.3]." msgstr "" -#. type: Labeled list -#: en/date-formats.txt:10 -#, no-wrap -msgid "Git internal format" +#. type: delimited block = +#: en/git.txt:492 +msgid "link:v1.5.2.5/git.html[documentation for release 1.5.2.5]" msgstr "" -#. type: Plain text -#: en/date-formats.txt:15 +#. type: delimited block = +#: en/git.txt:500 msgid "" -"It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is the " -"number of seconds since the UNIX epoch. `<time zone offset>` is a positive " -"or negative offset from UTC. For example CET (which is 1 hour ahead of UTC) " -"is `+0100`." +"release notes for link:RelNotes/1.5.2.5.txt[1.5.2.5], " +"link:RelNotes/1.5.2.4.txt[1.5.2.4], link:RelNotes/1.5.2.3.txt[1.5.2.3], " +"link:RelNotes/1.5.2.2.txt[1.5.2.2], link:RelNotes/1.5.2.1.txt[1.5.2.1], " +"link:RelNotes/1.5.2.txt[1.5.2]." msgstr "" -#. type: Labeled list -#: en/date-formats.txt:16 -#, no-wrap -msgid "RFC 2822" +#. type: delimited block = +#: en/git.txt:502 +msgid "link:v1.5.1.6/git.html[documentation for release 1.5.1.6]" msgstr "" -#. type: Plain text -#: en/date-formats.txt:19 +#. type: delimited block = +#: en/git.txt:511 msgid "" -"The standard email format as described by RFC 2822, for example `Thu, 07 Apr " -"2005 22:13:13 +0200`." +"release notes for link:RelNotes/1.5.1.6.txt[1.5.1.6], " +"link:RelNotes/1.5.1.5.txt[1.5.1.5], link:RelNotes/1.5.1.4.txt[1.5.1.4], " +"link:RelNotes/1.5.1.3.txt[1.5.1.3], link:RelNotes/1.5.1.2.txt[1.5.1.2], " +"link:RelNotes/1.5.1.1.txt[1.5.1.1], link:RelNotes/1.5.1.txt[1.5.1]." msgstr "" -#. type: Labeled list -#: en/date-formats.txt:20 -#, no-wrap -msgid "ISO 8601" +#. type: delimited block = +#: en/git.txt:513 +msgid "link:v1.5.0.7/git.html[documentation for release 1.5.0.7]" msgstr "" -#. type: Plain text -#: en/date-formats.txt:24 +#. type: delimited block = +#: en/git.txt:522 msgid "" -"Time and date specified by the ISO 8601 standard, for example " -"`2005-04-07T22:13:13`. The parser accepts a space instead of the `T` " -"character as well." +"release notes for link:RelNotes/1.5.0.7.txt[1.5.0.7], " +"link:RelNotes/1.5.0.6.txt[1.5.0.6], link:RelNotes/1.5.0.5.txt[1.5.0.5], " +"link:RelNotes/1.5.0.3.txt[1.5.0.3], link:RelNotes/1.5.0.2.txt[1.5.0.2], " +"link:RelNotes/1.5.0.1.txt[1.5.0.1], link:RelNotes/1.5.0.txt[1.5.0]." msgstr "" -#. type: Plain text -#: en/date-formats.txt:26 +#. type: delimited block = +#: en/git.txt:527 msgid "" -"In addition, the date part is accepted in the following formats: " -"`YYYY.MM.DD`, `MM/DD/YYYY` and `DD.MM.YYYY`." +"documentation for release link:v1.4.4.4/git.html[1.4.4.4], " +"link:v1.3.3/git.html[1.3.3], link:v1.2.6/git.html[1.2.6], " +"link:v1.0.13/git.html[1.0.13]." msgstr "" -#. type: Title - -#: en/diff-format.txt:2 -#, no-wrap -msgid "Raw output format" +#. type: Plain text +#: en/git.txt:536 +msgid "Prints the Git suite version that the 'git' program came from." msgstr "" #. type: Plain text -#: en/diff-format.txt:6 +#: en/git.txt:542 msgid "" -"The raw output format from \"git-diff-index\", \"git-diff-tree\", " -"\"git-diff-files\" and \"git diff --raw\" are very similar." +"Prints the synopsis and a list of the most commonly used commands. If the " +"option `--all` or `-a` is given then all available commands are printed. If " +"a Git command is named this option will bring up the manual page for that " +"command." msgstr "" #. type: Plain text -#: en/diff-format.txt:9 -msgid "These commands all compare two sets of things; what is compared differs:" +#: en/git.txt:547 +msgid "" +"Other options are available to control how the manual page is displayed. See " +"linkgit:git-help[1] for more information, because `git --help ...` is " +"converted internally into `git help ...`." msgstr "" #. type: Labeled list -#: en/diff-format.txt:10 +#: en/git.txt:548 #, no-wrap -msgid "git-diff-index <tree-ish>" +msgid "-C <path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:12 -msgid "compares the <tree-ish> and the files on the filesystem." -msgstr "" - -#. type: Labeled list -#: en/diff-format.txt:13 -#, no-wrap -msgid "git-diff-index --cached <tree-ish>" +#: en/git.txt:553 +msgid "" +"Run as if git was started in '<path>' instead of the current working " +"directory. When multiple `-C` options are given, each subsequent " +"non-absolute `-C <path>` is interpreted relative to the preceding `-C " +"<path>`." msgstr "" #. type: Plain text -#: en/diff-format.txt:15 -msgid "compares the <tree-ish> and the index." -msgstr "" - -#. type: Labeled list -#: en/diff-format.txt:16 -#, no-wrap -msgid "git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]" +#: en/git.txt:558 +msgid "" +"This option affects options that expect path name like `--git-dir` and " +"`--work-tree` in that their interpretations of the path names would be made " +"relative to the working directory caused by the `-C` option. For example the " +"following invocations are equivalent:" msgstr "" #. type: Plain text -#: en/diff-format.txt:18 -msgid "compares the trees named by the two arguments." +#: en/git.txt:561 +#, no-wrap +msgid "" +" git --git-dir=a.git --work-tree=b -C c status\n" +" git --git-dir=c/a.git --work-tree=c/b status\n" msgstr "" #. type: Labeled list -#: en/diff-format.txt:19 +#: en/git.txt:562 #, no-wrap -msgid "git-diff-files [<pattern>...]" -msgstr "" - -#. type: Plain text -#: en/diff-format.txt:21 -msgid "compares the index and the files on the filesystem." +msgid "-c <name>=<value>" msgstr "" #. type: Plain text -#: en/diff-format.txt:25 +#: en/git.txt:567 msgid "" -"The \"git-diff-tree\" command begins its output by printing the hash of what " -"is being compared. After that, all the commands print one output line per " -"changed file." +"Pass a configuration parameter to the command. The value given will override " +"values from configuration files. The <name> is expected in the same format " +"as listed by 'git config' (subkeys separated by dots)." msgstr "" #. type: Plain text -#: en/diff-format.txt:27 -msgid "An output line is formatted this way:" +#: en/git.txt:572 +msgid "" +"Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets " +"`foo.bar` to the boolean true value (just like `[foo]bar` would in a config " +"file). Including the equals but with an empty value (like `git -c foo.bar= " +"...`) sets `foo.bar` to the empty string." msgstr "" -#. type: delimited block - -#: en/diff-format.txt:35 +#. type: Labeled list +#: en/git.txt:573 #, no-wrap -msgid "" -"in-place edit :100644 100644 bcd1234... 0123456... M file0\n" -"copy-edit :100644 100644 abcd123... 1234567... C68 file1 file2\n" -"rename-edit :100644 100644 abcd123... 1234567... R86 file1 file3\n" -"create :000000 100644 0000000... 1234567... A file4\n" -"delete :100644 000000 1234567... 0000000... D file5\n" -"unmerged :000000 000000 0000000... 0000000... U file6\n" +msgid "--exec-path[=<path>]" msgstr "" #. type: Plain text -#: en/diff-format.txt:38 -msgid "That is, from the left to the right:" +#: en/git.txt:578 +msgid "" +"Path to wherever your core Git programs are installed. This can also be " +"controlled by setting the GIT_EXEC_PATH environment variable. If no path is " +"given, 'git' will print the current setting and then exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:40 -msgid "a colon." +#. type: Labeled list +#: en/git.txt:579 +#, no-wrap +msgid "--html-path" msgstr "" #. type: Plain text -#: en/diff-format.txt:41 -msgid "mode for \"src\"; 000000 if creation or unmerged." +#: en/git.txt:582 +msgid "" +"Print the path, without trailing slash, where Git's HTML documentation is " +"installed and exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:42 en/diff-format.txt:44 en/diff-format.txt:46 en/diff-format.txt:48 -msgid "a space." +#. type: Labeled list +#: en/git.txt:583 +#, no-wrap +msgid "--man-path" msgstr "" #. type: Plain text -#: en/diff-format.txt:43 -msgid "mode for \"dst\"; 000000 if deletion or unmerged." +#: en/git.txt:586 +msgid "" +"Print the manpath (see `man(1)`) for the man pages for this version of Git " +"and exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:45 -msgid "sha1 for \"src\"; 0\\{40\\} if creation or unmerged." +#. type: Labeled list +#: en/git.txt:587 +#, no-wrap +msgid "--info-path" msgstr "" #. type: Plain text -#: en/diff-format.txt:47 -msgid "sha1 for \"dst\"; 0\\{40\\} if creation, unmerged or \"look at work tree\"." +#: en/git.txt:590 +msgid "" +"Print the path where the Info files documenting this version of Git are " +"installed and exit." msgstr "" -#. type: Plain text -#: en/diff-format.txt:49 -msgid "status, followed by optional \"score\" number." +#. type: Labeled list +#: en/git.txt:592 +#, no-wrap +msgid "--paginate" msgstr "" #. type: Plain text -#: en/diff-format.txt:50 -msgid "a tab or a NUL when `-z` option is used." +#: en/git.txt:597 +msgid "" +"Pipe all output into 'less' (or if set, $PAGER) if standard output is a " +"terminal. This overrides the `pager.<cmd>` configuration options (see the " +"\"Configuration Mechanism\" section below)." msgstr "" -#. type: Plain text -#: en/diff-format.txt:51 -msgid "path for \"src\"" +#. type: Labeled list +#: en/git.txt:598 +#, no-wrap +msgid "--no-pager" msgstr "" #. type: Plain text -#: en/diff-format.txt:52 -msgid "a tab or a NUL when `-z` option is used; only exists for C or R." +#: en/git.txt:600 +msgid "Do not pipe Git output into a pager." msgstr "" -#. type: Plain text -#: en/diff-format.txt:53 -msgid "path for \"dst\"; only exists for C or R." +#. type: Labeled list +#: en/git.txt:601 +#, no-wrap +msgid "--git-dir=<path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:54 -msgid "an LF or a NUL when `-z` option is used, to terminate the record." +#: en/git.txt:605 +msgid "" +"Set the path to the repository. This can also be controlled by setting the " +"`GIT_DIR` environment variable. It can be an absolute path or relative path " +"to current working directory." msgstr "" -#. type: Plain text -#: en/diff-format.txt:56 -msgid "Possible status letters are:" +#. type: Labeled list +#: en/git.txt:606 +#, no-wrap +msgid "--work-tree=<path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:58 -msgid "A: addition of a file" +#: en/git.txt:613 +msgid "" +"Set the path to the working tree. It can be an absolute path or a path " +"relative to the current working directory. This can also be controlled by " +"setting the GIT_WORK_TREE environment variable and the core.worktree " +"configuration variable (see core.worktree in linkgit:git-config[1] for a " +"more detailed discussion)." msgstr "" -#. type: Plain text -#: en/diff-format.txt:59 -msgid "C: copy of a file into a new one" +#. type: Labeled list +#: en/git.txt:614 +#, no-wrap +msgid "--namespace=<path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:60 -msgid "D: deletion of a file" +#: en/git.txt:618 +msgid "" +"Set the Git namespace. See linkgit:gitnamespaces[7] for more details. " +"Equivalent to setting the `GIT_NAMESPACE` environment variable." msgstr "" -#. type: Plain text -#: en/diff-format.txt:61 -msgid "M: modification of the contents or mode of a file" +#. type: Labeled list +#: en/git.txt:619 +#, no-wrap +msgid "--super-prefix=<path>" msgstr "" #. type: Plain text -#: en/diff-format.txt:62 -msgid "R: renaming of a file" +#: en/git.txt:623 +msgid "" +"Currently for internal use only. Set a prefix which gives a path from above " +"a repository down to its root. One use is to give submodules context about " +"the superproject that invoked it." msgstr "" #. type: Plain text -#: en/diff-format.txt:63 -msgid "T: change in the type of the file" +#: en/git.txt:628 +msgid "" +"Treat the repository as a bare repository. If GIT_DIR environment is not " +"set, it is set to the current working directory." msgstr "" -#. type: Plain text -#: en/diff-format.txt:65 -msgid "U: file is unmerged (you must complete the merge before it can be committed)" +#. type: Labeled list +#: en/git.txt:629 +#, no-wrap +msgid "--no-replace-objects" msgstr "" #. type: Plain text -#: en/diff-format.txt:66 -msgid "X: \"unknown\" change type (most probably a bug, please report it)" +#: en/git.txt:632 +msgid "" +"Do not use replacement refs to replace Git objects. See " +"linkgit:git-replace[1] for more information." msgstr "" -#. type: Plain text -#: en/diff-format.txt:71 -msgid "" -"Status letters C and R are always followed by a score (denoting the " -"percentage of similarity between the source and target of the move or " -"copy). Status letter M may be followed by a score (denoting the percentage " -"of dissimilarity) for file rewrites." +#. type: Labeled list +#: en/git.txt:633 +#, no-wrap +msgid "--literal-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:74 +#: en/git.txt:637 msgid "" -"<sha1> is shown as all 0's if a file is new on the filesystem and it is out " -"of sync with the index." -msgstr "" - -#. type: delimited block - -#: en/diff-format.txt:79 -#, no-wrap -msgid ":100644 100644 5be4a4...... 000000...... M file.c\n" +"Treat pathspecs literally (i.e. no globbing, no pathspec magic). This is " +"equivalent to setting the `GIT_LITERAL_PATHSPECS` environment variable to " +"`1`." msgstr "" -#. type: Title - -#: en/diff-format.txt:87 +#. type: Labeled list +#: en/git.txt:638 #, no-wrap -msgid "diff format for merges" +msgid "--glob-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:93 +#: en/git.txt:643 msgid "" -"\"git-diff-tree\", \"git-diff-files\" and \"git-diff --raw\" can take `-c` " -"or `--cc` option to generate diff output also for merge commits. The output " -"differs from the format described above in the following way:" -msgstr "" - -#. type: Plain text -#: en/diff-format.txt:95 -msgid "there is a colon for each parent" +"Add \"glob\" magic to all pathspec. This is equivalent to setting the " +"`GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling globbing on " +"individual pathspecs can be done using pathspec magic \":(literal)\"" msgstr "" -#. type: Plain text -#: en/diff-format.txt:96 -msgid "there are more \"src\" modes and \"src\" sha1" +#. type: Labeled list +#: en/git.txt:644 +#, no-wrap +msgid "--noglob-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:97 -msgid "status is concatenated status characters for each parent" +#: en/git.txt:649 +msgid "" +"Add \"literal\" magic to all pathspec. This is equivalent to setting the " +"`GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling globbing on " +"individual pathspecs can be done using pathspec magic \":(glob)\"" msgstr "" -#. type: Plain text -#: en/diff-format.txt:98 -msgid "no optional \"score\" number" +#. type: Labeled list +#: en/git.txt:650 +#, no-wrap +msgid "--icase-pathspecs" msgstr "" #. type: Plain text -#: en/diff-format.txt:99 -msgid "single path, only for \"dst\"" +#: en/git.txt:653 +msgid "" +"Add \"icase\" magic to all pathspec. This is equivalent to setting the " +"`GIT_ICASE_PATHSPECS` environment variable to `1`." msgstr "" -#. type: delimited block - -#: en/diff-format.txt:104 +#. type: Title - +#: en/git.txt:655 #, no-wrap -msgid "::100644 100644 100644 fabadb8... cc95eb0... 4866510... MM\tdescribe.c\n" +msgid "GIT COMMANDS" msgstr "" #. type: Plain text -#: en/diff-format.txt:108 +#: en/git.txt:659 msgid "" -"Note that 'combined diff' lists only files which were modified from all " -"parents." +"We divide Git into high level (\"porcelain\") commands and low level " +"(\"plumbing\") commands." msgstr "" #. type: Title - -#: en/diff-format.txt:114 +#: en/git.txt:661 #, no-wrap -msgid "other diff formats" +msgid "High-level commands (porcelain)" msgstr "" #. type: Plain text -#: en/diff-format.txt:120 +#: en/git.txt:665 msgid "" -"The `--summary` option describes newly added, deleted, renamed and copied " -"files. The `--stat` option adds diffstat(1) graph to the output. These " -"options can be combined with other options, such as `-p`, and are meant for " -"human consumption." +"We separate the porcelain commands into the main commands and some ancillary " +"user utilities." msgstr "" -#. type: Plain text -#: en/diff-format.txt:125 -msgid "" -"When showing a change that involves a rename or a copy, `--stat` output " -"formats the pathnames compactly by combining common prefix and suffix of the " -"pathnames. For example, a change that moves `arch/i386/Makefile` to " -"`arch/x86/Makefile` while modifying 4 lines will be shown like this:" +#. type: Title ~ +#: en/git.txt:667 +#, no-wrap +msgid "Main porcelain commands" msgstr "" -#. type: delimited block - -#: en/diff-format.txt:128 +#. type: Title ~ +#: en/git.txt:672 #, no-wrap -msgid "arch/{i386 => x86}/Makefile | 4 +--\n" +msgid "Ancillary Commands" msgstr "" #. type: Plain text -#: en/diff-format.txt:133 -msgid "" -"The `--numstat` option gives the diffstat(1) information but is designed for " -"easier machine consumption. An entry in `--numstat` output looks like this:" -msgstr "" - -#. type: delimited block - -#: en/diff-format.txt:137 -#, no-wrap -msgid "" -"1\t2\tREADME\n" -"3\t1\tarch/{i386 => x86}/Makefile\n" +#: en/git.txt:674 +msgid "Manipulators:" msgstr "" #. type: Plain text -#: en/diff-format.txt:140 -msgid "That is, from left to right:" +#: en/git.txt:678 +msgid "Interrogators:" msgstr "" -#. type: Plain text -#: en/diff-format.txt:142 en/diff-format.txt:158 -msgid "the number of added lines;" +#. type: Title ~ +#: en/git.txt:683 +#, no-wrap +msgid "Interacting with Others" msgstr "" #. type: Plain text -#: en/diff-format.txt:143 en/diff-format.txt:145 en/diff-format.txt:159 en/diff-format.txt:161 -msgid "a tab;" +#: en/git.txt:687 +msgid "" +"These commands are to interact with foreign SCM and with other people via " +"patch over e-mail." msgstr "" -#. type: Plain text -#: en/diff-format.txt:144 en/diff-format.txt:160 -msgid "the number of deleted lines;" +#. type: Title - +#: en/git.txt:692 +#, no-wrap +msgid "Low-level commands (plumbing)" msgstr "" #. type: Plain text -#: en/diff-format.txt:146 -msgid "pathname (possibly with rename/copy information);" +#: en/git.txt:699 +msgid "" +"Although Git includes its own porcelain layer, its low-level commands are " +"sufficient to support development of alternative porcelains. Developers of " +"such porcelains might start by reading about linkgit:git-update-index[1] and " +"linkgit:git-read-tree[1]." msgstr "" #. type: Plain text -#: en/diff-format.txt:147 -msgid "a newline." +#: en/git.txt:706 +msgid "" +"The interface (input, output, set of options and the semantics) to these " +"low-level commands are meant to be a lot more stable than Porcelain level " +"commands, because these commands are primarily for scripted use. The " +"interface to Porcelain commands on the other hand are subject to change in " +"order to improve the end user experience." msgstr "" #. type: Plain text -#: en/diff-format.txt:149 -msgid "When `-z` output option is in effect, the output is formatted this way:" +#: en/git.txt:712 +msgid "" +"The following description divides the low-level commands into commands that " +"manipulate objects (in the repository, index, and working tree), commands " +"that interrogate and compare objects, and commands that move objects and " +"references between repositories." msgstr "" -#. type: delimited block - -#: en/diff-format.txt:153 +#. type: Title ~ +#: en/git.txt:715 #, no-wrap -msgid "" -"1\t2\tREADME NUL\n" -"3\t1\tNUL arch/i386/Makefile NUL arch/x86/Makefile NUL\n" +msgid "Manipulation commands" msgstr "" -#. type: Plain text -#: en/diff-format.txt:156 -msgid "That is:" +#. type: Title ~ +#: en/git.txt:721 +#, no-wrap +msgid "Interrogation commands" msgstr "" #. type: Plain text -#: en/diff-format.txt:162 en/diff-format.txt:164 -msgid "a NUL (only exists if renamed/copied);" +#: en/git.txt:727 +msgid "" +"In general, the interrogate commands do not touch the files in the working " +"tree." msgstr "" -#. type: Plain text -#: en/diff-format.txt:163 -msgid "pathname in preimage;" +#. type: Title ~ +#: en/git.txt:730 +#, no-wrap +msgid "Synching repositories" msgstr "" #. type: Plain text -#: en/diff-format.txt:165 -msgid "pathname in postimage (only exists if renamed/copied);" +#: en/git.txt:736 +msgid "" +"The following are helper commands used by the above; end users typically do " +"not use them directly." msgstr "" -#. type: Plain text -#: en/diff-format.txt:166 -msgid "a NUL." +#. type: Title ~ +#: en/git.txt:741 +#, no-wrap +msgid "Internal helper commands" msgstr "" #. type: Plain text -#: en/diff-format.txt:171 +#: en/git.txt:745 msgid "" -"The extra `NUL` before the preimage path in renamed case is to allow scripts " -"that read the output to tell if the current record being read is a " -"single-path record or a rename/copy record without reading ahead. After " -"reading added and deleted lines, reading up to `NUL` would yield the " -"pathname, but if that is `NUL`, the record will show two paths." +"These are internal helper commands used by other commands; end users " +"typically do not use them directly." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:1 +#. type: Title - +#: en/git.txt:750 #, no-wrap -msgid "diff.autoRefreshIndex" +msgid "Configuration Mechanism" msgstr "" #. type: Plain text -#: en/diff-config.txt:10 +#: en/git.txt:755 msgid "" -"When using 'git diff' to compare with work tree files, do not consider " -"stat-only change as changed. Instead, silently run `git update-index " -"--refresh` to update the cached stat information for paths whose contents in " -"the work tree match the contents in the index. This option defaults to " -"true. Note that this affects only 'git diff' Porcelain, and not lower level " -"'diff' commands such as 'git diff-files'." +"Git uses a simple text format to store customizations that are per " +"repository and are per user. Such a configuration file may look like this:" msgstr "" -#. type: Labeled list -#: en/diff-config.txt:11 +#. type: delimited block - +#: en/git.txt:760 #, no-wrap -msgid "diff.dirstat" +msgid "" +"#\n" +"# A '#' or ';' character indicates a comment.\n" +"#\n" msgstr "" -#. type: Plain text -#: en/diff-config.txt:18 +#. type: delimited block - +#: en/git.txt:765 +#, no-wrap msgid "" -"A comma separated list of `--dirstat` parameters specifying the default " -"behavior of the `--dirstat` option to linkgit:git-diff[1]` and friends. The " -"defaults can be overridden on the command line (using " -"`--dirstat=<param1,param2,...>`). The fallback defaults (when not changed by " -"`diff.dirstat`) are `changes,noncumulative,3`. The following parameters are " -"available:" +"; core variables\n" +"[core]\n" +"\t; Don't trust file modes\n" +"\tfilemode = false\n" msgstr "" -#. type: Labeled list -#: en/diff-config.txt:20 en/diff-options.txt:137 +#. type: delimited block - +#: en/git.txt:770 #, no-wrap -msgid "`changes`" +msgid "" +"; user identity\n" +"[user]\n" +"\tname = \"Junio C Hamano\"\n" +"\temail = \"gitster@pobox.com\"\n" msgstr "" #. type: Plain text -#: en/diff-config.txt:26 en/diff-options.txt:143 +#: en/git.txt:776 msgid "" -"Compute the dirstat numbers by counting the lines that have been removed " -"from the source, or added to the destination. This ignores the amount of " -"pure code movements within a file. In other words, rearranging lines in a " -"file is not counted as much as other changes. This is the default behavior " -"when no parameter is given." +"Various commands read from the configuration file and adjust their operation " +"accordingly. See linkgit:git-config[1] for a list and more details about " +"the configuration mechanism." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:26 en/diff-options.txt:143 +#. type: Title - +#: en/git.txt:779 #, no-wrap -msgid "`lines`" +msgid "Identifier Terminology" msgstr "" #. type: Plain text -#: en/diff-config.txt:34 en/diff-options.txt:151 -msgid "" -"Compute the dirstat numbers by doing the regular line-based diff analysis, " -"and summing the removed/added line counts. (For binary files, count 64-byte " -"chunks instead, since binary files have no natural concept of lines). This " -"is a more expensive `--dirstat` behavior than the `changes` behavior, but it " -"does count rearranged lines within a file as much as other changes. The " -"resulting output is consistent with what you get from the other `--*stat` " -"options." +#: en/git.txt:782 +msgid "Indicates the object name for any type of object." msgstr "" #. type: Labeled list -#: en/diff-config.txt:34 en/diff-options.txt:151 +#: en/git.txt:783 en/git-unpack-file.txt:23 #, no-wrap -msgid "`files`" +msgid "<blob>" msgstr "" #. type: Plain text -#: en/diff-config.txt:39 en/diff-options.txt:156 -msgid "" -"Compute the dirstat numbers by counting the number of files changed. Each " -"changed file counts equally in the dirstat analysis. This is the " -"computationally cheapest `--dirstat` behavior, since it does not have to " -"look at the file contents at all." -msgstr "" - -#. type: Labeled list -#: en/diff-config.txt:39 en/diff-options.txt:156 -#, no-wrap -msgid "`cumulative`" +#: en/git.txt:785 +msgid "Indicates a blob object name." msgstr "" #. type: Plain text -#: en/diff-config.txt:44 en/diff-options.txt:161 -msgid "" -"Count changes in a child directory for the parent directory as well. Note " -"that when using `cumulative`, the sum of the percentages reported may exceed " -"100%. The default (non-cumulative) behavior can be specified with the " -"`noncumulative` parameter." +#: en/git.txt:788 +msgid "Indicates a tree object name." msgstr "" #. type: Plain text -#: en/diff-config.txt:48 en/diff-options.txt:165 -msgid "" -"An integer parameter specifies a cut-off percent (3% by default). " -"Directories contributing less than this percentage of the changes are not " -"shown in the output." +#: en/git.txt:791 +msgid "Indicates a commit object name." msgstr "" #. type: Plain text -#: en/diff-config.txt:54 +#: en/git.txt:797 msgid "" -"Example: The following will count changed files, while ignoring directories " -"with less than 10% of the total amount of changed files, and accumulating " -"child directory counts in the parent directories: `files,10,cumulative`." +"Indicates a tree, commit or tag object name. A command that takes a " +"<tree-ish> argument ultimately wants to operate on a <tree> object but " +"automatically dereferences <commit> and <tag> objects that point at a " +"<tree>." msgstr "" #. type: Labeled list -#: en/diff-config.txt:55 +#: en/git.txt:798 #, no-wrap -msgid "diff.statGraphWidth" +msgid "<commit-ish>" msgstr "" #. type: Plain text -#: en/diff-config.txt:58 +#: en/git.txt:803 msgid "" -"Limit the width of the graph part in --stat output. If set, applies to all " -"commands generating --stat output except format-patch." +"Indicates a commit or tag object name. A command that takes a <commit-ish> " +"argument ultimately wants to operate on a <commit> object but automatically " +"dereferences <tag> objects that point at a <commit>." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:59 -#, no-wrap -msgid "diff.context" +#. type: Plain text +#: en/git.txt:807 +msgid "" +"Indicates that an object type is required. Currently one of: `blob`, " +"`tree`, `commit`, or `tag`." msgstr "" #. type: Plain text -#: en/diff-config.txt:62 +#: en/git.txt:811 msgid "" -"Generate diffs with <n> lines of context instead of the default of 3. This " -"value is overridden by the -U option." +"Indicates a filename - almost always relative to the root of the tree " +"structure `GIT_INDEX_FILE` describes." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:63 +#. type: Title - +#: en/git.txt:813 #, no-wrap -msgid "diff.interHunkContext" +msgid "Symbolic Identifiers" msgstr "" #. type: Plain text -#: en/diff-config.txt:68 +#: en/git.txt:816 msgid "" -"Show the context between diff hunks, up to the specified number of lines, " -"thereby fusing the hunks that are close to each other. This value serves as " -"the default for the `--inter-hunk-context` command line option." -msgstr "" - -#. type: Labeled list -#: en/diff-config.txt:69 -#, no-wrap -msgid "diff.external" +"Any Git command accepting any <object> can also use the following symbolic " +"notation:" msgstr "" #. type: Plain text -#: en/diff-config.txt:77 -msgid "" -"If this config variable is set, diff generation is not performed using the " -"internal diff machinery, but using the given command. Can be overridden " -"with the `GIT_EXTERNAL_DIFF' environment variable. The command is called " -"with parameters as described under \"git Diffs\" in linkgit:git[1]. Note: " -"if you want to use an external diff program only on a subset of your files, " -"you\tmight want to use linkgit:gitattributes[5] instead." +#: en/git.txt:819 +msgid "indicates the head of the current branch." msgstr "" #. type: Labeled list -#: en/diff-config.txt:78 +#: en/git.txt:820 #, no-wrap -msgid "diff.ignoreSubmodules" +msgid "<tag>" msgstr "" #. type: Plain text -#: en/diff-config.txt:87 -msgid "" -"Sets the default value of --ignore-submodules. Note that this affects only " -"'git diff' Porcelain, and not lower level 'diff' commands such as 'git " -"diff-files'. 'git checkout' also honors this setting when reporting " -"uncommitted changes. Setting it to 'all' disables the submodule summary " -"normally shown by 'git commit' and 'git status' when " -"`status.submoduleSummary` is set unless it is overridden by using the " -"--ignore-submodules command-line option. The 'git submodule' commands are " -"not affected by this setting." +#: en/git.txt:823 +msgid "a valid tag 'name' (i.e. a `refs/tags/<tag>` reference)." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:88 -#, no-wrap -msgid "diff.mnemonicPrefix" +#. type: Plain text +#: en/git.txt:827 +msgid "a valid head 'name' (i.e. a `refs/heads/<head>` reference)." msgstr "" #. type: Plain text -#: en/diff-config.txt:93 +#: en/git.txt:830 msgid "" -"If set, 'git diff' uses a prefix pair that is different from the standard " -"\"a/\" and \"b/\" depending on what is being compared. When this " -"configuration is in effect, reverse diff output also swaps the order of the " -"prefixes:" +"For a more complete list of ways to spell object names, see \"SPECIFYING " +"REVISIONS\" section in linkgit:gitrevisions[7]." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:93 +#. type: Title - +#: en/git.txt:833 #, no-wrap -msgid "`git diff`" +msgid "File/Directory Structure" msgstr "" #. type: Plain text -#: en/diff-config.txt:95 -msgid "compares the (i)ndex and the (w)ork tree;" +#: en/git.txt:836 +msgid "Please see the linkgit:gitrepository-layout[5] document." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:95 -#, no-wrap -msgid "`git diff HEAD`" +#. type: Plain text +#: en/git.txt:838 +msgid "Read linkgit:githooks[5] for more details about each hook." msgstr "" #. type: Plain text -#: en/diff-config.txt:97 -msgid "compares a (c)ommit and the (w)ork tree;" +#: en/git.txt:841 +msgid "" +"Higher level SCMs may provide and manage additional information in the " +"`$GIT_DIR`." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:97 +#. type: Title - +#: en/git.txt:844 #, no-wrap -msgid "`git diff --cached`" +msgid "Terminology" msgstr "" #. type: Plain text -#: en/diff-config.txt:99 -msgid "compares a (c)ommit and the (i)ndex;" +#: en/git.txt:846 +msgid "Please see linkgit:gitglossary[7]." msgstr "" -#. type: Labeled list -#: en/diff-config.txt:99 +#. type: Plain text +#: en/git.txt:851 +msgid "Various Git commands use the following environment variables:" +msgstr "" + +#. type: Title ~ +#: en/git.txt:853 #, no-wrap -msgid "`git diff HEAD:file1 file2`" +msgid "The Git Repository" msgstr "" #. type: Plain text -#: en/diff-config.txt:101 -msgid "compares an (o)bject and a (w)ork tree entity;" +#: en/git.txt:857 +msgid "" +"These environment variables apply to 'all' core Git commands. Nb: it is " +"worth noting that they may be used/overridden by SCMS sitting above Git so " +"take care if using a foreign front-end." msgstr "" #. type: Labeled list -#: en/diff-config.txt:101 +#: en/git.txt:858 #, no-wrap -msgid "`git diff --no-index a b`" +msgid "`GIT_INDEX_FILE`" msgstr "" #. type: Plain text -#: en/diff-config.txt:103 -msgid "compares two non-git things (1) and (2)." +#: en/git.txt:862 +msgid "" +"This environment allows the specification of an alternate index file. If not " +"specified, the default of `$GIT_DIR/index` is used." msgstr "" #. type: Labeled list -#: en/diff-config.txt:104 +#: en/git.txt:863 #, no-wrap -msgid "diff.noprefix" +msgid "`GIT_INDEX_VERSION`" msgstr "" #. type: Plain text -#: en/diff-config.txt:106 -msgid "If set, 'git diff' does not show any source or destination prefix." +#: en/git.txt:868 +msgid "" +"This environment variable allows the specification of an index version for " +"new repositories. It won't affect existing index files. By default index " +"file version 2 or 3 is used. See linkgit:git-update-index[1] for more " +"information." msgstr "" #. type: Labeled list -#: en/diff-config.txt:107 +#: en/git.txt:869 #, no-wrap -msgid "diff.orderFile" +msgid "`GIT_OBJECT_DIRECTORY`" msgstr "" #. type: Plain text -#: en/diff-config.txt:112 +#: en/git.txt:874 msgid "" -"File indicating how to order files within a diff. See the '-O' option to " -"linkgit:git-diff[1] for details. If `diff.orderFile` is a relative " -"pathname, it is treated as relative to the top of the working tree." +"If the object storage directory is specified via this environment variable " +"then the sha1 directories are created underneath - otherwise the default " +"`$GIT_DIR/objects` directory is used." msgstr "" #. type: Labeled list -#: en/diff-config.txt:113 +#: en/git.txt:875 #, no-wrap -msgid "diff.renameLimit" +msgid "`GIT_ALTERNATE_OBJECT_DIRECTORIES`" msgstr "" #. type: Plain text -#: en/diff-config.txt:116 +#: en/git.txt:881 msgid "" -"The number of files to consider when performing the copy/rename detection; " -"equivalent to the 'git diff' option `-l`." +"Due to the immutable nature of Git objects, old objects can be archived into " +"shared, read-only directories. This variable specifies a \":\" separated (on " +"Windows \";\" separated) list of Git object directories which can be used to " +"search for Git objects. New objects will not be written to these " +"directories." +msgstr "" + +#. type: Plain text +#: en/git.txt:887 +msgid "" +"Entries that begin with `\"` (double-quote) will be interpreted as C-style " +"quoted paths, removing leading and trailing double-quotes and respecting " +"backslash escapes. E.g., the value " +"`\"path-with-\\\"-and-:-in-it\":vanilla-path` has two paths: " +"`path-with-\"-and-:-in-it` and `vanilla-path`." msgstr "" #. type: Labeled list -#: en/diff-config.txt:117 +#: en/git.txt:888 #, no-wrap -msgid "diff.renames" +msgid "`GIT_DIR`" msgstr "" #. type: Plain text -#: en/diff-config.txt:125 +#: en/git.txt:893 msgid "" -"Whether and how Git detects renames. If set to \"false\", rename detection " -"is disabled. If set to \"true\", basic rename detection is enabled. If set " -"to \"copies\" or \"copy\", Git will detect copies, as well. Defaults to " -"true. Note that this affects only 'git diff' Porcelain like " -"linkgit:git-diff[1] and linkgit:git-log[1], and not lower level commands " -"such as linkgit:git-diff-files[1]." +"If the `GIT_DIR` environment variable is set then it specifies a path to use " +"instead of the default `.git` for the base of the repository. The " +"`--git-dir` command-line option also sets this value." msgstr "" #. type: Labeled list -#: en/diff-config.txt:126 +#: en/git.txt:894 #, no-wrap -msgid "diff.suppressBlankEmpty" +msgid "`GIT_WORK_TREE`" msgstr "" #. type: Plain text -#: en/diff-config.txt:129 +#: en/git.txt:898 msgid "" -"A boolean to inhibit the standard behavior of printing a space before each " -"empty output line. Defaults to false." +"Set the path to the root of the working tree. This can also be controlled " +"by the `--work-tree` command-line option and the core.worktree configuration " +"variable." msgstr "" #. type: Labeled list -#: en/diff-config.txt:130 +#: en/git.txt:899 #, no-wrap -msgid "diff.submodule" +msgid "`GIT_NAMESPACE`" msgstr "" #. type: Plain text -#: en/diff-config.txt:137 +#: en/git.txt:902 msgid "" -"Specify the format in which differences in submodules are shown. The " -"\"short\" format just shows the names of the commits at the beginning and " -"end of the range. The \"log\" format lists the commits in the range like " -"linkgit:git-submodule[1] `summary` does. The \"diff\" format shows an inline " -"diff of the changed contents of the submodule. Defaults to \"short\"." +"Set the Git namespace; see linkgit:gitnamespaces[7] for details. The " +"`--namespace` command-line option also sets this value." msgstr "" #. type: Labeled list -#: en/diff-config.txt:138 +#: en/git.txt:903 #, no-wrap -msgid "diff.wordRegex" +msgid "`GIT_CEILING_DIRECTORIES`" msgstr "" #. type: Plain text -#: en/diff-config.txt:143 +#: en/git.txt:917 msgid "" -"A POSIX Extended Regular Expression used to determine what is a \"word\" " -"when performing word-by-word difference calculations. Character sequences " -"that match the regular expression are \"words\", all other characters are " -"*ignorable* whitespace." +"This should be a colon-separated list of absolute paths. If set, it is a " +"list of directories that Git should not chdir up into while looking for a " +"repository directory (useful for excluding slow-loading network " +"directories). It will not exclude the current working directory or a " +"GIT_DIR set on the command line or in the environment. Normally, Git has to " +"read the entries in this list and resolve any symlink that might be present " +"in order to compare them with the current directory. However, if even this " +"access is slow, you can add an empty entry to the list to tell Git that the " +"subsequent entries are not symlinks and needn't be resolved; e.g., " +"`GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink`." msgstr "" #. type: Labeled list -#: en/diff-config.txt:144 +#: en/git.txt:918 #, no-wrap -msgid "diff.<driver>.command" +msgid "`GIT_DISCOVERY_ACROSS_FILESYSTEM`" msgstr "" #. type: Plain text -#: en/diff-config.txt:147 -msgid "The custom diff driver command. See linkgit:gitattributes[5] for details." +#: en/git.txt:927 +msgid "" +"When run in a directory that does not have \".git\" repository directory, " +"Git tries to find such a directory in the parent directories to find the top " +"of the working tree, but by default it does not cross filesystem " +"boundaries. This environment variable can be set to true to tell Git not to " +"stop at filesystem boundaries. Like `GIT_CEILING_DIRECTORIES`, this will " +"not affect an explicit repository directory set via `GIT_DIR` or on the " +"command line." msgstr "" #. type: Labeled list -#: en/diff-config.txt:148 +#: en/git.txt:928 #, no-wrap -msgid "diff.<driver>.xfuncname" +msgid "`GIT_COMMON_DIR`" msgstr "" #. type: Plain text -#: en/diff-config.txt:152 +#: en/git.txt:936 msgid "" -"The regular expression that the diff driver should use to recognize the hunk " -"header. A built-in pattern may also be used. See linkgit:gitattributes[5] " -"for details." +"If this variable is set to a path, non-worktree files that are normally in " +"$GIT_DIR will be taken from this path instead. Worktree-specific files such " +"as HEAD or index are taken from $GIT_DIR. See " +"linkgit:gitrepository-layout[5] and linkgit:git-worktree[1] for " +"details. This variable has lower precedence than other path variables such " +"as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY..." +msgstr "" + +#. type: Title ~ +#: en/git.txt:938 +#, no-wrap +msgid "Git Commits" msgstr "" #. type: Labeled list -#: en/diff-config.txt:153 +#: en/git.txt:939 #, no-wrap -msgid "diff.<driver>.binary" +msgid "`GIT_AUTHOR_NAME`" msgstr "" -#. type: Plain text -#: en/diff-config.txt:156 -msgid "" -"Set this option to true to make the diff driver treat files as binary. See " -"linkgit:gitattributes[5] for details." +#. type: Labeled list +#: en/git.txt:940 +#, no-wrap +msgid "`GIT_AUTHOR_EMAIL`" msgstr "" #. type: Labeled list -#: en/diff-config.txt:157 +#: en/git.txt:941 #, no-wrap -msgid "diff.<driver>.textconv" +msgid "`GIT_AUTHOR_DATE`" msgstr "" -#. type: Plain text -#: en/diff-config.txt:162 -msgid "" -"The command that the diff driver should call to generate the text-converted " -"version of a file. The result of the conversion is used to generate a " -"human-readable diff. See linkgit:gitattributes[5] for details." +#. type: Labeled list +#: en/git.txt:942 +#, no-wrap +msgid "`GIT_COMMITTER_NAME`" msgstr "" #. type: Labeled list -#: en/diff-config.txt:163 +#: en/git.txt:943 #, no-wrap -msgid "diff.<driver>.wordRegex" +msgid "`GIT_COMMITTER_EMAIL`" msgstr "" -#. type: Plain text -#: en/diff-config.txt:167 -msgid "" -"The regular expression that the diff driver should use to split words in a " -"line. See linkgit:gitattributes[5] for details." +#. type: Labeled list +#: en/git.txt:944 +#, no-wrap +msgid "`GIT_COMMITTER_DATE`" msgstr "" #. type: Labeled list -#: en/diff-config.txt:168 +#: en/git.txt:945 #, no-wrap -msgid "diff.<driver>.cachetextconv" +msgid "'EMAIL'" msgstr "" #. type: Plain text -#: en/diff-config.txt:171 -msgid "" -"Set this option to true to make the diff driver cache the text conversion " -"outputs. See linkgit:gitattributes[5] for details." +#: en/git.txt:947 +msgid "see linkgit:git-commit-tree[1]" msgstr "" -#. type: Plain text -#: en/diff-config.txt:178 -msgid "" -"Controls which diff tool is used by linkgit:git-difftool[1]. This variable " -"overrides the value configured in `merge.tool`. The list below shows the " -"valid built-in values. Any other value is treated as a custom diff tool and " -"requires that a corresponding difftool.<tool>.cmd variable is defined." +#. type: Title ~ +#: en/git.txt:949 +#, no-wrap +msgid "Git Diffs" msgstr "" #. type: Labeled list -#: en/diff-config.txt:181 +#: en/git.txt:950 #, no-wrap -msgid "diff.indentHeuristic" +msgid "`GIT_DIFF_OPTS`" msgstr "" #. type: Plain text -#: en/diff-config.txt:184 +#: en/git.txt:955 msgid "" -"Set this option to `true` to enable experimental heuristics that shift diff " -"hunk boundaries to make patches easier to read." +"Only valid setting is \"--unified=??\" or \"-u??\" to set the number of " +"context lines shown when a unified diff is created. This takes precedence " +"over any \"-U\" or \"--unified\" option value passed on the Git diff command " +"line." msgstr "" #. type: Labeled list -#: en/diff-config.txt:185 +#: en/git.txt:956 #, no-wrap -msgid "diff.algorithm" +msgid "`GIT_EXTERNAL_DIFF`" msgstr "" #. type: Plain text -#: en/diff-config.txt:187 -msgid "Choose a diff algorithm. The variants are as follows:" +#: en/git.txt:961 +msgid "" +"When the environment variable `GIT_EXTERNAL_DIFF` is set, the program named " +"by it is called, instead of the diff invocation described above. For a path " +"that is added, removed, or modified, `GIT_EXTERNAL_DIFF` is called with 7 " +"parameters:" msgstr "" -#. type: Labeled list -#: en/diff-config.txt:189 en/diff-options.txt:82 -#, no-wrap -msgid "`default`, `myers`" +#. type: Plain text +#: en/git.txt:963 +msgid "path old-file old-hex old-mode new-file new-hex new-mode" msgstr "" #. type: Plain text -#: en/diff-config.txt:191 en/diff-options.txt:84 -msgid "The basic greedy diff algorithm. Currently, this is the default." +#: en/git.txt:965 +msgid "where:" msgstr "" #. type: Labeled list -#: en/diff-config.txt:191 en/diff-options.txt:84 +#: en/git.txt:966 #, no-wrap -msgid "`minimal`" +msgid "<old|new>-file" msgstr "" #. type: Plain text -#: en/diff-config.txt:194 en/diff-options.txt:71 en/diff-options.txt:87 -msgid "Spend extra time to make sure the smallest possible diff is produced." -msgstr "" - -#. type: Labeled list -#: en/diff-config.txt:194 en/diff-options.txt:87 -#, no-wrap -msgid "`patience`" +#: en/git.txt:967 +msgid "are files GIT_EXTERNAL_DIFF can use to read the" msgstr "" #. type: Plain text -#: en/diff-config.txt:196 en/diff-options.txt:89 -msgid "Use \"patience diff\" algorithm when generating patches." +#: en/git.txt:968 +#, no-wrap +msgid "contents of <old|new>,\n" msgstr "" #. type: Labeled list -#: en/diff-config.txt:196 en/diff-options.txt:89 +#: en/git.txt:968 #, no-wrap -msgid "`histogram`" +msgid "<old|new>-hex" msgstr "" #. type: Plain text -#: en/diff-config.txt:199 en/diff-options.txt:92 -msgid "" -"This algorithm extends the patience algorithm to \"support low-occurrence " -"common elements\"." +#: en/git.txt:969 +msgid "are the 40-hexdigit SHA-1 hashes," msgstr "" #. type: Labeled list -#: en/diff-config.txt:202 +#: en/git.txt:969 #, no-wrap -msgid "diff.wsErrorHighlight" +msgid "<old|new>-mode" msgstr "" #. type: Plain text -#: en/diff-config.txt:206 -msgid "" -"A comma separated list of `old`, `new`, `context`, that specifies how " -"whitespace errors on lines are highlighted with `color.diff.whitespace`. " -"Can be overridden by the command line option `--ws-error-highlight=<kind>`" -msgstr "" - -#. type: Title - -#: en/diff-generate-patch.txt:2 -#, no-wrap -msgid "Generating patches with -p" +#: en/git.txt:970 +msgid "are the octal representation of the file modes." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:10 +#: en/git.txt:976 msgid "" -"When \"git-diff-index\", \"git-diff-tree\", or \"git-diff-files\" are run " -"with a `-p` option, \"git diff\" without the `--raw` option, or \"git log\" " -"with the \"-p\" option, they do not produce the output described above; " -"instead they produce a patch file. You can customize the creation of such " -"patches via the `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment " -"variables." +"The file parameters can point at the user's working file (e.g. `new-file` in " +"\"git-diff-files\"), `/dev/null` (e.g. `old-file` when a new file is added), " +"or a temporary file (e.g. `old-file` in the index). `GIT_EXTERNAL_DIFF` " +"should not worry about unlinking the temporary file --- it is removed when " +"`GIT_EXTERNAL_DIFF` exits." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:13 +#: en/git.txt:979 msgid "" -"What the -p option produces is slightly different from the traditional diff " -"format:" +"For a path that is unmerged, `GIT_EXTERNAL_DIFF` is called with 1 parameter, " +"<path>." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:15 -msgid "It is preceded with a \"git diff\" header that looks like this:" +#: en/git.txt:982 +msgid "" +"For each path `GIT_EXTERNAL_DIFF` is called, two environment variables, " +"`GIT_DIFF_PATH_COUNTER` and `GIT_DIFF_PATH_TOTAL` are set." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:17 +#. type: Labeled list +#: en/git.txt:983 #, no-wrap -msgid "diff --git a/file1 b/file2\n" +msgid "`GIT_DIFF_PATH_COUNTER`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:21 -msgid "" -"The `a/` and `b/` filenames are the same unless rename/copy is involved. " -"Especially, even for a creation or a deletion, `/dev/null` is _not_ used in " -"place of the `a/` or `b/` filenames." +#: en/git.txt:985 +msgid "A 1-based counter incremented by one for every path." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:25 -msgid "" -"When rename/copy is involved, `file1` and `file2` show the name of the " -"source file of the rename/copy and the name of the file that rename/copy " -"produces, respectively." +#. type: Labeled list +#: en/git.txt:986 +#, no-wrap +msgid "`GIT_DIFF_PATH_TOTAL`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:27 -msgid "It is followed by one or more extended header lines:" +#: en/git.txt:988 +msgid "The total number of paths." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:39 +#. type: Labeled list +#: en/git.txt:991 #, no-wrap -msgid "" -"old mode <mode>\n" -"new mode <mode>\n" -"deleted file mode <mode>\n" -"new file mode <mode>\n" -"copy from <path>\n" -"copy to <path>\n" -"rename from <path>\n" -"rename to <path>\n" -"similarity index <number>\n" -"dissimilarity index <number>\n" -"index <hash>..<hash> <mode>\n" +msgid "`GIT_MERGE_VERBOSITY`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:42 +#: en/git.txt:995 msgid "" -"File modes are printed as 6-digit octal numbers including the file type and " -"file permission bits." -msgstr "" - -#. type: Plain text -#: en/diff-generate-patch.txt:44 -msgid "Path names in extended headers do not include the `a/` and `b/` prefixes." +"A number controlling the amount of output shown by the recursive merge " +"strategy. Overrides merge.verbosity. See linkgit:git-merge[1]" msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:51 -msgid "" -"The similarity index is the percentage of unchanged lines, and the " -"dissimilarity index is the percentage of changed lines. It is a rounded " -"down integer, followed by a percent sign. The similarity index value of " -"100% is thus reserved for two equal files, while 100% dissimilarity means " -"that no line from the old file made it into the new one." +#. type: Labeled list +#: en/git.txt:996 +#, no-wrap +msgid "`GIT_PAGER`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:55 +#: en/git.txt:1001 msgid "" -"The index line includes the SHA-1 checksum before and after the change. The " -"<mode> is included if the file mode does not change; otherwise, separate " -"lines indicate the old and the new mode." +"This environment variable overrides `$PAGER`. If it is set to an empty " +"string or to the value \"cat\", Git will not launch a pager. See also the " +"`core.pager` option in linkgit:git-config[1]." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:59 -msgid "" -"Pathnames with \"unusual\" characters are quoted as explained for the " -"configuration variable `core.quotePath` (see linkgit:git-config[1])." +#. type: Labeled list +#: en/git.txt:1002 +#, no-wrap +msgid "`GIT_EDITOR`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:64 +#: en/git.txt:1007 msgid "" -"All the `file1` files in the output refer to files before the commit, and " -"all the `file2` files refer to files after the commit. It is incorrect to " -"apply each change to each file sequentially. For example, this patch will " -"swap a and b:" +"This environment variable overrides `$EDITOR` and `$VISUAL`. It is used by " +"several Git commands when, on interactive mode, an editor is to be " +"launched. See also linkgit:git-var[1] and the `core.editor` option in " +"linkgit:git-config[1]." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:71 +#. type: Labeled list +#: en/git.txt:1008 #, no-wrap -msgid "" -"diff --git a/a b/b\n" -"rename from a\n" -"rename to b\n" -"diff --git a/b b/a\n" -"rename from b\n" -"rename to a\n" +msgid "`GIT_SSH`" msgstr "" -#. type: Title - -#: en/diff-generate-patch.txt:74 +#. type: Labeled list +#: en/git.txt:1009 #, no-wrap -msgid "combined diff format" +msgid "`GIT_SSH_COMMAND`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:82 +#: en/git.txt:1018 msgid "" -"Any diff-generating command can take the `-c` or `--cc` option to produce a " -"'combined diff' when showing a merge. This is the default format when " -"showing merges with linkgit:git-diff[1] or linkgit:git-show[1]. Note also " -"that you can give the `-m` option to any of these commands to force " -"generation of diffs with individual parents of a merge." +"If either of these environment variables is set then 'git fetch' and 'git " +"push' will use the specified command instead of 'ssh' when they need to " +"connect to a remote system. The command will be given exactly two or four " +"arguments: the 'username@host' (or just 'host') from the URL and the shell " +"command to execute on that remote system, optionally preceded by `-p` " +"(literally) and the 'port' from the URL when it specifies something other " +"than the default SSH port." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:84 -msgid "A 'combined diff' format looks like this:" -msgstr "" - -#. type: delimited block - -#: en/diff-generate-patch.txt:93 -#, no-wrap +#: en/git.txt:1024 msgid "" -"diff --combined describe.c\n" -"index fabadb8,cc95eb0..4866510\n" -"--- a/describe.c\n" -"+++ b/describe.c\n" -"@@@ -98,20 -98,12 +98,20 @@@\n" -"\treturn (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;\n" -" }\n" +"`$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted by " +"the shell, which allows additional arguments to be included. `$GIT_SSH` on " +"the other hand must be just the path to a program (which can be a wrapper " +"shell script, if additional arguments are needed)." msgstr "" -#. type: delimited block - -#: en/diff-generate-patch.txt:103 -#, no-wrap +#. type: Plain text +#: en/git.txt:1028 msgid "" -"- static void describe(char *arg)\n" -" -static void describe(struct commit *cmit, int last_one)\n" -"++static void describe(char *arg, int last_one)\n" -" {\n" -" +\tunsigned char sha1[20];\n" -" +\tstruct commit *cmit;\n" -"\tstruct commit_list *list;\n" -"\tstatic int initialized = 0;\n" -"\tstruct commit_name *n;\n" +"Usually it is easier to configure any desired options through your personal " +"`.ssh/config` file. Please consult your ssh documentation for further " +"details." msgstr "" -#. type: delimited block - -#: en/diff-generate-patch.txt:113 +#. type: Labeled list +#: en/git.txt:1029 #, no-wrap -msgid "" -" +\tif (get_sha1(arg, sha1) < 0)\n" -" +\t\tusage(describe_usage);\n" -" +\tcmit = lookup_commit_reference(sha1);\n" -" +\tif (!cmit)\n" -" +\t\tusage(describe_usage);\n" -" +\n" -"\tif (!initialized) {\n" -"\t\tinitialized = 1;\n" -"\t\tfor_each_ref(get_name);\n" +msgid "`GIT_SSH_VARIANT`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:117 +#: en/git.txt:1034 msgid "" -"It is preceded with a \"git diff\" header, that looks like this (when `-c` " -"option is used):" +"If this environment variable is set, it overrides Git's autodetection " +"whether `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` refer to OpenSSH, " +"plink or tortoiseplink. This variable overrides the config setting " +"`ssh.variant` that serves the same purpose." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:119 +#. type: Labeled list +#: en/git.txt:1035 #, no-wrap -msgid "diff --combined file\n" +msgid "`GIT_ASKPASS`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:121 -msgid "or like this (when `--cc` option is used):" +#: en/git.txt:1041 +msgid "" +"If this environment variable is set, then Git commands which need to acquire " +"passwords or passphrases (e.g. for HTTP or IMAP authentication) will call " +"this program with a suitable prompt as command-line argument and read the " +"password from its STDOUT. See also the `core.askPass` option in " +"linkgit:git-config[1]." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:123 +#. type: Labeled list +#: en/git.txt:1042 #, no-wrap -msgid " diff --cc file\n" +msgid "`GIT_TERMINAL_PROMPT`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:126 +#: en/git.txt:1045 msgid "" -"It is followed by one or more extended header lines (this example shows a " -"merge with two parents):" +"If this environment variable is set to `0`, git will not prompt on the " +"terminal (e.g., when asking for HTTP authentication)." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:131 +#. type: Labeled list +#: en/git.txt:1046 #, no-wrap -msgid "" -"index <hash>,<hash>..<hash>\n" -"mode <mode>,<mode>..<mode>\n" -"new file mode <mode>\n" -"deleted file mode <mode>,<mode>\n" +msgid "`GIT_CONFIG_NOSYSTEM`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:137 +#: en/git.txt:1053 msgid "" -"The `mode <mode>,<mode>..<mode>` line appears only if at least one of the " -"<mode> is different from the rest. Extended headers with information about " -"detected contents movement (renames and copying detection) are designed to " -"work with diff of two <tree-ish> and are not used by combined diff format." +"Whether to skip reading settings from the system-wide " +"`$(prefix)/etc/gitconfig` file. This environment variable can be used along " +"with `$HOME` and `$XDG_CONFIG_HOME` to create a predictable environment for " +"a picky script, or you can set it temporarily to avoid using a buggy " +"`/etc/gitconfig` file while waiting for someone with sufficient permissions " +"to fix it." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:139 -msgid "It is followed by two-line from-file/to-file header" +#. type: Labeled list +#: en/git.txt:1054 +#, no-wrap +msgid "`GIT_FLUSH`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:141 -msgid "a/file" +#: en/git.txt:1064 +#, no-wrap +msgid "" +"If this environment variable is set to \"1\", then commands such\n" +"as 'git blame' (in incremental mode), 'git rev-list', 'git log',\n" +"'git check-attr' and 'git check-ignore' will\n" +"force a flush of the output stream after each record have been\n" +"flushed. If this\n" +"variable is set to \"0\", the output of these commands will be done\n" +"using completely buffered I/O. If this environment variable is\n" +"not set, Git will choose buffered or record-oriented flushing\n" +"based on whether stdout appears to be redirected to a file or not.\n" msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:142 -msgid "b/file" +#. type: Labeled list +#: en/git.txt:1065 +#, no-wrap +msgid "`GIT_TRACE`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:146 +#: en/git.txt:1068 msgid "" -"Similar to two-line header for traditional 'unified' diff format, " -"`/dev/null` is used to signal created or deleted files." +"Enables general trace messages, e.g. alias expansion, built-in command " +"execution and external command execution." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:152 +#: en/git.txt:1072 msgid "" -"Chunk header format is modified to prevent people from accidentally feeding " -"it to `patch -p1`. Combined diff format was created for review of merge " -"commit changes, and was not meant for apply. The change is similar to the " -"change in the extended 'index' header:" +"If this variable is set to \"1\", \"2\" or \"true\" (comparison is case " +"insensitive), trace messages will be printed to stderr." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:154 -#, no-wrap -msgid "@@@ <from-file-range> <from-file-range> <to-file-range> @@@\n" +#: en/git.txt:1077 +msgid "" +"If the variable is set to an integer value greater than 2 and lower than 10 " +"(strictly) then Git will interpret this value as an open file descriptor and " +"will try to write the trace messages into this file descriptor." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:157 +#: en/git.txt:1082 msgid "" -"There are (number of parents + 1) `@` characters in the chunk header for " -"combined diff format." +"Alternatively, if the variable is set to an absolute path (starting with a " +"'/' character), Git will interpret this as a file path and will try to write " +"the trace messages into it." msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:166 +#: en/git.txt:1085 msgid "" -"Unlike the traditional 'unified' diff format, which shows two files A and B " -"with a single column that has `-` (minus -- appears in A but removed in B), " -"`+` (plus -- missing in A but added to B), or `\" \"` (space -- unchanged) " -"prefix, this format compares two or more files file1, file2,... with one " -"file X, and shows how X differs from each of fileN. One column for each of " -"fileN is prepended to the output line to note how X's line is different from " -"it." +"Unsetting the variable, or setting it to empty, \"0\" or \"false\" (case " +"insensitive) disables trace messages." msgstr "" -#. type: Plain text -#: en/diff-generate-patch.txt:172 -msgid "" -"A `-` character in the column N means that the line appears in fileN but it " -"does not appear in the result. A `+` character in the column N means that " -"the line appears in the result, and fileN does not have that line (in other " -"words, the line was added, from the point of view of that parent)." +#. type: Labeled list +#: en/git.txt:1086 +#, no-wrap +msgid "`GIT_TRACE_PACK_ACCESS`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:178 +#: en/git.txt:1092 msgid "" -"In the above example output, the function signature was changed from both " -"files (hence two `-` removals from both file1 and file2, plus `++` to mean " -"one line that was added does not appear in either file1 or file2). Also " -"eight other lines are the same from file1 but do not appear in file2 (hence " -"prefixed with `+`)." +"Enables trace messages for all accesses to any packs. For each access, the " +"pack file name and an offset in the pack is recorded. This may be helpful " +"for troubleshooting some pack-related performance problems. See `GIT_TRACE` " +"for available trace output options." +msgstr "" + +#. type: Labeled list +#: en/git.txt:1093 +#, no-wrap +msgid "`GIT_TRACE_PACKET`" msgstr "" #. type: Plain text -#: en/diff-generate-patch.txt:184 +#: en/git.txt:1099 msgid "" -"When shown by `git diff-tree -c`, it compares the parents of a merge commit " -"with the merge result (i.e. file1..fileN are the parents). When shown by " -"`git diff-files -c`, it compares the two unresolved merge parents with the " -"working tree file (i.e. file1 is stage 2 aka \"our version\", file2 is stage " -"3 aka \"their version\")." +"Enables trace messages for all packets coming in or out of a given " +"program. This can help with debugging object negotiation or other protocol " +"issues. Tracing is turned off at a packet starting with \"PACK\" (but see " +"`GIT_TRACE_PACKFILE` below). See `GIT_TRACE` for available trace output " +"options." msgstr "" -#. type: Plain text -#: en/diff-options.txt:19 -msgid "Generate plain patches without any diffstats." +#. type: Labeled list +#: en/git.txt:1100 +#, no-wrap +msgid "`GIT_TRACE_PACKFILE`" msgstr "" #. type: Plain text -#: en/diff-options.txt:26 -msgid "Generate patch (see section on generating patches)." +#: en/git.txt:1107 +msgid "" +"Enables tracing of packfiles sent or received by a given program. Unlike " +"other trace output, this trace is verbatim: no headers, and no quoting of " +"binary data. You almost certainly want to direct into a file (e.g., " +"`GIT_TRACE_PACKFILE=/tmp/my.pack`) rather than displaying it on the terminal " +"or mixing it with other trace output." msgstr "" #. type: Plain text -#: en/diff-options.txt:28 en/diff-options.txt:50 -#, no-wrap -msgid "\tThis is the default.\n" +#: en/git.txt:1110 +msgid "" +"Note that this is currently only implemented for the client side of clones " +"and fetches." msgstr "" #. type: Labeled list -#: en/diff-options.txt:31 +#: en/git.txt:1111 #, no-wrap -msgid "--no-patch" +msgid "`GIT_TRACE_PERFORMANCE`" msgstr "" #. type: Plain text -#: en/diff-options.txt:34 +#: en/git.txt:1115 msgid "" -"Suppress diff output. Useful for commands like `git show` that show the " -"patch by default, or to cancel the effect of `--patch`." -msgstr "" - -#. type: Labeled list -#: en/diff-options.txt:36 -#, no-wrap -msgid "-U<n>" +"Enables performance related trace messages, e.g. total execution time of " +"each Git command. See `GIT_TRACE` for available trace output options." msgstr "" #. type: Labeled list -#: en/diff-options.txt:37 +#: en/git.txt:1116 #, no-wrap -msgid "--unified=<n>" +msgid "`GIT_TRACE_SETUP`" msgstr "" #. type: Plain text -#: en/diff-options.txt:40 -msgid "Generate diffs with <n> lines of context instead of the usual three." +#: en/git.txt:1120 +msgid "" +"Enables trace messages printing the .git, working tree and current working " +"directory after Git has completed its setup phase. See `GIT_TRACE` for " +"available trace output options." msgstr "" -#. type: Plain text -#: en/diff-options.txt:42 +#. type: Labeled list +#: en/git.txt:1121 #, no-wrap -msgid "\tImplies `-p`.\n" +msgid "`GIT_TRACE_SHALLOW`" msgstr "" #. type: Plain text -#: en/diff-options.txt:48 +#: en/git.txt:1125 +msgid "" +"Enables trace messages that can help debugging fetching / cloning of shallow " +"repositories. See `GIT_TRACE` for available trace output options." +msgstr "" + +#. type: Labeled list +#: en/git.txt:1126 #, no-wrap -msgid "\tGenerate the diff in raw format.\n" +msgid "`GIT_TRACE_CURL`" msgstr "" #. type: Plain text -#: en/diff-options.txt:58 -#, no-wrap +#: en/git.txt:1133 msgid "" -"\tFor each commit, show a summary of changes using the raw diff\n" -"\tformat. See the \"RAW OUTPUT FORMAT\" section of\n" -"\tlinkgit:git-diff[1]. This is different from showing the log\n" -"\titself in raw format, which you can achieve with\n" -"\t`--format=raw`.\n" +"Enables a curl full trace dump of all incoming and outgoing data, including " +"descriptive information, of the git transport protocol. This is similar to " +"doing curl `--trace-ascii` on the command line. This option overrides " +"setting the `GIT_CURL_VERBOSE` environment variable. See `GIT_TRACE` for " +"available trace output options." msgstr "" #. type: Labeled list -#: en/diff-options.txt:62 +#: en/git.txt:1134 #, no-wrap -msgid "--patch-with-raw" +msgid "`GIT_LITERAL_PATHSPECS`" msgstr "" #. type: Plain text -#: en/diff-options.txt:64 -msgid "Synonym for `-p --raw`." +#: en/git.txt:1142 +msgid "" +"Setting this variable to `1` will cause Git to treat all pathspecs " +"literally, rather than as glob patterns. For example, running " +"`GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search for commits that " +"touch the path `*.c`, not any paths that the glob `*.c` matches. You might " +"want this if you are feeding literal paths to Git (e.g., paths previously " +"given to you by `git ls-tree`, `--raw` diff output, etc)." msgstr "" #. type: Labeled list -#: en/diff-options.txt:68 +#: en/git.txt:1143 #, no-wrap -msgid "--minimal" +msgid "`GIT_GLOB_PATHSPECS`" +msgstr "" + +#. type: Plain text +#: en/git.txt:1146 +msgid "" +"Setting this variable to `1` will cause Git to treat all pathspecs as glob " +"patterns (aka \"glob\" magic)." msgstr "" #. type: Labeled list -#: en/diff-options.txt:72 +#: en/git.txt:1147 #, no-wrap -msgid "--patience" +msgid "`GIT_NOGLOB_PATHSPECS`" msgstr "" #. type: Plain text -#: en/diff-options.txt:74 -msgid "Generate a diff using the \"patience diff\" algorithm." +#: en/git.txt:1150 +msgid "" +"Setting this variable to `1` will cause Git to treat all pathspecs as " +"literal (aka \"literal\" magic)." msgstr "" #. type: Labeled list -#: en/diff-options.txt:75 +#: en/git.txt:1151 #, no-wrap -msgid "--histogram" +msgid "`GIT_ICASE_PATHSPECS`" msgstr "" #. type: Plain text -#: en/diff-options.txt:77 -msgid "Generate a diff using the \"histogram diff\" algorithm." +#: en/git.txt:1154 +msgid "" +"Setting this variable to `1` will cause Git to treat all pathspecs as " +"case-insensitive." msgstr "" #. type: Labeled list -#: en/diff-options.txt:78 +#: en/git.txt:1155 #, no-wrap -msgid "--diff-algorithm={patience|minimal|histogram|myers}" -msgstr "" - -#. type: Plain text -#: en/diff-options.txt:80 -msgid "Choose a diff algorithm. The variants are as follows:" +msgid "`GIT_REFLOG_ACTION`" msgstr "" #. type: Plain text -#: en/diff-options.txt:97 +#: en/git.txt:1164 msgid "" -"For instance, if you configured diff.algorithm variable to a non-default " -"value and want to use the default one, then you have to use " -"`--diff-algorithm=default` option." +"When a ref is updated, reflog entries are created to keep track of the " +"reason why the ref was updated (which is typically the name of the " +"high-level command that updated the ref), in addition to the old and new " +"values of the ref. A scripted Porcelain command can use set_reflog_action " +"helper function in `git-sh-setup` to set its name to this variable when it " +"is invoked as the top level command by the end user, to be recorded in the " +"body of the reflog." msgstr "" #. type: Labeled list -#: en/diff-options.txt:98 +#: en/git.txt:1165 #, no-wrap -msgid "--stat[=<width>[,<name-width>[,<count>]]]" +msgid "`GIT_REF_PARANOIA`" msgstr "" #. type: Plain text -#: en/diff-options.txt:112 +#: en/git.txt:1175 msgid "" -"Generate a diffstat. By default, as much space as necessary will be used for " -"the filename part, and the rest for the graph part. Maximum width defaults " -"to terminal width, or 80 columns if not connected to a terminal, and can be " -"overridden by `<width>`. The width of the filename part can be limited by " -"giving another width `<name-width>` after a comma. The width of the graph " -"part can be limited by using `--stat-graph-width=<width>` (affects all " -"commands generating a stat graph) or by setting " -"`diff.statGraphWidth=<width>` (does not affect `git format-patch`). By " -"giving a third parameter `<count>`, you can limit the output to the first " -"`<count>` lines, followed by `...` if there are more." +"If set to `1`, include broken or badly named refs when iterating over lists " +"of refs. In a normal, non-corrupted repository, this does nothing. However, " +"enabling it may help git to detect and abort some operations in the presence " +"of broken refs. Git sets this variable automatically when performing " +"destructive operations like linkgit:git-prune[1]. You should not need to set " +"it yourself unless you want to be paranoid about making sure an operation " +"has touched every ref (e.g., because you are cloning a repository to make a " +"backup)." msgstr "" -#. type: Plain text -#: en/diff-options.txt:115 -msgid "" -"These parameters can also be set individually with `--stat-width=<width>`, " -"`--stat-name-width=<name-width>` and `--stat-count=<count>`." +#. type: Labeled list +#: en/git.txt:1176 +#, no-wrap +msgid "`GIT_ALLOW_PROTOCOL`" msgstr "" #. type: Plain text -#: en/diff-options.txt:122 +#: en/git.txt:1184 msgid "" -"Similar to `--stat`, but shows number of added and deleted lines in decimal " -"notation and pathname without abbreviation, to make it more machine " -"friendly. For binary files, outputs two `-` instead of saying `0 0`." +"If set to a colon-separated list of protocols, behave as if `protocol.allow` " +"is set to `never`, and each of the listed protocols has " +"`protocol.<name>.allow` set to `always` (overriding any existing " +"configuration). In other words, any protocol not mentioned will be " +"disallowed (i.e., this is a whitelist, not a blacklist). See the description " +"of `protocol.allow` in linkgit:git-config[1] for more details." msgstr "" #. type: Labeled list -#: en/diff-options.txt:123 +#: en/git.txt:1185 #, no-wrap -msgid "--shortstat" +msgid "`GIT_PROTOCOL_FROM_USER`" msgstr "" #. type: Plain text -#: en/diff-options.txt:127 +#: en/git.txt:1191 msgid "" -"Output only the last line of the `--stat` format containing total number of " -"modified files, as well as number of added and deleted lines." +"Set to 0 to prevent protocols used by fetch/push/clone which are configured " +"to the `user` state. This is useful to restrict recursive submodule " +"initialization from an untrusted repository or for programs which feed " +"potentially-untrusted URLS to git commands. See linkgit:git-config[1] for " +"more details." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:128 +#. type: Title - +#: en/git.txt:1193 #, no-wrap -msgid "--dirstat[=<param1,param2,...>]" +msgid "Discussion[[Discussion]]" msgstr "" #. type: Plain text -#: en/diff-options.txt:135 +#: en/git.txt:1198 msgid "" -"Output the distribution of relative amount of changes for each " -"sub-directory. The behavior of `--dirstat` can be customized by passing it a " -"comma separated list of parameters. The defaults are controlled by the " -"`diff.dirstat` configuration variable (see linkgit:git-config[1]). The " -"following parameters are available:" +"More detail on the following is available from the " +"link:user-manual.html#git-concepts[Git concepts chapter of the user-manual] " +"and linkgit:gitcore-tutorial[7]." msgstr "" #. type: Plain text -#: en/diff-options.txt:171 +#: en/git.txt:1205 msgid "" -"Example: The following will count changed files, while ignoring directories " -"with less than 10% of the total amount of changed files, and accumulating " -"child directory counts in the parent directories: " -"`--dirstat=files,10,cumulative`." +"A Git project normally consists of a working directory with a \".git\" " +"subdirectory at the top level. The .git directory contains, among other " +"things, a compressed object database representing the complete history of " +"the project, an \"index\" file which links that history to the current " +"contents of the working tree, and named pointers into that history such as " +"tags and branch heads." msgstr "" #. type: Plain text -#: en/diff-options.txt:175 +#: en/git.txt:1210 msgid "" -"Output a condensed summary of extended header information such as creations, " -"renames and mode changes." -msgstr "" - -#. type: Labeled list -#: en/diff-options.txt:177 -#, no-wrap -msgid "--patch-with-stat" +"The object database contains objects of three main types: blobs, which hold " +"file data; trees, which point to blobs and other trees to build up directory " +"hierarchies; and commits, which each reference a single tree and some number " +"of parent commits." msgstr "" #. type: Plain text -#: en/diff-options.txt:179 -msgid "Synonym for `-p --stat`." +#: en/git.txt:1215 +msgid "" +"The commit, equivalent to what other systems call a \"changeset\" or " +"\"version\", represents a step in the project's history, and each parent " +"represents an immediately preceding step. Commits with more than one parent " +"represent merges of independent lines of development." msgstr "" #. type: Plain text -#: en/diff-options.txt:186 -#, no-wrap -msgid "\tSeparate the commits with NULs instead of with new newlines.\n" +#: en/git.txt:1221 +msgid "" +"All objects are named by the SHA-1 hash of their contents, normally written " +"as a string of 40 hex digits. Such names are globally unique. The entire " +"history leading up to a commit can be vouched for by signing just that " +"commit. A fourth object type, the tag, is provided for this purpose." msgstr "" #. type: Plain text -#: en/diff-options.txt:189 +#: en/git.txt:1224 msgid "" -"Also, when `--raw` or `--numstat` has been given, do not munge pathnames and " -"use NULs as output field terminators." +"When first created, objects are stored in individual files, but for " +"efficiency may later be compressed together into \"pack files\"." msgstr "" #. type: Plain text -#: en/diff-options.txt:193 -#, no-wrap +#: en/git.txt:1231 msgid "" -"\tWhen `--raw`, `--numstat`, `--name-only` or `--name-status` has been\n" -"\tgiven, do not munge pathnames and use NULs as output field terminators.\n" +"Named pointers called refs mark interesting points in history. A ref may " +"contain the SHA-1 name of an object or the name of another ref. Refs with " +"names beginning `ref/head/` contain the SHA-1 name of the most recent commit " +"(or \"head\") of a branch under development. SHA-1 names of tags of " +"interest are stored under `ref/tags/`. A special ref named `HEAD` contains " +"the name of the currently checked-out branch." msgstr "" #. type: Plain text -#: en/diff-options.txt:201 -msgid "Show only names of changed files." +#: en/git.txt:1240 +msgid "" +"The index file is initialized with a list of all paths and, for each path, a " +"blob object and a set of attributes. The blob object represents the " +"contents of the file as of the head of the current branch. The attributes " +"(last modified time, size, etc.) are taken from the corresponding file in " +"the working tree. Subsequent changes to the working tree can be found by " +"comparing these attributes. The index may be updated with new content, and " +"new commits may be created from the content stored in the index." msgstr "" #. type: Plain text -#: en/diff-options.txt:205 +#: en/git.txt:1244 msgid "" -"Show only names and status of changed files. See the description of the " -"`--diff-filter` option on what the status letters mean." +"The index is also capable of storing multiple entries (called \"stages\") " +"for a given pathname. These stages are used to hold the various unmerged " +"version of a file when a merge is in progress." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:206 +#. type: Title - +#: en/git.txt:1246 #, no-wrap -msgid "--submodule[=<format>]" +msgid "FURTHER DOCUMENTATION" msgstr "" #. type: Plain text -#: en/diff-options.txt:217 +#: en/git.txt:1251 msgid "" -"Specify how differences in submodules are shown. When specifying " -"`--submodule=short` the 'short' format is used. This format just shows the " -"names of the commits at the beginning and end of the range. When " -"`--submodule` or `--submodule=log` is specified, the 'log' format is used. " -"This format lists the commits in the range like linkgit:git-submodule[1] " -"`summary` does. When `--submodule=diff` is specified, the 'diff' format is " -"used. This format shows an inline diff of the changes in the submodule " -"contents between the commit range. Defaults to `diff.submodule` or the " -"'short' format if the config option is unset." +"See the references in the \"description\" section to get started using Git. " +"The following is probably more detail than necessary for a first-time user." msgstr "" #. type: Plain text -#: en/diff-options.txt:222 +#: en/git.txt:1255 msgid "" -"Show colored diff. `--color` (i.e. without '=<when>') is the same as " -"`--color=always`. '<when>' can be one of `always`, `never`, or `auto`." +"The link:user-manual.html#git-concepts[Git concepts chapter of the " +"user-manual] and linkgit:gitcore-tutorial[7] both provide introductions to " +"the underlying Git architecture." msgstr "" #. type: Plain text -#: en/diff-options.txt:225 -#, no-wrap -msgid "" -"\tIt can be changed by the `color.ui` and `color.diff`\n" -"\tconfiguration settings.\n" +#: en/git.txt:1257 +msgid "See linkgit:gitworkflows[7] for an overview of recommended workflows." msgstr "" #. type: Plain text -#: en/diff-options.txt:229 -msgid "Turn off colored diff." +#: en/git.txt:1260 +msgid "" +"See also the link:howto-index.html[howto] documents for some useful " +"examples." msgstr "" #. type: Plain text -#: en/diff-options.txt:231 -#, no-wrap -msgid "\tThis can be used to override configuration settings.\n" +#: en/git.txt:1263 +msgid "" +"The internals are documented in the link:technical/api-index.html[Git API " +"documentation]." msgstr "" #. type: Plain text -#: en/diff-options.txt:233 -#, no-wrap -msgid "\tIt is the same as `--color=never`.\n" +#: en/git.txt:1266 +msgid "Users migrating from CVS may also want to read linkgit:gitcvs-migration[7]." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:234 +#. type: Title - +#: en/git.txt:1269 #, no-wrap -msgid "--word-diff[=<mode>]" +msgid "Authors" msgstr "" #. type: Plain text -#: en/diff-options.txt:239 +#: en/git.txt:1274 msgid "" -"Show a word diff, using the <mode> to delimit changed words. By default, " -"words are delimited by whitespace; see `--word-diff-regex` below. The " -"<mode> defaults to 'plain', and must be one of:" +"Git was started by Linus Torvalds, and is currently maintained by Junio C " +"Hamano. Numerous contributions have come from the Git mailing list " +"<git@vger.kernel.org>. http://www.openhub.net/p/git/contributors/summary " +"gives you a more complete list of contributors." msgstr "" #. type: Plain text -#: en/diff-options.txt:243 -msgid "Highlight changed words using only colors. Implies `--color`." +#: en/git.txt:1278 +msgid "" +"If you have a clone of git.git itself, the output of linkgit:git-shortlog[1] " +"and linkgit:git-blame[1] can show you the authors for specific parts of the " +"project." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:243 +#. type: Title - +#: en/git.txt:1280 #, no-wrap -msgid "plain" +msgid "Reporting Bugs" msgstr "" #. type: Plain text -#: en/diff-options.txt:247 +#: en/git.txt:1285 msgid "" -"Show words as `[-removed-]` and `{+added+}`. Makes no attempts to escape " -"the delimiters if they appear in the input, so the output may be ambiguous." +"Report bugs to the Git mailing list <git@vger.kernel.org> where the " +"development and maintenance is primarily done. You do not have to be " +"subscribed to the list to send a message there." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:247 +#. type: Plain text +#: en/git.txt:1293 +msgid "" +"linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:giteveryday[7], " +"linkgit:gitcvs-migration[7], linkgit:gitglossary[7], " +"linkgit:gitcore-tutorial[7], linkgit:gitcli[7], link:user-manual.html[The " +"Git User's Manual], linkgit:gitworkflows[7]" +msgstr "" + +#. type: Title = +#: en/git-unpack-file.txt:2 #, no-wrap -msgid "porcelain" +msgid "git-unpack-file(1)" msgstr "" #. type: Plain text -#: en/diff-options.txt:254 -msgid "" -"Use a special line-based format intended for script consumption. " -"Added/removed/unchanged runs are printed in the usual unified diff format, " -"starting with a `+`/`-`/` ` character at the beginning of the line and " -"extending to the end of the line. Newlines in the input are represented by " -"a tilde `~` on a line of its own." +#: en/git-unpack-file.txt:7 +msgid "git-unpack-file - Creates a temporary file with a blob's contents" msgstr "" #. type: Plain text -#: en/diff-options.txt:256 -msgid "Disable word diff again." +#: en/git-unpack-file.txt:14 +#, no-wrap +msgid "'git unpack-file' <blob>\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:260 +#: en/git-unpack-file.txt:20 +#, no-wrap msgid "" -"Note that despite the name of the first mode, color is used to highlight the " -"changed parts in all modes if enabled." +"Creates a file holding the contents of the blob specified by sha1. It\n" +"returns the name of the temporary file in the following format:\n" +"\t.merge_file_XXXXX\n" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:261 +#. type: Plain text +#: en/git-unpack-file.txt:25 +msgid "Must be a blob id" +msgstr "" + +#. type: Title = +#: en/git-unpack-objects.txt:2 #, no-wrap -msgid "--word-diff-regex=<regex>" +msgid "git-unpack-objects(1)" msgstr "" #. type: Plain text -#: en/diff-options.txt:265 -msgid "" -"Use <regex> to decide what a word is, instead of considering runs of " -"non-whitespace to be a word. Also implies `--word-diff` unless it was " -"already enabled." +#: en/git-unpack-objects.txt:7 +msgid "git-unpack-objects - Unpack objects from a packed archive" msgstr "" #. type: Plain text -#: en/diff-options.txt:273 +#: en/git-unpack-objects.txt:13 +#, no-wrap +msgid "'git unpack-objects' [-n] [-q] [-r] [--strict]\n" +msgstr "" + +#. type: Plain text +#: en/git-unpack-objects.txt:20 msgid "" -"Every non-overlapping match of the <regex> is considered a word. Anything " -"between these matches is considered whitespace and ignored(!) for the " -"purposes of finding differences. You may want to append `|[^[:space:]]` to " -"your regular expression to make sure that it matches all non-whitespace " -"characters. A match that contains a newline is silently truncated(!) at the " -"newline." +"Read a packed archive (.pack) from the standard input, expanding the objects " +"contained within and writing them into the repository in \"loose\" (one " +"object per file) format." msgstr "" #. type: Plain text -#: en/diff-options.txt:276 +#: en/git-unpack-objects.txt:24 msgid "" -"For example, `--word-diff-regex=.` will treat each character as a word and, " -"correspondingly, show differences character by character." +"Objects that already exist in the repository will *not* be unpacked from the " +"packfile. Therefore, nothing will be unpacked if you use this command on a " +"packfile that exists within the target repository." msgstr "" #. type: Plain text -#: en/diff-options.txt:281 +#: en/git-unpack-objects.txt:27 msgid "" -"The regex can also be set via a diff driver or configuration option, see " -"linkgit:gitattributes[5] or linkgit:git-config[1]. Giving it explicitly " -"overrides any diff driver or configuration setting. Diff drivers override " -"configuration settings." +"See linkgit:git-repack[1] for options to generate new packs and replace " +"existing ones." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:282 -#, no-wrap -msgid "--color-words[=<regex>]" +#. type: Plain text +#: en/git-unpack-objects.txt:32 +msgid "Dry run. Check the pack file without actually unpacking" msgstr "" #. type: Plain text -#: en/diff-options.txt:285 -msgid "" -"Equivalent to `--word-diff=color` plus (if a regex was specified) " -"`--word-diff-regex=<regex>`." +#: en/git-unpack-objects.txt:33 +msgid "the objects." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:287 -#, no-wrap -msgid "--no-renames" +#. type: Plain text +#: en/git-unpack-objects.txt:37 +msgid "The command usually shows percentage progress. This flag suppresses it." msgstr "" #. type: Plain text -#: en/diff-options.txt:290 +#: en/git-unpack-objects.txt:43 msgid "" -"Turn off rename detection, even when the configuration file gives the " -"default to do so." +"When unpacking a corrupt packfile, the command dies at the first " +"corruption. This flag tells it to keep going and make the best effort to " +"recover as many objects as possible." msgstr "" #. type: Plain text -#: en/diff-options.txt:301 -msgid "" -"Warn if changes introduce conflict markers or whitespace errors. What are " -"considered whitespace errors is controlled by `core.whitespace` " -"configuration. By default, trailing whitespaces (including lines that " -"solely consist of whitespaces) and a space character that is immediately " -"followed by a tab character inside the initial indent of the line are " -"considered whitespace errors. Exits with non-zero status if problems are " -"found. Not compatible with --exit-code." +#: en/git-unpack-objects.txt:46 +msgid "Don't write objects with broken content or links." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:302 +#. type: Title = +#: en/git-update-index.txt:2 #, no-wrap -msgid "--ws-error-highlight=<kind>" +msgid "git-update-index(1)" msgstr "" #. type: Plain text -#: en/diff-options.txt:312 -msgid "" -"Highlight whitespace errors on lines specified by <kind> in the color " -"specified by `color.diff.whitespace`. <kind> is a comma separated list of " -"`old`, `new`, `context`. When this option is not given, only whitespace " -"errors in `new` lines are highlighted. E.g. `--ws-error-highlight=new,old` " -"highlights whitespace errors on both deleted and added lines. `all` can be " -"used as a short-hand for `old,new,context`. The `diff.wsErrorHighlight` " -"configuration variable can be used to specify the default behaviour." +#: en/git-update-index.txt:7 +msgid "git-update-index - Register file contents in the working tree to the index" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:315 +#. type: Plain text +#: en/git-update-index.txt:27 #, no-wrap -msgid "--full-index" +msgid "" +"'git update-index'\n" +"\t [--add] [--remove | --force-remove] [--replace]\n" +"\t [--refresh] [-q] [--unmerged] [--ignore-missing]\n" +"\t [(--cacheinfo <mode>,<object>,<file>)...]\n" +"\t [--chmod=(+|-)x]\n" +"\t [--[no-]assume-unchanged]\n" +"\t [--[no-]skip-worktree]\n" +"\t [--ignore-submodules]\n" +"\t [--[no-]split-index]\n" +"\t [--[no-|test-|force-]untracked-cache]\n" +"\t [--really-refresh] [--unresolve] [--again | -g]\n" +"\t [--info-only] [--index-info]\n" +"\t [-z] [--stdin] [--index-version <n>]\n" +"\t [--verbose]\n" +"\t [--] [<file>...]\n" +msgstr "" + +#. type: Plain text +#: en/git-update-index.txt:33 +msgid "" +"Modifies the index or directory cache. Each file mentioned is updated into " +"the index and any 'unmerged' or 'needs updating' state is cleared." msgstr "" #. type: Plain text -#: en/diff-options.txt:319 +#: en/git-update-index.txt:36 msgid "" -"Instead of the first handful of characters, show the full pre- and " -"post-image blob object names on the \"index\" line when generating patch " -"format output." +"See also linkgit:git-add[1] for a more user-friendly way to do some of the " +"most common operations on the index." msgstr "" #. type: Plain text -#: en/diff-options.txt:323 +#: en/git-update-index.txt:39 msgid "" -"In addition to `--full-index`, output a binary diff that can be applied with " -"`git-apply`." +"The way 'git update-index' handles files it is told about can be modified " +"using the various options:" msgstr "" #. type: Plain text -#: en/diff-options.txt:331 +#: en/git-update-index.txt:46 msgid "" -"Instead of showing the full 40-byte hexadecimal object name in diff-raw " -"format output and diff-tree header lines, show only a partial prefix. This " -"is independent of the `--full-index` option above, which controls the " -"diff-patch output format. Non default number of digits can be specified " -"with `--abbrev=<n>`." +"If a specified file isn't in the index already then it's added. Default " +"behaviour is to ignore new files." msgstr "" #. type: Labeled list -#: en/diff-options.txt:332 +#: en/git-update-index.txt:47 #, no-wrap -msgid "-B[<n>][/<m>]" +msgid "--remove" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:333 -#, no-wrap -msgid "--break-rewrites[=[<n>][/<m>]]" +#. type: Plain text +#: en/git-update-index.txt:51 +msgid "" +"If a specified file is in the index but is missing then it's removed. " +"Default behavior is to ignore removed file." msgstr "" #. type: Plain text -#: en/diff-options.txt:336 +#: en/git-update-index.txt:55 msgid "" -"Break complete rewrite changes into pairs of delete and create. This serves " -"two purposes:" +"Looks at the current index and checks to see if merges or updates are needed " +"by checking stat() information." msgstr "" #. type: Plain text -#: en/diff-options.txt:346 +#: en/git-update-index.txt:59 msgid "" -"It affects the way a change that amounts to a total rewrite of a file not as " -"a series of deletion and insertion mixed together with a very few lines that " -"happen to match textually as the context, but as a single deletion of " -"everything old followed by a single insertion of everything new, and the " -"number `m` controls this aspect of the -B option (defaults to 60%). `-B/70%` " -"specifies that less than 30% of the original should remain in the result for " -"Git to consider it a total rewrite (i.e. otherwise the resulting patch will " -"be a series of deletion and insertion mixed together with context lines)." +"Quiet. If --refresh finds that the index needs an update, the default " +"behavior is to error out. This option makes" msgstr "" #. type: Plain text -#: en/diff-options.txt:354 -msgid "" -"When used with -M, a totally-rewritten file is also considered as the source " -"of a rename (usually -M only considers a file that disappeared as the source " -"of a rename), and the number `n` controls this aspect of the -B option " -"(defaults to 50%). `-B20%` specifies that a change with addition and " -"deletion compared to 20% or more of the file's size are eligible for being " -"picked up as a possible source of a rename to another file." +#: en/git-update-index.txt:60 +msgid "'git update-index' continue anyway." msgstr "" #. type: Labeled list -#: en/diff-options.txt:355 +#: en/git-update-index.txt:61 #, no-wrap -msgid "-M[<n>]" +msgid "--ignore-submodules" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:356 -#, no-wrap -msgid "--find-renames[=<n>]" +#. type: Plain text +#: en/git-update-index.txt:64 +msgid "" +"Do not try to update submodules. This option is only respected when passed " +"before --refresh." msgstr "" #. type: Plain text -#: en/diff-options.txt:359 -#, no-wrap -msgid "\tDetect renames.\n" +#: en/git-update-index.txt:67 +msgid "If --refresh finds unmerged changes in the index, the default" msgstr "" #. type: Plain text -#: en/diff-options.txt:364 -#, no-wrap -msgid "" -"\tIf generating diffs, detect and report renames for each commit.\n" -"\tFor following files across renames while traversing history, see\n" -"\t`--follow`.\n" +#: en/git-update-index.txt:68 +msgid "behavior is to error out. This option makes 'git update-index'" msgstr "" #. type: Plain text -#: en/diff-options.txt:374 +#: en/git-update-index.txt:69 #, no-wrap -msgid "" -"\tIf `n` is specified, it is a threshold on the similarity\n" -"\tindex (i.e. amount of addition/deletions compared to the\n" -"\tfile's size). For example, `-M90%` means Git should consider a\n" -"\tdelete/add pair to be a rename if more than 90% of the file\n" -"\thasn't changed. Without a `%` sign, the number is to be read as\n" -"\ta fraction, with a decimal point before it. I.e., `-M5` becomes\n" -"\t0.5, and is thus the same as `-M50%`. Similarly, `-M05` is\n" -"\tthe same as `-M5%`. To limit detection to exact renames, use\n" -"\t`-M100%`. The default similarity index is 50%.\n" +msgid "continue anyway.\n" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:375 -#, no-wrap -msgid "-C[<n>]" +#. type: Plain text +#: en/git-update-index.txt:72 +msgid "Ignores missing files during a --refresh" msgstr "" #. type: Labeled list -#: en/diff-options.txt:376 +#: en/git-update-index.txt:73 #, no-wrap -msgid "--find-copies[=<n>]" +msgid "--cacheinfo <mode>,<object>,<path>" msgstr "" -#. type: Plain text -#: en/diff-options.txt:379 -msgid "" -"Detect copies as well as renames. See also `--find-copies-harder`. If `n` " -"is specified, it has the same meaning as for `-M<n>`." +#. type: Labeled list +#: en/git-update-index.txt:74 +#, no-wrap +msgid "--cacheinfo <mode> <object> <path>" msgstr "" #. type: Plain text -#: en/diff-options.txt:388 +#: en/git-update-index.txt:79 msgid "" -"For performance reasons, by default, `-C` option finds copies only if the " -"original file of the copy was modified in the same changeset. This flag " -"makes the command inspect unmodified files as candidates for the source of " -"copy. This is a very expensive operation for large projects, so use it with " -"caution. Giving more than one `-C` option has the same effect." +"Directly insert the specified info into the index. For backward " +"compatibility, you can also give these three arguments as three separate " +"parameters, but new users are encouraged to use a single-parameter form." msgstr "" #. type: Labeled list -#: en/diff-options.txt:390 +#: en/git-update-index.txt:80 #, no-wrap -msgid "--irreversible-delete" -msgstr "" - -#. type: Plain text -#: en/diff-options.txt:398 -msgid "" -"Omit the preimage for deletes, i.e. print only the header but not the diff " -"between the preimage and `/dev/null`. The resulting patch is not meant to be " -"applied with `patch` or `git apply`; this is solely for people who want to " -"just concentrate on reviewing the text after the change. In addition, the " -"output obviously lack enough information to apply such a patch in reverse, " -"even manually, hence the name of the option." +msgid "--index-info" msgstr "" #. type: Plain text -#: en/diff-options.txt:401 -msgid "" -"When used together with `-B`, omit also the preimage in the deletion part of " -"a delete/create pair." +#: en/git-update-index.txt:82 +msgid "Read index information from stdin." msgstr "" #. type: Plain text -#: en/diff-options.txt:408 -msgid "" -"The `-M` and `-C` options require O(n^2) processing time where n is the " -"number of potential rename/copy targets. This option prevents rename/copy " -"detection from running if the number of rename/copy targets exceeds the " -"specified number." +#: en/git-update-index.txt:85 +msgid "Set the execute permissions on the updated files." msgstr "" #. type: Labeled list -#: en/diff-options.txt:410 +#: en/git-update-index.txt:86 #, no-wrap -msgid "--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]" +msgid "--[no-]assume-unchanged" msgstr "" #. type: Plain text -#: en/diff-options.txt:421 +#: en/git-update-index.txt:98 msgid "" -"Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), " -"Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, " -"submodule, ...) changed (`T`), are Unmerged (`U`), are Unknown (`X`), or " -"have had their pairing Broken (`B`). Any combination of the filter " -"characters (including none) can be used. When `*` (All-or-none) is added to " -"the combination, all paths are selected if there is any file that matches " -"other criteria in the comparison; if there is no file that matches other " -"criteria, nothing is selected." +"When this flag is specified, the object names recorded for the paths are not " +"updated. Instead, this option sets/unsets the \"assume unchanged\" bit for " +"the paths. When the \"assume unchanged\" bit is on, the user promises not " +"to change the file and allows Git to assume that the working tree file " +"matches what is recorded in the index. If you want to change the working " +"tree file, you need to unset the bit to tell Git. This is sometimes helpful " +"when working with a big project on a filesystem that has very slow lstat(2) " +"system call (e.g. cifs)." msgstr "" #. type: Plain text -#: en/diff-options.txt:424 +#: en/git-update-index.txt:103 msgid "" -"Also, these upper-case letters can be downcased to exclude. E.g. " -"`--diff-filter=ad` excludes added and deleted paths." +"Git will fail (gracefully) in case it needs to modify this file in the index " +"e.g. when merging in a commit; thus, in case the assumed-untracked file is " +"changed upstream, you will need to handle the situation manually." msgstr "" #. type: Labeled list -#: en/diff-options.txt:425 +#: en/git-update-index.txt:104 #, no-wrap -msgid "-S<string>" -msgstr "" - -#. type: Plain text -#: en/diff-options.txt:429 -msgid "" -"Look for differences that change the number of occurrences of the specified " -"string (i.e. addition/deletion) in a file. Intended for the scripter's use." +msgid "--really-refresh" msgstr "" #. type: Plain text -#: en/diff-options.txt:435 +#: en/git-update-index.txt:107 msgid "" -"It is useful when you're looking for an exact block of code (like a struct), " -"and want to know the history of that block since it first came into being: " -"use the feature iteratively to feed the interesting block in the preimage " -"back into `-S`, and keep going until you get the very first version of the " -"block." +"Like `--refresh`, but checks stat information unconditionally, without " +"regard to the \"assume unchanged\" setting." msgstr "" #. type: Labeled list -#: en/diff-options.txt:436 +#: en/git-update-index.txt:108 #, no-wrap -msgid "-G<regex>" +msgid "--[no-]skip-worktree" msgstr "" #. type: Plain text -#: en/diff-options.txt:439 +#: en/git-update-index.txt:113 msgid "" -"Look for differences whose patch text contains added/removed lines that " -"match <regex>." +"When one of these flags is specified, the object name recorded for the paths " +"are not updated. Instead, these options set and unset the \"skip-worktree\" " +"bit for the paths. See section \"Skip-worktree bit\" below for more " +"information." +msgstr "" + +#. type: Labeled list +#: en/git-update-index.txt:115 +#, no-wrap +msgid "--again" msgstr "" #. type: Plain text -#: en/diff-options.txt:443 +#: en/git-update-index.txt:118 msgid "" -"To illustrate the difference between `-S<regex> --pickaxe-regex` and " -"`-G<regex>`, consider a commit with the following diff in the same file:" +"Runs 'git update-index' itself on the paths whose index entries are " +"different from those from the `HEAD` commit." msgstr "" -#. type: delimited block - -#: en/diff-options.txt:448 +#. type: Labeled list +#: en/git-update-index.txt:119 #, no-wrap -msgid "" -"+ return !regexec(regexp, two->ptr, 1, ®match, 0);\n" -"...\n" -"- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);\n" +msgid "--unresolve" msgstr "" #. type: Plain text -#: en/diff-options.txt:453 +#: en/git-update-index.txt:122 msgid "" -"While `git log -G\"regexec\\(regexp\"` will show this commit, `git log " -"-S\"regexec\\(regexp\" --pickaxe-regex` will not (because the number of " -"occurrences of that string did not change)." -msgstr "" - -#. type: Plain text -#: en/diff-options.txt:456 -msgid "See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more information." +"Restores the 'unmerged' or 'needs updating' state of a file during a merge " +"if it was cleared by accident." msgstr "" #. type: Labeled list -#: en/diff-options.txt:457 +#: en/git-update-index.txt:123 #, no-wrap -msgid "--pickaxe-all" +msgid "--info-only" msgstr "" #. type: Plain text -#: en/diff-options.txt:461 +#: en/git-update-index.txt:127 msgid "" -"When `-S` or `-G` finds a change, show all the changes in that changeset, " -"not just the files that contain the change in <string>." +"Do not create objects in the object database for all <file> arguments that " +"follow this flag; just insert their object IDs into the index." msgstr "" #. type: Labeled list -#: en/diff-options.txt:462 +#: en/git-update-index.txt:128 #, no-wrap -msgid "--pickaxe-regex" +msgid "--force-remove" msgstr "" #. type: Plain text -#: en/diff-options.txt:465 +#: en/git-update-index.txt:131 msgid "" -"Treat the <string> given to `-S` as an extended POSIX regular expression to " -"match." +"Remove the file from the index even when the working directory still has " +"such a file. (Implies --remove.)" msgstr "" -#. type: Plain text -#: en/diff-options.txt:472 -msgid "" -"Control the order in which files appear in the output. This overrides the " -"`diff.orderFile` configuration variable (see linkgit:git-config[1]). To " -"cancel `diff.orderFile`, use `-O/dev/null`." +#. type: Labeled list +#: en/git-update-index.txt:132 +#, no-wrap +msgid "--replace" msgstr "" #. type: Plain text -#: en/diff-options.txt:484 +#: en/git-update-index.txt:139 msgid "" -"The output order is determined by the order of glob patterns in " -"<orderfile>. All files with pathnames that match the first pattern are " -"output first, all files with pathnames that match the second pattern (but " -"not the first) are output next, and so on. All files with pathnames that do " -"not match any pattern are output last, as if there was an implicit match-all " -"pattern at the end of the file. If multiple pathnames have the same rank " -"(they match the same pattern but no earlier patterns), their output order " -"relative to each other is the normal order." +"By default, when a file `path` exists in the index, 'git update-index' " +"refuses an attempt to add `path/file`. Similarly if a file `path/file` " +"exists, a file `path` cannot be added. With --replace flag, existing " +"entries that conflict with the entry being added are automatically removed " +"with warning messages." msgstr "" #. type: Plain text -#: en/diff-options.txt:486 -msgid "<orderfile> is parsed as follows:" +#: en/git-update-index.txt:147 +msgid "Report what is being added and removed from index." msgstr "" -#. type: Plain text -#: en/diff-options.txt:490 -msgid "Blank lines are ignored, so they can be used as separators for readability." +#. type: Labeled list +#: en/git-update-index.txt:148 +#, no-wrap +msgid "--index-version <n>" msgstr "" #. type: Plain text -#: en/diff-options.txt:494 +#: en/git-update-index.txt:153 msgid "" -"Lines starting with a hash (\"`#`\") are ignored, so they can be used for " -"comments. Add a backslash (\"`\\`\") to the beginning of the pattern if it " -"starts with a hash." +"Write the resulting index out in the named on-disk format version. " +"Supported versions are 2, 3 and 4. The current default version is 2 or 3, " +"depending on whether extra features are used, such as `git add -N`." msgstr "" #. type: Plain text -#: en/diff-options.txt:496 -msgid "Each other line contains a single pattern." +#: en/git-update-index.txt:159 +msgid "" +"Version 4 performs a simple pathname compression that reduces index size by " +"30%-50% on large repositories, which results in faster load time. Version 4 " +"is relatively young (first released in in 1.8.0 in October 2012). Other Git " +"implementations such as JGit and libgit2 may not support it yet." msgstr "" #. type: Plain text -#: en/diff-options.txt:503 +#: en/git-update-index.txt:163 msgid "" -"Patterns have the same syntax and semantics as patterns used for fnmantch(3) " -"without the FNM_PATHNAME flag, except a pathname also matches a pattern if " -"removing any number of the final pathname components matches the pattern. " -"For example, the pattern \"`foo*bar`\" matches \"`fooasdfbar`\" and " -"\"`foo/bar/baz/asdf`\" but not \"`foobarx`\"." +"Only meaningful with `--stdin` or `--index-info`; paths are separated with " +"NUL character instead of LF." msgstr "" -#. type: Plain text -#: en/diff-options.txt:508 -msgid "" -"Swap two inputs; that is, show differences from index or on-disk file to " -"tree contents." +#. type: Labeled list +#: en/git-update-index.txt:164 +#, no-wrap +msgid "--split-index" msgstr "" #. type: Labeled list -#: en/diff-options.txt:509 +#: en/git-update-index.txt:165 #, no-wrap -msgid "--relative[=<path>]" +msgid "--no-split-index" msgstr "" #. type: Plain text -#: en/diff-options.txt:516 +#: en/git-update-index.txt:170 msgid "" -"When run from a subdirectory of the project, it can be told to exclude " -"changes outside the directory and show pathnames relative to it with this " -"option. When you are not in a subdirectory (e.g. in a bare repository), you " -"can name which subdirectory to make the output relative to by giving a " -"<path> as an argument." +"Enable or disable split index mode. If split-index mode is already enabled " +"and `--split-index` is given again, all changes in $GIT_DIR/index are pushed " +"back to the shared index file." msgstr "" #. type: Plain text -#: en/diff-options.txt:521 -msgid "Treat all files as text." +#: en/git-update-index.txt:176 +msgid "" +"These options take effect whatever the value of the `core.splitIndex` " +"configuration variable (see linkgit:git-config[1]). But a warning is emitted " +"when the change goes against the configured value, as the configured value " +"will take effect next time the index is read and this will remove the " +"intended effect of the option." msgstr "" #. type: Labeled list -#: en/diff-options.txt:522 +#: en/git-update-index.txt:177 #, no-wrap -msgid "--ignore-space-at-eol" +msgid "--untracked-cache" msgstr "" -#. type: Plain text -#: en/diff-options.txt:524 -msgid "Ignore changes in whitespace at EOL." +#. type: Labeled list +#: en/git-update-index.txt:178 +#, no-wrap +msgid "--no-untracked-cache" msgstr "" #. type: Plain text -#: en/diff-options.txt:530 +#: en/git-update-index.txt:181 msgid "" -"Ignore changes in amount of whitespace. This ignores whitespace at line " -"end, and considers all other sequences of one or more whitespace characters " -"to be equivalent." -msgstr "" - -#. type: Labeled list -#: en/diff-options.txt:532 -#, no-wrap -msgid "--ignore-all-space" +"Enable or disable untracked cache feature. Please use " +"`--test-untracked-cache` before enabling it." msgstr "" #. type: Plain text -#: en/diff-options.txt:536 +#: en/git-update-index.txt:187 msgid "" -"Ignore whitespace when comparing lines. This ignores differences even if " -"one line has whitespace where the other line has none." +"These options take effect whatever the value of the `core.untrackedCache` " +"configuration variable (see linkgit:git-config[1]). But a warning is emitted " +"when the change goes against the configured value, as the configured value " +"will take effect next time the index is read and this will remove the " +"intended effect of the option." msgstr "" #. type: Labeled list -#: en/diff-options.txt:537 +#: en/git-update-index.txt:188 #, no-wrap -msgid "--ignore-blank-lines" +msgid "--test-untracked-cache" msgstr "" #. type: Plain text -#: en/diff-options.txt:539 -msgid "Ignore changes whose lines are all blank." +#: en/git-update-index.txt:197 +msgid "" +"Only perform tests on the working directory to make sure untracked cache can " +"be used. You have to manually enable untracked cache using " +"`--untracked-cache` or `--force-untracked-cache` or the " +"`core.untrackedCache` configuration variable afterwards if you really want " +"to use it. If a test fails the exit code is 1 and a message explains what is " +"not working as needed, otherwise the exit code is 0 and OK is printed." msgstr "" #. type: Labeled list -#: en/diff-options.txt:540 +#: en/git-update-index.txt:198 #, no-wrap -msgid "--inter-hunk-context=<lines>" +msgid "--force-untracked-cache" msgstr "" #. type: Plain text -#: en/diff-options.txt:545 +#: en/git-update-index.txt:203 msgid "" -"Show the context between diff hunks, up to the specified number of lines, " -"thereby fusing hunks that are close to each other. Defaults to " -"`diff.interHunkContext` or 0 if the config option is unset." +"Same as `--untracked-cache`. Provided for backwards compatibility with older " +"versions of Git where `--untracked-cache` used to imply " +"`--test-untracked-cache` but this option would enable the extension " +"unconditionally." msgstr "" #. type: Plain text -#: en/diff-options.txt:549 -msgid "Show whole surrounding functions of changes." +#: en/git-update-index.txt:213 +msgid "" +"Files to act on. Note that files beginning with '.' are discarded. This " +"includes `./file` and `dir/./file`. If you don't want this, then use cleaner " +"names. The same applies to directories ending '/' and paths with '//'" +msgstr "" + +#. type: Title - +#: en/git-update-index.txt:215 +#, no-wrap +msgid "Using --refresh" msgstr "" #. type: Plain text -#: en/diff-options.txt:556 +#: en/git-update-index.txt:221 msgid "" -"Make the program exit with codes similar to diff(1). That is, it exits with " -"1 if there were differences and 0 means no differences." +"`--refresh` does not calculate a new sha1 file or bring the index up-to-date " +"for mode/content changes. But what it *does* do is to \"re-match\" the stat " +"information of a file with the index, so that you can refresh the index for " +"a file that hasn't been changed but where the stat entry is out of date." msgstr "" #. type: Plain text -#: en/diff-options.txt:559 -msgid "Disable all output of the program. Implies `--exit-code`." +#: en/git-update-index.txt:224 +msgid "" +"For example, you'd want to do this after doing a 'git read-tree', to link up " +"the stat index details with the proper files." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:562 +#. type: Title - +#: en/git-update-index.txt:226 #, no-wrap -msgid "--ext-diff" +msgid "Using --cacheinfo or --info-only" msgstr "" #. type: Plain text -#: en/diff-options.txt:566 +#: en/git-update-index.txt:230 msgid "" -"Allow an external diff helper to be executed. If you set an external diff " -"driver with linkgit:gitattributes[5], you need to use this option with " -"linkgit:git-log[1] and friends." -msgstr "" - -#. type: Labeled list -#: en/diff-options.txt:567 -#, no-wrap -msgid "--no-ext-diff" +"`--cacheinfo` is used to register a file that is not in the current working " +"directory. This is useful for minimum-checkout merging." msgstr "" #. type: Plain text -#: en/diff-options.txt:569 -msgid "Disallow external diff drivers." +#: en/git-update-index.txt:232 +msgid "To pretend you have a file with mode and sha1 at path, say:" msgstr "" -#. type: Plain text -#: en/diff-options.txt:580 -msgid "" -"Allow (or disallow) external text conversion filters to be run when " -"comparing binary files. See linkgit:gitattributes[5] for details. Because " -"textconv filters are typically a one-way conversion, the resulting diff is " -"suitable for human consumption, but cannot be applied. For this reason, " -"textconv filters are enabled by default only for linkgit:git-diff[1] and " -"linkgit:git-log[1], but not for linkgit:git-format-patch[1] or diff plumbing " -"commands." +#. type: delimited block - +#: en/git-update-index.txt:235 +#, no-wrap +msgid "$ git update-index --cacheinfo <mode>,<sha1>,<path>\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:593 +#: en/git-update-index.txt:239 msgid "" -"Ignore changes to submodules in the diff generation. <when> can be either " -"\"none\", \"untracked\", \"dirty\" or \"all\", which is the default. Using " -"\"none\" will consider the submodule modified when it either contains " -"untracked or modified files or its HEAD differs from the commit recorded in " -"the superproject and can be used to override any settings of the 'ignore' " -"option in linkgit:git-config[1] or linkgit:gitmodules[5]. When \"untracked\" " -"is used submodules are not considered dirty when they only contain untracked " -"content (but they are still scanned for modified content). Using \"dirty\" " -"ignores all changes to the work tree of submodules, only changes to the " -"commits stored in the superproject are shown (this was the behavior until " -"1.7.0). Using \"all\" hides all changes to submodules." -msgstr "" - -#. type: Labeled list -#: en/diff-options.txt:594 -#, no-wrap -msgid "--src-prefix=<prefix>" +"`--info-only` is used to register files without placing them in the object " +"database. This is useful for status-only repositories." msgstr "" #. type: Plain text -#: en/diff-options.txt:596 -msgid "Show the given source prefix instead of \"a/\"." +#: en/git-update-index.txt:245 +msgid "" +"Both `--cacheinfo` and `--info-only` behave similarly: the index is updated " +"but the object database isn't. `--cacheinfo` is useful when the object is " +"in the database but the file isn't available locally. `--info-only` is " +"useful when the file is available, but you do not wish to update the object " +"database." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:597 +#. type: Title - +#: en/git-update-index.txt:248 #, no-wrap -msgid "--dst-prefix=<prefix>" +msgid "Using --index-info" msgstr "" #. type: Plain text -#: en/diff-options.txt:599 -msgid "Show the given destination prefix instead of \"b/\"." +#: en/git-update-index.txt:253 +msgid "" +"`--index-info` is a more powerful mechanism that lets you feed multiple " +"entry definitions from the standard input, and designed specifically for " +"scripts. It can take inputs of three formats:" msgstr "" -#. type: Labeled list -#: en/diff-options.txt:600 +#. type: Plain text +#: en/git-update-index.txt:255 #, no-wrap -msgid "--no-prefix" +msgid "mode SP sha1 TAB path\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:602 -msgid "Do not show any source or destination prefix." +#: en/git-update-index.txt:260 +msgid "" +"The first format is what \"git-apply --index-info\" reports, and used to " +"reconstruct a partial tree that is used for phony merge base tree when " +"falling back on 3-way merge." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:603 +#. type: Plain text +#: en/git-update-index.txt:262 #, no-wrap -msgid "--line-prefix=<prefix>" +msgid "mode SP type SP sha1 TAB path\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:605 -msgid "Prepend an additional prefix to every line of output." +#: en/git-update-index.txt:265 +msgid "The second format is to stuff 'git ls-tree' output into the index file." msgstr "" -#. type: Labeled list -#: en/diff-options.txt:606 +#. type: Plain text +#: en/git-update-index.txt:267 #, no-wrap -msgid "--ita-invisible-in-index" +msgid "mode SP sha1 SP stage TAB path\n" msgstr "" #. type: Plain text -#: en/diff-options.txt:613 +#: en/git-update-index.txt:270 msgid "" -"By default entries added by \"git add -N\" appear as an existing empty file " -"in \"git diff\" and a new file in \"git diff --cached\". This option makes " -"the entry appear as a new file in \"git diff\" and non-existent in \"git " -"diff --cached\". This option could be reverted with " -"`--ita-visible-in-index`. Both options are experimental and could be removed " -"in future." +"This format is to put higher order stages into the index file and matches " +"'git ls-files --stage' output." msgstr "" #. type: Plain text -#: en/diff-options.txt:615 +#: en/git-update-index.txt:274 msgid "" -"For more detailed explanation on these common options, see also " -"linkgit:gitdiffcore[7]." +"To place a higher stage entry to the index, the path should first be removed " +"by feeding a mode=0 entry for the path, and then feeding necessary input " +"lines in the third format." msgstr "" #. type: Plain text -#: en/fetch-options.txt:3 -msgid "Fetch all remotes." +#: en/git-update-index.txt:276 +msgid "For example, starting with this index:" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:5 +#. type: delimited block - +#: en/git-update-index.txt:280 #, no-wrap -msgid "--append" +msgid "" +"$ git ls-files -s\n" +"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0 frotz\n" msgstr "" #. type: Plain text -#: en/fetch-options.txt:9 -msgid "" -"Append ref names and object names of fetched refs to the existing contents " -"of `.git/FETCH_HEAD`. Without this option old data in `.git/FETCH_HEAD` " -"will be overwritten." +#: en/git-update-index.txt:283 +msgid "you can feed the following input to `--index-info`:" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:10 +#. type: delimited block - +#: en/git-update-index.txt:289 #, no-wrap -msgid "--depth=<depth>" +msgid "" +"$ git update-index --index-info\n" +"0 0000000000000000000000000000000000000000\tfrotz\n" +"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" +"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" msgstr "" #. type: Plain text -#: en/fetch-options.txt:16 +#: en/git-update-index.txt:295 msgid "" -"Limit fetching to the specified number of commits from the tip of each " -"remote branch history. If fetching to a 'shallow' repository created by `git " -"clone` with `--depth=<depth>` option (see linkgit:git-clone[1]), deepen or " -"shorten the history to the specified number of commits. Tags for the " -"deepened commits are not fetched." +"The first line of the input feeds 0 as the mode to remove the path; the " +"SHA-1 does not matter as long as it is well formatted. Then the second and " +"third line feeds stage 1 and stage 2 entries for that path. After the " +"above, we would end up with this:" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:17 +#. type: delimited block - +#: en/git-update-index.txt:300 #, no-wrap -msgid "--deepen=<depth>" +msgid "" +"$ git ls-files -s\n" +"100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1\tfrotz\n" +"100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2\tfrotz\n" msgstr "" -#. type: Plain text -#: en/fetch-options.txt:21 -msgid "" -"Similar to --depth, except it specifies the number of commits from the " -"current shallow boundary instead of from the tip of each remote branch " -"history." +#. type: Title - +#: en/git-update-index.txt:304 +#, no-wrap +msgid "Using ``assume unchanged'' bit" msgstr "" #. type: Plain text -#: en/fetch-options.txt:25 +#: en/git-update-index.txt:319 msgid "" -"Deepen or shorten the history of a shallow repository to include all " -"reachable commits after <date>." +"Many operations in Git depend on your filesystem to have an efficient " +"`lstat(2)` implementation, so that `st_mtime` information for working tree " +"files can be cheaply checked to see if the file contents have changed from " +"the version recorded in the index file. Unfortunately, some filesystems " +"have inefficient `lstat(2)`. If your filesystem is one of them, you can set " +"\"assume unchanged\" bit to paths you have not changed to cause Git not to " +"do this check. Note that setting this bit on a path does not mean Git will " +"check the contents of the file to see if it has changed -- it makes Git to " +"omit any checking and assume it has *not* changed. When you make changes to " +"working tree files, you have to explicitly tell Git about it by dropping " +"\"assume unchanged\" bit, either before or after you modify them." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:31 -#, no-wrap -msgid "--unshallow" +#. type: Plain text +#: en/git-update-index.txt:324 +msgid "" +"In order to set \"assume unchanged\" bit, use `--assume-unchanged` option. " +"To unset, use `--no-assume-unchanged`. To see which files have the \"assume " +"unchanged\" bit set, use `git ls-files -v` (see linkgit:git-ls-files[1])." msgstr "" #. type: Plain text -#: en/fetch-options.txt:35 +#: en/git-update-index.txt:334 msgid "" -"If the source repository is complete, convert a shallow repository to a " -"complete one, removing all the limitations imposed by shallow repositories." +"The command looks at `core.ignorestat` configuration variable. When this is " +"true, paths updated with `git update-index paths...` and paths updated with " +"other Git commands that update both index and working tree (e.g. 'git apply " +"--index', 'git checkout-index -u', and 'git read-tree -u') are automatically " +"marked as \"assume unchanged\". Note that \"assume unchanged\" bit is *not* " +"set if `git update-index --refresh` finds the working tree file matches the " +"index (use `git update-index --really-refresh` if you want to mark them as " +"\"assume unchanged\")." msgstr "" #. type: Plain text -#: en/fetch-options.txt:38 -msgid "" -"If the source repository is shallow, fetch as much as possible so that the " -"current repository has the same history as the source repository." +#: en/git-update-index.txt:339 +msgid "To update and refresh only the files already checked out:" msgstr "" #. type: Labeled list -#: en/fetch-options.txt:39 +#: en/git-update-index.txt:344 #, no-wrap -msgid "--update-shallow" +msgid "On an inefficient filesystem with `core.ignorestat` set" msgstr "" -#. type: Plain text -#: en/fetch-options.txt:44 +#. type: delimited block - +#: en/git-update-index.txt:360 +#, no-wrap msgid "" -"By default when fetching from a shallow repository, `git fetch` refuses refs " -"that require updating .git/shallow. This option updates .git/shallow and " -"accept such refs." +"$ git update-index --really-refresh <1>\n" +"$ git update-index --no-assume-unchanged foo.c <2>\n" +"$ git diff --name-only <3>\n" +"$ edit foo.c\n" +"$ git diff --name-only <4>\n" +"M foo.c\n" +"$ git update-index foo.c <5>\n" +"$ git diff --name-only <6>\n" +"$ edit foo.c\n" +"$ git diff --name-only <7>\n" +"$ git update-index --no-assume-unchanged foo.c <8>\n" +"$ git diff --name-only <9>\n" +"M foo.c\n" msgstr "" #. type: Plain text -#: en/fetch-options.txt:48 -msgid "Show what would be done, without making any changes." +#: en/git-update-index.txt:363 +msgid "forces lstat(2) to set \"assume unchanged\" bits for paths that match index." msgstr "" #. type: Plain text -#: en/fetch-options.txt:57 -msgid "" -"When 'git fetch' is used with `<rbranch>:<lbranch>` refspec, it refuses to " -"update the local branch `<lbranch>` unless the remote branch `<rbranch>` it " -"fetches is a descendant of `<lbranch>`. This option overrides that check." +#: en/git-update-index.txt:364 +msgid "mark the path to be edited." msgstr "" #. type: Plain text -#: en/fetch-options.txt:61 -msgid "Keep downloaded pack." +#: en/git-update-index.txt:365 +msgid "this does lstat(2) and finds index matches the path." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:63 -#, no-wrap -msgid "--multiple" +#. type: Plain text +#: en/git-update-index.txt:366 +msgid "this does lstat(2) and finds index does *not* match the path." msgstr "" #. type: Plain text -#: en/fetch-options.txt:66 -msgid "" -"Allow several <repository> and <group> arguments to be specified. No " -"<refspec>s may be specified." +#: en/git-update-index.txt:367 +msgid "registering the new version to index sets \"assume unchanged\" bit." msgstr "" #. type: Plain text -#: en/fetch-options.txt:77 -msgid "" -"Before fetching, remove any remote-tracking references that no longer exist " -"on the remote. Tags are not subject to pruning if they are fetched only " -"because of the default tag auto-following or due to a --tags option. " -"However, if tags are fetched due to an explicit refspec (either on the " -"command line or in the remote configuration, for example if the remote was " -"cloned with the --mirror option), then they are also subject to pruning." +#: en/git-update-index.txt:368 +msgid "and it is assumed unchanged." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:82 -#, no-wrap -msgid "--no-tags" +#. type: Plain text +#: en/git-update-index.txt:369 +msgid "even after you edit it." msgstr "" #. type: Plain text -#: en/fetch-options.txt:88 -msgid "" -"By default, tags that point at objects that are downloaded from the remote " -"repository are fetched and stored locally. This option disables this " -"automatic tag following. The default behavior for a remote may be specified " -"with the remote.<name>.tagOpt setting. See linkgit:git-config[1]." +#: en/git-update-index.txt:370 +msgid "you can tell about the change after the fact." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:90 +#. type: Plain text +#: en/git-update-index.txt:371 +msgid "now it checks with lstat(2) and finds it has been changed." +msgstr "" + +#. type: Title - +#: en/git-update-index.txt:374 #, no-wrap -msgid "--refmap=<refspec>" +msgid "Skip-worktree bit" msgstr "" #. type: Plain text -#: en/fetch-options.txt:97 +#: en/git-update-index.txt:380 msgid "" -"When fetching refs listed on the command line, use the specified refspec " -"(can be given more than once) to map the refs to remote-tracking branches, " -"instead of the values of `remote.*.fetch` configuration variables for the " -"remote repository. See section on \"Configured Remote-tracking Branches\" " -"for details." +"Skip-worktree bit can be defined in one (long) sentence: When reading an " +"entry, if it is marked as skip-worktree, then Git pretends its working " +"directory version is up to date and read the index version instead." msgstr "" #. type: Plain text -#: en/fetch-options.txt:106 +#: en/git-update-index.txt:388 msgid "" -"Fetch all tags from the remote (i.e., fetch remote tags `refs/tags/*` into " -"local tags with the same name), in addition to whatever else would otherwise " -"be fetched. Using this option alone does not subject tags to pruning, even " -"if --prune is used (though tags may be pruned anyway if they are also the " -"destination of an explicit refspec; see `--prune`)." -msgstr "" - -#. type: Labeled list -#: en/fetch-options.txt:107 -#, no-wrap -msgid "--recurse-submodules[=yes|on-demand|no]" +"To elaborate, \"reading\" means checking for file existence, reading file " +"attributes or file content. The working directory version may be present or " +"absent. If present, its content may match against the index version or " +"not. Writing is not affected by this bit, content safety is still first " +"priority. Note that Git _can_ update working directory file, that is marked " +"skip-worktree, if it is safe to do so (i.e. working directory version " +"matches index version)" msgstr "" #. type: Plain text -#: en/fetch-options.txt:117 +#: en/git-update-index.txt:392 msgid "" -"This option controls if and under what conditions new commits of populated " -"submodules should be fetched too. It can be used as a boolean option to " -"completely disable recursion when set to 'no' or to unconditionally recurse " -"into all populated submodules when set to 'yes', which is the default when " -"this option is used without any value. Use 'on-demand' to only recurse into " -"a populated submodule when the superproject retrieves a commit that updates " -"the submodule's reference to a commit that isn't already in the local " -"submodule clone." +"Although this bit looks similar to assume-unchanged bit, its goal is " +"different from assume-unchanged bit's. Skip-worktree also takes precedence " +"over assume-unchanged bit when both are set." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:118 +#. type: Title - +#: en/git-update-index.txt:394 #, no-wrap -msgid "-j" +msgid "Split index" msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:119 -#, no-wrap -msgid "--jobs=<n>" +#. type: Plain text +#: en/git-update-index.txt:398 +msgid "" +"This mode is designed for repositories with very large indexes, and aims at " +"reducing the time it takes to repeatedly write these indexes." msgstr "" #. type: Plain text -#: en/fetch-options.txt:124 +#: en/git-update-index.txt:403 msgid "" -"Number of parallel children to be used for fetching submodules. Each will " -"fetch from different submodules, such that fetching many submodules will be " -"faster. By default submodules will be fetched one at a time." +"In this mode, the index is split into two files, $GIT_DIR/index and " +"$GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in $GIT_DIR/index, the " +"split index, while the shared index file contains all index entries and " +"stays unchanged." msgstr "" #. type: Plain text -#: en/fetch-options.txt:128 +#: en/git-update-index.txt:408 msgid "" -"Disable recursive fetching of submodules (this has the same effect as using " -"the `--recurse-submodules=no` option)." +"All changes in the split index are pushed back to the shared index file when " +"the number of entries in the split index reaches a level specified by the " +"splitIndex.maxPercentChange config variable (see linkgit:git-config[1])." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:129 -#, no-wrap -msgid "--submodule-prefix=<path>" +#. type: Plain text +#: en/git-update-index.txt:413 +msgid "" +"Each time a new shared index file is created, the old shared index files are " +"deleted if their modification time is older than what is specified by the " +"splitIndex.sharedIndexExpire config variable (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/fetch-options.txt:133 +#: en/git-update-index.txt:417 msgid "" -"Prepend <path> to paths printed in informative messages such as \"Fetching " -"submodule foo\". This option is used internally when recursing over " -"submodules." +"To avoid deleting a shared index file that is still used, its modification " +"time is updated to the current time everytime a new split index based on the " +"shared index file is either created or read from." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:134 +#. type: Title - +#: en/git-update-index.txt:419 #, no-wrap -msgid "--recurse-submodules-default=[yes|on-demand]" +msgid "Untracked cache" msgstr "" #. type: Plain text -#: en/fetch-options.txt:141 +#: en/git-update-index.txt:423 msgid "" -"This option is used internally to temporarily provide a non-negative default " -"value for the --recurse-submodules option. All other methods of configuring " -"fetch's submodule recursion (such as settings in linkgit:gitmodules[5] and " -"linkgit:git-config[1]) override this option, as does specifying " -"--[no-]recurse-submodules directly." +"This cache is meant to speed up commands that involve determining untracked " +"files such as `git status`." msgstr "" -#. type: Labeled list -#: en/fetch-options.txt:144 -#, no-wrap -msgid "--update-head-ok" +#. type: Plain text +#: en/git-update-index.txt:430 +msgid "" +"This feature works by recording the mtime of the working tree directories " +"and then omitting reading directories and stat calls against files in those " +"directories whose mtime hasn't changed. For this to work the underlying " +"operating system and file system must change the `st_mtime` field of " +"directories if files in the directory are added, modified or deleted." msgstr "" #. type: Plain text -#: en/fetch-options.txt:151 +#: en/git-update-index.txt:435 msgid "" -"By default 'git fetch' refuses to update the head which corresponds to the " -"current branch. This flag disables the check. This is purely for the " -"internal use for 'git pull' to communicate with 'git fetch', and unless you " -"are implementing your own Porcelain you are not supposed to use it." +"You can test whether the filesystem supports that with the " +"`--test-untracked-cache` option. The `--untracked-cache` option used to " +"implicitly perform that test in older versions of Git, but that's no longer " +"the case." msgstr "" #. type: Plain text -#: en/fetch-options.txt:157 +#: en/git-update-index.txt:443 msgid "" -"When given, and the repository to fetch from is handled by 'git fetch-pack', " -"`--exec=<upload-pack>` is passed to the command to specify non-default path " -"for the command run on the other end." +"If you want to enable (or disable) this feature, it is easier to use the " +"`core.untrackedCache` configuration variable (see linkgit:git-config[1]) " +"than using the `--untracked-cache` option to `git update-index` in each " +"repository, especially if you want to do so across all repositories you use, " +"because you can set the configuration variable to `true` (or `false`) in " +"your `$HOME/.gitconfig` just once and have it affect all repositories you " +"touch." msgstr "" #. type: Plain text -#: en/fetch-options.txt:164 +#: en/git-update-index.txt:449 msgid "" -"Pass --quiet to git-fetch-pack and silence any other internally used git " -"commands. Progress is not reported to the standard error stream." +"When the `core.untrackedCache` configuration variable is changed, the " +"untracked cache is added to or removed from the index the next time a " +"command reads the index; while when `--[no-|force-]untracked-cache` are " +"used, the untracked cache is immediately added to or removed from the index." msgstr "" -#. type: Labeled list -#: en/fmt-merge-msg-config.txt:1 +#. type: Plain text +#: en/git-update-index.txt:460 #, no-wrap -msgid "merge.branchdesc" +msgid "" +"The command honors `core.filemode` configuration variable. If\n" +"your repository is on a filesystem whose executable bits are\n" +"unreliable, this should be set to 'false' (see linkgit:git-config[1]).\n" +"This causes the command to ignore differences in file modes recorded\n" +"in the index and the file mode on the filesystem if they differ only on\n" +"executable bit. On such an unfortunate filesystem, you may\n" +"need to use 'git update-index --chmod='.\n" msgstr "" #. type: Plain text -#: en/fmt-merge-msg-config.txt:5 +#: en/git-update-index.txt:465 msgid "" -"In addition to branch names, populate the log message with the branch " -"description text associated with them. Defaults to false." +"Quite similarly, if `core.symlinks` configuration variable is set to 'false' " +"(see linkgit:git-config[1]), symbolic links are checked out as plain files, " +"and this command does not modify a recorded file mode from symbolic link to " +"regular file." msgstr "" -#. type: Labeled list -#: en/fmt-merge-msg-config.txt:6 -#, no-wrap -msgid "merge.log" +#. type: Plain text +#: en/git-update-index.txt:468 +msgid "" +"The command looks at `core.ignorestat` configuration variable. See 'Using " +"\"assume unchanged\" bit' section above." msgstr "" #. type: Plain text -#: en/fmt-merge-msg-config.txt:10 +#: en/git-update-index.txt:473 msgid "" -"In addition to branch names, populate the log message with at most the " -"specified number of one-line descriptions from the actual commits that are " -"being merged. Defaults to false, and true is a synonym for 20." +"The command also looks at `core.trustctime` configuration variable. It can " +"be useful when the inode change time is regularly modified by something " +"outside Git (file system crawlers and backup systems use ctime for marking " +"files processed) (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/i18n.txt:2 -msgid "Git is to some extent character encoding agnostic." +#: en/git-update-index.txt:477 +msgid "" +"The untracked cache extension can be enabled by the `core.untrackedCache` " +"configuration variable (see linkgit:git-config[1])." msgstr "" #. type: Plain text -#: en/i18n.txt:6 -msgid "" -"The contents of the blob objects are uninterpreted sequences of bytes. " -"There is no encoding translation at the core level." +#: en/git-update-index.txt:483 +msgid "linkgit:git-config[1], linkgit:git-add[1], linkgit:git-ls-files[1]" +msgstr "" + +#. type: Title = +#: en/git-update-ref.txt:2 +#, no-wrap +msgid "git-update-ref(1)" msgstr "" #. type: Plain text -#: en/i18n.txt:13 -msgid "" -"Path names are encoded in UTF-8 normalization form C. This applies to tree " -"objects, the index file, ref names, as well as path names in command line " -"arguments, environment variables and config files (`.git/config` (see " -"linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and " -"linkgit:gitmodules[5])." +#: en/git-update-ref.txt:7 +msgid "git-update-ref - Update the object name stored in a ref safely" msgstr "" #. type: Plain text -#: en/i18n.txt:23 +#: en/git-update-ref.txt:12 +#, no-wrap msgid "" -"Note that Git at the core level treats path names simply as sequences of " -"non-NUL bytes, there are no path name encoding conversions (except on Mac " -"and Windows). Therefore, using non-ASCII path names will mostly work even on " -"platforms and file systems that use legacy extended ASCII " -"encodings. However, repositories created on such systems will not work " -"properly on UTF-8-based systems (e.g. Linux, Mac, Windows) and vice versa. " -"Additionally, many Git-based tools simply assume path names to be UTF-8 and " -"will fail to display other encodings correctly." +"'git update-ref' [-m <reason>] (-d <ref> [<oldvalue>] | [--no-deref] " +"[--create-reflog] <ref> <newvalue> [<oldvalue>] | --stdin [-z])\n" msgstr "" #. type: Plain text -#: en/i18n.txt:29 +#: en/git-update-ref.txt:18 msgid "" -"Commit log messages are typically encoded in UTF-8, but other extended ASCII " -"encodings are also supported. This includes ISO-8859-x, CP125x and many " -"others, but _not_ UTF-16/32, EBCDIC and CJK multi-byte encodings (GBK, " -"Shift-JIS, Big5, EUC-x, CP9xx etc.)." +"Given two arguments, stores the <newvalue> in the <ref>, possibly " +"dereferencing the symbolic refs. E.g. `git update-ref HEAD <newvalue>` " +"updates the current branch head to the new object." msgstr "" #. type: Plain text -#: en/i18n.txt:36 +#: en/git-update-ref.txt:27 msgid "" -"Although we encourage that the commit log messages are encoded in UTF-8, " -"both the core and Git Porcelain are designed not to force UTF-8 on " -"projects. If all participants of a particular project find it more " -"convenient to use legacy encodings, Git does not forbid it. However, there " -"are a few things to keep in mind." +"Given three arguments, stores the <newvalue> in the <ref>, possibly " +"dereferencing the symbolic refs, after verifying that the current value of " +"the <ref> matches <oldvalue>. E.g. `git update-ref refs/heads/master " +"<newvalue> <oldvalue>` updates the master branch head to <newvalue> only if " +"its current value is <oldvalue>. You can specify 40 \"0\" or an empty " +"string as <oldvalue> to make sure that the ref you are creating does not " +"exist." msgstr "" #. type: Plain text -#: en/i18n.txt:42 +#: en/git-update-ref.txt:31 msgid "" -"'git commit' and 'git commit-tree' issues a warning if the commit log " -"message given to it does not look like a valid UTF-8 string, unless you " -"explicitly say your project uses a legacy encoding. The way to say this is " -"to have i18n.commitencoding in `.git/config` file, like this:" +"It also allows a \"ref\" file to be a symbolic pointer to another ref file " +"by starting with the four-byte header sequence of \"ref:\"." msgstr "" -#. type: delimited block - -#: en/i18n.txt:46 -#, no-wrap +#. type: Plain text +#: en/git-update-ref.txt:39 msgid "" -"[i18n]\n" -"\tcommitencoding = ISO-8859-1\n" +"More importantly, it allows the update of a ref file to follow these " +"symbolic pointers, whether they are symlinks or these \"regular file " +"symbolic refs\". It follows *real* symlinks only if they start with " +"\"refs/\": otherwise it will just try to read them and update them as a " +"regular file (i.e. it will allow the filesystem to follow them, but will " +"overwrite such a symlink to somewhere else with a regular filename)." msgstr "" #. type: Plain text -#: en/i18n.txt:52 +#: en/git-update-ref.txt:42 msgid "" -"Commit objects created with the above setting record the value of " -"`i18n.commitencoding` in its `encoding` header. This is to help other " -"people who look at them later. Lack of this header implies that the commit " -"log message is encoded in UTF-8." +"If --no-deref is given, <ref> itself is overwritten, rather than the result " +"of following the symbolic pointers." msgstr "" #. type: Plain text -#: en/i18n.txt:58 -msgid "" -"'git log', 'git show', 'git blame' and friends look at the `encoding` header " -"of a commit object, and try to re-code the log message into UTF-8 unless " -"otherwise specified. You can specify the desired output encoding with " -"`i18n.logoutputencoding` in `.git/config` file, like this:" +#: en/git-update-ref.txt:44 +msgid "In general, using" msgstr "" -#. type: delimited block - -#: en/i18n.txt:62 +#. type: Plain text +#: en/git-update-ref.txt:46 #, no-wrap -msgid "" -"[i18n]\n" -"\tlogoutputencoding = ISO-8859-1\n" +msgid "\tgit update-ref HEAD \"$head\"\n" msgstr "" #. type: Plain text -#: en/i18n.txt:66 -msgid "" -"If you do not have this configuration variable, the value of " -"`i18n.commitencoding` is used instead." +#: en/git-update-ref.txt:48 +msgid "should be a _lot_ safer than doing" msgstr "" #. type: Plain text -#: en/i18n.txt:70 -msgid "" -"Note that we deliberately chose not to re-code the commit log message when a " -"commit is made to force UTF-8 at the commit object level, because re-coding " -"to UTF-8 is not necessarily a reversible operation." +#: en/git-update-ref.txt:50 +#, no-wrap +msgid "\techo \"$head\" > \"$GIT_DIR/HEAD\"\n" msgstr "" #. type: Plain text -#: en/line-range-format.txt:2 -msgid "<start> and <end> can take one of these forms:" +#: en/git-update-ref.txt:57 +msgid "" +"both from a symlink following standpoint *and* an error checking " +"standpoint. The \"refs/\" rule for symlinks means that symlinks that point " +"to \"outside\" the tree are safe: they'll be followed for reading but not " +"for writing (so we'll never write through a ref symlink to some other tree, " +"if you have copied a whole archive by creating a symlink tree)." msgstr "" #. type: Plain text -#: en/line-range-format.txt:4 -msgid "number" +#: en/git-update-ref.txt:60 +msgid "" +"With `-d` flag, it deletes the named <ref> after verifying it still contains " +"<oldvalue>." msgstr "" #. type: Plain text -#: en/line-range-format.txt:7 +#: en/git-update-ref.txt:63 msgid "" -"If <start> or <end> is a number, it specifies an absolute line number (lines " -"count from 1)." +"With `--stdin`, update-ref reads instructions from standard input and " +"performs all modifications together. Specify commands of the form:" msgstr "" #. type: Plain text -#: en/line-range-format.txt:10 -msgid "/regex/" +#: en/git-update-ref.txt:69 +#, no-wrap +msgid "" +"\tupdate SP <ref> SP <newvalue> [SP <oldvalue>] LF\n" +"\tcreate SP <ref> SP <newvalue> LF\n" +"\tdelete SP <ref> [SP <oldvalue>] LF\n" +"\tverify SP <ref> [SP <oldvalue>] LF\n" +"\toption SP <opt> LF\n" msgstr "" #. type: Plain text -#: en/line-range-format.txt:17 +#: en/git-update-ref.txt:72 msgid "" -"This form will use the first line matching the given POSIX regex. If <start> " -"is a regex, it will search from the end of the previous `-L` range, if any, " -"otherwise from the start of file. If <start> is ``^/regex/'', it will " -"search from the start of file. If <end> is a regex, it will search starting " -"at the line given by <start>." +"With `--create-reflog`, update-ref will create a reflog for each ref even if " +"one would not ordinarily be created." msgstr "" #. type: Plain text -#: en/line-range-format.txt:20 -msgid "+offset or -offset" +#: en/git-update-ref.txt:77 +msgid "" +"Quote fields containing whitespace as if they were strings in C source code; " +"i.e., surrounded by double-quotes and with backslash escapes. Use 40 \"0\" " +"characters or the empty string to specify a zero value. To specify a " +"missing value, omit the value and its preceding SP entirely." msgstr "" #. type: Plain text -#: en/line-range-format.txt:23 +#: en/git-update-ref.txt:80 msgid "" -"This is only valid for <end> and will specify a number of lines before or " -"after the line given by <start>." +"Alternatively, use `-z` to specify in NUL-terminated format, without " +"quoting:" msgstr "" #. type: Plain text -#: en/line-range-format.txt:30 +#: en/git-update-ref.txt:86 +#, no-wrap msgid "" -"If ``:<funcname>'' is given in place of <start> and <end>, it is a regular " -"expression that denotes the range from the first funcname line that matches " -"<funcname>, up to the next funcname line. ``:<funcname>'' searches from the " -"end of the previous `-L` range, if any, otherwise from the start of " -"file. ``^:<funcname>'' searches from the start of file." +"\tupdate SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL\n" +"\tcreate SP <ref> NUL <newvalue> NUL\n" +"\tdelete SP <ref> NUL [<oldvalue>] NUL\n" +"\tverify SP <ref> NUL [<oldvalue>] NUL\n" +"\toption SP <opt> NUL\n" msgstr "" #. type: Plain text -#: en/mailmap.txt:6 +#: en/git-update-ref.txt:89 msgid "" -"If the file `.mailmap` exists at the toplevel of the repository, or at the " -"location pointed to by the mailmap.file or mailmap.blob configuration " -"options, it is used to map author and committer names and email addresses to " -"canonical real names and email addresses." +"In this format, use 40 \"0\" to specify a zero value, and use the empty " +"string to specify a missing value." msgstr "" #. type: Plain text -#: en/mailmap.txt:10 +#: en/git-update-ref.txt:93 msgid "" -"In the simple form, each line in the file consists of the canonical real " -"name of an author, whitespace, and an email address used in the commit " -"(enclosed by '<' and '>') to map to the name. For example:" +"In either format, values can be specified in any form that Git recognizes as " +"an object name. Commands in any other format or a repeated <ref> produce an " +"error. Command meanings are:" msgstr "" #. type: Plain text -#: en/mailmap.txt:12 -#, no-wrap -msgid "\tProper Name <commit@email.xx>\n" +#: en/git-update-ref.txt:99 +msgid "" +"Set <ref> to <newvalue> after verifying <oldvalue>, if given. Specify a " +"zero <newvalue> to ensure the ref does not exist after the update and/or a " +"zero <oldvalue> to make sure the ref does not exist before the update." msgstr "" #. type: Plain text -#: en/mailmap.txt:15 -msgid "The more complex forms are:" +#: en/git-update-ref.txt:103 +msgid "" +"Create <ref> with <newvalue> after verifying it does not exist. The given " +"<newvalue> may not be zero." msgstr "" -#. type: Plain text -#: en/mailmap.txt:17 +#. type: Labeled list +#: en/git-update-ref.txt:104 #, no-wrap -msgid "\t<proper@email.xx> <commit@email.xx>\n" +msgid "delete" msgstr "" #. type: Plain text -#: en/mailmap.txt:19 -msgid "which allows mailmap to replace only the email part of a commit, and:" +#: en/git-update-ref.txt:107 +msgid "" +"Delete <ref> after verifying it exists with <oldvalue>, if given. If given, " +"<oldvalue> may not be zero." msgstr "" -#. type: Plain text -#: en/mailmap.txt:21 +#. type: Labeled list +#: en/git-update-ref.txt:108 #, no-wrap -msgid "\tProper Name <proper@email.xx> <commit@email.xx>\n" +msgid "verify" msgstr "" #. type: Plain text -#: en/mailmap.txt:24 +#: en/git-update-ref.txt:111 msgid "" -"which allows mailmap to replace both the name and the email of a commit " -"matching the specified commit email address, and:" +"Verify <ref> against <oldvalue> but do not change it. If <oldvalue> zero or " +"missing, the ref must not exist." msgstr "" -#. type: Plain text -#: en/mailmap.txt:26 +#. type: Labeled list +#: en/git-update-ref.txt:112 #, no-wrap -msgid "\tProper Name <proper@email.xx> Commit Name <commit@email.xx>\n" +msgid "option" msgstr "" #. type: Plain text -#: en/mailmap.txt:29 +#: en/git-update-ref.txt:116 msgid "" -"which allows mailmap to replace both the name and the email of a commit " -"matching both the specified commit name and email address." +"Modify behavior of the next command naming a <ref>. The only valid option " +"is `no-deref` to avoid dereferencing a symbolic ref." msgstr "" #. type: Plain text -#: en/mailmap.txt:32 +#: en/git-update-ref.txt:122 msgid "" -"Example 1: Your history contains commits by two authors, Jane and Joe, whose " -"names appear in the repository under several forms:" +"If all <ref>s can be locked with matching <oldvalue>s simultaneously, all " +"modifications are performed. Otherwise, no modifications are performed. " +"Note that while each individual <ref> is updated or deleted atomically, a " +"concurrent reader may still see a subset of the modifications." msgstr "" -#. type: delimited block - -#: en/mailmap.txt:39 +#. type: Title - +#: en/git-update-ref.txt:124 #, no-wrap -msgid "" -"Joe Developer <joe@example.com>\n" -"Joe R. Developer <joe@example.com>\n" -"Jane Doe <jane@example.com>\n" -"Jane Doe <jane@laptop.(none)>\n" -"Jane D. <jane@desktop.(none)>\n" +msgid "Logging Updates" msgstr "" #. type: Plain text -#: en/mailmap.txt:44 +#: en/git-update-ref.txt:131 msgid "" -"Now suppose that Joe wants his middle name initial used, and Jane prefers " -"her family name fully spelled out. A proper `.mailmap` file would look like:" +"If config parameter \"core.logAllRefUpdates\" is true and the ref is one " +"under \"refs/heads/\", \"refs/remotes/\", \"refs/notes/\", or the symbolic " +"ref HEAD; or the file \"$GIT_DIR/logs/<ref>\" exists then `git update-ref` " +"will append a line to the log file \"$GIT_DIR/logs/<ref>\" (dereferencing " +"all symbolic refs before creating the log name) describing the change in ref " +"value. Log lines are formatted as:" msgstr "" -#. type: delimited block - -#: en/mailmap.txt:48 -#, no-wrap -msgid "" -"Jane Doe <jane@desktop.(none)>\n" -"Joe R. Developer <joe@example.com>\n" +#. type: Plain text +#: en/git-update-ref.txt:133 +msgid "oldsha1 SP newsha1 SP committer LF" msgstr "" #. type: Plain text -#: en/mailmap.txt:52 +#: en/git-update-ref.txt:138 msgid "" -"Note how there is no need for an entry for `<jane@laptop.(none)>`, because " -"the real name of that author is already correct." +"Where \"oldsha1\" is the 40 character hexadecimal value previously stored in " +"<ref>, \"newsha1\" is the 40 character hexadecimal value of <newvalue> and " +"\"committer\" is the committer's name, email address and date in the " +"standard Git committer ident format." msgstr "" #. type: Plain text -#: en/mailmap.txt:55 -msgid "Example 2: Your repository contains commits from the following authors:" -msgstr "" - -#. type: delimited block - -#: en/mailmap.txt:63 -#, no-wrap -msgid "" -"nick1 <bugs@company.xx>\n" -"nick2 <bugs@company.xx>\n" -"nick2 <nick2@company.xx>\n" -"santa <me@company.xx>\n" -"claus <me@company.xx>\n" -"CTO <cto@coompany.xx>\n" +#: en/git-update-ref.txt:140 +msgid "Optionally with -m:" msgstr "" #. type: Plain text -#: en/mailmap.txt:66 -msgid "Then you might want a `.mailmap` file that looks like:" +#: en/git-update-ref.txt:142 +msgid "oldsha1 SP newsha1 SP committer TAB message LF" msgstr "" -#. type: delimited block - -#: en/mailmap.txt:72 -#, no-wrap +#. type: Plain text +#: en/git-update-ref.txt:145 msgid "" -"<cto@company.xx> <cto@coompany.xx>\n" -"Some Dude <some@dude.xx> nick1 <bugs@company.xx>\n" -"Other Author <other@author.xx> nick2 <bugs@company.xx>\n" -"Other Author <other@author.xx> <nick2@company.xx>\n" -"Santa Claus <santa.claus@northpole.xx> <me@company.xx>\n" +"Where all fields are as described above and \"message\" is the value " +"supplied to the -m option." msgstr "" #. type: Plain text -#: en/mailmap.txt:75 +#: en/git-update-ref.txt:149 msgid "" -"Use hash '#' for comments that are either on their own line, or after the " -"email address." +"An update will fail (without changing <ref>) if the current user is unable " +"to create a new log file, append to the existing log file or does not have " +"committer information available." msgstr "" -#. type: Labeled list -#: en/merge-config.txt:1 +#. type: Title = +#: en/git-update-server-info.txt:2 #, no-wrap -msgid "merge.conflictStyle" +msgid "git-update-server-info(1)" msgstr "" #. type: Plain text -#: en/merge-config.txt:8 -msgid "" -"Specify the style in which conflicted hunks are written out to working tree " -"files upon merge. The default is \"merge\", which shows a `<<<<<<<` " -"conflict marker, changes made by one side, a `=======` marker, changes made " -"by the other side, and then a `>>>>>>>` marker. An alternate style, " -"\"diff3\", adds a `|||||||` marker and the original text before the " -"`=======` marker." +#: en/git-update-server-info.txt:7 +msgid "git-update-server-info - Update auxiliary info file to help dumb servers" msgstr "" -#. type: Labeled list -#: en/merge-config.txt:9 +#. type: Plain text +#: en/git-update-server-info.txt:13 #, no-wrap -msgid "merge.defaultToUpstream" +msgid "'git update-server-info' [--force]\n" msgstr "" #. type: Plain text -#: en/merge-config.txt:18 +#: en/git-update-server-info.txt:21 msgid "" -"If merge is called without any commit argument, merge the upstream branches " -"configured for the current branch by using their last observed values stored " -"in their remote-tracking branches. The values of the `branch.<current " -"branch>.merge` that name the branches at the remote named by " -"`branch.<current branch>.remote` are consulted, and then they are mapped via " -"`remote.<remote>.fetch` to their corresponding remote-tracking branches, and " -"the tips of these tracking branches are merged." +"A dumb server that does not do on-the-fly pack generations must have some " +"auxiliary information files in $GIT_DIR/info and $GIT_OBJECT_DIRECTORY/info " +"directories to help clients discover what references and packs the server " +"has. This command generates such auxiliary files." msgstr "" -#. type: Labeled list -#: en/merge-config.txt:19 -#, no-wrap -msgid "merge.ff" +#. type: Plain text +#: en/git-update-server-info.txt:29 +msgid "Update the info files from scratch." msgstr "" #. type: Plain text -#: en/merge-config.txt:28 +#: en/git-update-server-info.txt:37 msgid "" -"By default, Git does not create an extra merge commit when merging a commit " -"that is a descendant of the current commit. Instead, the tip of the current " -"branch is fast-forwarded. When set to `false`, this variable tells Git to " -"create an extra merge commit in such a case (equivalent to giving the " -"`--no-ff` option from the command line). When set to `only`, only such " -"fast-forward merges are allowed (equivalent to giving the `--ff-only` option " -"from the command line)." +"Currently the command updates the following files. Please see " +"linkgit:gitrepository-layout[5] for description of what they are for:" msgstr "" -#. type: Labeled list -#: en/merge-config.txt:31 -#, no-wrap -msgid "merge.renameLimit" +#. type: Plain text +#: en/git-update-server-info.txt:39 +msgid "objects/info/packs" msgstr "" #. type: Plain text -#: en/merge-config.txt:35 -msgid "" -"The number of files to consider when performing rename detection during a " -"merge; if not specified, defaults to the value of diff.renameLimit." +#: en/git-update-server-info.txt:41 +msgid "info/refs" msgstr "" -#. type: Labeled list -#: en/merge-config.txt:36 +#. type: Title = +#: en/git-upload-archive.txt:2 #, no-wrap -msgid "merge.renormalize" +msgid "git-upload-archive(1)" msgstr "" #. type: Plain text -#: en/merge-config.txt:45 -msgid "" -"Tell Git that canonical representation of files in the repository has " -"changed over time (e.g. earlier commits record text files with CRLF line " -"endings, but recent ones use LF line endings). In such a repository, Git " -"can convert the data recorded in commits to a canonical form before " -"performing a merge to reduce unnecessary conflicts. For more information, " -"see section \"Merging branches with differing checkin/checkout attributes\" " -"in linkgit:gitattributes[5]." +#: en/git-upload-archive.txt:7 +msgid "git-upload-archive - Send archive back to git-archive" msgstr "" -#. type: Labeled list -#: en/merge-config.txt:46 +#. type: Plain text +#: en/git-upload-archive.txt:13 #, no-wrap -msgid "merge.stat" +msgid "'git upload-archive' <directory>\n" msgstr "" #. type: Plain text -#: en/merge-config.txt:49 +#: en/git-upload-archive.txt:18 msgid "" -"Whether to print the diffstat between ORIG_HEAD and the merge result at the " -"end of the merge. True by default." -msgstr "" - -#. type: Labeled list -#: en/merge-config.txt:50 -#, no-wrap -msgid "merge.tool" +"Invoked by 'git archive --remote' and sends a generated archive to the other " +"end over the Git protocol." msgstr "" #. type: Plain text -#: en/merge-config.txt:55 +#: en/git-upload-archive.txt:22 msgid "" -"Controls which merge tool is used by linkgit:git-mergetool[1]. The list " -"below shows the valid built-in values. Any other value is treated as a " -"custom merge tool and requires that a corresponding mergetool.<tool>.cmd " -"variable is defined." +"This command is usually not invoked directly by the end user. The UI for " +"the protocol is on the 'git archive' side, and the program pair is meant to " +"be used to get an archive from a remote repository." msgstr "" -#. type: Labeled list -#: en/merge-config.txt:58 +#. type: Title - +#: en/git-upload-archive.txt:24 en/transfer-data-leaks.txt:2 #, no-wrap -msgid "merge.verbosity" +msgid "SECURITY" msgstr "" #. type: Plain text -#: en/merge-config.txt:65 +#: en/git-upload-archive.txt:32 msgid "" -"Controls the amount of output shown by the recursive merge strategy. Level " -"0 outputs nothing except a final error message if conflicts were " -"detected. Level 1 outputs only conflicts, 2 outputs conflicts and file " -"changes. Level 5 and above outputs debugging information. The default is " -"level 2. Can be overridden by the `GIT_MERGE_VERBOSITY` environment " -"variable." -msgstr "" - -#. type: Labeled list -#: en/merge-config.txt:66 -#, no-wrap -msgid "merge.<driver>.name" +"In order to protect the privacy of objects that have been removed from " +"history but may not yet have been pruned, `git-upload-archive` avoids " +"serving archives for commits and trees that are not reachable from the " +"repository's refs. However, because calculating object reachability is " +"computationally expensive, `git-upload-archive` implements a stricter but " +"easier-to-check set of rules:" msgstr "" #. type: Plain text -#: en/merge-config.txt:69 +#: en/git-upload-archive.txt:35 msgid "" -"Defines a human-readable name for a custom low-level merge driver. See " -"linkgit:gitattributes[5] for details." +"Clients may request a commit or tree that is pointed to directly by a " +"ref. E.g., `git archive --remote=origin v1.0`." msgstr "" -#. type: Labeled list -#: en/merge-config.txt:70 -#, no-wrap -msgid "merge.<driver>.driver" +#. type: Plain text +#: en/git-upload-archive.txt:38 +msgid "" +"Clients may request a sub-tree within a commit or tree using the `ref:path` " +"syntax. E.g., `git archive --remote=origin v1.0:Documentation`." msgstr "" #. type: Plain text -#: en/merge-config.txt:73 +#: en/git-upload-archive.txt:43 msgid "" -"Defines the command that implements a custom low-level merge driver. See " -"linkgit:gitattributes[5] for details." +"Clients may _not_ use other sha1 expressions, even if the end result is " +"reachable. E.g., neither a relative commit like `master^` nor a literal sha1 " +"like `abcd1234` is allowed, even if the result is reachable from the refs." msgstr "" -#. type: Labeled list -#: en/merge-config.txt:74 -#, no-wrap -msgid "merge.<driver>.recursive" +#. type: Plain text +#: en/git-upload-archive.txt:48 +msgid "" +"Note that rule 3 disallows many cases that do not have any privacy " +"implications. These rules are subject to change in future versions of git, " +"and the server accessed by `git archive --remote` may or may not follow " +"these exact rules." msgstr "" #. type: Plain text -#: en/merge-config.txt:77 +#: en/git-upload-archive.txt:54 msgid "" -"Names a low-level merge driver to be used when performing an internal merge " -"between common ancestors. See linkgit:gitattributes[5] for details." +"If the config option `uploadArchive.allowUnreachable` is true, these rules " +"are ignored, and clients may use arbitrary sha1 expressions. This is useful " +"if you do not care about the privacy of unreachable objects, or if your " +"object database is already publicly available for access via non-smart-http." msgstr "" #. type: Plain text -#: en/merge-options.txt:5 -msgid "" -"Perform the merge and commit the result. This option can be used to override " -"--no-commit." +#: en/git-upload-archive.txt:59 +msgid "The repository to get a tar archive from." +msgstr "" + +#. type: Title = +#: en/git-upload-pack.txt:2 +#, no-wrap +msgid "git-upload-pack(1)" msgstr "" #. type: Plain text -#: en/merge-options.txt:9 -msgid "" -"With --no-commit perform the merge but pretend the merge failed and do not " -"autocommit, to give the user a chance to inspect and further tweak the merge " -"result before committing." +#: en/git-upload-pack.txt:7 +msgid "git-upload-pack - Send objects packed back to git-fetch-pack" msgstr "" #. type: Plain text -#: en/merge-options.txt:18 +#: en/git-upload-pack.txt:15 +#, no-wrap msgid "" -"Invoke an editor before committing successful mechanical merge to further " -"edit the auto-generated merge message, so that the user can explain and " -"justify the merge. The `--no-edit` option can be used to accept the " -"auto-generated message (this is generally discouraged)." +"'git-upload-pack' [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n" +"\t\t [--advertise-refs] <directory>\n" +"DESCRIPTION\n" msgstr "" -#. type: Plain text -#: en/merge-options.txt:22 +#. type: delimited block - +#: en/git-upload-pack.txt:18 +#, no-wrap msgid "" -"The `--edit` (or `-e`) option is still useful if you are giving a draft " -"message with the `-m` option from the command line and want to edit it in " -"the editor." +"Invoked by 'git fetch-pack', learns what\n" +"objects the other side is missing, and sends them after packing.\n" msgstr "" -#. type: Plain text -#: en/merge-options.txt:29 +#. type: delimited block - +#: en/git-upload-pack.txt:23 +#, no-wrap msgid "" -"Older scripts may depend on the historical behaviour of not allowing the " -"user to edit the merge log message. They will see an editor opened when they " -"run `git merge`. To make it easier to adjust such scripts to the updated " -"behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be set to `no` " -"at the beginning of them." +"This command is usually not invoked directly by the end user.\n" +"The UI for the protocol is on the 'git fetch-pack' side, and the\n" +"program pair is meant to be used to pull updates from a remote\n" +"repository. For push operations, see 'git send-pack'.\n" +msgstr "" + +#. type: delimited block - +#: en/git-upload-pack.txt:26 +#, no-wrap +msgid "OPTIONS\n" +msgstr "" + +#. type: Labeled list +#: en/git-upload-pack.txt:28 +#, no-wrap +msgid "--[no-]strict" msgstr "" #. type: Plain text -#: en/merge-options.txt:34 -msgid "" -"When the merge resolves as a fast-forward, only update the branch pointer, " -"without creating a merge commit. This is the default behavior." +#: en/git-upload-pack.txt:30 +msgid "Do not try <directory>/.git/ if <directory> is no Git directory." msgstr "" #. type: Plain text -#: en/merge-options.txt:39 -msgid "" -"Create a merge commit even when the merge resolves as a fast-forward. This " -"is the default behaviour when merging an annotated (and possibly signed) " -"tag." +#: en/git-upload-pack.txt:33 +msgid "Interrupt transfer after <n> seconds of inactivity." msgstr "" #. type: Labeled list -#: en/merge-options.txt:40 +#: en/git-upload-pack.txt:34 #, no-wrap -msgid "--ff-only" +msgid "--stateless-rpc" msgstr "" #. type: Plain text -#: en/merge-options.txt:44 +#: en/git-upload-pack.txt:38 msgid "" -"Refuse to merge and exit with a non-zero status unless the current `HEAD` is " -"already up-to-date or the merge can be resolved as a fast-forward." +"Perform only a single read-write cycle with stdin and stdout. This fits " +"with the HTTP POST request processing model where a program may read the " +"request, write a response, and must exit." msgstr "" -#. type: Plain text -#: en/merge-options.txt:50 -msgid "" -"In addition to branch names, populate the log message with one-line " -"descriptions from at most <n> actual commits that are being merged. See also " -"linkgit:git-fmt-merge-msg[1]." +#. type: Labeled list +#: en/git-upload-pack.txt:39 +#, no-wrap +msgid "--advertise-refs" msgstr "" #. type: Plain text -#: en/merge-options.txt:53 +#: en/git-upload-pack.txt:43 msgid "" -"With --no-log do not list one-line descriptions from the actual commits " -"being merged." +"Only the initial ref advertisement is output, and the program exits " +"immediately. This fits with the HTTP GET request model, where no request " +"content is received but a response must be produced." msgstr "" #. type: Plain text -#: en/merge-options.txt:60 -msgid "" -"Show a diffstat at the end of the merge. The diffstat is also controlled by " -"the configuration option merge.stat." +#: en/git-upload-pack.txt:46 +msgid "The repository to sync from." msgstr "" #. type: Plain text -#: en/merge-options.txt:63 -msgid "With -n or --no-stat do not show a diffstat at the end of the merge." +#: en/git-upload-pack.txt:50 +msgid "linkgit:gitnamespaces[7]" msgstr "" -#. type: Labeled list -#: en/merge-options.txt:64 +#. type: Title = +#: en/git-var.txt:2 #, no-wrap -msgid "--squash" +msgid "git-var(1)" msgstr "" -#. type: Labeled list -#: en/merge-options.txt:65 -#, no-wrap -msgid "--no-squash" +#. type: Plain text +#: en/git-var.txt:7 +msgid "git-var - Show a Git logical variable" msgstr "" #. type: Plain text -#: en/merge-options.txt:73 -msgid "" -"Produce the working tree and index state as if a real merge happened (except " -"for the merge information), but do not actually make a commit, move the " -"`HEAD`, or record `$GIT_DIR/MERGE_HEAD` (to cause the next `git commit` " -"command to create a merge commit). This allows you to create a single " -"commit on top of the current branch whose effect is the same as merging " -"another branch (or more in case of an octopus)." +#: en/git-var.txt:13 +#, no-wrap +msgid "'git var' ( -l | <variable> )\n" msgstr "" #. type: Plain text -#: en/merge-options.txt:76 -msgid "" -"With --no-squash perform the merge and commit the result. This option can be " -"used to override --squash." +#: en/git-var.txt:17 +msgid "Prints a Git logical variable." msgstr "" #. type: Plain text -#: en/merge-options.txt:84 +#: en/git-var.txt:25 msgid "" -"Use the given merge strategy; can be supplied more than once to specify them " -"in the order they should be tried. If there is no `-s` option, a built-in " -"list of strategies is used instead ('git merge-recursive' when merging a " -"single head, 'git merge-octopus' otherwise)." +"Cause the logical variables to be listed. In addition, all the variables of " +"the Git configuration file .git/config are listed as well. (However, the " +"configuration variables listing functionality is deprecated in favor of `git " +"config -l`.)" msgstr "" -#. type: Labeled list -#: en/merge-options.txt:85 +#. type: delimited block - +#: en/git-var.txt:30 #, no-wrap -msgid "-X <option>" -msgstr "" - -#. type: Plain text -#: en/merge-options.txt:89 -msgid "Pass merge strategy specific option through to the merge strategy." +msgid "" +"\t$ git var GIT_AUTHOR_IDENT\n" +"\tEric W. Biederman <ebiederm@lnxi.com> 1121223278 -0600\n" msgstr "" -#. type: Labeled list -#: en/merge-options.txt:90 +#. type: delimited block - +#: en/git-var.txt:33 #, no-wrap -msgid "--verify-signatures" +msgid "VARIABLES\n" msgstr "" #. type: Labeled list -#: en/merge-options.txt:91 +#: en/git-var.txt:34 #, no-wrap -msgid "--no-verify-signatures" +msgid "GIT_AUTHOR_IDENT" msgstr "" #. type: Plain text -#: en/merge-options.txt:97 -msgid "" -"Verify that the tip commit of the side branch being merged is signed with a " -"valid key, i.e. a key that has a valid uid: in the default trust model, this " -"means the signing key has been signed by a trusted key. If the tip commit " -"of the side branch is not signed with a valid key, the merge is aborted." +#: en/git-var.txt:36 +msgid "The author of a piece of code." msgstr "" #. type: Labeled list -#: en/merge-options.txt:99 +#: en/git-var.txt:37 #, no-wrap -msgid "--no-summary" -msgstr "" - -#. type: Plain text -#: en/merge-options.txt:102 -msgid "" -"Synonyms to --stat and --no-stat; these are deprecated and will be removed " -"in the future." -msgstr "" - -#. type: Plain text -#: en/merge-options.txt:107 -msgid "Operate quietly. Implies --no-progress." +msgid "GIT_COMMITTER_IDENT" msgstr "" #. type: Plain text -#: en/merge-options.txt:118 -msgid "" -"Turn progress on/off explicitly. If neither is specified, progress is shown " -"if standard error is connected to a terminal. Note that not all merge " -"strategies may support progress reporting." +#: en/git-var.txt:39 +msgid "The person who put a piece of code into Git." msgstr "" #. type: Labeled list -#: en/merge-options.txt:121 +#: en/git-var.txt:40 #, no-wrap -msgid "--allow-unrelated-histories" +msgid "GIT_EDITOR" msgstr "" #. type: Plain text -#: en/merge-options.txt:127 +#: en/git-var.txt:48 msgid "" -"By default, `git merge` command refuses to merge histories that do not share " -"a common ancestor. This option can be used to override this safety when " -"merging histories of two projects that started their lives independently. As " -"that is a very rare occasion, no configuration variable to enable this by " -"default exists and will not be added." +"Text editor for use by Git commands. The value is meant to be interpreted " +"by the shell when it is used. Examples: `~/bin/vi`, " +"`$SOME_ENVIRONMENT_VARIABLE`, `\"C:\\Program Files\\Vim\\gvim.exe\" " +"--nofork`. The order of preference is the `$GIT_EDITOR` environment " +"variable, then `core.editor` configuration, then `$VISUAL`, then `$EDITOR`, " +"and then the default chosen at compile time, which is usually 'vi'." msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:2 -msgid "araxis" +#: en/git-var.txt:50 +#, no-wrap +msgid " The build you are using chose '{git-default-editor}' as the default.\n" msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:3 -msgid "bc" +#. type: Labeled list +#: en/git-var.txt:52 +#, no-wrap +msgid "GIT_PAGER" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:4 -msgid "bc3" +#: en/git-var.txt:60 +#, no-wrap +msgid " The build you are using chose '{git-default-pager}' as the default.\n" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:5 -msgid "codecompare" +#: en/git-var.txt:67 +msgid "linkgit:git-commit-tree[1] linkgit:git-tag[1] linkgit:git-config[1]" msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:6 -msgid "deltawalker" +#. type: Title = +#: en/git-verify-commit.txt:2 +#, no-wrap +msgid "git-verify-commit(1)" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:7 -msgid "diffmerge" +#: en/git-verify-commit.txt:7 +msgid "git-verify-commit - Check the GPG signature of commits" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:8 -msgid "diffuse" +#: en/git-verify-commit.txt:12 +#, no-wrap +msgid "'git verify-commit' <commit>...\n" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:9 -msgid "ecmerge" +#: en/git-verify-commit.txt:16 +msgid "Validates the GPG signature created by 'git commit -S'." msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:10 -msgid "emerge" +#: en/git-verify-commit.txt:22 en/git-verify-tag.txt:22 +msgid "" +"Print the raw gpg status output to standard error instead of the normal " +"human-readable output." msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:11 -msgid "examdiff" +#: en/git-verify-commit.txt:26 +msgid "Print the contents of the commit object before validating it." msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:12 -msgid "gvimdiff" +#: en/git-verify-commit.txt:29 +msgid "SHA-1 identifiers of Git commit objects." msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:13 -msgid "gvimdiff2" +#. type: Title = +#: en/git-verify-pack.txt:2 +#, no-wrap +msgid "git-verify-pack(1)" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:14 -msgid "gvimdiff3" +#: en/git-verify-pack.txt:7 +msgid "git-verify-pack - Validate packed Git archive files" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:15 -msgid "kdiff3" +#: en/git-verify-pack.txt:13 +#, no-wrap +msgid "'git verify-pack' [-v|--verbose] [-s|--stat-only] [--] <pack>.idx ...\n" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:16 -msgid "meld" +#: en/git-verify-pack.txt:20 +msgid "" +"Reads given idx file for packed Git archive created with the 'git " +"pack-objects' command and verifies idx file and the corresponding pack file." msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:17 -msgid "opendiff" +#. type: Labeled list +#: en/git-verify-pack.txt:23 +#, no-wrap +msgid "<pack>.idx ..." msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:18 -msgid "p4merge" +#: en/git-verify-pack.txt:25 +msgid "The idx files to verify." msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:19 -msgid "tkdiff" +#: en/git-verify-pack.txt:30 +msgid "" +"After verifying the pack, show list of objects contained in the pack and a " +"histogram of delta chain length." msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:20 -msgid "tortoisemerge" +#. type: Labeled list +#: en/git-verify-pack.txt:32 +#, no-wrap +msgid "--stat-only" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:21 -msgid "vimdiff" +#: en/git-verify-pack.txt:35 +msgid "" +"Do not verify the pack contents; only show the histogram of delta chain " +"length. With `--verbose`, list of objects is also shown." msgstr "" -#. type: Plain text -#: en/mergetools-merge.txt:22 -msgid "vimdiff2" +#. type: Title - +#: en/git-verify-pack.txt:40 +#, no-wrap +msgid "OUTPUT FORMAT" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:23 -msgid "vimdiff3" +#: en/git-verify-pack.txt:42 +msgid "When specifying the -v option the format used is:" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:24 -msgid "winmerge" +#: en/git-verify-pack.txt:44 +#, no-wrap +msgid "\tSHA-1 type size size-in-packfile offset-in-packfile\n" msgstr "" #. type: Plain text -#: en/mergetools-merge.txt:24 -msgid "xxdiff" +#: en/git-verify-pack.txt:46 +msgid "for objects that are not deltified in the pack, and" msgstr "" -#. type: Title - -#: en/merge-strategies.txt:2 +#. type: Plain text +#: en/git-verify-pack.txt:48 #, no-wrap -msgid "MERGE STRATEGIES" +msgid "\tSHA-1 type size size-in-packfile offset-in-packfile depth base-SHA-1\n" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:8 -msgid "" -"The merge mechanism (`git merge` and `git pull` commands) allows the backend " -"'merge strategies' to be chosen with `-s` option. Some strategies can also " -"take their own options, which can be passed by giving `-X<option>` arguments " -"to `git merge` and/or `git pull`." +#: en/git-verify-pack.txt:50 +msgid "for objects that are deltified." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:9 +#. type: Title = +#: en/git-verify-tag.txt:2 #, no-wrap -msgid "resolve" +msgid "git-verify-tag(1)" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:15 -msgid "" -"This can only resolve two heads (i.e. the current branch and another branch " -"you pulled from) using a 3-way merge algorithm. It tries to carefully " -"detect criss-cross merge ambiguities and is considered generally safe and " -"fast." +#: en/git-verify-tag.txt:7 +msgid "git-verify-tag - Check the GPG signature of tags" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:16 +#. type: Plain text +#: en/git-verify-tag.txt:12 #, no-wrap -msgid "recursive" +msgid "'git verify-tag' [--format=<format>] <tag>...\n" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:28 -msgid "" -"This can only resolve two heads using a 3-way merge algorithm. When there " -"is more than one common ancestor that can be used for 3-way merge, it " -"creates a merged tree of the common ancestors and uses that as the reference " -"tree for the 3-way merge. This has been reported to result in fewer merge " -"conflicts without causing mismerges by tests done on actual merge commits " -"taken from Linux 2.6 kernel development history. Additionally this can " -"detect and handle merges involving renames. This is the default merge " -"strategy when pulling or merging one branch." +#: en/git-verify-tag.txt:16 +msgid "Validates the gpg signature created by 'git tag'." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:30 -msgid "The 'recursive' strategy can take the following options:" +#: en/git-verify-tag.txt:26 +msgid "Print the contents of the tag object before validating it." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:31 en/merge-strategies.txt:110 +#: en/git-verify-tag.txt:27 #, no-wrap -msgid "ours" +msgid "<tag>..." msgstr "" #. type: Plain text -#: en/merge-strategies.txt:36 -msgid "" -"This option forces conflicting hunks to be auto-resolved cleanly by favoring " -"'our' version. Changes from the other tree that do not conflict with our " -"side are reflected to the merge result. For a binary file, the entire " -"contents are taken from our side." +#: en/git-verify-tag.txt:29 +msgid "SHA-1 identifiers of Git tag objects." +msgstr "" + +#. type: Title = +#: en/git-web--browse.txt:2 +#, no-wrap +msgid "git-web{litdd}browse(1)" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:40 -msgid "" -"This should not be confused with the 'ours' merge strategy, which does not " -"even look at what the other tree contains at all. It discards everything " -"the other tree did, declaring 'our' history contains all that happened in " -"it." +#: en/git-web--browse.txt:7 +msgid "git-web--browse - Git helper script to launch a web browser" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:41 +#. type: Plain text +#: en/git-web--browse.txt:12 #, no-wrap -msgid "theirs" +msgid "'git web{litdd}browse' [OPTIONS] URL/FILE ...\n" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:43 -msgid "This is the opposite of 'ours'." +#: en/git-web--browse.txt:19 +msgid "" +"This script tries, as much as possible, to display the URLs and FILEs that " +"are passed as arguments, as HTML pages in new tabs on an already opened web " +"browser." msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:44 -#, no-wrap -msgid "patience" +#. type: Plain text +#: en/git-web--browse.txt:21 +msgid "The following browsers (or commands) are currently supported:" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:50 -msgid "" -"With this option, 'merge-recursive' spends a little extra time to avoid " -"mismerges that sometimes occur due to unimportant matching lines (e.g., " -"braces from distinct functions). Use this when the branches to be merged " -"have diverged wildly. See also linkgit:git-diff[1] `--patience`." +#: en/git-web--browse.txt:23 +msgid "firefox (this is the default under X Window when not using KDE)" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:51 -#, no-wrap -msgid "diff-algorithm=[patience|minimal|histogram|myers]" +#. type: Plain text +#: en/git-web--browse.txt:24 +msgid "iceweasel" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:56 -msgid "" -"Tells 'merge-recursive' to use a different diff algorithm, which can help " -"avoid mismerges that occur due to unimportant matching lines (such as braces " -"from distinct functions). See also linkgit:git-diff[1] `--diff-algorithm`." +#: en/git-web--browse.txt:25 +msgid "seamonkey" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:57 -#, no-wrap -msgid "ignore-space-change" +#. type: Plain text +#: en/git-web--browse.txt:26 +msgid "iceape" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:58 -#, no-wrap -msgid "ignore-all-space" +#. type: Plain text +#: en/git-web--browse.txt:27 +msgid "chromium (also supported as chromium-browser)" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:59 -#, no-wrap -msgid "ignore-space-at-eol" +#. type: Plain text +#: en/git-web--browse.txt:28 +msgid "google-chrome (also supported as chrome)" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:65 -msgid "" -"Treats lines with the indicated type of whitespace change as unchanged for " -"the sake of a three-way merge. Whitespace changes mixed with other changes " -"to a line are not ignored. See also linkgit:git-diff[1] `-b`, `-w`, and " -"`--ignore-space-at-eol`." +#: en/git-web--browse.txt:29 +msgid "konqueror (this is the default under KDE, see 'Note about konqueror' below)" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:68 -msgid "" -"If 'their' version only introduces whitespace changes to a line, 'our' " -"version is used;" +#: en/git-web--browse.txt:30 +msgid "opera" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:70 -msgid "" -"If 'our' version introduces whitespace changes but 'their' version includes " -"a substantial change, 'their' version is used;" +#: en/git-web--browse.txt:31 +msgid "w3m (this is the default outside graphical environments)" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:71 -msgid "Otherwise, the merge proceeds in the usual way." +#: en/git-web--browse.txt:32 +msgid "elinks" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:72 -#, no-wrap -msgid "renormalize" +#. type: Plain text +#: en/git-web--browse.txt:33 +msgid "links" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:79 -msgid "" -"This runs a virtual check-out and check-in of all three stages of a file " -"when resolving a three-way merge. This option is meant to be used when " -"merging branches with different clean filters or end-of-line normalization " -"rules. See \"Merging branches with differing checkin/checkout attributes\" " -"in linkgit:gitattributes[5] for details." +#: en/git-web--browse.txt:34 +msgid "lynx" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:80 -#, no-wrap -msgid "no-renormalize" +#. type: Plain text +#: en/git-web--browse.txt:35 +msgid "dillo" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:83 -msgid "" -"Disables the `renormalize` option. This overrides the `merge.renormalize` " -"configuration variable." +#: en/git-web--browse.txt:36 +msgid "open (this is the default under Mac OS X GUI)" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:84 -#, no-wrap -msgid "no-renames" +#. type: Plain text +#: en/git-web--browse.txt:37 +msgid "start (this is the default under MinGW)" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:87 -msgid "Turn off rename detection. See also linkgit:git-diff[1] `--no-renames`." +#: en/git-web--browse.txt:38 +msgid "cygstart (this is the default under Cygwin)" msgstr "" -#. type: Labeled list -#: en/merge-strategies.txt:88 -#, no-wrap -msgid "find-renames[=<n>]" +#. type: Plain text +#: en/git-web--browse.txt:39 +msgid "xdg-open" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:92 -msgid "" -"Turn on rename detection, optionally setting the similarity threshold. This " -"is the default. See also linkgit:git-diff[1] `--find-renames`." +#: en/git-web--browse.txt:41 +msgid "Custom commands may also be specified." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:93 +#: en/git-web--browse.txt:44 #, no-wrap -msgid "rename-threshold=<n>" -msgstr "" - -#. type: Plain text -#: en/merge-strategies.txt:95 -msgid "Deprecated synonym for `find-renames=<n>`." +msgid "-b <browser>" msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:96 +#: en/git-web--browse.txt:45 #, no-wrap -msgid "subtree[=<path>]" +msgid "--browser=<browser>" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:102 -msgid "" -"This option is a more advanced form of 'subtree' strategy, where the " -"strategy makes a guess on how two trees must be shifted to match with each " -"other when merging. Instead, the specified path is prefixed (or stripped " -"from the beginning) to make the shape of two trees to match." +#: en/git-web--browse.txt:48 +msgid "Use the specified browser. It must be in the list of supported browsers." msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:103 +#: en/git-web--browse.txt:49 #, no-wrap -msgid "octopus" -msgstr "" - -#. type: Plain text -#: en/merge-strategies.txt:109 -msgid "" -"This resolves cases with more than two heads, but refuses to do a complex " -"merge that needs manual resolution. It is primarily meant to be used for " -"bundling topic branch heads together. This is the default merge strategy " -"when pulling or merging more than one branch." +msgid "-t <browser>" msgstr "" -#. type: Plain text -#: en/merge-strategies.txt:117 -msgid "" -"This resolves any number of heads, but the resulting tree of the merge is " -"always that of the current branch head, effectively ignoring all changes " -"from all other branches. It is meant to be used to supersede old " -"development history of side branches. Note that this is different from the " -"-Xours option to the 'recursive' merge strategy." +#. type: Labeled list +#: en/git-web--browse.txt:50 +#, no-wrap +msgid "--tool=<browser>" msgstr "" #. type: Labeled list -#: en/merge-strategies.txt:118 +#: en/git-web--browse.txt:53 #, no-wrap -msgid "subtree" +msgid "-c <conf.var>" msgstr "" -#. type: Plain text -#: en/merge-strategies.txt:124 -msgid "" -"This is a modified recursive strategy. When merging trees A and B, if B " -"corresponds to a subtree of A, B is first adjusted to match the tree " -"structure of A, instead of reading the trees at the same level. This " -"adjustment is also done to the common ancestor tree." +#. type: Labeled list +#: en/git-web--browse.txt:54 +#, no-wrap +msgid "--config=<conf.var>" msgstr "" #. type: Plain text -#: en/merge-strategies.txt:131 +#: en/git-web--browse.txt:57 msgid "" -"With the strategies that use 3-way merge (including the default, " -"'recursive'), if a change is made on both branches, but later reverted on " -"one of the branches, that change will be present in the merged result; some " -"people find this behavior confusing. It occurs because only the heads and " -"the merge base are considered when performing a merge, not the individual " -"commits. The merge algorithm therefore considers the reverted change as no " -"change at all, and substitutes the changed version instead." +"CONF.VAR is looked up in the Git config files. If it's set, then its value " +"specifies the browser that should be used." msgstr "" -#. type: Title - -#: en/pretty-formats.txt:2 +#. type: Title ~ +#: en/git-web--browse.txt:62 #, no-wrap -msgid "PRETTY FORMATS" +msgid "CONF.VAR (from -c option) and web.browser" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:13 +#: en/git-web--browse.txt:67 msgid "" -"If the commit is a merge, and if the pretty-format is not 'oneline', 'email' " -"or 'raw', an additional line is inserted before the 'Author:' line. This " -"line begins with \"Merge: \" and the sha1s of ancestral commits are printed, " -"separated by spaces. Note that the listed commits may not necessarily be " -"the list of the *direct* parent commits if you have limited your view of " -"history: for example, if you are only interested in changes related to a " -"certain directory or file." +"The web browser can be specified using a configuration variable passed with " +"the -c (or --config) command-line option, or the `web.browser` configuration " +"variable if the former is not used." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:20 +#: en/git-web--browse.txt:76 msgid "" -"There are several built-in formats, and you can define additional formats by " -"setting a pretty.<name> config option to either another format name, or a " -"'format:' string, as described below (see linkgit:git-config[1]). Here are " -"the details of the built-in formats:" +"You can explicitly provide a full path to your preferred browser by setting " +"the configuration variable `browser.<tool>.path`. For example, you can " +"configure the absolute path to firefox by setting " +"'browser.firefox.path'. Otherwise, 'git web{litdd}browse' assumes the tool " +"is available in PATH." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:22 -msgid "'oneline'" +#: en/git-web--browse.txt:86 +msgid "" +"When the browser, specified by options or configuration variables, is not " +"among the supported ones, then the corresponding `browser.<tool>.cmd` " +"configuration variable will be looked up. If this variable exists then 'git " +"web{litdd}browse' will treat the specified tool as a custom command and will " +"use a shell eval to run the command with the URLs passed as arguments." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:24 -#, no-wrap -msgid "<sha1> <title line>\n" +#: en/git-web--browse.txt:93 +msgid "" +"When 'konqueror' is specified by a command-line option or a configuration " +"variable, we launch 'kfmclient' to try to open the HTML man page on an " +"already opened konqueror in a new tab if possible." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:26 -msgid "This is designed to be as compact as possible." +#: en/git-web--browse.txt:97 +msgid "" +"For consistency, we also try such a trick if 'browser.konqueror.path' is set " +"to something like 'A_PATH_TO/konqueror'. That means we will try to launch " +"'A_PATH_TO/kfmclient' instead." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:28 -msgid "'short'" +#. type: delimited block - +#: en/git-web--browse.txt:104 +#, no-wrap +msgid "" +"\t[web]\n" +"\t\tbrowser = konq\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:31 +#. type: delimited block - +#: en/git-web--browse.txt:107 #, no-wrap msgid "" -"commit <sha1>\n" -"Author: <author>\n" +"\t[browser \"konq\"]\n" +"\t\tcmd = A_PATH_TO/konqueror\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:33 en/pretty-formats.txt:41 en/pretty-formats.txt:51 en/pretty-formats.txt:63 +#. type: Title ~ +#: en/git-web--browse.txt:110 #, no-wrap -msgid "<title line>\n" +msgid "Note about git-config --global" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:35 -msgid "'medium'" +#: en/git-web--browse.txt:114 +msgid "" +"Note that these configuration variables should probably be set using the " +"`--global` flag, for example like this:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:39 +#. type: delimited block - +#: en/git-web--browse.txt:117 #, no-wrap -msgid "" -"commit <sha1>\n" -"Author: <author>\n" -"Date: <author date>\n" +msgid "$ git config --global web.browser firefox\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:43 en/pretty-formats.txt:53 en/pretty-formats.txt:65 en/pretty-formats.txt:74 -msgid "<full commit message>" +#. type: Title = +#: en/git-whatchanged.txt:2 +#, no-wrap +msgid "git-whatchanged(1)" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:45 -msgid "'full'" +#: en/git-whatchanged.txt:7 +msgid "git-whatchanged - Show logs with difference each commit introduces" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:49 +#: en/git-whatchanged.txt:13 #, no-wrap -msgid "" -"commit <sha1>\n" -"Author: <author>\n" -"Commit: <committer>\n" +msgid "'git whatchanged' <option>...\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:55 -msgid "'fuller'" +#: en/git-whatchanged.txt:18 +msgid "Shows commit logs and diff output each commit introduces." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:61 -#, no-wrap +#: en/git-whatchanged.txt:22 msgid "" -"commit <sha1>\n" -"Author: <author>\n" -"AuthorDate: <author date>\n" -"Commit: <committer>\n" -"CommitDate: <committer date>\n" -msgstr "" - -#. type: Plain text -#: en/pretty-formats.txt:67 -msgid "'email'" +"New users are encouraged to use linkgit:git-log[1] instead. The " +"`whatchanged` command is essentially the same as linkgit:git-log[1] but " +"defaults to show the raw format diff output and to skip merges." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:72 -#, no-wrap +#: en/git-whatchanged.txt:26 msgid "" -"From <sha1> <date>\n" -"From: <author>\n" -"Date: <author date>\n" -"Subject: [PATCH] <title line>\n" +"The command is kept primarily for historical reasons; fingers of many people " +"who learned Git long before `git log` was invented by reading Linux kernel " +"mailing list are trained to type it." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:76 -msgid "'raw'" +#. type: Labeled list +#: en/git-whatchanged.txt:30 +#, no-wrap +msgid "`git whatchanged -p v2.6.12.. include/scsi drivers/scsi`" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:86 +#: en/git-whatchanged.txt:34 msgid "" -"The 'raw' format shows the entire commit exactly as stored in the commit " -"object. Notably, the SHA-1s are displayed in full, regardless of whether " -"--abbrev or --no-abbrev are used, and 'parents' information show the true " -"parent commits, without taking grafts or history simplification into " -"account. Note that this format affects the way commits are displayed, but " -"not the way the diff is shown e.g. with `git log --raw`. To get full object " -"names in a raw diff format, use `--no-abbrev`." +"Show as patches the commits since version 'v2.6.12' that changed any file in " +"the include/scsi or drivers/scsi subdirectories" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:88 -msgid "'format:<string>'" +#. type: Labeled list +#: en/git-whatchanged.txt:35 +#, no-wrap +msgid "`git whatchanged --since=\"2 weeks ago\" -- gitk`" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:93 +#: en/git-whatchanged.txt:40 msgid "" -"The 'format:<string>' format allows you to specify which information you " -"want to show. It works a little bit like printf format, with the notable " -"exception that you get a newline with '%n' instead of '\\n'." +"Show the changes during the last two weeks to the file 'gitk'. The \"--\" " +"is necessary to avoid confusion with the *branch* named 'gitk'" +msgstr "" + +#. type: Title = +#: en/git-worktree.txt:2 +#, no-wrap +msgid "git-worktree(1)" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:96 -msgid "" -"E.g, 'format:\"The author of %h was %an, %ar%nThe title was >>%s<<%n\"' " -"would show something like this:" +#: en/git-worktree.txt:7 +msgid "git-worktree - Manage multiple working trees" msgstr "" -#. type: delimited block - -#: en/pretty-formats.txt:100 +#. type: Plain text +#: en/git-worktree.txt:17 #, no-wrap msgid "" -"The author of fe6e0ee was Junio C Hamano, 23 hours ago\n" -"The title was >>t4119: test autocomputing -p<n> for traditional diff " -"input.<<\n" +"'git worktree add' [-f] [--detach] [--checkout] [-b <new-branch>] <path> " +"[<branch>]\n" +"'git worktree list' [--porcelain]\n" +"'git worktree lock' [--reason <string>] <worktree>\n" +"'git worktree prune' [-n] [-v] [--expire <expire>]\n" +"'git worktree unlock' <worktree>\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:104 -msgid "The placeholders are:" +#: en/git-worktree.txt:22 +msgid "Manage multiple working trees attached to the same repository." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:106 -msgid "'%H': commit hash" +#: en/git-worktree.txt:29 +msgid "" +"A git repository can support multiple working trees, allowing you to check " +"out more than one branch at a time. With `git worktree add` a new working " +"tree is associated with the repository. This new working tree is called a " +"\"linked working tree\" as opposed to the \"main working tree\" prepared by " +"\"git init\" or \"git clone\". A repository has one main working tree (if " +"it's not a bare repository) and zero or more linked working trees." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:107 -msgid "'%h': abbreviated commit hash" +#: en/git-worktree.txt:36 +msgid "" +"When you are done with a linked working tree you can simply delete it. The " +"working tree's administrative files in the repository (see \"DETAILS\" " +"below) will eventually be removed automatically (see " +"`gc.worktreePruneExpire` in linkgit:git-config[1]), or you can run `git " +"worktree prune` in the main or any linked working tree to clean up any stale " +"administrative files." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:108 -msgid "'%T': tree hash" +#: en/git-worktree.txt:40 +msgid "" +"If you move a linked working tree, you need to manually update the " +"administrative files so that they do not get pruned automatically. See " +"section \"DETAILS\" for more information." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:109 -msgid "'%t': abbreviated tree hash" +#: en/git-worktree.txt:45 +msgid "" +"If a linked working tree is stored on a portable device or network share " +"which is not always mounted, you can prevent its administrative files from " +"being pruned by issuing the `git worktree lock` command, optionally " +"specifying `--reason` to explain why the working tree is locked." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:110 -msgid "'%P': parent hashes" +#. type: Labeled list +#: en/git-worktree.txt:48 +#, no-wrap +msgid "add <path> [<branch>]" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:111 -msgid "'%p': abbreviated parent hashes" +#: en/git-worktree.txt:54 +msgid "" +"Create `<path>` and checkout `<branch>` into it. The new working directory " +"is linked to the current repository, sharing everything except working " +"directory specific files such as HEAD, index, etc. `-` may also be specified " +"as `<branch>`; it is synonymous with `@{-1}`." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:112 -msgid "'%an': author name" +#: en/git-worktree.txt:58 +msgid "" +"If `<branch>` is omitted and neither `-b` nor `-B` nor `--detach` used, " +"then, as a convenience, a new branch based at HEAD is created automatically, " +"as if `-b $(basename <path>)` was specified." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:114 +#: en/git-worktree.txt:65 msgid "" -"'%aN': author name (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" +"List details of each worktree. The main worktree is listed first, followed " +"by each of the linked worktrees. The output details include if the worktree " +"is bare, the revision currently checked out, and the branch currently " +"checked out (or 'detached HEAD' if none)." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:115 -msgid "'%ae': author email" +#. type: Labeled list +#: en/git-worktree.txt:66 +#, no-wrap +msgid "lock" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:117 +#: en/git-worktree.txt:73 msgid "" -"'%aE': author email (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" +"If a working tree is on a portable device or network share which is not " +"always mounted, lock it to prevent its administrative files from being " +"pruned automatically. This also prevents it from being moved or " +"deleted. Optionally, specify a reason for the lock with `--reason`." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:118 -msgid "'%ad': author date (format respects --date= option)" +#: en/git-worktree.txt:77 +msgid "Prune working tree information in $GIT_DIR/worktrees." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:119 -msgid "'%aD': author date, RFC2822 style" +#. type: Labeled list +#: en/git-worktree.txt:78 +#, no-wrap +msgid "unlock" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:120 -msgid "'%ar': author date, relative" +#: en/git-worktree.txt:81 +msgid "Unlock a working tree, allowing it to be pruned, moved or deleted." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:121 -msgid "'%at': author date, UNIX timestamp" +#: en/git-worktree.txt:90 +msgid "" +"By default, `add` refuses to create a new working tree when `<branch>` is " +"already checked out by another working tree. This option overrides that " +"safeguard." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:122 -msgid "'%ai': author date, ISO 8601-like format" +#. type: Labeled list +#: en/git-worktree.txt:91 +#, no-wrap +msgid "-b <new-branch>" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:123 -msgid "'%aI': author date, strict ISO 8601 format" +#. type: Labeled list +#: en/git-worktree.txt:92 +#, no-wrap +msgid "-B <new-branch>" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:124 -msgid "'%cn': committer name" +#: en/git-worktree.txt:99 +msgid "" +"With `add`, create a new branch named `<new-branch>` starting at `<branch>`, " +"and check out `<new-branch>` into the new working tree. If `<branch>` is " +"omitted, it defaults to HEAD. By default, `-b` refuses to create a new " +"branch if it already exists. `-B` overrides this safeguard, resetting " +"`<new-branch>` to `<branch>`." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:126 +#: en/git-worktree.txt:103 msgid "" -"'%cN': committer name (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" +"With `add`, detach HEAD in the new working tree. See \"DETACHED HEAD\" in " +"linkgit:git-checkout[1]." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:127 -msgid "'%ce': committer email" +#. type: Labeled list +#: en/git-worktree.txt:104 +#, no-wrap +msgid "--[no-]checkout" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:129 +#: en/git-worktree.txt:109 msgid "" -"'%cE': committer email (respecting .mailmap, see linkgit:git-shortlog[1] or " -"linkgit:git-blame[1])" -msgstr "" - -#. type: Plain text -#: en/pretty-formats.txt:130 -msgid "'%cd': committer date (format respects --date= option)" +"By default, `add` checks out `<branch>`, however, `--no-checkout` can be " +"used to suppress checkout in order to make customizations, such as " +"configuring sparse-checkout. See \"Sparse checkout\" in " +"linkgit:git-read-tree[1]." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:131 -msgid "'%cD': committer date, RFC2822 style" +#: en/git-worktree.txt:114 +msgid "With `prune`, do not remove anything; just report what it would remove." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:132 -msgid "'%cr': committer date, relative" +#: en/git-worktree.txt:119 +msgid "" +"With `list`, output in an easy-to-parse format for scripts. This format " +"will remain stable across Git versions and regardless of user " +"configuration. See below for details." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:133 -msgid "'%ct': committer date, UNIX timestamp" +#: en/git-worktree.txt:123 +msgid "With `prune`, report all removals." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:134 -msgid "'%ci': committer date, ISO 8601-like format" +#: en/git-worktree.txt:126 +msgid "With `prune`, only expire unused working trees older than <time>." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:135 -msgid "'%cI': committer date, strict ISO 8601 format" +#. type: Labeled list +#: en/git-worktree.txt:127 +#, no-wrap +msgid "--reason <string>" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:136 -msgid "'%d': ref names, like the --decorate option of linkgit:git-log[1]" +#: en/git-worktree.txt:129 +msgid "With `lock`, an explanation why the working tree is locked." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:137 -msgid "'%D': ref names without the \" (\", \")\" wrapping." +#. type: Labeled list +#: en/git-worktree.txt:130 +#, no-wrap +msgid "<worktree>" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:138 -msgid "'%e': encoding" +#: en/git-worktree.txt:133 +msgid "Working trees can be identified by path, either relative or absolute." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:139 -msgid "'%s': subject" +#: en/git-worktree.txt:138 +msgid "" +"If the last path components in the working tree's path is unique among " +"working trees, it can be used to identify worktrees. For example if you only " +"have two working trees, at \"/abc/def/ghi\" and \"/abc/def/ggg\", then " +"\"ghi\" or \"def/ghi\" is enough to point to the former working tree." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:140 -msgid "'%f': sanitized subject line, suitable for a filename" +#. type: Title - +#: en/git-worktree.txt:140 +#, no-wrap +msgid "DETAILS" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:141 -msgid "'%b': body" +#: en/git-worktree.txt:149 +msgid "" +"Each linked working tree has a private sub-directory in the repository's " +"$GIT_DIR/worktrees directory. The private sub-directory's name is usually " +"the base name of the linked working tree's path, possibly appended with a " +"number to make it unique. For example, when `$GIT_DIR=/path/main/.git` the " +"command `git worktree add /path/other/test-next next` creates the linked " +"working tree in `/path/other/test-next` and also creates a " +"`$GIT_DIR/worktrees/test-next` directory (or `$GIT_DIR/worktrees/test-next1` " +"if `test-next` is already taken)." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:142 -msgid "'%B': raw body (unwrapped subject and body)" +#: en/git-worktree.txt:155 +msgid "" +"Within a linked working tree, $GIT_DIR is set to point to this private " +"directory (e.g. `/path/main/.git/worktrees/test-next` in the example) and " +"$GIT_COMMON_DIR is set to point back to the main working tree's $GIT_DIR " +"(e.g. `/path/main/.git`). These settings are made in a `.git` file located " +"at the top directory of the linked working tree." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:144 -msgid "'%N': commit notes" +#: en/git-worktree.txt:164 +msgid "" +"Path resolution via `git rev-parse --git-path` uses either $GIT_DIR or " +"$GIT_COMMON_DIR depending on the path. For example, in the linked working " +"tree `git rev-parse --git-path HEAD` returns " +"`/path/main/.git/worktrees/test-next/HEAD` (not " +"`/path/other/test-next/.git/HEAD` or `/path/main/.git/HEAD`) while `git " +"rev-parse --git-path refs/heads/master` uses $GIT_COMMON_DIR and returns " +"`/path/main/.git/refs/heads/master`, since refs are shared across all " +"working trees." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:146 -msgid "'%GG': raw verification message from GPG for a signed commit" +#: en/git-worktree.txt:169 +msgid "" +"See linkgit:gitrepository-layout[5] for more information. The rule of thumb " +"is do not make any assumption about whether a path belongs to $GIT_DIR or " +"$GIT_COMMON_DIR when you need to directly access something inside " +"$GIT_DIR. Use `git rev-parse --git-path` to get the final path." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:154 +#: en/git-worktree.txt:176 msgid "" -"'%G?': show \"G\" for a good (valid) signature, \"B\" for a bad signature, " -"\"U\" for a good signature with unknown validity, \"X\" for a good signature " -"that has expired, \"Y\" for a good signature made by an expired key, \"R\" " -"for a good signature made by a revoked key, \"E\" if the signature cannot be " -"checked (e.g. missing key) and \"N\" for no signature" +"If you move a linked working tree, you need to update the 'gitdir' file in " +"the entry's directory. For example, if a linked working tree is moved to " +"`/newpath/test-next` and its `.git` file points to " +"`/path/main/.git/worktrees/test-next`, then update " +"`/path/main/.git/worktrees/test-next/gitdir` to reference " +"`/newpath/test-next` instead." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:155 -msgid "'%GS': show the name of the signer for a signed commit" +#: en/git-worktree.txt:187 +msgid "" +"To prevent a $GIT_DIR/worktrees entry from being pruned (which can be useful " +"in some situations, such as when the entry's working tree is stored on a " +"portable device), use the `git worktree lock` command, which adds a file " +"named 'locked' to the entry's directory. The file contains the reason in " +"plain text. For example, if a linked working tree's `.git` file points to " +"`/path/main/.git/worktrees/test-next` then a file named " +"`/path/main/.git/worktrees/test-next/locked` will prevent the `test-next` " +"entry from being pruned. See linkgit:gitrepository-layout[5] for details." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:156 -msgid "'%GK': show the key used to sign a signed commit" +#. type: Title - +#: en/git-worktree.txt:189 +#, no-wrap +msgid "LIST OUTPUT FORMAT" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:161 +#: en/git-worktree.txt:192 msgid "" -"'%gD': reflog selector, e.g., `refs/stash@{1}` or `refs/stash@{2 minutes " -"ago`}; the format follows the rules described for the `-g` option. The " -"portion before the `@` is the refname as given on the command line (so `git " -"log -g refs/heads/master` would yield `refs/heads/master@{0}`)." +"The worktree list command has two output formats. The default format shows " +"the details on a single line with columns. For example:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:164 +#. type: delimited block - +#: en/git-worktree.txt:198 +#, no-wrap msgid "" -"'%gd': shortened reflog selector; same as `%gD`, but the refname portion is " -"shortened for human readability (so `refs/heads/master` becomes just " -"`master`)." +"S git worktree list\n" +"/path/to/bare-source (bare)\n" +"/path/to/linked-worktree abcd1234 [master]\n" +"/path/to/other-linked-worktree 1234abc (detached HEAD)\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:165 -msgid "'%gn': reflog identity name" +#. type: Title ~ +#: en/git-worktree.txt:201 +#, no-wrap +msgid "Porcelain Format" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:167 +#: en/git-worktree.txt:207 msgid "" -"'%gN': reflog identity name (respecting .mailmap, see " -"linkgit:git-shortlog[1] or linkgit:git-blame[1])" +"The porcelain format has a line per attribute. Attributes are listed with a " +"label and value separated by a single space. Boolean attributes (like " +"'bare' and 'detached') are listed as a label only, and are only present if " +"and only if the value is true. An empty line indicates the end of a " +"worktree. For example:" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:168 -msgid "'%ge': reflog identity email" +#. type: delimited block - +#: en/git-worktree.txt:212 +#, no-wrap +msgid "" +"S git worktree list --porcelain\n" +"worktree /path/to/bare-source\n" +"bare\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:170 +#. type: delimited block - +#: en/git-worktree.txt:216 +#, no-wrap msgid "" -"'%gE': reflog identity email (respecting .mailmap, see " -"linkgit:git-shortlog[1] or linkgit:git-blame[1])" +"worktree /path/to/linked-worktree\n" +"HEAD abcd1234abcd1234abcd1234abcd1234abcd1234\n" +"branch refs/heads/master\n" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:171 -msgid "'%gs': reflog subject" +#. type: delimited block - +#: en/git-worktree.txt:220 +#, no-wrap +msgid "" +"worktree /path/to/other-linked-worktree\n" +"HEAD 1234abc1234abc1234abc1234abc1234abc1234a\n" +"detached\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:172 -msgid "'%Cred': switch color to red" +#: en/git-worktree.txt:233 +msgid "" +"You are in the middle of a refactoring session and your boss comes in and " +"demands that you fix something immediately. You might typically use " +"linkgit:git-stash[1] to store your changes away temporarily, however, your " +"working tree is in such a state of disarray (with new, moved, and removed " +"files, and other bits and pieces strewn around) that you don't want to risk " +"disturbing any of it. Instead, you create a temporary linked working tree to " +"make the emergency fix, remove it when done, and then resume your earlier " +"refactoring session." msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:173 -msgid "'%Cgreen': switch color to green" +#. type: delimited block - +#: en/git-worktree.txt:242 +#, no-wrap +msgid "" +"$ git worktree add -b emergency-fix ../temp master\n" +"$ pushd ../temp\n" +"# ... hack hack hack ...\n" +"$ git commit -a -m 'emergency fix for boss'\n" +"$ popd\n" +"$ rm -rf ../temp\n" +"$ git worktree prune\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:174 -msgid "'%Cblue': switch color to blue" +#: en/git-worktree.txt:249 +msgid "" +"Multiple checkout in general is still experimental, and the support for " +"submodules is incomplete. It is NOT recommended to make multiple checkouts " +"of a superproject." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:175 -msgid "'%Creset': reset color" +#: en/git-worktree.txt:252 +msgid "" +"git-worktree could provide more automation for tasks currently performed " +"manually, such as:" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:182 +#: en/git-worktree.txt:255 msgid "" -"'%C(...)': color specification, as described under Values in the " -"\"CONFIGURATION FILE\" section of linkgit:git-config[1]; adding `auto,` at " -"the beginning will emit color only when colors are enabled for log output " -"(by `color.diff`, `color.ui`, or `--color`, and respecting the `auto` " -"settings of the former if we are going to a terminal). `auto` alone " -"(i.e. `%C(auto)`) will turn on auto coloring on the next placeholders until " -"the color is switched again." +"`remove` to remove a linked working tree and its administrative files (and " +"warn if the working tree is dirty)" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:183 -msgid "'%m': left (`<`), right (`>`) or boundary (`-`) mark" +#: en/git-worktree.txt:256 +msgid "`mv` to move or rename a working tree and update its administrative files" msgstr "" -#. type: Plain text -#: en/pretty-formats.txt:184 -msgid "'%n': newline" +#. type: Title = +#: en/git-write-tree.txt:2 +#, no-wrap +msgid "git-write-tree(1)" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:185 -msgid "'%%': a raw '%'" +#: en/git-write-tree.txt:7 +msgid "git-write-tree - Create a tree object from the current index" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:186 -msgid "'%x00': print a byte from a hex code" +#: en/git-write-tree.txt:13 +#, no-wrap +msgid "'git write-tree' [--missing-ok] [--prefix=<prefix>/]\n" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:188 +#: en/git-write-tree.txt:18 msgid "" -"'%w([<w>[,<i1>[,<i2>]]])': switch line wrapping, like the -w option of " -"linkgit:git-shortlog[1]." +"Creates a tree object using the current index. The name of the new tree " +"object is printed to standard output." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:193 -msgid "" -"'%<(<N>[,trunc|ltrunc|mtrunc])': make the next placeholder take at least N " -"columns, padding spaces on the right if necessary. Optionally truncate at " -"the beginning (ltrunc), the middle (mtrunc) or the end (trunc) if the " -"output is longer than N columns. Note that truncating only works correctly " -"with N >= 2." +#: en/git-write-tree.txt:20 +msgid "The index must be in a fully merged state." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:195 +#: en/git-write-tree.txt:26 msgid "" -"'%<|(<N>)': make the next placeholder take at least until Nth columns, " -"padding spaces on the right if necessary" +"Conceptually, 'git write-tree' sync()s the current index contents into a set " +"of tree files. In order to have that match what is actually in your " +"directory right now, you need to have done a 'git update-index' phase before " +"you did the 'git write-tree'." +msgstr "" + +#. type: Labeled list +#: en/git-write-tree.txt:30 +#, no-wrap +msgid "--missing-ok" msgstr "" #. type: Plain text -#: en/pretty-formats.txt:197 +#: en/git-write-tree.txt:34 msgid "" -"'%>(<N>)', '%>|(<N>)': similar to '%<(<N>)', '%<|(<N>)' respectively, but " -"padding spaces on the left" +"Normally 'git write-tree' ensures that the objects referenced by the " +"directory exist in the object database. This option disables this check." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:200 +#: en/git-write-tree.txt:39 msgid "" -"'%>>(<N>)', '%>>|(<N>)': similar to '%>(<N>)', '%>|(<N>)' respectively, " -"except that if the next placeholder takes more spaces than given and there " -"are spaces on its left, use those spaces" +"Writes a tree object that represents a subdirectory `<prefix>`. This can be " +"used to write the tree object for a subproject that is in the named " +"subdirectory." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:204 -msgid "" -"'%><(<N>)', '%><|(<N>)': similar to '% <(<N>)', '%<|(<N>)' respectively, but " -"padding both sides (i.e. the text is centered) -%(trailers): display the " -"trailers of the body as interpreted by linkgit:git-interpret-trailers[1]" +#: en/i18n.txt:2 +msgid "Git is to some extent character encoding agnostic." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:211 +#: en/i18n.txt:6 msgid "" -"Some placeholders may depend on other options given to the revision " -"traversal engine. For example, the `%g*` reflog options will insert an empty " -"string unless we are traversing reflog entries (e.g., by `git log -g`). The " -"`%d` and `%D` placeholders will use the \"short\" decoration format if " -"`--decorate` was not already provided on the command line." +"The contents of the blob objects are uninterpreted sequences of bytes. " +"There is no encoding translation at the core level." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:215 +#: en/i18n.txt:13 msgid "" -"If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is " -"inserted immediately before the expansion if and only if the placeholder " -"expands to a non-empty string." +"Path names are encoded in UTF-8 normalization form C. This applies to tree " +"objects, the index file, ref names, as well as path names in command line " +"arguments, environment variables and config files (`.git/config` (see " +"linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and " +"linkgit:gitmodules[5])." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:219 +#: en/i18n.txt:23 msgid "" -"If you add a `-` (minus sign) after '%' of a placeholder, line-feeds that " -"immediately precede the expansion are deleted if and only if the placeholder " -"expands to an empty string." +"Note that Git at the core level treats path names simply as sequences of " +"non-NUL bytes, there are no path name encoding conversions (except on Mac " +"and Windows). Therefore, using non-ASCII path names will mostly work even on " +"platforms and file systems that use legacy extended ASCII " +"encodings. However, repositories created on such systems will not work " +"properly on UTF-8-based systems (e.g. Linux, Mac, Windows) and vice versa. " +"Additionally, many Git-based tools simply assume path names to be UTF-8 and " +"will fail to display other encodings correctly." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:223 +#: en/i18n.txt:29 msgid "" -"If you add a ` ` (space) after '%' of a placeholder, a space is inserted " -"immediately before the expansion if and only if the placeholder expands to a " -"non-empty string." +"Commit log messages are typically encoded in UTF-8, but other extended ASCII " +"encodings are also supported. This includes ISO-8859-x, CP125x and many " +"others, but _not_ UTF-16/32, EBCDIC and CJK multi-byte encodings (GBK, " +"Shift-JIS, Big5, EUC-x, CP9xx etc.)." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:225 -msgid "'tformat:'" +#: en/i18n.txt:36 +msgid "" +"Although we encourage that the commit log messages are encoded in UTF-8, " +"both the core and Git Porcelain are designed not to force UTF-8 on " +"projects. If all participants of a particular project find it more " +"convenient to use legacy encodings, Git does not forbid it. However, there " +"are a few things to keep in mind." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:233 +#: en/i18n.txt:42 msgid "" -"The 'tformat:' format works exactly like 'format:', except that it provides " -"\"terminator\" semantics instead of \"separator\" semantics. In other words, " -"each commit has the message terminator character (usually a newline) " -"appended, rather than a separator placed between entries. This means that " -"the final entry of a single-line format will be properly terminated with a " -"new line, just as the \"oneline\" format does. For example:" +"'git commit' and 'git commit-tree' issues a warning if the commit log " +"message given to it does not look like a valid UTF-8 string, unless you " +"explicitly say your project uses a legacy encoding. The way to say this is " +"to have i18n.commitencoding in `.git/config` file, like this:" msgstr "" #. type: delimited block - -#: en/pretty-formats.txt:239 +#: en/i18n.txt:46 #, no-wrap msgid "" -"$ git log -2 --pretty=format:%h 4da45bef \\\n" -" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" -"4da45be\n" -"7134973 -- NO NEWLINE\n" +"[i18n]\n" +"\tcommitencoding = ISO-8859-1\n" msgstr "" -#. type: delimited block - -#: en/pretty-formats.txt:244 -#, no-wrap +#. type: Plain text +#: en/i18n.txt:52 msgid "" -"$ git log -2 --pretty=tformat:%h 4da45bef \\\n" -" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" -"4da45be\n" -"7134973\n" +"Commit objects created with the above setting record the value of " +"`i18n.commitencoding` in its `encoding` header. This is to help other " +"people who look at them later. Lack of this header implies that the commit " +"log message is encoded in UTF-8." msgstr "" #. type: Plain text -#: en/pretty-formats.txt:249 +#: en/i18n.txt:58 msgid "" -"In addition, any unrecognized string that has a `%` in it is interpreted as " -"if it has `tformat:` in front of it. For example, these two are equivalent:" +"'git log', 'git show', 'git blame' and friends look at the `encoding` header " +"of a commit object, and try to re-code the log message into UTF-8 unless " +"otherwise specified. You can specify the desired output encoding with " +"`i18n.logoutputencoding` in `.git/config` file, like this:" msgstr "" #. type: delimited block - -#: en/pretty-formats.txt:253 +#: en/i18n.txt:62 #, no-wrap msgid "" -"$ git log -2 --pretty=tformat:%h 4da45bef\n" -"$ git log -2 --pretty=%h 4da45bef\n" +"[i18n]\n" +"\tlogoutputencoding = ISO-8859-1\n" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:1 -#, no-wrap -msgid "--pretty[=<format>]" +#. type: Plain text +#: en/i18n.txt:66 +msgid "" +"If you do not have this configuration variable, the value of " +"`i18n.commitencoding` is used instead." msgstr "" #. type: Plain text -#: en/pretty-options.txt:10 +#: en/i18n.txt:70 msgid "" -"Pretty-print the contents of the commit logs in a given format, where " -"'<format>' can be one of 'oneline', 'short', 'medium', 'full', 'fuller', " -"'email', 'raw', 'format:<string>' and 'tformat:<string>'. When '<format>' " -"is none of the above, and has '%placeholder' in it, it acts as if " -"'--pretty=tformat:<format>' were given." +"Note that we deliberately chose not to re-code the commit log message when a " +"commit is made to force UTF-8 at the commit object level, because re-coding " +"to UTF-8 is not necessarily a reversible operation." msgstr "" #. type: Plain text -#: en/pretty-options.txt:13 -msgid "" -"See the \"PRETTY FORMATS\" section for some additional details for each " -"format. When '=<format>' part is omitted, it defaults to 'medium'." +#: en/line-range-format.txt:2 +msgid "<start> and <end> can take one of these forms:" msgstr "" #. type: Plain text -#: en/pretty-options.txt:16 +#: en/line-range-format.txt:4 +msgid "number" +msgstr "" + +#. type: Plain text +#: en/line-range-format.txt:7 msgid "" -"Note: you can specify the default pretty format in the repository " -"configuration (see linkgit:git-config[1])." +"If <start> or <end> is a number, it specifies an absolute line number (lines " +"count from 1)." msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:17 -#, no-wrap -msgid "--abbrev-commit" +#. type: Plain text +#: en/line-range-format.txt:10 +msgid "/regex/" msgstr "" #. type: Plain text -#: en/pretty-options.txt:22 +#: en/line-range-format.txt:17 msgid "" -"Instead of showing the full 40-byte hexadecimal commit object name, show " -"only a partial prefix. Non default number of digits can be specified with " -"\"--abbrev=<n>\" (which also modifies diff output, if it is displayed)." +"This form will use the first line matching the given POSIX regex. If <start> " +"is a regex, it will search from the end of the previous `-L` range, if any, " +"otherwise from the start of file. If <start> is ``^/regex/'', it will " +"search from the start of file. If <end> is a regex, it will search starting " +"at the line given by <start>." msgstr "" #. type: Plain text -#: en/pretty-options.txt:25 -msgid "" -"This should make \"--pretty=oneline\" a whole lot more readable for people " -"using 80-column terminals." +#: en/line-range-format.txt:20 +msgid "+offset or -offset" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:26 -#, no-wrap -msgid "--no-abbrev-commit" +#. type: Plain text +#: en/line-range-format.txt:23 +msgid "" +"This is only valid for <end> and will specify a number of lines before or " +"after the line given by <start>." msgstr "" #. type: Plain text -#: en/pretty-options.txt:30 +#: en/line-range-format.txt:30 msgid "" -"Show the full 40-byte hexadecimal commit object name. This negates " -"`--abbrev-commit` and those options which imply it such as \"--oneline\". It " -"also overrides the `log.abbrevCommit` variable." +"If ``:<funcname>'' is given in place of <start> and <end>, it is a regular " +"expression that denotes the range from the first funcname line that matches " +"<funcname>, up to the next funcname line. ``:<funcname>'' searches from the " +"end of the previous `-L` range, if any, otherwise from the start of " +"file. ``^:<funcname>'' searches from the start of file." msgstr "" #. type: Plain text -#: en/pretty-options.txt:34 -msgid "This is a shorthand for \"--pretty=oneline --abbrev-commit\" used together." +#: en/mailmap.txt:6 +msgid "" +"If the file `.mailmap` exists at the toplevel of the repository, or at the " +"location pointed to by the mailmap.file or mailmap.blob configuration " +"options, it is used to map author and committer names and email addresses to " +"canonical real names and email addresses." msgstr "" #. type: Plain text -#: en/pretty-options.txt:44 +#: en/mailmap.txt:10 msgid "" -"The commit objects record the encoding used for the log message in their " -"encoding header; this option can be used to tell the command to re-code the " -"commit log message in the encoding preferred by the user. For non plumbing " -"commands this defaults to UTF-8. Note that if an object claims to be encoded " -"in `X` and we are outputting in `X`, we will output the object verbatim; " -"this means that invalid sequences in the original commit may be copied to " -"the output." +"In the simple form, each line in the file consists of the canonical real " +"name of an author, whitespace, and an email address used in the commit " +"(enclosed by '<' and '>') to map to the name. For example:" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:45 +#. type: Plain text +#: en/mailmap.txt:12 #, no-wrap -msgid "--expand-tabs=<n>" +msgid "\tProper Name <commit@email.xx>\n" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:46 -#, no-wrap -msgid "--expand-tabs" +#. type: Plain text +#: en/mailmap.txt:15 +msgid "The more complex forms are:" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:47 +#. type: Plain text +#: en/mailmap.txt:17 #, no-wrap -msgid "--no-expand-tabs" +msgid "\t<proper@email.xx> <commit@email.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-options.txt:54 -msgid "" -"Perform a tab expansion (replace each tab with enough spaces to fill to the " -"next display column that is multiple of '<n>') in the log message before " -"showing it in the output. `--expand-tabs` is a short-hand for " -"`--expand-tabs=8`, and `--no-expand-tabs` is a short-hand for " -"`--expand-tabs=0`, which disables tab expansion." +#: en/mailmap.txt:19 +msgid "which allows mailmap to replace only the email part of a commit, and:" msgstr "" #. type: Plain text -#: en/pretty-options.txt:58 +#: en/mailmap.txt:21 +#, no-wrap +msgid "\tProper Name <proper@email.xx> <commit@email.xx>\n" +msgstr "" + +#. type: Plain text +#: en/mailmap.txt:24 msgid "" -"By default, tabs are expanded in pretty formats that indent the log message " -"by 4 spaces (i.e. 'medium', which is the default, 'full', and 'fuller')." +"which allows mailmap to replace both the name and the email of a commit " +"matching the specified commit email address, and:" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:60 +#. type: Plain text +#: en/mailmap.txt:26 #, no-wrap -msgid "--notes[=<treeish>]" +msgid "\tProper Name <proper@email.xx> Commit Name <commit@email.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-options.txt:66 +#: en/mailmap.txt:29 msgid "" -"Show the notes (see linkgit:git-notes[1]) that annotate the commit, when " -"showing the commit log message. This is the default for `git log`, `git " -"show` and `git whatchanged` commands when there is no `--pretty`, " -"`--format`, or `--oneline` option given on the command line." +"which allows mailmap to replace both the name and the email of a commit " +"matching both the specified commit name and email address." msgstr "" #. type: Plain text -#: en/pretty-options.txt:70 +#: en/mailmap.txt:32 msgid "" -"By default, the notes shown are from the notes refs listed in the " -"`core.notesRef` and `notes.displayRef` variables (or corresponding " -"environment overrides). See linkgit:git-config[1] for more details." +"Example 1: Your history contains commits by two authors, Jane and Joe, whose " +"names appear in the repository under several forms:" msgstr "" -#. type: Plain text -#: en/pretty-options.txt:75 +#. type: delimited block - +#: en/mailmap.txt:39 +#, no-wrap msgid "" -"With an optional '<treeish>' argument, use the treeish to find the notes to " -"display. The treeish can specify the full refname when it begins with " -"`refs/notes/`; when it begins with `notes/`, `refs/` and otherwise " -"`refs/notes/` is prefixed to form a full name of the ref." +"Joe Developer <joe@example.com>\n" +"Joe R. Developer <joe@example.com>\n" +"Jane Doe <jane@example.com>\n" +"Jane Doe <jane@laptop.(none)>\n" +"Jane D. <jane@desktop.(none)>\n" msgstr "" #. type: Plain text -#: en/pretty-options.txt:80 +#: en/mailmap.txt:44 msgid "" -"Multiple --notes options can be combined to control which notes are being " -"displayed. Examples: \"--notes=foo\" will show only notes from " -"\"refs/notes/foo\"; \"--notes=foo --notes\" will show both notes from " -"\"refs/notes/foo\" and from the default notes ref(s)." +"Now suppose that Joe wants his middle name initial used, and Jane prefers " +"her family name fully spelled out. A proper `.mailmap` file would look like:" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:81 +#. type: delimited block - +#: en/mailmap.txt:48 #, no-wrap -msgid "--no-notes" +msgid "" +"Jane Doe <jane@desktop.(none)>\n" +"Joe R. Developer <joe@example.com>\n" msgstr "" #. type: Plain text -#: en/pretty-options.txt:87 +#: en/mailmap.txt:52 msgid "" -"Do not show notes. This negates the above `--notes` option, by resetting the " -"list of notes refs from which notes are shown. Options are parsed in the " -"order given on the command line, so e.g. \"--notes --notes=foo --no-notes " -"--notes=bar\" will only show notes from \"refs/notes/bar\"." +"Note how there is no need for an entry for `<jane@laptop.(none)>`, because " +"the real name of that author is already correct." msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:88 -#, no-wrap -msgid "--show-notes[=<treeish>]" +#. type: Plain text +#: en/mailmap.txt:55 +msgid "Example 2: Your repository contains commits from the following authors:" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:89 +#. type: delimited block - +#: en/mailmap.txt:63 #, no-wrap -msgid "--[no-]standard-notes" +msgid "" +"nick1 <bugs@company.xx>\n" +"nick2 <bugs@company.xx>\n" +"nick2 <nick2@company.xx>\n" +"santa <me@company.xx>\n" +"claus <me@company.xx>\n" +"CTO <cto@coompany.xx>\n" msgstr "" #. type: Plain text -#: en/pretty-options.txt:92 -msgid "" -"These options are deprecated. Use the above --notes/--no-notes options " -"instead." +#: en/mailmap.txt:66 +msgid "Then you might want a `.mailmap` file that looks like:" msgstr "" -#. type: Labeled list -#: en/pretty-options.txt:94 +#. type: delimited block - +#: en/mailmap.txt:72 #, no-wrap -msgid "--show-signature" -msgstr "" - -#. type: Plain text -#: en/pretty-options.txt:96 msgid "" -"Check the validity of a signed commit object by passing the signature to " -"`gpg --verify` and show the output." +"<cto@company.xx> <cto@coompany.xx>\n" +"Some Dude <some@dude.xx> nick1 <bugs@company.xx>\n" +"Other Author <other@author.xx> nick2 <bugs@company.xx>\n" +"Other Author <other@author.xx> <nick2@company.xx>\n" +"Santa Claus <santa.claus@northpole.xx> <me@company.xx>\n" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:6 +#: en/mailmap.txt:75 msgid "" -"The \"remote\" repository that is the source of a fetch or pull operation. " -"This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) " -"or the name of a remote (see the section <<REMOTES,REMOTES>> below)." +"Use hash '#' for comments that are either on their own line, or after the " +"email address." msgstr "" #. type: Labeled list -#: en/pull-fetch-param.txt:8 +#: en/merge-config.txt:1 #, no-wrap -msgid "<group>" +msgid "merge.conflictStyle" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:12 +#: en/merge-config.txt:8 msgid "" -"A name referring to a list of repositories as the value of remotes.<group> " -"in the configuration file. (See linkgit:git-config[1])." +"Specify the style in which conflicted hunks are written out to working tree " +"files upon merge. The default is \"merge\", which shows a `<<<<<<<` " +"conflict marker, changes made by one side, a `=======` marker, changes made " +"by the other side, and then a `>>>>>>>` marker. An alternate style, " +"\"diff3\", adds a `|||||||` marker and the original text before the " +"`=======` marker." msgstr "" #. type: Labeled list -#: en/pull-fetch-param.txt:14 +#: en/merge-config.txt:9 #, no-wrap -msgid "<refspec>" +msgid "merge.defaultToUpstream" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:18 +#: en/merge-config.txt:18 msgid "" -"Specifies which refs to fetch and which local refs to update. When no " -"<refspec>s appear on the command line, the refs to fetch are read from " -"`remote.<repository>.fetch` variables instead" +"If merge is called without any commit argument, merge the upstream branches " +"configured for the current branch by using their last observed values stored " +"in their remote-tracking branches. The values of the `branch.<current " +"branch>.merge` that name the branches at the remote named by " +"`branch.<current branch>.remote` are consulted, and then they are mapped via " +"`remote.<remote>.fetch` to their corresponding remote-tracking branches, and " +"the tips of these tracking branches are merged." msgstr "" -#. type: Plain text -#: en/pull-fetch-param.txt:20 +#. type: Labeled list +#: en/merge-config.txt:19 #, no-wrap -msgid "\t(see <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> below).\n" +msgid "merge.ff" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:23 +#: en/merge-config.txt:28 +msgid "" +"By default, Git does not create an extra merge commit when merging a commit " +"that is a descendant of the current commit. Instead, the tip of the current " +"branch is fast-forwarded. When set to `false`, this variable tells Git to " +"create an extra merge commit in such a case (equivalent to giving the " +"`--no-ff` option from the command line). When set to `only`, only such " +"fast-forward merges are allowed (equivalent to giving the `--ff-only` option " +"from the command line)." +msgstr "" + +#. type: Labeled list +#: en/merge-config.txt:31 #, no-wrap -msgid "\t(see linkgit:git-fetch[1]).\n" +msgid "merge.renameLimit" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:29 +#: en/merge-config.txt:35 msgid "" -"The format of a <refspec> parameter is an optional plus `+`, followed by the " -"source ref <src>, followed by a colon `:`, followed by the destination ref " -"<dst>. The colon can be omitted when <dst> is empty." +"The number of files to consider when performing rename detection during a " +"merge; if not specified, defaults to the value of diff.renameLimit." msgstr "" -#. type: Plain text -#: en/pull-fetch-param.txt:32 -msgid "" -"`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`; it requests " -"fetching everything up to the given tag." +#. type: Labeled list +#: en/merge-config.txt:36 +#, no-wrap +msgid "merge.renormalize" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:39 +#: en/merge-config.txt:45 msgid "" -"The remote ref that matches <src> is fetched, and if <dst> is not empty " -"string, the local ref that matches it is fast-forwarded using <src>. If the " -"optional plus `+` is used, the local ref is updated even if it does not " -"result in a fast-forward update." +"Tell Git that canonical representation of files in the repository has " +"changed over time (e.g. earlier commits record text files with CRLF line " +"endings, but recent ones use LF line endings). In such a repository, Git " +"can convert the data recorded in commits to a canonical form before " +"performing a merge to reduce unnecessary conflicts. For more information, " +"see section \"Merging branches with differing checkin/checkout attributes\" " +"in linkgit:gitattributes[5]." msgstr "" -#. type: Plain text -#: en/pull-fetch-param.txt:51 -msgid "" -"When the remote branch you want to fetch is known to be rewound and rebased " -"regularly, it is expected that its new tip will not be descendant of its " -"previous tip (as stored in your remote-tracking branch the last time you " -"fetched). You would want to use the `+` sign to indicate non-fast-forward " -"updates will be needed for such branches. There is no way to determine or " -"declare that a branch will be made available in a repository with this " -"behavior; the pulling user simply must know this is the expected usage " -"pattern for a branch." +#. type: Labeled list +#: en/merge-config.txt:46 +#, no-wrap +msgid "merge.stat" msgstr "" #. type: Plain text -#: en/pull-fetch-param.txt:71 +#: en/merge-config.txt:49 msgid "" -"There is a difference between listing multiple <refspec> directly on 'git " -"pull' command line and having multiple `remote.<repository>.fetch` entries " -"in your configuration for a <repository> and running a 'git pull' command " -"without any explicit <refspec> parameters. <refspec>s listed explicitly on " -"the command line are always merged into the current branch after fetching. " -"In other words, if you list more than one remote ref, 'git pull' will create " -"an Octopus merge. On the other hand, if you do not list any explicit " -"<refspec> parameter on the command line, 'git pull' will fetch all the " -"<refspec>s it finds in the `remote.<repository>.fetch` configuration and " -"merge only the first <refspec> found into the current branch. This is " -"because making an Octopus from remote refs is rarely done, while keeping " -"track of multiple remote heads in one-go by fetching more than one is often " -"useful." +"Whether to print the diffstat between ORIG_HEAD and the merge result at the " +"end of the merge. True by default." msgstr "" -#. type: Title - -#: en/revisions.txt:2 +#. type: Labeled list +#: en/merge-config.txt:50 #, no-wrap -msgid "SPECIFYING REVISIONS" +msgid "merge.tool" msgstr "" #. type: Plain text -#: en/revisions.txt:9 +#: en/merge-config.txt:55 msgid "" -"A revision parameter '<rev>' typically, but not necessarily, names a commit " -"object. It uses what is called an 'extended SHA-1' syntax. Here are " -"various ways to spell object names. The ones listed near the end of this " -"list name trees and blobs contained in a commit." +"Controls which merge tool is used by linkgit:git-mergetool[1]. The list " +"below shows the valid built-in values. Any other value is treated as a " +"custom merge tool and requires that a corresponding mergetool.<tool>.cmd " +"variable is defined." msgstr "" #. type: Labeled list -#: en/revisions.txt:10 +#: en/merge-config.txt:58 #, no-wrap -msgid "'<sha1>', e.g. 'dae86e1950b1277e545cee180551750029cfe735', 'dae86e'" +msgid "merge.verbosity" msgstr "" #. type: Plain text -#: en/revisions.txt:16 +#: en/merge-config.txt:65 msgid "" -"The full SHA-1 object name (40-byte hexadecimal string), or a leading " -"substring that is unique within the repository. " -"E.g. dae86e1950b1277e545cee180551750029cfe735 and dae86e both name the same " -"commit object if there is no other object in your repository whose object " -"name starts with dae86e." +"Controls the amount of output shown by the recursive merge strategy. Level " +"0 outputs nothing except a final error message if conflicts were " +"detected. Level 1 outputs only conflicts, 2 outputs conflicts and file " +"changes. Level 5 and above outputs debugging information. The default is " +"level 2. Can be overridden by the `GIT_MERGE_VERBOSITY` environment " +"variable." msgstr "" #. type: Labeled list -#: en/revisions.txt:17 +#: en/merge-config.txt:66 #, no-wrap -msgid "'<describeOutput>', e.g. 'v1.7.4.2-679-g3bee7fb'" +msgid "merge.<driver>.name" msgstr "" #. type: Plain text -#: en/revisions.txt:21 +#: en/merge-config.txt:69 msgid "" -"Output from `git describe`; i.e. a closest tag, optionally followed by a " -"dash and a number of commits, followed by a dash, a 'g', and an abbreviated " -"object name." +"Defines a human-readable name for a custom low-level merge driver. See " +"linkgit:gitattributes[5] for details." msgstr "" #. type: Labeled list -#: en/revisions.txt:22 +#: en/merge-config.txt:70 #, no-wrap -msgid "'<refname>', e.g. 'master', 'heads/master', 'refs/heads/master'" +msgid "merge.<driver>.driver" msgstr "" #. type: Plain text -#: en/revisions.txt:29 +#: en/merge-config.txt:73 msgid "" -"A symbolic ref name. E.g. 'master' typically means the commit object " -"referenced by 'refs/heads/master'. If you happen to have both " -"'heads/master' and 'tags/master', you can explicitly say 'heads/master' to " -"tell Git which one you mean. When ambiguous, a '<refname>' is disambiguated " -"by taking the first match in the following rules:" +"Defines the command that implements a custom low-level merge driver. See " +"linkgit:gitattributes[5] for details." msgstr "" -#. type: Plain text -#: en/revisions.txt:33 -msgid "" -"If '$GIT_DIR/<refname>' exists, that is what you mean (this is usually " -"useful only for `HEAD`, `FETCH_HEAD`, `ORIG_HEAD`, `MERGE_HEAD` and " -"`CHERRY_PICK_HEAD`);" +#. type: Labeled list +#: en/merge-config.txt:74 +#, no-wrap +msgid "merge.<driver>.recursive" msgstr "" #. type: Plain text -#: en/revisions.txt:35 -msgid "otherwise, 'refs/<refname>' if it exists;" +#: en/merge-config.txt:77 +msgid "" +"Names a low-level merge driver to be used when performing an internal merge " +"between common ancestors. See linkgit:gitattributes[5] for details." msgstr "" #. type: Plain text -#: en/revisions.txt:37 -msgid "otherwise, 'refs/tags/<refname>' if it exists;" +#: en/merge-options.txt:5 +msgid "" +"Perform the merge and commit the result. This option can be used to override " +"--no-commit." msgstr "" #. type: Plain text -#: en/revisions.txt:39 -msgid "otherwise, 'refs/heads/<refname>' if it exists;" +#: en/merge-options.txt:9 +msgid "" +"With --no-commit perform the merge but pretend the merge failed and do not " +"autocommit, to give the user a chance to inspect and further tweak the merge " +"result before committing." msgstr "" #. type: Plain text -#: en/revisions.txt:41 -msgid "otherwise, 'refs/remotes/<refname>' if it exists;" +#: en/merge-options.txt:18 +msgid "" +"Invoke an editor before committing successful mechanical merge to further " +"edit the auto-generated merge message, so that the user can explain and " +"justify the merge. The `--no-edit` option can be used to accept the " +"auto-generated message (this is generally discouraged)." msgstr "" #. type: Plain text -#: en/revisions.txt:43 -msgid "otherwise, 'refs/remotes/<refname>/HEAD' if it exists." +#: en/merge-options.txt:22 +msgid "" +"The `--edit` (or `-e`) option is still useful if you are giving a draft " +"message with the `-m` option from the command line and want to edit it in " +"the editor." msgstr "" #. type: Plain text -#: en/revisions.txt:55 +#: en/merge-options.txt:29 msgid "" -"`HEAD` names the commit on which you based the changes in the working tree. " -"`FETCH_HEAD` records the branch which you fetched from a remote repository " -"with your last `git fetch` invocation. `ORIG_HEAD` is created by commands " -"that move your `HEAD` in a drastic way, to record the position of the `HEAD` " -"before their operation, so that you can easily change the tip of the branch " -"back to the state before you ran them. `MERGE_HEAD` records the commit(s) " -"which you are merging into your branch when you run `git merge`. " -"`CHERRY_PICK_HEAD` records the commit which you are cherry-picking when you " -"run `git cherry-pick`." +"Older scripts may depend on the historical behaviour of not allowing the " +"user to edit the merge log message. They will see an editor opened when they " +"run `git merge`. To make it easier to adjust such scripts to the updated " +"behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be set to `no` " +"at the beginning of them." msgstr "" #. type: Plain text -#: en/revisions.txt:60 +#: en/merge-options.txt:34 msgid "" -"Note that any of the 'refs/*' cases above may come either from the " -"'$GIT_DIR/refs' directory or from the '$GIT_DIR/packed-refs' file. While " -"the ref name encoding is unspecified, UTF-8 is preferred as some output " -"processing may assume ref names in UTF-8." -msgstr "" - -#. type: Labeled list -#: en/revisions.txt:61 -#, no-wrap -msgid "'@'" +"When the merge resolves as a fast-forward, only update the branch pointer, " +"without creating a merge commit. This is the default behavior." msgstr "" #. type: Plain text -#: en/revisions.txt:63 -msgid "'@' alone is a shortcut for `HEAD`." +#: en/merge-options.txt:39 +msgid "" +"Create a merge commit even when the merge resolves as a fast-forward. This " +"is the default behaviour when merging an annotated (and possibly signed) " +"tag." msgstr "" #. type: Labeled list -#: en/revisions.txt:64 +#: en/merge-options.txt:40 #, no-wrap -msgid "'<refname>@{<date>}', e.g. 'master@\\{yesterday\\}', 'HEAD@{5 minutes ago}'" +msgid "--ff-only" msgstr "" #. type: Plain text -#: en/revisions.txt:75 +#: en/merge-options.txt:44 msgid "" -"A ref followed by the suffix '@' with a date specification enclosed in a " -"brace pair (e.g. '\\{yesterday\\}', '{1 month 2 weeks 3 days 1 hour 1 second " -"ago}' or '{1979-02-26 18:30:00}') specifies the value of the ref at a prior " -"point in time. This suffix may only be used immediately following a ref " -"name and the ref must have an existing log ('$GIT_DIR/logs/<ref>'). Note " -"that this looks up the state of your *local* ref at a given time; e.g., what " -"was in your local 'master' branch last week. If you want to look at commits " -"made during certain times, see `--since` and `--until`." -msgstr "" - -#. type: Labeled list -#: en/revisions.txt:76 -#, no-wrap -msgid "'<refname>@{<n>}', e.g. 'master@\\{1\\}'" +"Refuse to merge and exit with a non-zero status unless the current `HEAD` is " +"already up-to-date or the merge can be resolved as a fast-forward." msgstr "" #. type: Plain text -#: en/revisions.txt:84 +#: en/merge-options.txt:50 msgid "" -"A ref followed by the suffix '@' with an ordinal specification enclosed in a " -"brace pair (e.g. '\\{1\\}', '\\{15\\}') specifies the n-th prior value of " -"that ref. For example 'master@\\{1\\}' is the immediate prior value of " -"'master' while 'master@\\{5\\}' is the 5th prior value of 'master'. This " -"suffix may only be used immediately following a ref name and the ref must " -"have an existing log ('$GIT_DIR/logs/<refname>')." -msgstr "" - -#. type: Labeled list -#: en/revisions.txt:85 -#, no-wrap -msgid "'@{<n>}', e.g. '@\\{1\\}'" +"In addition to branch names, populate the log message with one-line " +"descriptions from at most <n> actual commits that are being merged. See also " +"linkgit:git-fmt-merge-msg[1]." msgstr "" #. type: Plain text -#: en/revisions.txt:89 +#: en/merge-options.txt:53 msgid "" -"You can use the '@' construct with an empty ref part to get at a reflog " -"entry of the current branch. For example, if you are on branch 'blabla' then " -"'@\\{1\\}' means the same as 'blabla@\\{1\\}'." +"With --no-log do not list one-line descriptions from the actual commits " +"being merged." msgstr "" -#. type: Labeled list -#: en/revisions.txt:90 -#, no-wrap -msgid "'@{-<n>}', e.g. '@{-1}'" +#. type: Plain text +#: en/merge-options.txt:60 +msgid "" +"Show a diffstat at the end of the merge. The diffstat is also controlled by " +"the configuration option merge.stat." msgstr "" #. type: Plain text -#: en/revisions.txt:93 -msgid "" -"The construct '@{-<n>}' means the <n>th branch/commit checked out before the " -"current one." +#: en/merge-options.txt:63 +msgid "With -n or --no-stat do not show a diffstat at the end of the merge." msgstr "" #. type: Labeled list -#: en/revisions.txt:94 +#: en/merge-options.txt:64 #, no-wrap -msgid "'<branchname>@\\{upstream\\}', e.g. 'master@\\{upstream\\}', '@\\{u\\}'" -msgstr "" - -#. type: Plain text -#: en/revisions.txt:100 -msgid "" -"The suffix '@\\{upstream\\}' to a branchname (short form " -"'<branchname>@\\{u\\}') refers to the branch that the branch specified by " -"branchname is set to build on top of (configured with `branch.<name>.remote` " -"and `branch.<name>.merge`). A missing branchname defaults to the current " -"one." +msgid "--squash" msgstr "" #. type: Labeled list -#: en/revisions.txt:101 +#: en/merge-options.txt:65 #, no-wrap -msgid "'<branchname>@\\{push\\}', e.g. 'master@\\{push\\}', '@\\{push\\}'" +msgid "--no-squash" msgstr "" #. type: Plain text -#: en/revisions.txt:107 +#: en/merge-options.txt:73 msgid "" -"The suffix '@\\{push}' reports the branch \"where we would push to\" if `git " -"push` were run while `branchname` was checked out (or the current `HEAD` if " -"no branchname is specified). Since our push destination is in a remote " -"repository, of course, we report the local tracking branch that corresponds " -"to that branch (i.e., something in 'refs/remotes/')." +"Produce the working tree and index state as if a real merge happened (except " +"for the merge information), but do not actually make a commit, move the " +"`HEAD`, or record `$GIT_DIR/MERGE_HEAD` (to cause the next `git commit` " +"command to create a merge commit). This allows you to create a single " +"commit on top of the current branch whose effect is the same as merging " +"another branch (or more in case of an octopus)." msgstr "" #. type: Plain text -#: en/revisions.txt:109 -msgid "Here's an example to make it more clear:" -msgstr "" - -#. type: delimited block - -#: en/revisions.txt:114 -#, no-wrap +#: en/merge-options.txt:76 msgid "" -"$ git config push.default current\n" -"$ git config remote.pushdefault myfork\n" -"$ git checkout -b mybranch origin/master\n" +"With --no-squash perform the merge and commit the result. This option can be " +"used to override --squash." msgstr "" -#. type: delimited block - -#: en/revisions.txt:117 -#, no-wrap +#. type: Plain text +#: en/merge-options.txt:84 msgid "" -"$ git rev-parse --symbolic-full-name @{upstream}\n" -"refs/remotes/origin/master\n" +"Use the given merge strategy; can be supplied more than once to specify them " +"in the order they should be tried. If there is no `-s` option, a built-in " +"list of strategies is used instead ('git merge-recursive' when merging a " +"single head, 'git merge-octopus' otherwise)." msgstr "" -#. type: delimited block - -#: en/revisions.txt:120 +#. type: Labeled list +#: en/merge-options.txt:85 #, no-wrap -msgid "" -"$ git rev-parse --symbolic-full-name @{push}\n" -"refs/remotes/myfork/mybranch\n" +msgid "-X <option>" msgstr "" #. type: Plain text -#: en/revisions.txt:125 -msgid "" -"Note in the example that we set up a triangular workflow, where we pull from " -"one location and push to another. In a non-triangular workflow, '@\\{push}' " -"is the same as '@\\{upstream}', and there is no need for it." +#: en/merge-options.txt:89 +msgid "Pass merge strategy specific option through to the merge strategy." msgstr "" #. type: Labeled list -#: en/revisions.txt:126 +#: en/merge-options.txt:90 #, no-wrap -msgid "'<rev>{caret}', e.g. 'HEAD{caret}, v1.5.1{caret}0'" -msgstr "" - -#. type: Plain text -#: en/revisions.txt:133 -msgid "" -"A suffix '{caret}' to a revision parameter means the first parent of that " -"commit object. '{caret}<n>' means the <n>th parent (i.e. '<rev>{caret}' is " -"equivalent to '<rev>{caret}1'). As a special rule, '<rev>{caret}0' means " -"the commit itself and is used when '<rev>' is the object name of a tag " -"object that refers to a commit object." +msgid "--verify-signatures" msgstr "" #. type: Labeled list -#: en/revisions.txt:134 +#: en/merge-options.txt:91 #, no-wrap -msgid "'<rev>{tilde}<n>', e.g. 'master{tilde}3'" +msgid "--no-verify-signatures" msgstr "" #. type: Plain text -#: en/revisions.txt:141 +#: en/merge-options.txt:97 msgid "" -"A suffix '{tilde}<n>' to a revision parameter means the commit object that " -"is the <n>th generation ancestor of the named commit object, following only " -"the first parents. I.e. '<rev>{tilde}3' is equivalent to " -"'<rev>{caret}{caret}{caret}' which is equivalent to " -"'<rev>{caret}1{caret}1{caret}1'. See below for an illustration of the usage " -"of this form." +"Verify that the tip commit of the side branch being merged is signed with a " +"valid key, i.e. a key that has a valid uid: in the default trust model, this " +"means the signing key has been signed by a trusted key. If the tip commit " +"of the side branch is not signed with a valid key, the merge is aborted." msgstr "" #. type: Labeled list -#: en/revisions.txt:142 +#: en/merge-options.txt:99 #, no-wrap -msgid "'<rev>{caret}{<type>}', e.g. 'v0.99.8{caret}\\{commit\\}'" -msgstr "" - -#. type: Plain text -#: en/revisions.txt:153 -msgid "" -"A suffix '{caret}' followed by an object type name enclosed in brace pair " -"means dereference the object at '<rev>' recursively until an object of type " -"'<type>' is found or the object cannot be dereferenced anymore (in which " -"case, barf). For example, if '<rev>' is a commit-ish, " -"'<rev>{caret}\\{commit\\}' describes the corresponding commit object. " -"Similarly, if '<rev>' is a tree-ish, '<rev>{caret}\\{tree\\}' describes the " -"corresponding tree object. '<rev>{caret}0' is a short-hand for " -"'<rev>{caret}\\{commit\\}'." +msgid "--no-summary" msgstr "" #. type: Plain text -#: en/revisions.txt:158 +#: en/merge-options.txt:102 msgid "" -"'rev{caret}\\{object\\}' can be used to make sure 'rev' names an object that " -"exists, without requiring 'rev' to be a tag, and without dereferencing " -"'rev'; because a tag is already an object, it does not have to be " -"dereferenced even once to get to an object." +"Synonyms to --stat and --no-stat; these are deprecated and will be removed " +"in the future." msgstr "" #. type: Plain text -#: en/revisions.txt:161 -msgid "" -"'rev{caret}\\{tag\\}' can be used to ensure that 'rev' identifies an " -"existing tag object." -msgstr "" - -#. type: Labeled list -#: en/revisions.txt:162 -#, no-wrap -msgid "'<rev>{caret}{}', e.g. 'v0.99.8{caret}{}'" +#: en/merge-options.txt:107 +msgid "Operate quietly. Implies --no-progress." msgstr "" #. type: Plain text -#: en/revisions.txt:167 +#: en/merge-options.txt:118 msgid "" -"A suffix '{caret}' followed by an empty brace pair means the object could be " -"a tag, and dereference the tag recursively until a non-tag object is found." +"Turn progress on/off explicitly. If neither is specified, progress is shown " +"if standard error is connected to a terminal. Note that not all merge " +"strategies may support progress reporting." msgstr "" #. type: Labeled list -#: en/revisions.txt:168 +#: en/merge-options.txt:121 #, no-wrap -msgid "'<rev>{caret}{/<text>}', e.g. 'HEAD^{/fix nasty bug}'" +msgid "--allow-unrelated-histories" msgstr "" #. type: Plain text -#: en/revisions.txt:174 +#: en/merge-options.txt:127 msgid "" -"A suffix '{caret}' to a revision parameter, followed by a brace pair that " -"contains a text led by a slash, is the same as the ':/fix nasty bug' syntax " -"below except that it returns the youngest matching commit which is reachable " -"from the '<rev>' before '{caret}'." +"By default, `git merge` command refuses to merge histories that do not share " +"a common ancestor. This option can be used to override this safety when " +"merging histories of two projects that started their lives independently. As " +"that is a very rare occasion, no configuration variable to enable this by " +"default exists and will not be added." msgstr "" -#. type: Labeled list -#: en/revisions.txt:175 +#. type: Title - +#: en/merge-strategies.txt:2 #, no-wrap -msgid "':/<text>', e.g. ':/fix nasty bug'" +msgid "MERGE STRATEGIES" msgstr "" #. type: Plain text -#: en/revisions.txt:185 +#: en/merge-strategies.txt:8 msgid "" -"A colon, followed by a slash, followed by a text, names a commit whose " -"commit message matches the specified regular expression. This name returns " -"the youngest matching commit which is reachable from any ref. The regular " -"expression can match any part of the commit message. To match messages " -"starting with a string, one can use e.g. ':/^foo'. The special sequence " -"':/!' is reserved for modifiers to what is matched. ':/!-foo' performs a " -"negative match, while ':/!!foo' matches a literal '!' character, followed by " -"'foo'. Any other sequence beginning with ':/!' is reserved for now." +"The merge mechanism (`git merge` and `git pull` commands) allows the backend " +"'merge strategies' to be chosen with `-s` option. Some strategies can also " +"take their own options, which can be passed by giving `-X<option>` arguments " +"to `git merge` and/or `git pull`." msgstr "" #. type: Labeled list -#: en/revisions.txt:186 +#: en/merge-strategies.txt:9 #, no-wrap -msgid "'<rev>:<path>', e.g. 'HEAD:README', ':README', 'master:./README'" +msgid "resolve" msgstr "" #. type: Plain text -#: en/revisions.txt:197 +#: en/merge-strategies.txt:15 msgid "" -"A suffix ':' followed by a path names the blob or tree at the given path in " -"the tree-ish object named by the part before the colon. ':path' (with an " -"empty part before the colon) is a special case of the syntax described " -"next: content recorded in the index at the given path. A path starting with " -"'./' or '../' is relative to the current working directory. The given path " -"will be converted to be relative to the working tree's root directory. This " -"is most useful to address a blob or tree from a commit or tree that has the " -"same tree structure as the working tree." +"This can only resolve two heads (i.e. the current branch and another branch " +"you pulled from) using a 3-way merge algorithm. It tries to carefully " +"detect criss-cross merge ambiguities and is considered generally safe and " +"fast." msgstr "" #. type: Labeled list -#: en/revisions.txt:198 +#: en/merge-strategies.txt:16 #, no-wrap -msgid "':<n>:<path>', e.g. ':0:README', ':README'" +msgid "recursive" msgstr "" #. type: Plain text -#: en/revisions.txt:206 +#: en/merge-strategies.txt:28 msgid "" -"A colon, optionally followed by a stage number (0 to 3) and a colon, " -"followed by a path, names a blob object in the index at the given path. A " -"missing stage number (and the colon that follows it) names a stage 0 " -"entry. During a merge, stage 1 is the common ancestor, stage 2 is the target " -"branch's version (typically the current branch), and stage 3 is the version " -"from the branch which is being merged." +"This can only resolve two heads using a 3-way merge algorithm. When there " +"is more than one common ancestor that can be used for 3-way merge, it " +"creates a merged tree of the common ancestors and uses that as the reference " +"tree for the 3-way merge. This has been reported to result in fewer merge " +"conflicts without causing mismerges by tests done on actual merge commits " +"taken from Linux 2.6 kernel development history. Additionally this can " +"detect and handle merges involving renames. This is the default merge " +"strategy when pulling or merging one branch." msgstr "" #. type: Plain text -#: en/revisions.txt:210 -msgid "" -"Here is an illustration, by Jon Loeliger. Both commit nodes B and C are " -"parents of commit node A. Parent commits are ordered left-to-right." +#: en/merge-strategies.txt:30 +msgid "The 'recursive' strategy can take the following options:" msgstr "" -#. type: delimited block . -#: en/revisions.txt:222 +#. type: Labeled list +#: en/merge-strategies.txt:31 en/merge-strategies.txt:110 #, no-wrap -msgid "" -"G H I J\n" -" \\ / \\ /\n" -" D E F\n" -" \\ | / \\\n" -" \\ | / |\n" -" \\|/ |\n" -" B C\n" -" \\ /\n" -" \\ /\n" -" A\n" +msgid "ours" msgstr "" #. type: Plain text -#: en/revisions.txt:234 -#, no-wrap +#: en/merge-strategies.txt:36 msgid "" -" A = = A^0\n" -" B = A^ = A^1 = A~1\n" -" C = A^2 = A^2\n" -" D = A^^ = A^1^1 = A~2\n" -" E = B^2 = A^^2\n" -" F = B^3 = A^^3\n" -" G = A^^^ = A^1^1^1 = A~3\n" -" H = D^2 = B^^2 = A^^^2 = A~2^2\n" -" I = F^ = B^3^ = A^^3^\n" -" J = F^2 = B^3^2 = A^^3^2\n" +"This option forces conflicting hunks to be auto-resolved cleanly by favoring " +"'our' version. Changes from the other tree that do not conflict with our " +"side are reflected to the merge result. For a binary file, the entire " +"contents are taken from our side." msgstr "" #. type: Plain text -#: en/revisions.txt:241 +#: en/merge-strategies.txt:40 msgid "" -"History traversing commands such as `git log` operate on a set of commits, " -"not just a single commit." +"This should not be confused with the 'ours' merge strategy, which does not " +"even look at what the other tree contains at all. It discards everything " +"the other tree did, declaring 'our' history contains all that happened in " +"it." msgstr "" -#. type: Plain text -#: en/revisions.txt:246 -msgid "" -"For these commands, specifying a single revision, using the notation " -"described in the previous section, means the set of commits `reachable` from " -"the given commit." +#. type: Labeled list +#: en/merge-strategies.txt:41 +#, no-wrap +msgid "theirs" msgstr "" #. type: Plain text -#: en/revisions.txt:249 -msgid "" -"A commit's reachable set is the commit itself and the commits in its " -"ancestry chain." -msgstr "" - -#. type: Title ~ -#: en/revisions.txt:252 -#, no-wrap -msgid "Commit Exclusions" +#: en/merge-strategies.txt:43 +msgid "This is the opposite of 'ours'." msgstr "" #. type: Labeled list -#: en/revisions.txt:254 +#: en/merge-strategies.txt:44 #, no-wrap -msgid "'{caret}<rev>' (caret) Notation" +msgid "patience" msgstr "" #. type: Plain text -#: en/revisions.txt:259 +#: en/merge-strategies.txt:50 msgid "" -"To exclude commits reachable from a commit, a prefix '{caret}' notation is " -"used. E.g. '{caret}r1 r2' means commits reachable from 'r2' but exclude the " -"ones reachable from 'r1' (i.e. 'r1' and its ancestors)." -msgstr "" - -#. type: Title ~ -#: en/revisions.txt:261 -#, no-wrap -msgid "Dotted Range Notations" +"With this option, 'merge-recursive' spends a little extra time to avoid " +"mismerges that sometimes occur due to unimportant matching lines (e.g., " +"braces from distinct functions). Use this when the branches to be merged " +"have diverged wildly. See also linkgit:git-diff[1] `--patience`." msgstr "" #. type: Labeled list -#: en/revisions.txt:263 +#: en/merge-strategies.txt:51 #, no-wrap -msgid "The '..' (two-dot) Range Notation" +msgid "diff-algorithm=[patience|minimal|histogram|myers]" msgstr "" #. type: Plain text -#: en/revisions.txt:269 +#: en/merge-strategies.txt:56 msgid "" -"The '{caret}r1 r2' set operation appears so often that there is a shorthand " -"for it. When you have two commits 'r1' and 'r2' (named according to the " -"syntax explained in SPECIFYING REVISIONS above), you can ask for commits " -"that are reachable from r2 excluding those that are reachable from r1 by " -"'{caret}r1 r2' and it can be written as 'r1..r2'." +"Tells 'merge-recursive' to use a different diff algorithm, which can help " +"avoid mismerges that occur due to unimportant matching lines (such as braces " +"from distinct functions). See also linkgit:git-diff[1] `--diff-algorithm`." msgstr "" #. type: Labeled list -#: en/revisions.txt:270 +#: en/merge-strategies.txt:57 #, no-wrap -msgid "The '...' (three dot) Symmetric Difference Notation" -msgstr "" - -#. type: Plain text -#: en/revisions.txt:276 -msgid "" -"A similar notation 'r1\\...r2' is called symmetric difference of 'r1' and " -"'r2' and is defined as 'r1 r2 --not $(git merge-base --all r1 r2)'. It is " -"the set of commits that are reachable from either one of 'r1' (left side) or " -"'r2' (right side) but not from both." +msgid "ignore-space-change" msgstr "" -#. type: Plain text -#: en/revisions.txt:283 -msgid "" -"In these two shorthand notations, you can omit one end and let it default to " -"HEAD. For example, 'origin..' is a shorthand for 'origin..HEAD' and asks " -"\"What did I do since I forked from the origin branch?\" Similarly, " -"'..origin' is a shorthand for 'HEAD..origin' and asks \"What did the origin " -"do since I forked from them?\" Note that '..' would mean 'HEAD..HEAD' which " -"is an empty range that is both reachable and unreachable from HEAD." +#. type: Labeled list +#: en/merge-strategies.txt:58 +#, no-wrap +msgid "ignore-all-space" msgstr "" -#. type: Title ~ -#: en/revisions.txt:285 +#. type: Labeled list +#: en/merge-strategies.txt:59 #, no-wrap -msgid "Other <rev>{caret} Parent Shorthand Notations" +msgid "ignore-space-at-eol" msgstr "" #. type: Plain text -#: en/revisions.txt:288 +#: en/merge-strategies.txt:65 msgid "" -"Three other shorthands exist, particularly useful for merge commits, for " -"naming a set that is formed by a commit and its parent commits." -msgstr "" - -#. type: Plain text -#: en/revisions.txt:290 -msgid "The 'r1{caret}@' notation means all parents of 'r1'." +"Treats lines with the indicated type of whitespace change as unchanged for " +"the sake of a three-way merge. Whitespace changes mixed with other changes " +"to a line are not ignored. See also linkgit:git-diff[1] `-b`, `-w`, and " +"`--ignore-space-at-eol`." msgstr "" #. type: Plain text -#: en/revisions.txt:293 +#: en/merge-strategies.txt:68 msgid "" -"The 'r1{caret}!' notation includes commit 'r1' but excludes all of its " -"parents. By itself, this notation denotes the single commit 'r1'." +"If 'their' version only introduces whitespace changes to a line, 'our' " +"version is used;" msgstr "" #. type: Plain text -#: en/revisions.txt:300 +#: en/merge-strategies.txt:70 msgid "" -"The '<rev>{caret}-{<n>}' notation includes '<rev>' but excludes the <n>th " -"parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if " -"not given. This is typically useful for merge commits where you can just " -"pass '<commit>{caret}-' to get all the commits in the branch that was merged " -"in merge commit '<commit>' (including '<commit>' itself)." +"If 'our' version introduces whitespace changes but 'their' version includes " +"a substantial change, 'their' version is used;" msgstr "" #. type: Plain text -#: en/revisions.txt:304 -msgid "" -"While '<rev>{caret}<n>' was about specifying a single commit parent, these " -"three notations also consider its parents. For example you can say " -"'HEAD{caret}2{caret}@', however you cannot say 'HEAD{caret}@{caret}2'." -msgstr "" - -#. type: Title - -#: en/revisions.txt:306 -#, no-wrap -msgid "Revision Range Summary" +#: en/merge-strategies.txt:71 +msgid "Otherwise, the merge proceeds in the usual way." msgstr "" #. type: Labeled list -#: en/revisions.txt:308 +#: en/merge-strategies.txt:72 #, no-wrap -msgid "'<rev>'" +msgid "renormalize" msgstr "" #. type: Plain text -#: en/revisions.txt:311 +#: en/merge-strategies.txt:79 msgid "" -"Include commits that are reachable from <rev> (i.e. <rev> and its " -"ancestors)." +"This runs a virtual check-out and check-in of all three stages of a file " +"when resolving a three-way merge. This option is meant to be used when " +"merging branches with different clean filters or end-of-line normalization " +"rules. See \"Merging branches with differing checkin/checkout attributes\" " +"in linkgit:gitattributes[5] for details." msgstr "" #. type: Labeled list -#: en/revisions.txt:312 +#: en/merge-strategies.txt:80 #, no-wrap -msgid "'{caret}<rev>'" +msgid "no-renormalize" msgstr "" #. type: Plain text -#: en/revisions.txt:315 +#: en/merge-strategies.txt:83 msgid "" -"Exclude commits that are reachable from <rev> (i.e. <rev> and its " -"ancestors)." +"Disables the `renormalize` option. This overrides the `merge.renormalize` " +"configuration variable." msgstr "" #. type: Labeled list -#: en/revisions.txt:316 +#: en/merge-strategies.txt:84 #, no-wrap -msgid "'<rev1>..<rev2>'" +msgid "no-renames" msgstr "" #. type: Plain text -#: en/revisions.txt:320 -msgid "" -"Include commits that are reachable from <rev2> but exclude those that are " -"reachable from <rev1>. When either <rev1> or <rev2> is omitted, it defaults " -"to `HEAD`." +#: en/merge-strategies.txt:87 +msgid "Turn off rename detection. See also linkgit:git-diff[1] `--no-renames`." msgstr "" #. type: Labeled list -#: en/revisions.txt:321 +#: en/merge-strategies.txt:88 #, no-wrap -msgid "'<rev1>\\...<rev2>'" +msgid "find-renames[=<n>]" msgstr "" #. type: Plain text -#: en/revisions.txt:325 +#: en/merge-strategies.txt:92 msgid "" -"Include commits that are reachable from either <rev1> or <rev2> but exclude " -"those that are reachable from both. When either <rev1> or <rev2> is " -"omitted, it defaults to `HEAD`." +"Turn on rename detection, optionally setting the similarity threshold. This " +"is the default. See also linkgit:git-diff[1] `--find-renames`." msgstr "" #. type: Labeled list -#: en/revisions.txt:326 +#: en/merge-strategies.txt:93 #, no-wrap -msgid "'<rev>{caret}@', e.g. 'HEAD{caret}@'" +msgid "rename-threshold=<n>" msgstr "" #. type: Plain text -#: en/revisions.txt:330 -msgid "" -"A suffix '{caret}' followed by an at sign is the same as listing all parents " -"of '<rev>' (meaning, include anything reachable from its parents, but not " -"the commit itself)." +#: en/merge-strategies.txt:95 +msgid "Deprecated synonym for `find-renames=<n>`." msgstr "" #. type: Labeled list -#: en/revisions.txt:331 +#: en/merge-strategies.txt:96 #, no-wrap -msgid "'<rev>{caret}!', e.g. 'HEAD{caret}!'" +msgid "subtree[=<path>]" msgstr "" #. type: Plain text -#: en/revisions.txt:335 +#: en/merge-strategies.txt:102 msgid "" -"A suffix '{caret}' followed by an exclamation mark is the same as giving " -"commit '<rev>' and then all its parents prefixed with '{caret}' to exclude " -"them (and their ancestors)." +"This option is a more advanced form of 'subtree' strategy, where the " +"strategy makes a guess on how two trees must be shifted to match with each " +"other when merging. Instead, the specified path is prefixed (or stripped " +"from the beginning) to make the shape of two trees to match." msgstr "" #. type: Labeled list -#: en/revisions.txt:336 +#: en/merge-strategies.txt:103 #, no-wrap -msgid "'<rev>{caret}-{<n>}', e.g. 'HEAD{caret}-, HEAD{caret}-2'" -msgstr "" - -#. type: Plain text -#: en/revisions.txt:339 -msgid "Equivalent to '<rev>{caret}<n>..<rev>', with '<n>' = 1 if not given." +msgid "octopus" msgstr "" #. type: Plain text -#: en/revisions.txt:343 +#: en/merge-strategies.txt:109 msgid "" -"Here are a handful of examples using the Loeliger illustration above, with " -"each step in the notation's expansion and selection carefully spelt out:" +"This resolves cases with more than two heads, but refuses to do a complex " +"merge that needs manual resolution. It is primarily meant to be used for " +"bundling topic branch heads together. This is the default merge strategy " +"when pulling or merging more than one branch." msgstr "" #. type: Plain text -#: en/revisions.txt:365 -#, no-wrap +#: en/merge-strategies.txt:117 msgid "" -" Args Expanded arguments Selected commits\n" -" D G H D\n" -" D F G H I J D F\n" -" ^G D H D\n" -" ^D B E I J F B\n" -" ^D B C E I J F B C\n" -" C I J F C\n" -" B..C = ^B C C\n" -" B...C = B ^F C G H D E B C\n" -" B^- = B^..B\n" -"\t = ^B^1 B E I J F B\n" -" C^@ = C^1\n" -"\t = F I J F\n" -" B^@ = B^1 B^2 B^3\n" -"\t = D E F D G H E F I J\n" -" C^! = C ^C^@\n" -"\t = C ^C^1\n" -"\t = C ^F C\n" -" B^! = B ^B^@\n" -"\t = B ^B^1 ^B^2 ^B^3\n" -"\t = B ^D ^E ^F B\n" -" F^! D = F ^I ^J D G H D F\n" +"This resolves any number of heads, but the resulting tree of the merge is " +"always that of the current branch head, effectively ignoring all changes " +"from all other branches. It is meant to be used to supersede old " +"development history of side branches. Note that this is different from the " +"-Xours option to the 'recursive' merge strategy." msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:2 +#. type: Labeled list +#: en/merge-strategies.txt:118 #, no-wrap -msgid "Commit Limiting" +msgid "subtree" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:7 +#: en/merge-strategies.txt:124 msgid "" -"Besides specifying a range of commits that should be listed using the " -"special notations explained in the description, additional commit limiting " -"may be applied." +"This is a modified recursive strategy. When merging trees A and B, if B " +"corresponds to a subtree of A, B is first adjusted to match the tree " +"structure of A, instead of reading the trees at the same level. This " +"adjustment is also done to the common ancestor tree." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:12 +#: en/merge-strategies.txt:131 msgid "" -"Using more options generally further limits the output (e.g. " -"`--since=<date1>` limits to commits newer than `<date1>`, and using it with " -"`--grep=<pattern>` further limits to commits whose log message has a line " -"that matches `<pattern>`), unless otherwise noted." +"With the strategies that use 3-way merge (including the default, " +"'recursive'), if a change is made on both branches, but later reverted on " +"one of the branches, that change will be present in the merged result; some " +"people find this behavior confusing. It occurs because only the heads and " +"the merge base are considered when performing a merge, not the individual " +"commits. The merge algorithm therefore considers the reverted change as no " +"change at all, and substitutes the changed version instead." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:15 -msgid "" -"Note that these are applied before commit ordering and formatting options, " -"such as `--reverse`." -msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:18 -#, no-wrap -msgid "-<number>" -msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:19 -#, no-wrap -msgid "-n <number>" +#: en/mergetools-merge.txt:2 +msgid "araxis" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:20 -#, no-wrap -msgid "--max-count=<number>" +#. type: Plain text +#: en/mergetools-merge.txt:3 +msgid "bc" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:22 -msgid "Limit the number of commits to output." +#: en/mergetools-merge.txt:4 +msgid "bc3" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:23 -#, no-wrap -msgid "--skip=<number>" +#. type: Plain text +#: en/mergetools-merge.txt:5 +msgid "codecompare" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:25 -msgid "Skip 'number' commits before starting to show the commit output." +#: en/mergetools-merge.txt:6 +msgid "deltawalker" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:26 -#, no-wrap -msgid "--since=<date>" +#. type: Plain text +#: en/mergetools-merge.txt:7 +msgid "diffmerge" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:27 -#, no-wrap -msgid "--after=<date>" +#. type: Plain text +#: en/mergetools-merge.txt:8 +msgid "diffuse" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:29 -msgid "Show commits more recent than a specific date." +#: en/mergetools-merge.txt:9 +msgid "ecmerge" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:30 -#, no-wrap -msgid "--until=<date>" +#. type: Plain text +#: en/mergetools-merge.txt:10 +msgid "emerge" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:31 -#, no-wrap -msgid "--before=<date>" +#. type: Plain text +#: en/mergetools-merge.txt:11 +msgid "examdiff" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:33 -msgid "Show commits older than a specific date." +#: en/mergetools-merge.txt:12 +msgid "guiffy" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:35 -#, no-wrap -msgid "--max-age=<timestamp>" +#. type: Plain text +#: en/mergetools-merge.txt:13 +msgid "gvimdiff" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:36 -#, no-wrap -msgid "--min-age=<timestamp>" +#. type: Plain text +#: en/mergetools-merge.txt:14 +msgid "gvimdiff2" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:38 -msgid "Limit the commits output to specified time range." +#: en/mergetools-merge.txt:15 +msgid "gvimdiff3" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:40 -#, no-wrap -msgid "--author=<pattern>" +#. type: Plain text +#: en/mergetools-merge.txt:16 +msgid "kdiff3" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:41 -#, no-wrap -msgid "--committer=<pattern>" +#. type: Plain text +#: en/mergetools-merge.txt:17 +msgid "meld" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:47 -msgid "" -"Limit the commits output to ones with author/committer header lines that " -"match the specified pattern (regular expression). With more than one " -"`--author=<pattern>`, commits whose author matches any of the given patterns " -"are chosen (similarly for multiple `--committer=<pattern>`)." +#: en/mergetools-merge.txt:18 +msgid "opendiff" msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:48 -#, no-wrap -msgid "--grep-reflog=<pattern>" + +#. type: Plain text +#: en/mergetools-merge.txt:19 +msgid "p4merge" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:54 -msgid "" -"Limit the commits output to ones with reflog entries that match the " -"specified pattern (regular expression). With more than one `--grep-reflog`, " -"commits whose reflog message matches any of the given patterns are chosen. " -"It is an error to use this option unless `--walk-reflogs` is in use." +#: en/mergetools-merge.txt:20 +msgid "tkdiff" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:55 -#, no-wrap -msgid "--grep=<pattern>" +#. type: Plain text +#: en/mergetools-merge.txt:21 +msgid "tortoisemerge" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:61 -msgid "" -"Limit the commits output to ones with log message that matches the specified " -"pattern (regular expression). With more than one `--grep=<pattern>`, " -"commits whose message matches any of the given patterns are chosen (but see " -"`--all-match`)." +#: en/mergetools-merge.txt:22 +msgid "vimdiff" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:65 -msgid "" -"When `--show-notes` is in effect, the message from the notes is matched as " -"if it were part of the log message." +#: en/mergetools-merge.txt:23 +msgid "vimdiff2" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:70 -msgid "" -"Limit the commits output to ones that match all given `--grep`, instead of " -"ones that match at least one." +#: en/mergetools-merge.txt:24 +msgid "vimdiff3" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:71 -#, no-wrap -msgid "--invert-grep" +#. type: Plain text +#: en/mergetools-merge.txt:25 +msgid "winmerge" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:74 -msgid "" -"Limit the commits output to ones with log message that do not match the " -"pattern specified with `--grep=<pattern>`." +#: en/mergetools-merge.txt:25 +msgid "xxdiff" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:76 +#. type: Title - +#: en/pretty-formats.txt:2 #, no-wrap -msgid "--regexp-ignore-case" +msgid "PRETTY FORMATS" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:79 +#: en/pretty-formats.txt:13 msgid "" -"Match the regular expression limiting patterns without regard to letter " -"case." +"If the commit is a merge, and if the pretty-format is not 'oneline', 'email' " +"or 'raw', an additional line is inserted before the 'Author:' line. This " +"line begins with \"Merge: \" and the sha1s of ancestral commits are printed, " +"separated by spaces. Note that the listed commits may not necessarily be " +"the list of the *direct* parent commits if you have limited your view of " +"history: for example, if you are only interested in changes related to a " +"certain directory or file." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:83 +#: en/pretty-formats.txt:20 msgid "" -"Consider the limiting patterns to be basic regular expressions; this is the " -"default." +"There are several built-in formats, and you can define additional formats by " +"setting a pretty.<name> config option to either another format name, or a " +"'format:' string, as described below (see linkgit:git-config[1]). Here are " +"the details of the built-in formats:" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:88 -msgid "" -"Consider the limiting patterns to be extended regular expressions instead of " -"the default basic regular expressions." +#: en/pretty-formats.txt:22 +msgid "'oneline'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:93 -msgid "" -"Consider the limiting patterns to be fixed strings (don't interpret pattern " -"as a regular expression)." +#: en/pretty-formats.txt:24 +#, no-wrap +msgid "<sha1> <title line>\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:97 -msgid "" -"Consider the limiting patterns to be Perl-compatible regular expressions. " -"Requires libpcre to be compiled in." -msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:98 -#, no-wrap -msgid "--remove-empty" +#: en/pretty-formats.txt:26 +msgid "This is designed to be as compact as possible." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:100 -msgid "Stop when a given path disappears from the tree." +#: en/pretty-formats.txt:28 +msgid "'short'" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:101 +#. type: Plain text +#: en/pretty-formats.txt:31 #, no-wrap -msgid "--merges" +msgid "" +"commit <sha1>\n" +"Author: <author>\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:103 -msgid "Print only merge commits. This is exactly the same as `--min-parents=2`." +#: en/pretty-formats.txt:33 en/pretty-formats.txt:41 en/pretty-formats.txt:51 en/pretty-formats.txt:63 +#, no-wrap +msgid "<title line>\n" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:104 -#, no-wrap -msgid "--no-merges" +#. type: Plain text +#: en/pretty-formats.txt:35 +msgid "'medium'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:107 +#: en/pretty-formats.txt:39 +#, no-wrap msgid "" -"Do not print commits with more than one parent. This is exactly the same as " -"`--max-parents=1`." +"commit <sha1>\n" +"Author: <author>\n" +"Date: <author date>\n" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:108 -#, no-wrap -msgid "--min-parents=<number>" +#. type: Plain text +#: en/pretty-formats.txt:43 en/pretty-formats.txt:53 en/pretty-formats.txt:65 en/pretty-formats.txt:74 +msgid "<full commit message>" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:109 -#, no-wrap -msgid "--max-parents=<number>" +#. type: Plain text +#: en/pretty-formats.txt:45 +msgid "'full'" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:110 +#. type: Plain text +#: en/pretty-formats.txt:49 #, no-wrap -msgid "--no-min-parents" +msgid "" +"commit <sha1>\n" +"Author: <author>\n" +"Commit: <committer>\n" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:111 -#, no-wrap -msgid "--no-max-parents" +#. type: Plain text +#: en/pretty-formats.txt:55 +msgid "'fuller'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:116 +#: en/pretty-formats.txt:61 +#, no-wrap msgid "" -"Show only commits which have at least (or at most) that many parent " -"commits. In particular, `--max-parents=1` is the same as `--no-merges`, " -"`--min-parents=2` is the same as `--merges`. `--max-parents=0` gives all " -"root commits and `--min-parents=3` all octopus merges." +"commit <sha1>\n" +"Author: <author>\n" +"AuthorDate: <author date>\n" +"Commit: <committer>\n" +"CommitDate: <committer date>\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:120 -msgid "" -"`--no-min-parents` and `--no-max-parents` reset these limits (to no limit) " -"again. Equivalent forms are `--min-parents=0` (any commit has 0 or more " -"parents) and `--max-parents=-1` (negative numbers denote no upper limit)." +#: en/pretty-formats.txt:67 +msgid "'email'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:130 +#: en/pretty-formats.txt:72 +#, no-wrap msgid "" -"Follow only the first parent commit upon seeing a merge commit. This option " -"can give a better overview when viewing the evolution of a particular topic " -"branch, because merges into a topic branch tend to be only about adjusting " -"to updated upstream from time to time, and this option allows you to ignore " -"the individual commits brought in to your history by such a merge. Cannot be " -"combined with --bisect." +"From <sha1> <date>\n" +"From: <author>\n" +"Date: <author date>\n" +"Subject: [PATCH] <title line>\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:134 -msgid "" -"Reverses the meaning of the '{caret}' prefix (or lack thereof) for all " -"following revision specifiers, up to the next `--not`." +#: en/pretty-formats.txt:76 +msgid "'raw'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:138 +#: en/pretty-formats.txt:86 msgid "" -"Pretend as if all the refs in `refs/`, along with `HEAD`, are listed on the " -"command line as '<commit>'." +"The 'raw' format shows the entire commit exactly as stored in the commit " +"object. Notably, the SHA-1s are displayed in full, regardless of whether " +"--abbrev or --no-abbrev are used, and 'parents' information show the true " +"parent commits, without taking grafts or history simplification into " +"account. Note that this format affects the way commits are displayed, but " +"not the way the diff is shown e.g. with `git log --raw`. To get full object " +"names in a raw diff format, use `--no-abbrev`." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:139 -#, no-wrap -msgid "--branches[=<pattern>]" +#. type: Plain text +#: en/pretty-formats.txt:88 +msgid "'format:<string>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:144 +#: en/pretty-formats.txt:93 msgid "" -"Pretend as if all the refs in `refs/heads` are listed on the command line as " -"'<commit>'. If '<pattern>' is given, limit branches to ones matching given " -"shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the " -"end is implied." -msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:145 -#, no-wrap -msgid "--tags[=<pattern>]" +"The 'format:<string>' format allows you to specify which information you " +"want to show. It works a little bit like printf format, with the notable " +"exception that you get a newline with '%n' instead of '\\n'." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:150 +#: en/pretty-formats.txt:96 msgid "" -"Pretend as if all the refs in `refs/tags` are listed on the command line as " -"'<commit>'. If '<pattern>' is given, limit tags to ones matching given shell " -"glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end " -"is implied." +"E.g, 'format:\"The author of %h was %an, %ar%nThe title was >>%s<<%n\"' " +"would show something like this:" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:151 +#. type: delimited block - +#: en/pretty-formats.txt:100 #, no-wrap -msgid "--remotes[=<pattern>]" +msgid "" +"The author of fe6e0ee was Junio C Hamano, 23 hours ago\n" +"The title was >>t4119: test autocomputing -p<n> for traditional diff " +"input.<<\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:156 -msgid "" -"Pretend as if all the refs in `refs/remotes` are listed on the command line " -"as '<commit>'. If '<pattern>' is given, limit remote-tracking branches to " -"ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', " -"'/{asterisk}' at the end is implied." +#: en/pretty-formats.txt:104 +msgid "The placeholders are:" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:157 -#, no-wrap -msgid "--glob=<glob-pattern>" +#. type: Plain text +#: en/pretty-formats.txt:106 +msgid "'%H': commit hash" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:162 -msgid "" -"Pretend as if all the refs matching shell glob '<glob-pattern>' are listed " -"on the command line as '<commit>'. Leading 'refs/', is automatically " -"prepended if missing. If pattern lacks '?', '{asterisk}', or '[', " -"'/{asterisk}' at the end is implied." +#: en/pretty-formats.txt:107 +msgid "'%h': abbreviated commit hash" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:178 -#, no-wrap -msgid "--reflog" +#. type: Plain text +#: en/pretty-formats.txt:108 +msgid "'%T': tree hash" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:181 -msgid "" -"Pretend as if all objects mentioned by reflogs are listed on the command " -"line as `<commit>`." +#: en/pretty-formats.txt:109 +msgid "'%t': abbreviated tree hash" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:185 -msgid "" -"Upon seeing an invalid object name in the input, pretend as if the bad input " -"was not given." +#: en/pretty-formats.txt:110 +msgid "'%P': parent hashes" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:187 en/rev-list-options.txt:569 -#, no-wrap -msgid "--bisect" +#. type: Plain text +#: en/pretty-formats.txt:111 +msgid "'%p': abbreviated parent hashes" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:192 -msgid "" -"Pretend as if the bad bisection ref `refs/bisect/bad` was listed and as if " -"it was followed by `--not` and the good bisection refs `refs/bisect/good-*` " -"on the command line. Cannot be combined with --first-parent." +#: en/pretty-formats.txt:112 +msgid "'%an': author name" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:199 +#: en/pretty-formats.txt:114 msgid "" -"In addition to the '<commit>' listed on the command line, read them from the " -"standard input. If a `--` separator is seen, stop reading commits and start " -"reading paths to limit the result." +"'%aN': author name (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:207 -msgid "" -"Don't print anything to standard output. This form is primarily meant to " -"allow the caller to test the exit status to see if a range of objects is " -"fully connected (or not). It is faster than redirecting stdout to " -"`/dev/null` as the output does not have to be formatted." +#: en/pretty-formats.txt:115 +msgid "'%ae': author email" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:209 -#, no-wrap -msgid "--cherry-mark" +#. type: Plain text +#: en/pretty-formats.txt:117 +msgid "" +"'%aE': author email (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:212 -msgid "" -"Like `--cherry-pick` (see below) but mark equivalent commits with `=` rather " -"than omitting them, and inequivalent ones with `+`." +#: en/pretty-formats.txt:118 +msgid "'%ad': author date (format respects --date= option)" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:213 -#, no-wrap -msgid "--cherry-pick" +#. type: Plain text +#: en/pretty-formats.txt:119 +msgid "'%aD': author date, RFC2822 style" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:217 -msgid "" -"Omit any commit that introduces the same change as another commit on the " -"``other side'' when the set of commits are limited with symmetric " -"difference." +#: en/pretty-formats.txt:120 +msgid "'%ar': author date, relative" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:225 -msgid "" -"For example, if you have two branches, `A` and `B`, a usual way to list all " -"commits on only one side of them is with `--left-right` (see the example " -"below in the description of the `--left-right` option). However, it shows " -"the commits that were cherry-picked from the other branch (for example, " -"``3rd on b'' may be cherry-picked from branch A). With this option, such " -"pairs of commits are excluded from the output." +#: en/pretty-formats.txt:121 +msgid "'%at': author date, UNIX timestamp" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:226 -#, no-wrap -msgid "--left-only" +#. type: Plain text +#: en/pretty-formats.txt:122 +msgid "'%ai': author date, ISO 8601-like format" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:227 -#, no-wrap -msgid "--right-only" +#. type: Plain text +#: en/pretty-formats.txt:123 +msgid "'%aI': author date, strict ISO 8601 format" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:231 -msgid "" -"List only commits on the respective side of a symmetric difference, " -"i.e. only those which would be marked `<` resp. `>` by `--left-right`." +#: en/pretty-formats.txt:124 +msgid "'%cn': committer name" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:237 +#: en/pretty-formats.txt:126 msgid "" -"For example, `--cherry-pick --right-only A...B` omits those commits from `B` " -"which are in `A` or are patch-equivalent to a commit in `A`. In other words, " -"this lists the `+` commits from `git cherry A B`. More precisely, " -"`--cherry-pick --right-only --no-merges` gives the exact list." +"'%cN': committer name (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:238 -#, no-wrap -msgid "--cherry" +#. type: Plain text +#: en/pretty-formats.txt:127 +msgid "'%ce': committer email" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:244 +#: en/pretty-formats.txt:129 msgid "" -"A synonym for `--right-only --cherry-mark --no-merges`; useful to limit the " -"output to the commits on our side and mark those that have been applied to " -"the other side of a forked history with `git log --cherry " -"upstream...mybranch`, similar to `git cherry upstream mybranch`." -msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:246 -#, no-wrap -msgid "--walk-reflogs" +"'%cE': committer email (respecting .mailmap, see linkgit:git-shortlog[1] or " +"linkgit:git-blame[1])" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:252 -msgid "" -"Instead of walking the commit ancestry chain, walk reflog entries from the " -"most recent one to older ones. When this option is used you cannot specify " -"commits to exclude (that is, '{caret}commit', 'commit1..commit2', and " -"'commit1\\...commit2' notations cannot be used)." +#: en/pretty-formats.txt:130 +msgid "'%cd': committer date (format respects --date= option)" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:259 -msgid "" -"With `--pretty` format other than `oneline` (for obvious reasons), this " -"causes the output to have two extra lines of information taken from the " -"reflog. The reflog designator in the output may be shown as `ref@{Nth}` " -"(where `Nth` is the reverse-chronological index in the reflog) or as " -"`ref@{timestamp}` (with the timestamp for that entry), depending on a few " -"rules:" +#: en/pretty-formats.txt:131 +msgid "'%cD': committer date, RFC2822 style" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:263 -msgid "If the starting point is specified as `ref@{Nth}`, show the index format." +#: en/pretty-formats.txt:132 +msgid "'%cr': committer date, relative" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:266 -msgid "" -"If the starting point was specified as `ref@{now}`, show the timestamp " -"format." +#: en/pretty-formats.txt:133 +msgid "'%ct': committer date, UNIX timestamp" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:269 -msgid "" -"If neither was used, but `--date` was given on the command line, show the " -"timestamp in the format requested by `--date`." +#: en/pretty-formats.txt:134 +msgid "'%ci': committer date, ISO 8601-like format" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:271 -msgid "Otherwise, show the index format." +#: en/pretty-formats.txt:135 +msgid "'%cI': committer date, strict ISO 8601 format" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:277 -msgid "" -"Under `--pretty=oneline`, the commit message is prefixed with this " -"information on the same line. This option cannot be combined with " -"`--reverse`. See also linkgit:git-reflog[1]." +#: en/pretty-formats.txt:136 +msgid "'%d': ref names, like the --decorate option of linkgit:git-log[1]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:281 -msgid "" -"After a failed merge, show refs that touch files having a conflict and don't " -"exist on all heads to merge." +#: en/pretty-formats.txt:137 +msgid "'%D': ref names without the \" (\", \")\" wrapping." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:282 -#, no-wrap -msgid "--boundary" +#. type: Plain text +#: en/pretty-formats.txt:138 +msgid "'%e': encoding" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:285 -msgid "Output excluded boundary commits. Boundary commits are prefixed with `-`." +#: en/pretty-formats.txt:139 +msgid "'%s': subject" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:287 -#, no-wrap -msgid "--use-bitmap-index" +#. type: Plain text +#: en/pretty-formats.txt:140 +msgid "'%f': sanitized subject line, suitable for a filename" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:292 -msgid "" -"Try to speed up the traversal using the pack bitmap index (if one is " -"available). Note that when traversing with `--objects`, trees and blobs will " -"not have their associated path printed." +#: en/pretty-formats.txt:141 +msgid "'%b': body" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:293 -#, no-wrap -msgid "--progress=<header>" +#. type: Plain text +#: en/pretty-formats.txt:142 +msgid "'%B': raw body (unwrapped subject and body)" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:296 -msgid "" -"Show progress reports on stderr as objects are considered. The `<header>` " -"text will be printed with each progress update." +#: en/pretty-formats.txt:144 +msgid "'%N': commit notes" msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:301 -#, no-wrap -msgid "History Simplification" +#. type: Plain text +#: en/pretty-formats.txt:146 +msgid "'%GG': raw verification message from GPG for a signed commit" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:307 +#: en/pretty-formats.txt:154 msgid "" -"Sometimes you are only interested in parts of the history, for example the " -"commits modifying a particular <path>. But there are two parts of 'History " -"Simplification', one part is selecting the commits and the other is how to " -"do it, as there are various strategies to simplify the history." +"'%G?': show \"G\" for a good (valid) signature, \"B\" for a bad signature, " +"\"U\" for a good signature with unknown validity, \"X\" for a good signature " +"that has expired, \"Y\" for a good signature made by an expired key, \"R\" " +"for a good signature made by a revoked key, \"E\" if the signature cannot be " +"checked (e.g. missing key) and \"N\" for no signature" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:309 -msgid "The following options select the commits to be shown:" -msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:310 -#, no-wrap -msgid "<paths>" +#: en/pretty-formats.txt:155 +msgid "'%GS': show the name of the signer for a signed commit" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:312 -msgid "Commits modifying the given <paths> are selected." +#: en/pretty-formats.txt:156 +msgid "'%GK': show the key used to sign a signed commit" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:313 -#, no-wrap -msgid "--simplify-by-decoration" +#. type: Plain text +#: en/pretty-formats.txt:161 +msgid "" +"'%gD': reflog selector, e.g., `refs/stash@{1}` or `refs/stash@{2 minutes " +"ago`}; the format follows the rules described for the `-g` option. The " +"portion before the `@` is the refname as given on the command line (so `git " +"log -g refs/heads/master` would yield `refs/heads/master@{0}`)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:315 -msgid "Commits that are referred by some branch or tag are selected." +#: en/pretty-formats.txt:164 +msgid "" +"'%gd': shortened reflog selector; same as `%gD`, but the refname portion is " +"shortened for human readability (so `refs/heads/master` becomes just " +"`master`)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:317 -msgid "Note that extra commits can be shown to give a meaningful history." +#: en/pretty-formats.txt:165 +msgid "'%gn': reflog identity name" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:319 -msgid "The following options affect the way the simplification is performed:" +#: en/pretty-formats.txt:167 +msgid "" +"'%gN': reflog identity name (respecting .mailmap, see " +"linkgit:git-shortlog[1] or linkgit:git-blame[1])" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:320 en/rev-list-options.txt:394 -#, no-wrap -msgid "Default mode" +#. type: Plain text +#: en/pretty-formats.txt:168 +msgid "'%ge': reflog identity email" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:325 +#: en/pretty-formats.txt:170 msgid "" -"Simplifies the history to the simplest history explaining the final state of " -"the tree. Simplest because it prunes some side branches if the end result is " -"the same (i.e. merging branches with the same content)" -msgstr "" - -#. type: Labeled list -#: en/rev-list-options.txt:326 -#, no-wrap -msgid "--full-history" +"'%gE': reflog identity email (respecting .mailmap, see " +"linkgit:git-shortlog[1] or linkgit:git-blame[1])" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:328 -msgid "Same as the default mode, but does not prune some history." +#: en/pretty-formats.txt:171 +msgid "'%gs': reflog subject" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:329 en/rev-list-options.txt:462 -#, no-wrap -msgid "--dense" +#. type: Plain text +#: en/pretty-formats.txt:172 +msgid "'%Cred': switch color to red" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:332 -msgid "Only the selected commits are shown, plus some to have a meaningful history." +#: en/pretty-formats.txt:173 +msgid "'%Cgreen': switch color to green" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:335 -msgid "All commits in the simplified history are shown." +#: en/pretty-formats.txt:174 +msgid "'%Cblue': switch color to blue" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:336 en/rev-list-options.txt:473 -#, no-wrap -msgid "--simplify-merges" +#. type: Plain text +#: en/pretty-formats.txt:175 +msgid "'%Creset': reset color" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:340 +#: en/pretty-formats.txt:182 msgid "" -"Additional option to `--full-history` to remove some needless merges from " -"the resulting history, as there are no selected commits contributing to this " -"merge." +"'%C(...)': color specification, as described under Values in the " +"\"CONFIGURATION FILE\" section of linkgit:git-config[1]; adding `auto,` at " +"the beginning will emit color only when colors are enabled for log output " +"(by `color.diff`, `color.ui`, or `--color`, and respecting the `auto` " +"settings of the former if we are going to a terminal). `auto` alone " +"(i.e. `%C(auto)`) will turn on auto coloring on the next placeholders until " +"the color is switched again." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:341 en/rev-list-options.txt:520 -#, no-wrap -msgid "--ancestry-path" +#. type: Plain text +#: en/pretty-formats.txt:183 +msgid "'%m': left (`<`), right (`>`) or boundary (`-`) mark" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:347 -msgid "" -"When given a range of commits to display (e.g. 'commit1..commit2' or " -"'commit2 {caret}commit1'), only display commits that exist directly on the " -"ancestry chain between the 'commit1' and 'commit2', i.e. commits that are " -"both descendants of 'commit1', and ancestors of 'commit2'." +#: en/pretty-formats.txt:184 +msgid "'%n': newline" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:349 -msgid "A more detailed explanation follows." +#: en/pretty-formats.txt:185 +msgid "'%%': a raw '%'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:353 -msgid "" -"Suppose you specified `foo` as the <paths>. We shall call commits that " -"modify `foo` !TREESAME, and the rest TREESAME. (In a diff filtered for " -"`foo`, they look different and equal, respectively.)" +#: en/pretty-formats.txt:186 +msgid "'%x00': print a byte from a hex code" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:357 +#: en/pretty-formats.txt:188 msgid "" -"In the following, we will always refer to the same example history to " -"illustrate the differences between simplification settings. We assume that " -"you are filtering for a file `foo` in this commit graph:" +"'%w([<w>[,<i1>[,<i2>]]])': switch line wrapping, like the -w option of " +"linkgit:git-shortlog[1]." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:363 -#, no-wrap +#. type: Plain text +#: en/pretty-formats.txt:193 msgid "" -"\t .-A---M---N---O---P---Q\n" -"\t / / / / / /\n" -"\tI B C D E Y\n" -"\t \\ / / / / /\n" -"\t `-------------' X\n" +"'%<(<N>[,trunc|ltrunc|mtrunc])': make the next placeholder take at least N " +"columns, padding spaces on the right if necessary. Optionally truncate at " +"the beginning (ltrunc), the middle (mtrunc) or the end (trunc) if the " +"output is longer than N columns. Note that truncating only works correctly " +"with N >= 2." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:366 +#: en/pretty-formats.txt:195 msgid "" -"The horizontal line of history A---Q is taken to be the first parent of each " -"merge. The commits are:" +"'%<|(<N>)': make the next placeholder take at least until Nth columns, " +"padding spaces on the right if necessary" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:370 +#: en/pretty-formats.txt:197 msgid "" -"`I` is the initial commit, in which `foo` exists with contents ``asdf'', and " -"a file `quux` exists with contents ``quux''. Initial commits are compared to " -"an empty tree, so `I` is !TREESAME." +"'%>(<N>)', '%>|(<N>)': similar to '%<(<N>)', '%<|(<N>)' respectively, but " +"padding spaces on the left" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:372 -msgid "In `A`, `foo` contains just ``foo''." +#: en/pretty-formats.txt:200 +msgid "" +"'%>>(<N>)', '%>>|(<N>)': similar to '%>(<N>)', '%>|(<N>)' respectively, " +"except that if the next placeholder takes more spaces than given and there " +"are spaces on its left, use those spaces" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:375 +#: en/pretty-formats.txt:204 msgid "" -"`B` contains the same change as `A`. Its merge `M` is trivial and hence " -"TREESAME to all parents." +"'%><(<N>)', '%><|(<N>)': similar to '% <(<N>)', '%<|(<N>)' respectively, but " +"padding both sides (i.e. the text is centered) -%(trailers): display the " +"trailers of the body as interpreted by linkgit:git-interpret-trailers[1]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:378 +#: en/pretty-formats.txt:211 msgid "" -"`C` does not change `foo`, but its merge `N` changes it to ``foobar'', so it " -"is not TREESAME to any parent." +"Some placeholders may depend on other options given to the revision " +"traversal engine. For example, the `%g*` reflog options will insert an empty " +"string unless we are traversing reflog entries (e.g., by `git log -g`). The " +"`%d` and `%D` placeholders will use the \"short\" decoration format if " +"`--decorate` was not already provided on the command line." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:381 +#: en/pretty-formats.txt:215 msgid "" -"`D` sets `foo` to ``baz''. Its merge `O` combines the strings from `N` and " -"`D` to ``foobarbaz''; i.e., it is not TREESAME to any parent." +"If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is " +"inserted immediately before the expansion if and only if the placeholder " +"expands to a non-empty string." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:384 +#: en/pretty-formats.txt:219 msgid "" -"`E` changes `quux` to ``xyzzy'', and its merge `P` combines the strings to " -"``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`." +"If you add a `-` (minus sign) after '%' of a placeholder, line-feeds that " +"immediately precede the expansion are deleted if and only if the placeholder " +"expands to an empty string." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:388 +#: en/pretty-formats.txt:223 msgid "" -"`X` is an independent root commit that added a new file `side`, and `Y` " -"modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and " -"`Q` is TREESAME to `P`, but not to `Y`." +"If you add a ` ` (space) after '%' of a placeholder, a space is inserted " +"immediately before the expansion if and only if the placeholder expands to a " +"non-empty string." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:393 -msgid "" -"`rev-list` walks backwards through history, including or excluding commits " -"based on whether `--full-history` and/or parent rewriting (via `--parents` " -"or `--children`) are used. The following settings are available." +#: en/pretty-formats.txt:225 +msgid "'tformat:'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:401 +#: en/pretty-formats.txt:233 msgid "" -"Commits are included if they are not TREESAME to any parent (though this can " -"be changed, see `--sparse` below). If the commit was a merge, and it was " -"TREESAME to one parent, follow only that parent. (Even if there are several " -"TREESAME parents, follow only one of them.) Otherwise, follow all parents." +"The 'tformat:' format works exactly like 'format:', except that it provides " +"\"terminator\" semantics instead of \"separator\" semantics. In other words, " +"each commit has the message terminator character (usually a newline) " +"appended, rather than a separator placed between entries. This means that " +"the final entry of a single-line format will be properly terminated with a " +"new line, just as the \"oneline\" format does. For example:" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:403 -msgid "This results in:" +#. type: delimited block - +#: en/pretty-formats.txt:239 +#, no-wrap +msgid "" +"$ git log -2 --pretty=format:%h 4da45bef \\\n" +" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" +"4da45be\n" +"7134973 -- NO NEWLINE\n" msgstr "" #. type: delimited block - -#: en/rev-list-options.txt:408 +#: en/pretty-formats.txt:244 #, no-wrap msgid "" -"\t .-A---N---O\n" -"\t / / /\n" -"\tI---------D\n" +"$ git log -2 --pretty=tformat:%h 4da45bef \\\n" +" | perl -pe '$_ .= \" -- NO NEWLINE\\n\" unless /\\n/'\n" +"4da45be\n" +"7134973\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:414 +#: en/pretty-formats.txt:249 msgid "" -"Note how the rule to only follow the TREESAME parent, if one is available, " -"removed `B` from consideration entirely. `C` was considered via `N`, but is " -"TREESAME. Root commits are compared to an empty tree, so `I` is !TREESAME." +"In addition, any unrecognized string that has a `%` in it is interpreted as " +"if it has `tformat:` in front of it. For example, these two are equivalent:" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:418 +#. type: delimited block - +#: en/pretty-formats.txt:253 +#, no-wrap msgid "" -"Parent/child relations are only visible with `--parents`, but that does not " -"affect the commits selected in default mode, so we have shown the parent " -"lines." +"$ git log -2 --pretty=tformat:%h 4da45bef\n" +"$ git log -2 --pretty=%h 4da45bef\n" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:419 +#: en/pretty-options.txt:1 #, no-wrap -msgid "--full-history without parent rewriting" +msgid "--pretty[=<format>]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:425 +#: en/pretty-options.txt:10 msgid "" -"This mode differs from the default in one point: always follow all parents " -"of a merge, even if it is TREESAME to one of them. Even if more than one " -"side of the merge has commits that are included, this does not imply that " -"the merge itself is! In the example, we get" -msgstr "" - -#. type: delimited block - -#: en/rev-list-options.txt:428 -#, no-wrap -msgid "\tI A B N D O P Q\n" +"Pretty-print the contents of the commit logs in a given format, where " +"'<format>' can be one of 'oneline', 'short', 'medium', 'full', 'fuller', " +"'email', 'raw', 'format:<string>' and 'tformat:<string>'. When '<format>' " +"is none of the above, and has '%placeholder' in it, it acts as if " +"'--pretty=tformat:<format>' were given." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:433 +#: en/pretty-options.txt:13 msgid "" -"`M` was excluded because it is TREESAME to both parents. `E`, `C` and `B` " -"were all walked, but only `B` was !TREESAME, so the others do not appear." +"See the \"PRETTY FORMATS\" section for some additional details for each " +"format. When '=<format>' part is omitted, it defaults to 'medium'." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:437 +#: en/pretty-options.txt:16 msgid "" -"Note that without parent rewriting, it is not really possible to talk about " -"the parent/child relationships between the commits, so we show them " -"disconnected." +"Note: you can specify the default pretty format in the repository " +"configuration (see linkgit:git-config[1])." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:438 +#: en/pretty-options.txt:17 #, no-wrap -msgid "--full-history with parent rewriting" +msgid "--abbrev-commit" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:441 +#: en/pretty-options.txt:22 msgid "" -"Ordinary commits are only included if they are !TREESAME (though this can be " -"changed, see `--sparse` below)." +"Instead of showing the full 40-byte hexadecimal commit object name, show " +"only a partial prefix. Non default number of digits can be specified with " +"\"--abbrev=<n>\" (which also modifies diff output, if it is displayed)." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:445 +#: en/pretty-options.txt:25 msgid "" -"Merges are always included. However, their parent list is rewritten: Along " -"each parent, prune away commits that are not included themselves. This " -"results in" +"This should make \"--pretty=oneline\" a whole lot more readable for people " +"using 80-column terminals." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:452 +#. type: Labeled list +#: en/pretty-options.txt:26 #, no-wrap -msgid "" -"\t .-A---M---N---O---P---Q\n" -"\t / / / / /\n" -"\tI B / D /\n" -"\t \\ / / / /\n" -"\t `-------------'\n" +msgid "--no-abbrev-commit" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:458 +#: en/pretty-options.txt:30 msgid "" -"Compare to `--full-history` without rewriting above. Note that `E` was " -"pruned away because it is TREESAME, but the parent list of P was rewritten " -"to contain `E`'s parent `I`. The same happened for `C` and `N`, and `X`, " -"`Y` and `Q`." +"Show the full 40-byte hexadecimal commit object name. This negates " +"`--abbrev-commit` and those options which imply it such as \"--oneline\". It " +"also overrides the `log.abbrevCommit` variable." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:461 -msgid "" -"In addition to the above settings, you can change whether TREESAME affects " -"inclusion:" +#: en/pretty-options.txt:34 +msgid "This is a shorthand for \"--pretty=oneline --abbrev-commit\" used together." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:465 -msgid "Commits that are walked are included if they are not TREESAME to any parent." +#: en/pretty-options.txt:44 +msgid "" +"The commit objects record the encoding used for the log message in their " +"encoding header; this option can be used to tell the command to re-code the " +"commit log message in the encoding preferred by the user. For non plumbing " +"commands this defaults to UTF-8. Note that if an object claims to be encoded " +"in `X` and we are outputting in `X`, we will output the object verbatim; " +"this means that invalid sequences in the original commit may be copied to " +"the output." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:468 -msgid "All commits that are walked are included." +#. type: Labeled list +#: en/pretty-options.txt:45 +#, no-wrap +msgid "--expand-tabs=<n>" +msgstr "" + +#. type: Labeled list +#: en/pretty-options.txt:46 +#, no-wrap +msgid "--expand-tabs" +msgstr "" + +#. type: Labeled list +#: en/pretty-options.txt:47 +#, no-wrap +msgid "--no-expand-tabs" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:472 +#: en/pretty-options.txt:54 msgid "" -"Note that without `--full-history`, this still simplifies merges: if one of " -"the parents is TREESAME, we follow only that one, so the other sides of the " -"merge are never walked." +"Perform a tab expansion (replace each tab with enough spaces to fill to the " +"next display column that is multiple of '<n>') in the log message before " +"showing it in the output. `--expand-tabs` is a short-hand for " +"`--expand-tabs=8`, and `--no-expand-tabs` is a short-hand for " +"`--expand-tabs=0`, which disables tab expansion." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:476 +#: en/pretty-options.txt:58 msgid "" -"First, build a history graph in the same way that `--full-history` with " -"parent rewriting does (see above)." +"By default, tabs are expanded in pretty formats that indent the log message " +"by 4 spaces (i.e. 'medium', which is the default, 'full', and 'fuller')." +msgstr "" + +#. type: Labeled list +#: en/pretty-options.txt:60 +#, no-wrap +msgid "--notes[=<treeish>]" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:479 +#: en/pretty-options.txt:66 msgid "" -"Then simplify each commit `C` to its replacement `C'` in the final history " -"according to the following rules:" +"Show the notes (see linkgit:git-notes[1]) that annotate the commit, when " +"showing the commit log message. This is the default for `git log`, `git " +"show` and `git whatchanged` commands when there is no `--pretty`, " +"`--format`, or `--oneline` option given on the command line." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:482 -msgid "Set `C'` to `C`." +#: en/pretty-options.txt:70 +msgid "" +"By default, the notes shown are from the notes refs listed in the " +"`core.notesRef` and `notes.displayRef` variables (or corresponding " +"environment overrides). See linkgit:git-config[1] for more details." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:487 +#: en/pretty-options.txt:75 msgid "" -"Replace each parent `P` of `C'` with its simplification `P'`. In the " -"process, drop parents that are ancestors of other parents or that are root " -"commits TREESAME to an empty tree, and remove duplicates, but take care to " -"never drop all parents that we are TREESAME to." +"With an optional '<treeish>' argument, use the treeish to find the notes to " +"display. The treeish can specify the full refname when it begins with " +"`refs/notes/`; when it begins with `notes/`, `refs/` and otherwise " +"`refs/notes/` is prefixed to form a full name of the ref." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:491 +#: en/pretty-options.txt:80 msgid "" -"If after this parent rewriting, `C'` is a root or merge commit (has zero or " -">1 parents), a boundary commit, or !TREESAME, it remains. Otherwise, it is " -"replaced with its only parent." +"Multiple --notes options can be combined to control which notes are being " +"displayed. Examples: \"--notes=foo\" will show only notes from " +"\"refs/notes/foo\"; \"--notes=foo --notes\" will show both notes from " +"\"refs/notes/foo\" and from the default notes ref(s)." +msgstr "" + +#. type: Labeled list +#: en/pretty-options.txt:81 +#, no-wrap +msgid "--no-notes" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:495 +#: en/pretty-options.txt:87 msgid "" -"The effect of this is best shown by way of comparing to `--full-history` " -"with parent rewriting. The example turns into:" +"Do not show notes. This negates the above `--notes` option, by resetting the " +"list of notes refs from which notes are shown. Options are parsed in the " +"order given on the command line, so e.g. \"--notes --notes=foo --no-notes " +"--notes=bar\" will only show notes from \"refs/notes/bar\"." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:502 +#. type: Labeled list +#: en/pretty-options.txt:88 #, no-wrap -msgid "" -"\t .-A---M---N---O\n" -"\t / / /\n" -"\tI B D\n" -"\t \\ / /\n" -"\t `---------'\n" +msgid "--show-notes[=<treeish>]" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:505 -msgid "Note the major differences in `N`, `P`, and `Q` over `--full-history`:" +#. type: Labeled list +#: en/pretty-options.txt:89 +#, no-wrap +msgid "--[no-]standard-notes" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:509 +#: en/pretty-options.txt:92 msgid "" -"`N`'s parent list had `I` removed, because it is an ancestor of the other " -"parent `M`. Still, `N` remained because it is !TREESAME." +"These options are deprecated. Use the above --notes/--no-notes options " +"instead." +msgstr "" + +#. type: Labeled list +#: en/pretty-options.txt:94 +#, no-wrap +msgid "--show-signature" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:512 +#: en/pretty-options.txt:96 msgid "" -"`P`'s parent list similarly had `I` removed. `P` was then removed " -"completely, because it had one parent and is TREESAME." +"Check the validity of a signed commit object by passing the signature to " +"`gpg --verify` and show the output." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:516 +#: en/pull-fetch-param.txt:6 msgid "" -"`Q`'s parent list had `Y` simplified to `X`. `X` was then removed, because " -"it was a TREESAME root. `Q` was then removed completely, because it had one " -"parent and is TREESAME." +"The \"remote\" repository that is the source of a fetch or pull operation. " +"This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) " +"or the name of a remote (see the section <<REMOTES,REMOTES>> below)." +msgstr "" + +#. type: Labeled list +#: en/pull-fetch-param.txt:8 +#, no-wrap +msgid "<group>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:519 -msgid "Finally, there is a fifth simplification mode available:" +#: en/pull-fetch-param.txt:12 +msgid "" +"A name referring to a list of repositories as the value of remotes.<group> " +"in the configuration file. (See linkgit:git-config[1])." +msgstr "" + +#. type: Labeled list +#: en/pull-fetch-param.txt:14 +#, no-wrap +msgid "<refspec>" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:525 +#: en/pull-fetch-param.txt:18 msgid "" -"Limit the displayed commits to those directly on the ancestry chain between " -"the ``from'' and ``to'' commits in the given commit range. I.e. only display " -"commits that are ancestor of the ``to'' commit and descendants of the " -"``from'' commit." +"Specifies which refs to fetch and which local refs to update. When no " +"<refspec>s appear on the command line, the refs to fetch are read from " +"`remote.<repository>.fetch` variables instead" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:527 -msgid "As an example use case, consider the following commit history:" +#: en/pull-fetch-param.txt:20 +#, no-wrap +msgid "\t(see <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> below).\n" msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:534 +#. type: Plain text +#: en/pull-fetch-param.txt:23 #, no-wrap -msgid "" -"\t D---E-------F\n" -"\t / \\ \\\n" -"\t B---C---G---H---I---J\n" -"\t / \\\n" -"\tA-------K---------------L--M\n" +msgid "\t(see linkgit:git-fetch[1]).\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:542 +#: en/pull-fetch-param.txt:29 msgid "" -"A regular 'D..M' computes the set of commits that are ancestors of `M`, but " -"excludes the ones that are ancestors of `D`. This is useful to see what " -"happened to the history leading to `M` since `D`, in the sense that ``what " -"does `M` have that did not exist in `D`''. The result in this example would " -"be all the commits, except `A` and `B` (and `D` itself, of course)." +"The format of a <refspec> parameter is an optional plus `+`, followed by the " +"source ref <src>, followed by a colon `:`, followed by the destination ref " +"<dst>. The colon can be omitted when <dst> is empty." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:548 +#: en/pull-fetch-param.txt:32 msgid "" -"When we want to find out what commits in `M` are contaminated with the bug " -"introduced by `D` and need fixing, however, we might want to view only the " -"subset of 'D..M' that are actually descendants of `D`, i.e. excluding `C` " -"and `K`. This is exactly what the `--ancestry-path` option does. Applied to " -"the 'D..M' range, it results in:" +"`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`; it requests " +"fetching everything up to the given tag." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:555 -#, no-wrap +#. type: Plain text +#: en/pull-fetch-param.txt:39 msgid "" -"\t\tE-------F\n" -"\t\t \\ \\\n" -"\t\t G---H---I---J\n" -"\t\t\t \\\n" -"\t\t\t\tL--M\n" +"The remote ref that matches <src> is fetched, and if <dst> is not empty " +"string, the local ref that matches it is fast-forwarded using <src>. If the " +"optional plus `+` is used, the local ref is updated even if it does not " +"result in a fast-forward update." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:564 +#: en/pull-fetch-param.txt:51 msgid "" -"The `--simplify-by-decoration` option allows you to view only the big " -"picture of the topology of the history, by omitting commits that are not " -"referenced by tags. Commits are marked as !TREESAME (in other words, kept " -"after history simplification rules described above) if (1) they are " -"referenced by tags, or (2) they change the contents of the paths given on " -"the command line. All other commits are marked as TREESAME (subject to be " -"simplified away)." -msgstr "" - -#. type: Title ~ -#: en/rev-list-options.txt:567 -#, no-wrap -msgid "Bisection Helpers" +"When the remote branch you want to fetch is known to be rewound and rebased " +"regularly, it is expected that its new tip will not be descendant of its " +"previous tip (as stored in your remote-tracking branch the last time you " +"fetched). You would want to use the `+` sign to indicate non-fast-forward " +"updates will be needed for such branches. There is no way to determine or " +"declare that a branch will be made available in a repository with this " +"behavior; the pulling user simply must know this is the expected usage " +"pattern for a branch." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:576 +#: en/pull-fetch-param.txt:71 msgid "" -"Limit output to the one commit object which is roughly halfway between " -"included and excluded commits. Note that the bad bisection ref " -"`refs/bisect/bad` is added to the included commits (if it exists) and the " -"good bisection refs `refs/bisect/good-*` are added to the excluded commits " -"(if they exist). Thus, supposing there are no refs in `refs/bisect/`, if" +"There is a difference between listing multiple <refspec> directly on 'git " +"pull' command line and having multiple `remote.<repository>.fetch` entries " +"in your configuration for a <repository> and running a 'git pull' command " +"without any explicit <refspec> parameters. <refspec>s listed explicitly on " +"the command line are always merged into the current branch after fetching. " +"In other words, if you list more than one remote ref, 'git pull' will create " +"an Octopus merge. On the other hand, if you do not list any explicit " +"<refspec> parameter on the command line, 'git pull' will fetch all the " +"<refspec>s it finds in the `remote.<repository>.fetch` configuration and " +"merge only the first <refspec> found into the current branch. This is " +"because making an Octopus from remote refs is rarely done, while keeping " +"track of multiple remote heads in one-go by fetching more than one is often " +"useful." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:579 +#. type: Title - +#: en/revisions.txt:2 #, no-wrap -msgid "\t$ git rev-list --bisect foo ^bar ^baz\n" +msgid "SPECIFYING REVISIONS" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:582 -msgid "outputs 'midpoint', the output of the two commands" +#: en/revisions.txt:9 +msgid "" +"A revision parameter '<rev>' typically, but not necessarily, names a commit " +"object. It uses what is called an 'extended SHA-1' syntax. Here are " +"various ways to spell object names. The ones listed near the end of this " +"list name trees and blobs contained in a commit." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:586 +#. type: Labeled list +#: en/revisions.txt:10 #, no-wrap -msgid "" -"\t$ git rev-list foo ^midpoint\n" -"\t$ git rev-list midpoint ^bar ^baz\n" +msgid "'<sha1>', e.g. 'dae86e1950b1277e545cee180551750029cfe735', 'dae86e'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:592 +#: en/revisions.txt:16 msgid "" -"would be of roughly the same length. Finding the change which introduces a " -"regression is thus reduced to a binary search: repeatedly generate and test " -"new 'midpoint's until the commit chain is of length one. Cannot be combined " -"with --first-parent." +"The full SHA-1 object name (40-byte hexadecimal string), or a leading " +"substring that is unique within the repository. " +"E.g. dae86e1950b1277e545cee180551750029cfe735 and dae86e both name the same " +"commit object if there is no other object in your repository whose object " +"name starts with dae86e." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:593 +#: en/revisions.txt:17 #, no-wrap -msgid "--bisect-vars" +msgid "'<describeOutput>', e.g. 'v1.7.4.2-679-g3bee7fb'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:604 +#: en/revisions.txt:21 msgid "" -"This calculates the same as `--bisect`, except that refs in `refs/bisect/` " -"are not used, and except that this outputs text ready to be eval'ed by the " -"shell. These lines will assign the name of the midpoint revision to the " -"variable `bisect_rev`, and the expected number of commits to be tested after " -"`bisect_rev` is tested to `bisect_nr`, the expected number of commits to be " -"tested if `bisect_rev` turns out to be good to `bisect_good`, the expected " -"number of commits to be tested if `bisect_rev` turns out to be bad to " -"`bisect_bad`, and the number of commits we are bisecting right now to " -"`bisect_all`." +"Output from `git describe`; i.e. a closest tag, optionally followed by a " +"dash and a number of commits, followed by a dash, a 'g', and an abbreviated " +"object name." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:605 +#: en/revisions.txt:22 #, no-wrap -msgid "--bisect-all" +msgid "'<refname>', e.g. 'master', 'heads/master', 'refs/heads/master'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:611 +#: en/revisions.txt:29 msgid "" -"This outputs all the commit objects between the included and excluded " -"commits, ordered by their distance to the included and excluded " -"commits. Refs in `refs/bisect/` are not used. The farthest from them is " -"displayed first. (This is the only one displayed by `--bisect`.)" +"A symbolic ref name. E.g. 'master' typically means the commit object " +"referenced by 'refs/heads/master'. If you happen to have both " +"'heads/master' and 'tags/master', you can explicitly say 'heads/master' to " +"tell Git which one you mean. When ambiguous, a '<refname>' is disambiguated " +"by taking the first match in the following rules:" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:615 +#: en/revisions.txt:33 msgid "" -"This is useful because it makes it easy to choose a good commit to test when " -"you want to avoid to test some of them for some reason (they may not compile " -"for example)." +"If '$GIT_DIR/<refname>' exists, that is what you mean (this is usually " +"useful only for `HEAD`, `FETCH_HEAD`, `ORIG_HEAD`, `MERGE_HEAD` and " +"`CHERRY_PICK_HEAD`);" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:619 -msgid "" -"This option can be used along with `--bisect-vars`, in this case, after all " -"the sorted commit objects, there will be the same text as if `--bisect-vars` " -"had been used alone." -msgstr "" - -#. type: Title ~ -#: en/rev-list-options.txt:623 -#, no-wrap -msgid "Commit Ordering" +#: en/revisions.txt:35 +msgid "otherwise, 'refs/<refname>' if it exists;" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:626 -msgid "By default, the commits are shown in reverse chronological order." +#: en/revisions.txt:37 +msgid "otherwise, 'refs/tags/<refname>' if it exists;" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:630 -msgid "" -"Show no parents before all of its children are shown, but otherwise show " -"commits in the commit timestamp order." +#: en/revisions.txt:39 +msgid "otherwise, 'refs/heads/<refname>' if it exists;" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:631 -#, no-wrap -msgid "--author-date-order" +#. type: Plain text +#: en/revisions.txt:41 +msgid "otherwise, 'refs/remotes/<refname>' if it exists;" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:634 -msgid "" -"Show no parents before all of its children are shown, but otherwise show " -"commits in the author timestamp order." +#: en/revisions.txt:43 +msgid "otherwise, 'refs/remotes/<refname>/HEAD' if it exists." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:639 +#: en/revisions.txt:55 msgid "" -"Show no parents before all of its children are shown, and avoid showing " -"commits on multiple lines of history intermixed." +"`HEAD` names the commit on which you based the changes in the working tree. " +"`FETCH_HEAD` records the branch which you fetched from a remote repository " +"with your last `git fetch` invocation. `ORIG_HEAD` is created by commands " +"that move your `HEAD` in a drastic way, to record the position of the `HEAD` " +"before their operation, so that you can easily change the tip of the branch " +"back to the state before you ran them. `MERGE_HEAD` records the commit(s) " +"which you are merging into your branch when you run `git merge`. " +"`CHERRY_PICK_HEAD` records the commit which you are cherry-picking when you " +"run `git cherry-pick`." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:641 -msgid "For example, in a commit history like this:" +#: en/revisions.txt:60 +msgid "" +"Note that any of the 'refs/*' cases above may come either from the " +"'$GIT_DIR/refs' directory or from the '$GIT_DIR/packed-refs' file. While " +"the ref name encoding is unspecified, UTF-8 is preferred as some output " +"processing may assume ref names in UTF-8." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:647 +#. type: Labeled list +#: en/revisions.txt:61 #, no-wrap -msgid "" -" ---1----2----4----7\n" -"\t\\\t \\\n" -"\t 3----5----6----8---\n" +msgid "'@'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:653 -msgid "" -"where the numbers denote the order of commit timestamps, `git rev-list` and " -"friends with `--date-order` show the commits in the timestamp order: 8 7 6 5 " -"4 3 2 1." +#: en/revisions.txt:63 +msgid "'@' alone is a shortcut for `HEAD`." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:658 -msgid "" -"With `--topo-order`, they would show 8 6 5 3 7 4 2 1 (or 8 7 4 2 6 5 3 1); " -"some older commits are shown before newer ones in order to avoid showing the " -"commits from two parallel development track mixed together." +#. type: Labeled list +#: en/revisions.txt:64 +#, no-wrap +msgid "'<refname>@{<date>}', e.g. 'master@\\{yesterday\\}', 'HEAD@{5 minutes ago}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:663 +#: en/revisions.txt:75 msgid "" -"Output the commits chosen to be shown (see Commit Limiting section above) in " -"reverse order. Cannot be combined with `--walk-reflogs`." +"A ref followed by the suffix '@' with a date specification enclosed in a " +"brace pair (e.g. '\\{yesterday\\}', '{1 month 2 weeks 3 days 1 hour 1 second " +"ago}' or '{1979-02-26 18:30:00}') specifies the value of the ref at a prior " +"point in time. This suffix may only be used immediately following a ref " +"name and the ref must have an existing log ('$GIT_DIR/logs/<ref>'). Note " +"that this looks up the state of your *local* ref at a given time; e.g., what " +"was in your local 'master' branch last week. If you want to look at commits " +"made during certain times, see `--since` and `--until`." msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:665 +#. type: Labeled list +#: en/revisions.txt:76 #, no-wrap -msgid "Object Traversal" +msgid "'<refname>@{<n>}', e.g. 'master@\\{1\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:668 -msgid "These options are mostly targeted for packing of Git repositories." +#: en/revisions.txt:84 +msgid "" +"A ref followed by the suffix '@' with an ordinal specification enclosed in a " +"brace pair (e.g. '\\{1\\}', '\\{15\\}') specifies the n-th prior value of " +"that ref. For example 'master@\\{1\\}' is the immediate prior value of " +"'master' while 'master@\\{5\\}' is the 5th prior value of 'master'. This " +"suffix may only be used immediately following a ref name and the ref must " +"have an existing log ('$GIT_DIR/logs/<refname>')." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:670 +#: en/revisions.txt:85 #, no-wrap -msgid "--objects" +msgid "'@{<n>}', e.g. '@\\{1\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:675 +#: en/revisions.txt:89 msgid "" -"Print the object IDs of any object referenced by the listed commits. " -"`--objects foo ^bar` thus means ``send me all object IDs which I need to " -"download if I have the commit object _bar_ but not _foo_''." +"You can use the '@' construct with an empty ref part to get at a reflog " +"entry of the current branch. For example, if you are on branch 'blabla' then " +"'@\\{1\\}' means the same as 'blabla@\\{1\\}'." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:676 +#: en/revisions.txt:90 #, no-wrap -msgid "--objects-edge" +msgid "'@{-<n>}', e.g. '@{-1}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:682 +#: en/revisions.txt:93 msgid "" -"Similar to `--objects`, but also print the IDs of excluded commits prefixed " -"with a ``-'' character. This is used by linkgit:git-pack-objects[1] to " -"build a ``thin'' pack, which records objects in deltified form based on " -"objects contained in these excluded commits to reduce network traffic." +"The construct '@{-<n>}' means the <n>th branch/commit checked out before the " +"current one." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:683 +#: en/revisions.txt:94 #, no-wrap -msgid "--objects-edge-aggressive" +msgid "'<branchname>@\\{upstream\\}', e.g. 'master@\\{upstream\\}', '@\\{u\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:687 +#: en/revisions.txt:100 msgid "" -"Similar to `--objects-edge`, but it tries harder to find excluded commits at " -"the cost of increased time. This is used instead of `--objects-edge` to " -"build ``thin'' packs for shallow repositories." +"The suffix '@\\{upstream\\}' to a branchname (short form " +"'<branchname>@\\{u\\}') refers to the branch that the branch specified by " +"branchname is set to build on top of (configured with `branch.<name>.remote` " +"and `branch.<name>.merge`). A missing branchname defaults to the current " +"one." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:688 +#: en/revisions.txt:101 #, no-wrap -msgid "--indexed-objects" +msgid "'<branchname>@\\{push\\}', e.g. 'master@\\{push\\}', '@\\{push\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:692 +#: en/revisions.txt:107 msgid "" -"Pretend as if all trees and blobs used by the index are listed on the " -"command line. Note that you probably want to use `--objects`, too." +"The suffix '@\\{push}' reports the branch \"where we would push to\" if `git " +"push` were run while `branchname` was checked out (or the current `HEAD` if " +"no branchname is specified). Since our push destination is in a remote " +"repository, of course, we report the local tracking branch that corresponds " +"to that branch (i.e., something in 'refs/remotes/')." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:696 -msgid "Only useful with `--objects`; print the object IDs that are not in packs." +#: en/revisions.txt:109 +msgid "Here's an example to make it more clear:" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:698 +#. type: delimited block - +#: en/revisions.txt:114 #, no-wrap -msgid "--no-walk[=(sorted|unsorted)]" +msgid "" +"$ git config push.default current\n" +"$ git config remote.pushdefault myfork\n" +"$ git checkout -b mybranch origin/master\n" msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:706 +#. type: delimited block - +#: en/revisions.txt:117 +#, no-wrap msgid "" -"Only show the given commits, but do not traverse their ancestors. This has " -"no effect if a range is specified. If the argument `unsorted` is given, the " -"commits are shown in the order they were given on the command " -"line. Otherwise (if `sorted` or no argument was given), the commits are " -"shown in reverse chronological order by commit time. Cannot be combined " -"with `--graph`." +"$ git rev-parse --symbolic-full-name @{upstream}\n" +"refs/remotes/origin/master\n" msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:707 +#. type: delimited block - +#: en/revisions.txt:120 #, no-wrap -msgid "--do-walk" +msgid "" +"$ git rev-parse --symbolic-full-name @{push}\n" +"refs/remotes/myfork/mybranch\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:709 -msgid "Overrides a previous `--no-walk`." +#: en/revisions.txt:125 +msgid "" +"Note in the example that we set up a triangular workflow, where we pull from " +"one location and push to another. In a non-triangular workflow, '@\\{push}' " +"is the same as '@\\{upstream}', and there is no need for it." msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:711 +#. type: Labeled list +#: en/revisions.txt:126 #, no-wrap -msgid "Commit Formatting" +msgid "'<rev>{caret}', e.g. 'HEAD{caret}, v1.5.1{caret}0'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:717 +#: en/revisions.txt:133 msgid "" -"Using these options, linkgit:git-rev-list[1] will act similar to the more " -"specialized family of commit log tools: linkgit:git-log[1], " -"linkgit:git-show[1], and linkgit:git-whatchanged[1]" +"A suffix '{caret}' to a revision parameter means the first parent of that " +"commit object. '{caret}<n>' means the <n>th parent (i.e. '<rev>{caret}' is " +"equivalent to '<rev>{caret}1'). As a special rule, '<rev>{caret}0' means " +"the commit itself and is used when '<rev>' is the object name of a tag " +"object that refers to a commit object." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:721 +#: en/revisions.txt:134 #, no-wrap -msgid "--relative-date" +msgid "'<rev>{tilde}<n>', e.g. 'master{tilde}3'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:723 -msgid "Synonym for `--date=relative`." +#: en/revisions.txt:141 +msgid "" +"A suffix '{tilde}<n>' to a revision parameter means the commit object that " +"is the <n>th generation ancestor of the named commit object, following only " +"the first parents. I.e. '<rev>{tilde}3' is equivalent to " +"'<rev>{caret}{caret}{caret}' which is equivalent to " +"'<rev>{caret}1{caret}1{caret}1'. See below for an illustration of the usage " +"of this form." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:724 +#: en/revisions.txt:142 #, no-wrap -msgid "--date=<format>" +msgid "'<rev>{caret}{<type>}', e.g. 'v0.99.8{caret}\\{commit\\}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:731 +#: en/revisions.txt:153 msgid "" -"Only takes effect for dates shown in human-readable format, such as when " -"using `--pretty`. `log.date` config variable sets a default value for the " -"log command's `--date` option. By default, dates are shown in the original " -"time zone (either committer's or author's). If `-local` is appended to the " -"format (e.g., `iso-local`), the user's local time zone is used instead." +"A suffix '{caret}' followed by an object type name enclosed in brace pair " +"means dereference the object at '<rev>' recursively until an object of type " +"'<type>' is found or the object cannot be dereferenced anymore (in which " +"case, barf). For example, if '<rev>' is a commit-ish, " +"'<rev>{caret}\\{commit\\}' describes the corresponding commit object. " +"Similarly, if '<rev>' is a tree-ish, '<rev>{caret}\\{tree\\}' describes the " +"corresponding tree object. '<rev>{caret}0' is a short-hand for " +"'<rev>{caret}\\{commit\\}'." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:735 +#: en/revisions.txt:158 msgid "" -"`--date=relative` shows dates relative to the current time, e.g. ``2 hours " -"ago''. The `-local` option has no effect for `--date=relative`." +"'rev{caret}\\{object\\}' can be used to make sure 'rev' names an object that " +"exists, without requiring 'rev' to be a tag, and without dereferencing " +"'rev'; because a tag is already an object, it does not have to be " +"dereferenced even once to get to an object." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:737 -msgid "`--date=local` is an alias for `--date=default-local`." +#: en/revisions.txt:161 +msgid "" +"'rev{caret}\\{tag\\}' can be used to ensure that 'rev' identifies an " +"existing tag object." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:162 +#, no-wrap +msgid "'<rev>{caret}{}', e.g. 'v0.99.8{caret}{}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:740 +#: en/revisions.txt:167 msgid "" -"`--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like " -"format. The differences to the strict ISO 8601 format are:" +"A suffix '{caret}' followed by an empty brace pair means the object could be " +"a tag, and dereference the tag recursively until a non-tag object is found." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:742 -msgid "a space instead of the `T` date/time delimiter" +#. type: Labeled list +#: en/revisions.txt:168 +#, no-wrap +msgid "'<rev>{caret}{/<text>}', e.g. 'HEAD^{/fix nasty bug}'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:743 -msgid "a space between time and time zone" +#: en/revisions.txt:174 +msgid "" +"A suffix '{caret}' to a revision parameter, followed by a brace pair that " +"contains a text led by a slash, is the same as the ':/fix nasty bug' syntax " +"below except that it returns the youngest matching commit which is reachable " +"from the '<rev>' before '{caret}'." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:175 +#, no-wrap +msgid "':/<text>', e.g. ':/fix nasty bug'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:744 -msgid "no colon between hours and minutes of the time zone" +#: en/revisions.txt:185 +msgid "" +"A colon, followed by a slash, followed by a text, names a commit whose " +"commit message matches the specified regular expression. This name returns " +"the youngest matching commit which is reachable from any ref. The regular " +"expression can match any part of the commit message. To match messages " +"starting with a string, one can use e.g. ':/^foo'. The special sequence " +"':/!' is reserved for modifiers to what is matched. ':/!-foo' performs a " +"negative match, while ':/!!foo' matches a literal '!' character, followed by " +"'foo'. Any other sequence beginning with ':/!' is reserved for now." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:186 +#, no-wrap +msgid "'<rev>:<path>', e.g. 'HEAD:README', ':README', 'master:./README'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:748 +#: en/revisions.txt:197 msgid "" -"`--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict " -"ISO 8601 format." +"A suffix ':' followed by a path names the blob or tree at the given path in " +"the tree-ish object named by the part before the colon. ':path' (with an " +"empty part before the colon) is a special case of the syntax described " +"next: content recorded in the index at the given path. A path starting with " +"'./' or '../' is relative to the current working directory. The given path " +"will be converted to be relative to the working tree's root directory. This " +"is most useful to address a blob or tree from a commit or tree that has the " +"same tree structure as the working tree." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:198 +#, no-wrap +msgid "':<n>:<path>', e.g. ':0:README', ':README'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:751 +#: en/revisions.txt:206 msgid "" -"`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 format, " -"often found in email messages." +"A colon, optionally followed by a stage number (0 to 3) and a colon, " +"followed by a path, names a blob object in the index at the given path. A " +"missing stage number (and the colon that follows it) names a stage 0 " +"entry. During a merge, stage 1 is the common ancestor, stage 2 is the target " +"branch's version (typically the current branch), and stage 3 is the version " +"from the branch which is being merged." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:753 +#: en/revisions.txt:210 msgid "" -"`--date=short` shows only the date, but not the time, in `YYYY-MM-DD` " -"format." +"Here is an illustration, by Jon Loeliger. Both commit nodes B and C are " +"parents of commit node A. Parent commits are ordered left-to-right." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:762 +#. type: delimited block . +#: en/revisions.txt:222 +#, no-wrap msgid "" -"`--date=raw` shows the date as seconds since the epoch (1970-01-01 00:00:00 " -"UTC), followed by a space, and then the timezone as an offset from UTC (a " -"`+` or `-` with four digits; the first two are hours, and the second two are " -"minutes). I.e., as if the timestamp were formatted with `strftime(\"%s " -"%z\")`). Note that the `-local` option does not affect the " -"seconds-since-epoch value (which is always measured in UTC), but does switch " -"the accompanying timezone value." +"G H I J\n" +" \\ / \\ /\n" +" D E F\n" +" \\ | / \\\n" +" \\ | / |\n" +" \\|/ |\n" +" B C\n" +" \\ /\n" +" \\ /\n" +" A\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:766 +#: en/revisions.txt:234 +#, no-wrap msgid "" -"`--date=unix` shows the date as a Unix epoch timestamp (seconds since " -"1970). As with `--raw`, this is always in UTC and therefore `-local` has no " -"effect." +" A = = A^0\n" +" B = A^ = A^1 = A~1\n" +" C = A^2 = A^2\n" +" D = A^^ = A^1^1 = A~2\n" +" E = B^2 = A^^2\n" +" F = B^3 = A^^3\n" +" G = A^^^ = A^1^1^1 = A~3\n" +" H = D^2 = B^^2 = A^^^2 = A~2^2\n" +" I = F^ = B^3^ = A^^3^\n" +" J = F^2 = B^3^2 = A^^3^2\n" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:772 +#: en/revisions.txt:241 msgid "" -"`--date=format:...` feeds the format `...` to your system `strftime`. Use " -"`--date=format:%c` to show the date in your system locale's preferred " -"format. See the `strftime` manual for a complete list of format " -"placeholders. When using `-local`, the correct syntax is " -"`--date=format-local:...`." +"History traversing commands such as `git log` operate on a set of commits, " +"not just a single commit." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:775 +#: en/revisions.txt:246 msgid "" -"`--date=default` is the default format, and is similar to `--date=rfc2822`, " -"with a few exceptions:" +"For these commands, specifying a single revision, using the notation " +"described in the previous section, means the set of commits `reachable` from " +"the given commit." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:777 -msgid "there is no comma after the day-of-week" +#: en/revisions.txt:249 +msgid "" +"A commit's reachable set is the commit itself and the commits in its " +"ancestry chain." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:779 -msgid "the time zone is omitted when the local time zone is used" +#. type: Title ~ +#: en/revisions.txt:252 +#, no-wrap +msgid "Commit Exclusions" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:781 +#: en/revisions.txt:254 #, no-wrap -msgid "--header" +msgid "'{caret}<rev>' (caret) Notation" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:784 +#: en/revisions.txt:259 msgid "" -"Print the contents of the commit in raw-format; each record is separated " -"with a NUL character." +"To exclude commits reachable from a commit, a prefix '{caret}' notation is " +"used. E.g. '{caret}r1 r2' means commits reachable from 'r2' but exclude the " +"ones reachable from 'r1' (i.e. 'r1' and its ancestors)." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:789 -msgid "" -"Print also the parents of the commit (in the form \"commit parent...\"). " -"Also enables parent rewriting, see 'History Simplification' below." +#. type: Title ~ +#: en/revisions.txt:261 +#, no-wrap +msgid "Dotted Range Notations" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:790 +#: en/revisions.txt:263 #, no-wrap -msgid "--children" +msgid "The '..' (two-dot) Range Notation" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:793 +#: en/revisions.txt:269 msgid "" -"Print also the children of the commit (in the form \"commit child...\"). " -"Also enables parent rewriting, see 'History Simplification' below." +"The '{caret}r1 r2' set operation appears so often that there is a shorthand " +"for it. When you have two commits 'r1' and 'r2' (named according to the " +"syntax explained in SPECIFYING REVISIONS above), you can ask for commits " +"that are reachable from r2 excluding those that are reachable from r1 by " +"'{caret}r1 r2' and it can be written as 'r1..r2'." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:795 +#: en/revisions.txt:270 #, no-wrap -msgid "--timestamp" +msgid "The '...' (three dot) Symmetric Difference Notation" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:797 -msgid "Print the raw commit timestamp." +#: en/revisions.txt:276 +msgid "" +"A similar notation 'r1\\...r2' is called symmetric difference of 'r1' and " +"'r2' and is defined as 'r1 r2 --not $(git merge-base --all r1 r2)'. It is " +"the set of commits that are reachable from either one of 'r1' (left side) or " +"'r2' (right side) but not from both." msgstr "" -#. type: Labeled list -#: en/rev-list-options.txt:799 +#. type: Plain text +#: en/revisions.txt:283 +msgid "" +"In these two shorthand notations, you can omit one end and let it default to " +"HEAD. For example, 'origin..' is a shorthand for 'origin..HEAD' and asks " +"\"What did I do since I forked from the origin branch?\" Similarly, " +"'..origin' is a shorthand for 'HEAD..origin' and asks \"What did the origin " +"do since I forked from them?\" Note that '..' would mean 'HEAD..HEAD' which " +"is an empty range that is both reachable and unreachable from HEAD." +msgstr "" + +#. type: Title ~ +#: en/revisions.txt:285 #, no-wrap -msgid "--left-right" +msgid "Other <rev>{caret} Parent Shorthand Notations" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:804 +#: en/revisions.txt:288 msgid "" -"Mark which side of a symmetric difference a commit is reachable from. " -"Commits from the left side are prefixed with `<` and those from the right " -"with `>`. If combined with `--boundary`, those commits are prefixed with " -"`-`." +"Three other shorthands exist, particularly useful for merge commits, for " +"naming a set that is formed by a commit and its parent commits." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:806 -msgid "For example, if you have this topology:" +#: en/revisions.txt:290 +msgid "The 'r1{caret}@' notation means all parents of 'r1'." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:813 -#, no-wrap +#. type: Plain text +#: en/revisions.txt:293 msgid "" -"\t y---b---b branch B\n" -"\t / \\ /\n" -"\t / .\n" -"\t / / \\\n" -"\t o---x---a---a branch A\n" +"The 'r1{caret}!' notation includes commit 'r1' but excludes all of its " +"parents. By itself, this notation denotes the single commit 'r1'." msgstr "" #. type: Plain text -#: en/rev-list-options.txt:816 -msgid "you would get an output like this:" +#: en/revisions.txt:300 +msgid "" +"The '<rev>{caret}-{<n>}' notation includes '<rev>' but excludes the <n>th " +"parent (i.e. a shorthand for '<rev>{caret}<n>..<rev>'), with '<n>' = 1 if " +"not given. This is typically useful for merge commits where you can just " +"pass '<commit>{caret}-' to get all the commits in the branch that was merged " +"in merge commit '<commit>' (including '<commit>' itself)." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:819 -#, no-wrap -msgid "\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n" +#. type: Plain text +#: en/revisions.txt:304 +msgid "" +"While '<rev>{caret}<n>' was about specifying a single commit parent, these " +"three notations also consider its parents. For example you can say " +"'HEAD{caret}2{caret}@', however you cannot say 'HEAD{caret}@{caret}2'." msgstr "" -#. type: delimited block - -#: en/rev-list-options.txt:826 +#. type: Title - +#: en/revisions.txt:306 #, no-wrap -msgid "" -"\t>bbbbbbb... 3rd on b\n" -"\t>bbbbbbb... 2nd on b\n" -"\t<aaaaaaa... 3rd on a\n" -"\t<aaaaaaa... 2nd on a\n" -"\t-yyyyyyy... 1st on b\n" -"\t-xxxxxxx... 1st on a\n" +msgid "Revision Range Summary" msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:828 +#: en/revisions.txt:308 #, no-wrap -msgid "--graph" +msgid "'<rev>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:834 +#: en/revisions.txt:311 msgid "" -"Draw a text-based graphical representation of the commit history on the left " -"hand side of the output. This may cause extra lines to be printed in " -"between commits, in order for the graph history to be drawn properly. " -"Cannot be combined with `--no-walk`." +"Include commits that are reachable from <rev> (i.e. <rev> and its " +"ancestors)." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:836 -msgid "This enables parent rewriting, see 'History Simplification' below." +#. type: Labeled list +#: en/revisions.txt:312 +#, no-wrap +msgid "'{caret}<rev>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:839 +#: en/revisions.txt:315 msgid "" -"This implies the `--topo-order` option by default, but the `--date-order` " -"option may also be specified." +"Exclude commits that are reachable from <rev> (i.e. <rev> and its " +"ancestors)." msgstr "" #. type: Labeled list -#: en/rev-list-options.txt:840 +#: en/revisions.txt:316 #, no-wrap -msgid "--show-linear-break[=<barrier>]" -msgstr "" - -#. type: Plain text -#: en/rev-list-options.txt:846 -msgid "" -"When --graph is not used, all history branches are flattened which can make " -"it hard to see that the two consecutive commits do not belong to a linear " -"branch. This option puts a barrier in between them in that case. If " -"`<barrier>` is specified, it is the string that will be shown instead of the " -"default one." +msgid "'<rev1>..<rev2>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:856 +#: en/revisions.txt:320 msgid "" -"Print a number stating how many commits would have been listed, and suppress " -"all other output. When used together with `--left-right`, instead print the " -"counts for left and right commits, separated by a tab. When used together " -"with `--cherry-mark`, omit patch equivalent commits from these counts and " -"print the count for equivalent commits separated by a tab." +"Include commits that are reachable from <rev2> but exclude those that are " +"reachable from <rev1>. When either <rev1> or <rev2> is omitted, it defaults " +"to `HEAD`." msgstr "" -#. type: Title ~ -#: en/rev-list-options.txt:860 +#. type: Labeled list +#: en/revisions.txt:321 #, no-wrap -msgid "Diff Formatting" +msgid "'<rev1>\\...<rev2>'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:865 +#: en/revisions.txt:325 msgid "" -"Listed below are options that control the formatting of diff output. Some " -"of them are specific to linkgit:git-rev-list[1], however other diff options " -"may be given. See linkgit:git-diff-files[1] for more options." +"Include commits that are reachable from either <rev1> or <rev2> but exclude " +"those that are reachable from both. When either <rev1> or <rev2> is " +"omitted, it defaults to `HEAD`." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:872 -msgid "" -"With this option, diff output for a merge commit shows the differences from " -"each of the parents to the merge result simultaneously instead of showing " -"pairwise diff between a parent and the result one at a time. Furthermore, it " -"lists only files which were modified from all parents." +#. type: Labeled list +#: en/revisions.txt:326 +#, no-wrap +msgid "'<rev>{caret}@', e.g. 'HEAD{caret}@'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:878 +#: en/revisions.txt:330 msgid "" -"This flag implies the `-c` option and further compresses the patch output by " -"omitting uninteresting hunks whose contents in the parents have only two " -"variants and the merge result picks one of them without modification." +"A suffix '{caret}' followed by an at sign is the same as listing all parents " +"of '<rev>' (meaning, include anything reachable from its parents, but not " +"the commit itself)." +msgstr "" + +#. type: Labeled list +#: en/revisions.txt:331 +#, no-wrap +msgid "'<rev>{caret}!', e.g. 'HEAD{caret}!'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:886 +#: en/revisions.txt:335 msgid "" -"This flag makes the merge commits show the full diff like regular commits; " -"for each merge parent, a separate log entry and diff is generated. An " -"exception is that only diff against the first parent is shown when " -"`--first-parent` option is given; in that case, the output represents the " -"changes the merge brought _into_ the then-current branch." +"A suffix '{caret}' followed by an exclamation mark is the same as giving " +"commit '<rev>' and then all its parents prefixed with '{caret}' to exclude " +"them (and their ancestors)." msgstr "" -#. type: Plain text -#: en/rev-list-options.txt:889 -msgid "Show recursive diffs." +#. type: Labeled list +#: en/revisions.txt:336 +#, no-wrap +msgid "'<rev>{caret}-{<n>}', e.g. 'HEAD{caret}-, HEAD{caret}-2'" msgstr "" #. type: Plain text -#: en/rev-list-options.txt:892 -msgid "Show the tree objects in the diff output. This implies `-r`." +#: en/revisions.txt:339 +msgid "Equivalent to '<rev>{caret}<n>..<rev>', with '<n>' = 1 if not given." msgstr "" #. type: Plain text -#: en/sequencer.txt:5 +#: en/revisions.txt:343 msgid "" -"Continue the operation in progress using the information in " -"'.git/sequencer'. Can be used to continue after resolving conflicts in a " -"failed cherry-pick or revert." +"Here are a handful of examples using the Loeliger illustration above, with " +"each step in the notation's expansion and selection carefully spelt out:" msgstr "" #. type: Plain text -#: en/sequencer.txt:10 +#: en/revisions.txt:365 +#, no-wrap msgid "" -"Forget about the current operation in progress. Can be used to clear the " -"sequencer state after a failed cherry-pick or revert." +" Args Expanded arguments Selected commits\n" +" D G H D\n" +" D F G H I J D F\n" +" ^G D H D\n" +" ^D B E I J F B\n" +" ^D B C E I J F B C\n" +" C I J F C\n" +" B..C = ^B C C\n" +" B...C = B ^F C G H D E B C\n" +" B^- = B^..B\n" +"\t = ^B^1 B E I J F B\n" +" C^@ = C^1\n" +"\t = F I J F\n" +" B^@ = B^1 B^2 B^3\n" +"\t = D E F D G H E F I J\n" +" C^! = C ^C^@\n" +"\t = C ^C^1\n" +"\t = C ^F C\n" +" B^! = B ^B^@\n" +"\t = B ^B^1 ^B^2 ^B^3\n" +"\t = B ^D ^E ^F B\n" +" F^! D = F ^I ^J D G H D F\n" msgstr "" -#. type: Plain text -#: en/sequencer.txt:12 -msgid "Cancel the operation and return to the pre-sequence state." +#. type: Title ~ +#: en/rev-list-options.txt:2 +#, no-wrap +msgid "Commit Limiting" msgstr "" #. type: Plain text -#: en/transfer-data-leaks.txt:11 +#: en/rev-list-options.txt:7 msgid "" -"The fetch and push protocols are not designed to prevent one side from " -"stealing data from the other repository that was not intended to be " -"shared. If you have private data that you need to protect from a malicious " -"peer, your best option is to store it in another repository. This applies to " -"both clients and servers. In particular, namespaces on a server are not " -"effective for read access control; you should only grant read access to a " -"namespace to clients that you would trust with read access to the entire " -"repository." +"Besides specifying a range of commits that should be listed using the " +"special notations explained in the description, additional commit limiting " +"may be applied." msgstr "" #. type: Plain text -#: en/transfer-data-leaks.txt:13 -msgid "The known attack vectors are as follows:" +#: en/rev-list-options.txt:12 +msgid "" +"Using more options generally further limits the output (e.g. " +"`--since=<date1>` limits to commits newer than `<date1>`, and using it with " +"`--grep=<pattern>` further limits to commits whose log message has a line " +"that matches `<pattern>`), unless otherwise noted." msgstr "" #. type: Plain text -#: en/transfer-data-leaks.txt:26 +#: en/rev-list-options.txt:15 msgid "" -"The victim sends \"have\" lines advertising the IDs of objects it has that " -"are not explicitly intended to be shared but can be used to optimize the " -"transfer if the peer also has them. The attacker chooses an object ID X to " -"steal and sends a ref to X, but isn't required to send the content of X " -"because the victim already has it. Now the victim believes that the attacker " -"has X, and it sends the content of X back to the attacker later. (This " -"attack is most straightforward for a client to perform on a server, by " -"creating a ref to X in the namespace the client has access to and then " -"fetching it. The most likely way for a server to perform it on a client is " -"to \"merge\" X into a public branch and hope that the user does additional " -"work on this branch and pushes it back to the server without noticing the " -"merge.)" +"Note that these are applied before commit ordering and formatting options, " +"such as `--reverse`." msgstr "" -#. type: Plain text -#: en/transfer-data-leaks.txt:30 -msgid "" -"As in #1, the attacker chooses an object ID X to steal. The victim sends an " -"object Y that the attacker already has, and the attacker falsely claims to " -"have X and not Y, so the victim sends Y as a delta against X. The delta " -"reveals regions of X that are similar to Y to the attacker." +#. type: Labeled list +#: en/rev-list-options.txt:18 +#, no-wrap +msgid "-<number>" msgstr "" -#. type: Title - -#: en/urls-remotes.txt:4 +#. type: Labeled list +#: en/rev-list-options.txt:19 #, no-wrap -msgid "REMOTES[[REMOTES]]" +msgid "-n <number>" msgstr "" -#. type: Plain text -#: en/urls-remotes.txt:8 -msgid "" -"The name of one of the following can be used instead of a URL as " -"`<repository>` argument:" +#. type: Labeled list +#: en/rev-list-options.txt:20 +#, no-wrap +msgid "--max-count=<number>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:10 -msgid "a remote in the Git configuration file: `$GIT_DIR/config`," +#: en/rev-list-options.txt:22 +msgid "Limit the number of commits to output." msgstr "" -#. type: Plain text -#: en/urls-remotes.txt:11 -msgid "a file in the `$GIT_DIR/remotes` directory, or" +#. type: Labeled list +#: en/rev-list-options.txt:23 +#, no-wrap +msgid "--skip=<number>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:12 -msgid "a file in the `$GIT_DIR/branches` directory." +#: en/rev-list-options.txt:25 +msgid "Skip 'number' commits before starting to show the commit output." msgstr "" -#. type: Plain text -#: en/urls-remotes.txt:15 -msgid "" -"All of these also allow you to omit the refspec from the command line " -"because they each contain a refspec which git will use by default." +#. type: Labeled list +#: en/rev-list-options.txt:26 +#, no-wrap +msgid "--since=<date>" msgstr "" -#. type: Title ~ -#: en/urls-remotes.txt:17 +#. type: Labeled list +#: en/rev-list-options.txt:27 #, no-wrap -msgid "Named remote in configuration file" +msgid "--after=<date>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:26 -msgid "" -"You can choose to provide the name of a remote which you had previously " -"configured using linkgit:git-remote[1], linkgit:git-config[1] or even by a " -"manual edit to the `$GIT_DIR/config` file. The URL of this remote will be " -"used to access the repository. The refspec of this remote will be used by " -"default when you do not provide a refspec on the command line. The entry in " -"the config file would appear like this:" +#: en/rev-list-options.txt:29 +msgid "Show commits more recent than a specific date." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:33 +#. type: Labeled list +#: en/rev-list-options.txt:30 #, no-wrap -msgid "" -"\t[remote \"<name>\"]\n" -"\t\turl = <url>\n" -"\t\tpushurl = <pushurl>\n" -"\t\tpush = <refspec>\n" -"\t\tfetch = <refspec>\n" +msgid "--until=<date>" +msgstr "" + +#. type: Labeled list +#: en/rev-list-options.txt:31 +#, no-wrap +msgid "--before=<date>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:37 -msgid "" -"The `<pushurl>` is used for pushes only. It is optional and defaults to " -"`<url>`." +#: en/rev-list-options.txt:33 +msgid "Show commits older than a specific date." msgstr "" -#. type: Title ~ -#: en/urls-remotes.txt:39 +#. type: Labeled list +#: en/rev-list-options.txt:35 #, no-wrap -msgid "Named file in `$GIT_DIR/remotes`" +msgid "--max-age=<timestamp>" +msgstr "" + +#. type: Labeled list +#: en/rev-list-options.txt:36 +#, no-wrap +msgid "--min-age=<timestamp>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:47 -msgid "" -"You can choose to provide the name of a file in `$GIT_DIR/remotes`. The URL " -"in this file will be used to access the repository. The refspec in this " -"file will be used as default when you do not provide a refspec on the " -"command line. This file should have the following format:" +#: en/rev-list-options.txt:38 +msgid "Limit the commits output to specified time range." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:52 +#. type: Labeled list +#: en/rev-list-options.txt:40 #, no-wrap -msgid "" -"\tURL: one of the above URL format\n" -"\tPush: <refspec>\n" -"\tPull: <refspec>\n" +msgid "--author=<pattern>" +msgstr "" + +#. type: Labeled list +#: en/rev-list-options.txt:41 +#, no-wrap +msgid "--committer=<pattern>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:59 +#: en/rev-list-options.txt:47 msgid "" -"`Push:` lines are used by 'git push' and `Pull:` lines are used by 'git " -"pull' and 'git fetch'. Multiple `Push:` and `Pull:` lines may be specified " -"for additional branch mappings." +"Limit the commits output to ones with author/committer header lines that " +"match the specified pattern (regular expression). With more than one " +"`--author=<pattern>`, commits whose author matches any of the given patterns " +"are chosen (similarly for multiple `--committer=<pattern>`)." msgstr "" -#. type: Title ~ -#: en/urls-remotes.txt:61 +#. type: Labeled list +#: en/rev-list-options.txt:48 #, no-wrap -msgid "Named file in `$GIT_DIR/branches`" +msgid "--grep-reflog=<pattern>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:67 +#: en/rev-list-options.txt:54 msgid "" -"You can choose to provide the name of a file in `$GIT_DIR/branches`. The " -"URL in this file will be used to access the repository. This file should " -"have the following format:" +"Limit the commits output to ones with reflog entries that match the " +"specified pattern (regular expression). With more than one `--grep-reflog`, " +"commits whose reflog message matches any of the given patterns are chosen. " +"It is an error to use this option unless `--walk-reflogs` is in use." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:71 +#. type: Labeled list +#: en/rev-list-options.txt:55 #, no-wrap -msgid "\t<url>#<head>\n" +msgid "--grep=<pattern>" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:74 -msgid "`<url>` is required; `#<head>` is optional." +#: en/rev-list-options.txt:61 +msgid "" +"Limit the commits output to ones with log message that matches the specified " +"pattern (regular expression). With more than one `--grep=<pattern>`, " +"commits whose message matches any of the given patterns are chosen (but see " +"`--all-match`)." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:79 +#: en/rev-list-options.txt:65 msgid "" -"Depending on the operation, git will use one of the following refspecs, if " -"you don't provide one on the command line. `<branch>` is the name of this " -"file in `$GIT_DIR/branches` and `<head>` defaults to `master`." +"When `--show-notes` is in effect, the message from the notes is matched as " +"if it were part of the log message." msgstr "" #. type: Plain text -#: en/urls-remotes.txt:81 -msgid "git fetch uses:" +#: en/rev-list-options.txt:70 +msgid "" +"Limit the commits output to ones that match all given `--grep`, instead of " +"ones that match at least one." msgstr "" -#. type: delimited block - -#: en/urls-remotes.txt:84 +#. type: Labeled list +#: en/rev-list-options.txt:71 #, no-wrap -msgid "\trefs/heads/<head>:refs/heads/<branch>\n" +msgid "--invert-grep" msgstr "" #. type: Plain text -#: en/urls-remotes.txt:87 -msgid "git push uses:" -msgstr "" - -#. type: delimited block - -#: en/urls-remotes.txt:90 -#, no-wrap -msgid "\tHEAD:refs/heads/<head>\n" +#: en/rev-list-options.txt:74 +msgid "" +"Limit the commits output to ones with log message that do not match the " +"pattern specified with `--grep=<pattern>`." msgstr "" -#. type: Title - -#: en/urls.txt:2 +#. type: Labeled list +#: en/rev-list-options.txt:76 #, no-wrap -msgid "GIT URLS[[URLS]]" +msgid "--regexp-ignore-case" msgstr "" #. type: Plain text -#: en/urls.txt:8 +#: en/rev-list-options.txt:79 msgid "" -"In general, URLs contain information about the transport protocol, the " -"address of the remote server, and the path to the repository. Depending on " -"the transport protocol, some of this information may be absent." +"Match the regular expression limiting patterns without regard to letter " +"case." msgstr "" #. type: Plain text -#: en/urls.txt:12 +#: en/rev-list-options.txt:83 msgid "" -"Git supports ssh, git, http, and https protocols (in addition, ftp, and ftps " -"can be used for fetching, but this is inefficient and deprecated; do not use " -"it)." +"Consider the limiting patterns to be basic regular expressions; this is the " +"default." msgstr "" #. type: Plain text -#: en/urls.txt:15 +#: en/rev-list-options.txt:88 msgid "" -"The native transport (i.e. git:// URL) does no authentication and should be " -"used with caution on unsecured networks." +"Consider the limiting patterns to be extended regular expressions instead of " +"the default basic regular expressions." msgstr "" #. type: Plain text -#: en/urls.txt:17 -msgid "The following syntaxes may be used with them:" +#: en/rev-list-options.txt:93 +msgid "" +"Consider the limiting patterns to be fixed strings (don't interpret pattern " +"as a regular expression)." msgstr "" #. type: Plain text -#: en/urls.txt:19 -msgid "ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/" +#: en/rev-list-options.txt:97 +msgid "" +"Consider the limiting patterns to be Perl-compatible regular expressions. " +"Requires libpcre to be compiled in." msgstr "" -#. type: Plain text -#: en/urls.txt:20 -msgid "git://host.xz{startsb}:port{endsb}/path/to/repo.git/" +#. type: Labeled list +#: en/rev-list-options.txt:98 +#, no-wrap +msgid "--remove-empty" msgstr "" #. type: Plain text -#: en/urls.txt:21 -msgid "http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" +#: en/rev-list-options.txt:100 +msgid "Stop when a given path disappears from the tree." msgstr "" -#. type: Plain text -#: en/urls.txt:22 -msgid "ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" +#. type: Labeled list +#: en/rev-list-options.txt:101 +#, no-wrap +msgid "--merges" msgstr "" #. type: Plain text -#: en/urls.txt:24 -msgid "An alternative scp-like syntax may also be used with the ssh protocol:" +#: en/rev-list-options.txt:103 +msgid "Print only merge commits. This is exactly the same as `--min-parents=2`." msgstr "" -#. type: Plain text -#: en/urls.txt:26 -msgid "{startsb}user@{endsb}host.xz:path/to/repo.git/" +#. type: Labeled list +#: en/rev-list-options.txt:104 +#, no-wrap +msgid "--no-merges" msgstr "" #. type: Plain text -#: en/urls.txt:32 +#: en/rev-list-options.txt:107 msgid "" -"This syntax is only recognized if there are no slashes before the first " -"colon. This helps differentiate a local path that contains a colon. For " -"example the local path `foo:bar` could be specified as an absolute path or " -"`./foo:bar` to avoid being misinterpreted as an ssh url." +"Do not print commits with more than one parent. This is exactly the same as " +"`--max-parents=1`." msgstr "" -#. type: Plain text -#: en/urls.txt:34 -msgid "The ssh and git protocols additionally support ~username expansion:" +#. type: Labeled list +#: en/rev-list-options.txt:108 +#, no-wrap +msgid "--min-parents=<number>" msgstr "" -#. type: Plain text -#: en/urls.txt:36 -msgid "ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/" +#. type: Labeled list +#: en/rev-list-options.txt:109 +#, no-wrap +msgid "--max-parents=<number>" msgstr "" -#. type: Plain text -#: en/urls.txt:37 -msgid "git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/" +#. type: Labeled list +#: en/rev-list-options.txt:110 +#, no-wrap +msgid "--no-min-parents" msgstr "" -#. type: Plain text -#: en/urls.txt:38 -msgid "{startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/" +#. type: Labeled list +#: en/rev-list-options.txt:111 +#, no-wrap +msgid "--no-max-parents" msgstr "" #. type: Plain text -#: en/urls.txt:41 +#: en/rev-list-options.txt:116 msgid "" -"For local repositories, also supported by Git natively, the following " -"syntaxes may be used:" -msgstr "" - -#. type: Plain text -#: en/urls.txt:43 -msgid "/path/to/repo.git/" -msgstr "" - -#. type: Plain text -#: en/urls.txt:44 -msgid "\\file:///path/to/repo.git/" +"Show only commits which have at least (or at most) that many parent " +"commits. In particular, `--max-parents=1` is the same as `--no-merges`, " +"`--min-parents=2` is the same as `--merges`. `--max-parents=0` gives all " +"root commits and `--min-parents=3` all octopus merges." msgstr "" #. type: Plain text -#: en/urls.txt:49 +#: en/rev-list-options.txt:120 msgid "" -"These two syntaxes are mostly equivalent, except when cloning, when the " -"former implies --local option. See linkgit:git-clone[1] for details." +"`--no-min-parents` and `--no-max-parents` reset these limits (to no limit) " +"again. Equivalent forms are `--min-parents=0` (any commit has 0 or more " +"parents) and `--max-parents=-1` (negative numbers denote no upper limit)." msgstr "" #. type: Plain text -#: en/urls.txt:54 +#: en/rev-list-options.txt:130 msgid "" -"These two syntaxes are mostly equivalent, except the former implies --local " -"option." +"Follow only the first parent commit upon seeing a merge commit. This option " +"can give a better overview when viewing the evolution of a particular topic " +"branch, because merges into a topic branch tend to be only about adjusting " +"to updated upstream from time to time, and this option allows you to ignore " +"the individual commits brought in to your history by such a merge. Cannot be " +"combined with --bisect." msgstr "" #. type: Plain text -#: en/urls.txt:60 +#: en/rev-list-options.txt:134 msgid "" -"When Git doesn't know how to handle a certain transport protocol, it " -"attempts to use the 'remote-<transport>' remote helper, if one exists. To " -"explicitly request a remote helper, the following syntax may be used:" +"Reverses the meaning of the '{caret}' prefix (or lack thereof) for all " +"following revision specifiers, up to the next `--not`." msgstr "" #. type: Plain text -#: en/urls.txt:62 -msgid "<transport>::<address>" +#: en/rev-list-options.txt:138 +msgid "" +"Pretend as if all the refs in `refs/`, along with `HEAD`, are listed on the " +"command line as '<commit>'." msgstr "" -#. type: Plain text -#: en/urls.txt:66 -msgid "" -"where <address> may be a path, a server and path, or an arbitrary URL-like " -"string recognized by the specific remote helper being invoked. See " -"linkgit:gitremote-helpers[1] for details." +#. type: Labeled list +#: en/rev-list-options.txt:139 +#, no-wrap +msgid "--branches[=<pattern>]" msgstr "" #. type: Plain text -#: en/urls.txt:71 +#: en/rev-list-options.txt:144 msgid "" -"If there are a large number of similarly-named remote repositories and you " -"want to use a different format for them (such that the URLs you use will be " -"rewritten into URLs that work), you can create a configuration section of " -"the form:" +"Pretend as if all the refs in `refs/heads` are listed on the command line as " +"'<commit>'. If '<pattern>' is given, limit branches to ones matching given " +"shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the " +"end is implied." msgstr "" -#. type: delimited block - -#: en/urls.txt:75 +#. type: Labeled list +#: en/rev-list-options.txt:145 #, no-wrap -msgid "" -"\t[url \"<actual url base>\"]\n" -"\t\tinsteadOf = <other url base>\n" +msgid "--tags[=<pattern>]" msgstr "" #. type: Plain text -#: en/urls.txt:78 en/urls.txt:97 -msgid "For example, with this:" +#: en/rev-list-options.txt:150 +msgid "" +"Pretend as if all the refs in `refs/tags` are listed on the command line as " +"'<commit>'. If '<pattern>' is given, limit tags to ones matching given shell " +"glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end " +"is implied." msgstr "" -#. type: delimited block - -#: en/urls.txt:83 +#. type: Labeled list +#: en/rev-list-options.txt:151 #, no-wrap -msgid "" -"\t[url \"git://git.host.xz/\"]\n" -"\t\tinsteadOf = host.xz:/path/to/\n" -"\t\tinsteadOf = work:\n" +msgid "--remotes[=<pattern>]" msgstr "" #. type: Plain text -#: en/urls.txt:87 +#: en/rev-list-options.txt:156 msgid "" -"a URL like \"work:repo.git\" or like \"host.xz:/path/to/repo.git\" will be " -"rewritten in any context that takes a URL to be " -"\"git://git.host.xz/repo.git\"." +"Pretend as if all the refs in `refs/remotes` are listed on the command line " +"as '<commit>'. If '<pattern>' is given, limit remote-tracking branches to " +"ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', " +"'/{asterisk}' at the end is implied." msgstr "" -#. type: Plain text -#: en/urls.txt:90 -msgid "" -"If you want to rewrite URLs for push only, you can create a configuration " -"section of the form:" +#. type: Labeled list +#: en/rev-list-options.txt:157 +#, no-wrap +msgid "--glob=<glob-pattern>" msgstr "" -#. type: delimited block - -#: en/urls.txt:94 -#, no-wrap +#. type: Plain text +#: en/rev-list-options.txt:162 msgid "" -"\t[url \"<actual url base>\"]\n" -"\t\tpushInsteadOf = <other url base>\n" +"Pretend as if all the refs matching shell glob '<glob-pattern>' are listed " +"on the command line as '<commit>'. Leading 'refs/', is automatically " +"prepended if missing. If pattern lacks '?', '{asterisk}', or '[', " +"'/{asterisk}' at the end is implied." msgstr "" -#. type: delimited block - -#: en/urls.txt:101 +#. type: Labeled list +#: en/rev-list-options.txt:178 #, no-wrap -msgid "" -"\t[url \"ssh://example.org/\"]\n" -"\t\tpushInsteadOf = git://example.org/\n" +msgid "--reflog" msgstr "" #. type: Plain text -#: en/urls.txt:105 +#: en/rev-list-options.txt:181 msgid "" -"a URL like \"git://example.org/path/to/repo.git\" will be rewritten to " -"\"ssh://example.org/path/to/repo.git\" for pushes, but pulls will still use " -"the original URL." +"Pretend as if all objects mentioned by reflogs are listed on the command " +"line as `<commit>`." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:3 -msgid "Add file contents to the index." +#: en/rev-list-options.txt:185 +msgid "" +"Upon seeing an invalid object name in the input, pretend as if the bad input " +"was not given." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:4 +#: en/rev-list-options.txt:187 en/rev-list-options.txt:569 #, no-wrap -msgid "linkgit:git-am[1]" +msgid "--bisect" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:6 -msgid "Apply a series of patches from a mailbox." +#: en/rev-list-options.txt:192 +msgid "" +"Pretend as if the bad bisection ref `refs/bisect/bad` was listed and as if " +"it was followed by `--not` and the good bisection refs `refs/bisect/good-*` " +"on the command line. Cannot be combined with --first-parent." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:7 -#, no-wrap -msgid "linkgit:git-archive[1]" +#. type: Plain text +#: en/rev-list-options.txt:199 +msgid "" +"In addition to the '<commit>' listed on the command line, read them from the " +"standard input. If a `--` separator is seen, stop reading commits and start " +"reading paths to limit the result." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:9 -msgid "Create an archive of files from a named tree." +#: en/rev-list-options.txt:207 +msgid "" +"Don't print anything to standard output. This form is primarily meant to " +"allow the caller to test the exit status to see if a range of objects is " +"fully connected (or not). It is faster than redirecting stdout to " +"`/dev/null` as the output does not have to be formatted." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:10 +#: en/rev-list-options.txt:209 #, no-wrap -msgid "linkgit:git-bisect[1]" +msgid "--cherry-mark" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:12 -msgid "Use binary search to find the commit that introduced a bug." +#: en/rev-list-options.txt:212 +msgid "" +"Like `--cherry-pick` (see below) but mark equivalent commits with `=` rather " +"than omitting them, and inequivalent ones with `+`." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:13 +#: en/rev-list-options.txt:213 #, no-wrap -msgid "linkgit:git-branch[1]" +msgid "--cherry-pick" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:15 -msgid "List, create, or delete branches." +#: en/rev-list-options.txt:217 +msgid "" +"Omit any commit that introduces the same change as another commit on the " +"``other side'' when the set of commits are limited with symmetric " +"difference." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:16 -#, no-wrap -msgid "linkgit:git-bundle[1]" +#. type: Plain text +#: en/rev-list-options.txt:225 +msgid "" +"For example, if you have two branches, `A` and `B`, a usual way to list all " +"commits on only one side of them is with `--left-right` (see the example " +"below in the description of the `--left-right` option). However, it shows " +"the commits that were cherry-picked from the other branch (for example, " +"``3rd on b'' may be cherry-picked from branch A). With this option, such " +"pairs of commits are excluded from the output." msgstr "" -#. type: Plain text -#: en/cmds-mainporcelain.txt:18 -msgid "Move objects and refs by archive." +#. type: Labeled list +#: en/rev-list-options.txt:226 +#, no-wrap +msgid "--left-only" msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:19 +#: en/rev-list-options.txt:227 #, no-wrap -msgid "linkgit:git-checkout[1]" +msgid "--right-only" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:21 -msgid "Switch branches or restore working tree files." +#: en/rev-list-options.txt:231 +msgid "" +"List only commits on the respective side of a symmetric difference, " +"i.e. only those which would be marked `<` resp. `>` by `--left-right`." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:24 -msgid "Apply the changes introduced by some existing commits." +#: en/rev-list-options.txt:237 +msgid "" +"For example, `--cherry-pick --right-only A...B` omits those commits from `B` " +"which are in `A` or are patch-equivalent to a commit in `A`. In other words, " +"this lists the `+` commits from `git cherry A B`. More precisely, " +"`--cherry-pick --right-only --no-merges` gives the exact list." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:25 +#: en/rev-list-options.txt:238 #, no-wrap -msgid "linkgit:git-citool[1]" +msgid "--cherry" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:27 -msgid "Graphical alternative to git-commit." +#: en/rev-list-options.txt:244 +msgid "" +"A synonym for `--right-only --cherry-mark --no-merges`; useful to limit the " +"output to the commits on our side and mark those that have been applied to " +"the other side of a forked history with `git log --cherry " +"upstream...mybranch`, similar to `git cherry upstream mybranch`." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:28 +#: en/rev-list-options.txt:246 #, no-wrap -msgid "linkgit:git-clean[1]" +msgid "--walk-reflogs" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:30 -msgid "Remove untracked files from the working tree." -msgstr "" - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:31 -#, no-wrap -msgid "linkgit:git-clone[1]" +#: en/rev-list-options.txt:252 +msgid "" +"Instead of walking the commit ancestry chain, walk reflog entries from the " +"most recent one to older ones. When this option is used you cannot specify " +"commits to exclude (that is, '{caret}commit', 'commit1..commit2', and " +"'commit1\\...commit2' notations cannot be used)." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:33 -msgid "Clone a repository into a new directory." +#: en/rev-list-options.txt:259 +msgid "" +"With `--pretty` format other than `oneline` (for obvious reasons), this " +"causes the output to have two extra lines of information taken from the " +"reflog. The reflog designator in the output may be shown as `ref@{Nth}` " +"(where `Nth` is the reverse-chronological index in the reflog) or as " +"`ref@{timestamp}` (with the timestamp for that entry), depending on a few " +"rules:" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:34 -#, no-wrap -msgid "linkgit:git-commit[1]" +#. type: Plain text +#: en/rev-list-options.txt:263 +msgid "If the starting point is specified as `ref@{Nth}`, show the index format." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:36 -msgid "Record changes to the repository." +#: en/rev-list-options.txt:266 +msgid "" +"If the starting point was specified as `ref@{now}`, show the timestamp " +"format." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:37 -#, no-wrap -msgid "linkgit:git-describe[1]" +#. type: Plain text +#: en/rev-list-options.txt:269 +msgid "" +"If neither was used, but `--date` was given on the command line, show the " +"timestamp in the format requested by `--date`." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:39 -msgid "Give an object a human readable name based on an available ref." +#: en/rev-list-options.txt:271 +msgid "Otherwise, show the index format." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:42 -msgid "Show changes between commits, commit and working tree, etc." +#: en/rev-list-options.txt:277 +msgid "" +"Under `--pretty=oneline`, the commit message is prefixed with this " +"information on the same line. This option cannot be combined with " +"`--reverse`. See also linkgit:git-reflog[1]." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:45 -msgid "Download objects and refs from another repository." +#: en/rev-list-options.txt:281 +msgid "" +"After a failed merge, show refs that touch files having a conflict and don't " +"exist on all heads to merge." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:46 +#: en/rev-list-options.txt:282 #, no-wrap -msgid "linkgit:git-format-patch[1]" +msgid "--boundary" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:48 -msgid "Prepare patches for e-mail submission." +#: en/rev-list-options.txt:285 +msgid "Output excluded boundary commits. Boundary commits are prefixed with `-`." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:49 +#: en/rev-list-options.txt:287 #, no-wrap -msgid "linkgit:git-gc[1]" +msgid "--use-bitmap-index" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:51 -msgid "Cleanup unnecessary files and optimize the local repository." +#: en/rev-list-options.txt:292 +msgid "" +"Try to speed up the traversal using the pack bitmap index (if one is " +"available). Note that when traversing with `--objects`, trees and blobs will " +"not have their associated path printed." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:52 +#: en/rev-list-options.txt:293 #, no-wrap -msgid "linkgit:git-grep[1]" +msgid "--progress=<header>" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:54 -msgid "Print lines matching a pattern." +#: en/rev-list-options.txt:296 +msgid "" +"Show progress reports on stderr as objects are considered. The `<header>` " +"text will be printed with each progress update." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:55 +#. type: Title ~ +#: en/rev-list-options.txt:301 #, no-wrap -msgid "linkgit:git-gui[1]" +msgid "History Simplification" +msgstr "" + +#. type: Plain text +#: en/rev-list-options.txt:307 +msgid "" +"Sometimes you are only interested in parts of the history, for example the " +"commits modifying a particular <path>. But there are two parts of 'History " +"Simplification', one part is selecting the commits and the other is how to " +"do it, as there are various strategies to simplify the history." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:57 -msgid "A portable graphical interface to Git." +#: en/rev-list-options.txt:309 +msgid "The following options select the commits to be shown:" msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:58 +#: en/rev-list-options.txt:310 #, no-wrap -msgid "linkgit:git-init[1]" +msgid "<paths>" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:60 -msgid "Create an empty Git repository or reinitialize an existing one." +#: en/rev-list-options.txt:312 +msgid "Commits modifying the given <paths> are selected." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:61 +#: en/rev-list-options.txt:313 #, no-wrap -msgid "linkgit:git-log[1]" +msgid "--simplify-by-decoration" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:63 -msgid "Show commit logs." +#: en/rev-list-options.txt:315 +msgid "Commits that are referred by some branch or tag are selected." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:66 -msgid "Join two or more development histories together." -msgstr "" - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:67 -#, no-wrap -msgid "linkgit:git-mv[1]" +#: en/rev-list-options.txt:317 +msgid "Note that extra commits can be shown to give a meaningful history." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:69 -msgid "Move or rename a file, a directory, or a symlink." +#: en/rev-list-options.txt:319 +msgid "The following options affect the way the simplification is performed:" msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:70 +#: en/rev-list-options.txt:320 en/rev-list-options.txt:394 #, no-wrap -msgid "linkgit:git-notes[1]" -msgstr "" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:72 -msgid "Add or inspect object notes." +msgid "Default mode" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:75 -msgid "Fetch from and integrate with another repository or a local branch." +#: en/rev-list-options.txt:325 +msgid "" +"Simplifies the history to the simplest history explaining the final state of " +"the tree. Simplest because it prunes some side branches if the end result is " +"the same (i.e. merging branches with the same content)" msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:76 +#: en/rev-list-options.txt:326 #, no-wrap -msgid "linkgit:git-push[1]" -msgstr "" - -#. type: Plain text -#: en/cmds-mainporcelain.txt:78 -msgid "Update remote refs along with associated objects." +msgid "--full-history" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:81 -msgid "Reapply commits on top of another base tip." +#: en/rev-list-options.txt:328 +msgid "Same as the default mode, but does not prune some history." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:82 +#: en/rev-list-options.txt:329 en/rev-list-options.txt:462 #, no-wrap -msgid "linkgit:git-reset[1]" +msgid "--dense" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:84 -msgid "Reset current HEAD to the specified state." +#: en/rev-list-options.txt:332 +msgid "Only the selected commits are shown, plus some to have a meaningful history." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:87 -msgid "Revert some existing commits." +#: en/rev-list-options.txt:335 +msgid "All commits in the simplified history are shown." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:88 +#: en/rev-list-options.txt:336 en/rev-list-options.txt:473 #, no-wrap -msgid "linkgit:git-rm[1]" +msgid "--simplify-merges" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:90 -msgid "Remove files from the working tree and from the index." +#: en/rev-list-options.txt:340 +msgid "" +"Additional option to `--full-history` to remove some needless merges from " +"the resulting history, as there are no selected commits contributing to this " +"merge." msgstr "" #. type: Labeled list -#: en/cmds-mainporcelain.txt:91 +#: en/rev-list-options.txt:341 en/rev-list-options.txt:520 #, no-wrap -msgid "linkgit:git-shortlog[1]" +msgid "--ancestry-path" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:93 -msgid "Summarize 'git log' output." -msgstr "" - -#. type: Labeled list -#: en/cmds-mainporcelain.txt:94 -#, no-wrap -msgid "linkgit:git-show[1]" +#: en/rev-list-options.txt:347 +msgid "" +"When given a range of commits to display (e.g. 'commit1..commit2' or " +"'commit2 {caret}commit1'), only display commits that exist directly on the " +"ancestry chain between the 'commit1' and 'commit2', i.e. commits that are " +"both descendants of 'commit1', and ancestors of 'commit2'." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:96 -msgid "Show various types of objects." +#: en/rev-list-options.txt:349 +msgid "A more detailed explanation follows." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:97 -#, no-wrap -msgid "linkgit:git-stash[1]" +#. type: Plain text +#: en/rev-list-options.txt:353 +msgid "" +"Suppose you specified `foo` as the <paths>. We shall call commits that " +"modify `foo` !TREESAME, and the rest TREESAME. (In a diff filtered for " +"`foo`, they look different and equal, respectively.)" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:99 -msgid "Stash the changes in a dirty working directory away." +#: en/rev-list-options.txt:357 +msgid "" +"In the following, we will always refer to the same example history to " +"illustrate the differences between simplification settings. We assume that " +"you are filtering for a file `foo` in this commit graph:" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:100 +#. type: delimited block - +#: en/rev-list-options.txt:363 #, no-wrap -msgid "linkgit:git-status[1]" +msgid "" +"\t .-A---M---N---O---P---Q\n" +"\t / / / / / /\n" +"\tI B C D E Y\n" +"\t \\ / / / / /\n" +"\t `-------------' X\n" msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:102 -msgid "Show the working tree status." +#: en/rev-list-options.txt:366 +msgid "" +"The horizontal line of history A---Q is taken to be the first parent of each " +"merge. The commits are:" msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:103 -#, no-wrap -msgid "linkgit:git-submodule[1]" +#. type: Plain text +#: en/rev-list-options.txt:370 +msgid "" +"`I` is the initial commit, in which `foo` exists with contents ``asdf'', and " +"a file `quux` exists with contents ``quux''. Initial commits are compared to " +"an empty tree, so `I` is !TREESAME." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:105 -msgid "Initialize, update or inspect submodules." +#: en/rev-list-options.txt:372 +msgid "In `A`, `foo` contains just ``foo''." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:106 -#, no-wrap -msgid "linkgit:git-tag[1]" +#. type: Plain text +#: en/rev-list-options.txt:375 +msgid "" +"`B` contains the same change as `A`. Its merge `M` is trivial and hence " +"TREESAME to all parents." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:108 -msgid "Create, list, delete or verify a tag object signed with GPG." +#: en/rev-list-options.txt:378 +msgid "" +"`C` does not change `foo`, but its merge `N` changes it to ``foobar'', so it " +"is not TREESAME to any parent." msgstr "" -#. type: Labeled list -#: en/cmds-mainporcelain.txt:109 -#, no-wrap -msgid "linkgit:git-worktree[1]" +#. type: Plain text +#: en/rev-list-options.txt:381 +msgid "" +"`D` sets `foo` to ``baz''. Its merge `O` combines the strings from `N` and " +"`D` to ``foobarbaz''; i.e., it is not TREESAME to any parent." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:111 -msgid "Manage multiple working trees." +#: en/rev-list-options.txt:384 +msgid "" +"`E` changes `quux` to ``xyzzy'', and its merge `P` combines the strings to " +"``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`." msgstr "" #. type: Plain text -#: en/cmds-mainporcelain.txt:114 -msgid "The Git repository browser." +#: en/rev-list-options.txt:388 +msgid "" +"`X` is an independent root commit that added a new file `side`, and `Y` " +"modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and " +"`Q` is TREESAME to `P`, but not to `Y`." msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:3 -msgid "Get and set repository or global options." +#: en/rev-list-options.txt:393 +msgid "" +"`rev-list` walks backwards through history, including or excluding commits " +"based on whether `--full-history` and/or parent rewriting (via `--parents` " +"or `--children`) are used. The following settings are available." msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:6 -msgid "Git data exporter." +#: en/rev-list-options.txt:401 +msgid "" +"Commits are included if they are not TREESAME to any parent (though this can " +"be changed, see `--sparse` below). If the commit was a merge, and it was " +"TREESAME to one parent, follow only that parent. (Even if there are several " +"TREESAME parents, follow only one of them.) Otherwise, follow all parents." msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:9 -msgid "Backend for fast Git data importers." +#: en/rev-list-options.txt:403 +msgid "This results in:" msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:10 +#. type: delimited block - +#: en/rev-list-options.txt:408 #, no-wrap -msgid "linkgit:git-filter-branch[1]" +msgid "" +"\t .-A---N---O\n" +"\t / / /\n" +"\tI---------D\n" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:12 -msgid "Rewrite branches." +#: en/rev-list-options.txt:414 +msgid "" +"Note how the rule to only follow the TREESAME parent, if one is available, " +"removed `B` from consideration entirely. `C` was considered via `N`, but is " +"TREESAME. Root commits are compared to an empty tree, so `I` is !TREESAME." msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:15 -msgid "Run merge conflict resolution tools to resolve merge conflicts." +#: en/rev-list-options.txt:418 +msgid "" +"Parent/child relations are only visible with `--parents`, but that does not " +"affect the commits selected in default mode, so we have shown the parent " +"lines." msgstr "" #. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:16 +#: en/rev-list-options.txt:419 #, no-wrap -msgid "linkgit:git-pack-refs[1]" +msgid "--full-history without parent rewriting" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:18 -msgid "Pack heads and tags for efficient repository access." +#: en/rev-list-options.txt:425 +msgid "" +"This mode differs from the default in one point: always follow all parents " +"of a merge, even if it is TREESAME to one of them. Even if more than one " +"side of the merge has commits that are included, this does not imply that " +"the merge itself is! In the example, we get" msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:19 +#. type: delimited block - +#: en/rev-list-options.txt:428 #, no-wrap -msgid "linkgit:git-prune[1]" +msgid "\tI A B N D O P Q\n" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:21 -msgid "Prune all unreachable objects from the object database." +#: en/rev-list-options.txt:433 +msgid "" +"`M` was excluded because it is TREESAME to both parents. `E`, `C` and `B` " +"were all walked, but only `B` was !TREESAME, so the others do not appear." +msgstr "" + +#. type: Plain text +#: en/rev-list-options.txt:437 +msgid "" +"Note that without parent rewriting, it is not really possible to talk about " +"the parent/child relationships between the commits, so we show them " +"disconnected." msgstr "" #. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:22 +#: en/rev-list-options.txt:438 #, no-wrap -msgid "linkgit:git-reflog[1]" +msgid "--full-history with parent rewriting" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:24 -msgid "Manage reflog information." +#: en/rev-list-options.txt:441 +msgid "" +"Ordinary commits are only included if they are !TREESAME (though this can be " +"changed, see `--sparse` below)." msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:25 +#. type: Plain text +#: en/rev-list-options.txt:445 +msgid "" +"Merges are always included. However, their parent list is rewritten: Along " +"each parent, prune away commits that are not included themselves. This " +"results in" +msgstr "" + +#. type: delimited block - +#: en/rev-list-options.txt:452 #, no-wrap -msgid "linkgit:git-remote[1]" +msgid "" +"\t .-A---M---N---O---P---Q\n" +"\t / / / / /\n" +"\tI B / D /\n" +"\t \\ / / / /\n" +"\t `-------------'\n" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:27 -msgid "Manage set of tracked repositories." +#: en/rev-list-options.txt:458 +msgid "" +"Compare to `--full-history` without rewriting above. Note that `E` was " +"pruned away because it is TREESAME, but the parent list of P was rewritten " +"to contain `E`'s parent `I`. The same happened for `C` and `N`, and `X`, " +"`Y` and `Q`." msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:28 -#, no-wrap -msgid "linkgit:git-repack[1]" +#. type: Plain text +#: en/rev-list-options.txt:461 +msgid "" +"In addition to the above settings, you can change whether TREESAME affects " +"inclusion:" msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:30 -msgid "Pack unpacked objects in a repository." +#: en/rev-list-options.txt:465 +msgid "Commits that are walked are included if they are not TREESAME to any parent." msgstr "" -#. type: Labeled list -#: en/cmds-ancillarymanipulators.txt:31 -#, no-wrap -msgid "linkgit:git-replace[1]" +#. type: Plain text +#: en/rev-list-options.txt:468 +msgid "All commits that are walked are included." msgstr "" #. type: Plain text -#: en/cmds-ancillarymanipulators.txt:33 -msgid "Create, list, delete refs to replace objects." +#: en/rev-list-options.txt:472 +msgid "" +"Note that without `--full-history`, this still simplifies merges: if one of " +"the parents is TREESAME, we follow only that one, so the other sides of the " +"merge are never walked." msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:3 -msgid "Annotate file lines with commit information." +#: en/rev-list-options.txt:476 +msgid "" +"First, build a history graph in the same way that `--full-history` with " +"parent rewriting does (see above)." msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:6 -msgid "Show what revision and author last modified each line of a file." +#: en/rev-list-options.txt:479 +msgid "" +"Then simplify each commit `C` to its replacement `C'` in the final history " +"according to the following rules:" msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:7 -#, no-wrap -msgid "linkgit:git-cherry[1]" +#. type: Plain text +#: en/rev-list-options.txt:482 +msgid "Set `C'` to `C`." msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:9 -msgid "Find commits yet to be applied to upstream." +#: en/rev-list-options.txt:487 +msgid "" +"Replace each parent `P` of `C'` with its simplification `P'`. In the " +"process, drop parents that are ancestors of other parents or that are root " +"commits TREESAME to an empty tree, and remove duplicates, but take care to " +"never drop all parents that we are TREESAME to." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:10 -#, no-wrap -msgid "linkgit:git-count-objects[1]" +#. type: Plain text +#: en/rev-list-options.txt:491 +msgid "" +"If after this parent rewriting, `C'` is a root or merge commit (has zero or " +">1 parents), a boundary commit, or !TREESAME, it remains. Otherwise, it is " +"replaced with its only parent." msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:12 -msgid "Count unpacked number of objects and their disk consumption." +#: en/rev-list-options.txt:495 +msgid "" +"The effect of this is best shown by way of comparing to `--full-history` " +"with parent rewriting. The example turns into:" msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:13 +#. type: delimited block - +#: en/rev-list-options.txt:502 #, no-wrap -msgid "linkgit:git-difftool[1]" +msgid "" +"\t .-A---M---N---O\n" +"\t / / /\n" +"\tI B D\n" +"\t \\ / /\n" +"\t `---------'\n" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:15 -msgid "Show changes using common diff tools." +#: en/rev-list-options.txt:505 +msgid "Note the major differences in `N`, `P`, and `Q` over `--full-history`:" msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:16 -#, no-wrap -msgid "linkgit:git-fsck[1]" +#. type: Plain text +#: en/rev-list-options.txt:509 +msgid "" +"`N`'s parent list had `I` removed, because it is an ancestor of the other " +"parent `M`. Still, `N` remained because it is !TREESAME." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:19 -#, no-wrap -msgid "linkgit:git-get-tar-commit-id[1]" +#. type: Plain text +#: en/rev-list-options.txt:512 +msgid "" +"`P`'s parent list similarly had `I` removed. `P` was then removed " +"completely, because it had one parent and is TREESAME." msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:21 -msgid "Extract commit ID from an archive created using git-archive." +#: en/rev-list-options.txt:516 +msgid "" +"`Q`'s parent list had `Y` simplified to `X`. `X` was then removed, because " +"it was a TREESAME root. `Q` was then removed completely, because it had one " +"parent and is TREESAME." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:22 -#, no-wrap -msgid "linkgit:git-help[1]" +#. type: Plain text +#: en/rev-list-options.txt:519 +msgid "Finally, there is a fifth simplification mode available:" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:24 -msgid "Display help information about Git." +#: en/rev-list-options.txt:525 +msgid "" +"Limit the displayed commits to those directly on the ancestry chain between " +"the ``from'' and ``to'' commits in the given commit range. I.e. only display " +"commits that are ancestor of the ``to'' commit and descendants of the " +"``from'' commit." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:25 +#. type: Plain text +#: en/rev-list-options.txt:527 +msgid "As an example use case, consider the following commit history:" +msgstr "" + +#. type: delimited block - +#: en/rev-list-options.txt:534 #, no-wrap -msgid "linkgit:git-instaweb[1]" +msgid "" +"\t D---E-------F\n" +"\t / \\ \\\n" +"\t B---C---G---H---I---J\n" +"\t / \\\n" +"\tA-------K---------------L--M\n" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:27 -msgid "Instantly browse your working repository in gitweb." +#: en/rev-list-options.txt:542 +msgid "" +"A regular 'D..M' computes the set of commits that are ancestors of `M`, but " +"excludes the ones that are ancestors of `D`. This is useful to see what " +"happened to the history leading to `M` since `D`, in the sense that ``what " +"does `M` have that did not exist in `D`''. The result in this example would " +"be all the commits, except `A` and `B` (and `D` itself, of course)." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:28 +#. type: Plain text +#: en/rev-list-options.txt:548 +msgid "" +"When we want to find out what commits in `M` are contaminated with the bug " +"introduced by `D` and need fixing, however, we might want to view only the " +"subset of 'D..M' that are actually descendants of `D`, i.e. excluding `C` " +"and `K`. This is exactly what the `--ancestry-path` option does. Applied to " +"the 'D..M' range, it results in:" +msgstr "" + +#. type: delimited block - +#: en/rev-list-options.txt:555 #, no-wrap -msgid "linkgit:git-merge-tree[1]" +msgid "" +"\t\tE-------F\n" +"\t\t \\ \\\n" +"\t\t G---H---I---J\n" +"\t\t\t \\\n" +"\t\t\t\tL--M\n" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:30 -msgid "Show three-way merge without touching index." +#: en/rev-list-options.txt:564 +msgid "" +"The `--simplify-by-decoration` option allows you to view only the big " +"picture of the topology of the history, by omitting commits that are not " +"referenced by tags. Commits are marked as !TREESAME (in other words, kept " +"after history simplification rules described above) if (1) they are " +"referenced by tags, or (2) they change the contents of the paths given on " +"the command line. All other commits are marked as TREESAME (subject to be " +"simplified away)." msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:31 +#. type: Title ~ +#: en/rev-list-options.txt:567 #, no-wrap -msgid "linkgit:git-rerere[1]" +msgid "Bisection Helpers" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:33 -msgid "Reuse recorded resolution of conflicted merges." +#: en/rev-list-options.txt:576 +msgid "" +"Limit output to the one commit object which is roughly halfway between " +"included and excluded commits. Note that the bad bisection ref " +"`refs/bisect/bad` is added to the included commits (if it exists) and the " +"good bisection refs `refs/bisect/good-*` are added to the excluded commits " +"(if they exist). Thus, supposing there are no refs in `refs/bisect/`, if" msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:34 +#. type: delimited block - +#: en/rev-list-options.txt:579 #, no-wrap -msgid "linkgit:git-rev-parse[1]" +msgid "\t$ git rev-list --bisect foo ^bar ^baz\n" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:36 -msgid "Pick out and massage parameters." +#: en/rev-list-options.txt:582 +msgid "outputs 'midpoint', the output of the two commands" msgstr "" -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:37 +#. type: delimited block - +#: en/rev-list-options.txt:586 #, no-wrap -msgid "linkgit:git-show-branch[1]" +msgid "" +"\t$ git rev-list foo ^midpoint\n" +"\t$ git rev-list midpoint ^bar ^baz\n" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:39 -msgid "Show branches and their commits." +#: en/rev-list-options.txt:592 +msgid "" +"would be of roughly the same length. Finding the change which introduces a " +"regression is thus reduced to a binary search: repeatedly generate and test " +"new 'midpoint's until the commit chain is of length one. Cannot be combined " +"with --first-parent." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:40 +#: en/rev-list-options.txt:593 #, no-wrap -msgid "linkgit:git-verify-commit[1]" +msgid "--bisect-vars" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:42 -msgid "Check the GPG signature of commits." +#: en/rev-list-options.txt:604 +msgid "" +"This calculates the same as `--bisect`, except that refs in `refs/bisect/` " +"are not used, and except that this outputs text ready to be eval'ed by the " +"shell. These lines will assign the name of the midpoint revision to the " +"variable `bisect_rev`, and the expected number of commits to be tested after " +"`bisect_rev` is tested to `bisect_nr`, the expected number of commits to be " +"tested if `bisect_rev` turns out to be good to `bisect_good`, the expected " +"number of commits to be tested if `bisect_rev` turns out to be bad to " +"`bisect_bad`, and the number of commits we are bisecting right now to " +"`bisect_all`." msgstr "" #. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:43 +#: en/rev-list-options.txt:605 #, no-wrap -msgid "linkgit:git-verify-tag[1]" +msgid "--bisect-all" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:45 -msgid "Check the GPG signature of tags." -msgstr "" - -#. type: Labeled list -#: en/cmds-ancillaryinterrogators.txt:46 -#, no-wrap -msgid "linkgit:git-whatchanged[1]" +#: en/rev-list-options.txt:611 +msgid "" +"This outputs all the commit objects between the included and excluded " +"commits, ordered by their distance to the included and excluded " +"commits. Refs in `refs/bisect/` are not used. The farthest from them is " +"displayed first. (This is the only one displayed by `--bisect`.)" msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:48 -msgid "Show logs with difference each commit introduces." +#: en/rev-list-options.txt:615 +msgid "" +"This is useful because it makes it easy to choose a good commit to test when " +"you want to avoid to test some of them for some reason (they may not compile " +"for example)." msgstr "" #. type: Plain text -#: en/cmds-ancillaryinterrogators.txt:51 -msgid "Git web interface (web frontend to Git repositories)." +#: en/rev-list-options.txt:619 +msgid "" +"This option can be used along with `--bisect-vars`, in this case, after all " +"the sorted commit objects, there will be the same text as if `--bisect-vars` " +"had been used alone." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:1 +#. type: Title ~ +#: en/rev-list-options.txt:623 #, no-wrap -msgid "linkgit:git-archimport[1]" +msgid "Commit Ordering" msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:3 -msgid "Import an Arch repository into Git." -msgstr "" - -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:4 -#, no-wrap -msgid "linkgit:git-cvsexportcommit[1]" +#: en/rev-list-options.txt:626 +msgid "By default, the commits are shown in reverse chronological order." msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:6 -msgid "Export a single commit to a CVS checkout." +#: en/rev-list-options.txt:630 +msgid "" +"Show no parents before all of its children are shown, but otherwise show " +"commits in the commit timestamp order." msgstr "" #. type: Labeled list -#: en/cmds-foreignscminterface.txt:7 +#: en/rev-list-options.txt:631 #, no-wrap -msgid "linkgit:git-cvsimport[1]" +msgid "--author-date-order" msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:9 -msgid "Salvage your data out of another SCM people love to hate." +#: en/rev-list-options.txt:634 +msgid "" +"Show no parents before all of its children are shown, but otherwise show " +"commits in the author timestamp order." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:10 -#, no-wrap -msgid "linkgit:git-cvsserver[1]" +#. type: Plain text +#: en/rev-list-options.txt:639 +msgid "" +"Show no parents before all of its children are shown, and avoid showing " +"commits on multiple lines of history intermixed." msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:12 -msgid "A CVS server emulator for Git." +#: en/rev-list-options.txt:641 +msgid "For example, in a commit history like this:" msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:13 +#. type: delimited block - +#: en/rev-list-options.txt:647 #, no-wrap -msgid "linkgit:git-imap-send[1]" +msgid "" +" ---1----2----4----7\n" +"\t\\\t \\\n" +"\t 3----5----6----8---\n" msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:15 -msgid "Send a collection of patches from stdin to an IMAP folder." +#: en/rev-list-options.txt:653 +msgid "" +"where the numbers denote the order of commit timestamps, `git rev-list` and " +"friends with `--date-order` show the commits in the timestamp order: 8 7 6 5 " +"4 3 2 1." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:16 -#, no-wrap -msgid "linkgit:git-p4[1]" +#. type: Plain text +#: en/rev-list-options.txt:658 +msgid "" +"With `--topo-order`, they would show 8 6 5 3 7 4 2 1 (or 8 7 4 2 6 5 3 1); " +"some older commits are shown before newer ones in order to avoid showing the " +"commits from two parallel development track mixed together." msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:18 -msgid "Import from and submit to Perforce repositories." +#: en/rev-list-options.txt:663 +msgid "" +"Output the commits chosen to be shown (see Commit Limiting section above) in " +"reverse order. Cannot be combined with `--walk-reflogs`." msgstr "" -#. type: Labeled list -#: en/cmds-foreignscminterface.txt:19 +#. type: Title ~ +#: en/rev-list-options.txt:665 #, no-wrap -msgid "linkgit:git-quiltimport[1]" +msgid "Object Traversal" msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:21 -msgid "Applies a quilt patchset onto the current branch." +#: en/rev-list-options.txt:668 +msgid "These options are mostly targeted for packing of Git repositories." msgstr "" #. type: Labeled list -#: en/cmds-foreignscminterface.txt:22 +#: en/rev-list-options.txt:670 #, no-wrap -msgid "linkgit:git-request-pull[1]" +msgid "--objects" msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:24 -msgid "Generates a summary of pending changes." +#: en/rev-list-options.txt:675 +msgid "" +"Print the object IDs of any object referenced by the listed commits. " +"`--objects foo ^bar` thus means ``send me all object IDs which I need to " +"download if I have the commit object _bar_ but not _foo_''." msgstr "" #. type: Labeled list -#: en/cmds-foreignscminterface.txt:25 +#: en/rev-list-options.txt:676 #, no-wrap -msgid "linkgit:git-send-email[1]" +msgid "--objects-edge" msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:27 -msgid "Send a collection of patches as emails." +#: en/rev-list-options.txt:682 +msgid "" +"Similar to `--objects`, but also print the IDs of excluded commits prefixed " +"with a ``-'' character. This is used by linkgit:git-pack-objects[1] to " +"build a ``thin'' pack, which records objects in deltified form based on " +"objects contained in these excluded commits to reduce network traffic." msgstr "" #. type: Labeled list -#: en/cmds-foreignscminterface.txt:28 +#: en/rev-list-options.txt:683 #, no-wrap -msgid "linkgit:git-svn[1]" +msgid "--objects-edge-aggressive" msgstr "" #. type: Plain text -#: en/cmds-foreignscminterface.txt:30 -msgid "Bidirectional operation between a Subversion repository and Git." +#: en/rev-list-options.txt:687 +msgid "" +"Similar to `--objects-edge`, but it tries harder to find excluded commits at " +"the cost of increased time. This is used instead of `--objects-edge` to " +"build ``thin'' packs for shallow repositories." msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:1 +#: en/rev-list-options.txt:688 #, no-wrap -msgid "linkgit:git-apply[1]" +msgid "--indexed-objects" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:3 -msgid "Apply a patch to files and/or to the index." -msgstr "" - -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:4 -#, no-wrap -msgid "linkgit:git-checkout-index[1]" +#: en/rev-list-options.txt:692 +msgid "" +"Pretend as if all trees and blobs used by the index are listed on the " +"command line. Note that you probably want to use `--objects`, too." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:6 -msgid "Copy files from the index to the working tree." +#: en/rev-list-options.txt:696 +msgid "Only useful with `--objects`; print the object IDs that are not in packs." msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:7 +#: en/rev-list-options.txt:698 #, no-wrap -msgid "linkgit:git-commit-tree[1]" +msgid "--no-walk[=(sorted|unsorted)]" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:9 -msgid "Create a new commit object." +#: en/rev-list-options.txt:706 +msgid "" +"Only show the given commits, but do not traverse their ancestors. This has " +"no effect if a range is specified. If the argument `unsorted` is given, the " +"commits are shown in the order they were given on the command " +"line. Otherwise (if `sorted` or no argument was given), the commits are " +"shown in reverse chronological order by commit time. Cannot be combined " +"with `--graph`." msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:10 +#: en/rev-list-options.txt:707 #, no-wrap -msgid "linkgit:git-hash-object[1]" +msgid "--do-walk" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:12 -msgid "Compute object ID and optionally creates a blob from a file." +#: en/rev-list-options.txt:709 +msgid "Overrides a previous `--no-walk`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:13 +#. type: Title ~ +#: en/rev-list-options.txt:711 #, no-wrap -msgid "linkgit:git-index-pack[1]" +msgid "Commit Formatting" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:15 -msgid "Build pack index file for an existing packed archive." +#: en/rev-list-options.txt:717 +msgid "" +"Using these options, linkgit:git-rev-list[1] will act similar to the more " +"specialized family of commit log tools: linkgit:git-log[1], " +"linkgit:git-show[1], and linkgit:git-whatchanged[1]" msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:16 +#: en/rev-list-options.txt:721 #, no-wrap -msgid "linkgit:git-merge-file[1]" +msgid "--relative-date" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:18 -msgid "Run a three-way file merge." +#: en/rev-list-options.txt:723 +msgid "Synonym for `--date=relative`." msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:19 +#: en/rev-list-options.txt:724 #, no-wrap -msgid "linkgit:git-merge-index[1]" +msgid "--date=<format>" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:21 -msgid "Run a merge for files needing merging." -msgstr "" - -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:22 -#, no-wrap -msgid "linkgit:git-mktag[1]" +#: en/rev-list-options.txt:731 +msgid "" +"Only takes effect for dates shown in human-readable format, such as when " +"using `--pretty`. `log.date` config variable sets a default value for the " +"log command's `--date` option. By default, dates are shown in the original " +"time zone (either committer's or author's). If `-local` is appended to the " +"format (e.g., `iso-local`), the user's local time zone is used instead." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:24 -msgid "Creates a tag object." +#: en/rev-list-options.txt:735 +msgid "" +"`--date=relative` shows dates relative to the current time, e.g. ``2 hours " +"ago''. The `-local` option has no effect for `--date=relative`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:25 -#, no-wrap -msgid "linkgit:git-mktree[1]" +#. type: Plain text +#: en/rev-list-options.txt:737 +msgid "`--date=local` is an alias for `--date=default-local`." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:27 -msgid "Build a tree-object from ls-tree formatted text." +#: en/rev-list-options.txt:740 +msgid "" +"`--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like " +"format. The differences to the strict ISO 8601 format are:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:28 -#, no-wrap -msgid "linkgit:git-pack-objects[1]" +#. type: Plain text +#: en/rev-list-options.txt:742 +msgid "a space instead of the `T` date/time delimiter" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:30 -msgid "Create a packed archive of objects." +#: en/rev-list-options.txt:743 +msgid "a space between time and time zone" msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:31 -#, no-wrap -msgid "linkgit:git-prune-packed[1]" +#. type: Plain text +#: en/rev-list-options.txt:744 +msgid "no colon between hours and minutes of the time zone" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:33 -msgid "Remove extra objects that are already in pack files." +#: en/rev-list-options.txt:748 +msgid "" +"`--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict " +"ISO 8601 format." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:34 -#, no-wrap -msgid "linkgit:git-read-tree[1]" +#. type: Plain text +#: en/rev-list-options.txt:751 +msgid "" +"`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 format, " +"often found in email messages." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:36 -msgid "Reads tree information into the index." +#: en/rev-list-options.txt:753 +msgid "" +"`--date=short` shows only the date, but not the time, in `YYYY-MM-DD` " +"format." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:37 -#, no-wrap -msgid "linkgit:git-symbolic-ref[1]" +#. type: Plain text +#: en/rev-list-options.txt:762 +msgid "" +"`--date=raw` shows the date as seconds since the epoch (1970-01-01 00:00:00 " +"UTC), followed by a space, and then the timezone as an offset from UTC (a " +"`+` or `-` with four digits; the first two are hours, and the second two are " +"minutes). I.e., as if the timestamp were formatted with `strftime(\"%s " +"%z\")`). Note that the `-local` option does not affect the " +"seconds-since-epoch value (which is always measured in UTC), but does switch " +"the accompanying timezone value." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:39 -msgid "Read, modify and delete symbolic refs." +#: en/rev-list-options.txt:766 +msgid "" +"`--date=unix` shows the date as a Unix epoch timestamp (seconds since " +"1970). As with `--raw`, this is always in UTC and therefore `-local` has no " +"effect." msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:40 -#, no-wrap -msgid "linkgit:git-unpack-objects[1]" +#. type: Plain text +#: en/rev-list-options.txt:772 +msgid "" +"`--date=format:...` feeds the format `...` to your system `strftime`. Use " +"`--date=format:%c` to show the date in your system locale's preferred " +"format. See the `strftime` manual for a complete list of format " +"placeholders. When using `-local`, the correct syntax is " +"`--date=format-local:...`." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:42 -msgid "Unpack objects from a packed archive." +#: en/rev-list-options.txt:775 +msgid "" +"`--date=default` is the default format, and is similar to `--date=rfc2822`, " +"with a few exceptions:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:43 -#, no-wrap -msgid "linkgit:git-update-index[1]" +#. type: Plain text +#: en/rev-list-options.txt:777 +msgid "there is no comma after the day-of-week" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:45 -msgid "Register file contents in the working tree to the index." +#: en/rev-list-options.txt:779 +msgid "the time zone is omitted when the local time zone is used" msgstr "" #. type: Labeled list -#: en/cmds-plumbingmanipulators.txt:46 +#: en/rev-list-options.txt:781 #, no-wrap -msgid "linkgit:git-update-ref[1]" +msgid "--header" msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:48 -msgid "Update the object name stored in a ref safely." +#: en/rev-list-options.txt:784 +msgid "" +"Print the contents of the commit in raw-format; each record is separated " +"with a NUL character." msgstr "" #. type: Plain text -#: en/cmds-plumbingmanipulators.txt:51 -msgid "Create a tree object from the current index." +#: en/rev-list-options.txt:789 +msgid "" +"Print also the parents of the commit (in the form \"commit parent...\"). " +"Also enables parent rewriting, see 'History Simplification' below." msgstr "" #. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:1 +#: en/rev-list-options.txt:790 #, no-wrap -msgid "linkgit:git-cat-file[1]" +msgid "--children" msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:3 -msgid "Provide content or type and size information for repository objects." +#: en/rev-list-options.txt:793 +msgid "" +"Print also the children of the commit (in the form \"commit child...\"). " +"Also enables parent rewriting, see 'History Simplification' below." msgstr "" #. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:4 +#: en/rev-list-options.txt:795 #, no-wrap -msgid "linkgit:git-diff-files[1]" +msgid "--timestamp" msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:6 -msgid "Compares files in the working tree and the index." +#: en/rev-list-options.txt:797 +msgid "Print the raw commit timestamp." msgstr "" #. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:7 +#: en/rev-list-options.txt:799 #, no-wrap -msgid "linkgit:git-diff-index[1]" +msgid "--left-right" msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:9 -msgid "Compare a tree to the working tree or index." -msgstr "" - -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:10 -#, no-wrap -msgid "linkgit:git-diff-tree[1]" +#: en/rev-list-options.txt:804 +msgid "" +"Mark which side of a symmetric difference a commit is reachable from. " +"Commits from the left side are prefixed with `<` and those from the right " +"with `>`. If combined with `--boundary`, those commits are prefixed with " +"`-`." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:12 -msgid "Compares the content and mode of blobs found via two tree objects." +#: en/rev-list-options.txt:806 +msgid "For example, if you have this topology:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:13 +#. type: delimited block - +#: en/rev-list-options.txt:813 #, no-wrap -msgid "linkgit:git-for-each-ref[1]" +msgid "" +"\t y---b---b branch B\n" +"\t / \\ /\n" +"\t / .\n" +"\t / / \\\n" +"\t o---x---a---a branch A\n" msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:15 -msgid "Output information on each ref." +#: en/rev-list-options.txt:816 +msgid "you would get an output like this:" msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:16 +#. type: delimited block - +#: en/rev-list-options.txt:819 #, no-wrap -msgid "linkgit:git-ls-files[1]" +msgid "\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n" msgstr "" -#. type: Plain text -#: en/cmds-plumbinginterrogators.txt:18 -msgid "Show information about files in the index and the working tree." +#. type: delimited block - +#: en/rev-list-options.txt:826 +#, no-wrap +msgid "" +"\t>bbbbbbb... 3rd on b\n" +"\t>bbbbbbb... 2nd on b\n" +"\t<aaaaaaa... 3rd on a\n" +"\t<aaaaaaa... 2nd on a\n" +"\t-yyyyyyy... 1st on b\n" +"\t-xxxxxxx... 1st on a\n" msgstr "" #. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:19 +#: en/rev-list-options.txt:828 #, no-wrap -msgid "linkgit:git-ls-remote[1]" +msgid "--graph" msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:21 -msgid "List references in a remote repository." +#: en/rev-list-options.txt:834 +msgid "" +"Draw a text-based graphical representation of the commit history on the left " +"hand side of the output. This may cause extra lines to be printed in " +"between commits, in order for the graph history to be drawn properly. " +"Cannot be combined with `--no-walk`." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:22 -#, no-wrap -msgid "linkgit:git-ls-tree[1]" +#. type: Plain text +#: en/rev-list-options.txt:836 +msgid "This enables parent rewriting, see 'History Simplification' below." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:24 -msgid "List the contents of a tree object." +#: en/rev-list-options.txt:839 +msgid "" +"This implies the `--topo-order` option by default, but the `--date-order` " +"option may also be specified." msgstr "" #. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:25 +#: en/rev-list-options.txt:840 #, no-wrap -msgid "linkgit:git-merge-base[1]" +msgid "--show-linear-break[=<barrier>]" msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:27 -msgid "Find as good common ancestors as possible for a merge." -msgstr "" - -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:28 -#, no-wrap -msgid "linkgit:git-name-rev[1]" +#: en/rev-list-options.txt:846 +msgid "" +"When --graph is not used, all history branches are flattened which can make " +"it hard to see that the two consecutive commits do not belong to a linear " +"branch. This option puts a barrier in between them in that case. If " +"`<barrier>` is specified, it is the string that will be shown instead of the " +"default one." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:30 -msgid "Find symbolic names for given revs." +#: en/rev-list-options.txt:856 +msgid "" +"Print a number stating how many commits would have been listed, and suppress " +"all other output. When used together with `--left-right`, instead print the " +"counts for left and right commits, separated by a tab. When used together " +"with `--cherry-mark`, omit patch equivalent commits from these counts and " +"print the count for equivalent commits separated by a tab." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:31 +#. type: Title ~ +#: en/rev-list-options.txt:860 #, no-wrap -msgid "linkgit:git-pack-redundant[1]" +msgid "Diff Formatting" msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:33 -msgid "Find redundant pack files." -msgstr "" - -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:34 -#, no-wrap -msgid "linkgit:git-rev-list[1]" +#: en/rev-list-options.txt:865 +msgid "" +"Listed below are options that control the formatting of diff output. Some " +"of them are specific to linkgit:git-rev-list[1], however other diff options " +"may be given. See linkgit:git-diff-files[1] for more options." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:36 -msgid "Lists commit objects in reverse chronological order." +#: en/rev-list-options.txt:872 +msgid "" +"With this option, diff output for a merge commit shows the differences from " +"each of the parents to the merge result simultaneously instead of showing " +"pairwise diff between a parent and the result one at a time. Furthermore, it " +"lists only files which were modified from all parents." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:37 -#, no-wrap -msgid "linkgit:git-show-index[1]" +#. type: Plain text +#: en/rev-list-options.txt:878 +msgid "" +"This flag implies the `-c` option and further compresses the patch output by " +"omitting uninteresting hunks whose contents in the parents have only two " +"variants and the merge result picks one of them without modification." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:39 -msgid "Show packed archive index." +#: en/rev-list-options.txt:886 +msgid "" +"This flag makes the merge commits show the full diff like regular commits; " +"for each merge parent, a separate log entry and diff is generated. An " +"exception is that only diff against the first parent is shown when " +"`--first-parent` option is given; in that case, the output represents the " +"changes the merge brought _into_ the then-current branch." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:42 -msgid "List references in a local repository." +#: en/rev-list-options.txt:889 +msgid "Show recursive diffs." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:43 -#, no-wrap -msgid "linkgit:git-unpack-file[1]" +#. type: Plain text +#: en/rev-list-options.txt:892 +msgid "Show the tree objects in the diff output. This implies `-r`." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:45 -msgid "Creates a temporary file with a blob's contents." +#: en/sequencer.txt:5 +msgid "" +"Continue the operation in progress using the information in " +"'.git/sequencer'. Can be used to continue after resolving conflicts in a " +"failed cherry-pick or revert." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:46 -#, no-wrap -msgid "linkgit:git-var[1]" +#. type: Plain text +#: en/sequencer.txt:10 +msgid "" +"Forget about the current operation in progress. Can be used to clear the " +"sequencer state after a failed cherry-pick or revert." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:48 -msgid "Show a Git logical variable." +#: en/sequencer.txt:12 +msgid "Cancel the operation and return to the pre-sequence state." msgstr "" -#. type: Labeled list -#: en/cmds-plumbinginterrogators.txt:49 -#, no-wrap -msgid "linkgit:git-verify-pack[1]" +#. type: Plain text +#: en/transfer-data-leaks.txt:11 +msgid "" +"The fetch and push protocols are not designed to prevent one side from " +"stealing data from the other repository that was not intended to be " +"shared. If you have private data that you need to protect from a malicious " +"peer, your best option is to store it in another repository. This applies to " +"both clients and servers. In particular, namespaces on a server are not " +"effective for read access control; you should only grant read access to a " +"namespace to clients that you would trust with read access to the entire " +"repository." msgstr "" #. type: Plain text -#: en/cmds-plumbinginterrogators.txt:51 -msgid "Validate packed Git archive files." +#: en/transfer-data-leaks.txt:13 +msgid "The known attack vectors are as follows:" msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:1 -#, no-wrap -msgid "linkgit:git-daemon[1]" +#. type: Plain text +#: en/transfer-data-leaks.txt:26 +msgid "" +"The victim sends \"have\" lines advertising the IDs of objects it has that " +"are not explicitly intended to be shared but can be used to optimize the " +"transfer if the peer also has them. The attacker chooses an object ID X to " +"steal and sends a ref to X, but isn't required to send the content of X " +"because the victim already has it. Now the victim believes that the attacker " +"has X, and it sends the content of X back to the attacker later. (This " +"attack is most straightforward for a client to perform on a server, by " +"creating a ref to X in the namespace the client has access to and then " +"fetching it. The most likely way for a server to perform it on a client is " +"to \"merge\" X into a public branch and hope that the user does additional " +"work on this branch and pushes it back to the server without noticing the " +"merge.)" msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:3 -msgid "A really simple server for Git repositories." +#: en/transfer-data-leaks.txt:30 +msgid "" +"As in #1, the attacker chooses an object ID X to steal. The victim sends an " +"object Y that the attacker already has, and the attacker falsely claims to " +"have X and not Y, so the victim sends Y as a delta against X. The delta " +"reveals regions of X that are similar to Y to the attacker." msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:4 +#. type: Title - +#: en/urls-remotes.txt:4 #, no-wrap -msgid "linkgit:git-fetch-pack[1]" +msgid "REMOTES[[REMOTES]]" msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:6 -msgid "Receive missing objects from another repository." +#: en/urls-remotes.txt:8 +msgid "" +"The name of one of the following can be used instead of a URL as " +"`<repository>` argument:" msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:7 -#, no-wrap -msgid "linkgit:git-http-backend[1]" +#. type: Plain text +#: en/urls-remotes.txt:10 +msgid "a remote in the Git configuration file: `$GIT_DIR/config`," msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:9 -msgid "Server side implementation of Git over HTTP." +#: en/urls-remotes.txt:11 +msgid "a file in the `$GIT_DIR/remotes` directory, or" msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:10 -#, no-wrap -msgid "linkgit:git-send-pack[1]" +#. type: Plain text +#: en/urls-remotes.txt:12 +msgid "a file in the `$GIT_DIR/branches` directory." msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:12 -msgid "Push objects over Git protocol to another repository." +#: en/urls-remotes.txt:15 +msgid "" +"All of these also allow you to omit the refspec from the command line " +"because they each contain a refspec which git will use by default." msgstr "" -#. type: Labeled list -#: en/cmds-synchingrepositories.txt:13 +#. type: Title ~ +#: en/urls-remotes.txt:17 #, no-wrap -msgid "linkgit:git-update-server-info[1]" +msgid "Named remote in configuration file" msgstr "" #. type: Plain text -#: en/cmds-synchingrepositories.txt:15 -msgid "Update auxiliary info file to help dumb servers." +#: en/urls-remotes.txt:26 +msgid "" +"You can choose to provide the name of a remote which you had previously " +"configured using linkgit:git-remote[1], linkgit:git-config[1] or even by a " +"manual edit to the `$GIT_DIR/config` file. The URL of this remote will be " +"used to access the repository. The refspec of this remote will be used by " +"default when you do not provide a refspec on the command line. The entry in " +"the config file would appear like this:" msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:1 +#. type: delimited block - +#: en/urls-remotes.txt:33 #, no-wrap -msgid "linkgit:git-http-fetch[1]" +msgid "" +"\t[remote \"<name>\"]\n" +"\t\turl = <url>\n" +"\t\tpushurl = <pushurl>\n" +"\t\tpush = <refspec>\n" +"\t\tfetch = <refspec>\n" msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:3 -msgid "Download from a remote Git repository via HTTP." +#: en/urls-remotes.txt:37 +msgid "" +"The `<pushurl>` is used for pushes only. It is optional and defaults to " +"`<url>`." msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:4 +#. type: Title ~ +#: en/urls-remotes.txt:39 #, no-wrap -msgid "linkgit:git-http-push[1]" +msgid "Named file in `$GIT_DIR/remotes`" msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:6 -msgid "Push objects over HTTP/DAV to another repository." +#: en/urls-remotes.txt:47 +msgid "" +"You can choose to provide the name of a file in `$GIT_DIR/remotes`. The URL " +"in this file will be used to access the repository. The refspec in this " +"file will be used as default when you do not provide a refspec on the " +"command line. This file should have the following format:" msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:7 +#. type: delimited block - +#: en/urls-remotes.txt:52 #, no-wrap -msgid "linkgit:git-parse-remote[1]" +msgid "" +"\tURL: one of the above URL format\n" +"\tPush: <refspec>\n" +"\tPull: <refspec>\n" msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:9 -msgid "Routines to help parsing remote repository access parameters." +#: en/urls-remotes.txt:59 +msgid "" +"`Push:` lines are used by 'git push' and `Pull:` lines are used by 'git " +"pull' and 'git fetch'. Multiple `Push:` and `Pull:` lines may be specified " +"for additional branch mappings." msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:10 +#. type: Title ~ +#: en/urls-remotes.txt:61 #, no-wrap -msgid "linkgit:git-receive-pack[1]" +msgid "Named file in `$GIT_DIR/branches`" msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:12 -msgid "Receive what is pushed into the repository." +#: en/urls-remotes.txt:67 +msgid "" +"You can choose to provide the name of a file in `$GIT_DIR/branches`. The " +"URL in this file will be used to access the repository. This file should " +"have the following format:" msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:13 +#. type: delimited block - +#: en/urls-remotes.txt:71 #, no-wrap -msgid "linkgit:git-shell[1]" +msgid "\t<url>#<head>\n" msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:15 -msgid "Restricted login shell for Git-only SSH access." +#: en/urls-remotes.txt:74 +msgid "`<url>` is required; `#<head>` is optional." msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:16 -#, no-wrap -msgid "linkgit:git-upload-archive[1]" +#. type: Plain text +#: en/urls-remotes.txt:79 +msgid "" +"Depending on the operation, git will use one of the following refspecs, if " +"you don't provide one on the command line. `<branch>` is the name of this " +"file in `$GIT_DIR/branches` and `<head>` defaults to `master`." msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:18 -msgid "Send archive back to git-archive." +#: en/urls-remotes.txt:81 +msgid "git fetch uses:" msgstr "" -#. type: Labeled list -#: en/cmds-synchelpers.txt:19 +#. type: delimited block - +#: en/urls-remotes.txt:84 #, no-wrap -msgid "linkgit:git-upload-pack[1]" +msgid "\trefs/heads/<head>:refs/heads/<branch>\n" msgstr "" #. type: Plain text -#: en/cmds-synchelpers.txt:21 -msgid "Send objects packed back to git-fetch-pack." +#: en/urls-remotes.txt:87 +msgid "git push uses:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:1 +#. type: delimited block - +#: en/urls-remotes.txt:90 #, no-wrap -msgid "linkgit:git-check-attr[1]" -msgstr "" - -#. type: Plain text -#: en/cmds-purehelpers.txt:3 -msgid "Display gitattributes information." +msgid "\tHEAD:refs/heads/<head>\n" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:4 +#. type: Title - +#: en/urls.txt:2 #, no-wrap -msgid "linkgit:git-check-ignore[1]" +msgid "GIT URLS[[URLS]]" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:6 -msgid "Debug gitignore / exclude files." +#: en/urls.txt:8 +msgid "" +"In general, URLs contain information about the transport protocol, the " +"address of the remote server, and the path to the repository. Depending on " +"the transport protocol, some of this information may be absent." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:7 -#, no-wrap -msgid "linkgit:git-check-mailmap[1]" +#. type: Plain text +#: en/urls.txt:12 +msgid "" +"Git supports ssh, git, http, and https protocols (in addition, ftp, and ftps " +"can be used for fetching, but this is inefficient and deprecated; do not use " +"it)." msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:9 -msgid "Show canonical names and email addresses of contacts." +#: en/urls.txt:15 +msgid "" +"The native transport (i.e. git:// URL) does no authentication and should be " +"used with caution on unsecured networks." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:10 -#, no-wrap -msgid "linkgit:git-check-ref-format[1]" +#. type: Plain text +#: en/urls.txt:17 +msgid "The following syntaxes may be used with them:" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:12 -msgid "Ensures that a reference name is well formed." +#: en/urls.txt:19 +msgid "ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:13 -#, no-wrap -msgid "linkgit:git-column[1]" +#. type: Plain text +#: en/urls.txt:20 +msgid "git://host.xz{startsb}:port{endsb}/path/to/repo.git/" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:15 -msgid "Display data in columns." +#: en/urls.txt:21 +msgid "http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:16 -#, no-wrap -msgid "linkgit:git-credential[1]" +#. type: Plain text +#: en/urls.txt:22 +msgid "ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:18 -msgid "Retrieve and store user credentials." +#: en/urls.txt:24 +msgid "An alternative scp-like syntax may also be used with the ssh protocol:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:19 -#, no-wrap -msgid "linkgit:git-credential-cache[1]" +#. type: Plain text +#: en/urls.txt:26 +msgid "{startsb}user@{endsb}host.xz:path/to/repo.git/" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:21 -msgid "Helper to temporarily store passwords in memory." +#: en/urls.txt:32 +msgid "" +"This syntax is only recognized if there are no slashes before the first " +"colon. This helps differentiate a local path that contains a colon. For " +"example the local path `foo:bar` could be specified as an absolute path or " +"`./foo:bar` to avoid being misinterpreted as an ssh url." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:22 -#, no-wrap -msgid "linkgit:git-credential-store[1]" +#. type: Plain text +#: en/urls.txt:34 +msgid "The ssh and git protocols additionally support ~username expansion:" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:24 -msgid "Helper to store credentials on disk." +#: en/urls.txt:36 +msgid "ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:25 -#, no-wrap -msgid "linkgit:git-fmt-merge-msg[1]" +#. type: Plain text +#: en/urls.txt:37 +msgid "git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:27 -msgid "Produce a merge commit message." +#: en/urls.txt:38 +msgid "{startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:28 -#, no-wrap -msgid "linkgit:git-interpret-trailers[1]" +#. type: Plain text +#: en/urls.txt:41 +msgid "" +"For local repositories, also supported by Git natively, the following " +"syntaxes may be used:" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:30 -msgid "add or parse structured information in commit messages." +#: en/urls.txt:43 +msgid "/path/to/repo.git/" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:31 -#, no-wrap -msgid "linkgit:git-mailinfo[1]" +#. type: Plain text +#: en/urls.txt:44 +msgid "\\file:///path/to/repo.git/" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:33 -msgid "Extracts patch and authorship from a single e-mail message." +#: en/urls.txt:49 +msgid "" +"These two syntaxes are mostly equivalent, except when cloning, when the " +"former implies --local option. See linkgit:git-clone[1] for details." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:34 -#, no-wrap -msgid "linkgit:git-mailsplit[1]" +#. type: Plain text +#: en/urls.txt:54 +msgid "" +"These two syntaxes are mostly equivalent, except the former implies --local " +"option." msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:36 -msgid "Simple UNIX mbox splitter program." +#: en/urls.txt:60 +msgid "" +"When Git doesn't know how to handle a certain transport protocol, it " +"attempts to use the 'remote-<transport>' remote helper, if one exists. To " +"explicitly request a remote helper, the following syntax may be used:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:37 -#, no-wrap -msgid "linkgit:git-merge-one-file[1]" +#. type: Plain text +#: en/urls.txt:62 +msgid "<transport>::<address>" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:39 -msgid "The standard helper program to use with git-merge-index." +#: en/urls.txt:66 +msgid "" +"where <address> may be a path, a server and path, or an arbitrary URL-like " +"string recognized by the specific remote helper being invoked. See " +"linkgit:gitremote-helpers[1] for details." msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:42 -msgid "Compute unique ID for a patch." +#: en/urls.txt:71 +msgid "" +"If there are a large number of similarly-named remote repositories and you " +"want to use a different format for them (such that the URLs you use will be " +"rewritten into URLs that work), you can create a configuration section of " +"the form:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:43 +#. type: delimited block - +#: en/urls.txt:75 #, no-wrap -msgid "linkgit:git-sh-i18n[1]" +msgid "" +"\t[url \"<actual url base>\"]\n" +"\t\tinsteadOf = <other url base>\n" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:45 -msgid "Git's i18n setup code for shell scripts." +#: en/urls.txt:78 en/urls.txt:97 +msgid "For example, with this:" msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:46 +#. type: delimited block - +#: en/urls.txt:83 #, no-wrap -msgid "linkgit:git-sh-setup[1]" +msgid "" +"\t[url \"git://git.host.xz/\"]\n" +"\t\tinsteadOf = host.xz:/path/to/\n" +"\t\tinsteadOf = work:\n" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:48 -msgid "Common Git shell script setup code." +#: en/urls.txt:87 +msgid "" +"a URL like \"work:repo.git\" or like \"host.xz:/path/to/repo.git\" will be " +"rewritten in any context that takes a URL to be " +"\"git://git.host.xz/repo.git\"." msgstr "" -#. type: Labeled list -#: en/cmds-purehelpers.txt:49 +#. type: Plain text +#: en/urls.txt:90 +msgid "" +"If you want to rewrite URLs for push only, you can create a configuration " +"section of the form:" +msgstr "" + +#. type: delimited block - +#: en/urls.txt:94 #, no-wrap -msgid "linkgit:git-stripspace[1]" +msgid "" +"\t[url \"<actual url base>\"]\n" +"\t\tpushInsteadOf = <other url base>\n" +msgstr "" + +#. type: delimited block - +#: en/urls.txt:101 +#, no-wrap +msgid "" +"\t[url \"ssh://example.org/\"]\n" +"\t\tpushInsteadOf = git://example.org/\n" msgstr "" #. type: Plain text -#: en/cmds-purehelpers.txt:51 -msgid "Remove unnecessary whitespace." +#: en/urls.txt:105 +msgid "" +"a URL like \"git://example.org/path/to/repo.git\" will be rewritten to " +"\"ssh://example.org/path/to/repo.git\" for pushes, but pulls will still use " +"the original URL." msgstr ""